From 0ff1d9cd265fae65ec639b6153652210c68cbed6 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Wed, 19 Oct 2016 15:39:28 +0100 Subject: [PATCH 01/27] example: add nodejs-npm to image Signed-off-by: Sascha Weisenberger --- .../recipes-core/images/iot2000-example-image.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc index 257ef327..09cdbcbc 100644 --- a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc +++ b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc @@ -21,7 +21,7 @@ IMAGE_INSTALL_append = " openssh" IMAGE_INSTALL_append = " screen minicom" IMAGE_INSTALL_append = " mraa upm" IMAGE_INSTALL_append = " parted e2fsprogs dosfstools" -IMAGE_INSTALL_append = " nodejs" +IMAGE_INSTALL_append = " nodejs nodejs-npm" IMAGE_INSTALL_append = " curl" IMAGE_INSTALL_append = " pciutils" IMAGE_INSTALL_append = " iptables" From b55834a3a0702b4c81e7b0a503a932efae5c3eff Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Wed, 19 Oct 2016 15:53:03 +0100 Subject: [PATCH 02/27] README: suggest using ipk packages for example image Signed-off-by: Sascha Weisenberger --- meta-iot2000-example/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/meta-iot2000-example/README.md b/meta-iot2000-example/README.md index db778105..dfb67b3f 100644 --- a/meta-iot2000-example/README.md +++ b/meta-iot2000-example/README.md @@ -79,6 +79,26 @@ environment. This replaces the changes to conf/bblayers.conf documented in ()[../meta-iot2000-bsp/README.md]. The changes to conf/local.conf are the same. +## The opkg package manager: + +If you want to use the opkg package manager, we highly recommend changing the following line in the local.conf: + +```diff +--- conf/local.conf.old ++++ conf/local.conf +@@ -120,7 +120,7 @@ +# - 'package_rpm' for rpm style packages +# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" +# We default to rpm: +-PACKAGE_CLASSES ?= "package_rpm" ++PACKAGE_CLASSES ?= "package_ipk" + +# +# SDK target architecture +``` + +This configures yocto to use the ipk format to build the image itself, so opkg knows which packages are already installed. + ## Create Example Image: ```shell From 97552aeecd8d018a8d2db3b6ce876838d1e3d329 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Tue, 18 Oct 2016 10:40:11 +0100 Subject: [PATCH 03/27] example: add lsusb to busybox Signed-off-by: Sascha Weisenberger --- .../recipes-example/busybox/busybox_1.24.1.bbappend | 1 + meta-iot2000-example/recipes-example/busybox/files/lsusb.cfg | 1 + 2 files changed, 2 insertions(+) create mode 100644 meta-iot2000-example/recipes-example/busybox/files/lsusb.cfg diff --git a/meta-iot2000-example/recipes-example/busybox/busybox_1.24.1.bbappend b/meta-iot2000-example/recipes-example/busybox/busybox_1.24.1.bbappend index 5ea7c00c..60d7a479 100644 --- a/meta-iot2000-example/recipes-example/busybox/busybox_1.24.1.bbappend +++ b/meta-iot2000-example/recipes-example/busybox/busybox_1.24.1.bbappend @@ -4,3 +4,4 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/files:" SRC_URI_append = " file://arp.cfg" +SRC_URI_append = " file://lsusb.cfg" diff --git a/meta-iot2000-example/recipes-example/busybox/files/lsusb.cfg b/meta-iot2000-example/recipes-example/busybox/files/lsusb.cfg new file mode 100644 index 00000000..346ce044 --- /dev/null +++ b/meta-iot2000-example/recipes-example/busybox/files/lsusb.cfg @@ -0,0 +1 @@ +CONFIG_LSUSB=y \ No newline at end of file From e7a971fd2801b5551244485ef10e4b02d273dd60 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Thu, 3 Nov 2016 16:48:20 +0100 Subject: [PATCH 04/27] example: add resize2fs to example image Signed-off-by: Sascha Weisenberger --- .../recipes-core/images/iot2000-example-image.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc index 09cdbcbc..603f2147 100644 --- a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc +++ b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc @@ -20,7 +20,7 @@ IMAGE_INSTALL_append = " dmidecode" IMAGE_INSTALL_append = " openssh" IMAGE_INSTALL_append = " screen minicom" IMAGE_INSTALL_append = " mraa upm" -IMAGE_INSTALL_append = " parted e2fsprogs dosfstools" +IMAGE_INSTALL_append = " parted e2fsprogs dosfstools e2fsprogs-resize2fs" IMAGE_INSTALL_append = " nodejs nodejs-npm" IMAGE_INSTALL_append = " curl" IMAGE_INSTALL_append = " pciutils" From 1a43a2df5ee443c5267ac8d63a691fd47205aa32 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Thu, 3 Nov 2016 16:43:48 +0100 Subject: [PATCH 05/27] example: load i2c-dev at startup to populate the i2c device for mraa etc. Signed-off-by: Sascha Weisenberger --- .../recipes-core/images/iot2000-example-image.inc | 1 + .../recipes-example/modules/files/i2c-dev.conf | 1 + .../recipes-example/modules/modules-load-entries_1.0.bb | 9 +++++++++ 3 files changed, 11 insertions(+) create mode 100644 meta-iot2000-example/recipes-example/modules/files/i2c-dev.conf create mode 100644 meta-iot2000-example/recipes-example/modules/modules-load-entries_1.0.bb diff --git a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc index 603f2147..6f26afa0 100644 --- a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc +++ b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc @@ -16,6 +16,7 @@ IMAGE_FEATURES += " tools-sdk" IMAGE_INSTALL_append = " switchmode" IMAGE_INSTALL_append = " opkg" IMAGE_INSTALL_append = " imageversionfile" +IMAGE_INSTALL_append = " modules-load-entries" IMAGE_INSTALL_append = " dmidecode" IMAGE_INSTALL_append = " openssh" IMAGE_INSTALL_append = " screen minicom" diff --git a/meta-iot2000-example/recipes-example/modules/files/i2c-dev.conf b/meta-iot2000-example/recipes-example/modules/files/i2c-dev.conf new file mode 100644 index 00000000..0cdf71fd --- /dev/null +++ b/meta-iot2000-example/recipes-example/modules/files/i2c-dev.conf @@ -0,0 +1 @@ +i2c-dev diff --git a/meta-iot2000-example/recipes-example/modules/modules-load-entries_1.0.bb b/meta-iot2000-example/recipes-example/modules/modules-load-entries_1.0.bb new file mode 100644 index 00000000..9c8583e0 --- /dev/null +++ b/meta-iot2000-example/recipes-example/modules/modules-load-entries_1.0.bb @@ -0,0 +1,9 @@ +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${IOT2000_MIT_LICENSE};md5=838c366f69b72c5df05c96dff79b35f2" + +SRC_URI = "file://i2c-dev.conf" + +do_install() { + install -d ${D}/etc/modules-load.d/ + install -m 0444 ${WORKDIR}/i2c-dev.conf ${D}/etc/modules-load.d/ +} \ No newline at end of file From c10924a0243b841a2f22e4121308e0f890622fb1 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Mon, 14 Nov 2016 12:38:23 +0100 Subject: [PATCH 06/27] kernel: add modules for some common realtek wifi devices Signed-off-by: Sascha Weisenberger --- meta-iot2000-bsp/recipes-kernel/linux/files/iot2000.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-iot2000-bsp/recipes-kernel/linux/files/iot2000.cfg b/meta-iot2000-bsp/recipes-kernel/linux/files/iot2000.cfg index 30c28d83..aa077235 100644 --- a/meta-iot2000-bsp/recipes-kernel/linux/files/iot2000.cfg +++ b/meta-iot2000-bsp/recipes-kernel/linux/files/iot2000.cfg @@ -34,3 +34,6 @@ CONFIG_IE6XX_WDT=y CONFIG_IP_NF_NAT=y +CONFIG_R8712U=y +CONFIG_RTL8XXXU=y +CONFIG_RTL8192CU=y From edf25dd876bcc2079b94219dd9345ba541a715db Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Mon, 14 Nov 2016 13:29:55 +0100 Subject: [PATCH 07/27] example: mraa: use version 1.5.1 of mraa library, also provide node-mraa for node red Signed-off-by: Sascha Weisenberger --- ...support-for-SIMATIC-IOT2000-platform.patch | 28 -------- ...v_g.c-use-pincmd-to-set-OUT_HIGH-ins.patch | 69 ------------------- .../recipes-example/mraa/mraa_%.bbappend | 12 ++-- 3 files changed, 7 insertions(+), 102 deletions(-) delete mode 100644 meta-iot2000-example/recipes-example/mraa/files/0001-Include-support-for-SIMATIC-IOT2000-platform.patch delete mode 100644 meta-iot2000-example/recipes-example/mraa/files/0002-intel_galileo_rev_g.c-use-pincmd-to-set-OUT_HIGH-ins.patch diff --git a/meta-iot2000-example/recipes-example/mraa/files/0001-Include-support-for-SIMATIC-IOT2000-platform.patch b/meta-iot2000-example/recipes-example/mraa/files/0001-Include-support-for-SIMATIC-IOT2000-platform.patch deleted file mode 100644 index b6e1c88e..00000000 --- a/meta-iot2000-example/recipes-example/mraa/files/0001-Include-support-for-SIMATIC-IOT2000-platform.patch +++ /dev/null @@ -1,28 +0,0 @@ -From d689c5e35246dd7ee060023a80fff79bf244e1f9 Mon Sep 17 00:00:00 2001 -From: Sascha Weisenberger -Date: Mon, 1 Aug 2016 10:35:36 +0100 -Subject: [PATCH] Include support for SIMATIC IOT2000 platform - ---- - src/x86/x86.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/x86/x86.c b/src/x86/x86.c -index b3a0ae5..288a46c 100644 ---- a/src/x86/x86.c -+++ b/src/x86/x86.c -@@ -51,7 +51,10 @@ mraa_x86_platform() - FILE* fh = fopen("/sys/devices/virtual/dmi/id/board_name", "r"); - if (fh != NULL) { - if (getline(&line, &len, fh) != -1) { -- if (strncmp(line, "GalileoGen2", 11) == 0) { -+ if (strncmp(line, "SIMATIC IOT2000", 15) == 0) { -+ platform_type = MRAA_INTEL_GALILEO_GEN2; -+ plat = mraa_intel_galileo_gen2(); -+ } else if (strncmp(line, "GalileoGen2", 11) == 0) { - platform_type = MRAA_INTEL_GALILEO_GEN2; - plat = mraa_intel_galileo_gen2(); - } else if (strncmp(line, "BODEGA BAY", 10) == 0) { --- -2.1.4 - diff --git a/meta-iot2000-example/recipes-example/mraa/files/0002-intel_galileo_rev_g.c-use-pincmd-to-set-OUT_HIGH-ins.patch b/meta-iot2000-example/recipes-example/mraa/files/0002-intel_galileo_rev_g.c-use-pincmd-to-set-OUT_HIGH-ins.patch deleted file mode 100644 index 2b07f639..00000000 --- a/meta-iot2000-example/recipes-example/mraa/files/0002-intel_galileo_rev_g.c-use-pincmd-to-set-OUT_HIGH-ins.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 8ec4fcb3339e1d81390e456b7b052744e4af7c4d Mon Sep 17 00:00:00 2001 -From: Brendan Le Foll -Date: Fri, 2 Sep 2016 12:00:28 +0100 -Subject: [PATCH] intel_galileo_rev_g.c: use pincmd to set OUT_HIGH instead of - value - -The i/o expander looses connection as soon as direction is set so use direction -OUT_HIGH instead of setting value after direction. Closes #573 - -Signed-off-by: Brendan Le Foll ---- - src/x86/intel_galileo_rev_g.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/src/x86/intel_galileo_rev_g.c b/src/x86/intel_galileo_rev_g.c -index d0fe8d0..35533c0 100644 ---- a/src/x86/intel_galileo_rev_g.c -+++ b/src/x86/intel_galileo_rev_g.c -@@ -808,9 +808,9 @@ mraa_intel_galileo_gen2() - b->pins[18].aio.mux[0].pincmd = PINCMD_SET_DIRECTION; - b->pins[18].aio.mux[0].pin = 57; - b->pins[18].aio.mux[0].value = MRAA_GPIO_IN; -- b->pins[18].aio.mux[1].pincmd = PINCMD_SET_OUT_VALUE; -+ b->pins[18].aio.mux[1].pincmd = PINCMD_SET_DIRECTION; - b->pins[18].aio.mux[1].pin = 60; -- b->pins[18].aio.mux[1].value = 1; -+ b->pins[18].aio.mux[1].value = MRAA_GPIO_OUT_HIGH; - b->pins[18].aio.mux[2].pincmd = PINCMD_SET_VALUE; - b->pins[18].aio.mux[2].pin = 78; - b->pins[18].aio.mux[2].value = 0; -@@ -819,9 +819,9 @@ mraa_intel_galileo_gen2() - b->pins[18].gpio.mux[0].pincmd = PINCMD_SET_DIRECTION; - b->pins[18].gpio.mux[0].pin = 57; - b->pins[18].gpio.mux[0].value = MRAA_GPIO_IN; -- b->pins[18].gpio.mux[1].pincmd = PINCMD_SET_OUT_VALUE; -+ b->pins[18].gpio.mux[1].pincmd = PINCMD_SET_DIRECTION; - b->pins[18].gpio.mux[1].pin = 60; -- b->pins[18].gpio.mux[1].value = 1; -+ b->pins[18].gpio.mux[1].value = MRAA_GPIO_OUT_HIGH; - b->pins[18].gpio.mux[2].pincmd = PINCMD_SET_VALUE; - b->pins[18].gpio.mux[2].pin = 78; - b->pins[18].gpio.mux[2].value = 1; -@@ -845,9 +845,9 @@ mraa_intel_galileo_gen2() - b->pins[19].aio.mux[0].pincmd = PINCMD_SET_DIRECTION; - b->pins[19].aio.mux[0].pin = 59; - b->pins[19].aio.mux[0].value = MRAA_GPIO_IN; -- b->pins[19].aio.mux[1].pincmd = PINCMD_SET_OUT_VALUE; -+ b->pins[19].aio.mux[1].pincmd = PINCMD_SET_DIRECTION; - b->pins[19].aio.mux[1].pin = 60; -- b->pins[19].aio.mux[1].value = 1; -+ b->pins[19].aio.mux[1].value = MRAA_GPIO_OUT_HIGH; - b->pins[19].aio.mux[2].pincmd = PINCMD_SET_VALUE; - b->pins[19].aio.mux[2].pin = 79; - b->pins[19].aio.mux[2].value = 0; -@@ -856,9 +856,9 @@ mraa_intel_galileo_gen2() - b->pins[19].gpio.mux[0].pincmd = PINCMD_SET_DIRECTION; - b->pins[19].gpio.mux[0].pin = 59; - b->pins[19].gpio.mux[0].value = MRAA_GPIO_IN; -- b->pins[19].gpio.mux[1].pincmd = PINCMD_SET_OUT_VALUE; -+ b->pins[19].gpio.mux[1].pincmd = PINCMD_SET_DIRECTION; - b->pins[19].gpio.mux[1].pin = 60; -- b->pins[19].gpio.mux[1].value = 1; -+ b->pins[19].gpio.mux[1].value = MRAA_GPIO_OUT_HIGH; - b->pins[19].gpio.mux[2].pincmd = PINCMD_SET_VALUE; - b->pins[19].gpio.mux[2].pin = 79; - b->pins[19].gpio.mux[2].value = 1; --- -2.1.4 - diff --git a/meta-iot2000-example/recipes-example/mraa/mraa_%.bbappend b/meta-iot2000-example/recipes-example/mraa/mraa_%.bbappend index fff7fbe4..a1934fe1 100644 --- a/meta-iot2000-example/recipes-example/mraa/mraa_%.bbappend +++ b/meta-iot2000-example/recipes-example/mraa/mraa_%.bbappend @@ -1,9 +1,11 @@ -#This patch will include the SIMATIC IOT2000 as a known board that is similar to Galileo Gen 2 +#This .bbappend file will set the mraa version to 1.5.1, where the SIMATIC +#IOT2000 board name is already included. #Also the missing "meta-java" from Intel caused trouble so we use "java2" here -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" +PV="1.5.1" -SRC_URI_append = " file://0001-Include-support-for-SIMATIC-IOT2000-platform.patch \ - file://0002-intel_galileo_rev_g.c-use-pincmd-to-set-OUT_HIGH-ins.patch" +SRC_URI = "git://github.com/intel-iot-devkit/mraa.git" +SRCREV="6f9b470d8d25e2c8ba1586cd9d707b870ab30010" -RDEPENDS_${PN}-java = "java2-runtime" \ No newline at end of file +RDEPENDS_${PN}-java = "java2-runtime" +PROVIDES = "node-mraa" \ No newline at end of file From 2aa39fafd52b6c3f272326e9b1717b2ee871a3c4 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Mon, 14 Nov 2016 13:33:23 +0100 Subject: [PATCH 08/27] example: e2fsprogs: add dependency to resize2fs so it will be installed with the default package Signed-off-by: Sascha Weisenberger --- .../recipes-core/images/iot2000-example-image.inc | 2 +- .../recipes-example/e2fsprogs/e2fsprogs_%.bbappend | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 meta-iot2000-example/recipes-example/e2fsprogs/e2fsprogs_%.bbappend diff --git a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc index 6f26afa0..da065e75 100644 --- a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc +++ b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc @@ -21,7 +21,7 @@ IMAGE_INSTALL_append = " dmidecode" IMAGE_INSTALL_append = " openssh" IMAGE_INSTALL_append = " screen minicom" IMAGE_INSTALL_append = " mraa upm" -IMAGE_INSTALL_append = " parted e2fsprogs dosfstools e2fsprogs-resize2fs" +IMAGE_INSTALL_append = " parted e2fsprogs dosfstools" IMAGE_INSTALL_append = " nodejs nodejs-npm" IMAGE_INSTALL_append = " curl" IMAGE_INSTALL_append = " pciutils" diff --git a/meta-iot2000-example/recipes-example/e2fsprogs/e2fsprogs_%.bbappend b/meta-iot2000-example/recipes-example/e2fsprogs/e2fsprogs_%.bbappend new file mode 100644 index 00000000..34c98821 --- /dev/null +++ b/meta-iot2000-example/recipes-example/e2fsprogs/e2fsprogs_%.bbappend @@ -0,0 +1,4 @@ +#This recipe adds "resize2fs" as dependencie so it will be installed with the +#default package + +RDEPENDS_e2fsprogs += " e2fsprogs-resize2fs" From 44f055b9000382c962ceeb70e4380158cf620f0d Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Mon, 14 Nov 2016 13:36:42 +0100 Subject: [PATCH 09/27] example: add node-mraa to image Signed-off-by: Sascha Weisenberger --- .../recipes-core/images/iot2000-example-image.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc index da065e75..d93ee12d 100644 --- a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc +++ b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc @@ -22,7 +22,7 @@ IMAGE_INSTALL_append = " openssh" IMAGE_INSTALL_append = " screen minicom" IMAGE_INSTALL_append = " mraa upm" IMAGE_INSTALL_append = " parted e2fsprogs dosfstools" -IMAGE_INSTALL_append = " nodejs nodejs-npm" +IMAGE_INSTALL_append = " nodejs nodejs-npm node-mraa" IMAGE_INSTALL_append = " curl" IMAGE_INSTALL_append = " pciutils" IMAGE_INSTALL_append = " iptables" From bce010332a00a345923e96b209ce32db537795b2 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Mon, 14 Nov 2016 13:37:57 +0100 Subject: [PATCH 10/27] example: add wireless-tools and tree to the example image Signed-off-by: Sascha Weisenberger --- .../recipes-core/images/iot2000-example-image.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc index d93ee12d..e8e82445 100644 --- a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc +++ b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc @@ -27,6 +27,6 @@ IMAGE_INSTALL_append = " curl" IMAGE_INSTALL_append = " pciutils" IMAGE_INSTALL_append = " iptables" IMAGE_INSTALL_append = " cmake" -IMAGE_INSTALL_append = " nano" -IMAGE_INSTALL_append = " iw wpa-supplicant" +IMAGE_INSTALL_append = " nano tree" +IMAGE_INSTALL_append = " iw wpa-supplicant wireless-tools" IMAGE_INSTALL_append = " galileo-target" From 755298ecdd9c6300097861d2e14001c85768e2f1 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Mon, 14 Nov 2016 13:42:28 +0100 Subject: [PATCH 11/27] firmware: add recipe to include some firmware files to the image. used for usb wifi Signed-off-by: Sascha Weisenberger --- .../recipes-core/firmware/firmware-nonfree.bb | 18 ++++++++++++++++++ .../images/iot2000-example-image.inc | 1 + 2 files changed, 19 insertions(+) create mode 100644 meta-iot2000-example/recipes-core/firmware/firmware-nonfree.bb diff --git a/meta-iot2000-example/recipes-core/firmware/firmware-nonfree.bb b/meta-iot2000-example/recipes-core/firmware/firmware-nonfree.bb new file mode 100644 index 00000000..2dba0b81 --- /dev/null +++ b/meta-iot2000-example/recipes-core/firmware/firmware-nonfree.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "includes the firmware files for broadcom and realtek wifi devices" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${IOT2000_MIT_LICENSE};md5=838c366f69b72c5df05c96dff79b35f2" + +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git" +SRCREV = "a179db97914da5e650c21ba8f9b0bae04a0f8a41" +S = "${WORKDIR}" +INSTDIR = "/lib/firmware/" + +FILES_${PN} = "${INSTDIR}*" + +do_install() { + install -d ${D}${INSTDIR} + install -d ${D}${INSTDIR}brcm/ + install -d ${D}${INSTDIR}rtlwifi/ + cp -R ${S}/git/brcm/* ${D}${INSTDIR}brcm/ + cp -R ${S}/git/rtlwifi/* ${D}${INSTDIR}rtlwifi/ +} diff --git a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc index e8e82445..80fa3d8d 100644 --- a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc +++ b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc @@ -30,3 +30,4 @@ IMAGE_INSTALL_append = " cmake" IMAGE_INSTALL_append = " nano tree" IMAGE_INSTALL_append = " iw wpa-supplicant wireless-tools" IMAGE_INSTALL_append = " galileo-target" +IMAGE_INSTALL_append = " firmware-nonfree" From 4be738eccccd7a3b236629facee036e20dad3d64 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Mon, 7 Nov 2016 09:32:20 +0100 Subject: [PATCH 12/27] README: added instruction how to boot from usb Signed-off-by: Sascha Weisenberger --- meta-iot2000-bsp/README.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/meta-iot2000-bsp/README.md b/meta-iot2000-bsp/README.md index c4ed2fec..38b84466 100644 --- a/meta-iot2000-bsp/README.md +++ b/meta-iot2000-bsp/README.md @@ -93,7 +93,7 @@ $ bitbake core-image-minimal ``` -Booting the Image +Booting the Image from SD card ================= Under Linux, insert an unused SD card. Assuming the SD card takes device @@ -107,3 +107,25 @@ If you want to ssh into the system, you can use the root terminal to ifconfig the IP address and use that to ssh in. The root password is empty, so to log in type 'root' for the user name and hit 'Enter' at the Password prompt and you should be in. + + +Booting the Image from USB stick +================= + +Under Linux, insert an unused USB stick. Assuming the USB stcik takes device +/dev/sda, use dd to copy the image to it. For example: + +```shell +$ sudo dd if=tmp/deploy/images/iot2000/core-image-minimal-iot2000.wic of=/dev/sda bs=4M oflag=sync +``` + +In addition, you have to change the boot config. On the first partition, navigate to the folder loader/entries, open the file boot.conf and change the following: + +```diff +--- loader/entries/boot.conf.old ++++ loader/entries/boot.conf +title boot +linux /bzImage +-options LABEL=Boot root=/dev/mmcblk0p2 console=ttyS1,115200n8 reboot=efi,warm rw LABEL=boot debugshell=5 ++options LABEL=Boot root=/dev/sda2 console=ttyS1,115200n8 reboot=efi,warm rw LABEL=boot debugshell=5 rootdelay=1 +``` From 3d087c7ecea7bbab2a065dbe8763b005128181f7 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Thu, 17 Nov 2016 09:28:54 +0100 Subject: [PATCH 13/27] example: upm: upgrade to 1.0.0 to fit mraa 1.5.1 Signed-off-by: Sascha Weisenberger --- meta-iot2000-example/recipes-example/mraa/upm_%.bbappend | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta-iot2000-example/recipes-example/mraa/upm_%.bbappend b/meta-iot2000-example/recipes-example/mraa/upm_%.bbappend index cce6fc19..740e129f 100644 --- a/meta-iot2000-example/recipes-example/mraa/upm_%.bbappend +++ b/meta-iot2000-example/recipes-example/mraa/upm_%.bbappend @@ -1,3 +1,9 @@ #The missing "meta-java" from Intel caused trouble so we use "java2" here +#Also we upgrade to version 1.0.0 to fit the mraa version + +PV="1.0.0" + +SRC_URI = "git://github.com/intel-iot-devkit/upm.git" +SRCREV="13e2e7aeb8769707b91b62f23d6669d3ee1a8651" RDEPENDS_${PN}-java = "java2-runtime mraa-java" \ No newline at end of file From 4be48a76c74ae218b556391582c7d5c955e35b71 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Mon, 5 Dec 2016 11:49:57 +0100 Subject: [PATCH 14/27] example: upm: upgrade to 1.0.1 because of build errors Signed-off-by: Sascha Weisenberger --- meta-iot2000-example/recipes-example/mraa/upm_%.bbappend | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-iot2000-example/recipes-example/mraa/upm_%.bbappend b/meta-iot2000-example/recipes-example/mraa/upm_%.bbappend index 740e129f..110085d4 100644 --- a/meta-iot2000-example/recipes-example/mraa/upm_%.bbappend +++ b/meta-iot2000-example/recipes-example/mraa/upm_%.bbappend @@ -1,9 +1,9 @@ #The missing "meta-java" from Intel caused trouble so we use "java2" here -#Also we upgrade to version 1.0.0 to fit the mraa version +#Also we upgrade to version 1.0.1 to fit the mraa version -PV="1.0.0" +PV="1.0.1" SRC_URI = "git://github.com/intel-iot-devkit/upm.git" -SRCREV="13e2e7aeb8769707b91b62f23d6669d3ee1a8651" +SRCREV="a2698fd560c9fa7917de33a65601bea50d218481" RDEPENDS_${PN}-java = "java2-runtime mraa-java" \ No newline at end of file From 5de3e83bd6f645539fc2dcc84ddcbadf44036d66 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Wed, 7 Dec 2016 09:58:23 +0100 Subject: [PATCH 15/27] layer: use ipk packages to build the image Signed-off-by: Sascha Weisenberger --- meta-iot2000-bsp/conf/layer.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-iot2000-bsp/conf/layer.conf b/meta-iot2000-bsp/conf/layer.conf index 29a1a4cb..550c07c7 100644 --- a/meta-iot2000-bsp/conf/layer.conf +++ b/meta-iot2000-bsp/conf/layer.conf @@ -11,3 +11,5 @@ BBFILE_PRIORITY_iot2000-bsp = "6" IOT2000_MIT_LICENSE = "${LAYERDIR}/COPYING.MIT" IOT2000_GPLv2_LICENSE = "${LAYERDIR}/COPYING.GPLv2" + +PACKAGE_CLASSES = "package_ipk" From 8ad86f176e02ce65985513ed072038dcd8a8780a Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Thu, 8 Dec 2016 11:00:52 +0100 Subject: [PATCH 16/27] kernel: add support for second custom LED 'H6' Signed-off-by: Sascha Weisenberger --- ...Add-support-for-accessing-red-LED-vi.patch | 127 ++++++++++++++++++ .../linux/linux-yocto_4.4.bbappend | 1 + 2 files changed, 128 insertions(+) create mode 100644 meta-iot2000-bsp/recipes-kernel/linux/files/0007-serial-8250_pci-Add-support-for-accessing-red-LED-vi.patch diff --git a/meta-iot2000-bsp/recipes-kernel/linux/files/0007-serial-8250_pci-Add-support-for-accessing-red-LED-vi.patch b/meta-iot2000-bsp/recipes-kernel/linux/files/0007-serial-8250_pci-Add-support-for-accessing-red-LED-vi.patch new file mode 100644 index 00000000..6d30b396 --- /dev/null +++ b/meta-iot2000-bsp/recipes-kernel/linux/files/0007-serial-8250_pci-Add-support-for-accessing-red-LED-vi.patch @@ -0,0 +1,127 @@ +From 403bfe046b658799a8735cf890da21f8e42280bc Mon Sep 17 00:00:00 2001 +From: Frank Ehlis +Date: Thu, 29 Sep 2016 14:48:52 +0200 +Subject: [PATCH] serial: 8250_pci: Add support for accessing red LED via ledfs + +The LED-init was moved past pci_default_setup() so that +port.membase is valid when saving it to our private data. + +Signed-off-by: Frank Ehlis +--- + drivers/tty/serial/8250/8250_pci.c | 72 +++++++++++++++++++++++++++++++++++++- + 1 file changed, 71 insertions(+), 1 deletion(-) + +diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c +index 34baa78..829e9fc 100644 +--- a/drivers/tty/serial/8250/8250_pci.c ++++ b/drivers/tty/serial/8250/8250_pci.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -1806,6 +1807,12 @@ xr17v35x_has_slave(struct serial_private *priv) + + /* IOT2000 MPIOs 8..15 */ + #define IOT2000_UARTS_ENABLE 0x03 ++#define IOT2000_UART_LED_RED 0x04 ++ ++#define IOT2000_UART_LEDFS_NAME "mpio_uart_led:red:user" ++static struct iot2000_serial_private { ++ u8 __iomem *membase; ++}iot2000_priv; + + static int pci_iot2000_rs485_config(struct uart_port *port, + struct serial_rs485 *rs485) +@@ -1851,11 +1858,47 @@ static int pci_iot2000_rs485_config(struct uart_port *port, + return 0; + } + ++static void ++iot2000_brightness_set(struct led_classdev *cdev, ++ enum led_brightness brightness) ++{ ++ u8 __iomem *p = iot2000_priv.membase; ++ u8 value; ++ ++ if ( iot2000_priv.membase == NULL ) ++ return; ++ ++ value = readb(p + UART_EXAR_MPIOLVL_15_8); ++ if (brightness == LED_OFF) ++ value &= ~IOT2000_UART_LED_RED; ++ else ++ value |= IOT2000_UART_LED_RED; ++ ++ writeb(value, p + UART_EXAR_MPIOLVL_15_8); ++} ++ ++static enum led_brightness ++iot2000_brightness_get(struct led_classdev *cdev) ++{ ++ u8 __iomem *p = iot2000_priv.membase; ++ u8 value; ++ ++ if ( iot2000_priv.membase == NULL ) ++ return LED_OFF; ++ ++ value = readb(p + UART_EXAR_MPIOLVL_15_8); ++ if (value & IOT2000_UART_LED_RED) ++ return 1; ++ ++ return LED_OFF; ++} ++ + static int + pci_xr17v35x_setup(struct serial_private *priv, + const struct pciserial_board *board, + struct uart_8250_port *port, int idx) + { ++ int ret; + bool is_iot2000; + u8 __iomem *p; + +@@ -1901,9 +1944,36 @@ pci_xr17v35x_setup(struct serial_private *priv, + writeb(UART_FCTR_EXAR_TRGD, p + UART_EXAR_FCTR); + writeb(128, p + UART_EXAR_TXTRG); + writeb(128, p + UART_EXAR_RXTRG); ++ + iounmap(p); + +- return pci_default_setup(priv, board, port, idx); ++ ret = pci_default_setup(priv, board, port, idx); ++ ++ /* on IOT2000, register the red LED attached to the MPIO */ ++ if (is_iot2000 && (ret == 0) && (idx == 0)) { ++ int err; ++ struct led_classdev *led; ++ char *name; ++ size_t namesz = strlen(IOT2000_UART_LEDFS_NAME) + 1; ++ ++ led = kzalloc(sizeof(*led) + namesz, GFP_KERNEL); ++ if (led) ++ { ++ name = (void*)&led[1]; ++ snprintf(name, namesz, "%s", IOT2000_UART_LEDFS_NAME); ++ iot2000_priv.membase = port->port.membase; ++ led->name = name; ++ led->max_brightness = 1; ++ led->brightness_set = iot2000_brightness_set; ++ led->brightness_get = iot2000_brightness_get; ++ led->default_trigger = name; ++ err = led_classdev_register((struct device *) ++ port->port.dev, led); ++ printk("IOT2000: Registered Led with err=%d\n", err); ++ } ++ } ++ ++ return ret; + } + + #define PCI_DEVICE_ID_COMMTECH_4222PCI335 0x0004 +-- +2.1.4 + diff --git a/meta-iot2000-bsp/recipes-kernel/linux/linux-yocto_4.4.bbappend b/meta-iot2000-bsp/recipes-kernel/linux/linux-yocto_4.4.bbappend index a83da2e7..9dd5926d 100644 --- a/meta-iot2000-bsp/recipes-kernel/linux/linux-yocto_4.4.bbappend +++ b/meta-iot2000-bsp/recipes-kernel/linux/linux-yocto_4.4.bbappend @@ -7,6 +7,7 @@ SRC_URI += " \ file://0004-serial-8250_pci-Fix-EXAR-feature-control-register-co.patch \ file://0005-serial-8250_pci-Add-support-for-IOT2000-platform.patch \ file://0006-x86-efi-Add-capsule-update-driver-for-Intel-Quark.patch \ + file://0007-serial-8250_pci-Add-support-for-accessing-red-LED-vi.patch \ file://iot2000.cfg" LINUX_VERSION_iot2000 = "${LINUX_VERSION_INTEL_COMMON}" From 6c0c5883db2ee69802a684252e71cc5e758d7449 Mon Sep 17 00:00:00 2001 From: Martin Schend Date: Fri, 18 Nov 2016 09:56:57 +0100 Subject: [PATCH 17/27] example: Add recipes for node-red, node-red-dashboard and node-red-node-intel-gpio Recipes were created using 'recipetool' which comes as part of Poky (`poky/scripts/recipetool`). Recipetool already supports npm links so new recipes for node.js packages can easily be created by running `recipetool create "npm://registry.npmjs.org;name=NAME;version=VERSION` where NAME is the package's name and VERSION its desired version. You can use [npm's web site](https://www.npmjs.com/) to browse available packages. Packages can later be updated on the device using npm or on the build machine by creating a new recipe for a different version and running bitbake again. --- .../node-red-dashboard/lockdown.json | 181 ++ .../node-red-dashboard/npm-shrinkwrap.json | 415 ++++ .../node-red-dashboard_2.1.0.bb | 199 ++ .../node-red-node-intel-gpio/lockdown.json | 1 + .../npm-shrinkwrap.json | 5 + .../node-red-node-intel-gpio_0.0.5.bb | 19 + .../node-red/node-red/lockdown.json | 945 ++++++++ .../recipes-node/node-red/node-red_0.14.6.bb | 1971 +++++++++++++++++ 8 files changed, 3736 insertions(+) create mode 100644 meta-iot2000-example/recipes-node/node-red-dashboard/node-red-dashboard/lockdown.json create mode 100644 meta-iot2000-example/recipes-node/node-red-dashboard/node-red-dashboard/npm-shrinkwrap.json create mode 100644 meta-iot2000-example/recipes-node/node-red-dashboard/node-red-dashboard_2.1.0.bb create mode 100644 meta-iot2000-example/recipes-node/node-red-node-intel-gpio/node-red-node-intel-gpio/lockdown.json create mode 100644 meta-iot2000-example/recipes-node/node-red-node-intel-gpio/node-red-node-intel-gpio/npm-shrinkwrap.json create mode 100644 meta-iot2000-example/recipes-node/node-red-node-intel-gpio/node-red-node-intel-gpio_0.0.5.bb create mode 100644 meta-iot2000-example/recipes-node/node-red/node-red/lockdown.json create mode 100644 meta-iot2000-example/recipes-node/node-red/node-red_0.14.6.bb diff --git a/meta-iot2000-example/recipes-node/node-red-dashboard/node-red-dashboard/lockdown.json b/meta-iot2000-example/recipes-node/node-red-dashboard/node-red-dashboard/lockdown.json new file mode 100644 index 00000000..dd7d5d93 --- /dev/null +++ b/meta-iot2000-example/recipes-node/node-red-dashboard/node-red-dashboard/lockdown.json @@ -0,0 +1,181 @@ +{ + "accepts": { + "1.3.3": "c3ca7434938648c3e0d9c1e328dd68b622c284ca" + }, + "after": { + "0.8.1": "ab5d4fb883f596816d3515f8f791c0af486dd627" + }, + "arraybuffer.slice": { + "0.0.6": "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca" + }, + "backo2": { + "1.0.2": "31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + }, + "base64-arraybuffer": { + "0.1.5": "73926771923b5a19747ad666aa5cd4bf9c6e9ce8" + }, + "base64id": { + "0.1.0": "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f" + }, + "benchmark": { + "1.0.0": "2f1e2fa4c359f11122aa183082218e957e390c73" + }, + "better-assert": { + "1.0.2": "40866b9e1b9e0b55b481894311e68faffaebc522" + }, + "blob": { + "0.0.4": "bcf13052ca54463f30f9fc7e95b9a47630a94921" + }, + "callsite": { + "1.0.0": "280398e5d664bd74038b6f0905153e6e8af1bc20" + }, + "component-bind": { + "1.0.0": "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" + }, + "component-emitter": { + "1.1.2": "296594f2753daa63996d2af08d15a95116c9aec3", + "1.2.0": "ccd113a86388d06482d03de3fc7df98526ba8efe" + }, + "component-inherit": { + "0.0.3": "645fc4adf58b72b649d5cae65135619db26ff143" + }, + "debug": { + "0.7.4": "06e1ea8082c2cb14e39806e22e2f6f757f92af39", + "2.2.0": "f87057e995b1a1f6ae6a4960664137bc56f039da" + }, + "depd": { + "1.1.0": "e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + }, + "destroy": { + "1.0.4": "978857442c44749e4206613e37946205826abd80" + }, + "ee-first": { + "1.1.1": "590c61156b0ae2f4f0255732a158b266bc56b21d" + }, + "encodeurl": { + "1.0.1": "79e3d58655346909fe6f0f45a5de68103b294d20" + }, + "engine.io": { + "1.7.2": "877c14fa0486f8b664d46a8101bf74feef2e4e46" + }, + "engine.io-client": { + "1.7.2": "12f01d3d9d676908a86339cee067ff799a585c3d" + }, + "engine.io-parser": { + "1.3.1": "9554f1ae33107d6fbd170ca5466d2f833f6a07cf" + }, + "escape-html": { + "1.0.3": "0258eae4d3d0c0974de1c169188ef0051d1d1988" + }, + "etag": { + "1.7.0": "03d30b5f67dd6e632d2945d30d6652731a34d5d8" + }, + "fresh": { + "0.3.0": "651f838e22424e7566de161d8358caa199f83d4f" + }, + "has-binary": { + "0.1.6": "25326f39cfa4f616ad8787894e3af2cfbc7b6e10", + "0.1.7": "68e61eb16210c9545a0a5cce06a873912fe1e68c" + }, + "has-cors": { + "1.1.0": "5e474793f7ea9843d1bb99c23eef49ff126fff39" + }, + "http-errors": { + "1.5.0": "b1cb3d8260fd8e2386cad3189045943372d48211" + }, + "indexof": { + "0.0.1": "82dc336d232b9062179d05ab3293a66059fd435d" + }, + "inherits": { + "2.0.1": "b17d08d326b4423e568eff719f91b0b1cbdf69f1" + }, + "isarray": { + "0.0.1": "8a18acfca9a8f4177e09abfc6038939b05d1eedf" + }, + "json3": { + "3.2.6": "f6efc93c06a04de9aec53053df2559bb19e2038b", + "3.3.2": "3c0434743df93e2f5c42aee7b19bcb483575f4e1" + }, + "mime": { + "1.3.4": "115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + }, + "mime-db": { + "1.24.0": "e2d13f939f0016c6e4e9ad25a8652f126c467f0c" + }, + "mime-types": { + "2.1.12": "152ba256777020dd4663f54c2e7bc26381e71729" + }, + "ms": { + "0.7.1": "9cd13c03adbff25b65effde7ce864ee952017098" + }, + "negotiator": { + "0.6.1": "2b327184e8992101177b28563fb5e7102acd0ca9" + }, + "object-component": { + "0.0.3": "f0c69aa50efc95b866c186f400a33769cb2f1291" + }, + "on-finished": { + "2.3.0": "20f1336481b083cd75337992a16971aa2d906947" + }, + "options": { + "0.0.6": "ec22d312806bb53e731773e7cdaefcf1c643128f" + }, + "parsejson": { + "0.0.1": "9b10c6c0d825ab589e685153826de0a3ba278bcc" + }, + "parseqs": { + "0.0.2": "9dfe70b2cddac388bde4f35b1f240fa58adbe6c7" + }, + "parseuri": { + "0.0.4": "806582a39887e1ea18dd5e2fe0e01902268e9350" + }, + "parseurl": { + "1.3.1": "c8ab8c9223ba34888aa64a297b28853bec18da56" + }, + "range-parser": { + "1.2.0": "f49be6b487894ddc40dcc94a322f611092e00d5e" + }, + "send": { + "0.14.1": "a954984325392f51532a7760760e459598c89f7a" + }, + "serve-static": { + "1.11.1": "d6cce7693505f733c759de57befc1af76c0f0805" + }, + "setprototypeof": { + "1.0.1": "52009b27888c4dc48f591949c0a8275834c1ca7e" + }, + "socket.io": { + "1.5.1": "c3ea8c4ed4164436bc56adef60e31ad366518ca9" + }, + "socket.io-adapter": { + "0.4.0": "fb9f82ab1aa65290bf72c3657955b930a991a24f" + }, + "socket.io-client": { + "1.5.1": "0f366eae7de34bc880ebd71106e1ce8143775827" + }, + "socket.io-parser": { + "2.2.2": "3d7af6b64497e956b7d9fe775f999716027f9417", + "2.3.1": "dd532025103ce429697326befd64005fcfe5b4a0" + }, + "statuses": { + "1.3.0": "8e55758cb20e7682c1f4fce8dcab30bf01d1e07a" + }, + "to-array": { + "0.1.4": "17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" + }, + "ultron": { + "1.0.2": "ace116ab557cd197386a4e88f4685378c8b2e4fa" + }, + "ws": { + "1.1.1": "082ddb6c641e85d4bb451f03d52f06eabdb1f018" + }, + "wtf-8": { + "1.0.0": "392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a" + }, + "xmlhttprequest-ssl": { + "1.5.1": "3b7741fea4a86675976e908d296d4445961faa67" + }, + "yeast": { + "0.1.2": "008e06d8094320c372dbc2f8ed76a0ca6c8ac419" + } +} diff --git a/meta-iot2000-example/recipes-node/node-red-dashboard/node-red-dashboard/npm-shrinkwrap.json b/meta-iot2000-example/recipes-node/node-red-dashboard/node-red-dashboard/npm-shrinkwrap.json new file mode 100644 index 00000000..c7937640 --- /dev/null +++ b/meta-iot2000-example/recipes-node/node-red-dashboard/node-red-dashboard/npm-shrinkwrap.json @@ -0,0 +1,415 @@ +{ + "name": "node-red-dashboard", + "version": "2.1.0", + "dependencies": { + "serve-static": { + "version": "1.11.1", + "dependencies": { + "encodeurl": { + "version": "1.0.1" + }, + "escape-html": { + "version": "1.0.3" + }, + "parseurl": { + "version": "1.3.1" + }, + "send": { + "version": "0.14.1", + "dependencies": { + "debug": { + "version": "2.2.0", + "dependencies": { + "ms": { + "version": "0.7.1" + } + } + }, + "depd": { + "version": "1.1.0" + }, + "destroy": { + "version": "1.0.4" + }, + "encodeurl": { + "version": "1.0.1" + }, + "escape-html": { + "version": "1.0.3" + }, + "etag": { + "version": "1.7.0" + }, + "fresh": { + "version": "0.3.0" + }, + "http-errors": { + "version": "1.5.0", + "dependencies": { + "inherits": { + "version": "2.0.1" + }, + "setprototypeof": { + "version": "1.0.1" + }, + "statuses": { + "version": "1.3.0" + } + } + }, + "mime": { + "version": "1.3.4" + }, + "ms": { + "version": "0.7.1" + }, + "on-finished": { + "version": "2.3.0", + "dependencies": { + "ee-first": { + "version": "1.1.1" + } + } + }, + "range-parser": { + "version": "1.2.0" + }, + "statuses": { + "version": "1.3.0" + } + } + } + } + }, + "socket.io": { + "version": "1.5.1", + "dependencies": { + "engine.io": { + "version": "1.7.2", + "dependencies": { + "accepts": { + "version": "1.3.3", + "dependencies": { + "mime-types": { + "version": "2.1.12", + "dependencies": { + "mime-db": { + "version": "1.24.0" + } + } + }, + "negotiator": { + "version": "0.6.1" + } + } + }, + "base64id": { + "version": "0.1.0" + }, + "debug": { + "version": "2.2.0", + "dependencies": { + "ms": { + "version": "0.7.1" + } + } + }, + "engine.io-parser": { + "version": "1.3.1", + "dependencies": { + "after": { + "version": "0.8.1" + }, + "arraybuffer.slice": { + "version": "0.0.6" + }, + "base64-arraybuffer": { + "version": "0.1.5" + }, + "blob": { + "version": "0.0.4" + }, + "has-binary": { + "version": "0.1.6", + "dependencies": { + "isarray": { + "version": "0.0.1" + } + } + }, + "wtf-8": { + "version": "1.0.0" + } + } + }, + "ws": { + "version": "1.1.1", + "dependencies": { + "options": { + "version": "0.0.6" + }, + "ultron": { + "version": "1.0.2" + } + } + } + } + }, + "socket.io-parser": { + "version": "2.3.1", + "dependencies": { + "debug": { + "version": "2.2.0", + "dependencies": { + "ms": { + "version": "0.7.1" + } + } + }, + "json3": { + "version": "3.3.2" + }, + "component-emitter": { + "version": "1.1.2" + }, + "isarray": { + "version": "0.0.1" + } + } + }, + "socket.io-client": { + "version": "1.5.1", + "dependencies": { + "debug": { + "version": "2.2.0", + "dependencies": { + "ms": { + "version": "0.7.1" + } + } + }, + "engine.io-client": { + "version": "1.7.2", + "dependencies": { + "component-emitter": { + "version": "1.1.2" + }, + "component-inherit": { + "version": "0.0.3" + }, + "debug": { + "version": "2.2.0", + "dependencies": { + "ms": { + "version": "0.7.1" + } + } + }, + "engine.io-parser": { + "version": "1.3.1", + "dependencies": { + "after": { + "version": "0.8.1" + }, + "arraybuffer.slice": { + "version": "0.0.6" + }, + "base64-arraybuffer": { + "version": "0.1.5" + }, + "blob": { + "version": "0.0.4" + }, + "has-binary": { + "version": "0.1.6", + "dependencies": { + "isarray": { + "version": "0.0.1" + } + } + }, + "wtf-8": { + "version": "1.0.0" + } + } + }, + "has-cors": { + "version": "1.1.0" + }, + "indexof": { + "version": "0.0.1" + }, + "parsejson": { + "version": "0.0.1", + "dependencies": { + "better-assert": { + "version": "1.0.2", + "dependencies": { + "callsite": { + "version": "1.0.0" + } + } + } + } + }, + "parseqs": { + "version": "0.0.2", + "dependencies": { + "better-assert": { + "version": "1.0.2", + "dependencies": { + "callsite": { + "version": "1.0.0" + } + } + } + } + }, + "parseuri": { + "version": "0.0.4", + "dependencies": { + "better-assert": { + "version": "1.0.2", + "dependencies": { + "callsite": { + "version": "1.0.0" + } + } + } + } + }, + "ws": { + "version": "1.1.1", + "dependencies": { + "options": { + "version": "0.0.6" + }, + "ultron": { + "version": "1.0.2" + } + } + }, + "xmlhttprequest-ssl": { + "version": "1.5.1" + }, + "yeast": { + "version": "0.1.2" + } + } + }, + "component-bind": { + "version": "1.0.0" + }, + "component-emitter": { + "version": "1.2.0" + }, + "object-component": { + "version": "0.0.3" + }, + "socket.io-parser": { + "version": "2.3.1", + "dependencies": { + "debug": { + "version": "2.2.0", + "dependencies": { + "ms": { + "version": "0.7.1" + } + } + }, + "json3": { + "version": "3.3.2" + }, + "component-emitter": { + "version": "1.1.2" + }, + "isarray": { + "version": "0.0.1" + } + } + }, + "has-binary": { + "version": "0.1.7", + "dependencies": { + "isarray": { + "version": "0.0.1" + } + } + }, + "indexof": { + "version": "0.0.1" + }, + "parseuri": { + "version": "0.0.4", + "dependencies": { + "better-assert": { + "version": "1.0.2", + "dependencies": { + "callsite": { + "version": "1.0.0" + } + } + } + } + }, + "to-array": { + "version": "0.1.4" + }, + "backo2": { + "version": "1.0.2" + } + } + }, + "socket.io-adapter": { + "version": "0.4.0", + "dependencies": { + "debug": { + "version": "2.2.0", + "dependencies": { + "ms": { + "version": "0.7.1" + } + } + }, + "socket.io-parser": { + "version": "2.2.2", + "dependencies": { + "debug": { + "version": "0.7.4" + }, + "json3": { + "version": "3.2.6" + }, + "component-emitter": { + "version": "1.1.2" + }, + "isarray": { + "version": "0.0.1" + }, + "benchmark": { + "version": "1.0.0" + } + } + } + } + }, + "has-binary": { + "version": "0.1.7", + "dependencies": { + "isarray": { + "version": "0.0.1" + } + } + }, + "debug": { + "version": "2.2.0", + "dependencies": { + "ms": { + "version": "0.7.1" + } + } + } + } + } + } +} diff --git a/meta-iot2000-example/recipes-node/node-red-dashboard/node-red-dashboard_2.1.0.bb b/meta-iot2000-example/recipes-node/node-red-dashboard/node-red-dashboard_2.1.0.bb new file mode 100644 index 00000000..1a85795a --- /dev/null +++ b/meta-iot2000-example/recipes-node/node-red-dashboard/node-red-dashboard_2.1.0.bb @@ -0,0 +1,199 @@ +# Recipe created by recipetool +# This is the basis of a recipe and may need further editing in order to be fully functional. +# (Feel free to remove these comments when editing.) +# +# WARNING: the following LICENSE and LIC_FILES_CHKSUM values are best guesses - it is +# your responsibility to verify that the values are complete and correct. +# +# NOTE: multiple licenses have been detected; if that is correct you should separate +# these in the LICENSE value using & if the multiple licenses all apply, or | if there +# is a choice between the multiple licenses. If in doubt, check the accompanying +# documentation to determine which situation is applicable. +LICENSE = "ISC & Unknown & MIT" +LIC_FILES_CHKSUM = "file://license.js;md5=668655a2435843914f189892c9f2bd9b \ + file://LICENSE;md5=28d53e127521209f7f78dab1684d7e65 \ + file://node_modules/serve-static/LICENSE;md5=27b1707520b14d0bc890f4e75cd387b0 \ + file://node_modules/serve-static/node_modules/parseurl/LICENSE;md5=f2a528765fa86a33fb7f85f3d9a1b5dd \ + file://node_modules/serve-static/node_modules/encodeurl/LICENSE;md5=272621efa0ff4f18a73221e49ab60654 \ + file://node_modules/serve-static/node_modules/send/LICENSE;md5=df2b0938eba0709b77ac937e2d552b7a \ + file://node_modules/serve-static/node_modules/send/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/serve-static/node_modules/send/node_modules/etag/LICENSE;md5=89378960d0c54c30539e50c7a78ce846 \ + file://node_modules/serve-static/node_modules/send/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/serve-static/node_modules/send/node_modules/on-finished/LICENSE;md5=1b1f7f9cec194121fdf616b971df7a7b \ + file://node_modules/serve-static/node_modules/send/node_modules/on-finished/node_modules/ee-first/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/serve-static/node_modules/send/node_modules/encodeurl/LICENSE;md5=272621efa0ff4f18a73221e49ab60654 \ + file://node_modules/serve-static/node_modules/send/node_modules/destroy/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/serve-static/node_modules/send/node_modules/statuses/LICENSE;md5=607209623abfcc77b9098f71a0ef52f9 \ + file://node_modules/serve-static/node_modules/send/node_modules/fresh/LICENSE;md5=abf13d4b06f2210b2fab25b0f9641df7 \ + file://node_modules/serve-static/node_modules/send/node_modules/range-parser/LICENSE;md5=d4246fb961a4f121eef5ffca47f0b010 \ + file://node_modules/serve-static/node_modules/send/node_modules/depd/LICENSE;md5=89378960d0c54c30539e50c7a78ce846 \ + file://node_modules/serve-static/node_modules/send/node_modules/http-errors/LICENSE;md5=607209623abfcc77b9098f71a0ef52f9 \ + file://node_modules/serve-static/node_modules/send/node_modules/http-errors/node_modules/statuses/LICENSE;md5=607209623abfcc77b9098f71a0ef52f9 \ + file://node_modules/serve-static/node_modules/send/node_modules/http-errors/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/serve-static/node_modules/send/node_modules/http-errors/node_modules/setprototypeof/LICENSE;md5=4846f1626304c2c0f806a539bbc7d54a \ + file://node_modules/serve-static/node_modules/send/node_modules/escape-html/LICENSE;md5=f8746101546eeb9e4f6de64bb8bdf595 \ + file://node_modules/serve-static/node_modules/send/node_modules/mime/LICENSE;md5=8eab89930e0b484cd991ed4a155f74f7 \ + file://node_modules/serve-static/node_modules/escape-html/LICENSE;md5=f8746101546eeb9e4f6de64bb8bdf595 \ + file://node_modules/socket.io/LICENSE;md5=ff6b9e6830cdd3c4c2c4266dc0b91a86 \ + file://node_modules/socket.io/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/socket.io/node_modules/engine.io/LICENSE;md5=c9f272e8d85e84d214436bc09de14478 \ + file://node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/LICENSE;md5=436a2c205caafa17c010702768e0bed0 \ + file://node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/base64-arraybuffer/LICENSE-MIT;md5=7e6019c14540d23cd5ed7337b94782b0 \ + file://node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/has-binary/LICENSE;md5=ea88943e21663beb2f4203005de54d51 \ + file://node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/wtf-8/LICENSE-MIT.txt;md5=ee9bd8b835cfcd512dd644540dd96987 \ + file://node_modules/socket.io/node_modules/engine.io/node_modules/engine.io-parser/node_modules/after/LICENCE;md5=013fe0a3fb8c715466a12185bc36727b \ + file://node_modules/socket.io/node_modules/engine.io/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/ultron/LICENSE;md5=4310a14e1d911cc6e4b5a34dbcbeaddd \ + file://node_modules/socket.io/node_modules/engine.io/node_modules/accepts/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ + file://node_modules/socket.io/node_modules/engine.io/node_modules/accepts/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ + file://node_modules/socket.io/node_modules/engine.io/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/socket.io/node_modules/engine.io/node_modules/accepts/node_modules/negotiator/LICENSE;md5=6417a862a5e35c17c904d9dda2cbd499 \ + file://node_modules/socket.io/node_modules/socket.io-client/LICENSE;md5=b034b27f54cd5a363360fd9207438a01 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/component-emitter/LICENSE;md5=c22e1612ebc02ae74b51d7abefe6d1f2 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/to-array/LICENCE;md5=8966d3100f2d871ee216d056c0ea0160 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/has-binary/LICENSE;md5=ea88943e21663beb2f4203005de54d51 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/socket.io-parser/LICENSE;md5=afbe5b2f47d5cf306759fe2d435b5ee0 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/socket.io-parser/node_modules/json3/LICENSE;md5=e23ee4c29fcae2eae419990afd891c74 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/LICENSE;md5=ff6b9e6830cdd3c4c2c4266dc0b91a86 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/LICENSE;md5=436a2c205caafa17c010702768e0bed0 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/base64-arraybuffer/LICENSE-MIT;md5=7e6019c14540d23cd5ed7337b94782b0 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/has-binary/LICENSE;md5=ea88943e21663beb2f4203005de54d51 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/wtf-8/LICENSE-MIT.txt;md5=ee9bd8b835cfcd512dd644540dd96987 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/engine.io-parser/node_modules/after/LICENCE;md5=013fe0a3fb8c715466a12185bc36727b \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/yeast/LICENSE;md5=4310a14e1d911cc6e4b5a34dbcbeaddd \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/xmlhttprequest-ssl/LICENSE;md5=cbfa18387b1df27866558353235d1cde \ + file://node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/ultron/LICENSE;md5=4310a14e1d911cc6e4b5a34dbcbeaddd \ + file://node_modules/socket.io/node_modules/has-binary/LICENSE;md5=ea88943e21663beb2f4203005de54d51 \ + file://node_modules/socket.io/node_modules/socket.io-adapter/LICENSE;md5=afbe5b2f47d5cf306759fe2d435b5ee0 \ + file://node_modules/socket.io/node_modules/socket.io-adapter/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/json3/LICENSE;md5=fadef51bea737597a0e07cd90e299e5c \ + file://node_modules/socket.io/node_modules/socket.io-adapter/node_modules/socket.io-parser/node_modules/benchmark/LICENSE.txt;md5=92411c1810f48ddc606454e423240f52 \ + file://node_modules/socket.io/node_modules/socket.io-parser/LICENSE;md5=afbe5b2f47d5cf306759fe2d435b5ee0 \ + file://node_modules/socket.io/node_modules/socket.io-parser/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/socket.io/node_modules/socket.io-parser/node_modules/json3/LICENSE;md5=e23ee4c29fcae2eae419990afd891c74" + +SRC_URI = "npm://registry.npmjs.org;name=node-red-dashboard;version=${PV}" + +S = "${WORKDIR}/npmpkg" + +SUMMARY = "A set of dashboard nodes for Node-RED" +NPM_SHRINKWRAP := "${THISDIR}/${PN}/npm-shrinkwrap.json" +NPM_LOCKDOWN := "${THISDIR}/${PN}/lockdown.json" + +inherit npm + +LICENSE_${PN}-serve-static-encodeurl = "MIT" +LICENSE_${PN}-serve-static-escape-html = "MIT" +LICENSE_${PN}-serve-static-parseurl = "MIT" +LICENSE_${PN}-serve-static-send-debug-ms = "MIT" +LICENSE_${PN}-serve-static-send-debug = "Unknown" +LICENSE_${PN}-serve-static-send-depd = "MIT" +LICENSE_${PN}-serve-static-send-destroy = "MIT" +LICENSE_${PN}-serve-static-send-encodeurl = "MIT" +LICENSE_${PN}-serve-static-send-escape-html = "MIT" +LICENSE_${PN}-serve-static-send-etag = "MIT" +LICENSE_${PN}-serve-static-send-fresh = "MIT" +LICENSE_${PN}-serve-static-send-http-errors-inherits = "ISC" +LICENSE_${PN}-serve-static-send-http-errors-setprototypeof = "ISC" +LICENSE_${PN}-serve-static-send-http-errors-statuses = "MIT" +LICENSE_${PN}-serve-static-send-http-errors = "MIT" +LICENSE_${PN}-serve-static-send-mime = "MIT" +LICENSE_${PN}-serve-static-send-ms = "MIT" +LICENSE_${PN}-serve-static-send-on-finished-ee-first = "MIT" +LICENSE_${PN}-serve-static-send-on-finished = "MIT" +LICENSE_${PN}-serve-static-send-range-parser = "MIT" +LICENSE_${PN}-serve-static-send-statuses = "MIT" +LICENSE_${PN}-serve-static-send = "MIT" +LICENSE_${PN}-serve-static = "MIT" +LICENSE_${PN}-socket.io-debug-ms = "MIT" +LICENSE_${PN}-socket.io-debug = "Unknown" +LICENSE_${PN}-socket.io-engine.io-accepts-mime-types-mime-db = "MIT" +LICENSE_${PN}-socket.io-engine.io-accepts-mime-types = "MIT" +LICENSE_${PN}-socket.io-engine.io-accepts-negotiator = "MIT" +LICENSE_${PN}-socket.io-engine.io-accepts = "MIT" +LICENSE_${PN}-socket.io-engine.io-base64id = "Unknown" +LICENSE_${PN}-socket.io-engine.io-debug-ms = "MIT" +LICENSE_${PN}-socket.io-engine.io-debug = "Unknown" +LICENSE_${PN}-socket.io-engine.io-engine.io-parser-after = "MIT" +LICENSE_${PN}-socket.io-engine.io-engine.io-parser-arraybuffer.slice = "Unknown" +LICENSE_${PN}-socket.io-engine.io-engine.io-parser-base64-arraybuffer = "MIT" +LICENSE_${PN}-socket.io-engine.io-engine.io-parser-blob = "Unknown" +LICENSE_${PN}-socket.io-engine.io-engine.io-parser-has-binary-isarray = "Unknown" +LICENSE_${PN}-socket.io-engine.io-engine.io-parser-has-binary = "MIT" +LICENSE_${PN}-socket.io-engine.io-engine.io-parser-wtf-8 = "MIT" +LICENSE_${PN}-socket.io-engine.io-engine.io-parser = "MIT" +LICENSE_${PN}-socket.io-engine.io-ws-options = "Unknown" +LICENSE_${PN}-socket.io-engine.io-ws-ultron = "MIT" +LICENSE_${PN}-socket.io-engine.io-ws = "Unknown" +LICENSE_${PN}-socket.io-engine.io = "MIT" +LICENSE_${PN}-socket.io-has-binary-isarray = "Unknown" +LICENSE_${PN}-socket.io-has-binary = "MIT" +LICENSE_${PN}-socket.io-socket.io-adapter-debug-ms = "MIT" +LICENSE_${PN}-socket.io-socket.io-adapter-debug = "Unknown" +LICENSE_${PN}-socket.io-socket.io-adapter-socket.io-parser-benchmark = "Unknown" +LICENSE_${PN}-socket.io-socket.io-adapter-socket.io-parser-component-emitter = "Unknown" +LICENSE_${PN}-socket.io-socket.io-adapter-socket.io-parser-debug = "Unknown" +LICENSE_${PN}-socket.io-socket.io-adapter-socket.io-parser-isarray = "Unknown" +LICENSE_${PN}-socket.io-socket.io-adapter-socket.io-parser-json3 = "Unknown" +LICENSE_${PN}-socket.io-socket.io-adapter-socket.io-parser = "Unknown" +LICENSE_${PN}-socket.io-socket.io-adapter = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-backo2 = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-component-bind = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-component-emitter = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-debug-ms = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-debug = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-component-emitter = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-component-inherit = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-debug-ms = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-debug = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-engine.io-parser-after = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-engine.io-parser-arraybuffer.slice = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-engine.io-parser-base64-arraybuffer = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-engine.io-parser-blob = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-engine.io-parser-has-binary-isarray = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-engine.io-parser-has-binary = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-engine.io-parser-wtf-8 = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-engine.io-parser = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-has-cors = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-indexof = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-parsejson-better-assert-callsite = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-parsejson-better-assert = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-parsejson = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-parseqs-better-assert-callsite = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-parseqs-better-assert = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-parseqs = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-parseuri-better-assert-callsite = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-parseuri-better-assert = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-parseuri = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-ws-options = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-ws-ultron = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-ws = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-xmlhttprequest-ssl = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client-yeast = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-engine.io-client = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-has-binary-isarray = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-has-binary = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-indexof = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-object-component = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-parseuri-better-assert-callsite = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-parseuri-better-assert = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-parseuri = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-socket.io-parser-component-emitter = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-socket.io-parser-debug-ms = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-socket.io-parser-debug = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-socket.io-parser-isarray = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-socket.io-parser-json3 = "Unknown" +LICENSE_${PN}-socket.io-socket.io-client-socket.io-parser = "MIT" +LICENSE_${PN}-socket.io-socket.io-client-to-array = "MIT" +LICENSE_${PN}-socket.io-socket.io-client = "MIT" +LICENSE_${PN}-socket.io-socket.io-parser-component-emitter = "Unknown" +LICENSE_${PN}-socket.io-socket.io-parser-debug-ms = "MIT" +LICENSE_${PN}-socket.io-socket.io-parser-debug = "Unknown" +LICENSE_${PN}-socket.io-socket.io-parser-isarray = "Unknown" +LICENSE_${PN}-socket.io-socket.io-parser-json3 = "Unknown" +LICENSE_${PN}-socket.io-socket.io-parser = "MIT" +LICENSE_${PN}-socket.io = "MIT" +LICENSE_${PN} = "Unknown" diff --git a/meta-iot2000-example/recipes-node/node-red-node-intel-gpio/node-red-node-intel-gpio/lockdown.json b/meta-iot2000-example/recipes-node/node-red-node-intel-gpio/node-red-node-intel-gpio/lockdown.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/meta-iot2000-example/recipes-node/node-red-node-intel-gpio/node-red-node-intel-gpio/lockdown.json @@ -0,0 +1 @@ +{} diff --git a/meta-iot2000-example/recipes-node/node-red-node-intel-gpio/node-red-node-intel-gpio/npm-shrinkwrap.json b/meta-iot2000-example/recipes-node/node-red-node-intel-gpio/node-red-node-intel-gpio/npm-shrinkwrap.json new file mode 100644 index 00000000..98b27ae1 --- /dev/null +++ b/meta-iot2000-example/recipes-node/node-red-node-intel-gpio/node-red-node-intel-gpio/npm-shrinkwrap.json @@ -0,0 +1,5 @@ +{ + "name": "node-red-node-intel-gpio", + "version": "0.0.5", + "dependencies": {} +} diff --git a/meta-iot2000-example/recipes-node/node-red-node-intel-gpio/node-red-node-intel-gpio_0.0.5.bb b/meta-iot2000-example/recipes-node/node-red-node-intel-gpio/node-red-node-intel-gpio_0.0.5.bb new file mode 100644 index 00000000..05df735c --- /dev/null +++ b/meta-iot2000-example/recipes-node/node-red-node-intel-gpio/node-red-node-intel-gpio_0.0.5.bb @@ -0,0 +1,19 @@ +# Recipe created by recipetool +# This is the basis of a recipe and may need further editing in order to be fully functional. +# (Feel free to remove these comments when editing.) +# +# WARNING: the following LICENSE and LIC_FILES_CHKSUM values are best guesses - it is +# your responsibility to verify that the values are complete and correct. +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${IOT2000_MIT_LICENSE};md5=838c366f69b72c5df05c96dff79b35f2" + +SRC_URI = "npm://registry.npmjs.org;name=node-red-node-intel-gpio;version=${PV}" + +S = "${WORKDIR}/npmpkg" + +SUMMARY = "A Node-RED node to talk to an Intel Galileo or Edison using mraa" +NPM_SHRINKWRAP := "${THISDIR}/${PN}/npm-shrinkwrap.json" +NPM_LOCKDOWN := "${THISDIR}/${PN}/lockdown.json" + +inherit npm + diff --git a/meta-iot2000-example/recipes-node/node-red/node-red/lockdown.json b/meta-iot2000-example/recipes-node/node-red/node-red/lockdown.json new file mode 100644 index 00000000..503069f0 --- /dev/null +++ b/meta-iot2000-example/recipes-node/node-red/node-red/lockdown.json @@ -0,0 +1,945 @@ +{ + "abbrev": { + "1.0.7": "5b6035b2ee9d4fb5cf859f08a9be81b208491843", + "1.0.9": "91b4792588a7738c25f35dd6f63752a2f8776135" + }, + "accepts": { + "1.3.3": "c3ca7434938648c3e0d9c1e328dd68b622c284ca" + }, + "acorn": { + "1.2.2": "*" + }, + "addressparser": { + "0.1.3": "9e9ab43d257e1ae784e1df5f580c9f5240f58874", + "0.3.2": "59873f35e8fcf6c7361c10239261d76e15348bb2" + }, + "align-text": { + "0.1.4": "0cd90a561093f35d0a99256c22b7069433fad117" + }, + "ansi": { + "0.3.1": "*" + }, + "ansi-regex": { + "2.0.0": "c5061b6e0ef8a81775e50f5d66151bf6bf371107" + }, + "ansi-styles": { + "2.2.1": "b432dd3358b634cf75e1e4664368240533c1ddbe" + }, + "are-we-there-yet": { + "1.1.2": "80e470e95a084794fe1899262c5667c6e88de1b3" + }, + "array-flatten": { + "1.1.1": "9a5f699051b1e7073328f2a008968b64ea2955d2" + }, + "array-indexofobject": { + "0.0.1": "aaa128e62c9b3c358094568c219ff64fe489d42a" + }, + "asn1": { + "0.2.3": "dac8787713c9966849fc8180777ebe9c1ddf3b86" + }, + "assert-plus": { + "0.2.0": "d74e1b87e7affc0db8aadb7021f3fe48101ab234", + "1.0.0": "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + }, + "ast-types": { + "0.8.16": "*" + }, + "async": { + "0.1.22": "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061", + "0.2.10": "b6bbe0b0674b9d719708ca38de8c237cb526c3d1", + "1.5.2": "ec6a61ae56480c0c3cb241c95618e20892f9672a", + "2.1.2": "612a4ab45ef42a70cde806bad86ee6db047e8385" + }, + "asynckit": { + "0.4.0": "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + }, + "aws-sign2": { + "0.6.0": "14342dd38dbcc94d0e5b87d763cd63612c0e794f" + }, + "aws4": { + "1.3.2": "d39e0bee412ced0e8ed94a23e314f313a95b9fd1", + "1.5.0": "0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" + }, + "balanced-match": { + "0.3.0": "a91cdd1ebef1a86659e70ff4def01625fc2d6756", + "0.4.2": "cb3f3e3c732dc0f01ee70b403f302e61d7709838" + }, + "basic-auth": { + "1.0.4": "030935b01de7c9b94a824b29f3fccb750d3a5290" + }, + "bcrypt": { + "0.8.7": "bc3875a9afd0a7b2cd231a6a7f218a5ce156b093" + }, + "bcrypt-pbkdf": { + "1.0.0": "3ca76b85241c7170bf7d9703e7b9aa74630040d4" + }, + "bcryptjs": { + "2.3.0": "5826900cfef7abaf3425c72e4d464de509b8c2ec" + }, + "bindings": { + "1.2.1": "14ad6113812d2d37d72e67b4cacb4bb726505f11" + }, + "bl": { + "0.9.5": "c06b797af085ea00bc527afc8efcf11de2232054", + "1.1.2": "fdca871a99713aa00d19e3bbba41c44787a65398" + }, + "block-stream": { + "0.0.8": "0688f46da2bbf9cff0c4f68225a0cb95cbe8a46b" + }, + "bluebird": { + "3.4.6": "01da8d821d87813d158967e743d5fe6c62cf8c0f" + }, + "body-parser": { + "1.15.2": "d7578cf4f1d11d5f6ea804cef35dc7a7ff6dae67" + }, + "boolbase": { + "1.0.0": "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + }, + "boom": { + "2.10.1": "39c8918ceff5799f83f9492a848f625add0c766f" + }, + "brace-expansion": { + "1.1.3": "46bff50115d47fc9ab89854abb87d98078a10991", + "1.1.6": "7197d7eaa9b87e648390ea61fc66c84427420df9" + }, + "buffer-shims": { + "1.0.0": "9978ce317388c649ad8793028c3477ef044a8b51" + }, + "bufferutil": { + "1.2.1": "37be5d36e1e06492221e68d474b1ac58e510cbd7" + }, + "buildmail": { + "2.0.0": "f0b7b0a59e9a4a1b5066bbfa051d248f3832eece" + }, + "bytes": { + "2.4.0": "7d97196f9d5baf7f6935e25985549edd2a6c2339" + }, + "camelcase": { + "1.2.1": "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + }, + "caseless": { + "0.11.0": "715b96ea9841593cc33067923f5ec60ebda4f7d7" + }, + "center-align": { + "0.1.3": "aa0d32629b6ee972200411cbd4461c907bc2b7ad" + }, + "chalk": { + "1.1.3": "a8115c55e4a702fe4d150abd3872822a7e09fc98" + }, + "cheerio": { + "0.19.0": "772e7015f2ee29965096d71ea4175b75ab354925" + }, + "cliui": { + "2.1.0": "4b475760ff80264c762c3a1719032e91c7fea0d1" + }, + "clone": { + "1.0.2": "260b7a99ebb1edfe247538175f783243cb19d149" + }, + "combined-stream": { + "1.0.5": "938370a57b4a51dea2c77c15d5c5fdf895164009" + }, + "commander": { + "2.9.0": "9c99094176e12240cb22d6c5146098400fe0f7d4" + }, + "commist": { + "1.0.0": "c0c352501cf6f52e9124e3ef89c9806e2022ebef" + }, + "concat-map": { + "0.0.1": "d8a96bd77fd68df7793a73036a3ba0d5405d477b" + }, + "concat-stream": { + "1.5.2": "708978624d856af41a5a741defdd261da752c266" + }, + "content-disposition": { + "0.5.1": "87476c6a67c8daa87e32e87616df883ba7fb071b" + }, + "content-type": { + "1.0.2": "b7d113aee7a8dd27bd21133c4dc2529df1721eed" + }, + "cookie": { + "0.3.1": "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + }, + "cookie-parser": { + "1.4.3": "0fe31fa19d000b95f4aadf1f53fdc2b8a203baa5" + }, + "cookie-signature": { + "1.0.6": "e303a882b342cc3ee8ca513a79999734dab3ae2c" + }, + "cookies": { + "0.6.1": "ef693b1bc6f01f567d46e2f504e9c15fb70cba90" + }, + "core-util-is": { + "1.0.2": "b5fd54220aa2bc5ab57aab7140c940754503c1a7" + }, + "cors": { + "2.7.1": "3c2e50a58af9ef8c89bee21226b099be1f02739b" + }, + "cron": { + "1.1.0": "61e868c6f18f98e8bcb88bcd7ab9fb8fae909453" + }, + "cryptiles": { + "2.0.5": "3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + }, + "css-select": { + "1.0.0": "b1121ca51848dd264e2244d058cee254deeb44b0" + }, + "css-what": { + "1.0.0": "d7cc2df45180666f99d2b14462639469e00f736c" + }, + "dashdash": { + "1.13.1": "3530ed38b9026be9af05c83423c9154122e3d47c", + "1.14.0": "29e486c5418bf0f356034a993d51686a33e84141" + }, + "debug": { + "2.2.0": "f87057e995b1a1f6ae6a4960664137bc56f039da", + "2.3.0": "3912dc55d7167fc3af17d2b85c13f93deaedaa43" + }, + "decamelize": { + "1.2.0": "f6534d15148269b20352e7bee26f501f9a191290" + }, + "deep-extend": { + "0.4.1": "efe4113d08085f4e6f9687759810f807469e2253" + }, + "define-properties": { + "1.1.2": "83a73f2fea569898fb737193c8f873caf6d45c94" + }, + "delayed-stream": { + "1.0.0": "df3ae199acadfb7d440aaae0b29e2272b24ec619" + }, + "delegates": { + "1.0.0": "84c6e159b81904fdca59a0ef44cd870d31250f9a" + }, + "depd": { + "1.1.0": "e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + }, + "destroy": { + "1.0.4": "978857442c44749e4206613e37946205826abd80" + }, + "dom-serializer": { + "0.1.0": "073c697546ce0780ce23be4a28e293e40bc30c82" + }, + "domelementtype": { + "1.1.3": "bd28773e2642881aec51544924299c5cd822185b", + "1.3.0": "b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + }, + "domhandler": { + "2.3.0": "2de59a0822d5027fabff6f032c2b25a2a8abe738" + }, + "domutils": { + "1.4.3": "0865513796c6b306031850e175516baf80b72a6f", + "1.5.1": "dcd8488a26f563d61079e48c9f7b7e32373682cf" + }, + "duplexify": { + "3.5.0": "1aa773002e1578457e9d9d4a50b0ccaaebcbd604" + }, + "ecc-jsbn": { + "0.0.1": "970577ba31b4976fb1889a298cb7451d896c466d", + "0.1.1": "0fc73a9ed5f0d53c38193398523ef7e543777505" + }, + "ee-first": { + "1.1.1": "590c61156b0ae2f4f0255732a158b266bc56b21d" + }, + "encodeurl": { + "1.0.1": "79e3d58655346909fe6f0f45a5de68103b294d20" + }, + "encoding": { + "0.1.12": "538b66f3ee62cd1ab51ec323829d1f9480c74beb" + }, + "end-of-stream": { + "1.0.0": "d4596e702734a93e40e9af864319eabd99ff2f0e", + "1.1.0": "e9353258baa9108965efc41cb0ef8ade2f3cfb07" + }, + "entities": { + "1.0.0": "b2987aa3821347fcde642b24fdfc9e4fb712bf26", + "1.1.1": "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + }, + "escape-html": { + "1.0.3": "0258eae4d3d0c0974de1c169188ef0051d1d1988" + }, + "escape-string-regexp": { + "1.0.5": "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + }, + "esmangle-evaluator": { + "1.0.0": "*" + }, + "esprima": { + "2.7.2": "*" + }, + "etag": { + "1.7.0": "03d30b5f67dd6e632d2945d30d6652731a34d5d8" + }, + "express": { + "4.14.0": "c1ee3f42cdc891fb3dc650a8922d51ec847d0d66" + }, + "extend": { + "3.0.0": "5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + }, + "extsprintf": { + "1.0.2": "e1080e0658e300b06294990cc70e1502235fd550" + }, + "falafel": { + "1.2.0": "*" + }, + "feedparser": { + "1.1.3": "0b725f6b4cbe4b26d518baec0d010ad020156c8b" + }, + "finalhandler": { + "0.5.0": "e9508abece9b6dba871a6942a1d7911b91911ac7" + }, + "follow-redirects": { + "0.2.0": "e0229d7a388bb5ff7b29f44fc1e1b62e921272df" + }, + "foreach": { + "2.0.5": "0bee005018aeb260d0a3af3ae658dd0136ec1b99" + }, + "forever-agent": { + "0.6.1": "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + }, + "form-data": { + "1.0.0-rc4": "05ac6bc22227b43e4461f488161554699d4f8b5e", + "1.0.1": "ae315db9a4907fa065502304a66d7733475ee37c", + "2.1.2": "89c3534008b97eada4cbb157d58f6f5df025eae4" + }, + "forwarded": { + "0.1.0": "19ef9874c4ae1c297bcf078fde63a09b66a84363" + }, + "fresh": { + "0.3.0": "651f838e22424e7566de161d8358caa199f83d4f" + }, + "fs-extra": { + "0.30.0": "f233ffcc08d4da7d432daa449776989db1df93f0" + }, + "fs.notify": { + "0.0.4": "63284d45a34b52ce60088a6ddbec5b776d3c013d" + }, + "fs.realpath": { + "1.0.0": "1504ad2523158caa40db4a2787cb01411994ea4f" + }, + "fstream": { + "1.0.8": "7e8d7a73abb3647ef36e4b8a15ca801dba03d038" + }, + "fstream-ignore": { + "1.0.3": "4c74d91fa88b22b42f4f86a18a2820dd79d8fcdd" + }, + "function-bind": { + "1.1.0": "16176714c801798e4e8f2cf7f7529467bb4a5771" + }, + "gauge": { + "1.2.7": "e9cec5483d3d4ee0ef44b60a7d99e4935e136d93" + }, + "generate-function": { + "2.0.0": "6858fe7c0969b7d4e9093337647ac79f60dfbe74" + }, + "generate-object-property": { + "1.2.0": "9c0e1c40308ce804f4783618b937fa88f99d50d0" + }, + "getpass": { + "0.1.5": "a20d5f2a8fc83f11db0d591d0487469407e6be14", + "0.1.6": "283ffd9fc1256840875311c1b60e8c40187110e6" + }, + "github": { + "0.2.4": "24fa7f0e13fa11b946af91134c51982a91ce538b" + }, + "glob": { + "7.0.3": "0aa235931a4a96ac13d60ffac2fb877bd6ed4f58", + "7.1.1": "805211df04faaf1c63a3600306cdf5ade50b2ec8" + }, + "graceful-fs": { + "4.1.10": "f2d720c22092f743228775c75e3612632501f131", + "4.1.3": "92033ce11113c41e2628d61fdfa40bc10dc0155c" + }, + "graceful-readlink": { + "1.0.1": "4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + }, + "har-validator": { + "2.0.6": "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + }, + "has-ansi": { + "2.0.0": "34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + }, + "has-unicode": { + "2.0.0": "a3cd96c307ba41d559c5a2ee408c12a11c4c2ec3" + }, + "hawk": { + "3.1.3": "078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + }, + "help-me": { + "0.1.0": "0fb3a40537ad5265b6b49413022c60d35b49539a" + }, + "hoek": { + "2.16.3": "20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + }, + "htmlparser2": { + "3.8.3": "996c28b191516a8be86501a7d79757e5c70c1068" + }, + "http-errors": { + "1.5.0": "b1cb3d8260fd8e2386cad3189045943372d48211" + }, + "http-signature": { + "1.1.1": "df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + }, + "i18next": { + "1.10.6": "fddd8b491502c48967a62963bc722ff897cddea0" + }, + "i18next-client": { + "1.10.3": "76d0353557ed90d1e7a87754d5004d3f7801fde9" + }, + "iconv-lite": { + "0.4.13": "1f88aba4ab0b1508e8312acc39345f36e992e2f2" + }, + "imap": { + "0.8.18": "4a7cdd0ff276efa0298708bb2c6d0db0b77f7a3f" + }, + "inflight": { + "1.0.4": "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a", + "1.0.6": "49bd6331d7d02d0c09bc910a1075ba8165b56df9" + }, + "inherits": { + "2.0.1": "b17d08d326b4423e568eff719f91b0b1cbdf69f1", + "2.0.3": "633c2c83e3da42a502f52466022480f4208261de" + }, + "ini": { + "1.3.4": "0537cb79daf59b59a1a517dff706c86ec039162e" + }, + "inline-process-browser": { + "2.0.1": "*" + }, + "ipaddr.js": { + "1.1.1": "c791d95f52b29c1247d5df80ada39b8a73647230" + }, + "is-buffer": { + "1.1.4": "cfc86ccd5dc5a52fa80489111c6920c457e2d98b" + }, + "is-my-json-valid": { + "2.13.1": "d55778a82feb6b0963ff4be111d5d1684e890707", + "2.15.0": "936edda3ca3c211fd98f3b2d3e08da43f7b2915b" + }, + "is-property": { + "1.0.2": "57fe1c4e48474edd65b09911f26b1cd4095dda84" + }, + "is-typedarray": { + "1.0.0": "e479c80858df0c1b11ddda6940f96011fcda4a9a" + }, + "is-utf8": { + "0.2.1": "4b0da1442104d1b336340e80797e865cf39f7d72" + }, + "isarray": { + "0.0.1": "8a18acfca9a8f4177e09abfc6038939b05d1eedf", + "1.0.0": "bb935d48582cba168c06834957a54a3e07124f11" + }, + "isstream": { + "0.1.2": "47e63f7af55afa6f92e1500e690eb8b8529c099a" + }, + "jodid25519": { + "1.0.2": "06d4912255093419477d425633606e0e90782967" + }, + "jsbn": { + "0.0.0": "c52701bdcedbdf7084e1cfc701a7f86464ad7828", + "0.1.0": "650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + }, + "json-schema": { + "0.2.2": "50354f19f603917c695f70b85afa77c3b0f23506", + "0.2.3": "b480c892e59a2f05954ce727bd3f2a4e882f9e13" + }, + "json-stringify-safe": { + "5.0.1": "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + }, + "json5": { + "0.2.0": "b6d7035c70c4570f883c7edc759de3ae03db3343" + }, + "jsonfile": { + "2.4.0": "3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + }, + "jsonpointer": { + "2.0.0": "3af1dd20fe85463910d469a385e33017d2a030d9", + "4.0.0": "6661e161d2fc445f19f98430231343722e1fcbd5" + }, + "jsprim": { + "1.2.2": "f20c906ac92abd58e3b79ac8bc70a48832512da1", + "1.3.1": "2a7256f70412a29ee3670aaca625994c4dcff252" + }, + "keygrip": { + "1.0.1": "b02fa4816eef21a8c4b35ca9e52921ffc89a30e9" + }, + "kind-of": { + "3.0.4": "7b8ecf18a4e17f8269d73b501c9f232c96887a74" + }, + "klaw": { + "1.3.1": "4088433b46b3b1ba259d78785d8e96f73ba02439" + }, + "lazy-cache": { + "1.0.4": "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + }, + "leven": { + "1.0.2": "9144b6eebca5f1d0680169f1a6770dcea60b75c3" + }, + "libbase64": { + "0.1.0": "62351a839563ac5ff5bd26f12f60e9830bb751e6" + }, + "libmime": { + "1.2.0": "8d84b4f3b225b3704410236ef494906436ba742b" + }, + "libqp": { + "1.1.0": "f5e6e06ad74b794fb5b5b66988bf728ef1dedbe8" + }, + "lodash": { + "3.10.1": "5bf45e8e49ba4189e17d482789dfd15bd140b7b6", + "4.16.6": "d22c9ac660288f3843e16ba7d2b5d06cca27d777" + }, + "lodash._baseslice": { + "4.0.0": "*" + }, + "lodash.assign": { + "4.0.1": "8e7ff0206897a99dca32fc8123309f5c4c2c731e" + }, + "lodash.keys": { + "4.2.0": "a08602ac12e4fb83f91fc1fb7a360a4d9ba35205" + }, + "lodash.pad": { + "4.3.0": "*" + }, + "lodash.padend": { + "4.4.0": "*" + }, + "lodash.padstart": { + "4.4.0": "*" + }, + "lodash.rest": { + "4.0.5": "954ef75049262038c96d1fc98b28fdaf9f0772aa" + }, + "lodash.tostring": { + "4.1.2": "*" + }, + "longest": { + "1.0.1": "30a0b2da38f73770e8294a0d22e6625ed77d0097" + }, + "lru-cache": { + "4.0.1": "*" + }, + "mailcomposer": { + "2.1.0": "a6531822899614fee899c92226d81e2b9cbb183d" + }, + "mailparser": { + "0.6.1": "3de4db3f4a90c160c06d8cb8b825a7f1c6f6a7c3" + }, + "media-typer": { + "0.3.0": "8710d7af0aa626f8fffa1ce00168545263255748" + }, + "merge-descriptors": { + "1.0.1": "b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + }, + "methods": { + "1.1.2": "5529a4d67654134edcc5266656835b0f851afcee" + }, + "mime": { + "1.3.4": "115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + }, + "mime-db": { + "1.22.0": "ab23a6372dc9d86d3dc9121bd0ebd38105a1904a", + "1.24.0": "e2d13f939f0016c6e4e9ad25a8652f126c467f0c" + }, + "mime-types": { + "2.1.10": "b93c7cb4362e16d41072a7e54538fb4d43070837", + "2.1.12": "152ba256777020dd4663f54c2e7bc26381e71729" + }, + "mimelib": { + "0.2.19": "37ec90a6ac7d00954851d0b2c31618f0a49da0ee" + }, + "minimatch": { + "3.0.0": "5236157a51e4f004c177fb3c527ff7dd78f0ef83", + "3.0.3": "2a4e4090b96b2db06a9d7df01055a62a77c9b774" + }, + "minimist": { + "0.0.10": "de3f98543dbf96082be48ad1a0c7cda836301dcf", + "0.0.8": "857fcabfc3397d2625b8228262e86aa7a011b05d", + "1.2.0": "a35008b20f41383eec1fb914f4cd5df79a264284" + }, + "mkdirp": { + "0.5.1": "30057438eac6cf7f8c4767f38648d6697d75c903" + }, + "moment": { + "2.15.2": "1bfdedf6a6e345f322fe956d5df5bd08a8ce84dc" + }, + "moment-timezone": { + "0.3.1": "3ef47856b02d53b718a10a5ec2023aa299e07bf5" + }, + "mqtt": { + "1.13.0": "6060916c02efb938491b59b9e9dfec44ec8b2e87" + }, + "mqtt-connection": { + "2.1.1": "7b2e985a74e196619430bebd35da162c34c4e56a" + }, + "mqtt-packet": { + "3.4.7": "be8c267be7f0bf6a2a2d4f6de28307b6e0940e5f" + }, + "ms": { + "0.7.1": "9cd13c03adbff25b65effde7ce864ee952017098", + "0.7.2": "ae25cf2512b3885a1d95d7f037868d8431124765" + }, + "mustache": { + "2.2.1": "2c40ca21c278f53150682bcf9090e41a3339b876" + }, + "nan": { + "2.2.1": "d68693f6b34bb41d66bc68b3a4f9defc79d7149b", + "2.3.5": "822a0dc266290ce4cd3a12282ca3e7e364668a08", + "2.4.0": "fb3c59d45fe4effe215f0b890f8adf6eb32d2232" + }, + "needle": { + "0.10.0": "16a24d63f2a61152eb74cce1d12af85c507577d4", + "0.11.0": "02a71b008eaf7d55ae89fb9fd7685b7b88d7bc29" + }, + "negotiator": { + "0.6.1": "2b327184e8992101177b28563fb5e7102acd0ca9" + }, + "node-red-node-email": { + "0.1.12": "ada28233b92e60907ab53a6edc0bb4c17d27d4f5" + }, + "node-red-node-feedparser": { + "0.1.7": "b0bf8a079d67732bcce019eaf8da1d7936658a7f" + }, + "node-red-node-rbe": { + "0.1.6": "36c22f39c44dd13b5ca9b4e14f05dca001ac5539" + }, + "node-red-node-serialport": { + "0.2.1": "5f1f1d674558be9ed2b782e7c696d80f377e5701" + }, + "node-red-node-twitter": { + "0.1.8": "95cfae2008dccc63542e39e3f08a71b190f9ea56" + }, + "node-uuid": { + "1.4.7": "6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" + }, + "nodemailer": { + "1.11.0": "4e69cb39b03015b1d1ef0c78a815412b9e976f79" + }, + "nodemailer-direct-transport": { + "1.1.0": "a2f78708ee6f16ea0573fc82949d138ff172f624" + }, + "nodemailer-smtp-transport": { + "1.1.0": "e6c37f31885ab3080e7ded3cf528c4ad7e691398" + }, + "nodemailer-wellknown": { + "0.1.10": "586db8101db30cb4438eb546737a41aad0cf13d5" + }, + "nopt": { + "3.0.6": "c6465dbf08abcd4db359317f79ac68a646b28ff9" + }, + "npmlog": { + "2.0.3": "020f99351f0c02e399c674ba256e7c4d3b3dd298" + }, + "nth-check": { + "1.0.1": "9929acdf628fc2c41098deab82ac580cf149aae4" + }, + "oauth": { + "0.9.14": "c5748883a40b53de30ade9cabf2100414b8a0971" + }, + "oauth-sign": { + "0.8.1": "182439bdb91378bf7460e75c64ea43e6448def06", + "0.8.2": "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + }, + "oauth2orize": { + "1.4.0": "e9b9884b9111bff3eb3c797179e47c234d7a3df7" + }, + "object-keys": { + "1.0.11": "c54601778ad560f1142ce0e01bcca8b56d13426d", + "1.0.9": "cabb1202d9a7af29b50edface8094bb46da5ea21" + }, + "object.assign": { + "4.0.4": "b1c9cc044ef1b9fe63606fc141abbb32e14730cc" + }, + "on-finished": { + "2.3.0": "20f1336481b083cd75337992a16971aa2d906947" + }, + "on-headers": { + "1.0.1": "928f5d0f470d49342651ea6794b0857c100693f7" + }, + "once": { + "1.3.3": "b2e261557ce4c314ec8304f3fa82663e4297ca20", + "1.4.0": "583b1aa775961d4b113ac17d9c50baef9dd76bd1" + }, + "optimist": { + "0.6.1": "da3ea74686fa21a19a111c326e90eb15a0196686" + }, + "options": { + "0.0.6": "ec22d312806bb53e731773e7cdaefcf1c643128f" + }, + "parseurl": { + "1.3.1": "c8ab8c9223ba34888aa64a297b28853bec18da56" + }, + "passport": { + "0.3.2": "9dd009f915e8fe095b0124a01b8f82da07510102" + }, + "passport-http-bearer": { + "1.0.1": "147469ea3669e2a84c6167ef99dbb77e1f0098a8" + }, + "passport-oauth2-client-password": { + "0.1.2": "4f378b678b92d16dbbd233a6c706520093e561ba" + }, + "passport-strategy": { + "1.0.0": "b5539aa8fc225a3d1ad179476ddf236b440f52e4" + }, + "path-is-absolute": { + "1.0.0": "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912", + "1.0.1": "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + }, + "path-to-regexp": { + "0.1.7": "df604178005f522f15eb4490e7247a1bfaa67f8c" + }, + "pause": { + "0.0.1": "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" + }, + "pinkie": { + "2.0.4": "72556b80cfa0d48a974e80e77248e80ed4f7f870" + }, + "pinkie-promise": { + "2.0.1": "2135d6dfa7a358c069ac9b178776288228450ffa" + }, + "poplib": { + "0.1.7": "2f4b58b5592972350cd97f482aba68f8e05574bc" + }, + "private": { + "0.1.6": "*" + }, + "process-nextick-args": { + "1.0.6": "0f96b001cea90b12592ce566edb97ec11e69bd05", + "1.0.7": "150e20b756590ad3f91093f25a4f2ad8bff30ba3" + }, + "proxy-addr": { + "1.1.2": "b4cc5f22610d9535824c123aef9d3cf73c40ba37" + }, + "pseudomap": { + "1.0.2": "*" + }, + "pump": { + "1.0.1": "f1f1409fb9bd1085bbdb576b43b84ec4b5eadc1a" + }, + "punycode": { + "1.4.1": "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + }, + "qs": { + "6.1.0": "ec1d1626b24278d99f0fdf4549e524e24eceeb26", + "6.2.0": "3b7848c03c2dece69a9522b0fae8c4126d745f3b", + "6.2.1": "ce03c5ff0935bc1d9d69a9f14cbd18e568d67625", + "6.3.0": "f403b264f23bc01228c74131b407f18d5ea5d442" + }, + "range-parser": { + "1.2.0": "f49be6b487894ddc40dcc94a322f611092e00d5e" + }, + "raw-body": { + "2.1.7": "adfeace2e4fb3098058014d08c072dcc59758774" + }, + "rc": { + "1.1.6": "43651b76b6ae53b5c802f1151fa3fc3b059969c9" + }, + "readable-stream": { + "1.0.34": "125820e34bc842d2f2aaafafe4c2916ee32c157c", + "1.1.13": "f6eef764f514c89e2b9e23146a75ba106756d23e", + "1.1.14": "7cf4c54ef648e3813084c636dd2079e166c081d9", + "2.0.6": "8f90341e68a53ccc928788dacfcd11b36eb9b78e", + "2.1.0": "36f42ea0424eb29a985e4a81d31be2f96e1f2f80", + "2.1.5": "66fa8b720e1438b364681f2ad1a63c618448c9d0" + }, + "recast": { + "0.11.5": "*" + }, + "reduplexer": { + "1.1.0": "7dfed18a679e749c1d7ad36de01acb515f08e140" + }, + "reinterval": { + "1.1.0": "3361ecfa3ca6c18283380dd0bb9546f390f5ece7" + }, + "repeat-string": { + "1.6.1": "8dcae470e1c88abc2d600fff4a776286da75e637" + }, + "request": { + "2.72.0": "0ce3a179512620b10441f14c82e21c12c0ddb4e1", + "2.74.0": "7693ca768bbb0ea5c8ce08c084a45efa05b892ab", + "2.78.0": "e1c8dec346e1c81923b24acdb337f11decabe9cc" + }, + "retry": { + "0.6.1": "fdc90eed943fde11b893554b8cc63d0e899ba918" + }, + "right-align": { + "0.1.3": "61339b722fe6a3515689210d24e14c96148613ef" + }, + "rimraf": { + "2.5.2": "62ba947fa4c0b4363839aefecd4f0fbad6059726", + "2.5.4": "96800093cbf1a0c86bd95b4625467535c29dfa04" + }, + "sax": { + "0.6.1": "563b19c7c1de892e09bfc4f2fc30e3c27f0952b9", + "1.2.1": "7b8e656190b228e81a66aea748480d828cd2d37a" + }, + "semver": { + "5.1.0": "85f2cf8550465c4df000cf7d86f6b054106ab9e5", + "5.3.0": "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + }, + "send": { + "0.14.1": "a954984325392f51532a7760760e459598c89f7a" + }, + "sentiment": { + "1.0.6": "f6096c6271f020f490d58b54a8afd598db8acbb1" + }, + "serialport": { + "2.1.2": "493af176ac59043e7da5f2d7978fa30d1a8cb353" + }, + "serve-static": { + "1.11.1": "d6cce7693505f733c759de57befc1af76c0f0805" + }, + "setprototypeof": { + "1.0.1": "52009b27888c4dc48f591949c0a8275834c1ca7e" + }, + "sf": { + "0.1.7": "806ed032d7225c7fb6394b0bdbfe1ea936fe6d74" + }, + "smtp-connection": { + "1.3.8": "55832c2160cfb3086e1dcd87fd1c19fa61b7f536" + }, + "sntp": { + "1.0.9": "6541184cc90aeea6c6e7b35e2659082443c66198" + }, + "source-map": { + "0.5.4": "2beb18a2ab8abd88320a72178c671f0e4c5def28", + "0.5.6": "75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + }, + "split2": { + "2.1.0": "7382c148cb622c4b28af7c727f9673730b73f474" + }, + "sshpk": { + "1.10.1": "30e1a5d329244974a1af61511339d595af6638b0", + "1.8.1": "6cb6cd073d27fc323207dd414614708f235a4b07" + }, + "statuses": { + "1.3.0": "8e55758cb20e7682c1f4fce8dcab30bf01d1e07a" + }, + "stream-consume": { + "0.1.0": "a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" + }, + "stream-shift": { + "1.0.0": "d5c752825e5367e786f78e18e445ea223a155952" + }, + "string_decoder": { + "0.10.31": "62e203bc41766c6c28c9fc84301dab1c5310fa94" + }, + "stringstream": { + "0.0.5": "4e484cd4de5a0bbbee18e46307710a8a81621878" + }, + "strip-ansi": { + "3.0.1": "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + }, + "strip-json-comments": { + "1.0.4": "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + }, + "supports-color": { + "2.0.0": "535d045ce6b6363fa40117084629995e9df324c7" + }, + "tar": { + "2.2.1": "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + }, + "tar-pack": { + "3.1.3": "611b7e62eb2f27aeda64554f7a7fb48900c7e157" + }, + "through2": { + "0.6.5": "41ab9c67b29d57209071410e1d7a7a968cd3ad48", + "2.0.1": "384e75314d49f32de12eebb8136b8eb6b5d59da9" + }, + "tough-cookie": { + "2.2.2": "c83a1830f4e5ef0b93ef2a3488e724f8de016ac7", + "2.3.2": "f081f76e4c85720e6c37a5faced737150d84072a" + }, + "tunnel-agent": { + "0.4.2": "1104e3f36ac87125c287270067d582d18133bfee", + "0.4.3": "6373db76909fe570e08d73583365ed828a74eeeb" + }, + "tweetnacl": { + "0.13.3": "d628b56f3bcc3d5ae74ba9d4c1a704def5ab4b56", + "0.14.3": "3da382f670f25ded78d7b3d1792119bca0b7132d" + }, + "twitter-ng": { + "0.6.2": "13707115dd04c9bd1f2c646da976589be4d64bc4" + }, + "type-is": { + "1.6.13": "6e83ba7bc30cd33a7bb0b7fb00737a2085bf9d08" + }, + "typedarray": { + "0.0.6": "867ac74e3864187b1d3d47d996a78ec5c8830777" + }, + "uglify-js": { + "2.7.0": "f021e38ba2ca740860f5bd5c695c2a817345f0ec" + }, + "uglify-to-browserify": { + "1.0.2": "6e0924d6bda6b5afe349e39a6d632850a0f882b7" + }, + "uid-number": { + "0.0.6": "0ea10e8035e8eb5b8e4449f06da1c730663baa81" + }, + "uid2": { + "0.0.3": "483126e11774df2f71b8b639dcd799c376162b82" + }, + "ultron": { + "1.0.2": "ace116ab557cd197386a4e88f4685378c8b2e4fa" + }, + "unpipe": { + "1.0.0": "b2bf4ee8514aae6165b4817829d21b2ef49904ec" + }, + "unreachable-branch-transform": { + "0.5.1": "*" + }, + "utf-8-validate": { + "1.2.1": "44cb7c6eead73d6b40448f71f745904357b9f72c" + }, + "utf7": { + "1.0.2": "955f490aae653ba220b9456a0a8776c199360991" + }, + "util-deprecate": { + "1.0.2": "450d4dc9fa70de732762fbd2d4a28981419a0ccf" + }, + "utils-merge": { + "1.0.0": "0294fb922bb9375153541c4f7096231f287c8af8" + }, + "uue": { + "3.0.0": "07af69344defa9851b7b845c1c18110b8264e51e" + }, + "vary": { + "1.1.0": "e1e5affbbd16ae768dd2674394b9ad3022653140" + }, + "verror": { + "1.3.6": "cff5df12946d297d2baaefaa2689e25be01c005c" + }, + "websocket-stream": { + "3.3.0": "69ced776afca68688ed5be73d28511a2c329c8ed" + }, + "when": { + "3.7.7": "aba03fc3bb736d6c88b091d013d8a8e590d84718" + }, + "window-size": { + "0.1.0": "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + }, + "wordwrap": { + "0.0.2": "b79669bb42ecb409f83d583cad52ca17eaa1643f", + "0.0.3": "a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + }, + "wrappy": { + "1.0.1": "1e65969965ccbc2db4548c6b84a6f2c5aedd4739", + "1.0.2": "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + }, + "ws": { + "0.8.1": "6b65273b99193c5f067a4cf5809598f777e3b759", + "1.1.1": "082ddb6c641e85d4bb451f03d52f06eabdb1f018" + }, + "xml2js": { + "0.4.17": "17be93eaae3f3b779359c795b419705a8817e868" + }, + "xmlbuilder": { + "4.2.1": "aa58a3041a066f90eaa16c2f5389ff19f3f461a5" + }, + "xtend": { + "4.0.1": "a5c6d532be656e23db820efb943a1f04998d63af" + }, + "yallist": { + "2.0.0": "*" + }, + "yargs": { + "3.10.0": "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + } +} diff --git a/meta-iot2000-example/recipes-node/node-red/node-red_0.14.6.bb b/meta-iot2000-example/recipes-node/node-red/node-red_0.14.6.bb new file mode 100644 index 00000000..391ccaa8 --- /dev/null +++ b/meta-iot2000-example/recipes-node/node-red/node-red_0.14.6.bb @@ -0,0 +1,1971 @@ +# Recipe created by recipetool +# This is the basis of a recipe and may need further editing in order to be fully functional. +# (Feel free to remove these comments when editing.) +# +# WARNING: the following LICENSE and LIC_FILES_CHKSUM values are best guesses - it is +# your responsibility to verify that the values are complete and correct. +# +# NOTE: multiple licenses have been detected; if that is correct you should separate +# these in the LICENSE value using & if the multiple licenses all apply, or | if there +# is a choice between the multiple licenses. If in doubt, check the accompanying +# documentation to determine which situation is applicable. +LICENSE = "ISC & Unknown & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93 \ + file://public/vendor/ace/LICENSE;md5=794d11c5219c59c9efa2487c2b4066b2 \ + file://node_modules/express/LICENSE;md5=5513c00a5c36cd361da863dd9aa8875d \ + file://node_modules/express/node_modules/serve-static/LICENSE;md5=27b1707520b14d0bc890f4e75cd387b0 \ + file://node_modules/express/node_modules/serve-static/node_modules/parseurl/LICENSE;md5=f2a528765fa86a33fb7f85f3d9a1b5dd \ + file://node_modules/express/node_modules/serve-static/node_modules/encodeurl/LICENSE;md5=272621efa0ff4f18a73221e49ab60654 \ + file://node_modules/express/node_modules/serve-static/node_modules/send/LICENSE;md5=df2b0938eba0709b77ac937e2d552b7a \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/etag/LICENSE;md5=89378960d0c54c30539e50c7a78ce846 \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/on-finished/LICENSE;md5=1b1f7f9cec194121fdf616b971df7a7b \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/on-finished/node_modules/ee-first/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/encodeurl/LICENSE;md5=272621efa0ff4f18a73221e49ab60654 \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/destroy/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/statuses/LICENSE;md5=607209623abfcc77b9098f71a0ef52f9 \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/fresh/LICENSE;md5=abf13d4b06f2210b2fab25b0f9641df7 \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/range-parser/LICENSE;md5=d4246fb961a4f121eef5ffca47f0b010 \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/depd/LICENSE;md5=89378960d0c54c30539e50c7a78ce846 \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/http-errors/LICENSE;md5=607209623abfcc77b9098f71a0ef52f9 \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/http-errors/node_modules/statuses/LICENSE;md5=607209623abfcc77b9098f71a0ef52f9 \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/http-errors/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/http-errors/node_modules/setprototypeof/LICENSE;md5=4846f1626304c2c0f806a539bbc7d54a \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/escape-html/LICENSE;md5=f8746101546eeb9e4f6de64bb8bdf595 \ + file://node_modules/express/node_modules/serve-static/node_modules/send/node_modules/mime/LICENSE;md5=8eab89930e0b484cd991ed4a155f74f7 \ + file://node_modules/express/node_modules/serve-static/node_modules/escape-html/LICENSE;md5=f8746101546eeb9e4f6de64bb8bdf595 \ + file://node_modules/express/node_modules/array-flatten/LICENSE;md5=44088ba57cb871a58add36ce51b8de08 \ + file://node_modules/express/node_modules/cookie/LICENSE;md5=bc85b43b6f963e8ab3f88e63628448ca \ + file://node_modules/express/node_modules/etag/LICENSE;md5=89378960d0c54c30539e50c7a78ce846 \ + file://node_modules/express/node_modules/methods/LICENSE;md5=c16a7dd9f946172f07086576d135d9d3 \ + file://node_modules/express/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/express/node_modules/type-is/LICENSE;md5=0afd201e48c7d095454eed4ac1184e40 \ + file://node_modules/express/node_modules/type-is/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ + file://node_modules/express/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/express/node_modules/type-is/node_modules/media-typer/LICENSE;md5=c6e0ce1e688c5ff16db06b7259e9cd20 \ + file://node_modules/express/node_modules/vary/LICENSE;md5=89378960d0c54c30539e50c7a78ce846 \ + file://node_modules/express/node_modules/parseurl/LICENSE;md5=f2a528765fa86a33fb7f85f3d9a1b5dd \ + file://node_modules/express/node_modules/utils-merge/LICENSE;md5=f405e8bc5b8dd65fdb11cf3669fc209b \ + file://node_modules/express/node_modules/on-finished/LICENSE;md5=1b1f7f9cec194121fdf616b971df7a7b \ + file://node_modules/express/node_modules/on-finished/node_modules/ee-first/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/express/node_modules/encodeurl/LICENSE;md5=272621efa0ff4f18a73221e49ab60654 \ + file://node_modules/express/node_modules/content-disposition/LICENSE;md5=c6e0ce1e688c5ff16db06b7259e9cd20 \ + file://node_modules/express/node_modules/qs/LICENSE;md5=d5c7c6dc45a33a0a9620ed81315672d7 \ + file://node_modules/express/node_modules/merge-descriptors/LICENSE;md5=aaf57ba8c5c9bf256fea7e943991a81a \ + file://node_modules/express/node_modules/send/LICENSE;md5=df2b0938eba0709b77ac937e2d552b7a \ + file://node_modules/express/node_modules/send/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/express/node_modules/send/node_modules/etag/LICENSE;md5=89378960d0c54c30539e50c7a78ce846 \ + file://node_modules/express/node_modules/send/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/express/node_modules/send/node_modules/on-finished/LICENSE;md5=1b1f7f9cec194121fdf616b971df7a7b \ + file://node_modules/express/node_modules/send/node_modules/on-finished/node_modules/ee-first/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/express/node_modules/send/node_modules/encodeurl/LICENSE;md5=272621efa0ff4f18a73221e49ab60654 \ + file://node_modules/express/node_modules/send/node_modules/destroy/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/express/node_modules/send/node_modules/statuses/LICENSE;md5=607209623abfcc77b9098f71a0ef52f9 \ + file://node_modules/express/node_modules/send/node_modules/fresh/LICENSE;md5=abf13d4b06f2210b2fab25b0f9641df7 \ + file://node_modules/express/node_modules/send/node_modules/range-parser/LICENSE;md5=d4246fb961a4f121eef5ffca47f0b010 \ + file://node_modules/express/node_modules/send/node_modules/depd/LICENSE;md5=89378960d0c54c30539e50c7a78ce846 \ + file://node_modules/express/node_modules/send/node_modules/http-errors/LICENSE;md5=607209623abfcc77b9098f71a0ef52f9 \ + file://node_modules/express/node_modules/send/node_modules/http-errors/node_modules/statuses/LICENSE;md5=607209623abfcc77b9098f71a0ef52f9 \ + file://node_modules/express/node_modules/send/node_modules/http-errors/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/express/node_modules/send/node_modules/http-errors/node_modules/setprototypeof/LICENSE;md5=4846f1626304c2c0f806a539bbc7d54a \ + file://node_modules/express/node_modules/send/node_modules/escape-html/LICENSE;md5=f8746101546eeb9e4f6de64bb8bdf595 \ + file://node_modules/express/node_modules/send/node_modules/mime/LICENSE;md5=8eab89930e0b484cd991ed4a155f74f7 \ + file://node_modules/express/node_modules/proxy-addr/LICENSE;md5=6e8686b7b13dd7ac8733645a81842c4a \ + file://node_modules/express/node_modules/proxy-addr/node_modules/ipaddr.js/LICENSE;md5=d9eb6ccfeb0da178937d5a70394647d3 \ + file://node_modules/express/node_modules/proxy-addr/node_modules/forwarded/LICENSE;md5=c6e0ce1e688c5ff16db06b7259e9cd20 \ + file://node_modules/express/node_modules/path-to-regexp/LICENSE;md5=44088ba57cb871a58add36ce51b8de08 \ + file://node_modules/express/node_modules/content-type/LICENSE;md5=f4b767f006864f81a4901347fe4efdab \ + file://node_modules/express/node_modules/finalhandler/LICENSE;md5=5a8c677c8d98669640eac8d362cdd623 \ + file://node_modules/express/node_modules/finalhandler/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/express/node_modules/finalhandler/node_modules/on-finished/LICENSE;md5=1b1f7f9cec194121fdf616b971df7a7b \ + file://node_modules/express/node_modules/finalhandler/node_modules/on-finished/node_modules/ee-first/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/express/node_modules/finalhandler/node_modules/statuses/LICENSE;md5=607209623abfcc77b9098f71a0ef52f9 \ + file://node_modules/express/node_modules/finalhandler/node_modules/unpipe/LICENSE;md5=934ab86a8ab081ea0326add08d550739 \ + file://node_modules/express/node_modules/finalhandler/node_modules/escape-html/LICENSE;md5=f8746101546eeb9e4f6de64bb8bdf595 \ + file://node_modules/express/node_modules/fresh/LICENSE;md5=abf13d4b06f2210b2fab25b0f9641df7 \ + file://node_modules/express/node_modules/range-parser/LICENSE;md5=d4246fb961a4f121eef5ffca47f0b010 \ + file://node_modules/express/node_modules/depd/LICENSE;md5=89378960d0c54c30539e50c7a78ce846 \ + file://node_modules/express/node_modules/escape-html/LICENSE;md5=f8746101546eeb9e4f6de64bb8bdf595 \ + file://node_modules/express/node_modules/accepts/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ + file://node_modules/express/node_modules/accepts/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ + file://node_modules/express/node_modules/accepts/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/express/node_modules/accepts/node_modules/negotiator/LICENSE;md5=6417a862a5e35c17c904d9dda2cbd499 \ + file://node_modules/node-red-node-email/LICENSE;md5=2c0cb74248cfa16e787ab1cf4c16e94e \ + file://node_modules/node-red-node-email/node_modules/mailparser/LICENSE;md5=e42b8189cb0589d6969be378527b49c1 \ + file://node_modules/node-red-node-email/node_modules/mailparser/node_modules/uue/LICENSE;md5=59bca800be693681fca9b88cb0f61452 \ + file://node_modules/node-red-node-email/node_modules/mailparser/node_modules/uue/node_modules/extend/LICENSE;md5=33d9f7a91df276ec16aa941032ee1476 \ + file://node_modules/node-red-node-email/node_modules/mailparser/node_modules/encoding/LICENSE;md5=a9992d70215d97e8b82d289cec0c1ffa \ + file://node_modules/node-red-node-email/node_modules/mailparser/node_modules/encoding/node_modules/iconv-lite/LICENSE;md5=f942263d98f0d75e0e0101884e86261d \ + file://node_modules/node-red-node-email/node_modules/mailparser/node_modules/mimelib/LICENSE;md5=a319a779647a78c7d362a12e19e787ae \ + file://node_modules/node-red-node-email/node_modules/mailparser/node_modules/mimelib/node_modules/encoding/LICENSE;md5=a9992d70215d97e8b82d289cec0c1ffa \ + file://node_modules/node-red-node-email/node_modules/mailparser/node_modules/mimelib/node_modules/encoding/node_modules/iconv-lite/LICENSE;md5=f942263d98f0d75e0e0101884e86261d \ + file://node_modules/node-red-node-email/node_modules/mailparser/node_modules/mimelib/node_modules/addressparser/LICENSE;md5=92df5d1d0a7ed59110062d4b780821f3 \ + file://node_modules/node-red-node-email/node_modules/mailparser/node_modules/mime/LICENSE;md5=8eab89930e0b484cd991ed4a155f74f7 \ + file://node_modules/node-red-node-email/node_modules/poplib/LICENSE;md5=b8a49f71bd6db4e5f60703c99d58e286 \ + file://node_modules/node-red-node-email/node_modules/poplib/node_modules/optimist/LICENSE;md5=b2d989bc186e7f6b418a5fdd5cc0b56b \ + file://node_modules/node-red-node-email/node_modules/poplib/node_modules/optimist/node_modules/minimist/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-email/node_modules/poplib/node_modules/optimist/node_modules/wordwrap/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/LICENSE;md5=dbed3866b24f3f6e1b51f9a78a077e54 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/nodemailer-direct-transport/LICENSE;md5=24115bc5f2621ccccc533e207f5af97d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/nodemailer-direct-transport/node_modules/smtp-connection/LICENSE;md5=8ac9279ebdab473b8b5f0c1a65f5d8a8 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/libmime/LICENSE;md5=8ac9279ebdab473b8b5f0c1a65f5d8a8 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/libmime/node_modules/libqp/LICENSE;md5=24115bc5f2621ccccc533e207f5af97d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/libmime/node_modules/libbase64/LICENSE;md5=24115bc5f2621ccccc533e207f5af97d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/libmime/node_modules/iconv-lite/LICENSE;md5=f942263d98f0d75e0e0101884e86261d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/nodemailer-smtp-transport/LICENSE;md5=24115bc5f2621ccccc533e207f5af97d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/nodemailer-smtp-transport/node_modules/smtp-connection/LICENSE;md5=8ac9279ebdab473b8b5f0c1a65f5d8a8 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/nodemailer-smtp-transport/node_modules/clone/LICENSE;md5=411e33109fa516d190d232100fdc7f8e \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/nodemailer-smtp-transport/node_modules/nodemailer-wellknown/LICENSE;md5=bfdf9f972ae2f31a199a2f1a528d66f1 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/needle/node_modules/debug/LICENSE;md5=ddd815a475e7338b0be7a14d8ee35a99 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/needle/node_modules/debug/node_modules/ms/LICENSE.md;md5=fd56fd5f1860961dfa92d313167c37a6 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/needle/node_modules/iconv-lite/LICENSE;md5=f942263d98f0d75e0e0101884e86261d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/LICENSE;md5=e42b8189cb0589d6969be378527b49c1 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/libmime/LICENSE;md5=8ac9279ebdab473b8b5f0c1a65f5d8a8 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/libmime/node_modules/libqp/LICENSE;md5=24115bc5f2621ccccc533e207f5af97d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/libmime/node_modules/libbase64/LICENSE;md5=24115bc5f2621ccccc533e207f5af97d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/libmime/node_modules/iconv-lite/LICENSE;md5=f942263d98f0d75e0e0101884e86261d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/buildmail/LICENSE;md5=8ac9279ebdab473b8b5f0c1a65f5d8a8 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/buildmail/node_modules/libqp/LICENSE;md5=24115bc5f2621ccccc533e207f5af97d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/buildmail/node_modules/addressparser/LICENSE;md5=92df5d1d0a7ed59110062d4b780821f3 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/buildmail/node_modules/libbase64/LICENSE;md5=24115bc5f2621ccccc533e207f5af97d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/buildmail/node_modules/libmime/LICENSE;md5=8ac9279ebdab473b8b5f0c1a65f5d8a8 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/buildmail/node_modules/libmime/node_modules/libqp/LICENSE;md5=24115bc5f2621ccccc533e207f5af97d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/buildmail/node_modules/libmime/node_modules/libbase64/LICENSE;md5=24115bc5f2621ccccc533e207f5af97d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/buildmail/node_modules/libmime/node_modules/iconv-lite/LICENSE;md5=f942263d98f0d75e0e0101884e86261d \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/buildmail/node_modules/needle/node_modules/debug/LICENSE;md5=ddd815a475e7338b0be7a14d8ee35a99 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/buildmail/node_modules/needle/node_modules/debug/node_modules/ms/LICENSE.md;md5=fd56fd5f1860961dfa92d313167c37a6 \ + file://node_modules/node-red-node-email/node_modules/nodemailer/node_modules/mailcomposer/node_modules/buildmail/node_modules/needle/node_modules/iconv-lite/LICENSE;md5=f942263d98f0d75e0e0101884e86261d \ + file://node_modules/node-red-node-email/node_modules/imap/LICENSE;md5=df3ad145c2acbfc4f246fa834a6675c7 \ + file://node_modules/node-red-node-email/node_modules/imap/node_modules/utf7/LICENSE;md5=1098f48dca90780ac00f1d85997c3f6a \ + file://node_modules/node-red-node-email/node_modules/imap/node_modules/utf7/node_modules/semver/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-email/node_modules/imap/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/node-red-node-email/node_modules/imap/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/node-red-node-email/node_modules/imap/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/node-red-node-email/node_modules/imap/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/cheerio/node_modules/htmlparser2/LICENSE;md5=10e03952c97f225d4229d7524619eb7f \ + file://node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/htmlparser2/node_modules/domhandler/node_modules/domelementtype/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/htmlparser2/node_modules/domutils/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/LICENSE;md5=ba3390a22fe1d127f3522ac8ef1bd1a0 \ + file://node_modules/cheerio/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/node_modules/entities/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/htmlparser2/node_modules/domutils/node_modules/dom-serializer/node_modules/domelementtype/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/htmlparser2/node_modules/domutils/node_modules/domelementtype/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/cheerio/node_modules/htmlparser2/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/cheerio/node_modules/htmlparser2/node_modules/entities/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/htmlparser2/node_modules/domelementtype/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/lodash/LICENSE;md5=f519f8cb155e30cece6b0e75aa6a3a53 \ + file://node_modules/cheerio/node_modules/css-select/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/css-select/node_modules/css-what/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/css-select/node_modules/domutils/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/css-select/node_modules/domutils/node_modules/domelementtype/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/entities/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/dom-serializer/LICENSE;md5=ba3390a22fe1d127f3522ac8ef1bd1a0 \ + file://node_modules/cheerio/node_modules/dom-serializer/node_modules/entities/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/cheerio/node_modules/dom-serializer/node_modules/domelementtype/LICENSE;md5=d5b9cb3bc7f6ffd7bea8661f30447c11 \ + file://node_modules/is-utf8/LICENSE;md5=10d1495ba46609e55e586ab71fa81f45 \ + file://node_modules/node-red-node-feedparser/LICENSE;md5=2c0cb74248cfa16e787ab1cf4c16e94e \ + file://node_modules/node-red-node-feedparser/node_modules/feedparser/LICENSE;md5=d349e375306c8274296c611d9bd9fe11 \ + file://node_modules/node-red-node-feedparser/node_modules/feedparser/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/node-red-node-feedparser/node_modules/feedparser/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/node-red-node-feedparser/node_modules/feedparser/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/node-red-node-feedparser/node_modules/feedparser/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-feedparser/node_modules/feedparser/node_modules/sax/LICENSE-W3C.html;md5=8668c6754c761b67065d514f927fa556 \ + file://node_modules/node-red-node-feedparser/node_modules/feedparser/node_modules/sax/LICENSE;md5=f9827a729b80dc4ccea991290dc88f05 \ + file://node_modules/node-red-node-feedparser/node_modules/request/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/hawk/LICENSE;md5=e027b6d4642f6a1131d030b119fa8f50 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/hawk/node_modules/boom/LICENSE;md5=d5c0c437eeeff35277efeadaec74e821 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/hawk/node_modules/boom/node_modules/hoek/LICENSE;md5=0ae863d44c9a840e5cc04241d8d9c736 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/hawk/node_modules/hoek/LICENSE;md5=0ae863d44c9a840e5cc04241d8d9c736 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/hawk/node_modules/sntp/LICENSE;md5=6b3f1791e9fe721a645d793af56193c6 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/hawk/node_modules/sntp/node_modules/hoek/LICENSE;md5=0ae863d44c9a840e5cc04241d8d9c736 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/hawk/node_modules/cryptiles/LICENSE;md5=6e2f87804ca8061967f7891dfb34f6f0 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/hawk/node_modules/cryptiles/node_modules/boom/LICENSE;md5=d5c0c437eeeff35277efeadaec74e821 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/hawk/node_modules/cryptiles/node_modules/boom/node_modules/hoek/LICENSE;md5=0ae863d44c9a840e5cc04241d8d9c736 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/is-typedarray/LICENSE.md;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/json-stringify-safe/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/bl/LICENSE.md;md5=7489efd5cf7c4575f9898b7eab7aeeb0 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/bl/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/process-nextick-args/license.md;md5=216769dac98a78ec088ee7cc6fad1dfa \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/bl/node_modules/readable-stream/node_modules/util-deprecate/LICENSE;md5=b7c99ef4b0f3ad9911a52219947f8cf0 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/combined-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/aws4/LICENSE;md5=ff6f181928a91d8631d565516b4db3cb \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/extend/LICENSE;md5=33d9f7a91df276ec16aa941032ee1476 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/stringstream/LICENSE.txt;md5=3b3d0996fc07ae2d89c4659b9ffcbe2e \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/isstream/LICENSE.md;md5=1798150b9d70250c42b55b3530e6af2b \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/tunnel-agent/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/node-uuid/LICENSE.md;md5=465a37064da7d113df228e930a1cfdcd \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/forever-agent/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/caseless/LICENSE;md5=e9dadf023ba6ebd98e3e0acb6e2470e3 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/qs/LICENSE;md5=d5c7c6dc45a33a0a9620ed81315672d7 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/tough-cookie/LICENSE;md5=ceb9c658d7a5d62bee6628c46832168e \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/tough-cookie/node_modules/punycode/LICENSE-MIT.txt;md5=ee9bd8b835cfcd512dd644540dd96987 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/form-data/License;md5=7aa505292e2636a9e59d4d3f258f4819 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/form-data/node_modules/combined-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/form-data/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/form-data/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/form-data/node_modules/async/LICENSE;md5=69e3a003f65943104a65989b5861e66e \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/form-data/node_modules/async/node_modules/lodash/LICENSE;md5=8f10c81975f996c3ba5b424884b4af96 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/jsprim/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/node_modules/extsprintf/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/bcrypt-pbkdf/node_modules/tweetnacl/COPYING.txt;md5=46f67a23fdd589f2f363fa861830f359 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/LICENSE;md5=5ce2f42143c298495637e28e40cd5462 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/LICENSE;md5=5e6d2cd78a8664b38651e01b76a2323a \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/LICENSE;md5=0d289b6d63cbcc18e4b2af9a5bd28b54 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/lib/LICENSE-jsbn;md5=32052d48bacabd1c02e56c6889082a27 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/COPYING.txt;md5=46f67a23fdd589f2f363fa861830f359 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/aws-sign2/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/oauth-sign/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/LICENSE;md5=bfa81591facc9224e4c7451c8dc12958 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/license;md5=be72c3ad86c1c4e9578a1945b082b17d \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/node_modules/pinkie/license;md5=be72c3ad86c1c4e9578a1945b082b17d \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/LICENCE;md5=96bcdf84e670aafacac9e094bce29ac9 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/LICENSE.md;md5=6f8a932f950cc1ae4cff952b7ef5abd6 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/LICENSE;md5=34aed54d1454553d81a843e946b173a0 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/commander/LICENSE;md5=25851d4d10d6611a12d5571dab945a00 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/LICENSE;md5=b0270ddb7ee6643eee76e80113234806 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/chalk/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/passport/LICENSE;md5=7daa135d870fa6623646ce9a3f5cb6bb \ + file://node_modules/passport/node_modules/passport-strategy/LICENSE;md5=f694b9c022a5bf0f2c3976a047fed39c \ + file://node_modules/raw-body/LICENSE;md5=c970d30155ebbdb1903e6de8c0666e18 \ + file://node_modules/raw-body/node_modules/unpipe/LICENSE;md5=934ab86a8ab081ea0326add08d550739 \ + file://node_modules/raw-body/node_modules/bytes/LICENSE;md5=013e95467eddb048f19a6f5b42820f86 \ + file://node_modules/raw-body/node_modules/iconv-lite/LICENSE;md5=f942263d98f0d75e0e0101884e86261d \ + file://node_modules/semver/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/uglify-js/LICENSE;md5=4677f24cba62224b999bcb8da6e05fb4 \ + file://node_modules/uglify-js/node_modules/source-map/LICENSE;md5=b1ca6dbc0075d56cbd9931a75566cd44 \ + file://node_modules/uglify-js/node_modules/uglify-to-browserify/LICENSE;md5=10d1d4024d61361102888126d4347f7b \ + file://node_modules/uglify-js/node_modules/yargs/LICENSE;md5=b2d989bc186e7f6b418a5fdd5cc0b56b \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/LICENSE.txt;md5=83623193d3051ca8068a89a455c699ca \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/LICENSE;md5=e060235353cb686ae1695ec7db63cfbc \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/lazy-cache/LICENSE;md5=a0bd3ad96ad6f399ce73b75ce8332105 \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/LICENSE;md5=e060235353cb686ae1695ec7db63cfbc \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/kind-of/LICENSE;md5=fad3c8b9c04b365012f3d6821f2dda61 \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/kind-of/node_modules/is-buffer/LICENSE;md5=badd5e91c737e7ffdf10b40c1f907761 \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/longest/LICENSE;md5=360e60c9b7aa16428ee600ff20935e1f \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/center-align/node_modules/align-text/node_modules/repeat-string/LICENSE;md5=fad3c8b9c04b365012f3d6821f2dda61 \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/LICENSE;md5=e060235353cb686ae1695ec7db63cfbc \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/LICENSE;md5=e060235353cb686ae1695ec7db63cfbc \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/kind-of/LICENSE;md5=fad3c8b9c04b365012f3d6821f2dda61 \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/kind-of/node_modules/is-buffer/LICENSE;md5=badd5e91c737e7ffdf10b40c1f907761 \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/longest/LICENSE;md5=360e60c9b7aa16428ee600ff20935e1f \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/repeat-string/LICENSE;md5=fad3c8b9c04b365012f3d6821f2dda61 \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/camelcase/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/decamelize/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/uglify-js/node_modules/yargs/node_modules/window-size/LICENSE-MIT;md5=356865268599668702955e0728242b7e \ + file://node_modules/uglify-js/node_modules/async/LICENSE;md5=64a378b2b01424fe22d54bc626175994 \ + file://node_modules/fs-extra/LICENSE;md5=e3f4c24990b451449e8a23e77609a1b5 \ + file://node_modules/fs-extra/node_modules/rimraf/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/fs-extra/node_modules/rimraf/node_modules/glob/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/LICENSE;md5=90a3ca01a5efed8b813a81c6c8fa2e63 \ + file://node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md;md5=7fa99ddc3424107350ca6e9a24552085 \ + file://node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/fs-extra/node_modules/rimraf/node_modules/glob/node_modules/fs.realpath/LICENSE;md5=062470525c8e380f8567f665ef554d11 \ + file://node_modules/fs-extra/node_modules/path-is-absolute/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/fs-extra/node_modules/klaw/LICENSE;md5=697a7a0c34115889f2e13e78c7d0bc9b \ + file://node_modules/fs-extra/node_modules/klaw/node_modules/graceful-fs/LICENSE;md5=fd63805fd8e3797063b247781e5ee6e4 \ + file://node_modules/fs-extra/node_modules/graceful-fs/LICENSE;md5=fd63805fd8e3797063b247781e5ee6e4 \ + file://node_modules/fs-extra/node_modules/jsonfile/LICENSE;md5=423f377ade95936f6fe009b1c137bfdb \ + file://node_modules/fs-extra/node_modules/jsonfile/node_modules/graceful-fs/LICENSE;md5=fd63805fd8e3797063b247781e5ee6e4 \ + file://node_modules/passport-oauth2-client-password/LICENSE;md5=95ca2874231d1b4d06ca94c35aa604f7 \ + file://node_modules/passport-oauth2-client-password/node_modules/passport-strategy/LICENSE;md5=f694b9c022a5bf0f2c3976a047fed39c \ + file://node_modules/bcrypt/LICENSE;md5=4665b5424ab734549385bae891f8d35d \ + file://node_modules/bcrypt/node_modules/nan/LICENSE.md;md5=365dd94f3b619ca5566e5fb51f32c0e6 \ + file://node_modules/xml2js/LICENSE;md5=d9fc599c8d9e6f8665063862aac66dfc \ + file://node_modules/xml2js/node_modules/xmlbuilder/LICENSE;md5=eb65a7137aed46eac98ceb8cb8b057a1 \ + file://node_modules/xml2js/node_modules/xmlbuilder/node_modules/lodash/LICENSE;md5=8f10c81975f996c3ba5b424884b4af96 \ + file://node_modules/xml2js/node_modules/sax/LICENSE-W3C.html;md5=8668c6754c761b67065d514f927fa556 \ + file://node_modules/xml2js/node_modules/sax/LICENSE;md5=326d5674181c4bb210e424772c60fa80 \ + file://node_modules/follow-redirects/node_modules/debug/LICENSE;md5=ddd815a475e7338b0be7a14d8ee35a99 \ + file://node_modules/follow-redirects/node_modules/debug/node_modules/ms/LICENSE.md;md5=fd56fd5f1860961dfa92d313167c37a6 \ + file://node_modules/fs.notify/node_modules/async/LICENSE;md5=64a378b2b01424fe22d54bc626175994 \ + file://node_modules/fs.notify/node_modules/retry/License;md5=c40fe50d231414ad1bc68e8965e7e95e \ + file://node_modules/clone/LICENSE;md5=411e33109fa516d190d232100fdc7f8e \ + file://node_modules/passport-http-bearer/LICENSE;md5=f694b9c022a5bf0f2c3976a047fed39c \ + file://node_modules/passport-http-bearer/node_modules/passport-strategy/LICENSE;md5=f694b9c022a5bf0f2c3976a047fed39c \ + file://node_modules/sentiment/LICENSE.md;md5=48971111a3b92b39f389249f034c3b8b \ + file://node_modules/sentiment/node_modules/lodash.assign/LICENSE;md5=3229b60739f3d575a1e683f9d74102ea \ + file://node_modules/sentiment/node_modules/lodash.assign/node_modules/lodash.keys/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ + file://node_modules/sentiment/node_modules/lodash.assign/node_modules/lodash.rest/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ + file://node_modules/cron/node_modules/moment-timezone/LICENSE;md5=a4bc4f89c63be47b29495aa61d6525bc \ + file://node_modules/cron/node_modules/moment-timezone/node_modules/moment/LICENSE;md5=f8a4ce497a1cfb9cfe47a1d983f3f321 \ + file://node_modules/i18next/license;md5=b352c50e7426c74d9e3ff402e516912b \ + file://node_modules/i18next/node_modules/cookies/LICENSE.txt;md5=53aa5fd667a930886a2fee6fa7c97de8 \ + file://node_modules/i18next/node_modules/cookies/node_modules/keygrip/LICENSE.txt;md5=1860af38bb0bf0190d08c9ddf3d2165f \ + file://node_modules/i18next/node_modules/cookies/node_modules/depd/LICENSE;md5=89378960d0c54c30539e50c7a78ce846 \ + file://node_modules/i18next/node_modules/i18next-client/license;md5=d79f2ef6f5765f02c4b89fb58dda7352 \ + file://node_modules/mqtt/LICENSE.md;md5=a76320d876562ab514061e70044b74b7 \ + file://node_modules/mqtt/node_modules/split2/LICENSE;md5=00d39b4bd8f13d0a3d8d19d9dfa6a97a \ + file://node_modules/mqtt/node_modules/split2/node_modules/through2/LICENSE;md5=f3827423e10328147d44783718699586 \ + file://node_modules/mqtt/node_modules/split2/node_modules/through2/node_modules/xtend/LICENCE;md5=96bcdf84e670aafacac9e094bce29ac9 \ + file://node_modules/mqtt/node_modules/split2/node_modules/through2/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/mqtt/node_modules/split2/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/mqtt/node_modules/split2/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/mqtt/node_modules/split2/node_modules/through2/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/split2/node_modules/through2/node_modules/readable-stream/node_modules/process-nextick-args/license.md;md5=216769dac98a78ec088ee7cc6fad1dfa \ + file://node_modules/mqtt/node_modules/split2/node_modules/through2/node_modules/readable-stream/node_modules/util-deprecate/LICENSE;md5=b7c99ef4b0f3ad9911a52219947f8cf0 \ + file://node_modules/mqtt/node_modules/xtend/LICENCE;md5=96bcdf84e670aafacac9e094bce29ac9 \ + file://node_modules/mqtt/node_modules/pump/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/mqtt/node_modules/pump/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/mqtt/node_modules/pump/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/mqtt/node_modules/pump/node_modules/end-of-stream/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/mqtt/node_modules/pump/node_modules/end-of-stream/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/mqtt/node_modules/pump/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/mqtt/node_modules/reinterval/LICENSE;md5=c65ef22a386436c433298ca42418c200 \ + file://node_modules/mqtt/node_modules/concat-stream/LICENSE;md5=3ad90c134f824ddfcea611ee1fa567a8 \ + file://node_modules/mqtt/node_modules/concat-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/concat-stream/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/mqtt/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/mqtt/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/mqtt/node_modules/concat-stream/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/license.md;md5=216769dac98a78ec088ee7cc6fad1dfa \ + file://node_modules/mqtt/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/LICENSE;md5=b7c99ef4b0f3ad9911a52219947f8cf0 \ + file://node_modules/mqtt/node_modules/concat-stream/node_modules/typedarray/LICENSE;md5=6085b70b74c7dcf7df4e955725e3153d \ + file://node_modules/mqtt/node_modules/commist/LICENSE;md5=3f047b8c72633e56a5d2bddc7feaa719 \ + file://node_modules/mqtt/node_modules/commist/node_modules/minimist/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/mqtt/node_modules/commist/node_modules/leven/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/mqtt/node_modules/websocket-stream/LICENSE;md5=17c1dd792579df06dfb25f64c81968ec \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/xtend/LICENCE;md5=96bcdf84e670aafacac9e094bce29ac9 \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/duplexify/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/duplexify/node_modules/stream-shift/LICENSE;md5=42014010547e55bd3bcac2fec8c45624 \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/duplexify/node_modules/end-of-stream/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/duplexify/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/duplexify/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/duplexify/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/duplexify/node_modules/readable-stream/node_modules/buffer-shims/license.md;md5=e04ef9ec24d382b7576c997066a44835 \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/duplexify/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/duplexify/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/duplexify/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/duplexify/node_modules/readable-stream/node_modules/process-nextick-args/license.md;md5=216769dac98a78ec088ee7cc6fad1dfa \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/duplexify/node_modules/readable-stream/node_modules/util-deprecate/LICENSE;md5=b7c99ef4b0f3ad9911a52219947f8cf0 \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/through2/LICENSE;md5=f3827423e10328147d44783718699586 \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/through2/node_modules/xtend/LICENCE;md5=96bcdf84e670aafacac9e094bce29ac9 \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/through2/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/through2/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/through2/node_modules/readable-stream/node_modules/process-nextick-args/license.md;md5=216769dac98a78ec088ee7cc6fad1dfa \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/through2/node_modules/readable-stream/node_modules/util-deprecate/LICENSE;md5=b7c99ef4b0f3ad9911a52219947f8cf0 \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/websocket-stream/node_modules/ws/node_modules/ultron/LICENSE;md5=4310a14e1d911cc6e4b5a34dbcbeaddd \ + file://node_modules/mqtt/node_modules/minimist/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/mqtt/node_modules/end-of-stream/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/mqtt/node_modules/end-of-stream/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/mqtt/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/mqtt/node_modules/mqtt-packet/LICENSE.md;md5=e1fb063b09c4d884d11fbc4c93d5c174 \ + file://node_modules/mqtt/node_modules/mqtt-packet/node_modules/bl/LICENSE.md;md5=7489efd5cf7c4575f9898b7eab7aeeb0 \ + file://node_modules/mqtt/node_modules/mqtt-packet/node_modules/bl/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/mqtt/node_modules/mqtt-packet/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/mqtt/node_modules/mqtt-packet/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/mqtt/node_modules/mqtt-packet/node_modules/bl/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/mqtt-packet/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/mqtt/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/mqtt/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/mqtt/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/mqtt-connection/LICENSE.md;md5=501ed3e73807d871c7c35db8dfcca424 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/mqtt-packet/LICENSE.md;md5=e1fb063b09c4d884d11fbc4c93d5c174 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/mqtt-packet/node_modules/bl/LICENSE.md;md5=7489efd5cf7c4575f9898b7eab7aeeb0 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/mqtt-packet/node_modules/bl/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/mqtt-packet/node_modules/bl/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/mqtt-packet/node_modules/bl/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/mqtt-packet/node_modules/bl/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/mqtt-packet/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/through2/LICENSE;md5=f3827423e10328147d44783718699586 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/through2/node_modules/xtend/LICENCE;md5=96bcdf84e670aafacac9e094bce29ac9 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/through2/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/through2/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/through2/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/through2/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/reduplexer/LICENSE;md5=da3df6fe96c2c2af06d32a62ad7aefa6 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/reduplexer/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/reduplexer/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/reduplexer/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/reduplexer/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/mqtt/node_modules/mqtt-connection/node_modules/reduplexer/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/help-me/LICENSE;md5=6c5e18034ed4abefcb9ac97254596680 \ + file://node_modules/mqtt/node_modules/help-me/node_modules/xtend/LICENCE;md5=96bcdf84e670aafacac9e094bce29ac9 \ + file://node_modules/mqtt/node_modules/help-me/node_modules/pump/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/mqtt/node_modules/help-me/node_modules/pump/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/mqtt/node_modules/help-me/node_modules/pump/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/mqtt/node_modules/help-me/node_modules/pump/node_modules/end-of-stream/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/mqtt/node_modules/help-me/node_modules/pump/node_modules/end-of-stream/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/mqtt/node_modules/help-me/node_modules/pump/node_modules/end-of-stream/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/mqtt/node_modules/help-me/node_modules/concat-stream/LICENSE;md5=3ad90c134f824ddfcea611ee1fa567a8 \ + file://node_modules/mqtt/node_modules/help-me/node_modules/concat-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/help-me/node_modules/concat-stream/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/mqtt/node_modules/help-me/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/mqtt/node_modules/help-me/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/mqtt/node_modules/help-me/node_modules/concat-stream/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/mqtt/node_modules/help-me/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/license.md;md5=216769dac98a78ec088ee7cc6fad1dfa \ + file://node_modules/mqtt/node_modules/help-me/node_modules/concat-stream/node_modules/readable-stream/node_modules/util-deprecate/LICENSE;md5=b7c99ef4b0f3ad9911a52219947f8cf0 \ + file://node_modules/mqtt/node_modules/help-me/node_modules/concat-stream/node_modules/typedarray/LICENSE;md5=6085b70b74c7dcf7df4e955725e3153d \ + file://node_modules/mqtt/node_modules/help-me/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/mqtt/node_modules/help-me/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/mqtt/node_modules/help-me/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/mqtt/node_modules/help-me/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/on-headers/LICENSE;md5=c6e0ce1e688c5ff16db06b7259e9cd20 \ + file://node_modules/node-red-node-rbe/LICENSE;md5=2c0cb74248cfa16e787ab1cf4c16e94e \ + file://node_modules/when/LICENSE.txt;md5=fc543630b85dc079e12b1e812ede0d3a \ + file://node_modules/cookie-parser/LICENSE;md5=720bd7b9472a2297cd6820c73c71cf3e \ + file://node_modules/cookie-parser/node_modules/cookie/LICENSE;md5=bc85b43b6f963e8ab3f88e63628448ca \ + file://node_modules/oauth2orize/LICENSE;md5=a39b08d52a8e25a6791d6102a5657aa8 \ + file://node_modules/oauth2orize/node_modules/debug/LICENSE;md5=ddd815a475e7338b0be7a14d8ee35a99 \ + file://node_modules/oauth2orize/node_modules/debug/node_modules/ms/LICENSE.md;md5=fd56fd5f1860961dfa92d313167c37a6 \ + file://node_modules/oauth2orize/node_modules/utils-merge/LICENSE;md5=f405e8bc5b8dd65fdb11cf3669fc209b \ + file://node_modules/oauth2orize/node_modules/uid2/LICENSE;md5=dd54d0741106ff4193bcecb833f6e350 \ + file://node_modules/media-typer/LICENSE;md5=c6e0ce1e688c5ff16db06b7259e9cd20 \ + file://node_modules/node-red-node-twitter/LICENSE;md5=2c0cb74248cfa16e787ab1cf4c16e94e \ + file://node_modules/node-red-node-twitter/node_modules/twitter-ng/LICENSE;md5=cac5284e7ebec9e0d4115690b5541c53 \ + file://node_modules/node-red-node-twitter/node_modules/twitter-ng/node_modules/oauth/LICENSE;md5=eb77dec1db99ddcb43808fd5a490c035 \ + file://node_modules/node-red-node-twitter/node_modules/oauth/LICENSE;md5=eb77dec1db99ddcb43808fd5a490c035 \ + file://node_modules/node-red-node-twitter/node_modules/request/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/hawk/LICENSE;md5=e027b6d4642f6a1131d030b119fa8f50 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/hawk/node_modules/boom/LICENSE;md5=d5c0c437eeeff35277efeadaec74e821 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/hawk/node_modules/boom/node_modules/hoek/LICENSE;md5=0ae863d44c9a840e5cc04241d8d9c736 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/hawk/node_modules/hoek/LICENSE;md5=0ae863d44c9a840e5cc04241d8d9c736 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/hawk/node_modules/sntp/LICENSE;md5=6b3f1791e9fe721a645d793af56193c6 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/hawk/node_modules/sntp/node_modules/hoek/LICENSE;md5=0ae863d44c9a840e5cc04241d8d9c736 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/hawk/node_modules/cryptiles/LICENSE;md5=6e2f87804ca8061967f7891dfb34f6f0 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/hawk/node_modules/cryptiles/node_modules/boom/LICENSE;md5=d5c0c437eeeff35277efeadaec74e821 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/hawk/node_modules/cryptiles/node_modules/boom/node_modules/hoek/LICENSE;md5=0ae863d44c9a840e5cc04241d8d9c736 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/is-typedarray/LICENSE.md;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/json-stringify-safe/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/combined-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/aws4/LICENSE;md5=ff6f181928a91d8631d565516b4db3cb \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/extend/LICENSE;md5=33d9f7a91df276ec16aa941032ee1476 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/stringstream/LICENSE.txt;md5=3b3d0996fc07ae2d89c4659b9ffcbe2e \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/isstream/LICENSE.md;md5=1798150b9d70250c42b55b3530e6af2b \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/tunnel-agent/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/node-uuid/LICENSE.md;md5=465a37064da7d113df228e930a1cfdcd \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/forever-agent/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/caseless/LICENSE;md5=e9dadf023ba6ebd98e3e0acb6e2470e3 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/qs/LICENSE;md5=d5c7c6dc45a33a0a9620ed81315672d7 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/tough-cookie/LICENSE;md5=ceb9c658d7a5d62bee6628c46832168e \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/tough-cookie/node_modules/punycode/LICENSE-MIT.txt;md5=ee9bd8b835cfcd512dd644540dd96987 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/form-data/License;md5=7aa505292e2636a9e59d4d3f258f4819 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/form-data/node_modules/combined-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/form-data/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/form-data/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/form-data/node_modules/asynckit/LICENSE;md5=177bc287fb9558bf3ea50b440c1c86ff \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/jsprim/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/node_modules/extsprintf/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/bcrypt-pbkdf/node_modules/tweetnacl/COPYING.txt;md5=46f67a23fdd589f2f363fa861830f359 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/LICENSE;md5=5ce2f42143c298495637e28e40cd5462 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/LICENSE;md5=5e6d2cd78a8664b38651e01b76a2323a \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/LICENSE;md5=0d289b6d63cbcc18e4b2af9a5bd28b54 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/lib/LICENSE-jsbn;md5=32052d48bacabd1c02e56c6889082a27 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/COPYING.txt;md5=46f67a23fdd589f2f363fa861830f359 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/aws-sign2/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/oauth-sign/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/LICENSE;md5=bfa81591facc9224e4c7451c8dc12958 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/license;md5=be72c3ad86c1c4e9578a1945b082b17d \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/node_modules/pinkie/license;md5=be72c3ad86c1c4e9578a1945b082b17d \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/LICENCE;md5=96bcdf84e670aafacac9e094bce29ac9 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/LICENSE.md;md5=6f8a932f950cc1ae4cff952b7ef5abd6 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/LICENSE;md5=34aed54d1454553d81a843e946b173a0 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/commander/LICENSE;md5=25851d4d10d6611a12d5571dab945a00 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/LICENSE;md5=b0270ddb7ee6643eee76e80113234806 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/chalk/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/bcryptjs/LICENSE;md5=d99a4f4253fea793a1256aef626aa6e5 \ + file://node_modules/cors/LICENSE;md5=43b5353b7cba327feed269fae6433cc9 \ + file://node_modules/cors/node_modules/vary/LICENSE;md5=89378960d0c54c30539e50c7a78ce846 \ + file://node_modules/nopt/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/nopt/node_modules/abbrev/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/ws/node_modules/ultron/LICENSE;md5=4310a14e1d911cc6e4b5a34dbcbeaddd \ + file://node_modules/ws/node_modules/utf-8-validate/node_modules/nan/LICENSE.md;md5=365dd94f3b619ca5566e5fb51f32c0e6 \ + file://node_modules/ws/node_modules/bufferutil/node_modules/nan/LICENSE.md;md5=365dd94f3b619ca5566e5fb51f32c0e6 \ + file://node_modules/node-red-node-serialport/LICENSE;md5=2ee41112a44fe7014dce33e26468ba93 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/LICENSE;md5=ff2442a554fd28ad7d07322f297c2f7d \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/hawk/LICENSE;md5=e027b6d4642f6a1131d030b119fa8f50 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/is-typedarray/LICENSE.md;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/json-stringify-safe/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/inflight/LICENSE;md5=90a3ca01a5efed8b813a81c6c8fa2e63 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/bl/LICENSE.md;md5=7489efd5cf7c4575f9898b7eab7aeeb0 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/bl/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/combined-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/rimraf/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/source-map/LICENSE;md5=b1ca6dbc0075d56cbd9931a75566cd44 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/xtend/LICENCE;md5=96bcdf84e670aafacac9e094bce29ac9 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/debug/LICENSE;md5=ddd815a475e7338b0be7a14d8ee35a99 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/debug/node_modules/ms/LICENSE.md;md5=fd56fd5f1860961dfa92d313167c37a6 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/npmlog/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/aws4/LICENSE;md5=ff6f181928a91d8631d565516b4db3cb \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/has-unicode/LICENSE;md5=2bab5b1c26e9c44fc4e489bb98cfb196 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/jsprim/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/private/LICENSE;md5=c8be02723cb32073e68df49e73ab36b3 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/pinkie-promise/license;md5=be72c3ad86c1c4e9578a1945b082b17d \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/extend/LICENSE;md5=33d9f7a91df276ec16aa941032ee1476 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/lodash.tostring/LICENSE;md5=fe563f0ce45a88395a73e7dc46f5339e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/stringstream/LICENSE.txt;md5=3b3d0996fc07ae2d89c4659b9ffcbe2e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/isstream/LICENSE.md;md5=1798150b9d70250c42b55b3530e6af2b \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/delayed-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/tunnel-agent/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/ast-types/LICENSE;md5=446729a9826c1d80e95dab50c7d30639 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/lodash.padend/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-uuid/LICENSE.md;md5=465a37064da7d113df228e930a1cfdcd \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/lru-cache/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/path-is-absolute/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/is-property/LICENSE;md5=34aed54d1454553d81a843e946b173a0 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/balanced-match/LICENSE.md;md5=7fa99ddc3424107350ca6e9a24552085 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/LICENSE;md5=7e13c3cf883a44ebcc74a8f568c0f6fb \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/inflight/LICENSE;md5=90a3ca01a5efed8b813a81c6c8fa2e63 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/minimatch/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md;md5=7fa99ddc3424107350ca6e9a24552085 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/fs.realpath/LICENSE;md5=062470525c8e380f8567f665ef554d11 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/LICENSE;md5=43abbc6f9093aea69560715033788727 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/LICENSE;md5=9d215c9223fbef14a4642cc450e7ed4b \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/node_modules/string-width/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/node_modules/string-width/node_modules/code-point-at/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/node_modules/string-width/node_modules/is-fullwidth-code-point/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/node_modules/string-width/node_modules/strip-ansi/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/node_modules/string-width/node_modules/strip-ansi/node_modules/ansi-regex/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/LICENSE;md5=2bab5b1c26e9c44fc4e489bb98cfb196 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/strip-ansi/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/strip-ansi/node_modules/ansi-regex/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/LICENSE.txt;md5=e29e20260a1c78dba16a233048565cde \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/console-control-strings/LICENSE;md5=43abbc6f9093aea69560715033788727 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/aproba/LICENSE;md5=9d215c9223fbef14a4642cc450e7ed4b \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/strip-ansi/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/strip-ansi/node_modules/ansi-regex/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/set-blocking/LICENSE.txt;md5=8fd106383180f7bbb8f534414fdf7d35 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/console-control-strings/LICENSE;md5=43abbc6f9093aea69560715033788727 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/LICENSE;md5=039a23da29f56411e6d75d7b7bc9de13 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/buffer-shims/license.md;md5=e04ef9ec24d382b7576c997066a44835 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/process-nextick-args/license.md;md5=216769dac98a78ec088ee7cc6fad1dfa \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/util-deprecate/LICENSE;md5=b7c99ef4b0f3ad9911a52219947f8cf0 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/License;md5=039225978c07bc42e8c0ef2f72b81c09 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/semver/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/LICENSE;md5=34c65f5b9b91f31827910d3b54bd6497 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/block-stream/LICENCE;md5=c695aba12d799c74e770d90e1c5d59aa \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/block-stream/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/block-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/LICENSE;md5=90a3ca01a5efed8b813a81c6c8fa2e63 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/minimatch/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md;md5=7fa99ddc3424107350ca6e9a24552085 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/fs.realpath/LICENSE;md5=062470525c8e380f8567f665ef554d11 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/graceful-fs/LICENSE;md5=fd63805fd8e3797063b247781e5ee6e4 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/mkdirp/LICENSE;md5=b2d989bc186e7f6b418a5fdd5cc0b56b \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar/node_modules/fstream/node_modules/mkdirp/node_modules/minimist/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rc/LICENSE.BSD;md5=e7a2a325a0069e82aff675bbf74464a0 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rc/LICENSE.MIT;md5=e0f70a42adf526e6f5e605a94d98a420 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rc/LICENSE.APACHE2;md5=ffcf739dca268cb0f20336d6c1a038f1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rc/node_modules/minimist/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rc/node_modules/ini/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rc/node_modules/strip-json-comments/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/rc/node_modules/deep-extend/LICENSE;md5=74959162613f2777f3ef55bdb8b74c89 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/mkdirp/LICENSE;md5=b2d989bc186e7f6b418a5fdd5cc0b56b \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/mkdirp/node_modules/minimist/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk/LICENSE;md5=e027b6d4642f6a1131d030b119fa8f50 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk/node_modules/boom/LICENSE;md5=d5c0c437eeeff35277efeadaec74e821 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk/node_modules/boom/node_modules/hoek/LICENSE;md5=0ae863d44c9a840e5cc04241d8d9c736 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk/node_modules/hoek/LICENSE;md5=0ae863d44c9a840e5cc04241d8d9c736 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk/node_modules/sntp/LICENSE;md5=6b3f1791e9fe721a645d793af56193c6 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk/node_modules/sntp/node_modules/hoek/LICENSE;md5=0ae863d44c9a840e5cc04241d8d9c736 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk/node_modules/cryptiles/LICENSE;md5=6e2f87804ca8061967f7891dfb34f6f0 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk/node_modules/cryptiles/node_modules/boom/LICENSE;md5=d5c0c437eeeff35277efeadaec74e821 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/hawk/node_modules/cryptiles/node_modules/boom/node_modules/hoek/LICENSE;md5=0ae863d44c9a840e5cc04241d8d9c736 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/is-typedarray/LICENSE.md;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/json-stringify-safe/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/combined-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/combined-stream/node_modules/delayed-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/aws4/LICENSE;md5=ff6f181928a91d8631d565516b4db3cb \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/extend/LICENSE;md5=33d9f7a91df276ec16aa941032ee1476 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/stringstream/LICENSE.txt;md5=3b3d0996fc07ae2d89c4659b9ffcbe2e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/isstream/LICENSE.md;md5=1798150b9d70250c42b55b3530e6af2b \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/tunnel-agent/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/node-uuid/LICENSE.md;md5=465a37064da7d113df228e930a1cfdcd \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/forever-agent/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/caseless/LICENSE;md5=e9dadf023ba6ebd98e3e0acb6e2470e3 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/qs/LICENSE;md5=d5c7c6dc45a33a0a9620ed81315672d7 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/tough-cookie/LICENSE;md5=ceb9c658d7a5d62bee6628c46832168e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/tough-cookie/node_modules/punycode/LICENSE-MIT.txt;md5=ee9bd8b835cfcd512dd644540dd96987 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/form-data/License;md5=7aa505292e2636a9e59d4d3f258f4819 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/License;md5=5270b4ddb6700d0a820e6d066744589c \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/form-data/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/form-data/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/form-data/node_modules/asynckit/LICENSE;md5=177bc287fb9558bf3ea50b440c1c86ff \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/jsprim/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/verror/node_modules/extsprintf/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/bcrypt-pbkdf/node_modules/tweetnacl/COPYING.txt;md5=46f67a23fdd589f2f363fa861830f359 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/LICENSE;md5=5ce2f42143c298495637e28e40cd5462 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/LICENSE;md5=5e6d2cd78a8664b38651e01b76a2323a \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/LICENSE;md5=0d289b6d63cbcc18e4b2af9a5bd28b54 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/ecc-jsbn/lib/LICENSE-jsbn;md5=32052d48bacabd1c02e56c6889082a27 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/tweetnacl/COPYING.txt;md5=46f67a23fdd589f2f363fa861830f359 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/aws-sign2/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/oauth-sign/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/LICENSE;md5=bfa81591facc9224e4c7451c8dc12958 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/license;md5=be72c3ad86c1c4e9578a1945b082b17d \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/pinkie-promise/node_modules/pinkie/license;md5=be72c3ad86c1c4e9578a1945b082b17d \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/LICENCE;md5=96bcdf84e670aafacac9e094bce29ac9 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/jsonpointer/LICENSE.md;md5=6f8a932f950cc1ae4cff952b7ef5abd6 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/generate-object-property/node_modules/is-property/LICENSE;md5=34aed54d1454553d81a843e946b173a0 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/commander/LICENSE;md5=25851d4d10d6611a12d5571dab945a00 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/commander/node_modules/graceful-readlink/LICENSE;md5=b0270ddb7ee6643eee76e80113234806 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/ansi-styles/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/escape-string-regexp/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/supports-color/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/har-validator/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/nopt/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/nopt/node_modules/abbrev/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/LICENSE;md5=bbd174e5c1525a215e2f38ebfcca16e9 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/node_modules/glob/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/node_modules/glob/node_modules/inflight/LICENSE;md5=90a3ca01a5efed8b813a81c6c8fa2e63 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/node_modules/glob/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/node_modules/glob/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/node_modules/glob/node_modules/minimatch/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md;md5=7fa99ddc3424107350ca6e9a24552085 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/rimraf/node_modules/glob/node_modules/fs.realpath/LICENSE;md5=062470525c8e380f8567f665ef554d11 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/uid-number/LICENSE;md5=90a3ca01a5efed8b813a81c6c8fa2e63 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/LICENSE;md5=34c65f5b9b91f31827910d3b54bd6497 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/block-stream/LICENCE;md5=c695aba12d799c74e770d90e1c5d59aa \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/block-stream/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/block-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/LICENSE;md5=90a3ca01a5efed8b813a81c6c8fa2e63 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/minimatch/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md;md5=7fa99ddc3424107350ca6e9a24552085 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/fs.realpath/LICENSE;md5=062470525c8e380f8567f665ef554d11 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/graceful-fs/LICENSE;md5=fd63805fd8e3797063b247781e5ee6e4 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/mkdirp/LICENSE;md5=b2d989bc186e7f6b418a5fdd5cc0b56b \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/tar/node_modules/fstream/node_modules/mkdirp/node_modules/minimist/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/minimatch/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md;md5=7fa99ddc3424107350ca6e9a24552085 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/node_modules/glob/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/LICENSE;md5=90a3ca01a5efed8b813a81c6c8fa2e63 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/minimatch/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md;md5=7fa99ddc3424107350ca6e9a24552085 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/fs.realpath/LICENSE;md5=062470525c8e380f8567f665ef554d11 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/graceful-fs/LICENSE;md5=fd63805fd8e3797063b247781e5ee6e4 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/mkdirp/LICENSE;md5=b2d989bc186e7f6b418a5fdd5cc0b56b \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream-ignore/node_modules/fstream/node_modules/mkdirp/node_modules/minimist/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream/node_modules/buffer-shims/license.md;md5=e04ef9ec24d382b7576c997066a44835 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream/node_modules/core-util-is/LICENSE;md5=6126e36127d20ec0e2f637204a5c68ff \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream/node_modules/process-nextick-args/license.md;md5=216769dac98a78ec088ee7cc6fad1dfa \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/readable-stream/node_modules/util-deprecate/LICENSE;md5=b7c99ef4b0f3ad9911a52219947f8cf0 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/node_modules/glob/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/LICENSE;md5=90a3ca01a5efed8b813a81c6c8fa2e63 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/minimatch/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md;md5=7fa99ddc3424107350ca6e9a24552085 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/rimraf/node_modules/glob/node_modules/fs.realpath/LICENSE;md5=062470525c8e380f8567f665ef554d11 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/graceful-fs/LICENSE;md5=fd63805fd8e3797063b247781e5ee6e4 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/mkdirp/LICENSE;md5=b2d989bc186e7f6b418a5fdd5cc0b56b \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack/node_modules/fstream/node_modules/mkdirp/node_modules/minimist/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/has-ansi/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/lodash.padstart/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/extsprintf/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/semver/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/block-stream/LICENCE;md5=c695aba12d799c74e770d90e1c5d59aa \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/block-stream/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/uid-number/LICENSE;md5=90a3ca01a5efed8b813a81c6c8fa2e63 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/esprima/LICENSE.BSD;md5=3e0ad2b4a2d836d43cf3c7b46c34512c \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/gauge/LICENSE;md5=43abbc6f9093aea69560715033788727 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/foreach/LICENSE;md5=b2225091caf5effa363ef7016fa2b0ba \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/once/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/ansi/LICENSE;md5=694e396551033371686c80d3a1a69e88 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/minimist/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/sshpk/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/forever-agent/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/acorn/LICENSE;md5=3b324af8e79986f4a5621efa85dd1292 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/boom/LICENSE;md5=d5c0c437eeeff35277efeadaec74e821 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/is-my-json-valid/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/pseudomap/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/graceful-fs/LICENSE;md5=fd63805fd8e3797063b247781e5ee6e4 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/tar/LICENSE;md5=34c65f5b9b91f31827910d3b54bd6497 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/caseless/LICENSE;md5=e9dadf023ba6ebd98e3e0acb6e2470e3 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/qs/LICENSE;md5=d5c7c6dc45a33a0a9620ed81315672d7 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/tough-cookie/LICENSE;md5=ceb9c658d7a5d62bee6628c46832168e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/form-data/License;md5=7aa505292e2636a9e59d4d3f258f4819 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/ini/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/concat-map/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/nan/LICENSE.md;md5=365dd94f3b619ca5566e5fb51f32c0e6 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/graceful-readlink/LICENSE;md5=b0270ddb7ee6643eee76e80113234806 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/lodash.pad/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/pinkie/license;md5=be72c3ad86c1c4e9578a1945b082b17d \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/object-keys/LICENSE;md5=0026e638d7d5c5f2768864ce0074f8ad \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/through2/LICENSE;md5=f3827423e10328147d44783718699586 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/through2/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/ansi-styles/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp-github/LICENSE;md5=ace34b041272a037cc5f386aca13b85d \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp-github/node_modules/commander/LICENSE;md5=25851d4d10d6611a12d5571dab945a00 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp-github/node_modules/commander/node_modules/graceful-readlink/LICENSE;md5=b0270ddb7ee6643eee76e80113234806 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp-github/node_modules/github/LICENSE;md5=ff9428e2d5286b07ce6e043acf76f668 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp-github/node_modules/github/node_modules/mime/LICENSE;md5=8eab89930e0b484cd991ed4a155f74f7 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/bluebird/LICENSE;md5=6e915da3b5fbac2898444693555804c8 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/string_decoder/LICENSE;md5=fcf5cfdc777e49f11402422c72a86f43 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/asn1/LICENSE;md5=5ce2f42143c298495637e28e40cd5462 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/process-nextick-args/license.md;md5=216769dac98a78ec088ee7cc6fad1dfa \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/commander/LICENSE;md5=25851d4d10d6611a12d5571dab945a00 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/github/LICENSE;md5=ff9428e2d5286b07ce6e043acf76f668 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/object.assign/LICENSE;md5=2b439ca9e99134dee172a7cc6d989174 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/object.assign/node_modules/object-keys/LICENSE;md5=0026e638d7d5c5f2768864ce0074f8ad \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/object.assign/node_modules/define-properties/LICENSE;md5=53ffc646fdb83e45279cfe7105e5157b \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/object.assign/node_modules/define-properties/node_modules/foreach/LICENSE;md5=b2225091caf5effa363ef7016fa2b0ba \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/object.assign/node_modules/define-properties/node_modules/object-keys/LICENSE;md5=0026e638d7d5c5f2768864ce0074f8ad \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/object.assign/node_modules/function-bind/LICENSE;md5=e7417c1a8ad83f88bcac21ad440d48b2 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/chalk/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/generate-object-property/LICENSE;md5=9befe7026bf915886cd566a98117c80e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/http-signature/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/minimatch/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/fstream-ignore/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/rc/LICENSE.BSD;md5=e7a2a325a0069e82aff675bbf74464a0 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/rc/LICENSE.MIT;md5=e0f70a42adf526e6f5e605a94d98a420 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/rc/LICENSE.APACHE2;md5=ffcf739dca268cb0f20336d6c1a038f1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/rc/node_modules/minimist/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/escape-string-regexp/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/hoek/LICENSE;md5=0ae863d44c9a840e5cc04241d8d9c736 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/glob/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/ansi-regex/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/mkdirp/LICENSE;md5=b2d989bc186e7f6b418a5fdd5cc0b56b \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/strip-json-comments/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/delegates/License;md5=039225978c07bc42e8c0ef2f72b81c09 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/request/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/async/LICENSE;md5=dc113e0fc4029c29942399ad22425402 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/are-we-there-yet/LICENSE;md5=039a23da29f56411e6d75d7b7bc9de13 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/yallist/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/util-deprecate/LICENSE;md5=b7c99ef4b0f3ad9911a52219947f8cf0 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/nopt/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/jodid25519/LICENSE;md5=5e6d2cd78a8664b38651e01b76a2323a \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/aws-sign2/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/optimist/LICENSE;md5=b2d989bc186e7f6b418a5fdd5cc0b56b \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/optimist/node_modules/minimist/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/optimist/node_modules/wordwrap/LICENSE;md5=aea1cde69645f4b99be4ff7ca9abcce1 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/sntp/LICENSE;md5=6b3f1791e9fe721a645d793af56193c6 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/supports-color/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/wrappy/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/cryptiles/LICENSE;md5=6e2f87804ca8061967f7891dfb34f6f0 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/oauth-sign/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/strip-ansi/license;md5=a12ebca0510a773644101a99a867d210 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/lodash._baseslice/LICENSE;md5=3229b60739f3d575a1e683f9d74102ea \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/ecc-jsbn/LICENSE;md5=0d289b6d63cbcc18e4b2af9a5bd28b54 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/ecc-jsbn/lib/LICENSE-jsbn;md5=32052d48bacabd1c02e56c6889082a27 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/mime/LICENSE;md5=8eab89930e0b484cd991ed4a155f74f7 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/deep-extend/LICENSE;md5=74959162613f2777f3ef55bdb8b74c89 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/tar-pack/LICENSE;md5=bbd174e5c1525a215e2f38ebfcca16e9 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/tar-pack/node_modules/readable-stream/LICENSE;md5=d7351a4fc8e956f1a68413490d5e655e \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/recast/LICENSE;md5=3a48a43d5f60ffc26b75ceb41c3d5e04 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/verror/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/fstream/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/har-validator/LICENSE;md5=bfa81591facc9224e4c7451c8dc12958 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/abbrev/LICENSE;md5=82703a69f6d7411dde679954c2fd9dca \ + file://node_modules/mustache/LICENSE;md5=33fa3c7f27611cfb1191e5aa2bb107b1 \ + file://node_modules/basic-auth/LICENSE;md5=0d37fde0313a6c4b796315a5e428733e \ + file://node_modules/body-parser/LICENSE;md5=0afd201e48c7d095454eed4ac1184e40 \ + file://node_modules/body-parser/node_modules/debug/node_modules/ms/LICENSE;md5=2be2157b55ea281b7f4969d7ba05eea2 \ + file://node_modules/body-parser/node_modules/type-is/LICENSE;md5=0afd201e48c7d095454eed4ac1184e40 \ + file://node_modules/body-parser/node_modules/type-is/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ + file://node_modules/body-parser/node_modules/type-is/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/body-parser/node_modules/type-is/node_modules/media-typer/LICENSE;md5=c6e0ce1e688c5ff16db06b7259e9cd20 \ + file://node_modules/body-parser/node_modules/on-finished/LICENSE;md5=1b1f7f9cec194121fdf616b971df7a7b \ + file://node_modules/body-parser/node_modules/on-finished/node_modules/ee-first/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ + file://node_modules/body-parser/node_modules/raw-body/LICENSE;md5=c970d30155ebbdb1903e6de8c0666e18 \ + file://node_modules/body-parser/node_modules/raw-body/node_modules/unpipe/LICENSE;md5=934ab86a8ab081ea0326add08d550739 \ + file://node_modules/body-parser/node_modules/raw-body/node_modules/bytes/LICENSE;md5=013e95467eddb048f19a6f5b42820f86 \ + file://node_modules/body-parser/node_modules/raw-body/node_modules/iconv-lite/LICENSE;md5=f942263d98f0d75e0e0101884e86261d \ + file://node_modules/body-parser/node_modules/qs/LICENSE;md5=d5c7c6dc45a33a0a9620ed81315672d7 \ + file://node_modules/body-parser/node_modules/content-type/LICENSE;md5=f4b767f006864f81a4901347fe4efdab \ + file://node_modules/body-parser/node_modules/depd/LICENSE;md5=89378960d0c54c30539e50c7a78ce846 \ + file://node_modules/body-parser/node_modules/http-errors/LICENSE;md5=607209623abfcc77b9098f71a0ef52f9 \ + file://node_modules/body-parser/node_modules/http-errors/node_modules/statuses/LICENSE;md5=607209623abfcc77b9098f71a0ef52f9 \ + file://node_modules/body-parser/node_modules/http-errors/node_modules/inherits/LICENSE;md5=5b2ef2247af6d355ae9d9f988092d470 \ + file://node_modules/body-parser/node_modules/http-errors/node_modules/setprototypeof/LICENSE;md5=4846f1626304c2c0f806a539bbc7d54a \ + file://node_modules/body-parser/node_modules/bytes/LICENSE;md5=013e95467eddb048f19a6f5b42820f86 \ + file://node_modules/body-parser/node_modules/iconv-lite/LICENSE;md5=f942263d98f0d75e0e0101884e86261d" + +SRC_URI = "npm://registry.npmjs.org;name=node-red;version=${PV}" + +S = "${WORKDIR}/npmpkg" + +SUMMARY = "A visual tool for wiring the Internet of Things" +HOMEPAGE = "http://nodered.org" +NPM_LOCKDOWN := "${THISDIR}/${PN}/lockdown.json" + +inherit npm + +LICENSE_${PN}-basic-auth = "MIT" +LICENSE_${PN}-bcrypt-bindings = "Unknown" +LICENSE_${PN}-bcrypt-nan = "Unknown" +LICENSE_${PN}-bcryptjs = "Unknown" +LICENSE_${PN}-bcrypt = "MIT" +LICENSE_${PN}-body-parser-bytes = "MIT" +LICENSE_${PN}-body-parser-content-type = "MIT" +LICENSE_${PN}-body-parser-debug-ms = "MIT" +LICENSE_${PN}-body-parser-debug = "Unknown" +LICENSE_${PN}-body-parser-depd = "MIT" +LICENSE_${PN}-body-parser-http-errors-inherits = "ISC" +LICENSE_${PN}-body-parser-http-errors-setprototypeof = "ISC" +LICENSE_${PN}-body-parser-http-errors-statuses = "MIT" +LICENSE_${PN}-body-parser-http-errors = "MIT" +LICENSE_${PN}-body-parser-iconv-lite = "MIT" +LICENSE_${PN}-body-parser-on-finished-ee-first = "MIT" +LICENSE_${PN}-body-parser-on-finished = "MIT" +LICENSE_${PN}-body-parser-qs = "Unknown" +LICENSE_${PN}-body-parser-raw-body-bytes = "MIT" +LICENSE_${PN}-body-parser-raw-body-iconv-lite = "MIT" +LICENSE_${PN}-body-parser-raw-body-unpipe = "MIT" +LICENSE_${PN}-body-parser-raw-body = "MIT" +LICENSE_${PN}-body-parser-type-is-media-typer = "MIT" +LICENSE_${PN}-body-parser-type-is-mime-types-mime-db = "MIT" +LICENSE_${PN}-body-parser-type-is-mime-types = "MIT" +LICENSE_${PN}-body-parser-type-is = "MIT" +LICENSE_${PN}-body-parser = "MIT" +LICENSE_${PN}-cheerio-css-select-boolbase = "Unknown" +LICENSE_${PN}-cheerio-css-select-css-what = "Unknown" +LICENSE_${PN}-cheerio-css-select-domutils-domelementtype = "Unknown" +LICENSE_${PN}-cheerio-css-select-domutils = "Unknown" +LICENSE_${PN}-cheerio-css-select-nth-check-boolbase = "Unknown" +LICENSE_${PN}-cheerio-css-select-nth-check = "Unknown" +LICENSE_${PN}-cheerio-css-select = "Unknown" +LICENSE_${PN}-cheerio-dom-serializer-domelementtype = "Unknown" +LICENSE_${PN}-cheerio-dom-serializer-entities = "Unknown" +LICENSE_${PN}-cheerio-dom-serializer = "Unknown" +LICENSE_${PN}-cheerio-entities = "Unknown" +LICENSE_${PN}-cheerio-htmlparser2-domelementtype = "Unknown" +LICENSE_${PN}-cheerio-htmlparser2-domhandler-domelementtype = "Unknown" +LICENSE_${PN}-cheerio-htmlparser2-domhandler = "Unknown" +LICENSE_${PN}-cheerio-htmlparser2-domutils-dom-serializer-domelementtype = "Unknown" +LICENSE_${PN}-cheerio-htmlparser2-domutils-dom-serializer-entities = "Unknown" +LICENSE_${PN}-cheerio-htmlparser2-domutils-dom-serializer = "Unknown" +LICENSE_${PN}-cheerio-htmlparser2-domutils-domelementtype = "Unknown" +LICENSE_${PN}-cheerio-htmlparser2-domutils = "Unknown" +LICENSE_${PN}-cheerio-htmlparser2-entities = "Unknown" +LICENSE_${PN}-cheerio-htmlparser2-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-cheerio-htmlparser2-readable-stream-inherits = "ISC" +LICENSE_${PN}-cheerio-htmlparser2-readable-stream-isarray = "Unknown" +LICENSE_${PN}-cheerio-htmlparser2-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-cheerio-htmlparser2-readable-stream = "MIT" +LICENSE_${PN}-cheerio-htmlparser2 = "MIT" +LICENSE_${PN}-cheerio-lodash = "Unknown" +LICENSE_${PN}-cheerio = "Unknown" +LICENSE_${PN}-clone = "Unknown" +LICENSE_${PN}-cookie-parser-cookie-signature = "Unknown" +LICENSE_${PN}-cookie-parser-cookie = "MIT" +LICENSE_${PN}-cookie-parser = "MIT" +LICENSE_${PN}-cors-vary = "MIT" +LICENSE_${PN}-cors = "MIT" +LICENSE_${PN}-cron-moment-timezone-moment = "MIT" +LICENSE_${PN}-cron-moment-timezone = "MIT" +LICENSE_${PN}-cron = "Unknown" +LICENSE_${PN}-express-accepts-mime-types-mime-db = "MIT" +LICENSE_${PN}-express-accepts-mime-types = "MIT" +LICENSE_${PN}-express-accepts-negotiator = "MIT" +LICENSE_${PN}-express-accepts = "MIT" +LICENSE_${PN}-express-array-flatten = "MIT" +LICENSE_${PN}-express-content-disposition = "MIT" +LICENSE_${PN}-express-content-type = "MIT" +LICENSE_${PN}-express-cookie-signature = "Unknown" +LICENSE_${PN}-express-cookie = "MIT" +LICENSE_${PN}-express-debug-ms = "MIT" +LICENSE_${PN}-express-debug = "Unknown" +LICENSE_${PN}-express-depd = "MIT" +LICENSE_${PN}-express-encodeurl = "MIT" +LICENSE_${PN}-express-escape-html = "MIT" +LICENSE_${PN}-express-etag = "MIT" +LICENSE_${PN}-express-finalhandler-debug-ms = "MIT" +LICENSE_${PN}-express-finalhandler-debug = "Unknown" +LICENSE_${PN}-express-finalhandler-escape-html = "MIT" +LICENSE_${PN}-express-finalhandler-on-finished-ee-first = "MIT" +LICENSE_${PN}-express-finalhandler-on-finished = "MIT" +LICENSE_${PN}-express-finalhandler-statuses = "MIT" +LICENSE_${PN}-express-finalhandler-unpipe = "MIT" +LICENSE_${PN}-express-finalhandler = "MIT" +LICENSE_${PN}-express-fresh = "MIT" +LICENSE_${PN}-express-merge-descriptors = "MIT" +LICENSE_${PN}-express-methods = "MIT" +LICENSE_${PN}-express-on-finished-ee-first = "MIT" +LICENSE_${PN}-express-on-finished = "MIT" +LICENSE_${PN}-express-parseurl = "MIT" +LICENSE_${PN}-express-path-to-regexp = "MIT" +LICENSE_${PN}-express-proxy-addr-forwarded = "MIT" +LICENSE_${PN}-express-proxy-addr-ipaddr.js = "MIT" +LICENSE_${PN}-express-proxy-addr = "MIT" +LICENSE_${PN}-express-qs = "Unknown" +LICENSE_${PN}-express-range-parser = "MIT" +LICENSE_${PN}-express-send-debug-ms = "MIT" +LICENSE_${PN}-express-send-debug = "Unknown" +LICENSE_${PN}-express-send-depd = "MIT" +LICENSE_${PN}-express-send-destroy = "MIT" +LICENSE_${PN}-express-send-encodeurl = "MIT" +LICENSE_${PN}-express-send-escape-html = "MIT" +LICENSE_${PN}-express-send-etag = "MIT" +LICENSE_${PN}-express-send-fresh = "MIT" +LICENSE_${PN}-express-send-http-errors-inherits = "ISC" +LICENSE_${PN}-express-send-http-errors-setprototypeof = "ISC" +LICENSE_${PN}-express-send-http-errors-statuses = "MIT" +LICENSE_${PN}-express-send-http-errors = "MIT" +LICENSE_${PN}-express-send-mime = "MIT" +LICENSE_${PN}-express-send-ms = "MIT" +LICENSE_${PN}-express-send-on-finished-ee-first = "MIT" +LICENSE_${PN}-express-send-on-finished = "MIT" +LICENSE_${PN}-express-send-range-parser = "MIT" +LICENSE_${PN}-express-send-statuses = "MIT" +LICENSE_${PN}-express-send = "MIT" +LICENSE_${PN}-express-serve-static-encodeurl = "MIT" +LICENSE_${PN}-express-serve-static-escape-html = "MIT" +LICENSE_${PN}-express-serve-static-parseurl = "MIT" +LICENSE_${PN}-express-serve-static-send-debug-ms = "MIT" +LICENSE_${PN}-express-serve-static-send-debug = "Unknown" +LICENSE_${PN}-express-serve-static-send-depd = "MIT" +LICENSE_${PN}-express-serve-static-send-destroy = "MIT" +LICENSE_${PN}-express-serve-static-send-encodeurl = "MIT" +LICENSE_${PN}-express-serve-static-send-escape-html = "MIT" +LICENSE_${PN}-express-serve-static-send-etag = "MIT" +LICENSE_${PN}-express-serve-static-send-fresh = "MIT" +LICENSE_${PN}-express-serve-static-send-http-errors-inherits = "ISC" +LICENSE_${PN}-express-serve-static-send-http-errors-setprototypeof = "ISC" +LICENSE_${PN}-express-serve-static-send-http-errors-statuses = "MIT" +LICENSE_${PN}-express-serve-static-send-http-errors = "MIT" +LICENSE_${PN}-express-serve-static-send-mime = "MIT" +LICENSE_${PN}-express-serve-static-send-ms = "MIT" +LICENSE_${PN}-express-serve-static-send-on-finished-ee-first = "MIT" +LICENSE_${PN}-express-serve-static-send-on-finished = "MIT" +LICENSE_${PN}-express-serve-static-send-range-parser = "MIT" +LICENSE_${PN}-express-serve-static-send-statuses = "MIT" +LICENSE_${PN}-express-serve-static-send = "MIT" +LICENSE_${PN}-express-serve-static = "MIT" +LICENSE_${PN}-express-type-is-media-typer = "MIT" +LICENSE_${PN}-express-type-is-mime-types-mime-db = "MIT" +LICENSE_${PN}-express-type-is-mime-types = "MIT" +LICENSE_${PN}-express-type-is = "MIT" +LICENSE_${PN}-express-utils-merge = "MIT" +LICENSE_${PN}-express-vary = "MIT" +LICENSE_${PN}-express = "MIT" +LICENSE_${PN}-follow-redirects-debug-ms = "MIT" +LICENSE_${PN}-follow-redirects-debug = "MIT" +LICENSE_${PN}-follow-redirects-stream-consume = "Unknown" +LICENSE_${PN}-follow-redirects = "Unknown" +LICENSE_${PN}-fs-extra-graceful-fs = "ISC" +LICENSE_${PN}-fs-extra-jsonfile-graceful-fs = "ISC" +LICENSE_${PN}-fs-extra-jsonfile = "MIT" +LICENSE_${PN}-fs-extra-klaw-graceful-fs = "ISC" +LICENSE_${PN}-fs-extra-klaw = "MIT" +LICENSE_${PN}-fs-extra-path-is-absolute = "MIT" +LICENSE_${PN}-fs-extra-rimraf-glob-fs.realpath = "Unknown" +LICENSE_${PN}-fs-extra-rimraf-glob-inflight-once-wrappy = "ISC" +LICENSE_${PN}-fs-extra-rimraf-glob-inflight-once = "ISC" +LICENSE_${PN}-fs-extra-rimraf-glob-inflight-wrappy = "ISC" +LICENSE_${PN}-fs-extra-rimraf-glob-inflight = "ISC" +LICENSE_${PN}-fs-extra-rimraf-glob-inherits = "ISC" +LICENSE_${PN}-fs-extra-rimraf-glob-minimatch-brace-expansion-balanced-match = "Unknown" +LICENSE_${PN}-fs-extra-rimraf-glob-minimatch-brace-expansion-concat-map = "MIT" +LICENSE_${PN}-fs-extra-rimraf-glob-minimatch-brace-expansion = "Unknown" +LICENSE_${PN}-fs-extra-rimraf-glob-minimatch = "ISC" +LICENSE_${PN}-fs-extra-rimraf-glob-once-wrappy = "ISC" +LICENSE_${PN}-fs-extra-rimraf-glob-once = "ISC" +LICENSE_${PN}-fs-extra-rimraf-glob-path-is-absolute = "MIT" +LICENSE_${PN}-fs-extra-rimraf-glob = "ISC" +LICENSE_${PN}-fs-extra-rimraf = "ISC" +LICENSE_${PN}-fs-extra = "MIT" +LICENSE_${PN}-fs.notify-async = "MIT" +LICENSE_${PN}-fs.notify-retry = "Unknown" +LICENSE_${PN}-fs.notify = "Unknown" +LICENSE_${PN}-i18next-cookies-depd = "MIT" +LICENSE_${PN}-i18next-cookies-keygrip = "MIT" +LICENSE_${PN}-i18next-cookies = "MIT" +LICENSE_${PN}-i18next-i18next-client = "MIT" +LICENSE_${PN}-i18next-json5 = "Unknown" +LICENSE_${PN}-i18next = "MIT" +LICENSE_${PN}-is-utf8 = "Unknown" +LICENSE_${PN}-media-typer = "MIT" +LICENSE_${PN}-mqtt-commist-leven = "MIT" +LICENSE_${PN}-mqtt-commist-minimist = "MIT" +LICENSE_${PN}-mqtt-commist = "MIT" +LICENSE_${PN}-mqtt-concat-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-concat-stream-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-mqtt-concat-stream-readable-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-concat-stream-readable-stream-isarray = "Unknown" +LICENSE_${PN}-mqtt-concat-stream-readable-stream-process-nextick-args = "Unknown" +LICENSE_${PN}-mqtt-concat-stream-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-mqtt-concat-stream-readable-stream-util-deprecate = "MIT" +LICENSE_${PN}-mqtt-concat-stream-readable-stream = "MIT" +LICENSE_${PN}-mqtt-concat-stream-typedarray = "Unknown" +LICENSE_${PN}-mqtt-concat-stream = "MIT" +LICENSE_${PN}-mqtt-end-of-stream-once-wrappy = "ISC" +LICENSE_${PN}-mqtt-end-of-stream-once = "ISC" +LICENSE_${PN}-mqtt-end-of-stream = "MIT" +LICENSE_${PN}-mqtt-help-me-concat-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-help-me-concat-stream-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-mqtt-help-me-concat-stream-readable-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-help-me-concat-stream-readable-stream-isarray = "Unknown" +LICENSE_${PN}-mqtt-help-me-concat-stream-readable-stream-process-nextick-args = "Unknown" +LICENSE_${PN}-mqtt-help-me-concat-stream-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-mqtt-help-me-concat-stream-readable-stream-util-deprecate = "MIT" +LICENSE_${PN}-mqtt-help-me-concat-stream-readable-stream = "MIT" +LICENSE_${PN}-mqtt-help-me-concat-stream-typedarray = "Unknown" +LICENSE_${PN}-mqtt-help-me-concat-stream = "MIT" +LICENSE_${PN}-mqtt-help-me-pump-end-of-stream-once-wrappy = "ISC" +LICENSE_${PN}-mqtt-help-me-pump-end-of-stream-once = "ISC" +LICENSE_${PN}-mqtt-help-me-pump-end-of-stream = "MIT" +LICENSE_${PN}-mqtt-help-me-pump-once-wrappy = "ISC" +LICENSE_${PN}-mqtt-help-me-pump-once = "ISC" +LICENSE_${PN}-mqtt-help-me-pump = "MIT" +LICENSE_${PN}-mqtt-help-me-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-mqtt-help-me-readable-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-help-me-readable-stream-isarray = "Unknown" +LICENSE_${PN}-mqtt-help-me-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-mqtt-help-me-readable-stream = "MIT" +LICENSE_${PN}-mqtt-help-me-xtend = "MIT" +LICENSE_${PN}-mqtt-help-me = "MIT" +LICENSE_${PN}-mqtt-inherits = "ISC" +LICENSE_${PN}-mqtt-minimist = "MIT" +LICENSE_${PN}-mqtt-mqtt-connection-inherits = "ISC" +LICENSE_${PN}-mqtt-mqtt-connection-mqtt-packet-bl-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-mqtt-mqtt-connection-mqtt-packet-bl-readable-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-mqtt-connection-mqtt-packet-bl-readable-stream-isarray = "Unknown" +LICENSE_${PN}-mqtt-mqtt-connection-mqtt-packet-bl-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-mqtt-mqtt-connection-mqtt-packet-bl-readable-stream = "MIT" +LICENSE_${PN}-mqtt-mqtt-connection-mqtt-packet-bl = "Unknown" +LICENSE_${PN}-mqtt-mqtt-connection-mqtt-packet-inherits = "ISC" +LICENSE_${PN}-mqtt-mqtt-connection-mqtt-packet = "Unknown" +LICENSE_${PN}-mqtt-mqtt-connection-reduplexer-inherits = "ISC" +LICENSE_${PN}-mqtt-mqtt-connection-reduplexer-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-mqtt-mqtt-connection-reduplexer-readable-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-mqtt-connection-reduplexer-readable-stream-isarray = "Unknown" +LICENSE_${PN}-mqtt-mqtt-connection-reduplexer-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-mqtt-mqtt-connection-reduplexer-readable-stream = "MIT" +LICENSE_${PN}-mqtt-mqtt-connection-reduplexer = "ISC" +LICENSE_${PN}-mqtt-mqtt-connection-through2-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-mqtt-mqtt-connection-through2-readable-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-mqtt-connection-through2-readable-stream-isarray = "Unknown" +LICENSE_${PN}-mqtt-mqtt-connection-through2-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-mqtt-mqtt-connection-through2-readable-stream = "MIT" +LICENSE_${PN}-mqtt-mqtt-connection-through2-xtend = "MIT" +LICENSE_${PN}-mqtt-mqtt-connection-through2 = "Unknown" +LICENSE_${PN}-mqtt-mqtt-connection = "Unknown" +LICENSE_${PN}-mqtt-mqtt-packet-bl-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-mqtt-mqtt-packet-bl-readable-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-mqtt-packet-bl-readable-stream-isarray = "Unknown" +LICENSE_${PN}-mqtt-mqtt-packet-bl-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-mqtt-mqtt-packet-bl-readable-stream = "MIT" +LICENSE_${PN}-mqtt-mqtt-packet-bl = "Unknown" +LICENSE_${PN}-mqtt-mqtt-packet-inherits = "ISC" +LICENSE_${PN}-mqtt-mqtt-packet = "Unknown" +LICENSE_${PN}-mqtt-pump-end-of-stream-once-wrappy = "ISC" +LICENSE_${PN}-mqtt-pump-end-of-stream-once = "ISC" +LICENSE_${PN}-mqtt-pump-end-of-stream = "MIT" +LICENSE_${PN}-mqtt-pump-once-wrappy = "ISC" +LICENSE_${PN}-mqtt-pump-once = "ISC" +LICENSE_${PN}-mqtt-pump = "MIT" +LICENSE_${PN}-mqtt-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-mqtt-readable-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-readable-stream-isarray = "Unknown" +LICENSE_${PN}-mqtt-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-mqtt-readable-stream = "MIT" +LICENSE_${PN}-mqtt-reinterval = "MIT" +LICENSE_${PN}-mqtt-split2-through2-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-mqtt-split2-through2-readable-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-split2-through2-readable-stream-isarray = "Unknown" +LICENSE_${PN}-mqtt-split2-through2-readable-stream-process-nextick-args = "Unknown" +LICENSE_${PN}-mqtt-split2-through2-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-mqtt-split2-through2-readable-stream-util-deprecate = "MIT" +LICENSE_${PN}-mqtt-split2-through2-readable-stream = "MIT" +LICENSE_${PN}-mqtt-split2-through2-xtend = "MIT" +LICENSE_${PN}-mqtt-split2-through2 = "Unknown" +LICENSE_${PN}-mqtt-split2 = "ISC" +LICENSE_${PN}-mqtt-websocket-stream-duplexify-end-of-stream-once-wrappy = "ISC" +LICENSE_${PN}-mqtt-websocket-stream-duplexify-end-of-stream-once = "ISC" +LICENSE_${PN}-mqtt-websocket-stream-duplexify-end-of-stream = "Unknown" +LICENSE_${PN}-mqtt-websocket-stream-duplexify-inherits = "ISC" +LICENSE_${PN}-mqtt-websocket-stream-duplexify-readable-stream-buffer-shims = "Unknown" +LICENSE_${PN}-mqtt-websocket-stream-duplexify-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-mqtt-websocket-stream-duplexify-readable-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-websocket-stream-duplexify-readable-stream-isarray = "Unknown" +LICENSE_${PN}-mqtt-websocket-stream-duplexify-readable-stream-process-nextick-args = "Unknown" +LICENSE_${PN}-mqtt-websocket-stream-duplexify-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-mqtt-websocket-stream-duplexify-readable-stream-util-deprecate = "MIT" +LICENSE_${PN}-mqtt-websocket-stream-duplexify-readable-stream = "MIT" +LICENSE_${PN}-mqtt-websocket-stream-duplexify-stream-shift = "MIT" +LICENSE_${PN}-mqtt-websocket-stream-duplexify = "MIT" +LICENSE_${PN}-mqtt-websocket-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-websocket-stream-through2-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-mqtt-websocket-stream-through2-readable-stream-inherits = "ISC" +LICENSE_${PN}-mqtt-websocket-stream-through2-readable-stream-isarray = "Unknown" +LICENSE_${PN}-mqtt-websocket-stream-through2-readable-stream-process-nextick-args = "Unknown" +LICENSE_${PN}-mqtt-websocket-stream-through2-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-mqtt-websocket-stream-through2-readable-stream-util-deprecate = "MIT" +LICENSE_${PN}-mqtt-websocket-stream-through2-readable-stream = "MIT" +LICENSE_${PN}-mqtt-websocket-stream-through2-xtend = "MIT" +LICENSE_${PN}-mqtt-websocket-stream-through2 = "Unknown" +LICENSE_${PN}-mqtt-websocket-stream-ws-options = "Unknown" +LICENSE_${PN}-mqtt-websocket-stream-ws-ultron = "MIT" +LICENSE_${PN}-mqtt-websocket-stream-ws = "Unknown" +LICENSE_${PN}-mqtt-websocket-stream-xtend = "MIT" +LICENSE_${PN}-mqtt-websocket-stream = "Unknown" +LICENSE_${PN}-mqtt-xtend = "MIT" +LICENSE_${PN}-mqtt = "Unknown" +LICENSE_${PN}-mustache = "MIT" +LICENSE_${PN}-node-red-node-email-imap-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-node-red-node-email-imap-readable-stream-inherits = "ISC" +LICENSE_${PN}-node-red-node-email-imap-readable-stream-isarray = "Unknown" +LICENSE_${PN}-node-red-node-email-imap-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-node-red-node-email-imap-readable-stream = "MIT" +LICENSE_${PN}-node-red-node-email-imap-utf7-semver = "ISC" +LICENSE_${PN}-node-red-node-email-imap-utf7 = "MIT" +LICENSE_${PN}-node-red-node-email-imap = "MIT" +LICENSE_${PN}-node-red-node-email-mailparser-encoding-iconv-lite = "MIT" +LICENSE_${PN}-node-red-node-email-mailparser-encoding = "Unknown" +LICENSE_${PN}-node-red-node-email-mailparser-mimelib-addressparser = "Unknown" +LICENSE_${PN}-node-red-node-email-mailparser-mimelib-encoding-iconv-lite = "MIT" +LICENSE_${PN}-node-red-node-email-mailparser-mimelib-encoding = "Unknown" +LICENSE_${PN}-node-red-node-email-mailparser-mimelib = "Unknown" +LICENSE_${PN}-node-red-node-email-mailparser-mime = "MIT" +LICENSE_${PN}-node-red-node-email-mailparser-uue-extend = "MIT" +LICENSE_${PN}-node-red-node-email-mailparser-uue = "Unknown" +LICENSE_${PN}-node-red-node-email-mailparser = "Unknown" +LICENSE_${PN}-node-red-node-email-nodemailer-libmime-iconv-lite = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-libmime-libbase64 = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-libmime-libqp = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-libmime = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-buildmail-addressparser = "Unknown" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-buildmail-libbase64 = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-buildmail-libmime-iconv-lite = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-buildmail-libmime-libbase64 = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-buildmail-libmime-libqp = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-buildmail-libmime = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-buildmail-libqp = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-buildmail-needle-debug-ms = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-buildmail-needle-debug = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-buildmail-needle-iconv-lite = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-buildmail-needle = "Unknown" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-buildmail = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-libmime-iconv-lite = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-libmime-libbase64 = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-libmime-libqp = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer-libmime = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-mailcomposer = "Unknown" +LICENSE_${PN}-node-red-node-email-nodemailer-needle-debug-ms = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-needle-debug = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-needle-iconv-lite = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-needle = "Unknown" +LICENSE_${PN}-node-red-node-email-nodemailer-nodemailer-direct-transport-smtp-connection = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-nodemailer-direct-transport = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-nodemailer-smtp-transport-clone = "Unknown" +LICENSE_${PN}-node-red-node-email-nodemailer-nodemailer-smtp-transport-nodemailer-wellknown = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-nodemailer-smtp-transport-smtp-connection = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer-nodemailer-smtp-transport = "MIT" +LICENSE_${PN}-node-red-node-email-nodemailer = "Unknown" +LICENSE_${PN}-node-red-node-email-poplib-optimist-minimist = "MIT" +LICENSE_${PN}-node-red-node-email-poplib-optimist-wordwrap = "MIT" +LICENSE_${PN}-node-red-node-email-poplib-optimist = "MIT" +LICENSE_${PN}-node-red-node-email-poplib = "MIT" +LICENSE_${PN}-node-red-node-email = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-feedparser-addressparser = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-feedparser-array-indexofobject = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-feedparser-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-node-red-node-feedparser-feedparser-readable-stream-inherits = "ISC" +LICENSE_${PN}-node-red-node-feedparser-feedparser-readable-stream-isarray = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-feedparser-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-node-red-node-feedparser-feedparser-readable-stream = "MIT" +LICENSE_${PN}-node-red-node-feedparser-feedparser-sax = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-feedparser = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-aws-sign2 = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-aws4 = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-bl-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-bl-readable-stream-inherits = "ISC" +LICENSE_${PN}-node-red-node-feedparser-request-bl-readable-stream-isarray = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-bl-readable-stream-process-nextick-args = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-bl-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-bl-readable-stream-util-deprecate = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-bl-readable-stream = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-bl = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-caseless = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-combined-stream-delayed-stream = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-combined-stream = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-extend = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-forever-agent = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-form-data-async-lodash = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-form-data-async = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-form-data-combined-stream-delayed-stream = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-form-data-combined-stream = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-form-data-mime-types-mime-db = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-form-data-mime-types = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-form-data = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-chalk-ansi-styles = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-chalk-escape-string-regexp = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-chalk-has-ansi-ansi-regex = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-chalk-has-ansi = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-chalk-strip-ansi-ansi-regex = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-chalk-strip-ansi = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-chalk-supports-color = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-chalk = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-commander-graceful-readlink = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-commander = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-is-my-json-valid-generate-function = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-is-my-json-valid-generate-object-property-is-property = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-is-my-json-valid-generate-object-property = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-is-my-json-valid-jsonpointer = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-is-my-json-valid-xtend = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-is-my-json-valid = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-pinkie-promise-pinkie = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator-pinkie-promise = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-har-validator = "ISC" +LICENSE_${PN}-node-red-node-feedparser-request-hawk-boom-hoek = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-hawk-boom = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-hawk-cryptiles-boom-hoek = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-hawk-cryptiles-boom = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-hawk-cryptiles = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-hawk-hoek = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-hawk-sntp-hoek = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-hawk-sntp = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-hawk = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-jsprim-extsprintf = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-jsprim-json-schema = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-jsprim-verror-extsprintf = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-jsprim-verror = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-jsprim = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-asn1 = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-bcrypt-pbkdf-tweetnacl = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-bcrypt-pbkdf = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-dashdash-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-dashdash = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-ecc-jsbn-jsbn = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-ecc-jsbn = "Unknown MIT" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-getpass-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-getpass = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-jodid25519-jsbn = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-jodid25519 = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-jsbn = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk-tweetnacl = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature-sshpk = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-http-signature = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-is-typedarray = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-isstream = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-json-stringify-safe = "ISC" +LICENSE_${PN}-node-red-node-feedparser-request-mime-types-mime-db = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-mime-types = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-node-uuid = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-oauth-sign = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-qs = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-stringstream = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-tough-cookie-punycode = "MIT" +LICENSE_${PN}-node-red-node-feedparser-request-tough-cookie = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request-tunnel-agent = "Unknown" +LICENSE_${PN}-node-red-node-feedparser-request = "Unknown" +LICENSE_${PN}-node-red-node-feedparser = "Unknown" +LICENSE_${PN}-node-red-node-rbe = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-abbrev = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-acorn = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-ansi-regex = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-ansi-styles = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-ansi = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-are-we-there-yet = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-asn1 = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-ast-types = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-async = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-aws-sign2 = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-aws4 = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-balanced-match = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-bindings = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-bl-readable-stream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-block-stream = "ISC Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-bluebird = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-bl = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-boom = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-brace-expansion = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-caseless = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-chalk = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-combined-stream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-commander = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-concat-map = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-core-util-is = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-cryptiles = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-dashdash-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-dashdash = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-debug-ms = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-debug = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-deep-extend = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-delayed-stream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-delegates = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-ecc-jsbn-jsbn = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-ecc-jsbn = "Unknown MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-escape-string-regexp = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-esmangle-evaluator = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-esprima = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-extend = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-extsprintf = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-falafel-isarray = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-falafel = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-foreach = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-forever-agent = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-form-data = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-fstream-ignore = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-fstream = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-gauge = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-generate-function = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-generate-object-property = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-getpass-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-getpass = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-github = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-glob = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-graceful-fs = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-graceful-readlink = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-har-validator = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-has-ansi = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-has-unicode = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-hawk = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-hoek = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-http-signature = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-inflight = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-ini = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-inline-process-browser = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-is-my-json-valid = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-is-property = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-is-typedarray = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-isarray = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-isstream = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-jodid25519 = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-jsbn = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-json-schema = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-json-stringify-safe = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-jsonpointer = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-jsprim = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-lodash.-baseslice = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-lodash.padend = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-lodash.padstart = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-lodash.pad = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-lodash.tostring = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-lru-cache = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-mime-db = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-mime-types = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-mime = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-minimatch = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-minimist = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-mkdirp = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-ms = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-nan = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-github-commander-graceful-readlink = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-github-commander = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-github-github-mime = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-github-github = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-github = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-mkdirp-minimist = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-mkdirp = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-nopt-abbrev = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-nopt = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-are-we-there-yet-delegates = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-are-we-there-yet-readable-stream-buffer-shims = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-are-we-there-yet-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-are-we-there-yet-readable-stream-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-are-we-there-yet-readable-stream-isarray = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-are-we-there-yet-readable-stream-process-nextick-args = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-are-we-there-yet-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-are-we-there-yet-readable-stream-util-deprecate = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-are-we-there-yet-readable-stream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-are-we-there-yet = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-console-control-strings = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-aproba = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-console-control-strings = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-has-color = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-has-unicode = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-object-assign = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-signal-exit = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-string-width-code-point-at = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-string-width-is-fullwidth-code-point-number-is-nan = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-string-width-is-fullwidth-code-point = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-string-width-strip-ansi-ansi-regex = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-string-width-strip-ansi = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-string-width = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-strip-ansi-ansi-regex = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-strip-ansi = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-wide-align-string-width-code-point-at = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-wide-align-string-width-is-fullwidth-code-point-number-is-nan = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-wide-align-string-width-is-fullwidth-code-point = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-wide-align-string-width-strip-ansi-ansi-regex = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-wide-align-string-width-strip-ansi = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-wide-align-string-width = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge-wide-align = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-gauge = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog-set-blocking = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-npmlog = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rc-deep-extend = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rc-ini = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rc-minimist = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rc-strip-json-comments = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rc = "Unknown MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-aws-sign2 = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-aws4 = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-caseless = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-combined-stream-delayed-stream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-combined-stream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-extend = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-forever-agent = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-form-data-asynckit = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-form-data-combined-stream-delayed-stream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-form-data-combined-stream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-form-data-mime-types-mime-db = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-form-data-mime-types = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-form-data = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-chalk-ansi-styles = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-chalk-escape-string-regexp = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-chalk-has-ansi-ansi-regex = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-chalk-has-ansi = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-chalk-strip-ansi-ansi-regex = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-chalk-strip-ansi = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-chalk-supports-color = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-chalk = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-commander-graceful-readlink = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-commander = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-is-my-json-valid-generate-function = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-is-my-json-valid-generate-object-property-is-property = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-is-my-json-valid-generate-object-property = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-is-my-json-valid-jsonpointer = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-is-my-json-valid-xtend = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-is-my-json-valid = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-pinkie-promise-pinkie = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator-pinkie-promise = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-har-validator = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-hawk-boom-hoek = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-hawk-boom = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-hawk-cryptiles-boom-hoek = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-hawk-cryptiles-boom = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-hawk-cryptiles = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-hawk-hoek = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-hawk-sntp-hoek = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-hawk-sntp = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-hawk = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-jsprim-extsprintf = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-jsprim-json-schema = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-jsprim-verror-extsprintf = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-jsprim-verror = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-jsprim = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-asn1 = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-bcrypt-pbkdf-tweetnacl = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-bcrypt-pbkdf = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-dashdash-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-dashdash = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-ecc-jsbn-jsbn = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-ecc-jsbn = "Unknown MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-getpass-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-getpass = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-jodid25519-jsbn = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-jodid25519 = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-jsbn = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk-tweetnacl = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature-sshpk = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-http-signature = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-is-typedarray = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-isstream = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-json-stringify-safe = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-mime-types-mime-db = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-mime-types = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-node-uuid = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-oauth-sign = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-qs = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-stringstream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-tough-cookie-punycode = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-tough-cookie = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-tunnel-agent = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-fs.realpath = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-inflight-once-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-inflight-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-inflight-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-inflight = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-minimatch-brace-expansion-balanced-match = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-minimatch-brace-expansion-concat-map = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-minimatch-brace-expansion = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-minimatch = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-once-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-path-is-absolute = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-semver = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-block-stream-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-block-stream = "ISC Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-graceful-fs = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-mkdirp-minimist = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-mkdirp = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob-fs.realpath = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob-inflight-once-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob-inflight-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob-inflight-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob-inflight = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob-minimatch-brace-expansion-balanced-match = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob-minimatch-brace-expansion-concat-map = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob-minimatch-brace-expansion = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob-minimatch = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob-once-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob-path-is-absolute = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf-glob = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream-rimraf = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-fstream = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-debug-ms = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-debug = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-graceful-fs = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-graceful-fs = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-mkdirp-minimist = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-mkdirp = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob-fs.realpath = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob-inflight-once-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob-inflight-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob-inflight-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob-inflight = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob-minimatch-brace-expansion-balanced-match = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob-minimatch-brace-expansion-concat-map = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob-minimatch-brace-expansion = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob-minimatch = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob-once-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob-path-is-absolute = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf-glob = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream-rimraf = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-fstream = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-minimatch-brace-expansion-balanced-match = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-minimatch-brace-expansion-concat-map = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-minimatch-brace-expansion = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore-minimatch = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-ignore = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-mkdirp-minimist = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-mkdirp = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob-fs.realpath = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob-inflight-once-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob-inflight-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob-inflight-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob-inflight = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob-minimatch-brace-expansion-balanced-match = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob-minimatch-brace-expansion-concat-map = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob-minimatch-brace-expansion = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob-minimatch = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob-once-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob-path-is-absolute = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf-glob = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream-rimraf = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-fstream = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-once-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-readable-stream-buffer-shims = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-readable-stream-core-util-is = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-readable-stream-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-readable-stream-isarray = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-readable-stream-process-nextick-args = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-readable-stream-string-decoder = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-readable-stream-util-deprecate = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-readable-stream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob-fs.realpath = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob-inflight-once-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob-inflight-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob-inflight-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob-inflight = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob-minimatch-brace-expansion-balanced-match = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob-minimatch-brace-expansion-concat-map = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob-minimatch-brace-expansion = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob-minimatch = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob-once-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob-path-is-absolute = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf-glob = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-rimraf = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-block-stream-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-block-stream = "ISC Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-graceful-fs = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-mkdirp-minimist = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-mkdirp = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob-fs.realpath = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob-inflight-once-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob-inflight-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob-inflight-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob-inflight = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob-minimatch-brace-expansion-balanced-match = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob-minimatch-brace-expansion-concat-map = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob-minimatch-brace-expansion = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob-minimatch = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob-once-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob-path-is-absolute = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf-glob = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream-rimraf = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-fstream = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar-inherits = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-tar = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack-uid-number = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar-pack = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-tar = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-uuid = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-nopt = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-npmlog = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-oauth-sign = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-object-keys = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-object.assign-define-properties-foreach = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-object.assign-define-properties-object-keys = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-object.assign-define-properties = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-object.assign-function-bind = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-object.assign-object-keys = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-object.assign = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-once = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-optimist-minimist = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-optimist-wordwrap = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-optimist = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-path-is-absolute = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-pinkie-promise = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-pinkie = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-private = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-process-nextick-args = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-pseudomap = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-qs = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-rc-minimist = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-rc = "Unknown MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-readable-stream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-recast = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-request = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-rimraf = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-semver = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-sf = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-sntp = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-source-map = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-sshpk-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-sshpk = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-string-decoder = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-stringstream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-strip-ansi = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-strip-json-comments = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-supports-color = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-tar-pack-readable-stream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-tar-pack = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-tar = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-through2-isarray = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-through2-readable-stream = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-through2 = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-tough-cookie = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-tunnel-agent = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-tweetnacl = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-uid-number = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-unreachable-branch-transform = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-util-deprecate = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-verror = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-wrappy = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport-xtend = "MIT" +LICENSE_${PN}-node-red-node-serialport-serialport-yallist = "ISC" +LICENSE_${PN}-node-red-node-serialport-serialport = "MIT" +LICENSE_${PN}-node-red-node-serialport = "Unknown" +LICENSE_${PN}-node-red-node-twitter-oauth = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-aws-sign2 = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-aws4 = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-caseless = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-combined-stream-delayed-stream = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-combined-stream = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-extend = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-forever-agent = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-form-data-asynckit = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-form-data-combined-stream-delayed-stream = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-form-data-combined-stream = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-form-data-mime-types-mime-db = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-form-data-mime-types = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-form-data = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-chalk-ansi-styles = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-chalk-escape-string-regexp = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-chalk-has-ansi-ansi-regex = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-chalk-has-ansi = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-chalk-strip-ansi-ansi-regex = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-chalk-strip-ansi = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-chalk-supports-color = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-chalk = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-commander-graceful-readlink = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-commander = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-is-my-json-valid-generate-function = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-is-my-json-valid-generate-object-property-is-property = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-is-my-json-valid-generate-object-property = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-is-my-json-valid-jsonpointer = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-is-my-json-valid-xtend = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-is-my-json-valid = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-pinkie-promise-pinkie = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator-pinkie-promise = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-har-validator = "ISC" +LICENSE_${PN}-node-red-node-twitter-request-hawk-boom-hoek = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-hawk-boom = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-hawk-cryptiles-boom-hoek = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-hawk-cryptiles-boom = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-hawk-cryptiles = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-hawk-hoek = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-hawk-sntp-hoek = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-hawk-sntp = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-hawk = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-jsprim-extsprintf = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-jsprim-json-schema = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-jsprim-verror-extsprintf = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-jsprim-verror = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-jsprim = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-asn1 = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-bcrypt-pbkdf-tweetnacl = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-bcrypt-pbkdf = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-dashdash-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-dashdash = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-ecc-jsbn-jsbn = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-ecc-jsbn = "Unknown MIT" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-getpass-assert-plus = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-getpass = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-jodid25519-jsbn = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-jodid25519 = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-jsbn = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk-tweetnacl = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-http-signature-sshpk = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-http-signature = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-is-typedarray = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-isstream = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-json-stringify-safe = "ISC" +LICENSE_${PN}-node-red-node-twitter-request-mime-types-mime-db = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-mime-types = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-node-uuid = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-oauth-sign = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-qs = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-stringstream = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-tough-cookie-punycode = "MIT" +LICENSE_${PN}-node-red-node-twitter-request-tough-cookie = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-tunnel-agent = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request = "Unknown" +LICENSE_${PN}-node-red-node-twitter-twitter-ng-oauth = "MIT" +LICENSE_${PN}-node-red-node-twitter-twitter-ng = "Unknown" +LICENSE_${PN}-node-red-node-twitter = "Unknown" +LICENSE_${PN}-nopt-abbrev = "ISC" +LICENSE_${PN}-nopt = "ISC" +LICENSE_${PN}-oauth2orize-debug-ms = "MIT" +LICENSE_${PN}-oauth2orize-debug = "MIT" +LICENSE_${PN}-oauth2orize-uid2 = "MIT" +LICENSE_${PN}-oauth2orize-utils-merge = "MIT" +LICENSE_${PN}-oauth2orize = "MIT" +LICENSE_${PN}-on-headers = "MIT" +LICENSE_${PN}-passport-http-bearer-passport-strategy = "MIT" +LICENSE_${PN}-passport-http-bearer = "MIT" +LICENSE_${PN}-passport-oauth2-client-password-passport-strategy = "MIT" +LICENSE_${PN}-passport-oauth2-client-password = "MIT" +LICENSE_${PN}-passport-passport-strategy = "MIT" +LICENSE_${PN}-passport-pause = "Unknown" +LICENSE_${PN}-passport = "MIT" +LICENSE_${PN}-raw-body-bytes = "MIT" +LICENSE_${PN}-raw-body-iconv-lite = "MIT" +LICENSE_${PN}-raw-body-unpipe = "MIT" +LICENSE_${PN}-raw-body = "MIT" +LICENSE_${PN}-semver = "ISC" +LICENSE_${PN}-sentiment-lodash.assign-lodash.keys = "Unknown" +LICENSE_${PN}-sentiment-lodash.assign-lodash.rest = "Unknown" +LICENSE_${PN}-sentiment-lodash.assign = "Unknown" +LICENSE_${PN}-sentiment = "MIT" +LICENSE_${PN}-uglify-js-async = "MIT" +LICENSE_${PN}-uglify-js-source-map = "Unknown" +LICENSE_${PN}-uglify-js-uglify-to-browserify = "MIT" +LICENSE_${PN}-uglify-js-yargs-camelcase = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-center-align-align-text-kind-of-is-buffer = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-center-align-align-text-kind-of = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-center-align-align-text-longest = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-center-align-align-text-repeat-string = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-center-align-align-text = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-center-align-lazy-cache = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-center-align = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-right-align-align-text-kind-of-is-buffer = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-right-align-align-text-kind-of = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-right-align-align-text-longest = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-right-align-align-text-repeat-string = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-right-align-align-text = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-right-align = "MIT" +LICENSE_${PN}-uglify-js-yargs-cliui-wordwrap = "Unknown" +LICENSE_${PN}-uglify-js-yargs-cliui = "ISC" +LICENSE_${PN}-uglify-js-yargs-decamelize = "MIT" +LICENSE_${PN}-uglify-js-yargs-window-size = "MIT" +LICENSE_${PN}-uglify-js-yargs = "MIT" +LICENSE_${PN}-uglify-js = "Unknown" +LICENSE_${PN}-when = "Unknown" +LICENSE_${PN}-ws-bufferutil-bindings = "Unknown" +LICENSE_${PN}-ws-bufferutil-nan = "Unknown" +LICENSE_${PN}-ws-bufferutil = "Unknown" +LICENSE_${PN}-ws-options = "Unknown" +LICENSE_${PN}-ws-ultron = "MIT" +LICENSE_${PN}-ws-utf-8-validate-bindings = "Unknown" +LICENSE_${PN}-ws-utf-8-validate-nan = "Unknown" +LICENSE_${PN}-ws-utf-8-validate = "Unknown" +LICENSE_${PN}-ws = "Unknown" +LICENSE_${PN}-xml2js-sax = "Unknown" +LICENSE_${PN}-xml2js-xmlbuilder-lodash = "Unknown" +LICENSE_${PN}-xml2js-xmlbuilder = "MIT" +LICENSE_${PN}-xml2js = "MIT" +LICENSE_${PN} = "Unknown" From 4d6ea2b05783d0b19dd952a9a965c30408798ead Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Fri, 25 Nov 2016 16:39:49 +0100 Subject: [PATCH 18/27] example: node-red: fixed issue with dependency versions / missing shrinkwrap file Signed-off-by: Sascha Weisenberger --- .../node-red/node-red/npm-shrinkwrap.json | 2402 +++++++++++++++++ .../recipes-node/node-red/node-red_0.14.6.bb | 15 +- 2 files changed, 2411 insertions(+), 6 deletions(-) create mode 100644 meta-iot2000-example/recipes-node/node-red/node-red/npm-shrinkwrap.json diff --git a/meta-iot2000-example/recipes-node/node-red/node-red/npm-shrinkwrap.json b/meta-iot2000-example/recipes-node/node-red/node-red/npm-shrinkwrap.json new file mode 100644 index 00000000..20499b59 --- /dev/null +++ b/meta-iot2000-example/recipes-node/node-red/node-red/npm-shrinkwrap.json @@ -0,0 +1,2402 @@ +{ + "name": "node-red", + "version": "0.14.6", + "from": "node-red@0.14.6", + "resolved": "https://registry.npmjs.org/node-red/-/node-red-0.14.6.tgz", + "dependencies": { + "basic-auth": { + "version": "1.0.4", + "from": "basic-auth@1.0.4", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz" + }, + "bcryptjs": { + "version": "2.3.0", + "from": "bcryptjs@2.3.0", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.3.0.tgz" + }, + "body-parser": { + "version": "1.15.2", + "from": "body-parser@1.15.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.15.2.tgz", + "dependencies": { + "bytes": { + "version": "2.4.0", + "from": "bytes@2.4.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz" + }, + "content-type": { + "version": "1.0.2", + "from": "content-type@~1.0.2", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz" + }, + "depd": { + "version": "1.1.0", + "from": "depd@~1.1.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" + }, + "http-errors": { + "version": "1.5.1", + "from": "http-errors@~1.5.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.1.tgz", + "dependencies": { + "inherits": { + "version": "2.0.3", + "from": "inherits@2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "setprototypeof": { + "version": "1.0.2", + "from": "setprototypeof@1.0.2", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.2.tgz" + }, + "statuses": { + "version": "1.3.1", + "from": "statuses@>= 1.3.1 < 2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz" + } + } + }, + "iconv-lite": { + "version": "0.4.13", + "from": "iconv-lite@0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz" + }, + "on-finished": { + "version": "2.3.0", + "from": "on-finished@~2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "dependencies": { + "ee-first": { + "version": "1.1.1", + "from": "ee-first@1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + } + } + }, + "qs": { + "version": "6.2.0", + "from": "qs@6.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz" + }, + "type-is": { + "version": "1.6.14", + "from": "type-is@~1.6.13", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.14.tgz", + "dependencies": { + "mime-types": { + "version": "2.1.13", + "from": "mime-types@~2.1.13", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz", + "dependencies": { + "mime-db": { + "version": "1.25.0", + "from": "mime-db@~1.25.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz" + } + } + } + } + } + } + }, + "cheerio": { + "version": "0.19.0", + "from": "cheerio@0.19.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz", + "dependencies": { + "css-select": { + "version": "1.0.0", + "from": "css-select@~1.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.0.0.tgz", + "dependencies": { + "css-what": { + "version": "1.0.0", + "from": "css-what@1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-1.0.0.tgz" + }, + "domutils": { + "version": "1.4.3", + "from": "domutils@1.4", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz", + "dependencies": { + "domelementtype": { + "version": "1.3.0", + "from": "domelementtype@1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz" + } + } + }, + "boolbase": { + "version": "1.0.0", + "from": "boolbase@~1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + }, + "nth-check": { + "version": "1.0.1", + "from": "nth-check@~1.0.0", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz" + } + } + }, + "entities": { + "version": "1.1.1", + "from": "entities@~1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz" + }, + "htmlparser2": { + "version": "3.8.3", + "from": "htmlparser2@~3.8.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "dependencies": { + "domhandler": { + "version": "2.3.0", + "from": "domhandler@2.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz" + }, + "domutils": { + "version": "1.5.1", + "from": "domutils@1.5", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz" + }, + "domelementtype": { + "version": "1.3.0", + "from": "domelementtype@1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz" + }, + "readable-stream": { + "version": "1.1.14", + "from": "readable-stream@1.1", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@~1.0.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@~0.10.x", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@~2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + } + } + }, + "entities": { + "version": "1.0.0", + "from": "entities@1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz" + } + } + }, + "dom-serializer": { + "version": "0.1.0", + "from": "dom-serializer@~0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "from": "domelementtype@~1.1.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz" + } + } + }, + "lodash": { + "version": "3.10.1", + "from": "lodash@^3.2.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" + } + } + }, + "clone": { + "version": "1.0.2", + "from": "clone@1.0.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz" + }, + "cookie-parser": { + "version": "1.4.3", + "from": "cookie-parser@1.4.3", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.3.tgz", + "dependencies": { + "cookie": { + "version": "0.3.1", + "from": "cookie@0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz" + }, + "cookie-signature": { + "version": "1.0.6", + "from": "cookie-signature@1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + } + } + }, + "cors": { + "version": "2.7.1", + "from": "cors@2.7.1", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.7.1.tgz", + "dependencies": { + "vary": { + "version": "1.1.0", + "from": "vary@^1", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz" + } + } + }, + "cron": { + "version": "1.1.0", + "from": "cron@1.1.0", + "resolved": "https://registry.npmjs.org/cron/-/cron-1.1.0.tgz", + "dependencies": { + "moment-timezone": { + "version": "0.3.1", + "from": "moment-timezone@~0.3.0", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.3.1.tgz", + "dependencies": { + "moment": { + "version": "2.17.0", + "from": "moment@>= 2.6.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.17.0.tgz" + } + } + } + } + }, + "debug": { + "version": "2.2.0", + "from": "debug@2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "dependencies": { + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + } + } + }, + "express": { + "version": "4.14.0", + "from": "express@4.14.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.14.0.tgz", + "dependencies": { + "accepts": { + "version": "1.3.3", + "from": "accepts@~1.3.3", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", + "dependencies": { + "mime-types": { + "version": "2.1.13", + "from": "mime-types@~2.1.11", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz", + "dependencies": { + "mime-db": { + "version": "1.25.0", + "from": "mime-db@~1.25.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz" + } + } + }, + "negotiator": { + "version": "0.6.1", + "from": "negotiator@0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz" + } + } + }, + "array-flatten": { + "version": "1.1.1", + "from": "array-flatten@1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + }, + "content-disposition": { + "version": "0.5.1", + "from": "content-disposition@0.5.1", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz" + }, + "content-type": { + "version": "1.0.2", + "from": "content-type@~1.0.2", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz" + }, + "cookie": { + "version": "0.3.1", + "from": "cookie@0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz" + }, + "cookie-signature": { + "version": "1.0.6", + "from": "cookie-signature@1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + }, + "depd": { + "version": "1.1.0", + "from": "depd@~1.1.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" + }, + "encodeurl": { + "version": "1.0.1", + "from": "encodeurl@~1.0.1", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz" + }, + "escape-html": { + "version": "1.0.3", + "from": "escape-html@~1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + }, + "etag": { + "version": "1.7.0", + "from": "etag@~1.7.0", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz" + }, + "finalhandler": { + "version": "0.5.0", + "from": "finalhandler@0.5.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.5.0.tgz", + "dependencies": { + "statuses": { + "version": "1.3.1", + "from": "statuses@~1.3.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz" + }, + "unpipe": { + "version": "1.0.0", + "from": "unpipe@~1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + } + } + }, + "fresh": { + "version": "0.3.0", + "from": "fresh@0.3.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz" + }, + "merge-descriptors": { + "version": "1.0.1", + "from": "merge-descriptors@1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + }, + "methods": { + "version": "1.1.2", + "from": "methods@~1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + }, + "on-finished": { + "version": "2.3.0", + "from": "on-finished@~2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "dependencies": { + "ee-first": { + "version": "1.1.1", + "from": "ee-first@1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + } + } + }, + "parseurl": { + "version": "1.3.1", + "from": "parseurl@~1.3.1", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz" + }, + "path-to-regexp": { + "version": "0.1.7", + "from": "path-to-regexp@0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + }, + "proxy-addr": { + "version": "1.1.2", + "from": "proxy-addr@~1.1.2", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.2.tgz", + "dependencies": { + "forwarded": { + "version": "0.1.0", + "from": "forwarded@~0.1.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz" + }, + "ipaddr.js": { + "version": "1.1.1", + "from": "ipaddr.js@1.1.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.1.1.tgz" + } + } + }, + "qs": { + "version": "6.2.0", + "from": "qs@6.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz" + }, + "range-parser": { + "version": "1.2.0", + "from": "range-parser@~1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + }, + "send": { + "version": "0.14.1", + "from": "send@0.14.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.14.1.tgz", + "dependencies": { + "destroy": { + "version": "1.0.4", + "from": "destroy@~1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" + }, + "http-errors": { + "version": "1.5.1", + "from": "http-errors@~1.5.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.1.tgz", + "dependencies": { + "inherits": { + "version": "2.0.3", + "from": "inherits@2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "setprototypeof": { + "version": "1.0.2", + "from": "setprototypeof@1.0.2", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.2.tgz" + } + } + }, + "mime": { + "version": "1.3.4", + "from": "mime@1.3.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz" + }, + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz" + }, + "statuses": { + "version": "1.3.1", + "from": "statuses@~1.3.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz" + } + } + }, + "serve-static": { + "version": "1.11.1", + "from": "serve-static@~1.11.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.11.1.tgz" + }, + "type-is": { + "version": "1.6.14", + "from": "type-is@~1.6.13", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.14.tgz", + "dependencies": { + "mime-types": { + "version": "2.1.13", + "from": "mime-types@~2.1.11", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz", + "dependencies": { + "mime-db": { + "version": "1.25.0", + "from": "mime-db@~1.25.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz" + } + } + } + } + }, + "utils-merge": { + "version": "1.0.0", + "from": "utils-merge@1.0.0", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" + }, + "vary": { + "version": "1.1.0", + "from": "vary@~1.1.0", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz" + } + } + }, + "follow-redirects": { + "version": "0.2.0", + "from": "follow-redirects@0.2.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-0.2.0.tgz", + "dependencies": { + "stream-consume": { + "version": "0.1.0", + "from": "stream-consume@^0.1.0", + "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz" + } + } + }, + "fs-extra": { + "version": "0.30.0", + "from": "fs-extra@0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "dependencies": { + "graceful-fs": { + "version": "4.1.11", + "from": "graceful-fs@^4.1.2", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz" + }, + "jsonfile": { + "version": "2.4.0", + "from": "jsonfile@^2.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz" + }, + "klaw": { + "version": "1.3.1", + "from": "klaw@^1.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz" + }, + "path-is-absolute": { + "version": "1.0.1", + "from": "path-is-absolute@^1.0.0", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + }, + "rimraf": { + "version": "2.5.4", + "from": "rimraf@^2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", + "dependencies": { + "glob": { + "version": "7.1.1", + "from": "glob@^7.0.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "dependencies": { + "fs.realpath": { + "version": "1.0.0", + "from": "fs.realpath@^1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + }, + "inflight": { + "version": "1.0.6", + "from": "inflight@^1.0.4", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.2", + "from": "wrappy@1", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "minimatch": { + "version": "3.0.3", + "from": "minimatch@^3.0.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "dependencies": { + "brace-expansion": { + "version": "1.1.6", + "from": "brace-expansion@^1.0.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "from": "balanced-match@^0.4.1", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" + }, + "concat-map": { + "version": "0.0.1", + "from": "concat-map@0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + } + } + } + } + }, + "once": { + "version": "1.4.0", + "from": "once@^1.3.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.2", + "from": "wrappy@1", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + } + } + } + } + } + } + }, + "fs.notify": { + "version": "0.0.4", + "from": "fs.notify@0.0.4", + "resolved": "https://registry.npmjs.org/fs.notify/-/fs.notify-0.0.4.tgz", + "dependencies": { + "async": { + "version": "0.1.22", + "from": "async@~0.1.22", + "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz" + }, + "retry": { + "version": "0.6.1", + "from": "retry@~0.6.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.6.1.tgz" + } + } + }, + "i18next": { + "version": "1.10.6", + "from": "i18next@1.10.6", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-1.10.6.tgz", + "dependencies": { + "cookies": { + "version": "0.6.2", + "from": "cookies@>= 0.2.2", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.6.2.tgz", + "dependencies": { + "depd": { + "version": "1.1.0", + "from": "depd@~1.1.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz" + }, + "keygrip": { + "version": "1.0.1", + "from": "keygrip@~1.0.1", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.0.1.tgz" + } + } + }, + "i18next-client": { + "version": "1.10.3", + "from": "i18next-client@1.10.3", + "resolved": "https://registry.npmjs.org/i18next-client/-/i18next-client-1.10.3.tgz" + }, + "json5": { + "version": "0.2.0", + "from": "json5@^0.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.2.0.tgz" + } + } + }, + "is-utf8": { + "version": "0.2.1", + "from": "is-utf8@0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + }, + "media-typer": { + "version": "0.3.0", + "from": "media-typer@0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + }, + "mqtt": { + "version": "1.13.0", + "from": "mqtt@1.13.0", + "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-1.13.0.tgz", + "dependencies": { + "commist": { + "version": "1.0.0", + "from": "commist@^1.0.0", + "resolved": "https://registry.npmjs.org/commist/-/commist-1.0.0.tgz", + "dependencies": { + "leven": { + "version": "1.0.2", + "from": "leven@^1.0.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz" + } + } + }, + "concat-stream": { + "version": "1.5.2", + "from": "concat-stream@^1.4.7", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", + "dependencies": { + "typedarray": { + "version": "0.0.6", + "from": "typedarray@~0.0.5", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + }, + "readable-stream": { + "version": "2.0.6", + "from": "readable-stream@~2.0.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@~1.0.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@~1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "process-nextick-args": { + "version": "1.0.7", + "from": "process-nextick-args@~1.0.6", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@~0.10.x", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@~1.0.1", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + } + } + } + } + }, + "end-of-stream": { + "version": "1.1.0", + "from": "end-of-stream@^1.1.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", + "dependencies": { + "once": { + "version": "1.3.3", + "from": "once@~1.3.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.2", + "from": "wrappy@1", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + } + } + }, + "help-me": { + "version": "0.1.0", + "from": "help-me@^0.1.0", + "resolved": "https://registry.npmjs.org/help-me/-/help-me-0.1.0.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@^2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "minimist": { + "version": "1.2.0", + "from": "minimist@^1.1.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + }, + "mqtt-connection": { + "version": "2.1.1", + "from": "mqtt-connection@^2.0.0", + "resolved": "https://registry.npmjs.org/mqtt-connection/-/mqtt-connection-2.1.1.tgz", + "dependencies": { + "reduplexer": { + "version": "1.1.0", + "from": "reduplexer@^1.1.0", + "resolved": "https://registry.npmjs.org/reduplexer/-/reduplexer-1.1.0.tgz" + }, + "through2": { + "version": "0.6.5", + "from": "through2@^0.6.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz" + } + } + }, + "mqtt-packet": { + "version": "3.4.7", + "from": "mqtt-packet@^3.4.7", + "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-3.4.7.tgz", + "dependencies": { + "bl": { + "version": "0.9.5", + "from": "bl@^0.9.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz" + } + } + }, + "pump": { + "version": "1.0.1", + "from": "pump@^1.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.1.tgz", + "dependencies": { + "once": { + "version": "1.4.0", + "from": "once@^1.3.1", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.2", + "from": "wrappy@1", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + } + } + }, + "readable-stream": { + "version": "1.0.34", + "from": "readable-stream@~1.0.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@~1.0.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@~0.10.x", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + } + } + }, + "reinterval": { + "version": "1.1.0", + "from": "reinterval@^1.0.1", + "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz" + }, + "split2": { + "version": "2.1.0", + "from": "split2@^2.0.1", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.1.0.tgz", + "dependencies": { + "through2": { + "version": "2.0.1", + "from": "through2@~2.0.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "from": "readable-stream@~2.0.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@~1.0.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@~1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "process-nextick-args": { + "version": "1.0.7", + "from": "process-nextick-args@~1.0.6", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@~0.10.x", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@~1.0.1", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + } + } + } + } + } + } + }, + "websocket-stream": { + "version": "3.3.3", + "from": "websocket-stream@^3.0.1", + "resolved": "https://registry.npmjs.org/websocket-stream/-/websocket-stream-3.3.3.tgz", + "dependencies": { + "duplexify": { + "version": "3.5.0", + "from": "duplexify@^3.2.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz", + "dependencies": { + "end-of-stream": { + "version": "1.0.0", + "from": "end-of-stream@1.0.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz", + "dependencies": { + "once": { + "version": "1.3.3", + "from": "once@~1.3.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "dependencies": { + "wrappy": { + "version": "1.0.2", + "from": "wrappy@1", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + } + } + } + } + }, + "readable-stream": { + "version": "2.2.2", + "from": "readable-stream@^2.0.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz", + "dependencies": { + "buffer-shims": { + "version": "1.0.0", + "from": "buffer-shims@^1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" + }, + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@~1.0.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@~1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "process-nextick-args": { + "version": "1.0.7", + "from": "process-nextick-args@~1.0.6", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@~0.10.x", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@~1.0.1", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + } + } + }, + "stream-shift": { + "version": "1.0.0", + "from": "stream-shift@^1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz" + } + } + }, + "through2": { + "version": "2.0.1", + "from": "through2@^2.0.0", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz", + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "from": "readable-stream@~2.0.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@~1.0.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@~1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "process-nextick-args": { + "version": "1.0.7", + "from": "process-nextick-args@~1.0.6", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@~0.10.x", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@~1.0.1", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + } + } + } + } + }, + "ws": { + "version": "1.1.1", + "from": "ws@^1.0.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.1.tgz", + "dependencies": { + "options": { + "version": "0.0.6", + "from": "options@>=0.0.5", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz" + }, + "ultron": { + "version": "1.0.2", + "from": "ultron@1.0.x", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz" + } + } + } + } + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@^4.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + } + } + }, + "mustache": { + "version": "2.2.1", + "from": "mustache@2.2.1", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-2.2.1.tgz" + }, + "node-red-node-email": { + "version": "0.1.12", + "from": "node-red-node-email@0.1.*", + "resolved": "https://registry.npmjs.org/node-red-node-email/-/node-red-node-email-0.1.12.tgz", + "dependencies": { + "nodemailer": { + "version": "1.11.0", + "from": "nodemailer@^1.11.0", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-1.11.0.tgz", + "dependencies": { + "libmime": { + "version": "1.2.0", + "from": "libmime@^1.2.0", + "resolved": "https://registry.npmjs.org/libmime/-/libmime-1.2.0.tgz", + "dependencies": { + "iconv-lite": { + "version": "0.4.15", + "from": "iconv-lite@^0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz" + }, + "libbase64": { + "version": "0.1.0", + "from": "libbase64@^0.1.0", + "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz" + }, + "libqp": { + "version": "1.1.0", + "from": "libqp@^1.1.0", + "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz" + } + } + }, + "mailcomposer": { + "version": "2.1.0", + "from": "mailcomposer@^2.1.0", + "resolved": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-2.1.0.tgz", + "dependencies": { + "buildmail": { + "version": "2.0.0", + "from": "buildmail@^2.0.0", + "resolved": "https://registry.npmjs.org/buildmail/-/buildmail-2.0.0.tgz", + "dependencies": { + "addressparser": { + "version": "0.3.2", + "from": "addressparser@^0.3.2", + "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-0.3.2.tgz" + }, + "libbase64": { + "version": "0.1.0", + "from": "libbase64@^0.1.0", + "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz" + }, + "libqp": { + "version": "1.1.0", + "from": "libqp@^1.1.0", + "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz" + }, + "needle": { + "version": "0.10.0", + "from": "needle@^0.10.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-0.10.0.tgz", + "dependencies": { + "iconv-lite": { + "version": "0.4.15", + "from": "iconv-lite@^0.4.4", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz" + } + } + } + } + } + } + }, + "needle": { + "version": "0.11.0", + "from": "needle@^0.11.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-0.11.0.tgz", + "dependencies": { + "iconv-lite": { + "version": "0.4.15", + "from": "iconv-lite@^0.4.4", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz" + } + } + }, + "nodemailer-direct-transport": { + "version": "1.1.0", + "from": "nodemailer-direct-transport@^1.1.0", + "resolved": "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-1.1.0.tgz", + "dependencies": { + "smtp-connection": { + "version": "1.3.8", + "from": "smtp-connection@^1.3.1", + "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-1.3.8.tgz" + } + } + }, + "nodemailer-smtp-transport": { + "version": "1.1.0", + "from": "nodemailer-smtp-transport@^1.1.0", + "resolved": "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-1.1.0.tgz", + "dependencies": { + "nodemailer-wellknown": { + "version": "0.1.10", + "from": "nodemailer-wellknown@^0.1.7", + "resolved": "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz" + }, + "smtp-connection": { + "version": "1.3.8", + "from": "smtp-connection@^1.3.7", + "resolved": "https://registry.npmjs.org/smtp-connection/-/smtp-connection-1.3.8.tgz" + } + } + } + } + }, + "poplib": { + "version": "0.1.7", + "from": "poplib@^0.1.7", + "resolved": "https://registry.npmjs.org/poplib/-/poplib-0.1.7.tgz", + "dependencies": { + "optimist": { + "version": "0.6.1", + "from": "optimist@*", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "dependencies": { + "wordwrap": { + "version": "0.0.3", + "from": "wordwrap@~0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" + }, + "minimist": { + "version": "0.0.10", + "from": "minimist@~0.0.1", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" + } + } + } + } + }, + "mailparser": { + "version": "0.6.1", + "from": "mailparser@^0.6.0", + "resolved": "https://registry.npmjs.org/mailparser/-/mailparser-0.6.1.tgz", + "dependencies": { + "mimelib": { + "version": "0.2.19", + "from": "mimelib@^0.2.19", + "resolved": "https://registry.npmjs.org/mimelib/-/mimelib-0.2.19.tgz", + "dependencies": { + "addressparser": { + "version": "0.3.2", + "from": "addressparser@~0.3.2", + "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-0.3.2.tgz" + } + } + }, + "encoding": { + "version": "0.1.12", + "from": "encoding@^0.1.11", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "dependencies": { + "iconv-lite": { + "version": "0.4.15", + "from": "iconv-lite@~0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz" + } + } + }, + "mime": { + "version": "1.3.4", + "from": "mime@^1.3.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz" + }, + "uue": { + "version": "3.1.0", + "from": "uue@^3.0.0", + "resolved": "https://registry.npmjs.org/uue/-/uue-3.1.0.tgz", + "dependencies": { + "extend": { + "version": "3.0.0", + "from": "extend@~3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + } + } + } + } + }, + "imap": { + "version": "0.8.18", + "from": "imap@^0.8.17", + "resolved": "https://registry.npmjs.org/imap/-/imap-0.8.18.tgz", + "dependencies": { + "utf7": { + "version": "1.0.2", + "from": "utf7@>=1.0.2", + "resolved": "https://registry.npmjs.org/utf7/-/utf7-1.0.2.tgz" + }, + "readable-stream": { + "version": "1.1.14", + "from": "readable-stream@1.1.x", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@~1.0.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@~0.10.x", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@~2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + } + } + } + } + } + } + }, + "node-red-node-feedparser": { + "version": "0.1.7", + "from": "node-red-node-feedparser@0.1.*", + "resolved": "https://registry.npmjs.org/node-red-node-feedparser/-/node-red-node-feedparser-0.1.7.tgz", + "dependencies": { + "feedparser": { + "version": "1.1.3", + "from": "feedparser@1.1.3", + "resolved": "https://registry.npmjs.org/feedparser/-/feedparser-1.1.3.tgz", + "dependencies": { + "sax": { + "version": "0.6.1", + "from": "sax@~0.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz" + }, + "addressparser": { + "version": "0.1.3", + "from": "addressparser@~0.1.3", + "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-0.1.3.tgz" + }, + "array-indexofobject": { + "version": "0.0.1", + "from": "array-indexofobject@~0.0.1", + "resolved": "https://registry.npmjs.org/array-indexofobject/-/array-indexofobject-0.0.1.tgz" + }, + "readable-stream": { + "version": "1.0.34", + "from": "readable-stream@~1.0.17", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@~1.0.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "isarray": { + "version": "0.0.1", + "from": "isarray@0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@~0.10.x", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@~2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + } + } + } + } + }, + "request": { + "version": "2.74.0", + "from": "request@~2.74.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.74.0.tgz", + "dependencies": { + "aws-sign2": { + "version": "0.6.0", + "from": "aws-sign2@~0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" + }, + "aws4": { + "version": "1.5.0", + "from": "aws4@^1.2.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.5.0.tgz" + }, + "bl": { + "version": "1.1.2", + "from": "bl@~1.1.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz", + "dependencies": { + "readable-stream": { + "version": "2.0.6", + "from": "readable-stream@~2.0.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "from": "core-util-is@~1.0.0", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + }, + "inherits": { + "version": "2.0.3", + "from": "inherits@~2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + }, + "isarray": { + "version": "1.0.0", + "from": "isarray@~1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + }, + "process-nextick-args": { + "version": "1.0.7", + "from": "process-nextick-args@~1.0.6", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz" + }, + "string_decoder": { + "version": "0.10.31", + "from": "string_decoder@~0.10.x", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + }, + "util-deprecate": { + "version": "1.0.2", + "from": "util-deprecate@~1.0.1", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + } + } + } + } + }, + "caseless": { + "version": "0.11.0", + "from": "caseless@~0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" + }, + "combined-stream": { + "version": "1.0.5", + "from": "combined-stream@~1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "dependencies": { + "delayed-stream": { + "version": "1.0.0", + "from": "delayed-stream@~1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + } + } + }, + "extend": { + "version": "3.0.0", + "from": "extend@~3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + }, + "forever-agent": { + "version": "0.6.1", + "from": "forever-agent@~0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + }, + "form-data": { + "version": "1.0.1", + "from": "form-data@~1.0.0-rc4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz", + "dependencies": { + "async": { + "version": "2.1.4", + "from": "async@^2.0.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz", + "dependencies": { + "lodash": { + "version": "4.17.2", + "from": "lodash@^4.14.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz" + } + } + } + } + }, + "har-validator": { + "version": "2.0.6", + "from": "har-validator@~2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "dependencies": { + "chalk": { + "version": "1.1.3", + "from": "chalk@^1.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "from": "ansi-styles@^2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + }, + "escape-string-regexp": { + "version": "1.0.5", + "from": "escape-string-regexp@^1.0.2", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + }, + "has-ansi": { + "version": "2.0.0", + "from": "has-ansi@^2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "from": "ansi-regex@^2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "from": "strip-ansi@^3.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "from": "ansi-regex@^2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + } + } + }, + "supports-color": { + "version": "2.0.0", + "from": "supports-color@^2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + } + } + }, + "commander": { + "version": "2.9.0", + "from": "commander@^2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "dependencies": { + "graceful-readlink": { + "version": "1.0.1", + "from": "graceful-readlink@>= 1.0.0", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" + } + } + }, + "is-my-json-valid": { + "version": "2.15.0", + "from": "is-my-json-valid@^2.12.4", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", + "dependencies": { + "generate-function": { + "version": "2.0.0", + "from": "generate-function@^2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" + }, + "generate-object-property": { + "version": "1.2.0", + "from": "generate-object-property@^1.1.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "dependencies": { + "is-property": { + "version": "1.0.2", + "from": "is-property@^1.0.0", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" + } + } + }, + "jsonpointer": { + "version": "4.0.0", + "from": "jsonpointer@^4.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.0.tgz" + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@^4.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + } + } + }, + "pinkie-promise": { + "version": "2.0.1", + "from": "pinkie-promise@^2.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "dependencies": { + "pinkie": { + "version": "2.0.4", + "from": "pinkie@^2.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + } + } + } + } + }, + "hawk": { + "version": "3.1.3", + "from": "hawk@~3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "dependencies": { + "hoek": { + "version": "2.16.3", + "from": "hoek@2.x.x", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + }, + "boom": { + "version": "2.10.1", + "from": "boom@2.x.x", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + }, + "cryptiles": { + "version": "2.0.5", + "from": "cryptiles@2.x.x", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" + }, + "sntp": { + "version": "1.0.9", + "from": "sntp@1.x.x", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" + } + } + }, + "http-signature": { + "version": "1.1.1", + "from": "http-signature@~1.1.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "dependencies": { + "assert-plus": { + "version": "0.2.0", + "from": "assert-plus@^0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" + }, + "jsprim": { + "version": "1.3.1", + "from": "jsprim@^1.2.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz", + "dependencies": { + "extsprintf": { + "version": "1.0.2", + "from": "extsprintf@1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" + }, + "json-schema": { + "version": "0.2.3", + "from": "json-schema@0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" + }, + "verror": { + "version": "1.3.6", + "from": "verror@1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" + } + } + }, + "sshpk": { + "version": "1.10.1", + "from": "sshpk@^1.7.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.1.tgz", + "dependencies": { + "asn1": { + "version": "0.2.3", + "from": "asn1@~0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" + }, + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@^1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + }, + "dashdash": { + "version": "1.14.1", + "from": "dashdash@^1.12.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" + }, + "getpass": { + "version": "0.1.6", + "from": "getpass@^0.1.1", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz" + }, + "jsbn": { + "version": "0.1.0", + "from": "jsbn@~0.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" + }, + "tweetnacl": { + "version": "0.14.3", + "from": "tweetnacl@~0.14.0", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz" + }, + "jodid25519": { + "version": "1.0.2", + "from": "jodid25519@^1.0.0", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" + }, + "ecc-jsbn": { + "version": "0.1.1", + "from": "ecc-jsbn@~0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" + }, + "bcrypt-pbkdf": { + "version": "1.0.0", + "from": "bcrypt-pbkdf@^1.0.0", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz" + } + } + } + } + }, + "is-typedarray": { + "version": "1.0.0", + "from": "is-typedarray@~1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + }, + "isstream": { + "version": "0.1.2", + "from": "isstream@~0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + }, + "json-stringify-safe": { + "version": "5.0.1", + "from": "json-stringify-safe@~5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + }, + "mime-types": { + "version": "2.1.13", + "from": "mime-types@~2.1.7", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz", + "dependencies": { + "mime-db": { + "version": "1.25.0", + "from": "mime-db@~1.25.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz" + } + } + }, + "node-uuid": { + "version": "1.4.7", + "from": "node-uuid@~1.4.7", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" + }, + "oauth-sign": { + "version": "0.8.2", + "from": "oauth-sign@~0.8.1", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz" + }, + "qs": { + "version": "6.2.1", + "from": "qs@~6.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.1.tgz" + }, + "stringstream": { + "version": "0.0.5", + "from": "stringstream@~0.0.4", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" + }, + "tough-cookie": { + "version": "2.3.2", + "from": "tough-cookie@~2.3.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "dependencies": { + "punycode": { + "version": "1.4.1", + "from": "punycode@^1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + } + } + }, + "tunnel-agent": { + "version": "0.4.3", + "from": "tunnel-agent@~0.4.1", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz" + } + } + } + } + }, + "node-red-node-rbe": { + "version": "0.1.6", + "from": "node-red-node-rbe@0.1.*", + "resolved": "https://registry.npmjs.org/node-red-node-rbe/-/node-red-node-rbe-0.1.6.tgz" + }, + "node-red-node-twitter": { + "version": "0.1.9", + "from": "node-red-node-twitter@0.1.*", + "resolved": "https://registry.npmjs.org/node-red-node-twitter/-/node-red-node-twitter-0.1.9.tgz", + "dependencies": { + "twitter-ng": { + "version": "0.6.2", + "from": "twitter-ng@0.6.2", + "resolved": "https://registry.npmjs.org/twitter-ng/-/twitter-ng-0.6.2.tgz" + }, + "oauth": { + "version": "0.9.14", + "from": "oauth@0.9.14", + "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.14.tgz" + }, + "request": { + "version": "2.79.0", + "from": "request@^2.75.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "dependencies": { + "aws-sign2": { + "version": "0.6.0", + "from": "aws-sign2@~0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" + }, + "aws4": { + "version": "1.5.0", + "from": "aws4@^1.2.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.5.0.tgz" + }, + "caseless": { + "version": "0.11.0", + "from": "caseless@~0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" + }, + "combined-stream": { + "version": "1.0.5", + "from": "combined-stream@~1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "dependencies": { + "delayed-stream": { + "version": "1.0.0", + "from": "delayed-stream@~1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + } + } + }, + "extend": { + "version": "3.0.0", + "from": "extend@~3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" + }, + "forever-agent": { + "version": "0.6.1", + "from": "forever-agent@~0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + }, + "form-data": { + "version": "2.1.2", + "from": "form-data@~2.1.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz", + "dependencies": { + "asynckit": { + "version": "0.4.0", + "from": "asynckit@^0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + } + } + }, + "har-validator": { + "version": "2.0.6", + "from": "har-validator@~2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "dependencies": { + "chalk": { + "version": "1.1.3", + "from": "chalk@^1.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "from": "ansi-styles@^2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + }, + "escape-string-regexp": { + "version": "1.0.5", + "from": "escape-string-regexp@^1.0.2", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + }, + "has-ansi": { + "version": "2.0.0", + "from": "has-ansi@^2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "from": "ansi-regex@^2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "from": "strip-ansi@^3.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "dependencies": { + "ansi-regex": { + "version": "2.0.0", + "from": "ansi-regex@^2.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" + } + } + }, + "supports-color": { + "version": "2.0.0", + "from": "supports-color@^2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + } + } + }, + "commander": { + "version": "2.9.0", + "from": "commander@^2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "dependencies": { + "graceful-readlink": { + "version": "1.0.1", + "from": "graceful-readlink@>= 1.0.0", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" + } + } + }, + "is-my-json-valid": { + "version": "2.15.0", + "from": "is-my-json-valid@^2.12.4", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", + "dependencies": { + "generate-function": { + "version": "2.0.0", + "from": "generate-function@^2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" + }, + "generate-object-property": { + "version": "1.2.0", + "from": "generate-object-property@^1.1.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "dependencies": { + "is-property": { + "version": "1.0.2", + "from": "is-property@^1.0.0", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" + } + } + }, + "jsonpointer": { + "version": "4.0.0", + "from": "jsonpointer@^4.0.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.0.tgz" + }, + "xtend": { + "version": "4.0.1", + "from": "xtend@^4.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" + } + } + }, + "pinkie-promise": { + "version": "2.0.1", + "from": "pinkie-promise@^2.0.0", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "dependencies": { + "pinkie": { + "version": "2.0.4", + "from": "pinkie@^2.0.0", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + } + } + } + } + }, + "hawk": { + "version": "3.1.3", + "from": "hawk@~3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "dependencies": { + "hoek": { + "version": "2.16.3", + "from": "hoek@2.x.x", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + }, + "boom": { + "version": "2.10.1", + "from": "boom@2.x.x", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + }, + "cryptiles": { + "version": "2.0.5", + "from": "cryptiles@2.x.x", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" + }, + "sntp": { + "version": "1.0.9", + "from": "sntp@1.x.x", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" + } + } + }, + "http-signature": { + "version": "1.1.1", + "from": "http-signature@~1.1.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "dependencies": { + "assert-plus": { + "version": "0.2.0", + "from": "assert-plus@^0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" + }, + "jsprim": { + "version": "1.3.1", + "from": "jsprim@^1.2.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz", + "dependencies": { + "extsprintf": { + "version": "1.0.2", + "from": "extsprintf@1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz" + }, + "json-schema": { + "version": "0.2.3", + "from": "json-schema@0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" + }, + "verror": { + "version": "1.3.6", + "from": "verror@1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz" + } + } + }, + "sshpk": { + "version": "1.10.1", + "from": "sshpk@^1.7.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.1.tgz", + "dependencies": { + "asn1": { + "version": "0.2.3", + "from": "asn1@~0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz" + }, + "assert-plus": { + "version": "1.0.0", + "from": "assert-plus@^1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + }, + "dashdash": { + "version": "1.14.1", + "from": "dashdash@^1.12.0", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" + }, + "getpass": { + "version": "0.1.6", + "from": "getpass@^0.1.1", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz" + }, + "jsbn": { + "version": "0.1.0", + "from": "jsbn@~0.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz" + }, + "tweetnacl": { + "version": "0.14.3", + "from": "tweetnacl@~0.14.0", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz" + }, + "jodid25519": { + "version": "1.0.2", + "from": "jodid25519@^1.0.0", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz" + }, + "ecc-jsbn": { + "version": "0.1.1", + "from": "ecc-jsbn@~0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" + }, + "bcrypt-pbkdf": { + "version": "1.0.0", + "from": "bcrypt-pbkdf@^1.0.0", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz" + } + } + } + } + }, + "is-typedarray": { + "version": "1.0.0", + "from": "is-typedarray@~1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + }, + "isstream": { + "version": "0.1.2", + "from": "isstream@~0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + }, + "json-stringify-safe": { + "version": "5.0.1", + "from": "json-stringify-safe@~5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + }, + "mime-types": { + "version": "2.1.13", + "from": "mime-types@~2.1.7", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz", + "dependencies": { + "mime-db": { + "version": "1.25.0", + "from": "mime-db@~1.25.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz" + } + } + }, + "oauth-sign": { + "version": "0.8.2", + "from": "oauth-sign@~0.8.1", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz" + }, + "qs": { + "version": "6.3.0", + "from": "qs@~6.3.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz" + }, + "stringstream": { + "version": "0.0.5", + "from": "stringstream@~0.0.4", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" + }, + "tough-cookie": { + "version": "2.3.2", + "from": "tough-cookie@~2.3.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "dependencies": { + "punycode": { + "version": "1.4.1", + "from": "punycode@^1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + } + } + }, + "tunnel-agent": { + "version": "0.4.3", + "from": "tunnel-agent@~0.4.1", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz" + }, + "uuid": { + "version": "3.0.0", + "from": "uuid@^3.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz" + } + } + } + } + }, + "nopt": { + "version": "3.0.6", + "from": "nopt@3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "dependencies": { + "abbrev": { + "version": "1.0.9", + "from": "abbrev@1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz" + } + } + }, + "oauth2orize": { + "version": "1.4.0", + "from": "oauth2orize@1.4.0", + "resolved": "https://registry.npmjs.org/oauth2orize/-/oauth2orize-1.4.0.tgz", + "dependencies": { + "uid2": { + "version": "0.0.3", + "from": "uid2@0.0.x", + "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz" + }, + "utils-merge": { + "version": "1.0.0", + "from": "utils-merge@1.x.x", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" + } + } + }, + "on-headers": { + "version": "1.0.1", + "from": "on-headers@1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz" + }, + "passport": { + "version": "0.3.2", + "from": "passport@0.3.2", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.3.2.tgz", + "dependencies": { + "passport-strategy": { + "version": "1.0.0", + "from": "passport-strategy@1.x.x", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz" + }, + "pause": { + "version": "0.0.1", + "from": "pause@0.0.1", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz" + } + } + }, + "passport-http-bearer": { + "version": "1.0.1", + "from": "passport-http-bearer@1.0.1", + "resolved": "https://registry.npmjs.org/passport-http-bearer/-/passport-http-bearer-1.0.1.tgz", + "dependencies": { + "passport-strategy": { + "version": "1.0.0", + "from": "passport-strategy@1.x.x", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz" + } + } + }, + "passport-oauth2-client-password": { + "version": "0.1.2", + "from": "passport-oauth2-client-password@0.1.2", + "resolved": "https://registry.npmjs.org/passport-oauth2-client-password/-/passport-oauth2-client-password-0.1.2.tgz", + "dependencies": { + "passport-strategy": { + "version": "1.0.0", + "from": "passport-strategy@1.x.x", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz" + } + } + }, + "raw-body": { + "version": "2.1.7", + "from": "raw-body@2.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", + "dependencies": { + "bytes": { + "version": "2.4.0", + "from": "bytes@2.4.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz" + }, + "iconv-lite": { + "version": "0.4.13", + "from": "iconv-lite@0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz" + }, + "unpipe": { + "version": "1.0.0", + "from": "unpipe@1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + } + } + }, + "semver": { + "version": "5.3.0", + "from": "semver@5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz" + }, + "sentiment": { + "version": "1.0.6", + "from": "sentiment@1.0.6", + "resolved": "https://registry.npmjs.org/sentiment/-/sentiment-1.0.6.tgz", + "dependencies": { + "lodash.assign": { + "version": "4.0.1", + "from": "lodash.assign@4.0.1", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.0.1.tgz", + "dependencies": { + "lodash.keys": { + "version": "4.2.0", + "from": "lodash.keys@^4.0.0", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.2.0.tgz" + }, + "lodash.rest": { + "version": "4.0.5", + "from": "lodash.rest@^4.0.0", + "resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz" + } + } + } + } + }, + "uglify-js": { + "version": "2.7.0", + "from": "uglify-js@2.7.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.0.tgz", + "dependencies": { + "async": { + "version": "0.2.10", + "from": "async@~0.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" + }, + "source-map": { + "version": "0.5.6", + "from": "source-map@~0.5.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz" + }, + "uglify-to-browserify": { + "version": "1.0.2", + "from": "uglify-to-browserify@~1.0.0", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" + }, + "yargs": { + "version": "3.10.0", + "from": "yargs@~3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "dependencies": { + "camelcase": { + "version": "1.2.1", + "from": "camelcase@^1.0.2", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" + }, + "cliui": { + "version": "2.1.0", + "from": "cliui@^2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "dependencies": { + "center-align": { + "version": "0.1.3", + "from": "center-align@^0.1.1", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "dependencies": { + "align-text": { + "version": "0.1.4", + "from": "align-text@^0.1.3", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "dependencies": { + "kind-of": { + "version": "3.0.4", + "from": "kind-of@^3.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz", + "dependencies": { + "is-buffer": { + "version": "1.1.4", + "from": "is-buffer@^1.0.2", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz" + } + } + }, + "longest": { + "version": "1.0.1", + "from": "longest@^1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" + }, + "repeat-string": { + "version": "1.6.1", + "from": "repeat-string@^1.5.2", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + } + } + }, + "lazy-cache": { + "version": "1.0.4", + "from": "lazy-cache@^1.0.3", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" + } + } + }, + "right-align": { + "version": "0.1.3", + "from": "right-align@^0.1.1", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "dependencies": { + "align-text": { + "version": "0.1.4", + "from": "align-text@^0.1.1", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "dependencies": { + "kind-of": { + "version": "3.0.4", + "from": "kind-of@^3.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz", + "dependencies": { + "is-buffer": { + "version": "1.1.4", + "from": "is-buffer@^1.0.2", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz" + } + } + }, + "longest": { + "version": "1.0.1", + "from": "longest@^1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" + }, + "repeat-string": { + "version": "1.6.1", + "from": "repeat-string@^1.5.2", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + } + } + } + } + }, + "wordwrap": { + "version": "0.0.2", + "from": "wordwrap@0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + } + } + }, + "decamelize": { + "version": "1.2.0", + "from": "decamelize@^1.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + }, + "window-size": { + "version": "0.1.0", + "from": "window-size@0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" + } + } + } + } + }, + "when": { + "version": "3.7.7", + "from": "when@3.7.7", + "resolved": "https://registry.npmjs.org/when/-/when-3.7.7.tgz" + }, + "ws": { + "version": "0.8.1", + "from": "ws@0.8.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-0.8.1.tgz", + "dependencies": { + "options": { + "version": "0.0.6", + "from": "options@>=0.0.5", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz" + }, + "ultron": { + "version": "1.0.2", + "from": "ultron@1.0.x", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz" + } + } + }, + "xml2js": { + "version": "0.4.17", + "from": "xml2js@0.4.17", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", + "dependencies": { + "sax": { + "version": "1.2.1", + "from": "sax@>=0.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz" + }, + "xmlbuilder": { + "version": "4.2.1", + "from": "xmlbuilder@^4.1.0", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", + "dependencies": { + "lodash": { + "version": "4.17.2", + "from": "lodash@^4.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz" + } + } + } + } + } + } +} diff --git a/meta-iot2000-example/recipes-node/node-red/node-red_0.14.6.bb b/meta-iot2000-example/recipes-node/node-red/node-red_0.14.6.bb index 391ccaa8..d4a6ba53 100644 --- a/meta-iot2000-example/recipes-node/node-red/node-red_0.14.6.bb +++ b/meta-iot2000-example/recipes-node/node-red/node-red_0.14.6.bb @@ -225,6 +225,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93 \ file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/bcrypt-pbkdf/node_modules/tweetnacl/COPYING.txt;md5=46f67a23fdd589f2f363fa861830f359 \ file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/LICENSE;md5=5ce2f42143c298495637e28e40cd5462 \ + file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/dashdash/LICENSE.txt;md5=ebce61c1a0900d798daaf5853c69ce72 \ file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/LICENSE;md5=5e6d2cd78a8664b38651e01b76a2323a \ file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ file://node_modules/node-red-node-feedparser/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ @@ -323,9 +324,9 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93 \ file://node_modules/sentiment/node_modules/lodash.assign/node_modules/lodash.keys/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ file://node_modules/sentiment/node_modules/lodash.assign/node_modules/lodash.rest/LICENSE;md5=a3b2b7770df62392c164de4001b59f8f \ file://node_modules/cron/node_modules/moment-timezone/LICENSE;md5=a4bc4f89c63be47b29495aa61d6525bc \ - file://node_modules/cron/node_modules/moment-timezone/node_modules/moment/LICENSE;md5=f8a4ce497a1cfb9cfe47a1d983f3f321 \ + file://node_modules/cron/node_modules/moment-timezone/node_modules/moment/LICENSE;md5=397bb5fedab22612d8d69f1458a9321e \ file://node_modules/i18next/license;md5=b352c50e7426c74d9e3ff402e516912b \ - file://node_modules/i18next/node_modules/cookies/LICENSE.txt;md5=53aa5fd667a930886a2fee6fa7c97de8 \ + file://node_modules/i18next/node_modules/cookies/LICENSE;md5=682d05ded140d8b9878944462f099014 \ file://node_modules/i18next/node_modules/cookies/node_modules/keygrip/LICENSE.txt;md5=1860af38bb0bf0190d08c9ddf3d2165f \ file://node_modules/i18next/node_modules/cookies/node_modules/depd/LICENSE;md5=89378960d0c54c30539e50c7a78ce846 \ file://node_modules/i18next/node_modules/i18next-client/license;md5=d79f2ef6f5765f02c4b89fb58dda7352 \ @@ -475,7 +476,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93 \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/stringstream/LICENSE.txt;md5=3b3d0996fc07ae2d89c4659b9ffcbe2e \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/isstream/LICENSE.md;md5=1798150b9d70250c42b55b3530e6af2b \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/tunnel-agent/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ - file://node_modules/node-red-node-twitter/node_modules/request/node_modules/node-uuid/LICENSE.md;md5=465a37064da7d113df228e930a1cfdcd \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/forever-agent/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ @@ -489,6 +489,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93 \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/form-data/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/form-data/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/form-data/node_modules/asynckit/LICENSE;md5=177bc287fb9558bf3ea50b440c1c86ff \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/uuid/LICENSE.md;md5=465a37064da7d113df228e930a1cfdcd \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/jsprim/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ @@ -498,6 +499,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93 \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/bcrypt-pbkdf/node_modules/tweetnacl/COPYING.txt;md5=46f67a23fdd589f2f363fa861830f359 \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/LICENSE;md5=5ce2f42143c298495637e28e40cd5462 \ + file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/dashdash/LICENSE.txt;md5=ebce61c1a0900d798daaf5853c69ce72 \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/LICENSE;md5=5e6d2cd78a8664b38651e01b76a2323a \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ file://node_modules/node-red-node-twitter/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ @@ -670,7 +672,6 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93 \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/stringstream/LICENSE.txt;md5=3b3d0996fc07ae2d89c4659b9ffcbe2e \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/isstream/LICENSE.md;md5=1798150b9d70250c42b55b3530e6af2b \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/tunnel-agent/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ - file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/node-uuid/LICENSE.md;md5=465a37064da7d113df228e930a1cfdcd \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/forever-agent/LICENSE;md5=f3f8ead5440d1c311b45be065d135d90 \ @@ -684,6 +685,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93 \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/form-data/node_modules/mime-types/LICENSE;md5=bf1f9ad1e2e1d507aef4883fff7103de \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/form-data/node_modules/mime-types/node_modules/mime-db/LICENSE;md5=c8d3a30332ecb31cfaf4c0a06da18f5c \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/form-data/node_modules/asynckit/LICENSE;md5=177bc287fb9558bf3ea50b440c1c86ff \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/uuid/LICENSE.md;md5=465a37064da7d113df228e930a1cfdcd \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/jsprim/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/jsprim/node_modules/extsprintf/LICENSE;md5=bc3c23d98d7aa86bbf232058884e19b2 \ @@ -693,6 +695,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93 \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/bcrypt-pbkdf/node_modules/tweetnacl/COPYING.txt;md5=46f67a23fdd589f2f363fa861830f359 \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/getpass/LICENSE;md5=38ecf0a3a3894f404ca99c2a08924afc \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/asn1/LICENSE;md5=5ce2f42143c298495637e28e40cd5462 \ + file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/dashdash/LICENSE.txt;md5=ebce61c1a0900d798daaf5853c69ce72 \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/LICENSE;md5=5e6d2cd78a8664b38651e01b76a2323a \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jodid25519/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ file://node_modules/node-red-node-serialport/node_modules/serialport/node_modules/node-pre-gyp/node_modules/request/node_modules/http-signature/node_modules/sshpk/node_modules/jsbn/LICENSE;md5=c6ea389b6b52325149beeec27075c5ac \ @@ -1622,13 +1625,13 @@ LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-isstream LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-json-stringify-safe = "ISC" LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-mime-types-mime-db = "MIT" LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-mime-types = "MIT" -LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-node-uuid = "MIT" LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-oauth-sign = "Unknown" LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-qs = "Unknown" LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-stringstream = "MIT" LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-tough-cookie-punycode = "MIT" LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-tough-cookie = "Unknown" LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-tunnel-agent = "Unknown" +LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request-uuid = "MIT" LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-request = "Unknown" LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-fs.realpath = "Unknown" LICENSE_${PN}-node-red-node-serialport-serialport-node-pre-gyp-rimraf-glob-inflight-once-wrappy = "ISC" @@ -1896,13 +1899,13 @@ LICENSE_${PN}-node-red-node-twitter-request-isstream = "Unknown" LICENSE_${PN}-node-red-node-twitter-request-json-stringify-safe = "ISC" LICENSE_${PN}-node-red-node-twitter-request-mime-types-mime-db = "MIT" LICENSE_${PN}-node-red-node-twitter-request-mime-types = "MIT" -LICENSE_${PN}-node-red-node-twitter-request-node-uuid = "MIT" LICENSE_${PN}-node-red-node-twitter-request-oauth-sign = "Unknown" LICENSE_${PN}-node-red-node-twitter-request-qs = "Unknown" LICENSE_${PN}-node-red-node-twitter-request-stringstream = "MIT" LICENSE_${PN}-node-red-node-twitter-request-tough-cookie-punycode = "MIT" LICENSE_${PN}-node-red-node-twitter-request-tough-cookie = "Unknown" LICENSE_${PN}-node-red-node-twitter-request-tunnel-agent = "Unknown" +LICENSE_${PN}-node-red-node-twitter-request-uuid = "MIT" LICENSE_${PN}-node-red-node-twitter-request = "Unknown" LICENSE_${PN}-node-red-node-twitter-twitter-ng-oauth = "MIT" LICENSE_${PN}-node-red-node-twitter-twitter-ng = "Unknown" From 49f50bb60c6830234549449df463cc7804e6d171 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Thu, 8 Dec 2016 11:16:19 +0100 Subject: [PATCH 19/27] example: add node-red, dashboard and nodes for gpio handling Signed-off-by: Sascha Weisenberger --- .../recipes-core/images/iot2000-example-image.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc index 80fa3d8d..7ef88e4b 100644 --- a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc +++ b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc @@ -22,7 +22,8 @@ IMAGE_INSTALL_append = " openssh" IMAGE_INSTALL_append = " screen minicom" IMAGE_INSTALL_append = " mraa upm" IMAGE_INSTALL_append = " parted e2fsprogs dosfstools" -IMAGE_INSTALL_append = " nodejs nodejs-npm node-mraa" +IMAGE_INSTALL_append = " nodejs nodejs-npm" +IMAGE_INSTALL_append = " node-red node-red-dashboard node-mraa node-red-node-intel-gpio" IMAGE_INSTALL_append = " curl" IMAGE_INSTALL_append = " pciutils" IMAGE_INSTALL_append = " iptables" From f5fe0e68a7d368d841b081748163682286b0be61 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Thu, 8 Dec 2016 11:26:45 +0100 Subject: [PATCH 20/27] V2.1.2 Signed-off-by: Sascha Weisenberger --- .../recipes-internal/imageversionfile/files/image-release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-iot2000-example/recipes-internal/imageversionfile/files/image-release b/meta-iot2000-example/recipes-internal/imageversionfile/files/image-release index 9ccd83b7..7446d891 100644 --- a/meta-iot2000-example/recipes-internal/imageversionfile/files/image-release +++ b/meta-iot2000-example/recipes-internal/imageversionfile/files/image-release @@ -1 +1 @@ -IMAGE_RELEASE="V2.1.0" +IMAGE_RELEASE="V2.1.2" From af3439440f17b3c9857078fafeb7846120da7aea Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Thu, 8 Dec 2016 13:05:32 +0100 Subject: [PATCH 21/27] readme: added build folder in code snippets for config files Signed-off-by: Sascha Weisenberger --- meta-iot2000-bsp/README.md | 8 ++++---- meta-iot2000-example/README.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/meta-iot2000-bsp/README.md b/meta-iot2000-bsp/README.md index 38b84466..4f1c0e1d 100644 --- a/meta-iot2000-bsp/README.md +++ b/meta-iot2000-bsp/README.md @@ -61,8 +61,8 @@ $ source poky/oe-init-build-env iot2000-build ## Configure: ```diff ---- conf/bblayers.conf.old -+++ conf/bblayers.conf +--- iot2000-build/conf/bblayers.conf.old ++++ iot2000-build/conf/bblayers.conf @@ -9,4 +9,6 @@ /home/build/poky/meta \ /home/build/poky/meta-poky \ @@ -73,8 +73,8 @@ $ source poky/oe-init-build-env iot2000-build ``` ```diff ---- conf/local.conf.old -+++ conf/local.conf +--- iot2000-build/conf/local.conf.old ++++ iot2000-build/conf/local.conf @@ -34,7 +34,7 @@ #MACHINE ?= "edgerouter" # diff --git a/meta-iot2000-example/README.md b/meta-iot2000-example/README.md index dfb67b3f..8e5b2b92 100644 --- a/meta-iot2000-example/README.md +++ b/meta-iot2000-example/README.md @@ -61,8 +61,8 @@ environment. ## Configure: ```diff ---- conf/bblayers.conf.old -+++ conf/bblayers.conf +--- iot2000-build/conf/bblayers.conf.old ++++ iot2000-build/conf/bblayers.conf @@ -9,4 +9,10 @@ /home/build/poky/meta \ /home/build/poky/meta-poky \ @@ -84,8 +84,8 @@ This replaces the changes to conf/bblayers.conf documented in If you want to use the opkg package manager, we highly recommend changing the following line in the local.conf: ```diff ---- conf/local.conf.old -+++ conf/local.conf +--- iot2000-build/conf/local.conf.old ++++ iot2000-build/conf/local.conf @@ -120,7 +120,7 @@ # - 'package_rpm' for rpm style packages # E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" From 0c8451993c84551eb721ae39669a17373b9e2ef9 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Fri, 9 Dec 2016 14:48:33 +0100 Subject: [PATCH 22/27] example: mraa: repair phython module installion issue Signed-off-by: Sascha Weisenberger --- .../recipes-example/mraa/mraa_%.bbappend | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/meta-iot2000-example/recipes-example/mraa/mraa_%.bbappend b/meta-iot2000-example/recipes-example/mraa/mraa_%.bbappend index a1934fe1..9424c5cc 100644 --- a/meta-iot2000-example/recipes-example/mraa/mraa_%.bbappend +++ b/meta-iot2000-example/recipes-example/mraa/mraa_%.bbappend @@ -8,4 +8,15 @@ SRC_URI = "git://github.com/intel-iot-devkit/mraa.git" SRCREV="6f9b470d8d25e2c8ba1586cd9d707b870ab30010" RDEPENDS_${PN}-java = "java2-runtime" -PROVIDES = "node-mraa" \ No newline at end of file + +#include node-mraa so the lib can be used by node-red +PROVIDES = "node-mraa" + +#The mraa project has some trouble installing the module in the right place, so here is an workaround. +#PYTHON_SITEPACKAGES_DIR contains "dist-packages", I really don't know why... + +FILES_python-${PN} = "${PYTHON_SITEPACKAGES_DIR}/../site-packages" +do_install_append(){ + install -d ${D}/usr/lib/python2.7/site-packages/ + cp ${D}/usr/lib/python2.7/dist-packages/* ${D}/usr/lib/python2.7/site-packages +} From da44d9973a219ec74cd22e0f60c01971040002b1 Mon Sep 17 00:00:00 2001 From: Martin Schend Date: Tue, 6 Dec 2016 09:20:02 +0100 Subject: [PATCH 23/27] example: add set-up script for common configuration tasks Signed-off-by: Martin Schend --- .../images/iot2000-example-image.inc | 1 + .../iot2000setup/files/expandfs.sh | 38 ++ .../iot2000setup/files/iot2000setup.py | 503 ++++++++++++++++++ .../iot2000setup/iot2000setup_1.0.bb | 23 + 4 files changed, 565 insertions(+) create mode 100755 meta-iot2000-example/recipes-example/iot2000setup/files/expandfs.sh create mode 100644 meta-iot2000-example/recipes-example/iot2000setup/files/iot2000setup.py create mode 100644 meta-iot2000-example/recipes-example/iot2000setup/iot2000setup_1.0.bb diff --git a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc index 7ef88e4b..9586142a 100644 --- a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc +++ b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc @@ -32,3 +32,4 @@ IMAGE_INSTALL_append = " nano tree" IMAGE_INSTALL_append = " iw wpa-supplicant wireless-tools" IMAGE_INSTALL_append = " galileo-target" IMAGE_INSTALL_append = " firmware-nonfree" +IMAGE_INSTALL_append = " iot2000setup" diff --git a/meta-iot2000-example/recipes-example/iot2000setup/files/expandfs.sh b/meta-iot2000-example/recipes-example/iot2000setup/files/expandfs.sh new file mode 100755 index 00000000..ec72c133 --- /dev/null +++ b/meta-iot2000-example/recipes-example/iot2000setup/files/expandfs.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +DEVICE_TYPE=$(mount | head -n1 | cut -f 1 -d ' ' | cut -f 3 -d / | head -c 1) # returns 's' for boot from USB, 'm' for boot from SD + +if [ $DEVICE_TYPE == "s" ] + then + ROOT_PARTITION="/dev/sda2" + ROOT_DEVICE="/dev/sda" + PART_NUMBER=2 + elif [ $DEVICE_TYPE=="m" ] + then + ROOT_PARTITION="/dev/mmcblk0p2" + ROOT_DEVICE="/dev/mmcblk0" + PART_NUMBER=2 + else + echo "Cannot determine boot device." + exit +fi + +START_BLOCK=$(parted $ROOT_DEVICE -ms unit s p | grep "^2" | cut -f 2 -d: | rev | cut -c 2- | rev) + + +fdisk $ROOT_DEVICE < 0): + # Build list of selected packages + selectedPackages = ct.getSelection() + for package in selectedPackages: + removeList = removeList + package + '* ' + + ret = ButtonChoiceWindow( + gscreen, + "Remove Packages", + "Are you sure you want to remove the following packages: \n\n" + removeList, + buttons=[("OK", "ok"), ("Cancel", "cancel", "ESC")], + width=40) + + if (ret == "ok"): + removeList = "/usr/bin/opkg --force-removal-of-dependent-packages remove " + removeList + gscreen.finish() + print(chr(27) + "[2J") # Clear console + print("\033[1;34mRemoving selected packages...\033[0m\n") + subprocess.call(removeList, shell=True) + + displayStartScreen() + + +def getSerialModeForPort(port): + fileName = "/etc/init.d/set_serial_mode_" + port + ".sh" + + if (os.path.isfile(fileName)): + lines = [line.rstrip('\n') for line in open(fileName)] + selectedMode = lines[1].split()[2] + + if selectedMode == "rs232": + return 0 + elif selectedMode == "rs485": + return 1 + elif selectedMode == "rs422": + return 2 + return 0 + +def configureSerial(): + + portAction, portSelection = ListboxChoiceWindow( + gscreen, + "Configure Serial Mode", "Select the serial port you want to configure and press 'Enter'.", + ["X30", "X31"], + [('Cancel', 'cancel', 'ESC')]) + if (portSelection == 0): + portName = "X30" + else: + portName = "X31" + + currentMode = getSerialModeForPort(portName) + + if (portAction != "cancel"): + modes = ["RS232", "RS485", "RS422"] + + modeAction, modeSelection = ListboxChoiceWindow( + gscreen, + "Configure Serial Mode", "Select a mode.", + modes, + [('Cancel', 'cancel', 'ESC')], default=currentMode) + + if (modeAction != "cancel"): + persistentReturn = ButtonChoiceWindow( + gscreen, + "Configure Serial Mode", + "Do you want to make your changes persistent? (Mode setting will be kept after reboot.) ", + buttons=[("Yes", "yes"), ("No", "no", "ESC")], + width=40) + switchTool = '/usr/bin/switchserialmode' + + if (portSelection == 0): + switchDeviceArg = '/dev/ttyS2' + else: + switchDeviceArg = '/dev/ttyS3' + + switchModeArg = modes[modeSelection].lower() + switchCommand = switchTool + " " + switchDeviceArg + " " + switchModeArg + subprocess.Popen([switchTool, switchDeviceArg, switchModeArg], stdout=open(os.devnull, 'wb')) + + if (persistentReturn == "yes"): + + fileName = "/etc/init.d/set_serial_mode_" + portName + ".sh" + initFile = open(fileName, 'w') + initFile.write("#!/bin/sh\n" + switchCommand) + initFile.close() + + st = os.stat(fileName) + os.chmod(fileName, st.st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH) + + displayStartScreen() + +def changeHostName(): + currentHostName = subprocess.check_output("hostname") + + ret = EntryWindow( + gscreen, + "Change Host Name", + "", + [("Host Name:", currentHostName)], + 1, + 70, 50, + [('OK'), ('Cancel', 'cancel', 'ESC')], + None) + + if (ret[0] == "ok"): + subprocess.Popen(["hostname", ret[1][0].rstrip()], stdout=open(os.devnull, 'wb')) + + displayStartScreen() + +def configureOpkgRepository(): + + ret = EntryWindow( + gscreen, + "Configure OPKG Repository", + "", + [("Host Address:", "")], + 1, + 70, 50, + ['OK', ('Cancel', 'cancel', 'ESC')], + None) + + fileTemplate = '''src/gz all http://[host]/ipk/all +src/gz i586-nlp-32 http://[host]/ipk/i586-nlp-32 +src/gz i586-nlp-32-intel-common http://[host]/ipk/i586-nlp-32-intel-common +src/gz iot2000 http://[host]/ipk/iot2000 +''' + if (ret[0] == "ok"): + opkgConfig = fileTemplate.replace("[host]", ret[1][0].rstrip()) + fileName = "/etc/opkg/iot2000.conf" + + opkgFile = open(fileName, 'w') + opkgFile.write(opkgConfig) + opkgFile.close() + + displayStartScreen() + + +def configureWLAN(): + global networkConfigurationChanged + + ret = EntryWindow( + gscreen, + "Configure WLAN", + "", + [("Type:", "WPA-PSK"), ("SSID:", ""), ("Key:", "")], + 1, + 70, 50, + ['OK', ('Cancel', 'cancel', 'ESC')], + None) + + fileTemplate = '''ctrl_interface=/var/run/wpa_supplicant +ctrl_interface_group=0 +update_config=1 + +network={ + key_mgmt=[type] + ssid="[ssid]" + psk="[passwd]" +}''' + + if (ret[0] == "ok"): + wpaConfig = fileTemplate.replace("[type]", ret[1][0].rstrip()).replace("[ssid]", ret[1][1].rstrip()).replace("[passwd]", ret[1][2].rstrip()) + + fileName = "/etc/wpa_supplicant.conf" + + backupFileName = "/etc/wpa_supplicant.conf.bak" + copyfile(fileName, backupFileName) + + wpaFile = open(fileName, 'w') + wpaFile.write(wpaConfig) + wpaFile.close() + + rv = ButtonChoiceWindow( + gscreen, + "Configure WLAN", + "Your WLAN configuration has been changed. A backup of the old configuration can be found at: " + backupFileName, + buttons=["OK"], + width=40) + + networkConfigurationChanged = 1 + + displayStartScreen() + +def getNetworkInterfaceConfiguration(interface): + lines = [line.rstrip('\n') for line in open('/etc/network/interfaces')] + for lineNumber in range(0, len(lines)-1): + searchString = "auto " + interface + + if (searchString in lines[lineNumber]): + splitLine = lines[lineNumber].split() + + while (splitLine[0] != "iface"): + lineNumber += 1 + splitLine = lines[lineNumber].split() + + mode = splitLine[3] + + if (mode == "dhcp"): + return "dhcp" + if (mode == "static"): + while (splitLine[0] != "address"): + lineNumber += 1 + splitLine = lines[lineNumber].split() + return splitLine[1] + + lineNumber += 1 + + return "dhcp" + +def configureNetworkInterfaces(): + global networkConfigurationChanged + global wifiEnabled + global deviceIsIot2020 + + if deviceIsIot2020: + interfaces = ([('eth0', getNetworkInterfaceConfiguration('eth0'))]) + else: + interfaces = ([('eth0', getNetworkInterfaceConfiguration('eth0')) , ('eth1', getNetworkInterfaceConfiguration('eth1'))]) + + if wifiEnabled: + interfaces.append(('wlan0', getNetworkInterfaceConfiguration('wlan0'))) + + ret = EntryWindow( + gscreen, + "Configure Network Interfaces", + "Specify IP addresses for network interfaces, enter 'dhcp' to obtain address by DHCP.", + interfaces, + 1, + 70, 50, + ['OK', ('Cancel', 'cancel', 'ESC')], + None) + + interfacesConfig = """# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) + +# The loopback interface +auto lo +iface lo inet loopback + +# Wired interfaces +""" + dhcpTemplate = """auto [interfaceName] +iface [interfaceName] inet dhcp + +""" + staticTemplate = """auto [interfaceName] +iface [interfaceName] inet static + address [ip] + netmask 255.255.255.0 + +""" + + wirelessDhcpTemplate = """allow-hotplug wlan0 +auto wlan0 +iface wlan0 inet dhcp + wpa-conf /etc/wpa_supplicant.conf + +""" + wirelessStaticTemplate = """allow-hotplug wlan0 +auto wlan0 +iface wlan0 inet static + address [ip] + netmask 255.255.255.0 + wpa-conf /etc/wpa_supplicant.conf + +""" + + i = 0 + for interface in interfaces: + if (interface[0] == "wlan0"): + if (ret[1][i] == "dhcp"): + interfacesConfig = interfacesConfig + wirelessDhcpTemplate.replace("[interfaceName]", interface[0]) + else: + interfacesConfig = interfacesConfig + wirelessStaticTemplate.replace("[interfaceName]", interface[0]).replace("[ip]", ret[1][i]) + else: + if (ret[1][i] == "dhcp"): + interfacesConfig = interfacesConfig + dhcpTemplate.replace("[interfaceName]", interface[0]) + else: + interfacesConfig = interfacesConfig + staticTemplate.replace("[interfaceName]", interface[0]).replace("[ip]", ret[1][i]) + i += 1 + + if (ret[0] == "ok"): + fileName = "/etc/network/interfaces" + backupFileName = "/etc/network/interfaces.bak" + copyfile(fileName, backupFileName) + interfacesFile = open(fileName, 'w') + interfacesFile.write(interfacesConfig) + interfacesFile.close() + + networkConfigurationChanged = 1 + rv = ButtonChoiceWindow( + gscreen, + "Configure Network Interfaces", + "Your network interfaces have been reconfigured. A backup of the old configuration can be found at: " + backupFileName, + buttons=["OK"], + width=40) + + displayStartScreen() + + +def expandFileSystem(): + + subprocess.call("/etc/iot2000setup/expandfs.sh", stdout=open(os.devnull, 'wb')) + task = subprocess.Popen("df -h | grep '/dev/root' | awk '{print $2}'", stdout=subprocess.PIPE, shell=True) + newPartitionSize = task.stdout.read().lstrip().rstrip() + + rv = ButtonChoiceWindow( + gscreen, + "Expand File System", + "Successfully expanded file system. New partition size is " + newPartitionSize + ".", + buttons=["OK"], + width=40) + + displayStartScreen() + +displayStartScreen() + diff --git a/meta-iot2000-example/recipes-example/iot2000setup/iot2000setup_1.0.bb b/meta-iot2000-example/recipes-example/iot2000setup/iot2000setup_1.0.bb new file mode 100644 index 00000000..46eec02a --- /dev/null +++ b/meta-iot2000-example/recipes-example/iot2000setup/iot2000setup_1.0.bb @@ -0,0 +1,23 @@ +SUMMARY = "Copy iot2000setup files to file system" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${IOT2000_MIT_LICENSE};md5=838c366f69b72c5df05c96dff79b35f2" + +SRC_URI = "file://expandfs.sh file://iot2000setup.py" + +FILES_${PN} += " \ + ${sysconfdir}/iot2000setup/expandfs.sh \ + ${sysconfdir}/iot2000setup/iot2000setup.py \ + ${bindir}/iot2000setup \ +" + +RDEPENDS_${PN} += " libnewt-python" + +do_install() { + install -d ${D}${sysconfdir}/iot2000setup + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/expandfs.sh ${D}${sysconfdir}/iot2000setup/expandfs.sh + install -m 0755 ${WORKDIR}/iot2000setup.py ${D}${sysconfdir}/iot2000setup/iot2000setup.py + ln -sf /etc/iot2000setup/iot2000setup.py ${D}${bindir}/iot2000setup +} + + From 163778b2165fed4c21e9a76441f1d570e4261500 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Tue, 13 Dec 2016 09:13:56 +0100 Subject: [PATCH 24/27] bsp: add script for switching led color on IOT2040 Signed-off-by: Sascha Weisenberger --- .../setledcolor/files/setledcolor.py | 50 +++++++++++++++++++ .../setledcolor/setledcolor_0.1.bb | 17 +++++++ 2 files changed, 67 insertions(+) create mode 100644 meta-iot2000-bsp/recipes-tools/setledcolor/files/setledcolor.py create mode 100644 meta-iot2000-bsp/recipes-tools/setledcolor/setledcolor_0.1.bb diff --git a/meta-iot2000-bsp/recipes-tools/setledcolor/files/setledcolor.py b/meta-iot2000-bsp/recipes-tools/setledcolor/files/setledcolor.py new file mode 100644 index 00000000..fd39d480 --- /dev/null +++ b/meta-iot2000-bsp/recipes-tools/setledcolor/files/setledcolor.py @@ -0,0 +1,50 @@ +#!/usr/bin/python + + +import mraa +import sys +import os + +def redled(state): + redLedFile = "/sys/class/leds/mpio_uart_led:red:user/brightness" + if(not os.path.isfile(redledFile)): + print("Red LED not available") + return + file = open(redLedFile,'w') + if(1==state): + file.write("1") + else: + file.write("0") + file.close() + +def greenled(state): + ledpin = mraa.Gpio(13) + ledpin.dir(mraa.DIR_OUT) + if(1==state): + ledpin.write(1) + else: + ledpin.write(0) + +if(len(sys.argv)<2): + print("Usage: " + sys.argv[0] + " color") + print("color:") + print("0\t\tout") + print("1\t\tgreen") + print("2\t\tred") + print("3\t\torange") + sys.exit() + +x = int(sys.argv[1]) + +if(x%2 == 0): + greenled(0) +else: + greenled(1) + +if(x/2 == 0): + redled(0) +else: + redled(1) + + + diff --git a/meta-iot2000-bsp/recipes-tools/setledcolor/setledcolor_0.1.bb b/meta-iot2000-bsp/recipes-tools/setledcolor/setledcolor_0.1.bb new file mode 100644 index 00000000..85dfb675 --- /dev/null +++ b/meta-iot2000-bsp/recipes-tools/setledcolor/setledcolor_0.1.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "This installs a small python script to handle the led color for the SIMATIC IOT2040" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${IOT2000_MIT_LICENSE};md5=838c366f69b72c5df05c96dff79b35f2" + +SRC_URI = "file://setledcolor.py" + +S = "${WORKDIR}" + +FILES_${PN} += "${sysconfdir}/setledcolor/setledcolor.py \ + ${bindir}/setledcolor" + +do_install() { + install -d ${D}${sysconfdir}/setledcolor + install -d ${D}${bindir} + install -m 755 ${WORKDIR}/setledcolor.py ${D}${sysconfdir}/setledcolor/ + ln -sf /etc/setledcolor/setledcolor.py ${D}${bindir}/setledcolor +} From 81fcc0c198433a3d05ac1825645214bf35c4edb8 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Tue, 13 Dec 2016 09:17:58 +0100 Subject: [PATCH 25/27] example: add sqlite3 to image Signed-off-by: Sascha Weisenberger --- .../recipes-core/images/iot2000-example-image.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc index 9586142a..302726ad 100644 --- a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc +++ b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc @@ -33,3 +33,4 @@ IMAGE_INSTALL_append = " iw wpa-supplicant wireless-tools" IMAGE_INSTALL_append = " galileo-target" IMAGE_INSTALL_append = " firmware-nonfree" IMAGE_INSTALL_append = " iot2000setup" +IMAGE_INSTALL_append = " sqlite3" From 76c9876d6ddcaaf5aada7d05a1534151cc99fe3b Mon Sep 17 00:00:00 2001 From: Martin Schend Date: Mon, 12 Dec 2016 09:30:51 +0100 Subject: [PATCH 26/27] example: set-up tool: add autostart options for ssh and node-red Signed-off-by: Martin Schend --- .../iot2000setup/files/iot2000setup.py | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/meta-iot2000-example/recipes-example/iot2000setup/files/iot2000setup.py b/meta-iot2000-example/recipes-example/iot2000setup/files/iot2000setup.py index 1500e249..c8ade06c 100644 --- a/meta-iot2000-example/recipes-example/iot2000setup/files/iot2000setup.py +++ b/meta-iot2000-example/recipes-example/iot2000setup/files/iot2000setup.py @@ -45,7 +45,7 @@ def displayStartScreen(): menuItems = [ "Change Root Password", "Change Host Name", "Expand File System", "Configure Network Interfaces", "Set up OPKG Repository", - "Remove Unused Packages"] + "Remove Unused Packages", "Advanced Options -->"] if (device == "IOT2020"): deviceIsIot2020 = True @@ -86,26 +86,28 @@ def displayStartScreen(): configureOpkgRepository() elif selection == 5: removeUnusedPackages() - #elif selection == 6: - # advancedOptions() elif selection == 6: + advancedOptions() + elif selection == 7: if (not deviceIsIot2020): configureSerial() elif (wifiEnabled and wifiInterfaceConfigured): configureWLAN() - elif selection == 7: + elif selection == 8: configureWLAN() def changeNodeRedAutoStart(status): if (status == "on"): fileName = "/etc/init.d/launch_node-red.sh" initFile = open(fileName, 'w') - initFile.write("#!/bin/sh\n" + "/usr/bin/node /usr/lib/node_modules/node-red/red &") + initFile.write("#!/bin/sh\n" + "/usr/bin/node /usr/lib/node_modules/node-red/red >/dev/null &") initFile.close() st = os.stat(fileName) os.chmod(fileName, st.st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH) + subprocess.call("update-rc.d launch_node-red.sh defaults", shell=True, stdout=open(os.devnull, 'wb')) elif (status == "off"): + subprocess.call("update-rc.d launch_node-red.sh remove", shell=True, stdout=open(os.devnull, 'wb')) os.remove("/etc/init.d/launch_node-red.sh") def changeSshServerSetting(status): @@ -117,7 +119,10 @@ def changeSshServerSetting(status): subprocess.call("update-rc.d -f sshd remove", shell=True, stdout=open(os.devnull, 'wb')) def advancedOptions(): - sshEnabled = os.path.isfile("/etc/rc0.d/K20sshd") + task = subprocess.Popen("/etc/init.d/sshd status", stdout=subprocess.PIPE, shell=True) + taskReturn = task.stdout.read().lstrip().rstrip() + sshEnabled = "running" in taskReturn + noderedAutostartEnabled = os.path.isfile("/etc/init.d/launch_node-red.sh") bb = ButtonBar(gscreen, [("Done", "done", "ESC")]) @@ -132,7 +137,6 @@ def advancedOptions(): result = g.runOnce() selectedOptions = ct.getSelection() - noderedAutostartEnabledNew = "Auto Start node-red" in selectedOptions sshEnabledNew = "SSH Server Enabled" in selectedOptions @@ -224,7 +228,6 @@ def getSerialModeForPort(port): return 0 def configureSerial(): - portAction, portSelection = ListboxChoiceWindow( gscreen, "Configure Serial Mode", "Select the serial port you want to configure and press 'Enter'.", @@ -265,14 +268,16 @@ def configureSerial(): subprocess.Popen([switchTool, switchDeviceArg, switchModeArg], stdout=open(os.devnull, 'wb')) if (persistentReturn == "yes"): - - fileName = "/etc/init.d/set_serial_mode_" + portName + ".sh" + fileName = "set_serial_mode_" + portName + ".sh" + filePath = "/etc/init.d/" + fileName initFile = open(fileName, 'w') initFile.write("#!/bin/sh\n" + switchCommand) initFile.close() st = os.stat(fileName) os.chmod(fileName, st.st_mode | stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH) + subprocess.call("update-rc.d " + fileName + " defaults", shell=True, stdout=open(os.devnull, 'wb')) + displayStartScreen() @@ -295,7 +300,6 @@ def changeHostName(): displayStartScreen() def configureOpkgRepository(): - ret = EntryWindow( gscreen, "Configure OPKG Repository", @@ -485,7 +489,6 @@ def configureNetworkInterfaces(): def expandFileSystem(): - subprocess.call("/etc/iot2000setup/expandfs.sh", stdout=open(os.devnull, 'wb')) task = subprocess.Popen("df -h | grep '/dev/root' | awk '{print $2}'", stdout=subprocess.PIPE, shell=True) newPartitionSize = task.stdout.read().lstrip().rstrip() From 6ebfb9c67515260bc45f92c72891d79ee1573391 Mon Sep 17 00:00:00 2001 From: Sascha Weisenberger Date: Thu, 15 Dec 2016 15:34:48 +0100 Subject: [PATCH 27/27] example: add i2c-tools to image Signed-off-by: Sascha Weisenberger --- .../recipes-core/images/iot2000-example-image.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc index 302726ad..258cff0a 100644 --- a/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc +++ b/meta-iot2000-example/recipes-core/images/iot2000-example-image.inc @@ -34,3 +34,4 @@ IMAGE_INSTALL_append = " galileo-target" IMAGE_INSTALL_append = " firmware-nonfree" IMAGE_INSTALL_append = " iot2000setup" IMAGE_INSTALL_append = " sqlite3" +IMAGE_INSTALL_append = " i2c-tools"