Projects
osmocom:latest
open5gs
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 5
View file
open5gs_2.4.11.tar.xz/docs/_docs/guide/03-splitting-network-functions.md
Deleted
@@ -1,372 +0,0 @@ ---- -title: Open5GS Splitting Network Functions -head_inline: "<style> .blue { color: blue; } </style>" ---- - -In a production network, NFs are usually not on the same machine as the default example that comes with Open5GS. - -Open5GS is designed to comply with standards, so in theory you can connect core network functions from Open5GS or other vendors to form a functioning network. However, this is only possible if it complies with 3GPP. - -To demonstrate this, we will cover how to isolate each network function and connect each network function to another. For some interfaces, you can specify multiple interfaces to connect to multiple interfaces. - -In this example, we are connecting the Open5GS NF together, but instead of the Open5GS network function, you can easily connect them like other vendors' NFs. - -## 1. Configuring Open5GS (Without other vendors' NFs) - -_Cloud Authentication and Session Management Server_ - -``` -MongoDB = 127.0.0.1 (subscriber data) - http://localhost:3000 -MME-s1ap = 10.10.0.2 :36412 (authVPN) for S1-MME -MME-gtpc = 127.0.0.2 :2123 for S11 -MME-frDi = 127.0.0.2 :3868 for S6a auth -SGWC-gtpc = 127.0.0.3 :2123 for S11 -SGWC-pfcp = 10.10.0.3 :8805 (authVPN) for Sxa -SMF-gtpc = 127.0.0.4 :2123 for S5/8c, N11 -SMF-pfcp = 10.10.0.4 :8805 (authVPN) for N4 -SMF-frDi = 127.0.0.4 :3868 for Gx auth -SMF-sbi = 127.0.0.4 :7777 for 5G SBI (N7,N10,N11) -AMF-ngap = 10.10.0.5 :38412 (authVPN) for N2 -AMF-sbi = 127.0.0.5 :7777 for 5G SBI (N8,N12,N11) -HSS-frDi = 127.0.0.8 :3868 for S6a auth -PCRF-frDi = 127.0.0.9 :3868 for Gx auth -NRF-sbi = 127.0.0.10:7777 for 5G SBI -AUSF-sbi = 127.0.0.11:7777 for 5G SBI -UDM-sbi = 127.0.0.12:7777 for 5G SBI -PCF-sbi = 127.0.0.13:7777 for 5G SBI -NSSF-sbi = 127.0.0.14:7777 for 5G SBI -BSF-sbi = 127.0.0.15:7777 for 5G SBI -UDR-sbi = 127.0.0.20:7777 for 5G SBI -``` - -_Cloud Userplane Server (to host IMS etc)_ - -``` -SGWU-pfcp = 10.10.0.6 :8805 (authVPN) for Sxa -SGWU-gtpu = 10.11.0.6 :2152 (userplaneVPN) for S1-U, S5/8u -UPF-pfcp = 10.10.0.7 :8805 (authVPN) for N4 -UPF-gtpu = 10.11.0.7 :2152 (userplaneVPN) for S5/8u, N3 -``` - -You can refer to the network settings at -{{ site.url }}{{ site.baseurl }}/assets/Open5GS-Diagram.pdf({{ site.url }}{{ site.baseurl }}/assets/Open5GS-Diagram.pdf) provided by @kbarlee(https://github.com/kbarlee) in issue #528(https://github.com/{{ site.github_username }}/open5gs/issues/528) -{: .notice--danger} - -Modify install/etc/open5gs/mme.yaml(https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/mme.yaml.in) to set the S1AP IP address, PLMN ID, and TAC. - -```diff -$ diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml ---- mme.yaml.old 2020-08-22 11:36:40.512418765 -0400 -+++ mme.yaml 2020-08-22 11:36:27.081466682 -0400 -@@ -204,20 +204,20 @@ - mme: - freeDiameter: /home/acetcom/Documents/git/open5gs/install/etc/freeDiameter/mme.conf - s1ap: -- addr: 127.0.0.2 -+ addr: 10.10.0.2 - gtpc: - addr: 127.0.0.2 - gummei: - plmn_id: -- mcc: 001 -- mnc: 01 -+ mcc: 999 -+ mnc: 70 - mme_gid: 2 - mme_code: 1 - tai: - plmn_id: -- mcc: 001 -- mnc: 01 -- tac: 7 -+ mcc: 999 -+ mnc: 70 -+ tac: 1 - security: - integrity_order : EIA1, EIA2, EIA0 - ciphering_order : EEA0, EEA1, EEA2 -``` - -Modify install/etc/open5gs/sgwc.yaml(https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/sgwc.yaml.in) to set the PFCP IP address. -```diff -$ diff -u /etc/open5gs/sgwc.yaml.old /etc/open5gs/sgwc.yaml -@@ -49,7 +49,7 @@ - gtpc: - addr: 127.0.0.3 - pfcp: -- addr: 127.0.0.3 -+ addr: 10.10.0.3 - - # - # sgwu: -@@ -100,7 +100,7 @@ - # - sgwu: - pfcp: -- addr: 127.0.0.6 -+ addr: 10.10.0.6 - - # - # parameter: -``` - -Modify install/etc/open5gs/smf.yaml(https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/smf.yaml.in) to set the PFCP IP address. -```diff -$ diff -u /etc/open5gs/smf.yaml.old /etc/open5gs/smf.yaml ---- smf.yaml.old 2020-08-22 11:37:39.990816411 -0400 -+++ smf.yaml 2020-08-22 11:38:18.647999952 -0400 -@@ -187,8 +187,7 @@ - - addr: 127.0.0.4 - - addr: ::1 - pfcp: -- - addr: 127.0.0.4 -- - addr: ::1 -+ - addr: 10.10.0.4 - subnet: - - addr: 10.45.0.1/16 - - addr: 2001:db8:cafe::1/48 -@@ -282,7 +281,7 @@ - # - upf: - pfcp: -- - addr: 127.0.0.7 -+ - addr: 10.10.0.7 - - # - # parameter: - -``` - -Modify install/etc/open5gs/amf.yaml(https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/amf.yaml.in) to set the NGAP IP address, PLMN ID, TAC and NSSAI. - -```diff -diff -u /etc/open5gs/amf.yaml.old /etc/open5gs/amf.yaml ---- amf.yaml.old 2020-06-21 23:34:14.643114779 -0400 -+++ amf.yaml 2020-06-21 23:34:28.718482095 -0400 -@@ -67,25 +67,25 @@ - - addr: 127.0.0.5 - port: 7777 - ngap: -- - addr: 127.0.0.5 -+ - addr: 10.10.0.5 - guami: - - plmn_id: -- mcc: 001 -- mnc: 01 -+ mcc: 999 -+ mnc: 70 - amf_id: - region: 2 - set: 1 - tai: - - plmn_id: -- mcc: 001 -- mnc: 01 -- tac: 7 -+ mcc: 999 -+ mnc: 70 -+ tac: 1 - plmn_support: - - plmn_id: -- mcc: 001 -- mnc: 01 -+ mcc: 999 -+ mnc: 70 - s_nssai: - - sst: 1 -- - sd: 2 - security: - integrity_order : NIA1, NIA2, NIA0 - ciphering_order : NEA0, NEA1, NEA2 -``` - -Modify install/etc/open5gs/sgwu.yaml(https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/sgwu.yaml.in) to set the GTP-U and PFCP IP address. -```diff -$ diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml ---- sgwu.yaml.old 2020-08-22 11:41:09.214670723 -0400 -+++ sgwu.yaml 2020-08-22 11:41:27.433937124 -0400 -@@ -51,9 +51,9 @@ - # - sgwu: - gtpu: -- addr: 127.0.0.6 -+ addr: 10.11.0.6 - pfcp: -- addr: 127.0.0.6 -+ addr: 10.10.0.6 - - # - # sgwc: -``` - -Modify install/etc/open5gs/upf.yaml(https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/upf.yaml.in) to set the GTP-U and PFCP IP address. -```diff -$ diff -u /etc/open5gs/upf.yaml.old /etc/open5gs/upf.yaml ---- upf.yaml.old 2020-08-22 11:42:57.781750067 -0400 -+++ upf.yaml 2020-08-22 11:43:13.268901616 -0400 -@@ -59,11 +59,9 @@ - # - upf: - pfcp: -- - addr: 127.0.0.7 -+ - addr: 10.10.0.7 - gtpu: -- - addr: -- - 127.0.0.7 -- - ::1 -+ - addr: 10.11.0.7 - subnet: - - addr: 10.45.0.1/16 - - addr: 2001:db8:cafe::1/48 -``` - -After changing conf files, please restart Open5GS daemons. - -```bash -$ sudo systemctl restart open5gs-mmed.service -$ sudo systemctl restart open5gs-sgwcd.service -$ sudo systemctl restart open5gs-smfd.service -$ sudo systemctl restart open5gs-amfd.service -$ sudo systemctl restart open5gs-upfd.service -$ sudo systemctl restart open5gs-sgwud.service -``` - -## 2. External SMF -In it's simplest form the SMF has 4 interfaces: - * S5 - Connection to home network SGW-C (GTP-C) - * Gx - Connection to PCRF (Diameter) - * SBI - Service-based interface(HTTP2) - * Sgi - Connection to external network (Generally the Internet via standard TCP/IP) - -#### S5 Interface Configuration -Edit ```/etc/open5gs/smf.yaml``` and change the address to IP of the server running the SMF for the listener on GTP-C interfaces. - -``` -smf: - freeDiameter: /etc/freeDiameter/smf.conf - gtpc: - addr: - - 10.0.1.121 -``` - -#### Gx Interface Configuration -Edit ```/etc/freeDiameter/smf.conf``` - -Update ```ListenOn``` address to IP of the server running the SMF: - -``` ListenOn = "10.0.1.121"; ``` - -Update ConnectPeer to connect to the PCRF on it's IP. - -```ConnectPeer = "pcrf.localdomain" { ConnectTo = "10.0.1.123"; No_TLS; };``` - -#### Restart Services -Restart Open5GS SMF Daemon: - -``` $ sudo systemctl restart open5gs-smfd.service ``` - - -## 3. External SGW-C -In it's simplest form the SGW-C has 2 interfaces: - * S11 - Connection to MME (GTP-C) - * S5 - Connection to the home network SMF (GTP-C) - -#### S5 Interface Configuration -Edit ```/etc/open5gs/sgwc.yaml``` and change the address to IP of the server running the SGW-C for the listener on GTP-C interface. - -``` -sgwc: - gtpc: - addr: - - 10.0.1.122 -``` - - Restart Open5GS SGW-C Daemon: - -``` $ sudo systemctl restart open5gs-sgwcd.service ``` - - -## 4. External PCRF -In it's simplest from the PCRF has 1 network interface: - * Gx - Connection to SMF (Diameter) - -#### Gx Interface Configuration -Edit ```/etc/freeDiameter/pcrf.conf``` - -Update ```ListenOn``` address to IP of the server running the HSS on it's IP: - -``` ListenOn = "10.0.1.123"; ``` - -Update ConnectPeer to connect to the MME. - -```ConnectPeer = "smf.localdomain" { ConnectTo = "10.0.1.121"; No_TLS; };``` - -#### MongoDB Interface Configuration -Edit the ```db_uri:``` to point at the Open5GS: ```db_uri: mongodb://10.0.1.118/open5gs``` - -Restart Open5GS PCRF Daemon: - -``` $ sudo systemctl restart open5gs-pcrfd.service ``` - -## 5. External HSS -In it's simplest form the HSS has 1 network interface: - * S6a - Connection to MME (Diameter) - -#### S6a Interface Configuration -Edit ```/etc/freeDiameter/hss.conf``` - -Update ```ListenOn``` address to IP of the server running the HSS on it's IP: - -``` ListenOn = "10.0.1.118"; ``` - -Update ConnectPeer to connect to the MME. - -```ConnectPeer = "mme.localdomain" { ConnectTo = "10.0.1.124"; No_TLS; };``` - -Restart Open5GS HSS Daemon: - -``` $ sudo systemctl restart open5gs-hssd.service ``` - -#### MongoDB Interface Configuration (Open5GS specific) -If you are using Open5GS's HSS you may need to enable MongoDB access from the PCRF. This is done by editing ''/etc/mongodb.conf'' and changing the bind IP to: -``` bind_ip = 0.0.0.0 ``` - -Restart MongoDB for changes to take effect. - -``` $ /etc/init.d/mongodb restart ``` - -## 6. External MME -In it's simplest form the MME has 3 interfaces: - * S1AP - Connections from eNodeBs - * S6a - Connection to HSS (Diameter) - * S11 - Connection to SGW-C (GTP-C) - -#### S11 Interface Configuration -Edit ```/etc/open5gs/mme.yaml``` and filling the IP address of the SGW-C and SMF servers. -``` -sgwc: - gtpc: - addr: 10.0.1.122 - -smf: - gtpc: - addr: - - 10.0.1.121 -``` - -#### S6a Interface Configuration -Edit ```/etc/freeDiameter/mme.conf``` - -Update ```ListenOn``` address to IP of the server running the MME: - -``` ListenOn = "10.0.1.124"; ``` - -Update ConnectPeer to connect to the PCRF on it's IP. - -```ConnectPeer = "hss.localdomain" { ConnectTo = "10.0.1.118"; No_TLS; };``` - - -#### Restart Services -Restart Open5GS MME Daemon: - -``` $ sudo systemctl restart open5gs-mmed.service ```
View file
open5gs_2.4.11.tar.xz/src/scp/nnrf-handler.c
Deleted
@@ -1,65 +0,0 @@ -/* - * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com> - * - * This file is part of Open5GS. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -#include "sbi-path.h" -#include "nnrf-handler.h" - -void scp_nnrf_handle_nf_discover( - ogs_sbi_xact_t *xact, ogs_sbi_message_t *recvmsg) -{ - ogs_sbi_nf_instance_t *nf_instance = NULL; - ogs_sbi_object_t *sbi_object = NULL; - ogs_sbi_service_type_e service_type = OGS_SBI_SERVICE_TYPE_NULL; - ogs_sbi_discovery_option_t *discovery_option = NULL; - - OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; - OpenAPI_search_result_t *SearchResult = NULL; - - ogs_assert(recvmsg); - ogs_assert(xact); - sbi_object = xact->sbi_object; - ogs_assert(sbi_object); - service_type = xact->service_type; - ogs_assert(service_type); - target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); - ogs_assert(target_nf_type); - - discovery_option = xact->discovery_option; - - SearchResult = recvmsg->SearchResult; - if (!SearchResult) { - ogs_error("No SearchResult"); - return; - } - - ogs_nnrf_handle_nf_discover_search_result(SearchResult); - - nf_instance = ogs_sbi_nf_instance_find_by_discovery_param( - target_nf_type, discovery_option); - if (!nf_instance) { - ogs_error("(NF discover) No %s", - ogs_sbi_service_type_to_name(service_type)); - return; - } - - OGS_SBI_SETUP_NF_INSTANCE( - sbi_object->service_type_arrayservice_type, nf_instance); - - ogs_expect(true == scp_sbi_send_request(nf_instance, xact)); -}
View file
open5gs_2.4.11.tar.xz/src/scp/nnrf-handler.h
Deleted
@@ -1,36 +0,0 @@ -/* - * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com> - * - * This file is part of Open5GS. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -#ifndef SCP_NNRF_HANDLER_H -#define SCP_NNRF_HANDLER_H - -#include "context.h" - -#ifdef __cplusplus -extern "C" { -#endif - -void scp_nnrf_handle_nf_discover( - ogs_sbi_xact_t *xact, ogs_sbi_message_t *recvmsg); - -#ifdef __cplusplus -} -#endif - -#endif /* SCP_NNRF_HANDLER_H */
View file
open5gs_2.4.11.tar.xz/src/scp/nscp-handler.c
Deleted
@@ -1,27 +0,0 @@ -/* - * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com> - * - * This file is part of Open5GS. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -#include "sbi-path.h" -#include "nscp-handler.h" - -bool scp_nscp_management_handle_pcf_binding( - scp_conn_t *conn, ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg) -{ - return true; -}
View file
open5gs_2.4.11.tar.xz/src/scp/nscp-handler.h
Deleted
@@ -1,36 +0,0 @@ -/* - * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com> - * - * This file is part of Open5GS. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -#ifndef SCP_NSCP_HANDLER_H -#define SCP_NSCP_HANDLER_H - -#include "context.h" - -#ifdef __cplusplus -extern "C" { -#endif - -bool scp_nscp_management_handle_pcf_binding( - scp_conn_t *conn, ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg); - -#ifdef __cplusplus -} -#endif - -#endif /* SCP_NSCP_HANDLER_H */
View file
open5gs_2.4.11.dsc -> open5gs_2.5.0.dsc
Changed
@@ -1,8 +1,8 @@ Format: 3.0 (native) Source: open5gs -Binary: open5gs-common, open5gs-mme, open5gs-sgwc, open5gs-smf, open5gs-amf, open5gs-sgwu, open5gs-upf, open5gs-hss, open5gs-pcrf, open5gs-nrf, open5gs-ausf, open5gs-udm, open5gs-pcf, open5gs-nssf, open5gs-bsf, open5gs-udr, open5gs, open5gs-dbg +Binary: open5gs-common, open5gs-mme, open5gs-sgwc, open5gs-smf, open5gs-amf, open5gs-sgwu, open5gs-upf, open5gs-hss, open5gs-pcrf, open5gs-nrf, open5gs-scp, open5gs-ausf, open5gs-udm, open5gs-pcf, open5gs-nssf, open5gs-bsf, open5gs-udr, open5gs, open5gs-dbg Architecture: any -Version: 2.4.11 +Version: 2.5.0 Maintainer: Harald Welte <laforge@gnumonks.org> Uploaders: Sukchan Lee <acetcom@gmail.com> Homepage: https://open5gs.org @@ -23,6 +23,7 @@ open5gs-nssf deb net optional arch=any open5gs-pcf deb net optional arch=any open5gs-pcrf deb net optional arch=any + open5gs-scp deb net optional arch=any open5gs-sgwc deb net optional arch=any open5gs-sgwu deb net optional arch=any open5gs-smf deb net optional arch=any @@ -30,8 +31,8 @@ open5gs-udr deb net optional arch=any open5gs-upf deb net optional arch=any Checksums-Sha1: - 025adfa9aa77acd9427c62d403010c22ba7564bf 11467980 open5gs_2.4.11.tar.xz + 353601ab80fdfaa7ba7be678b3ad2f488e17d183 11505588 open5gs_2.5.0.tar.xz Checksums-Sha256: - f882f44b40969661e0d37b273104da6beac564990a2402d0fd742f806611d649 11467980 open5gs_2.4.11.tar.xz + 9ac45f2ea81ec312aded1e2965a2c82f48b80cd171d9b28f4e34def8bf989c42 11505588 open5gs_2.5.0.tar.xz Files: - d1e47814afea5b780b3825c5efadf83b 11467980 open5gs_2.4.11.tar.xz + 2b75dbf387ceb7be5b709adde0f19d09 11505588 open5gs_2.5.0.tar.xz
View file
open5gs_2.4.11.tar.xz/.tarball-version -> open5gs_2.5.0.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -2.4.11 +2.5.0
View file
open5gs_2.4.11.tar.xz/README.md -> open5gs_2.5.0.tar.xz/README.md
Changed
@@ -2,7 +2,7 @@ ## Getting Started -If you don't understand something about Open5GS, the https://open5gs.org/open5gs/docs/(https://open5gs.org/open5gs/docs/) is a great place to look for answers. +Please follow the documentation(https://open5gs.org/open5gs/docs/) at open5gs.org(https://open5gs.org/)! ## Sponsors
View file
open5gs_2.4.11.tar.xz/configs/310014.yaml.in -> open5gs_2.5.0.tar.xz/configs/310014.yaml.in
Changed
@@ -221,7 +221,7 @@ - addr: 127.0.0.14 port: 7777 nsi: - - addr: ::1 + - addr: 127.0.0.10 port: 7777 s_nssai: sst: 1
View file
open5gs_2.4.11.tar.xz/configs/csfb.yaml.in -> open5gs_2.5.0.tar.xz/configs/csfb.yaml.in
Changed
@@ -250,7 +250,7 @@ - addr: 127.0.0.14 port: 7777 nsi: - - addr: ::1 + - addr: 127.0.0.10 port: 7777 s_nssai: sst: 1
View file
open5gs_2.4.11.tar.xz/configs/non3gpp.yaml.in -> open5gs_2.5.0.tar.xz/configs/non3gpp.yaml.in
Changed
@@ -220,7 +220,7 @@ - addr: 127.0.0.14 port: 7777 nsi: - - addr: ::1 + - addr: 127.0.0.10 port: 7777 s_nssai: sst: 1
View file
open5gs_2.4.11.tar.xz/configs/open5gs/amf.yaml.in -> open5gs_2.5.0.tar.xz/configs/open5gs/amf.yaml.in
Changed
@@ -20,6 +20,7 @@ # logger: file: @localstatedir@/log/open5gs/amf.log + # # amf: # @@ -118,6 +119,29 @@ # 'service-names' is always included in the URI query parameter. # * That is, 'no_service_names' has no effect. # +# <For Indirect Communication with Delegated Discovery> +# +# o (Default) If you do not set Delegated Discovery as shown below, +# +# sbi: +# - addr: 127.0.0.5 +# port: 7777 +# +# - Use SCP if SCP avaiable. Otherwise NRF is used. +# => App fails if both NRF and SCP are unavailable. +# +# sbi: +# - addr: 127.0.0.5 +# port: 7777 +# discovery: +# delegated: auto +# +# o To use SCP always => App fails if no SCP available. +# delegated: yes +# +# o Don't use SCP server => App fails if no NRF available. +# delegated: no +# # <NGAP Server>> # # o NGAP Server(all address available) @@ -299,6 +323,50 @@ amf_name: open5gs-amf0 # +# scp: +# +# <SBI Client>> +# +# o SBI Client(http://127.0.1.10:7777) +# sbi: +# addr: 127.0.1.10 +# port: 7777 +# +# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80) +# sbi: +# - addr: 127.0.1.10 +# tls: +# key: scp.key +# pem: scp.pem +# - name: scp.open5gs.org +# +# o SBI Client(http://fd69:f21d:873c:fb::1:80) +# If prefer_ipv4 is true, http://127.0.1.10:80 is selected. +# +# sbi: +# addr: +# - 127.0.1.10 +# - fd69:f21d:873c:fb::1 +# +# o SBI Option (Default) +# - tcp_nodelay : true +# - so_linger.l_onoff : false +# +# sbi: +# addr: 127.0.1.10 +# option: +# tcp_nodelay: false +# so_linger: +# l_onoff: true +# l_linger: 10 +# +# +scp: + sbi: + - addr: 127.0.1.10 + port: 7777 + +# # nrf: # # <SBI Client>> @@ -336,12 +404,12 @@ # l_onoff: true # l_linger: 10 # -nrf: - sbi: - - addr: - - 127.0.0.10 - - ::1 - port: 7777 +#nrf: +# sbi: +# - addr: +# - 127.0.0.10 +# - ::1 +# port: 7777 # # parameter:
View file
open5gs_2.4.11.tar.xz/configs/open5gs/ausf.yaml.in -> open5gs_2.5.0.tar.xz/configs/open5gs/ausf.yaml.in
Changed
@@ -20,6 +20,7 @@ # logger: file: @localstatedir@/log/open5gs/ausf.log + # # ausf: # @@ -118,12 +119,79 @@ # 'service-names' is always included in the URI query parameter. # * That is, 'no_service_names' has no effect. # +# <For Indirect Communication with Delegated Discovery> +# +# o (Default) If you do not set Delegated Discovery as shown below, +# +# sbi: +# - addr: 127.0.0.11 +# port: 7777 +# +# - Use SCP if SCP avaiable. Otherwise NRF is used. +# => App fails if both NRF and SCP are unavailable. +# +# sbi: +# - addr: 127.0.0.11 +# port: 7777 +# discovery: +# delegated: auto +# +# o To use SCP always => App fails if no SCP available. +# delegated: yes +# +# o Don't use SCP server => App fails if no NRF available. +# delegated: no +# ausf: sbi: - addr: 127.0.0.11 port: 7777 # +# scp: +# +# <SBI Client>> +# +# o SBI Client(http://127.0.1.10:7777) +# sbi: +# addr: 127.0.1.10 +# port: 7777 +# +# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80) +# sbi: +# - addr: 127.0.1.10 +# tls: +# key: scp.key +# pem: scp.pem +# - name: scp.open5gs.org +# +# o SBI Client(http://fd69:f21d:873c:fb::1:80) +# If prefer_ipv4 is true, http://127.0.1.10:80 is selected. +# +# sbi: +# addr: +# - 127.0.1.10 +# - fd69:f21d:873c:fb::1 +# +# o SBI Option (Default) +# - tcp_nodelay : true +# - so_linger.l_onoff : false +# +# sbi: +# addr: 127.0.1.10 +# option: +# tcp_nodelay: false +# so_linger: +# l_onoff: true +# l_linger: 10 +# +# +scp: + sbi: + - addr: 127.0.1.10 + port: 7777 + +# # nrf: # # <SBI Client>> @@ -161,12 +229,12 @@ # l_onoff: true # l_linger: 10 # -nrf: - sbi: - - addr: - - 127.0.0.10 - - ::1 - port: 7777 +#nrf: +# sbi: +# - addr: +# - 127.0.0.10 +# - ::1 +# port: 7777 # # parameter:
View file
open5gs_2.4.11.tar.xz/configs/open5gs/bsf.yaml.in -> open5gs_2.5.0.tar.xz/configs/open5gs/bsf.yaml.in
Changed
@@ -22,6 +22,7 @@ # logger: file: @localstatedir@/log/open5gs/bsf.log + # # bsf: # @@ -120,12 +121,79 @@ # 'service-names' is always included in the URI query parameter. # * That is, 'no_service_names' has no effect. # +# <For Indirect Communication with Delegated Discovery> +# +# o (Default) If you do not set Delegated Discovery as shown below, +# +# sbi: +# - addr: 127.0.0.15 +# port: 7777 +# +# - Use SCP if SCP avaiable. Otherwise NRF is used. +# => App fails if both NRF and SCP are unavailable. +# +# sbi: +# - addr: 127.0.0.15 +# port: 7777 +# discovery: +# delegated: auto +# +# o To use SCP always => App fails if no SCP available. +# delegated: yes +# +# o Don't use SCP server => App fails if no NRF available. +# delegated: no +# bsf: sbi: - addr: 127.0.0.15 port: 7777 # +# scp: +# +# <SBI Client>> +# +# o SBI Client(http://127.0.1.10:7777) +# sbi: +# addr: 127.0.1.10 +# port: 7777 +# +# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80) +# sbi: +# - addr: 127.0.1.10 +# tls: +# key: scp.key +# pem: scp.pem +# - name: scp.open5gs.org +# +# o SBI Client(http://fd69:f21d:873c:fb::1:80) +# If prefer_ipv4 is true, http://127.0.1.10:80 is selected. +# +# sbi: +# addr: +# - 127.0.1.10 +# - fd69:f21d:873c:fb::1 +# +# o SBI Option (Default) +# - tcp_nodelay : true +# - so_linger.l_onoff : false +# +# sbi: +# addr: 127.0.1.10 +# option: +# tcp_nodelay: false +# so_linger: +# l_onoff: true +# l_linger: 10 +# +# +scp: + sbi: + - addr: 127.0.1.10 + port: 7777 + +# # nrf: # # <SBI Client>> @@ -163,12 +231,12 @@ # l_onoff: true # l_linger: 10 # -nrf: - sbi: - - addr: - - 127.0.0.10 - - ::1 - port: 7777 +#nrf: +# sbi: +# - addr: +# - 127.0.0.10 +# - ::1 +# port: 7777 # # parameter:
View file
open5gs_2.4.11.tar.xz/configs/open5gs/nrf.yaml.in -> open5gs_2.5.0.tar.xz/configs/open5gs/nrf.yaml.in
Changed
@@ -93,6 +93,50 @@ port: 7777 # +# scp: +# +# <SBI Client>> +# +# o SBI Client(http://127.0.1.10:7777) +# sbi: +# addr: 127.0.1.10 +# port: 7777 +# +# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80) +# sbi: +# - addr: 127.0.1.10 +# tls: +# key: scp.key +# pem: scp.pem +# - name: scp.open5gs.org +# +# o SBI Client(http://fd69:f21d:873c:fb::1:80) +# If prefer_ipv4 is true, http://127.0.1.10:80 is selected. +# +# sbi: +# addr: +# - 127.0.1.10 +# - fd69:f21d:873c:fb::1 +# +# o SBI Option (Default) +# - tcp_nodelay : true +# - so_linger.l_onoff : false +# +# sbi: +# addr: 127.0.1.10 +# option: +# tcp_nodelay: false +# so_linger: +# l_onoff: true +# l_linger: 10 +# +# +scp: + sbi: + - addr: 127.0.1.10 + port: 7777 + +# # parameter: # # o Disable use of IPv4 addresses (only IPv6)
View file
open5gs_2.4.11.tar.xz/configs/open5gs/nssf.yaml.in -> open5gs_2.5.0.tar.xz/configs/open5gs/nssf.yaml.in
Changed
@@ -20,6 +20,7 @@ # logger: file: @localstatedir@/log/open5gs/nssf.log + # # nssf: # @@ -168,17 +169,84 @@ # 'service-names' is always included in the URI query parameter. # * That is, 'no_service_names' has no effect. # +# <For Indirect Communication with Delegated Discovery> +# +# o (Default) If you do not set Delegated Discovery as shown below, +# +# sbi: +# - addr: 127.0.0.14 +# port: 7777 +# +# - Use SCP if SCP avaiable. Otherwise NRF is used. +# => App fails if both NRF and SCP are unavailable. +# +# sbi: +# - addr: 127.0.0.14 +# port: 7777 +# discovery: +# delegated: auto +# +# o To use SCP always => App fails if no SCP available. +# delegated: yes +# +# o Don't use SCP server => App fails if no NRF available. +# delegated: no +# nssf: sbi: - addr: 127.0.0.14 port: 7777 nsi: - - addr: ::1 + - addr: 127.0.0.10 port: 7777 s_nssai: sst: 1 # +# scp: +# +# <SBI Client>> +# +# o SBI Client(http://127.0.1.10:7777) +# sbi: +# addr: 127.0.1.10 +# port: 7777 +# +# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80) +# sbi: +# - addr: 127.0.1.10 +# tls: +# key: scp.key +# pem: scp.pem +# - name: scp.open5gs.org +# +# o SBI Client(http://fd69:f21d:873c:fb::1:80) +# If prefer_ipv4 is true, http://127.0.1.10:80 is selected. +# +# sbi: +# addr: +# - 127.0.1.10 +# - fd69:f21d:873c:fb::1 +# +# o SBI Option (Default) +# - tcp_nodelay : true +# - so_linger.l_onoff : false +# +# sbi: +# addr: 127.0.1.10 +# option: +# tcp_nodelay: false +# so_linger: +# l_onoff: true +# l_linger: 10 +# +# +scp: + sbi: + - addr: 127.0.1.10 + port: 7777 + +# # nrf: # # <SBI Client>> @@ -204,12 +272,12 @@ # - 127.0.0.10 # - fd69:f21d:873c:fa::1 # -nrf: - sbi: - - addr: - - 127.0.0.10 - - ::1 - port: 7777 +#nrf: +# sbi: +# - addr: +# - 127.0.0.10 +# - ::1 +# port: 7777 # # parameter:
View file
open5gs_2.4.11.tar.xz/configs/open5gs/pcf.yaml.in -> open5gs_2.5.0.tar.xz/configs/open5gs/pcf.yaml.in
Changed
@@ -22,6 +22,7 @@ # logger: file: @localstatedir@/log/open5gs/pcf.log + # # pcf: # @@ -127,12 +128,79 @@ # 'service-names' is always included in the URI query parameter. # * That is, 'no_service_names' has no effect. # +# <For Indirect Communication with Delegated Discovery> +# +# o (Default) If you do not set Delegated Discovery as shown below, +# +# sbi: +# - addr: 127.0.0.13 +# port: 7777 +# +# - Use SCP if SCP avaiable. Otherwise NRF is used. +# => App fails if both NRF and SCP are unavailable. +# +# sbi: +# - addr: 127.0.0.13 +# port: 7777 +# discovery: +# delegated: auto +# +# o To use SCP always => App fails if no SCP available. +# delegated: yes +# +# o Don't use SCP server => App fails if no NRF available. +# delegated: no +# pcf: sbi: - addr: 127.0.0.13 port: 7777 # +# scp: +# +# <SBI Client>> +# +# o SBI Client(http://127.0.1.10:7777) +# sbi: +# addr: 127.0.1.10 +# port: 7777 +# +# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80) +# sbi: +# - addr: 127.0.1.10 +# tls: +# key: scp.key +# pem: scp.pem +# - name: scp.open5gs.org +# +# o SBI Client(http://fd69:f21d:873c:fb::1:80) +# If prefer_ipv4 is true, http://127.0.1.10:80 is selected. +# +# sbi: +# addr: +# - 127.0.1.10 +# - fd69:f21d:873c:fb::1 +# +# o SBI Option (Default) +# - tcp_nodelay : true +# - so_linger.l_onoff : false +# +# sbi: +# addr: 127.0.1.10 +# option: +# tcp_nodelay: false +# so_linger: +# l_onoff: true +# l_linger: 10 +# +# +scp: + sbi: + - addr: 127.0.1.10 + port: 7777 + +# # nrf: # # <SBI Client>> @@ -170,12 +238,12 @@ # l_onoff: true # l_linger: 10 # -nrf: - sbi: - - addr: - - 127.0.0.10 - - ::1 - port: 7777 +#nrf: +# sbi: +# - addr: +# - 127.0.0.10 +# - ::1 +# port: 7777 # # parameter:
View file
open5gs_2.4.11.tar.xz/configs/open5gs/scp.yaml.in -> open5gs_2.5.0.tar.xz/configs/open5gs/scp.yaml.in
Changed
@@ -88,19 +88,10 @@ # l_onoff: true # l_linger: 10 # -# <Next hop SCP> -# -# o Next hop SCP Server(https://127.0.1.11:7777) -# next_scp: -# sbi: -# - addr: 127.0.1.11 -# port: 7777 -# # <For Indirect Communication with Delegated Discovery> # # o (Default) If you do not set Delegated Discovery as shown below, # -# next_scp: # sbi: # - addr: 127.0.1.10 # port: 7777 @@ -108,7 +99,6 @@ # - Use SCP if SCP avaiable. Otherwise NRF is used. # => App fails if both NRF and SCP are unavailable. # -# next_scp: # sbi: # - addr: 127.0.1.10 # port: 7777 @@ -127,6 +117,45 @@ port: 7777 # +# next_scp: +# +# <Next hop SCP> +# +# o SBI Client(http://127.0.1.11:7777) +# sbi: +# addr: 127.0.1.11 +# port: 7777 +# +# o SBI Client(https://127.0.1.11:443, http://next-scp.open5gs.org:80) +# sbi: +# - addr: 127.0.1.11 +# tls: +# key: next-scp.key +# pem: next-scp.pem +# - name: next-scp.open5gs.org +# +# o SBI Client(http://fd69:f21d:873c:fb::1:80) +# If prefer_ipv4 is true, http://127.0.1.11:80 is selected. +# +# sbi: +# addr: +# - 127.0.1.11 +# - fd69:f21d:873c:fb::1 +# +# o SBI Option (Default) +# - tcp_nodelay : true +# - so_linger.l_onoff : false +# +# sbi: +# addr: 127.0.1.11 +# option: +# tcp_nodelay: false +# so_linger: +# l_onoff: true +# l_linger: 10 +# + +# # nrf: # # <SBI Client>>
View file
open5gs_2.4.11.tar.xz/configs/open5gs/smf.yaml.in -> open5gs_2.5.0.tar.xz/configs/open5gs/smf.yaml.in
Changed
@@ -20,6 +20,7 @@ # logger: file: @localstatedir@/log/open5gs/smf.log + # # smf: # @@ -118,6 +119,29 @@ # 'service-names' is always included in the URI query parameter. # * That is, 'no_service_names' has no effect. # +# <For Indirect Communication with Delegated Discovery> +# +# o (Default) If you do not set Delegated Discovery as shown below, +# +# sbi: +# - addr: 127.0.0.4 +# port: 7777 +# +# - Use SCP if SCP avaiable. Otherwise NRF is used. +# => App fails if both NRF and SCP are unavailable. +# +# sbi: +# - addr: 127.0.0.4 +# port: 7777 +# discovery: +# delegated: auto +# +# o To use SCP always => App fails if no SCP available. +# delegated: yes +# +# o Don't use SCP server => App fails if no NRF available. +# delegated: no +# # # <PFCP Server> # @@ -447,6 +471,50 @@ freeDiameter: @sysconfdir@/freeDiameter/smf.conf # +# scp: +# +# <SBI Client>> +# +# o SBI Client(http://127.0.1.10:7777) +# sbi: +# addr: 127.0.1.10 +# port: 7777 +# +# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80) +# sbi: +# - addr: 127.0.1.10 +# tls: +# key: scp.key +# pem: scp.pem +# - name: scp.open5gs.org +# +# o SBI Client(http://fd69:f21d:873c:fb::1:80) +# If prefer_ipv4 is true, http://127.0.1.10:80 is selected. +# +# sbi: +# addr: +# - 127.0.1.10 +# - fd69:f21d:873c:fb::1 +# +# o SBI Option (Default) +# - tcp_nodelay : true +# - so_linger.l_onoff : false +# +# sbi: +# addr: 127.0.1.10 +# option: +# tcp_nodelay: false +# so_linger: +# l_onoff: true +# l_linger: 10 +# +# +scp: + sbi: + - addr: 127.0.1.10 + port: 7777 + +# # nrf: # # <SBI Client>> @@ -484,12 +552,12 @@ # l_onoff: true # l_linger: 10 # -nrf: - sbi: - - addr: - - 127.0.0.10 - - ::1 - port: 7777 +#nrf: +# sbi: +# - addr: +# - 127.0.0.10 +# - ::1 +# port: 7777 # # upf:
View file
open5gs_2.4.11.tar.xz/configs/open5gs/udm.yaml.in -> open5gs_2.5.0.tar.xz/configs/open5gs/udm.yaml.in
Changed
@@ -20,6 +20,7 @@ # logger: file: @localstatedir@/log/open5gs/udm.log + # # udm: # @@ -120,12 +121,79 @@ # 'service-names' is always included in the URI query parameter. # * That is, 'no_service_names' has no effect. # +# <For Indirect Communication with Delegated Discovery> +# +# o (Default) If you do not set Delegated Discovery as shown below, +# +# sbi: +# - addr: 127.0.0.12 +# port: 7777 +# +# - Use SCP if SCP avaiable. Otherwise NRF is used. +# => App fails if both NRF and SCP are unavailable. +# +# sbi: +# - addr: 127.0.0.12 +# port: 7777 +# discovery: +# delegated: auto +# +# o To use SCP always => App fails if no SCP available. +# delegated: yes +# +# o Don't use SCP server => App fails if no NRF available. +# delegated: no +# udm: sbi: - addr: 127.0.0.12 port: 7777 # +# scp: +# +# <SBI Client>> +# +# o SBI Client(http://127.0.1.10:7777) +# sbi: +# addr: 127.0.1.10 +# port: 7777 +# +# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80) +# sbi: +# - addr: 127.0.1.10 +# tls: +# key: scp.key +# pem: scp.pem +# - name: scp.open5gs.org +# +# o SBI Client(http://fd69:f21d:873c:fb::1:80) +# If prefer_ipv4 is true, http://127.0.1.10:80 is selected. +# +# sbi: +# addr: +# - 127.0.1.10 +# - fd69:f21d:873c:fb::1 +# +# o SBI Option (Default) +# - tcp_nodelay : true +# - so_linger.l_onoff : false +# +# sbi: +# addr: 127.0.1.10 +# option: +# tcp_nodelay: false +# so_linger: +# l_onoff: true +# l_linger: 10 +# +# +scp: + sbi: + - addr: 127.0.1.10 + port: 7777 + +# # nrf: # # <SBI Client>> @@ -163,12 +231,12 @@ # l_onoff: true # l_linger: 10 # -nrf: - sbi: - - addr: - - 127.0.0.10 - - ::1 - port: 7777 +#nrf: +# sbi: +# - addr: +# - 127.0.0.10 +# - ::1 +# port: 7777 # # parameter:
View file
open5gs_2.4.11.tar.xz/configs/open5gs/udr.yaml.in -> open5gs_2.5.0.tar.xz/configs/open5gs/udr.yaml.in
Changed
@@ -22,6 +22,7 @@ # logger: file: @localstatedir@/log/open5gs/udr.log + # # udr: # @@ -120,12 +121,79 @@ # 'service-names' is always included in the URI query parameter. # * That is, 'no_service_names' has no effect. # +# <For Indirect Communication with Delegated Discovery> +# +# o (Default) If you do not set Delegated Discovery as shown below, +# +# sbi: +# - addr: 127.0.0.20 +# port: 7777 +# +# - Use SCP if SCP avaiable. Otherwise NRF is used. +# => App fails if both NRF and SCP are unavailable. +# +# sbi: +# - addr: 127.0.0.20 +# port: 7777 +# discovery: +# delegated: auto +# +# o To use SCP always => App fails if no SCP available. +# delegated: yes +# +# o Don't use SCP server => App fails if no NRF available. +# delegated: no +# udr: sbi: - addr: 127.0.0.20 port: 7777 # +# scp: +# +# <SBI Client>> +# +# o SBI Client(http://127.0.1.10:7777) +# sbi: +# addr: 127.0.1.10 +# port: 7777 +# +# o SBI Client(https://127.0.1.10:443, http://scp.open5gs.org:80) +# sbi: +# - addr: 127.0.1.10 +# tls: +# key: scp.key +# pem: scp.pem +# - name: scp.open5gs.org +# +# o SBI Client(http://fd69:f21d:873c:fb::1:80) +# If prefer_ipv4 is true, http://127.0.1.10:80 is selected. +# +# sbi: +# addr: +# - 127.0.1.10 +# - fd69:f21d:873c:fb::1 +# +# o SBI Option (Default) +# - tcp_nodelay : true +# - so_linger.l_onoff : false +# +# sbi: +# addr: 127.0.1.10 +# option: +# tcp_nodelay: false +# so_linger: +# l_onoff: true +# l_linger: 10 +# +# +scp: + sbi: + - addr: 127.0.1.10 + port: 7777 + +# # nrf: # # <SBI Client>> @@ -163,12 +231,12 @@ # l_onoff: true # l_linger: 10 # -nrf: - sbi: - - addr: - - 127.0.0.10 - - ::1 - port: 7777 +#nrf: +# sbi: +# - addr: +# - 127.0.0.10 +# - ::1 +# port: 7777 # # parameter:
View file
open5gs_2.4.11.tar.xz/configs/sample.yaml.in -> open5gs_2.5.0.tar.xz/configs/sample.yaml.in
Changed
@@ -285,7 +285,7 @@ - addr: 127.0.0.14 port: 7777 nsi: - - addr: ::1 + - addr: 127.0.0.10 port: 7777 s_nssai: sst: 1
View file
open5gs_2.4.11.tar.xz/configs/srslte.yaml.in -> open5gs_2.5.0.tar.xz/configs/srslte.yaml.in
Changed
@@ -216,7 +216,7 @@ - addr: 127.0.0.14 port: 7777 nsi: - - addr: ::1 + - addr: 127.0.0.10 port: 7777 s_nssai: sst: 1
View file
open5gs_2.4.11.tar.xz/configs/systemd/meson.build -> open5gs_2.5.0.tar.xz/configs/systemd/meson.build
Changed
@@ -25,6 +25,7 @@ open5gs-hssd.service open5gs-pcrfd.service open5gs-nrfd.service + open5gs-scpd.service open5gs-ausfd.service open5gs-udmd.service open5gs-pcfd.service
View file
open5gs_2.5.0.tar.xz/configs/systemd/open5gs-scpd.service.in
Added
@@ -0,0 +1,18 @@ +Unit +Description=Open5GS NRF Daemon +Wants=mongodb.service mongod.service + +Service +Type=simple + +User=open5gs +Group=open5gs + +Restart=always +ExecStart=@bindir@/open5gs-nrfd -c @sysconfdir@/open5gs/nrf.yaml +RestartSec=2 +RestartPreventExitStatus=1 +ExecReload=/bin/kill -HUP $MAINPID + +Install +WantedBy=multi-user.target
View file
open5gs_2.4.11.tar.xz/configs/volte.yaml.in -> open5gs_2.5.0.tar.xz/configs/volte.yaml.in
Changed
@@ -223,7 +223,7 @@ - addr: 127.0.0.14 port: 7777 nsi: - - addr: ::1 + - addr: 127.0.0.10 port: 7777 s_nssai: sst: 1
View file
open5gs_2.4.11.tar.xz/configs/vonr.yaml.in -> open5gs_2.5.0.tar.xz/configs/vonr.yaml.in
Changed
@@ -226,7 +226,7 @@ - addr: 127.0.0.14 port: 7777 nsi: - - addr: ::1 + - addr: 127.0.0.10 port: 7777 s_nssai: sst: 1
View file
open5gs_2.4.11.tar.xz/debian/changelog -> open5gs_2.5.0.tar.xz/debian/changelog
Changed
@@ -1,3 +1,33 @@ +open5gs (2.5.0) unstable; urgency=medium + + * New NF - SCP(Service Communication Proxy) + + -- Sukchan Lee <acetcom@gmail.com> Tue, 25 Oct 2022 22:46:32 +0900 + +open5gs (2.5.0~kinetic2) kinetic; urgency=medium + + * New NF - SCP(Service Communication Proxy) + + -- Sukchan Lee <acetcom@gmail.com> Tue, 25 Oct 2022 22:45:05 +0900 + +open5gs (2.5.0~jammy2) jammy; urgency=medium + + * New NF - SCP(Service Communication Proxy) + + -- Sukchan Lee <acetcom@gmail.com> Tue, 25 Oct 2022 22:43:33 +0900 + +open5gs (2.5.0~focal2) focal; urgency=medium + + * New NF - SCP(Service Communication Proxy) + + -- Sukchan Lee <acetcom@gmail.com> Tue, 25 Oct 2022 22:41:49 +0900 + +open5gs (2.5.0~bionic2) bionic; urgency=medium + + * New NF - SCP(Service Communication Proxy) + + -- Sukchan Lee <acetcom@gmail.com> Tue, 25 Oct 2022 22:40:16 +0900 + open5gs (2.4.11) unstable; urgency=medium * Bug Fixed
View file
open5gs_2.4.11.tar.xz/debian/control -> open5gs_2.5.0.tar.xz/debian/control
Changed
@@ -165,6 +165,18 @@ . This package provides the NRF (Network Repository Function) +Package: open5gs-scp +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + open5gs-common (= ${binary:Version}) +Description: SCP (Network Repository Function) + Open5GS is a C-language implementation of 5G Core and EPC + Packet Core, i.e. the core network of an NR/LTE network (Release-16) + . + This package provides the SCP (Service Communication Proxy) + Package: open5gs-ausf Architecture: any Multi-Arch: same
View file
open5gs_2.4.11.tar.xz/debian/open5gs-common.install -> open5gs_2.5.0.tar.xz/debian/open5gs-common.install
Changed
@@ -3,4 +3,3 @@ usr/lib/*/freeDiameter/*.fdx configs/freeDiameter/cacert.pem /etc/freeDiameter configs/logrotate/open5gs /etc/logrotate.d -misc/db/open5gs-dbctl /usr/bin
View file
open5gs_2.5.0.tar.xz/debian/open5gs-scp.install
Added
@@ -0,0 +1,3 @@ +usr/bin/open5gs-scpd +configs/open5gs/scp.yaml etc/open5gs +configs/systemd/open5gs-scpd.service lib/systemd/system
View file
open5gs_2.4.11.tar.xz/docker/README.md -> open5gs_2.5.0.tar.xz/docker/README.md
Changed
@@ -104,6 +104,15 @@ $ ./misc/git-version-gen . > .tarball-version 2>/dev/null ``` +* WebUI Version Change + + ``` + $ cat ./docker/webui/Dockerfile + $ cat ./webui/package.json + $ cat ./webui/package-lock.json + $ cat ./docs/assets/webui/install + ``` + * Upload OpenBuildService ```
View file
open5gs_2.4.11.tar.xz/docker/webui/Dockerfile -> open5gs_2.5.0.tar.xz/docker/webui/Dockerfile
Changed
@@ -3,7 +3,7 @@ MAINTAINER Sukchan Lee <acetcom@gmail.com> ARG PACKAGE=open5gs -ARG VERSION=2.2.6 +ARG VERSION=2.5.0 RUN set -e; \ cd /usr/src; \
View file
open5gs_2.4.11.tar.xz/docs/_docs/guide/01-quickstart.md -> open5gs_2.5.0.tar.xz/docs/_docs/guide/01-quickstart.md
Changed
@@ -44,18 +44,19 @@ #### 5G SA Core The Open5GS 5G SA Core contains the following functions: +* NRF - NF Repository Function +* SCP - Service Communication Proxy * AMF - Access and Mobility Management Function * SMF - Session Management Function * UPF - User Plane Function * AUSF - Authentication Server Function -* NRF - NF Repository Function * UDM - Unified Data Management * UDR - Unified Data Repository * PCF - Policy and Charging Function * NSSF - Network Slice Selection Function * BSF - Binding Support Function -The 5G SA core works in a different way to the 4G core - it uses a **Service Based Architecture** (SBI). **Control plane** functions are configured to register with the NRF, and the NRF then helps them discover the other core functions. Running through the other functions: The AMF handles connection and mobility management; a subset of what the 4G MME is tasked with. gNBs (5G basestations) connect to the AMF. The UDM, AUSF and UDR carry out similar operations as the 4G HSS, generating SIM authentication vectors and holding the subscriber profile. Session management is all handled by the SMF (previously the responsibility of the 4G MME/ SGWC/ PGWC). The NSSF provides a way to select the network slice. Finally there is the PCF, used for charging and enforcing subscriber policies. +The 5G SA core works in a different way to the 4G core - it uses a **Service Based Architecture** (SBI). **Control plane** functions are configured to register with the NRF, and the NRF then helps them discover the other core functions. Running through the other functions: The AMF handles connection and mobility management; a subset of what the 4G MME is tasked with. gNBs (5G basestations) connect to the AMF. The UDM, AUSF and UDR carry out similar operations as the 4G HSS, generating SIM authentication vectors and holding the subscriber profile. Session management is all handled by the SMF (previously the responsibility of the 4G MME/ SGWC/ PGWC). The NSSF provides a way to select the network slice, and PCF is used for charging and enforcing subscriber policies. Finally there is the SCP that enable indirect communication. The 5G SA core **user plane** is much simpler, as it only contains a single function. The UPF carries user data packets between the gNB and the external WAN. It connects back to the SMF too. @@ -70,14 +71,36 @@ **Note:** Nighly builds are offered by Osmocom(https://osmocom.org) on OBS(https://build.opensuse.org/package/show/network:osmocom:nightly/open5gs). Scroll down to use a nightly build package. {: .notice--warning} +#### Getting MongoDB +--- + +Import the public key used by the package management system. + +```bash +$ sudo apt update +$ sudo apt install wget gnupg +$ wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add - +``` + +Create the list file /etc/apt/sources.list.d/mongodb-org-6.0.list for your version of Ubuntu. + +```bash +$ echo "deb arch=amd64,arm64 https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list +``` + +Install the MongoDB packages. +```bash +$ sudo apt update +$ sudo apt-get install -y mongodb-org +$ sudo systemctl start mongod (if '/usr/bin/mongod' is not running) +$ sudo systemctl enable mongod (ensure to automatically start it on system boot) +``` #### Ubuntu *Ubuntu* makes it easy to install Open5GS as shown below. ```bash -$ sudo apt update -$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:open5gs/latest $ sudo apt update $ sudo apt install open5gs @@ -90,13 +113,9 @@ ```bash $ sudo apt update -$ sudo apt install wget gnupg -$ wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - -$ echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org.list $ wget -qO - https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_10/Release.key | sudo apt-key add - $ sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/Debian_10/ ./' > /etc/apt/sources.list.d/open5gs.list" $ sudo apt update -$ sudo apt install mongodb-org $ sudo apt install open5gs ``` @@ -115,16 +134,6 @@ https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/xUbuntu_22.04/ ``` -#### openSUSE - -Martin Hauke(https://build.opensuse.org/user/show/mnhauke) packaged Open5GS for *openSUSE* on OBS(https://build.opensuse.org/package/show/home:mnhauke:open5gs/open5gs). - -```bash -$ sudo zypper addrepo -f obs://home:mnhauke:open5gs home:mnhauke:open5gs -$ sudo zypper install mongodb-server mongodb-shell -$ sudo zypper install open5gs -``` - #### Nightly Builds Nightly bulit package are provided by Osmocom(https://osmocom.org) on OBS(https://build.opensuse.org/package/show/network:osmocom:nightly/open5gs). On *Ubuntu 20.04* you can install it like this: @@ -153,6 +162,15 @@ https://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_22.04/ ``` +#### openSUSE + +Martin Hauke(https://build.opensuse.org/user/show/mnhauke) packaged Open5GS for *openSUSE* on OBS(https://build.opensuse.org/package/show/home:mnhauke:open5gs/open5gs). + +```bash +$ sudo zypper addrepo -f obs://home:mnhauke:open5gs home:mnhauke:open5gs +$ sudo zypper install mongodb-server mongodb-shell +$ sudo zypper install open5gs +``` ## 3. Install the WebUI of Open5GS --- @@ -167,7 +185,7 @@ ```bash $ sudo apt update $ sudo apt install curl - $ curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash - + $ curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - $ sudo apt install nodejs ``` @@ -220,6 +238,7 @@ PCRF-frDi = 127.0.0.9 :3868 for Gx NRF-sbi = 127.0.0.10:7777 for 5G SBI +SCP-sbi = 127.0.1.10:7777 for 5G SBI AUSF-sbi = 127.0.0.11:7777 for 5G SBI UDM-sbi = 127.0.0.12:7777 for 5G SBI PCF-sbi = 127.0.0.13:7777 for 5G SBI @@ -239,45 +258,49 @@ ```diff $ diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml - - mme: - freeDiameter: /etc/freeDiameter/mme.conf +--- mme.yaml 2020-09-05 20:52:28.648235143 -0400 ++++ mme.yaml.new 2020-09-05 20:56:05.434484208 -0400 +@@ -253,20 +253,20 @@ mme: s1ap: -- addr: 127.0.0.2 -+ addr: 10.10.0.2 # for external eNB - a local address that can be reached by the eNB + - addr: 127.0.0.2 gtpc: +- - addr: 127.0.0.2 ++ - addr: 10.10.0.2 + metrics: addr: 127.0.0.2 + port: 9090 gummei: plmn_id: - mcc: 999 - mnc: 70 -+ mcc: 001 # set your PLMN-MCC -+ mnc: 01 # set your PLMN-MNC ++ mcc: 001 ++ mnc: 01 mme_gid: 2 mme_code: 1 tai: plmn_id: - mcc: 999 - mnc: 70 -- tac: 1 -+ mcc: 001 # set your PLMN-MCC -+ mnc: 01 # set your PLMN-MNC -+ tac: 2 # should match the TAC used by your eNB ++ mcc: 001 ++ mnc: 01 + tac: 1 security: - + integrity_order : EIA2, EIA1, EIA0 ``` Modify /etc/open5gs/sgwu.yaml(https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/sgwu.yaml.in) to set the GTP-U IP address. ```diff $ diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml - +--- sgwu.yaml 2020-09-05 20:50:39.393022566 -0400 ++++ sgwu.yaml.new 2020-09-05 20:51:06.667838823 -0400 +@@ -98,7 +98,7 @@ logger: + # sgwu: - gtpu: -- addr: 127.0.0.6 -+ addr: 10.11.0.6 # for external eNB - a local address that can be reached by the eNB pfcp: - addr: 127.0.0.6 - +- - addr: 127.0.0.6 ++ - addr: 10.11.0.6 + gtpu: + - addr: 127.0.0.6 ``` After changing config files, please restart Open5GS daemons. @@ -298,20 +321,23 @@ ```diff $ diff -u /etc/open5gs/amf.yaml.old /etc/open5gs/amf.yaml - -amf: - sbi: - - addr: 127.0.0.5 - port: 7777 +--- amf.yaml 2020-09-05 20:52:28.652234967 -0400 ++++ amf.yaml.new 2020-09-05 20:55:07.453114885 -0400 +@@ -293,26 +293,26 @@ amf: + - addr: 127.0.0.5 + port: 7777 ngap: - - addr: 127.0.0.5 -+ - addr: 10.10.0.5 # for external gNB - a local address that can be reached by the gNB ++ - addr: 10.10.0.5 + metrics: + addr: 127.0.0.5 + port: 9090 guami: - plmn_id: - mcc: 999 - mnc: 70 -+ mcc: 001 # set your PLMN-MCC -+ mnc: 01 # set your PLMN-MNC ++ mcc: 001 ++ mnc: 01 amf_id: region: 2 set: 1 @@ -319,36 +345,34 @@ - plmn_id: - mcc: 999 - mnc: 70 -- tac: 1 -+ mcc: 001 # set your PLMN-MCC -+ mnc: 01 # set your PLMN-MNC -+ tac: 2 # should match the TAC used by your gNB ++ mcc: 001 ++ mnc: 01 + tac: 1 plmn_support: - plmn_id: - mcc: 999 - mnc: 70 -+ mcc: 001 # set your PLMN-MCC -+ mnc: 01 # set your PLMN-MNC ++ mcc: 001 ++ mnc: 01 s_nssai: - sst: 1 security: - ``` Modify /etc/open5gs/upf.yaml(https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/upf.yaml.in) to set the GTP-U address. ```diff $ diff -u /etc/open5gs/upf.yaml.old /etc/open5gs/upf.yaml - -upf: +--- upf.yaml 2020-09-05 20:52:28.652234967 -0400 ++++ upf.yaml.new 2020-09-05 20:52:55.279052142 -0400 +@@ -168,7 +168,7 @@ upf: pfcp: - addr: 127.0.0.7 gtpu: - - addr: 127.0.0.7 -+ - addr: 10.11.0.7 # for external gNB - a local address that can be reached by the gNB ++ - addr: 10.11.0.7 subnet: - addr: 10.45.0.1/16 - addr: 2001:db8:cafe::1/48 - ``` After changing config files, please restart Open5GS daemons. @@ -482,6 +506,7 @@ $ sudo systemctl stop open5gs-hssd $ sudo systemctl stop open5gs-pcrfd $ sudo systemctl stop open5gs-nrfd +$ sudo systemctl stop open5gs-scpd $ sudo systemctl stop open5gs-ausfd $ sudo systemctl stop open5gs-udmd $ sudo systemctl stop open5gs-pcfd @@ -501,6 +526,7 @@ $ sudo systemctl restart open5gs-hssd $ sudo systemctl restart open5gs-pcrfd $ sudo systemctl restart open5gs-nrfd +$ sudo systemctl restart open5gs-scpd $ sudo systemctl restart open5gs-ausfd $ sudo systemctl restart open5gs-udmd $ sudo systemctl restart open5gs-pcfd @@ -539,4 +565,3 @@ ```bash curl -fsSL {{ site.url }}{{ site.baseurl }}/assets/webui/uninstall | sudo -E bash - ``` -
View file
open5gs_2.4.11.tar.xz/docs/_docs/guide/02-building-open5gs-from-sources.md -> open5gs_2.5.0.tar.xz/docs/_docs/guide/02-building-open5gs-from-sources.md
Changed
@@ -13,15 +13,29 @@ ### Getting MongoDB --- -Install MongoDB with package manager. It is used as database for NRF/PCF/UDR and PCRF/HSS. +Import the public key used by the package management system. ```bash +$ wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add - +``` + +Create the list file /etc/apt/sources.list.d/mongodb-org-6.0.list for your version of Ubuntu. + +```bash +$ echo "deb arch=amd64,arm64 https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list +``` + +Install the MongoDB packages. +```bash $ sudo apt update -$ sudo apt install mongodb -$ sudo systemctl start mongodb (if '/usr/bin/mongod' is not running) -$ sudo systemctl enable mongodb (ensure to automatically start it on system boot) +$ sudo apt-get install -y mongodb-org +$ sudo systemctl start mongod (if '/usr/bin/mongod' is not running) +$ sudo systemctl enable mongod (ensure to automatically start it on system boot) ``` +**Tip:** MongoDB is used as database for NRF/PCF/UDR and PCRF/HSS. +{: .notice--info} + ### Setting up TUN device (not persistent after rebooting) --- @@ -99,12 +113,15 @@ $ diff -u /etc/open5gs/amf.yaml.old /etc/open5gs/amf.yaml --- amf.yaml 2020-09-05 20:52:28.652234967 -0400 +++ amf.yaml.new 2020-09-05 20:55:07.453114885 -0400 -@@ -165,23 +165,23 @@ +@@ -293,26 +293,26 @@ amf: - addr: 127.0.0.5 port: 7777 ngap: - - addr: 127.0.0.5 + - addr: 10.10.0.5 + metrics: + addr: 127.0.0.5 + port: 9090 guami: - plmn_id: - mcc: 999 @@ -118,10 +135,9 @@ - plmn_id: - mcc: 999 - mnc: 70 -- tac: 1 + mcc: 001 + mnc: 01 -+ tac: 2 + tac: 1 plmn_support: - plmn_id: - mcc: 999 @@ -138,13 +154,11 @@ $ diff -u /etc/open5gs/upf.yaml.old /etc/open5gs/upf.yaml --- upf.yaml 2020-09-05 20:52:28.652234967 -0400 +++ upf.yaml.new 2020-09-05 20:52:55.279052142 -0400 -@@ -137,9 +137,7 @@ +@@ -168,7 +168,7 @@ upf: pfcp: - addr: 127.0.0.7 gtpu: -- - addr: -- - 127.0.0.7 -- - ::1 +- - addr: 127.0.0.7 + - addr: 10.11.0.7 subnet: - addr: 10.45.0.1/16 @@ -158,14 +172,15 @@ $ diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml --- mme.yaml 2020-09-05 20:52:28.648235143 -0400 +++ mme.yaml.new 2020-09-05 20:56:05.434484208 -0400 -@@ -204,20 +204,20 @@ - mme: - freeDiameter: /home/acetcom/Documents/git/open5gs/install/etc/freeDiameter/mme.conf +@@ -253,20 +253,20 @@ mme: s1ap: -- addr: 127.0.0.2 -+ addr: 10.10.0.2 + - addr: 127.0.0.2 gtpc: +- - addr: 127.0.0.2 ++ - addr: 10.10.0.2 + metrics: addr: 127.0.0.2 + port: 9090 gummei: plmn_id: - mcc: 999 @@ -178,13 +193,11 @@ plmn_id: - mcc: 999 - mnc: 70 -- tac: 1 + mcc: 001 + mnc: 01 -+ tac: 2 + tac: 1 security: - integrity_order : EIA1, EIA2, EIA0 - ciphering_order : EEA0, EEA1, EEA2 + integrity_order : EIA2, EIA1, EIA0 ``` Modify install/etc/open5gs/sgwu.yaml(https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/sgwu.yaml.in) to set the GTP-U IP address. @@ -192,15 +205,14 @@ $ diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml --- sgwu.yaml 2020-09-05 20:50:39.393022566 -0400 +++ sgwu.yaml.new 2020-09-05 20:51:06.667838823 -0400 -@@ -51,7 +51,7 @@ +@@ -98,7 +98,7 @@ logger: # sgwu: - gtpu: -- addr: 127.0.0.6 -+ addr: 10.11.0.6 pfcp: - addr: 127.0.0.6 - +- - addr: 127.0.0.6 ++ - addr: 10.11.0.6 + gtpu: + - addr: 127.0.0.6 ``` If you modify the config files while Open5GS daemons are running, please restart them @@ -210,140 +222,164 @@ --- ```bash -$ ./install/bin/open5gs-mmed -Open5GS daemon v2.1.0 +$ ./install/bin/open5gs-nrfd +Open5GS daemon v2.4.11-100-gbea24d7 -08/21 22:53:47.328: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/mme.yaml' (../src/main.c:54) -08/21 22:53:47.328: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/mme.log' (../src/main.c:57) -08/21 22:53:47.365: app INFO: MME initialize...done (../src/mme/app-init.c:33) -08/21 22:53:47.365: gtp INFO: gtp_server() 127.0.0.2:2123 (../lib/gtp/path.c:32) -08/21 22:53:47.365: gtp INFO: gtp_connect() 127.0.0.3:2123 (../lib/gtp/path.c:59) -08/21 22:53:47.366: mme INFO: s1ap_server() 127.0.0.2:36412 (../src/mme/s1ap-sctp.c:57) +10/22 10:43:43.669: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/nrf.yaml' (../lib/app/ogs-init.c:126) +10/22 10:43:43.669: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/nrf.log' (../lib/app/ogs-init.c:129) +10/22 10:43:43.670: sbi INFO: nghttp2_server() 127.0.0.10:7777 (../lib/sbi/nghttp2-server.c:150) +10/22 10:43:43.670: sbi INFO: nghttp2_server() ::1:7777 (../lib/sbi/nghttp2-server.c:150) +10/22 10:43:43.671: app INFO: NRF initialize...done (../src/nrf/app.c:31) + +$ ./install/bin/open5gs-scpd +Open5GS daemon v2.4.11-100-gbea24d7 + +10/22 10:43:45.709: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/scp.yaml' (../lib/app/ogs-init.c:126) +10/22 10:43:45.709: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/scp.log' (../lib/app/ogs-init.c:129) +10/22 10:43:45.711: sbi INFO: nghttp2_server() 127.0.1.10:7777 (../lib/sbi/nghttp2-server.c:150) +10/22 10:43:45.712: app INFO: SCP initialize...done (../src/scp/app.c:31) -$ ./install/bin/open5gs-sgwcd -Open5GS daemon v2.1.0 +$ ./install/bin/open5gs-amfd +Open5GS daemon v2.4.11-100-gbea24d7 -08/21 22:54:43.059: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/sgwc.yaml' (../src/main.c:54) -08/21 22:54:43.059: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/sgwc.log' (../src/main.c:57) -08/21 22:54:43.065: app INFO: SGW-C initialize...done (../src/sgwc/app.c:31) -08/21 22:54:43.066: gtp INFO: gtp_server() 127.0.0.3:2123 (../lib/gtp/path.c:32) -08/21 22:54:43.066: pfcp INFO: pfcp_server() 127.0.0.3:8805 (../lib/pfcp/path.c:32) -08/21 22:54:43.066: pfcp INFO: ogs_pfcp_connect() 127.0.0.6:8805 (../lib/pfcp/path.c:60) +10/22 10:44:01.416: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/amf.yaml' (../lib/app/ogs-init.c:126) +10/22 10:44:01.416: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/amf.log' (../lib/app/ogs-init.c:129) +10/22 10:44:01.419: sbi INFO: NF Service namf-comm (../lib/sbi/context.c:1401) +10/22 10:44:01.420: sbi INFO: nghttp2_server() 127.0.0.5:7777 (../lib/sbi/nghttp2-server.c:150) +10/22 10:44:01.420: amf INFO: ngap_server() 127.0.0.5:38412 (../src/amf/ngap-sctp.c:61) +10/22 10:44:01.420: sctp INFO: AMF initialize...done (../src/amf/app.c:33) $ ./install/bin/open5gs-smfd -Open5GS daemon v2.1.0 +Open5GS daemon v2.4.11-100-gbea24d7 -08/21 22:54:56.000: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/smf.yaml' (../src/main.c:54) -08/21 22:54:56.000: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/smf.log' (../src/main.c:57) -08/21 22:54:56.050: gtp INFO: gtp_server() 127.0.0.4:2123 (../lib/gtp/path.c:32) -08/21 22:54:56.050: app INFO: SMF initialize...done (../src/smf/app.c:31) -08/21 22:54:56.050: gtp INFO: gtp_server() ::1:2123 (../lib/gtp/path.c:32) -08/21 22:54:56.050: pfcp INFO: pfcp_server() 127.0.0.4:8805 (../lib/pfcp/path.c:32) -08/21 22:54:56.050: pfcp INFO: pfcp_server() ::1:8805 (../lib/pfcp/path.c:32) -08/21 22:54:56.050: pfcp INFO: ogs_pfcp_connect() 127.0.0.7:8805 (../lib/pfcp/path.c:60) -08/21 22:54:56.051: sbi INFO: sbi_server() 127.0.0.4:7777 (../lib/sbi/server.c:298) +10/22 10:44:03.217: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/smf.yaml' (../lib/app/ogs-init.c:126) +10/22 10:44:03.217: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/smf.log' (../lib/app/ogs-init.c:129) +10/22 10:44:03.269: gtp INFO: gtp_server() 127.0.0.4:2123 (../lib/gtp/path.c:30) +10/22 10:44:03.269: gtp INFO: gtp_server() ::1:2123 (../lib/gtp/path.c:30) +10/22 10:44:03.269: gtp INFO: gtp_server() 127.0.0.4:2152 (../lib/gtp/path.c:30) +10/22 10:44:03.269: gtp INFO: gtp_server() ::1:2152 (../lib/gtp/path.c:30) +10/22 10:44:03.269: pfcp INFO: pfcp_server() 127.0.0.4:8805 (../lib/pfcp/path.c:30) +10/22 10:44:03.269: pfcp INFO: pfcp_server() ::1:8805 (../lib/pfcp/path.c:30) +10/22 10:44:03.269: pfcp INFO: ogs_pfcp_connect() 127.0.0.7:8805 (../lib/pfcp/path.c:61) +10/22 10:44:03.269: sbi INFO: NF Service nsmf-pdusession (../lib/sbi/context.c:1401) +10/22 10:44:03.270: sbi INFO: nghttp2_server() 127.0.0.4:7777 (../lib/sbi/nghttp2-server.c:150) +10/22 10:44:03.270: app INFO: SMF initialize...done (../src/smf/app.c:31) -$ ./install/bin/open5gs-amfd -Open5GS daemon v2.1.0 +$ ./install/bin/open5gs-upfd +Open5GS daemon v2.4.11-100-gbea24d7 -08/21 22:55:14.015: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/amf.yaml' (../src/main.c:54) -08/21 22:55:14.015: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/amf.log' (../src/main.c:57) -08/21 22:55:14.039: app INFO: AMF initialize...done (../src/amf/app.c:33) -08/21 22:55:14.040: sbi INFO: sbi_server() 127.0.0.5:7777 (../lib/sbi/server.c:298) -08/21 22:55:14.040: amf INFO: ngap_server() 127.0.0.5:38412 (../src/amf/ngap-sctp.c:56) +10/22 10:44:06.884: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/upf.yaml' (../lib/app/ogs-init.c:126) +10/22 10:44:06.884: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/upf.log' (../lib/app/ogs-init.c:129) +10/22 10:44:06.892: pfcp INFO: pfcp_server() 127.0.0.7:8805 (../lib/pfcp/path.c:30) +10/22 10:44:06.892: gtp INFO: gtp_server() 127.0.0.7:2152 (../lib/gtp/path.c:30) +10/22 10:44:06.892: app INFO: UPF initialize...done (../src/upf/app.c:31) + +$./install/bin/open5gs-ausfd +Open5GS daemon v2.4.11-100-gbea24d7 + +10/22 10:44:08.747: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/ausf.yaml' (../lib/app/ogs-init.c:126) +10/22 10:44:08.747: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/ausf.log' (../lib/app/ogs-init.c:129) +10/22 10:44:08.748: sbi INFO: NF Service nausf-auth (../lib/sbi/context.c:1401) +10/22 10:44:08.749: sbi INFO: nghttp2_server() 127.0.0.11:7777 (../lib/sbi/nghttp2-server.c:150) +10/22 10:44:08.749: app INFO: AUSF initialize...done (../src/ausf/app.c:31) -$ ./install/bin/open5gs-sgwud -Open5GS daemon v2.1.0 +$ ./install/bin/open5gs-udmd +Open5GS daemon v2.4.11-100-gbea24d7 -08/21 22:54:10.357: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/sgwu.yaml' (../src/main.c:54) -08/21 22:54:10.357: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/sgwu.log' (../src/main.c:57) -08/21 22:54:10.360: pfcp INFO: pfcp_server() 127.0.0.6:8805 (../lib/pfcp/path.c:32) -08/21 22:54:10.360: app INFO: SGW-U initialize...done (../src/sgwu/app.c:31) -08/21 22:54:10.361: gtp INFO: gtp_server() 127.0.0.6:2152 (../lib/gtp/path.c:32) +10/22 10:44:10.724: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/udm.yaml' (../lib/app/ogs-init.c:126) +10/22 10:44:10.724: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/udm.log' (../lib/app/ogs-init.c:129) +10/22 10:44:10.726: sbi INFO: NF Service nudm-ueau (../lib/sbi/context.c:1401) +10/22 10:44:10.726: sbi INFO: NF Service nudm-uecm (../lib/sbi/context.c:1401) +10/22 10:44:10.726: sbi INFO: NF Service nudm-sdm (../lib/sbi/context.c:1401) +10/22 10:44:10.727: sbi INFO: nghttp2_server() 127.0.0.12:7777 (../lib/sbi/nghttp2-server.c:150) +10/22 10:44:10.727: app INFO: UDM initialize...done (../src/udm/app.c:31) + +$./install/bin/open5gs-pcfd +Open5GS daemon v2.4.11-100-gbea24d7 + +10/22 10:44:14.265: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/pcf.yaml' (../lib/app/ogs-init.c:126) +10/22 10:44:14.265: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/pcf.log' (../lib/app/ogs-init.c:129) +10/22 10:44:14.269: dbi INFO: MongoDB URI: 'mongodb://localhost/open5gs' (../lib/dbi/ogs-mongoc.c:130) +10/22 10:44:14.269: sbi INFO: NF Service npcf-am-policy-control (../lib/sbi/context.c:1401) +10/22 10:44:14.269: sbi INFO: NF Service npcf-smpolicycontrol (../lib/sbi/context.c:1401) +10/22 10:44:14.269: sbi INFO: NF Service npcf-policyauthorization (../lib/sbi/context.c:1401) +10/22 10:44:14.269: sbi INFO: nghttp2_server() 127.0.0.13:7777 (../lib/sbi/nghttp2-server.c:150) +10/22 10:44:14.269: app INFO: PCF initialize...done (../src/pcf/app.c:31) -$ ./install/bin/open5gs-upfd -Open5GS daemon v2.1.0 +$ ./install/bin/open5gs-nssfd +Open5GS daemon v2.4.11-100-gbea24d7 -08/21 22:54:21.596: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/upf.yaml' (../src/main.c:54) -08/21 22:54:21.596: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/upf.log' (../src/main.c:57) -08/21 22:54:21.601: pfcp INFO: pfcp_server() 127.0.0.7:8805 (../lib/pfcp/path.c:32) -08/21 22:54:21.601: app INFO: UPF initialize...done (../src/upf/app.c:31) -08/21 22:54:21.601: gtp INFO: gtp_server() 127.0.0.7:2152 (../lib/gtp/path.c:32) -08/21 22:54:21.601: gtp INFO: gtp_server() ::1:2152 (../lib/gtp/path.c:32) +10/22 10:44:16.250: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/nssf.yaml' (../lib/app/ogs-init.c:126) +10/22 10:44:16.250: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/nssf.log' (../lib/app/ogs-init.c:129) +10/22 10:44:16.252: sbi INFO: NF Service nnssf-nsselection (../lib/sbi/context.c:1401) +10/22 10:44:16.252: sbi INFO: nghttp2_server() 127.0.0.14:7777 (../lib/sbi/nghttp2-server.c:150) +10/22 10:44:16.252: app INFO: NSSF initialize...done (../src/nssf/app.c:31) -$ ./install/bin/open5gs-hssd -Open5GS daemon v2.1.0 +$ ./install/bin/open5gs-bsfd +Open5GS daemon v2.4.11-100-gbea24d7 -08/21 22:57:17.450: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/hss.yaml' (../src/main.c:54) -08/21 22:57:17.450: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/hss.log' (../src/main.c:57) -08/21 22:57:17.451: dbi INFO: MongoDB URI: 'mongodb://localhost/open5gs' (../lib/dbi/ogs-mongoc.c:99) -08/21 22:57:17.519: app INFO: HSS initialize...done (../src/hss/app-init.c:31) +10/22 10:44:18.836: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/bsf.yaml' (../lib/app/ogs-init.c:126) +10/22 10:44:18.836: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/bsf.log' (../lib/app/ogs-init.c:129) +10/22 10:44:18.837: sbi INFO: NF Service nbsf-management (../lib/sbi/context.c:1401) +10/22 10:44:18.837: sbi INFO: nghttp2_server() 127.0.0.15:7777 (../lib/sbi/nghttp2-server.c:150) +10/22 10:44:18.837: app INFO: BSF initialize...done (../src/bsf/app.c:31) -$ ./install/bin/open5gs-pcrfd -Open5GS daemon v2.1.0 +$ ./install/bin/open5gs-udrd +Open5GS daemon v2.4.11-100-gbea24d7 -08/21 22:57:45.894: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/pcrf.yaml' (../src/main.c:54) -08/21 22:57:45.894: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/pcrf.log' (../src/main.c:57) -08/21 22:57:45.896: dbi INFO: MongoDB URI: 'mongodb://localhost/open5gs' (../lib/dbi/ogs-mongoc.c:99) -08/21 22:57:45.997: app INFO: PCRF initialize...done (../src/pcrf/app-init.c:31) +10/22 10:44:24.018: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/udr.yaml' (../lib/app/ogs-init.c:126) +10/22 10:44:24.018: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/udr.log' (../lib/app/ogs-init.c:129) +10/22 10:44:24.021: dbi INFO: MongoDB URI: 'mongodb://localhost/open5gs' (../lib/dbi/ogs-mongoc.c:130) +10/22 10:44:24.021: sbi INFO: NF Service nudr-dr (../lib/sbi/context.c:1401) +10/22 10:44:24.021: sbi INFO: nghttp2_server() 127.0.0.20:7777 (../lib/sbi/nghttp2-server.c:150) +10/22 10:44:24.021: app INFO: UDR initialize...done (../src/udr/app.c:31) -$ ./install/bin/open5gs-nrfd -Open5GS daemon v2.1.0 +$ ./install/bin/open5gs-mmed +Open5GS daemon v2.4.11-100-gbea24d7 -08/21 22:56:35.472: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/nrf.yaml' (../src/main.c:54) -08/21 22:56:35.472: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/nrf.log' (../src/main.c:57) -08/21 22:56:35.472: app INFO: NRF initialize...done (../src/nrf/app.c:31) -08/21 22:56:35.473: sbi INFO: sbi_server() 127.0.0.10:7777 (../lib/sbi/server.c:298) -08/21 22:56:35.473: sbi INFO: sbi_server() ::1:7777 (../lib/sbi/server.c:298 - -$ ./install/bin/open5gs-ausfd -Open5GS daemon v2.1.0 - -08/21 22:55:41.899: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/ausf.yaml' (../src/main.c:54) -08/21 22:55:41.899: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/ausf.log' (../src/main.c:57) -08/21 22:55:41.900: app INFO: AUSF initialize...done (../src/ausf/app.c:31) -08/21 22:55:41.900: sbi INFO: sbi_server() 127.0.0.11:7777 (../lib/sbi/server.c:298) +10/22 10:44:26.011: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/mme.yaml' (../lib/app/ogs-init.c:126) +10/22 10:44:26.011: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/mme.log' (../lib/app/ogs-init.c:129) +10/22 10:44:26.062: gtp INFO: gtp_server() 127.0.0.2:2123 (../lib/gtp/path.c:30) +10/22 10:44:26.063: gtp INFO: gtp_connect() 127.0.0.3:2123 (../lib/gtp/path.c:60) +10/22 10:44:26.063: mme INFO: s1ap_server() 127.0.0.2:36412 (../src/mme/s1ap-sctp.c:62) +10/22 10:44:26.063: sctp INFO: MME initialize...done (../src/mme/app-init.c:33) -$ ./install/bin/open5gs-udmd -Open5GS daemon v2.1.0 +$ ./install/bin/open5gs-sgwcd +Open5GS daemon v2.4.11-100-gbea24d7 -08/21 22:56:02.154: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/udm.yaml' (../src/main.c:54) -08/21 22:56:02.154: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/udm.log' (../src/main.c:57) -08/21 22:56:02.155: app INFO: UDM initialize...done (../src/udm/app.c:31) -08/21 22:56:02.155: sbi INFO: sbi_server() 127.0.0.12:7777 (../lib/sbi/server.c:298) - -$ ./install/bin/open5gs-pcfd -Open5GS daemon v2.1.0 - -08/21 22:56:02.154: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/pcf.yaml' (../src/main.c:54) -08/21 22:56:02.154: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/pcf.log' (../src/main.c:57) -08/21 22:56:02.155: app INFO: PCF initialize...done (../src/pcf/app.c:31) -08/21 22:56:02.155: sbi INFO: sbi_server() 127.0.0.12:7777 (../lib/sbi/server.c:298) +10/22 10:44:29.050: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/sgwc.yaml' (../lib/app/ogs-init.c:126) +10/22 10:44:29.050: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/sgwc.log' (../lib/app/ogs-init.c:129) +10/22 10:44:29.058: gtp INFO: gtp_server() 127.0.0.3:2123 (../lib/gtp/path.c:30) +10/22 10:44:29.058: pfcp INFO: pfcp_server() 127.0.0.3:8805 (../lib/pfcp/path.c:30) +10/22 10:44:29.058: pfcp INFO: ogs_pfcp_connect() 127.0.0.6:8805 (../lib/pfcp/path.c:61) +10/22 10:44:29.058: app INFO: SGW-C initialize...done (../src/sgwc/app.c:31) -$ ./install/bin/open5gs-nssfd -Open5GS daemon v2.1.0 +$ ./install/bin/open5gs-sgwud +Open5GS daemon v2.4.11-100-gbea24d7 -08/21 22:56:02.154: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/nssfd.yaml' (../src/main.c:54) -08/21 22:56:02.154: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/nssfd.log' (../src/main.c:57) -08/21 22:56:02.155: app INFO: NSSF initialize...done (../src/nssfd/app.c:31) -08/21 22:56:02.155: sbi INFO: sbi_server() 127.0.0.12:7777 (../lib/sbi/server.c:298) +10/22 10:44:36.178: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/sgwu.yaml' (../lib/app/ogs-init.c:126) +10/22 10:44:36.178: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/sgwu.log' (../lib/app/ogs-init.c:129) +10/22 10:44:36.185: pfcp INFO: pfcp_server() 127.0.0.6:8805 (../lib/pfcp/path.c:30) +10/22 10:44:36.185: gtp INFO: gtp_server() 127.0.0.6:2152 (../lib/gtp/path.c:30) +10/22 10:44:36.185: app INFO: SGW-U initialize...done (../src/sgwu/app.c:31) -$ ./install/bin/open5gs-bsfd -Open5GS daemon v2.1.0 +$ ./install/bin/open5gs-hssd +Open5GS daemon v2.4.11-100-gbea24d7 -08/21 22:56:02.154: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/bsf.yaml' (../src/main.c:54) -08/21 22:56:02.154: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/bsf.log' (../src/main.c:57) -08/21 22:56:02.155: app INFO: BSF initialize...done (../src/bsf/app.c:31) -08/21 22:56:02.155: sbi INFO: sbi_server() 127.0.0.12:7777 (../lib/sbi/server.c:298) +10/22 10:49:22.963: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/hss.yaml' (../lib/app/ogs-init.c:126) +10/22 10:49:22.963: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/hss.log' (../lib/app/ogs-init.c:129) +10/22 10:49:22.965: dbi INFO: MongoDB URI: 'mongodb://localhost/open5gs' (../lib/dbi/ogs-mongoc.c:130) +10/22 10:49:22.996: app INFO: HSS initialize...done (../src/hss/app-init.c:31) +10/22 10:49:22.997: diam INFO: CONNECTED TO 'mme.localdomain' (SCTP,soc#15): (../lib/diameter/common/logger.c:108) -$ ./install/bin/open5gs-udrd -Open5GS daemon v2.1.0 +$ ./install/bin/open5gs-pcrfd +Open5GS daemon v2.4.11-100-gbea24d7 -08/21 22:56:15.810: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/udr.yaml' (../src/main.c:54) -08/21 22:56:15.810: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/udr.log' (../src/main.c:57) -08/21 22:56:15.813: dbi INFO: MongoDB URI: 'mongodb://localhost/open5gs' (../lib/dbi/ogs-mongoc.c:99) -08/21 22:56:15.813: app INFO: UDR initialize...done (../src/udr/app.c:31) -08/21 22:56:15.813: sbi INFO: sbi_server() 127.0.0.13:7777 (../lib/sbi/server.c:298) +10/22 10:49:26.089: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/pcrf.yaml' (../lib/app/ogs-init.c:126) +10/22 10:49:26.089: app INFO: File Logging: '/home/acetcom/Documents/git/open5gs/install/var/log/open5gs/pcrf.log' (../lib/app/ogs-init.c:129) +10/22 10:49:26.091: dbi INFO: MongoDB URI: 'mongodb://localhost/open5gs' (../lib/dbi/ogs-mongoc.c:130) +10/22 10:49:26.124: app INFO: PCRF initialize...done (../src/pcrf/app-init.c:31) +10/22 10:49:26.125: diam INFO: CONNECTED TO 'smf.localdomain' (SCTP,soc#15): (../lib/diameter/common/logger.c:108) ``` Several command line options are provided. @@ -382,7 +418,7 @@ ```bash $ sudo apt install curl -$ curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash - +$ curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - $ sudo apt install nodejs ``` @@ -390,7 +426,7 @@ ```bash $ cd webui -$ npm ci --no-optional +$ npm ci ``` The WebUI runs as an npm(https://www.npmjs.com/) script. @@ -547,32 +583,37 @@ ```bash $ ./tests/app/app -d -Open5GS daemon v1.3.0-213-gd190548+ - -08/21 23:01:54.246: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/build/configs/sample.yaml' (../src/main.c:54) -08/21 23:01:54.246: thread DEBUG: 0x7f8de4d25018 worker signal (../lib/core/ogs-thread.c:66) -08/21 23:01:54.246: thread DEBUG: 0x7f8de4d25018 thread started (../lib/core/ogs-thread.c:101) -Open5GS daemon v1.3.0-213-gd190548+ - -08/21 23:01:54.254: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/build/configs/sample.yaml' (../src/main.c:54) -08/21 23:01:54.254: thread DEBUG: 0x7ff8d13be818 worker signal (../lib/core/ogs-thread.c:66) -08/21 23:01:54.254: nrf DEBUG: nrf_state_initial(): INIT (../src/nrf/nrf-sm.c:25) -08/21 23:01:54.254: nrf DEBUG: nrf_state_operational(): ENTRY (../src/nrf/nrf-sm.c:50) -08/21 23:01:54.254: thread DEBUG: 0x7ff8d13be818 thread started (../lib/core/ogs-thread.c:101) -08/21 23:01:54.254: app INFO: NRF initialize...done (../src/nrf/app.c:31) -08/21 23:01:54.255: sbi INFO: sbi_server() 127.0.0.10:7777 (../lib/sbi/server.c:298) -08/21 23:01:54.255: sbi INFO: sbi_server() ::1:7777 (../lib/sbi/server.c:298) -08/21 23:01:54.296: thread DEBUG: 0x7f8de4d25098 worker signal (../lib/core/ogs-thread.c:66) -08/21 23:01:54.296: thread DEBUG: 0x7f8de4d25098 thread started (../lib/core/ogs-thread.c:101) -Open5GS daemon v1.3.0-213-gd190548+ - -08/21 23:01:54.315: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/build/configs/sample.yaml' (../src/main.c:54) -08/21 23:01:54.319: dbi INFO: MongoDB URI: 'mongodb://localhost/open5gs' (../lib/dbi/ogs-mongoc.c:99) -08/21 23:01:54.332: app INFO: PCRF initialize...done (../src/pcrf/app-init.c:31) -08/21 23:01:54.347: thread DEBUG: 0x7f8de4d25118 worker signal (../lib/core/ogs-thread.c:66) -08/21 23:01:54.347: thread DEBUG: 0x7f8de4d25118 thread started (../lib/core/ogs-thread.c:101) -Open5GS daemon v1.3.0-213-gd190548+ +Open5GS daemon v2.4.11-100-gbea24d7 +10/22 10:59:03.813: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/build/configs/sample.yaml' (../lib/app/ogs-init.c:126) +10/22 10:59:03.813: thread DEBUG: 0x55fab86aff40 worker signal (../lib/core/ogs-thread.c:66) +10/22 10:59:03.813: thread DEBUG: 0x55fab86aff40 thread started (../lib/core/ogs-thread.c:101) +Open5GS daemon v2.4.11-100-gbea24d7 + +10/22 10:59:03.818: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/build/configs/sample.yaml' (../lib/app/ogs-init.c:126) +10/22 10:59:03.819: sock DEBUG: addr:127.0.0.10, port:7777 (../lib/core/ogs-sockaddr.c:140) +10/22 10:59:03.819: sock DEBUG: addr:::1, port:7777 (../lib/core/ogs-sockaddr.c:140) +10/22 10:59:03.819: sock DEBUG: addr:127.0.1.10, port:7777 (../lib/core/ogs-sockaddr.c:140) +10/22 10:59:03.819: sock DEBUG: socket create(2:1:6) (../lib/core/ogs-socket.c:92) +10/22 10:59:03.819: sock DEBUG: Turn on TCP_NODELAY (../lib/core/ogs-sockopt.c:139) +10/22 10:59:03.819: sock DEBUG: Turn on SO_REUSEADDR (../lib/core/ogs-sockopt.c:120) +10/22 10:59:03.819: sock DEBUG: socket bind 127.0.0.10:7777 (../lib/core/ogs-socket.c:117) +10/22 10:59:03.819: sock DEBUG: tcp_server() 127.0.0.10:7777 (../lib/core/ogs-tcp.c:60) +10/22 10:59:03.819: sbi INFO: nghttp2_server() 127.0.0.10:7777 (../lib/sbi/nghttp2-server.c:150) +10/22 10:59:03.819: sock DEBUG: socket create(10:1:6) (../lib/core/ogs-socket.c:92) +10/22 10:59:03.819: sock DEBUG: Turn on TCP_NODELAY (../lib/core/ogs-sockopt.c:139) +10/22 10:59:03.819: sock DEBUG: Turn on SO_REUSEADDR (../lib/core/ogs-sockopt.c:120) +10/22 10:59:03.819: sock DEBUG: socket bind ::1:7777 (../lib/core/ogs-socket.c:117) +10/22 10:59:03.819: sock DEBUG: tcp_server() ::1:7777 (../lib/core/ogs-tcp.c:60) +10/22 10:59:03.819: sbi INFO: nghttp2_server() ::1:7777 (../lib/sbi/nghttp2-server.c:150) +10/22 10:59:03.819: thread DEBUG: 0x5601b141e520 worker signal (../lib/core/ogs-thread.c:66) +10/22 10:59:03.819: nrf DEBUG: nrf_state_initial(): INIT (../src/nrf/nrf-sm.c:25) +10/22 10:59:03.819: nrf DEBUG: nrf_state_operational(): ENTRY (../src/nrf/nrf-sm.c:50) +10/22 10:59:03.819: thread DEBUG: 0x5601b141e520 thread started (../lib/core/ogs-thread.c:101) +10/22 10:59:03.819: app INFO: NRF initialize...done (../src/nrf/app.c:31) +10/22 10:59:03.864: thread DEBUG: 0x55fab86d2100 worker signal (../lib/core/ogs-thread.c:66) +10/22 10:59:03.864: thread DEBUG: 0x55fab86d2100 thread started (../lib/core/ogs-thread.c:101) +Open5GS daemon v2.4.11-100-gbea24d7 ... ```
View file
open5gs_2.4.11.tar.xz/docs/_docs/platform/02-centos.md -> open5gs_2.5.0.tar.xz/docs/_docs/platform/02-centos.md
Changed
@@ -328,9 +328,10 @@ $ ninja install $ cd ../ $ ls install/bin -open5gs-amfd open5gs-hssd open5gs-nrfd open5gs-sgwcd open5gs-smfd open5gs-udrd -open5gs-ausfd open5gs-mmed open5gs-pcrfd open5gs-sgwud open5gs-udmd open5gs-pcfd -open5gs-upfd open5gs-nssfd open5gs-bsfd +open5gs-amfd open5gs-mmed open5gs-pcrfd open5gs-smfd +open5gs-ausfd open5gs-nrfd open5gs-scpd open5gs-udmd +open5gs-bsfd open5gs-nssfd open5gs-sgwcd open5gs-udrd +open5gs-hssd open5gs-pcfd open5gs-sgwud open5gs-upfd ``` ## Building WebUI of Open5GS @@ -347,7 +348,7 @@ ```bash $ cd ~/open5gs $ cd webui -$ npm ci --no-optional +$ npm ci ``` The WebUI runs as an npm(https://www.npmjs.com/) script.
View file
open5gs_2.4.11.tar.xz/docs/_docs/platform/03-fedora.md -> open5gs_2.5.0.tar.xz/docs/_docs/platform/03-fedora.md
Changed
@@ -127,7 +127,7 @@ ```bash $ cd webui -$ npm ci --no-optional +$ npm ci ``` The WebUI runs as an npm(https://www.npmjs.com/) script.
View file
open5gs_2.4.11.tar.xz/docs/_docs/platform/05-macosx-apple-silicon.md -> open5gs_2.5.0.tar.xz/docs/_docs/platform/05-macosx-apple-silicon.md
Changed
@@ -164,7 +164,7 @@ ```bash $ cd webui -$ npm ci --no-optional +$ npm ci ``` The WebUI runs as an npm(https://www.npmjs.com/) script.
View file
open5gs_2.4.11.tar.xz/docs/_docs/platform/06-macosx-intel.md -> open5gs_2.5.0.tar.xz/docs/_docs/platform/06-macosx-intel.md
Changed
@@ -162,7 +162,7 @@ ```bash $ cd webui -$ npm ci --no-optional +$ npm ci ``` The WebUI runs as an npm(https://www.npmjs.com/) script.
View file
open5gs_2.4.11.tar.xz/docs/_docs/platform/07-freebsd.md -> open5gs_2.5.0.tar.xz/docs/_docs/platform/07-freebsd.md
Changed
@@ -207,7 +207,7 @@ ```bash $ cd webui -$ npm ci --no-optional +$ npm ci ``` The WebUI runs as an npm(https://www.npmjs.com/) script.
View file
open5gs_2.4.11.tar.xz/docs/_docs/platform/08-alpine.md -> open5gs_2.5.0.tar.xz/docs/_docs/platform/08-alpine.md
Changed
@@ -105,7 +105,7 @@ ```bash $ cd webui -$ npm ci --no-optional +$ npm ci ``` The WebUI runs as an npm(https://www.npmjs.com/) script.
View file
open5gs_2.4.11.tar.xz/docs/_docs/troubleshoot/01-simple-issues.md -> open5gs_2.5.0.tar.xz/docs/_docs/troubleshoot/01-simple-issues.md
Changed
@@ -21,6 +21,7 @@ open5gs 27244 0.2 0.0 2861424 13584 ? Ssl 12:13 0:00 /usr/bin/open5gs-hssd -c /etc/open5gs/hss.yaml open5gs 27366 0.0 0.0 2890772 14380 ? Ssl 12:13 0:00 /usr/bin/open5gs-pcrfd -c /etc/open5gs/pcrf.yaml open5gs 27485 0.0 0.0 243816 15064 ? Ssl 12:13 0:00 /usr/bin/open5gs-nrfd -c /etc/open5gs/nrf.yaml +open5gs 27485 0.0 0.0 243916 13064 ? Ssl 12:13 0:00 /usr/bin/open5gs-scpd -c /etc/open5gs/scp.yaml open5gs 27543 0.0 0.0 222416 9672 ? Ssl 12:13 0:00 /usr/bin/open5gs-ausfd -c /etc/open5gs/ausf.yaml open5gs 27600 0.0 0.0 222328 9668 ? Ssl 12:13 0:00 /usr/bin/open5gs-udmd -c /etc/open5gs/udm.yaml open5gs 27600 0.0 0.0 222329 9669 ? Ssl 12:13 0:00 /usr/bin/open5gs-pcfd -c /etc/open5gs/pcf.yaml @@ -29,7 +30,7 @@ open5gs 27697 0.0 0.0 243976 13716 ? Ssl 12:13 0:00 /usr/bin/open5gs-udrd -c /etc/open5gs/udr.yaml ``` -You should see each of the above services, MME, SGW-C, SMF, AMF, SGW-U, UPF, HSS, PCRF, NRF, AUSF, UDM, PCF, NSSF, BSF & UDR are all running. +You should see each of the above services, MME, SGW-C, SMF, AMF, SGW-U, UPF, HSS, PCRF, NRF, SCP, AUSF, UDM, PCF, NSSF, BSF & UDR are all running. If your instance doesn't show this make sure you're started each service: ```bash @@ -42,6 +43,7 @@ $ systemctl start open5gs-hssd.service $ systemctl start open5gs-pcrfd.service $ systemctl start open5gs-nrfd.service +$ systemctl start open5gs-scpd.service $ systemctl start open5gs-ausfd.service $ systemctl start open5gs-udmd.service $ systemctl start open5gs-pcfd.service @@ -55,14 +57,15 @@ If a service isn't running check the log for that service - logs for each service live in */var/log/open5gs/* where each service logs to it's own file - MME logs in mme.log, AMF logs in amf.log, and so on. ```bash -$ cat /var/log/open5gs/mme.log -Open5GS daemon v1.0.0 +$ cat a.log +Open5GS daemon v2.4.11-100-gbea24d7 -app INFO: Configuration: '/etc/open5gs/mme.yaml' (../src/main.c:54) -app INFO: File Logging: '/var/log/open5gs/mme.log' (../src/main.c:57) -mme ERROR: No sgwc.gtpc in '/etc/open5gs/mme.yaml' (../src/mme/mme-context.c:192) -app ERROR: Failed to intialize MME (../src/mme/app-init.c:30) -app FATAL: Open5GS initialization failed. Aborted (../src/main.c:222) +10/22 11:05:40.032: app INFO: Configuration: '/home/acetcom/Documents/git/open5gs/install/etc/open5gs/mme.yaml' (../lib/app/ogs-init.c:126) +10/22 11:05:40.032: app INFO: File Logging: 'a.log' (../lib/app/ogs-init.c:129) +10/22 11:05:40.094: gtp INFO: gtp_server() 127.0.0.2:2123 (../lib/gtp/path.c:30) +10/22 11:05:40.094: gtp INFO: gtp_connect() 127.0.0.3:2123 (../lib/gtp/path.c:60) +10/22 11:05:40.094: mme INFO: s1ap_server() 127.0.0.2:36412 (../src/mme/s1ap-sctp.c:62) +10/22 11:05:40.094: sctp INFO: MME initialize...done (../src/mme/app-init.c:33) ``` Or, you can use `journalctl` like below to view live log. @@ -181,11 +184,11 @@ @@ -20,6 +20,7 @@ # logger: - file: /home/acetcom/Documents/git/open5gs/install/var/log/open5gs/amf.log + file: @localstatedir@/log/open5gs/amf.log + level: debug + # # amf: - # ``` After changing conf files, please restart Open5GS daemons.
View file
open5gs_2.4.11.tar.xz/docs/_docs/troubleshoot/02-now-in-github-issues.md -> open5gs_2.5.0.tar.xz/docs/_docs/troubleshoot/02-now-in-github-issues.md
Changed
@@ -92,7 +92,7 @@ At this time, you need to check the DB schema is in the form below by using the command the below. ``` -$ mongo +$ mongosh > use open5gs > db.subscribers.find().pretty() { @@ -159,7 +159,7 @@ If you see below, you are using the old format DB schema. ``` -$ mongo +$ mongosh > use open5gs > db.subscribers.find().pretty() { @@ -207,7 +207,7 @@ 1. First of all, it is recommended to use the following command to remove all existing subscription DB. ``` -$ mongo +$ mongosh > use open5gs switched to db open5gs > db.subscribers.drop() @@ -221,7 +221,7 @@ 4. Log in to the new WebUI and add new subscriber information using your web browser. 5. Make sure it is a new DB schema as below: ``` -$ mongo +$ mongosh > use open5gs > db.subscribers.find().pretty() { @@ -256,7 +256,7 @@ To restart the test program, first remove all subscriber information using MongoDB Client ``` -$ mongo +$ mongosh > use open5gs switched to db open5gs > db.subscribers.find() ### Check the test subscriber @@ -276,6 +276,7 @@ $ sudo pkill -9 open5gs-hssd $ sudo pkill -9 open5gs-pcrfd $ sudo pkill -9 open5gs-nrfd +$ sudo pkill -9 open5gs-scpd $ sudo pkill -9 open5gs-ausfd $ sudo pkill -9 open5gs-udmd $ sudo pkill -9 open5gs-pcfd @@ -312,7 +313,7 @@ index 7e939e81..dfe4456d 100644 --- a/configs/open5gs/amf.yaml.in +++ b/configs/open5gs/amf.yaml.in -@@ -199,6 +199,12 @@ amf: +@@ -315,6 +315,12 @@ amf: mnc: 70 s_nssai: - sst: 1 @@ -332,9 +333,9 @@ index d45aa60f..701ee533 100644 --- a/configs/open5gs/smf.yaml.in +++ b/configs/open5gs/smf.yaml.in -@@ -317,6 +317,11 @@ logger: - # - +@@ -442,6 +442,11 @@ logger: + # + smf: + info: + - s_nssai: @@ -351,7 +352,7 @@ index d45aa60f..949da220 100644 --- a/configs/open5gs/smf.yaml.in +++ b/configs/open5gs/smf.yaml.in -@@ -317,6 +317,12 @@ logger: +@@ -442,6 +442,12 @@ logger: # smf: @@ -370,7 +371,7 @@ index ecd4f7e2..04d9c4ba 100644 --- a/configs/open5gs/nssf.yaml.in +++ b/configs/open5gs/nssf.yaml.in -@@ -119,6 +119,11 @@ nssf: +@@ -201,6 +201,12 @@ nssf: port: 7777 s_nssai: sst: 1 @@ -379,9 +380,10 @@ + s_nssai: + sst: 1 + sd: 000080 - ++ + # - # nrf: + # scp: ``` Then add a slice to MongoDB's subscriber info. @@ -409,6 +411,7 @@ ```bash $ open5gs-nrfd +$ open5gs-scpd $ open5gs-amfd $ open5gs-ausfd $ open5gs-udmd @@ -503,9 +506,9 @@ $ diff -u smf.yaml smf.yaml.new --- smf.yaml 2020-09-17 09:31:16.547882093 -0400 +++ smf.yaml.new 2020-09-17 09:32:18.267726844 -0400 -@@ -190,7 +190,7 @@ - - addr: 127.0.0.4 - - addr: ::1 +@@ -458,7 +458,7 @@ smf: + addr: 127.0.0.4 + port: 9090 subnet: - - addr: 10.45.0.1/16 + - addr: 10.46.0.1/16 @@ -518,7 +521,7 @@ $ diff -u upf.yaml upf.yaml.new --- upf.yaml 2020-09-17 09:31:16.547882093 -0400 +++ upf.yaml.new 2020-09-17 09:32:25.199619989 -0400 -@@ -139,7 +139,7 @@ +@@ -170,7 +170,7 @@ upf: gtpu: - addr: 127.0.0.7 subnet: @@ -596,7 +599,7 @@ Then, remove all subscriber information using MongoDB Client ``` -$ mongo +$ mongosh > use open5gs switched to db open5gs > db.subscribers.find() ### Check the test subscriber @@ -616,6 +619,7 @@ $ sudo pkill -9 open5gs-hssd $ sudo pkill -9 open5gs-pcrfd $ sudo pkill -9 open5gs-nrfd +$ sudo pkill -9 open5gs-scpd $ sudo pkill -9 open5gs-ausfd $ sudo pkill -9 open5gs-udmd $ sudo pkill -9 open5gs-pcfd @@ -998,7 +1002,7 @@ Remove all subscriber information using MongoDB Client ``` -$ mongo +$ mongosh > db.subscribers.find() ### Check the test subscriber > db.subscribers.drop() ### Remove all subscriber > db.subscribers.find() ### Check that all subscribers are empty @@ -1077,6 +1081,7 @@ * HSS : 127.0.0.8 * PCRF : 127.0.0.9 * NRF : 127.0.0.10 +* SCP : 127.0.1.10 * AUSF : 127.0.0.11 * UDM : 127.0.0.12 * PCF : 127.0.0.13
View file
open5gs_2.4.11.tar.xz/docs/_docs/tutorial/01-your-first-lte.md -> open5gs_2.5.0.tar.xz/docs/_docs/tutorial/01-your-first-lte.md
Changed
@@ -156,9 +156,20 @@ #### 3. Open5GS +Install the MongoDB packages. + +```bash +``` + The Open5GS package is available on the recent versions of *Ubuntu*. ```bash +# Install the MongoDB Packages +$ wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add - +$ echo "deb arch=amd64,arm64 https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list +$ sudo apt update +$ sudo apt install mongodb-org + # Getting the authentication key $ sudo apt install wget $ wget https://download.opensuse.org/repositories/home:/acetcom:/open5gs:/latest/xUbuntu_20.04/Release.key @@ -173,7 +184,7 @@ The following shows how to install the Web UI of Open5GS. ```bash -$ curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash - +$ curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - $ sudo apt install nodejs $ curl -fsSL https://open5gs.org/open5gs/assets/webui/install | sudo -E bash - ``` @@ -229,16 +240,17 @@ ```diff $ diff -u /etc/open5gs/mme.yaml.old /etc/open5gs/mme.yaml ---- mme.yaml.old 2020-08-22 12:07:32.755250028 -0400 -+++ mme.yaml 2020-08-22 12:08:17.309320211 -0400 -@@ -208,20 +208,20 @@ - mme: - freeDiameter: /home/acetcom/Documents/git/open5gs/install/etc/freeDiameter/mme.conf +--- mme.yaml 2020-09-05 20:52:28.648235143 -0400 ++++ mme.yaml.new 2020-09-05 20:56:05.434484208 -0400 +@@ -253,20 +253,20 @@ mme: s1ap: -- addr: 127.0.0.2 -+ addr: 127.0.1.2 + - addr: 127.0.0.2 gtpc: +- - addr: 10.11.0.2 ++ - addr: 127.0.0.2 + metrics: addr: 127.0.0.2 + port: 9090 gummei: plmn_id: - mcc: 999 @@ -251,28 +263,26 @@ plmn_id: - mcc: 999 - mnc: 70 -- tac: 1 + mcc: 310 + mnc: 789 -+ tac: 2 + tac: 1 security: - integrity_order : EIA1, EIA2, EIA0 - ciphering_order : EEA0, EEA1, EEA2 + integrity_order : EIA2, EIA1, EIA0 ``` Modify install/etc/open5gs/sgwu.yaml(https://github.com/{{ site.github_username }}/open5gs/blob/main/configs/open5gs/sgwu.yaml.in) to set the GTP-U IP address. ```diff $ diff -u /etc/open5gs/sgwu.yaml.old /etc/open5gs/sgwu.yaml ---- sgwu.yaml.old 2020-08-22 12:08:44.782880778 -0400 -+++ sgwu.yaml 2020-08-22 12:06:49.809299514 -0400 -@@ -82,7 +82,7 @@ +--- sgwu.yaml 2020-09-05 20:50:39.393022566 -0400 ++++ sgwu.yaml.new 2020-09-05 20:51:06.667838823 -0400 +@@ -98,7 +98,7 @@ logger: # sgwu: - gtpu: -- addr: 10.11.0.6 -+ addr: 127.0.0.6 pfcp: - addr: 127.0.0.6 +- - addr: 10.11.0.6 ++ - addr: 127.0.0.6 + gtpu: + - addr: 127.0.0.6 ```
View file
open5gs_2.4.11.tar.xz/docs/_pages/docs.md -> open5gs_2.5.0.tar.xz/docs/_pages/docs.md
Changed
@@ -15,6 +15,11 @@ - Dockerized VoLTE Setup(tutorial/03-VoLTE-dockerized) - Metrics with Prometheus(tutorial/04-metrics-prometheus) +- Inside Source Code + - Detailed Architecture of Open5GS(https://chowdera.com/2022/151/202205312246348316.html) + - UPF Code Explanation(https://medium.com/@aditya.koranga/open5gs-upf-code-explanation-with-flow-c-79c50f253dd1) + - SMF Code Explanation(https://medium.com/@aditya.koranga/open5gs-smf-code-explanation-with-flow-charts-a3b3cd38c991) + - Troubleshooting - Simple Issues(troubleshoot/01-simple-issues) - Now in Github Issues(troubleshoot/02-now-in-github-issues)
View file
open5gs_2.4.11.tar.xz/docs/_posts/2021-04-09-release-v2.2.6.md -> open5gs_2.5.0.tar.xz/docs/_posts/2021-04-09-release-v2.2.6.md
Changed
@@ -52,7 +52,7 @@ $ git checkout v2.1.7 $ cd webui $ rm -Rf ./node_modules -$ npm ci --no-optional +$ npm ci $ npm run dev ## You should log out @@ -60,7 +60,7 @@ $ git checkout main $ cd webui $ rm -Rf ./node_modules -$ npm ci --no-optional +$ npm ci $ npm run dev ## You can log back in
View file
open5gs_2.4.11.tar.xz/docs/_posts/2021-04-30-release-v2.2.7.md -> open5gs_2.5.0.tar.xz/docs/_posts/2021-04-30-release-v2.2.7.md
Changed
@@ -46,7 +46,7 @@ $ git checkout v2.1.7 $ cd webui $ rm -Rf ./node_modules -$ npm ci --no-optional +$ npm ci $ npm run dev ## You should log out @@ -54,7 +54,7 @@ $ git checkout main $ cd webui $ rm -Rf ./node_modules -$ npm ci --no-optional +$ npm ci $ npm run dev ## You can log back in
View file
open5gs_2.4.11.tar.xz/docs/_posts/2021-05-09-release-v2.2.8.md -> open5gs_2.5.0.tar.xz/docs/_posts/2021-05-09-release-v2.2.8.md
Changed
@@ -42,7 +42,7 @@ $ git checkout v2.1.7 $ cd webui $ rm -Rf ./node_modules -$ npm ci --no-optional +$ npm ci $ npm run dev ## You should log out @@ -50,7 +50,7 @@ $ git checkout main $ cd webui $ rm -Rf ./node_modules -$ npm ci --no-optional +$ npm ci $ npm run dev ## You can log back in
View file
open5gs_2.4.11.tar.xz/docs/_posts/2021-05-19-release-v2.2.9.md -> open5gs_2.5.0.tar.xz/docs/_posts/2021-05-19-release-v2.2.9.md
Changed
@@ -36,7 +36,7 @@ $ git checkout v2.1.7 $ cd webui $ rm -Rf ./node_modules -$ npm ci --no-optional +$ npm ci $ npm run dev ## You should log out @@ -44,7 +44,7 @@ $ git checkout main $ cd webui $ rm -Rf ./node_modules -$ npm ci --no-optional +$ npm ci $ npm run dev ## You can log back in
View file
open5gs_2.5.0.tar.xz/docs/_posts/2022-10-01-release-v2.4.11.md
Added
@@ -0,0 +1,33 @@ +--- +title: "v2.4.11 - Bug Fixes (critical: session deletion)" +date: 2022-10-01 09:43:00 +0900 +categories: + - Release +tags: + - News + - Release +head_inline: "<style> ul { padding-bottom: 1em; } .blue { color: blue; }</style>" +--- + +#### Bug Fixes +- 5GC Session deletion was not properly worked in BSF(#1725(https://github.com/open5gs/open5gs/issues/1725)) -- prasenjitpdas(https://github.com/prasenjitpdas) +- AMF In deregistration state, we use an invalid state-machine pointer. (#1805(https://github.com/open5gs/open5gs/pull/1805)) -- bmeglicit(https://github.com/bmeglicit) +- SGWC Fixed crash because session context could be deleted before response message is not received from SMF (#1765(https://github.com/open5gs/open5gs/issues/1765)) -- dai9000(https://github.com/dai9000) +- SMF Wait for both N1&N2 release signals before releasing session (#1753(https://github.com/open5gs/open5gs/pull/1753)) -- bmeglicit(https://github.com/bmeglicit) +- UPF UL and DL URR usage Report was swapped (#1793(https://github.com/open5gs/open5gs/issues/1793)) -- dibasdas02(https://github.com/dibasdas02) +- CORE Fixed timer overflow on 32bit systems (#1770(https://github.com/open5gs/open5gs/pull/1770)) -- spencersevilla(https://github.com/spencersevilla) + +#### Enhancements +- MME Added protection code if no PDN-Type (#1756(https://github.com/open5gs/open5gs/pull/1756)) -- yar-or81(https://github.com/yar-or81) +- Metric Move metrics configuration section under respective (#1754(https://github.com/open5gs/open5gs/pull/1754)) -- bmeglicit(https://github.com/bmeglicit) +- Diameter Enable Change Streams (#1758(https://github.com/open5gs/open5gs/pull/1758)) -- jmasterfunk84(https://github.com/jmasterfunk84) +- AMF Added amfInfoList to NFProfile (#1757(https://github.com/open5gs/open5gs/pull/1757)) -- gstaa(https://github.com/gstaa) +- TLV Acceptable even if the TLV length is smaller than expected (#1780(https://github.com/open5gs/open5gs/discussions/1780)) -- infinitydon(https://github.com/infinitydon) +- Diameter Introduce Cancel Location and Insert Subscription Data (#1744(https://github.com/open5gs/open5gs/pull/1744)) -- jmasterfunk84(https://github.com/jmasterfunk84) + +#### Security Issues +- SBI Fixed HTTP2 crash from random JSON data (#1679(https://github.com/open5gs/open5gs/issues/1679)) -- Popvlvs(https://github.com/Popvlvs) +- TLV UPF crashes after UDP port scan (#1767(https://github.com/open5gs/open5gs/issues/1767)) -- Popvlvs(https://github.com/Popvlvs) + +Download -- v2.4.11.tar.gz(https://github.com/open5gs/open5gs/archive/v2.4.11.tar.gz) +{: .notice--info}
View file
open5gs_2.4.11.tar.xz/docs/assets/webui/install -> open5gs_2.5.0.tar.xz/docs/assets/webui/install
Changed
@@ -10,7 +10,7 @@ # PACKAGE="open5gs" -VERSION="2.4.11" +VERSION="2.5.0" print_status() { echo @@ -240,7 +240,7 @@ fi print_status "Build the Open5GS WebUI..." -exec_cmd "cd ./${PACKAGE}-${VERSION}/webui && npm ci --no-optional && npm run build" +exec_cmd "cd ./${PACKAGE}-${VERSION}/webui && npm ci && npm run build" print_status "Install the Open5GS WebUI..." exec_cmd "mv ./${PACKAGE}-${VERSION}/webui /usr/lib/node_modules/${PACKAGE}"
View file
open5gs_2.4.11.tar.xz/lib/app/ogs-context.c -> open5gs_2.5.0.tar.xz/lib/app/ogs-context.c
Changed
@@ -352,8 +352,12 @@ ogs_yaml_iter_bool(¶meter_iter); } else if (!strcmp(parameter_key, "use_mongodb_change_stream")) { +#if MONGOC_MAJOR_VERSION >= 1 && MONGOC_MINOR_VERSION >= 9 self.use_mongodb_change_stream = ogs_yaml_iter_bool(¶meter_iter); +#else + self.use_mongodb_change_stream = false; +#endif } else ogs_warn("unknown key `%s`", parameter_key); }
View file
open5gs_2.4.11.tar.xz/lib/dbi/ogs-mongoc.c -> open5gs_2.5.0.tar.xz/lib/dbi/ogs-mongoc.c
Changed
@@ -182,15 +182,18 @@ mongoc_collection_destroy(self.collection.subscriber); } +#if MONGOC_MAJOR_VERSION >= 1 && MONGOC_MINOR_VERSION >= 9 if (self.stream) { mongoc_change_stream_destroy(self.stream); } +#endif ogs_mongoc_final(); } int ogs_dbi_collection_watch_init(void) { +#if MONGOC_MAJOR_VERSION >= 1 && MONGOC_MINOR_VERSION >= 9 bson_t empty = BSON_INITIALIZER; const bson_t *err_doc; bson_error_t error; @@ -213,10 +216,14 @@ } return OGS_OK; +# else + return OGS_ERROR; +#endif } int ogs_dbi_poll_change_stream(void) { +#if MONGOC_MAJOR_VERSION >= 1 && MONGOC_MINOR_VERSION >= 9 int rv; const bson_t *document; @@ -240,4 +247,7 @@ } return OGS_OK; +# else + return OGS_ERROR; +#endif }
View file
open5gs_2.4.11.tar.xz/lib/dbi/ogs-mongoc.h -> open5gs_2.5.0.tar.xz/lib/dbi/ogs-mongoc.h
Changed
@@ -37,7 +37,9 @@ void *client; void *database; +#if MONGOC_MAJOR_VERSION >= 1 && MONGOC_MINOR_VERSION >= 9 mongoc_change_stream_t *stream; +#endif char *masked_db_uri;
View file
open5gs_2.4.11.tar.xz/lib/dbi/path.c -> open5gs_2.5.0.tar.xz/lib/dbi/path.c
Changed
@@ -31,7 +31,7 @@ rv = ogs_queue_push(ogs_app()->queue, e); if (rv != OGS_OK) { ogs_error("ogs_queue_push() failed:%d", (int)rv); - bson_destroy((bson_t*)e->dbi.document); + bson_destroy(e->dbi.document); ogs_event_free(e); } else { ogs_pollset_notify(ogs_app()->pollset);
View file
open5gs_2.4.11.tar.xz/lib/diameter/s6a/message.h -> open5gs_2.5.0.tar.xz/lib/diameter/s6a/message.h
Changed
@@ -77,6 +77,19 @@ #define OGS_DIAM_S6A_CT_UPDATE_PROCEDURE_IWF (3) #define OGS_DIAM_S6A_CT_INITIAL_ATTACH_PROCEDURE (4) +#define OGS_DIAM_S6A_SUBDATA_NO_UPDATE (0) +#define OGS_DIAM_S6A_SUBDATA_SUB_STATUS (1) +#define OGS_DIAM_S6A_SUBDATA_MSISDN (1 << 1) +#define OGS_DIAM_S6A_SUBDATA_A_MSISDN (1 << 2) +#define OGS_DIAM_S6A_SUBDATA_NAM (1 << 3) +#define OGS_DIAM_S6A_SUBDATA_ODB (1 << 4) +#define OGS_DIAM_S6A_SUBDATA_ARD (1 << 5) +#define OGS_DIAM_S6A_SUBDATA_CC (1 << 6) +#define OGS_DIAM_S6A_SUBDATA_UEAMBR (1 << 7) +#define OGS_DIAM_S6A_SUBDATA_APN_CONFIG (1 << 8) +#define OGS_DIAM_S6A_SUBDATA_RAU_TAU_TIMER (1 << 9) +#define OGS_DIAM_S6A_SUBDATA_ALL 0xFFFFFFFF + extern struct dict_object *ogs_diam_s6a_application; extern struct dict_object *ogs_diam_s6a_cmd_air; @@ -166,6 +179,7 @@ #define OGS_DIAM_S6A_CLR_FLAGS_S6A_S6D_INDICATOR (1) #define OGS_DIAM_S6A_CLR_FLAGS_REATTACH_REQUIRED (1 << 1) uint32_t clr_flags; + uint32_t cancellation_type; } ogs_diam_s6a_clr_message_t; typedef struct ogs_diam_s6a_idr_message_s { @@ -179,6 +193,7 @@ #define OGS_DIAM_S6A_IDR_FLAGS_RAT_TYPE (1 << 7) #define OGS_DIAM_S6A_IDR_FLAGS_PCSCF_Restoration (1 << 8) uint32_t idr_flags; + uint32_t subdatamask; ogs_subscription_data_t subscription_data; } ogs_diam_s6a_idr_message_t;
View file
open5gs_2.4.11.tar.xz/lib/gtp/xact.h -> open5gs_2.5.0.tar.xz/lib/gtp/xact.h
Changed
@@ -96,15 +96,16 @@ #define OGS_GTP_MODIFY_QOS_UPDATE ((uint64_t)1<<1) uint64_t update_flags; -#define OGS_GTP_DELETE_NO_ACTION 1 -#define OGS_GTP_DELETE_SEND_AUTHENTICATION_REQUEST 2 -#define OGS_GTP_DELETE_SEND_DETACH_ACCEPT 3 -#define OGS_GTP_DELETE_SEND_DEACTIVATE_BEARER_CONTEXT_REQUEST 4 -#define OGS_GTP_DELETE_SEND_UE_CONTEXT_RELEASE_COMMAND 5 -#define OGS_GTP_DELETE_SEND_S1_REMOVE_AND_UNLINK 6 -#define OGS_GTP_DELETE_HANDLE_PDN_CONNECTIVITY_REQUEST 7 -#define OGS_GTP_DELETE_UE_CONTEXT_REMOVE 8 -#define OGS_GTP_DELETE_IN_PATH_SWITCH_REQUEST 9 +#define OGS_GTP_DELETE_NO_ACTION 1 +#define OGS_GTP_DELETE_SEND_AUTHENTICATION_REQUEST 2 +#define OGS_GTP_DELETE_SEND_DETACH_ACCEPT 3 +#define OGS_GTP_DELETE_SEND_DEACTIVATE_BEARER_CONTEXT_REQUEST 4 +#define OGS_GTP_DELETE_SEND_RELEASE_WITH_UE_CONTEXT_REMOVE 5 +#define OGS_GTP_DELETE_SEND_RELEASE_WITH_S1_REMOVE_AND_UNLINK 6 +#define OGS_GTP_DELETE_HANDLE_PDN_CONNECTIVITY_REQUEST 7 +#define OGS_GTP_DELETE_UE_CONTEXT_REMOVE_PARTIAL 8 +#define OGS_GTP_DELETE_IN_PATH_SWITCH_REQUEST 9 + int delete_action; #define OGS_GTP_RELEASE_SEND_UE_CONTEXT_RELEASE_COMMAND 1
View file
open5gs_2.4.11.tar.xz/lib/pfcp/types.h -> open5gs_2.5.0.tar.xz/lib/pfcp/types.h
Changed
@@ -1191,8 +1191,8 @@ union { struct { ED3(uint8_t spare:6;, - uint8_t dlpa:1;, - uint8_t dlby:1;) + uint8_t dlby:1;, + uint8_t dlpa:1;) }; uint8_t flags; };
View file
open5gs_2.4.11.tar.xz/lib/proto/event.c -> open5gs_2.5.0.tar.xz/lib/proto/event.c
Changed
@@ -37,7 +37,7 @@ ogs_event_t *ogs_event_new(int id) { - return ogs_event_size(id, sizeof(ogs_event_t)); + return ogs_event_size(id, OGS_EVENT_SIZE); } void ogs_event_free(void *e)
View file
open5gs_2.4.11.tar.xz/lib/proto/event.h -> open5gs_2.5.0.tar.xz/lib/proto/event.h
Changed
@@ -50,8 +50,6 @@ typedef struct ogs_sbi_response_s ogs_sbi_response_t; typedef struct ogs_sbi_message_s ogs_sbi_message_t; -typedef struct _bson_t bson_t; - typedef struct ogs_event_s { int id; int timer_id; @@ -66,10 +64,12 @@ } sbi; struct { - const bson_t *document; + void *document; } dbi; } ogs_event_t; +#define OGS_EVENT_SIZE 256 + void *ogs_event_size(int id, size_t size); ogs_event_t *ogs_event_new(int id); void ogs_event_free(void *e);
View file
open5gs_2.4.11.tar.xz/lib/proto/types.h -> open5gs_2.5.0.tar.xz/lib/proto/types.h
Changed
@@ -652,6 +652,10 @@ uint32_t context_identifier; /* EPC for checking default APN */ +#define OGS_ALL_APN_CONFIGURATIONS_INCLUDED 0 +#define OGS_MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED 1 + uint32_t all_apn_config_inc; + int num_of_session; ogs_session_t sessionOGS_MAX_NUM_OF_SESS; } ogs_slice_data_t;
View file
open5gs_2.4.11.tar.xz/lib/sbi/client.c -> open5gs_2.5.0.tar.xz/lib/sbi/client.c
Changed
@@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com> + * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com> * * This file is part of Open5GS. * @@ -47,6 +47,7 @@ bool memory_overflow; char *location; + char *producer_id; ogs_timer_t *timer; CURL *easy; @@ -66,8 +67,14 @@ static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp); static int multi_timer_cb(CURLM *multi, long timeout_ms, void *cbp); static void multi_timer_expired(void *data); -static void connection_timer_expired(void *data); + +static connection_t *connection_add( + ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb, + ogs_sbi_request_t *request, void *data); +static void connection_remove(connection_t *conn); +static void connection_free(connection_t *conn); static void connection_remove_all(ogs_sbi_client_t *client); +static void connection_timer_expired(void *data); void ogs_sbi_client_init(int num_of_sockinfo_pool, int num_of_connection_pool) { @@ -280,8 +287,6 @@ return uri; } -static void _connection_remove(connection_t *conn); - static connection_t *connection_add( ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb, ogs_sbi_request_t *request, void *data) @@ -307,7 +312,7 @@ conn->method = ogs_strdup(request->h.method); if (!conn->method) { ogs_error("conn->method is NULL"); - _connection_remove(conn); + connection_free(conn); return NULL; } @@ -316,7 +321,7 @@ conn->headers = ogs_calloc(conn->num_of_header, sizeof(char *)); if (!conn->headers) { ogs_error("conn->headers is NULL"); - _connection_remove(conn); + connection_free(conn); return NULL; } for (hi = ogs_hash_first(request->http.headers), i = 0; @@ -327,7 +332,7 @@ conn->headersi = ogs_msprintf("%s: %s", key, val); if (!conn->headersi) { ogs_error("conn->headersi=%d is NULL", i); - _connection_remove(conn); + connection_free(conn); return NULL; } conn->header_list = curl_slist_append( @@ -339,7 +344,7 @@ ogs_app()->timer_mgr, connection_timer_expired, conn); if (!conn->timer) { ogs_error("conn->timer is NULL"); - _connection_remove(conn); + connection_free(conn); return NULL; } @@ -351,7 +356,7 @@ conn->easy = curl_easy_init(); if (!conn->easy) { ogs_error("conn->easy is NULL"); - _connection_remove(conn); + connection_free(conn); return NULL; } @@ -360,7 +365,7 @@ request->h.uri, request->http.params); if (!uri) { ogs_error("add_params_to_uri() failed"); - _connection_remove(conn); + connection_free(conn); return NULL; } @@ -380,7 +385,7 @@ request->http.content, request->http.content_length); if (!conn->content) { ogs_error("conn->content is NULL"); - _connection_remove(conn); + connection_free(conn); return NULL; } curl_easy_setopt(conn->easy, @@ -424,7 +429,23 @@ return conn; } -static void _connection_remove(connection_t *conn) +static void connection_remove(connection_t *conn) +{ + ogs_sbi_client_t *client = NULL; + + ogs_assert(conn); + client = conn->client; + ogs_assert(client); + + ogs_list_remove(&client->connection_list, conn); + + ogs_assert(client->multi); + curl_multi_remove_handle(client->multi, conn->easy); + + connection_free(conn); +} + +static void connection_free(connection_t *conn) { int i; @@ -435,6 +456,8 @@ if (conn->location) ogs_free(conn->location); + if (conn->producer_id) + ogs_free(conn->producer_id); if (conn->memory) ogs_free(conn->memory); @@ -459,22 +482,6 @@ ogs_pool_free(&connection_pool, conn); } -static void connection_remove(connection_t *conn) -{ - ogs_sbi_client_t *client = NULL; - - ogs_assert(conn); - client = conn->client; - ogs_assert(client); - - ogs_list_remove(&client->connection_list, conn); - - ogs_assert(client->multi); - curl_multi_remove_handle(client->multi, conn->easy); - - _connection_remove(conn); -} - static void connection_remove_all(ogs_sbi_client_t *client) { connection_t *conn = NULL, *next_conn = NULL; @@ -555,6 +562,9 @@ if (conn->location) ogs_sbi_header_set(response->http.headers, OGS_SBI_LOCATION, conn->location); + if (conn->producer_id) + ogs_sbi_header_set(response->http.headers, + OGS_SBI_CUSTOM_PRODUCER_ID, conn->producer_id); if (conn->memory_overflow == true) level = OGS_LOG_ERROR; @@ -585,8 +595,11 @@ ogs_warn("%d %s", res, conn->error); ogs_assert(conn->client_cb); - conn->client_cb(res == CURLE_OK ? OGS_OK : OGS_ERROR, - response, conn->data); + if (res == CURLE_OK) + conn->client_cb(OGS_OK, response, conn->data); + else + conn->client_cb(OGS_ERROR, NULL, conn->data); + connection_remove(conn); break; default: @@ -596,7 +609,7 @@ } } -bool ogs_sbi_client_send_reqmem_persistent( +bool ogs_sbi_client_send_request( ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb, ogs_sbi_request_t *request, void *data) { @@ -604,10 +617,10 @@ ogs_assert(client); ogs_assert(request); - if (request->h.uri == NULL) { request->h.uri = ogs_sbi_client_uri(client, &request->h); - ogs_expect_or_return_val(request->h.uri, false); + ogs_assert(request->h.method); + ogs_assert(request->h.uri); } ogs_debug("%s %s", request->h.method, request->h.uri); @@ -617,67 +630,14 @@ return true; } -bool ogs_sbi_client_send_request( +bool ogs_sbi_client_send_via_scp( ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb, ogs_sbi_request_t *request, void *data) { - bool rc; - - ogs_assert(client); ogs_assert(request); - - rc = ogs_sbi_client_send_reqmem_persistent( - client, client_cb, request, data); - ogs_expect(rc == true); - - ogs_sbi_request_free(request); - - return rc; -} - -bool ogs_sbi_scp_send_reqmem_persistent( - ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb, - ogs_sbi_request_t *request, void *data) -{ - ogs_sbi_nf_instance_t *scp_instance = NULL; - connection_t *conn = NULL; - char *apiroot = NULL; - ogs_assert(client); - ogs_assert(request); - - scp_instance = ogs_sbi_self()->scp_instance; - - if (scp_instance) { - /* - * In case of indirect communication using SCP, - * add 3gpp-Sbi-Target-apiRoot to HTTP header and - * change CLIENT instance to SCP. - */ - apiroot = ogs_sbi_client_apiroot(client); - ogs_assert(apiroot); - - ogs_sbi_header_set(request->http.headers, - OGS_SBI_CUSTOM_TARGET_APIROOT, apiroot); - - ogs_free(apiroot); - - client = scp_instance->client; - ogs_assert(client); - } - - if (request->h.uri == NULL) { - /* - * Regardless of direct or indirect communication, - * if there is no URI, we automatically creates a URI - * with Client Address and request->h - */ - request->h.uri = ogs_sbi_client_uri(client, &request->h); - ogs_assert(request->h.uri); - ogs_debug("%s %s", request->h.method, request->h.uri); - - } else if (scp_instance) { + if (request->h.uri) { /* * In case of indirect communication using SCP, * If the full URI is already defined, change full URI to SCP as below. @@ -685,6 +645,7 @@ * OLD: http://127.0.0.5:7777/nnrf-nfm/v1/nf-status-notify * NEW: https://scp.open5gs.org/nnrf-nfm/v1/nf-status-notify */ + char *apiroot = NULL; char *path = NULL; char *old = NULL; @@ -697,38 +658,21 @@ ogs_assert(path); request->h.uri = ogs_msprintf("%s/%s", apiroot, path); + ogs_assert(request->h.method); ogs_assert(request->h.uri); + ogs_debug("%s %s", request->h.method, request->h.uri); ogs_free(apiroot); ogs_free(path); ogs_free(old); - - ogs_debug("%s %s", request->h.method, request->h.uri); } - conn = connection_add(client, client_cb, request, data); - ogs_expect_or_return_val(conn, false); + ogs_expect_or_return_val(true == + ogs_sbi_client_send_request(client, client_cb, request, data), false); return true; } -bool ogs_sbi_scp_send_request( - ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb, - ogs_sbi_request_t *request, void *data) -{ - bool rc; - - ogs_assert(client); - ogs_assert(request); - - rc = ogs_sbi_scp_send_reqmem_persistent(client, client_cb, request, data); - ogs_expect(rc == true); - - ogs_sbi_request_free(request); - - return rc; -} - static size_t write_cb(void *contents, size_t size, size_t nmemb, void *data) { size_t realsize = 0; @@ -766,16 +710,32 @@ ogs_assert(conn); if (ogs_strncasecmp(ptr, OGS_SBI_LOCATION, strlen(OGS_SBI_LOCATION)) == 0) { - /* ptr : "Location: http://xxx/xxx/xxx\r\n" - We need to truncate "Location" + ": " + "\r\n" in 'ptr' string */ + /* ptr : "Location: http://xxx/xxx/xxx\r\n" + We need to truncate "Location" + ": " + "\r\n" in 'ptr' string */ int len = strlen(ptr) - strlen(OGS_SBI_LOCATION) - 2 - 2; if (len) { /* Only copy http://xxx/xxx/xxx" from 'ptr' string */ conn->location = ogs_memdup( - (char *)ptr + strlen(OGS_SBI_LOCATION) + 2, len+1); + (char *)ptr + strlen(OGS_SBI_LOCATION) + 2, + len+1); ogs_assert(conn->location); conn->locationlen = 0; } + } else if (ogs_strncasecmp(ptr, + OGS_SBI_CUSTOM_PRODUCER_ID, + strlen(OGS_SBI_CUSTOM_PRODUCER_ID)) == 0) { + /* ptr : "3gpp-Sbi-Producer-Id: 0cb58eca-4e84-41ed-aa10-9f892634b770\r\n" + We need to truncate "3gpp-Sbi-Producer-Id" + ": " + "\r\n" + in 'ptr' string */ + int len = strlen(ptr) - strlen(OGS_SBI_CUSTOM_PRODUCER_ID) - 2 - 2; + if (len) { + /* Only copy 0cb58eca-4e84-41ed-aa10-9f892634b770from 'ptr' string */ + conn->producer_id = ogs_memdup( + (char *)ptr + strlen(OGS_SBI_CUSTOM_PRODUCER_ID) + 2, + len+1); + ogs_assert(conn->producer_id); + conn->producer_idlen = 0; + } } return (nmemb*size);
View file
open5gs_2.4.11.tar.xz/lib/sbi/client.h -> open5gs_2.5.0.tar.xz/lib/sbi/client.h
Changed
@@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com> + * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com> * * This file is part of Open5GS. * @@ -62,8 +62,6 @@ const char *pem; } tls; - ogs_sbi_client_cb_f cb; /* Only used when NF send to NRF */ - ogs_timer_t *t_curl; /* timer for CURL */ ogs_list_t connection_list; /* CURL connection list */ @@ -86,17 +84,10 @@ void ogs_sbi_client_stop(ogs_sbi_client_t *client); void ogs_sbi_client_stop_all(void); -bool ogs_sbi_client_send_reqmem_persistent( - ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb, - ogs_sbi_request_t *request, void *data); bool ogs_sbi_client_send_request( ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb, ogs_sbi_request_t *request, void *data); - -bool ogs_sbi_scp_send_reqmem_persistent( - ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb, - ogs_sbi_request_t *request, void *data); -bool ogs_sbi_scp_send_request( +bool ogs_sbi_client_send_via_scp( ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb, ogs_sbi_request_t *request, void *data);
View file
open5gs_2.4.11.tar.xz/lib/sbi/context.c -> open5gs_2.5.0.tar.xz/lib/sbi/context.c
Changed
@@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com> + * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com> * * This file is part of Open5GS. * @@ -58,15 +58,24 @@ ogs_pool_init(&nf_info_pool, ogs_app()->pool.nf * OGS_MAX_NUM_OF_NF_INFO); - /* Add SELF NF instance */ + /* Add AELF NF-Instance */ self.nf_instance = ogs_sbi_nf_instance_add(); ogs_assert(self.nf_instance); ogs_uuid_get(&self.uuid); ogs_uuid_format(nf_instance_id, &self.uuid); - ogs_sbi_nf_instance_set_id(self.nf_instance, nf_instance_id); + /* Add NRF NF-Instance */ + self.nrf_instance = ogs_sbi_nf_instance_add(); + ogs_assert(self.nrf_instance); + ogs_sbi_nf_instance_set_type(self.nrf_instance, OpenAPI_nf_type_NRF); + + /* Add SCP NF-Instance */ + self.scp_instance = ogs_sbi_nf_instance_add(); + ogs_assert(self.scp_instance); + ogs_sbi_nf_instance_set_type(self.scp_instance, OpenAPI_nf_type_SCP); + context_initialized = 1; } @@ -123,24 +132,31 @@ ogs_assert(context_initialized == 1); switch (self.discovery_config.delegated) { case OGS_SBI_DISCOVERY_DELEGATED_AUTO: - if (strcmp(local, "nrf") != 0 && /* Skip NRF */ - strcmp(local, "smf") != 0 && /* Skip SMF since SMF can run 4G */ - ogs_sbi_self()->nrf_instance == NULL && - ogs_sbi_self()->scp_instance == NULL) { - ogs_error("DELEGATED_AUTO - Both NRF and %s are unavailable", - strcmp(scp, "next_scp") == 0 ? "Next-hop SCP" : "SCP"); - return OGS_ERROR; + if (strcmp(local, "nrf") == 0) { + /* Skip NRF */ + } else if (strcmp(local, "scp") == 0) { + /* Skip SCP */ + } else if (strcmp(local, "smf") == 0) { + /* Skip SMF since SMF can run 4G */ + } else { + if (NF_INSTANCE_CLIENT(self.nrf_instance) || + NF_INSTANCE_CLIENT(self.scp_instance)) { + } else { + ogs_error("DELEGATED_AUTO - Both NRF and %s are unavailable", + strcmp(scp, "next_scp") == 0 ? "Next-hop SCP" : "SCP"); + return OGS_ERROR; + } } break; case OGS_SBI_DISCOVERY_DELEGATED_YES: - if (ogs_sbi_self()->scp_instance == NULL) { + if (NF_INSTANCE_CLIENT(self.scp_instance) == NULL) { ogs_error("DELEGATED_YES - no %s available", strcmp(scp, "next_scp") == 0 ? "Next-hop SCP" : "SCP"); return OGS_ERROR; } break; case OGS_SBI_DISCOVERY_DELEGATED_NO: - if (ogs_sbi_self()->nrf_instance == NULL) { + if (NF_INSTANCE_CLIENT(self.nrf_instance) == NULL) { ogs_error("DELEGATED_NO - no NRF available"); return OGS_ERROR; } @@ -154,11 +170,6 @@ return OGS_OK; } -ogs_sbi_nf_instance_t *ogs_sbi_scp_instance(void) -{ - return NULL; -} - int ogs_sbi_context_parse_config( const char *local, const char *nrf, const char *scp) { @@ -478,7 +489,6 @@ ogs_yaml_iter_t sbi_array, sbi_iter; ogs_yaml_iter_recurse(&nrf_iter, &sbi_array); do { - ogs_sbi_nf_instance_t *nrf_instance = NULL; ogs_sbi_client_t *client = NULL; ogs_sockaddr_t *addr = NULL; int family = AF_UNSPEC; @@ -580,14 +590,7 @@ client = ogs_sbi_client_add(addr); ogs_assert(client); - - ogs_sbi_self()->nrf_instance = - nrf_instance = ogs_sbi_nf_instance_add(); - ogs_assert(nrf_instance); - ogs_sbi_nf_instance_set_type( - nrf_instance, OpenAPI_nf_type_NRF); - - OGS_SBI_SETUP_CLIENT(nrf_instance, client); + OGS_SBI_SETUP_CLIENT(self.nrf_instance, client); if (key) client->tls.key = key; if (pem) client->tls.pem = pem; @@ -598,7 +601,8 @@ YAML_SEQUENCE_NODE); } } - } else if (scp && !strcmp(root_key, scp)) { + } else if (ogs_app()->parameter.no_scp == false && + scp && !strcmp(root_key, scp)) { ogs_yaml_iter_t scp_iter; ogs_yaml_iter_recurse(&root_iter, &scp_iter); while (ogs_yaml_iter_next(&scp_iter)) { @@ -608,7 +612,6 @@ ogs_yaml_iter_t sbi_array, sbi_iter; ogs_yaml_iter_recurse(&scp_iter, &sbi_array); do { - ogs_sbi_nf_instance_t *scp_instance = NULL; ogs_sbi_client_t *client = NULL; ogs_sockaddr_t *addr = NULL; int family = AF_UNSPEC; @@ -710,14 +713,7 @@ client = ogs_sbi_client_add(addr); ogs_assert(client); - - ogs_sbi_self()->scp_instance = - scp_instance = ogs_sbi_nf_instance_add(); - ogs_assert(scp_instance); - ogs_sbi_nf_instance_set_type( - scp_instance, OpenAPI_nf_type_SCP); - - OGS_SBI_SETUP_CLIENT(scp_instance, client); + OGS_SBI_SETUP_CLIENT(self.scp_instance, client); if (key) client->tls.key = key; if (pem) client->tls.pem = pem; @@ -922,15 +918,18 @@ ogs_sbi_nf_instance_t *ogs_sbi_nf_instance_find_by_discovery_param( OpenAPI_nf_type_e target_nf_type, + OpenAPI_nf_type_e requester_nf_type, ogs_sbi_discovery_option_t *discovery_option) { ogs_sbi_nf_instance_t *nf_instance = NULL; ogs_assert(target_nf_type); + ogs_assert(requester_nf_type); ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance) { if (ogs_sbi_discovery_param_is_matched( - nf_instance, target_nf_type, discovery_option) == false) + nf_instance, target_nf_type, requester_nf_type, + discovery_option) == false) continue; return nf_instance; @@ -940,7 +939,8 @@ } ogs_sbi_nf_instance_t *ogs_sbi_nf_instance_find_by_service_type( - ogs_sbi_service_type_e service_type) + ogs_sbi_service_type_e service_type, + OpenAPI_nf_type_e requester_nf_type) { ogs_sbi_nf_instance_t *nf_instance = NULL; ogs_sbi_discovery_option_t *discovery_option = NULL; @@ -948,6 +948,7 @@ OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; char *service_name = NULL; + ogs_assert(requester_nf_type); ogs_assert(service_type); target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); ogs_assert(target_nf_type); @@ -959,7 +960,7 @@ ogs_sbi_discovery_option_add_service_names(discovery_option, service_name); nf_instance = ogs_sbi_nf_instance_find_by_discovery_param( - target_nf_type, discovery_option); + target_nf_type, requester_nf_type, discovery_option); ogs_sbi_discovery_option_free(discovery_option); @@ -1536,14 +1537,11 @@ bool ogs_sbi_discovery_param_is_matched( ogs_sbi_nf_instance_t *nf_instance, OpenAPI_nf_type_e target_nf_type, + OpenAPI_nf_type_e requester_nf_type, ogs_sbi_discovery_option_t *discovery_option) { - OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; - ogs_assert(nf_instance); ogs_assert(target_nf_type); - ogs_assert(ogs_sbi_self()->nf_instance); - requester_nf_type = ogs_sbi_self()->nf_instance->nf_type; ogs_assert(requester_nf_type); if (!OGS_FSM_CHECK(&nf_instance->sm, ogs_sbi_nf_state_registered)) @@ -1600,7 +1598,24 @@ } } - ogs_error("Fallback Cannot find NF service%s:%s", name, version); + return nf_instance->client; +} + +ogs_sbi_client_t *ogs_sbi_client_find_by_service_type( + ogs_sbi_nf_instance_t *nf_instance, + ogs_sbi_service_type_e service_type) +{ + ogs_sbi_nf_service_t *nf_service = NULL; + + ogs_assert(nf_instance); + ogs_assert(service_type); + + ogs_list_for_each(&nf_instance->nf_service_list, nf_service) { + ogs_assert(nf_service->name); + if (ogs_sbi_service_type_from_name(nf_service->name) == service_type) + return nf_service->client; + } + return nf_instance->client; } @@ -1643,8 +1658,15 @@ xact->sbi_object = sbi_object; xact->service_type = service_type; + xact->requester_nf_type = NF_INSTANCE_TYPE(ogs_sbi_self()->nf_instance); + ogs_assert(xact->requester_nf_type); - /* Always insert one service-name in the discovery option */ + /* + * Insert one service-name in the discovery option in the function below. + * + * - ogs_sbi_xact_add() + * - ogs_sbi_send_notification_request() + */ if (!discovery_option) { discovery_option = ogs_sbi_discovery_option_new(); ogs_assert(discovery_option); @@ -1661,7 +1683,11 @@ ogs_app()->timer_mgr, ogs_timer_sbi_client_wait_expire, xact); if (!xact->t_response) { ogs_error("ogs_timer_add() failed"); + + if (xact->discovery_option) + ogs_sbi_discovery_option_free(xact->discovery_option); ogs_pool_free(&xact_pool, xact); + return NULL; } @@ -1672,8 +1698,13 @@ xact->request = (*build)(context, data); if (!xact->request) { ogs_error("SBI build failed"); + + if (xact->discovery_option) + ogs_sbi_discovery_option_free(xact->discovery_option); + ogs_timer_delete(xact->t_response); ogs_pool_free(&xact_pool, xact); + return NULL; } if (!xact->request->h.uri) { @@ -1848,33 +1879,18 @@ OpenAPI_nf_type_e nf_type, const char *service_name) { ogs_sbi_subscription_data_t *subscription_data = NULL; - ogs_sbi_nf_instance_t *nf_instance = NULL, *nrf_instance = NULL; - ogs_sbi_client_t *client = NULL; ogs_assert(nf_type); - nrf_instance = ogs_sbi_self()->nrf_instance; - if (!nrf_instance) { - ogs_warn("%s:%s has no NRF", - OpenAPI_nf_type_ToString(nf_type), service_name); - return; - } - - client = nrf_instance->client; - ogs_assert(client); - - nf_instance = ogs_sbi_self()->nf_instance; - ogs_assert(nf_instance); - ogs_assert(nf_instance->id); - ogs_assert(nf_instance->nf_type); - subscription_data = ogs_sbi_subscription_data_add(); ogs_assert(subscription_data); - OGS_SBI_SETUP_CLIENT(subscription_data, client); - subscription_data->req_nf_type = nf_instance->nf_type; - if (nf_instance->id) - subscription_data->req_nf_instance_id = ogs_strdup(nf_instance->id); + subscription_data->req_nf_type = + NF_INSTANCE_TYPE(ogs_sbi_self()->nf_instance); + ogs_assert(subscription_data->req_nf_type); + if (NF_INSTANCE_ID(ogs_sbi_self()->nf_instance)) + subscription_data->req_nf_instance_id = + ogs_strdup(NF_INSTANCE_ID(ogs_sbi_self()->nf_instance)); subscription_data->subscr_cond.nf_type = nf_type; if (service_name) subscription_data->subscr_cond.service_name = ogs_strdup(service_name);
View file
open5gs_2.4.11.tar.xz/lib/sbi/context.h -> open5gs_2.5.0.tar.xz/lib/sbi/context.h
Changed
@@ -84,18 +84,20 @@ ogs_timer_t *t_no_heartbeat; /* check heartbeat */ ogs_timer_t *t_validity; /* check validation */ +#define NF_INSTANCE_ID(__nFInstance) \ + ((__nFInstance) ? ((__nFInstance)->id) : NULL) #define NF_INSTANCE_ID_IS_SELF(_iD) \ (_iD) && ogs_sbi_self()->nf_instance && \ strcmp((_iD), ogs_sbi_self()->nf_instance->id) == 0 #define NF_INSTANCE_ID_IS_OTHERS(_iD) \ (_iD) && ogs_sbi_self()->nf_instance && \ strcmp((_iD), ogs_sbi_self()->nf_instance->id) != 0 + char *id; +#define NF_INSTANCE_TYPE(__nFInstance) \ + ((__nFInstance) ? ((__nFInstance)->nf_type) : OpenAPI_nf_type_NULL) #define NF_INSTANCE_TYPE_IS_NRF(__nFInstance) \ - ((__nFInstance->nf_type) == OpenAPI_nf_type_NRF) - - char *id; /* NFInstanceId */ - + (NF_INSTANCE_TYPE(__nFInstance) == OpenAPI_nf_type_NRF) OpenAPI_nf_type_e nf_type; OpenAPI_nf_status_e nf_status; @@ -121,6 +123,8 @@ ogs_list_t nf_service_list; ogs_list_t nf_info_list; +#define NF_INSTANCE_CLIENT(__nFInstance) \ + ((__nFInstance) ? ((__nFInstance)->client) : NULL) void *client; /* only used in CLIENT */ unsigned int reference_count; /* reference count for memory free */ } ogs_sbi_nf_instance_t; @@ -155,6 +159,7 @@ ogs_lnode_t lnode; ogs_sbi_service_type_e service_type; + OpenAPI_nf_type_e requester_nf_type; ogs_sbi_discovery_option_t *discovery_option; ogs_sbi_request_t *request; @@ -220,7 +225,7 @@ struct { OpenAPI_nf_type_e nf_type; /* nfType */ - char *service_name; /* ServiceName */ + char *service_name; /* ServiceName */ } subscr_cond; uint64_t requester_features; @@ -297,8 +302,6 @@ bool ogs_sbi_nf_service_is_available(const char *name); -ogs_sbi_nf_instance_t *ogs_sbi_scp_instance(void); - ogs_sbi_nf_instance_t *ogs_sbi_nf_instance_add(void); void ogs_sbi_nf_instance_set_id(ogs_sbi_nf_instance_t *nf_instance, char *id); void ogs_sbi_nf_instance_set_type( @@ -315,9 +318,11 @@ ogs_sbi_nf_instance_t *ogs_sbi_nf_instance_find(char *id); ogs_sbi_nf_instance_t *ogs_sbi_nf_instance_find_by_discovery_param( OpenAPI_nf_type_e nf_type, + OpenAPI_nf_type_e requester_nf_type, ogs_sbi_discovery_option_t *discovery_option); ogs_sbi_nf_instance_t *ogs_sbi_nf_instance_find_by_service_type( - ogs_sbi_service_type_e service_type); + ogs_sbi_service_type_e service_type, + OpenAPI_nf_type_e requester_nf_type); bool ogs_sbi_nf_instance_maximum_number_is_reached(void); ogs_sbi_nf_service_t *ogs_sbi_nf_service_add( @@ -352,6 +357,9 @@ ogs_sbi_client_t *ogs_sbi_client_find_by_service_name( ogs_sbi_nf_instance_t *nf_instance, char *name, char *version); +ogs_sbi_client_t *ogs_sbi_client_find_by_service_type( + ogs_sbi_nf_instance_t *nf_instance, + ogs_sbi_service_type_e service_type); void ogs_sbi_client_associate(ogs_sbi_nf_instance_t *nf_instance); @@ -373,6 +381,7 @@ bool ogs_sbi_discovery_param_is_matched( ogs_sbi_nf_instance_t *nf_instance, OpenAPI_nf_type_e target_nf_type, + OpenAPI_nf_type_e requester_nf_type, ogs_sbi_discovery_option_t *discovery_option); bool ogs_sbi_discovery_option_is_matched(
View file
open5gs_2.4.11.tar.xz/lib/sbi/conv.c -> open5gs_2.5.0.tar.xz/lib/sbi/conv.c
Changed
@@ -451,6 +451,72 @@ return true; } +int ogs_sbi_rfc7231_string(char *date_str, ogs_time_t time) +{ + const char ogs_month_snames124 = { + "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", + "Aug", "Sep", "Oct", "Nov", "Dec" + }; + const char ogs_day_snames74 = { + "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" + }; + + struct tm gmt; + const char *s; + int real_year; + + ogs_time_t sec = ogs_time_sec(time); + ogs_time_t msec = ogs_time_msec(time); + + ogs_assert(date_str); + + ogs_gmtime(sec, &gmt); + + /* example: "Sun, 04 Aug 2019 08:49:37.845 GMT" */ + /* 123456789012345678901234567890123 */ + + s = &ogs_day_snamesgmt.tm_wday0; + *date_str++ = *s++; + *date_str++ = *s++; + *date_str++ = *s++; + *date_str++ = ','; + *date_str++ = ' '; + *date_str++ = gmt.tm_mday / 10 + '0'; + *date_str++ = gmt.tm_mday % 10 + '0'; + *date_str++ = ' '; + s = &ogs_month_snamesgmt.tm_mon0; + *date_str++ = *s++; + *date_str++ = *s++; + *date_str++ = *s++; + *date_str++ = ' '; + real_year = 1900 + gmt.tm_year; + /* This routine isn't y10k ready. */ + *date_str++ = real_year / 1000 + '0'; + *date_str++ = real_year % 1000 / 100 + '0'; + *date_str++ = real_year % 100 / 10 + '0'; + *date_str++ = real_year % 10 + '0'; + *date_str++ = ' '; + *date_str++ = gmt.tm_hour / 10 + '0'; + *date_str++ = gmt.tm_hour % 10 + '0'; + *date_str++ = ':'; + *date_str++ = gmt.tm_min / 10 + '0'; + *date_str++ = gmt.tm_min % 10 + '0'; + *date_str++ = ':'; + *date_str++ = gmt.tm_sec / 10 + '0'; + *date_str++ = gmt.tm_sec % 10 + '0'; + *date_str++ = '.'; + *date_str++ = msec / 100 + '0'; + *date_str++ = msec % 100 / 10 + '0'; + *date_str++ = msec % 10 + '0'; + *date_str++ = ' '; + *date_str++ = 'G'; + *date_str++ = 'M'; + *date_str++ = 'T'; + *date_str++ = 0; + + return OGS_OK; +} + char *ogs_sbi_s_nssai_to_string(ogs_s_nssai_t *s_nssai) { cJSON *item = NULL;
View file
open5gs_2.4.11.tar.xz/lib/sbi/conv.h -> open5gs_2.5.0.tar.xz/lib/sbi/conv.h
Changed
@@ -56,6 +56,9 @@ char *ogs_sbi_timezone_string(int tm_gmtoff); bool ogs_sbi_time_from_string(ogs_time_t *time, char *str); +#define OGS_SBI_RFC7231_DATE_LEN (34) +int ogs_sbi_rfc7231_string(char *date_str, ogs_time_t time); + char *ogs_sbi_s_nssai_to_string(ogs_s_nssai_t *s_nssai); bool ogs_sbi_s_nssai_from_string(ogs_s_nssai_t *s_nssai, char *str);
View file
open5gs_2.4.11.tar.xz/lib/sbi/meson.build -> open5gs_2.5.0.tar.xz/lib/sbi/meson.build
Changed
@@ -41,6 +41,7 @@ nnrf-build.c nnrf-handler.c + nnrf-path.c path.c nf-sm.c
View file
open5gs_2.4.11.tar.xz/lib/sbi/message.c -> open5gs_2.5.0.tar.xz/lib/sbi/message.c
Changed
@@ -179,6 +179,10 @@ OpenAPI_termination_notification_free(message->TerminationNotification); if (message->DeregistrationData) OpenAPI_deregistration_data_free(message->DeregistrationData); + if (message->SDMSubscription) + OpenAPI_sdm_subscription_free(message->SDMSubscription); + if (message->ModificationNotification) + OpenAPI_modification_notification_free(message->ModificationNotification); /* HTTP Part */ for (i = 0; i < message->num_of_part; i++) { @@ -249,6 +253,9 @@ { int i; ogs_sbi_request_t *request = NULL; + OpenAPI_nf_type_e nf_type = OpenAPI_nf_type_NULL; + char sender_timestampOGS_SBI_RFC7231_DATE_LEN; + char *max_rsp_time = NULL; ogs_assert(message); @@ -307,21 +314,17 @@ discovery_option->num_of_service_names) { /* send array items separated by a comma */ - char *v = NULL; - - v = ogs_strdup(discovery_option->service_names0); - ogs_expect_or_return_val(v, NULL); - - if (discovery_option->num_of_service_names > 1) - { - int i; - for (i = 1; i < discovery_option->num_of_service_names; i++) - v = ogs_mstrcatf(v, ",%s", discovery_option->service_namesi); + char *v = ogs_sbi_discovery_option_build_service_names( + discovery_option); + if (v) { + ogs_sbi_header_set(request->http.params, + OGS_SBI_PARAM_SERVICE_NAMES, v); + ogs_free(v); + } else { + ogs_warn("invalid service names failed%d:%s", + discovery_option->num_of_service_names, + discovery_option->service_names0); } - - ogs_sbi_header_set( - request->http.params, OGS_SBI_PARAM_SERVICE_NAMES, v); - ogs_free(v); } } @@ -443,10 +446,38 @@ END } + nf_type = NF_INSTANCE_TYPE(ogs_sbi_self()->nf_instance); + if (nf_type) { + char *user_agent = OpenAPI_nf_type_ToString(nf_type); + if (user_agent) + ogs_sbi_header_set(request->http.headers, + OGS_SBI_USER_AGENT, user_agent); + } + + ogs_assert(OGS_OK == + ogs_sbi_rfc7231_string(sender_timestamp, ogs_time_now())); + ogs_sbi_header_set(request->http.headers, + OGS_SBI_OPTIONAL_CUSTOM_SENDER_TIMESTAMP, sender_timestamp); + + ogs_assert(ogs_time_to_msec(ogs_app()->time.message.duration)); + max_rsp_time = ogs_msprintf("%d", + (int)ogs_time_to_msec(ogs_app()->time.message.duration)); + ogs_sbi_header_set(request->http.headers, + OGS_SBI_OPTIONAL_CUSTOM_MAX_RSP_TIME, max_rsp_time); + ogs_free(max_rsp_time); + if (message->http.content_encoding) ogs_sbi_header_set(request->http.headers, OGS_SBI_ACCEPT_ENCODING, message->http.content_encoding); + if (message->http.custom.callback) + ogs_sbi_header_set(request->http.headers, + OGS_SBI_CUSTOM_CALLBACK, message->http.custom.callback); + + if (message->http.custom.nrf_uri) + ogs_sbi_header_set(request->http.headers, + OGS_SBI_CUSTOM_NRF_URI, message->http.custom.nrf_uri); + return request; } @@ -514,37 +545,33 @@ /* Discovery Option Parameter */ } else if (!strcmp(ogs_hash_this_key(hi), OGS_SBI_PARAM_TARGET_NF_INSTANCE_ID)) { - discovery_option_presence = true; - ogs_sbi_discovery_option_set_target_nf_instance_id( - discovery_option, ogs_hash_this_val(hi)); + char *v = NULL; + v = ogs_hash_this_val(hi); + + if (v) { + ogs_sbi_discovery_option_set_target_nf_instance_id( + discovery_option, v); + discovery_option_presence = true; + } } else if (!strcmp(ogs_hash_this_key(hi), OGS_SBI_PARAM_REQUESTER_NF_INSTANCE_ID)) { - discovery_option_presence = true; - ogs_sbi_discovery_option_set_requester_nf_instance_id( - discovery_option, ogs_hash_this_val(hi)); + char *v = NULL; + v = ogs_hash_this_val(hi); + + if (v) { + ogs_sbi_discovery_option_set_requester_nf_instance_id( + discovery_option, v); + discovery_option_presence = true; + } } else if (!strcmp(ogs_hash_this_key(hi), OGS_SBI_PARAM_SERVICE_NAMES)) { char *v = NULL; - char *service_names; - char *token; - char *saveptr; v = ogs_hash_this_val(hi); if (v) { - service_names = ogs_strdup(v); - ogs_assert(service_names); - - token = ogs_strtok_r(service_names, ",", &saveptr); - while (token != NULL) - { - discovery_option_presence = true; - ogs_sbi_discovery_option_add_service_names( - discovery_option, token); - - token = ogs_strtok_r(NULL, ",", &saveptr); - } - - ogs_free(service_names); + ogs_sbi_discovery_option_parse_service_names( + discovery_option, v); + discovery_option_presence = true; } /* URL Query Parameter */ @@ -653,11 +680,26 @@ message->http.content_type = ogs_hash_this_val(hi); } else if (!ogs_strcasecmp(ogs_hash_this_key(hi), OGS_SBI_ACCEPT)) { message->http.accept = ogs_hash_this_val(hi); + } else if (!ogs_strcasecmp(ogs_hash_this_key(hi), OGS_SBI_USER_AGENT)) { + char *v = ogs_hash_this_val(hi); + if (v) + message->http.requester_nf_type = + OpenAPI_nf_type_FromString(v); + } else if (!ogs_strcasecmp(ogs_hash_this_key(hi), + OGS_SBI_CUSTOM_CALLBACK)) { + message->http.custom.callback = ogs_hash_this_val(hi); } } + if (!message->http.requester_nf_type) { + ogs_error("No User-Agent in HTTP2 Header"); + ogs_sbi_message_free(message); + return OGS_ERROR; + } + if (parse_content(message, &request->http) != OGS_OK) { ogs_error("parse_content() failed"); + ogs_sbi_message_free(message); return OGS_ERROR; } @@ -1008,6 +1050,15 @@ item = OpenAPI_deregistration_data_convertToJSON( message->DeregistrationData); ogs_assert(item); + } else if (message->SDMSubscription) { + item = OpenAPI_sdm_subscription_convertToJSON( + message->SDMSubscription); + ogs_assert(item); + } + else if (message->ModificationNotification) { + item = OpenAPI_modification_notification_convertToJSON( + message->ModificationNotification); + ogs_assert(item); } if (item) { @@ -1312,6 +1363,15 @@ } break; + CASE(OGS_SBI_RESOURCE_NAME_SDM_SUBSCRIPTIONS) + message->SDMSubscription = + OpenAPI_sdm_subscription_parseFromJSON(item); + if (!message->SDMSubscription) { + rv = OGS_ERROR; + ogs_error("JSON parse error"); + } + break; + DEFAULT rv = OGS_ERROR; ogs_error("Unknown resource name %s", @@ -1855,6 +1915,15 @@ } break; + CASE(OGS_SBI_RESOURCE_NAME_SDMSUBSCRIPTION_NOTIFY) + message->ModificationNotification = + OpenAPI_modification_notification_parseFromJSON(item); + if (!message->ModificationNotification) { + rv = OGS_ERROR; + ogs_error("JSON parse error"); + } + break; + DEFAULT rv = OGS_ERROR; ogs_error("Unknown resource name %s", @@ -2351,3 +2420,46 @@ discovery_option->num_of_service_names); discovery_option->num_of_service_names++; } + +char *ogs_sbi_discovery_option_build_service_names( + ogs_sbi_discovery_option_t *discovery_option) +{ + int i; + char *service_names = NULL; + + ogs_assert(discovery_option); + + service_names = ogs_strdup(discovery_option->service_names0); + ogs_expect_or_return_val(service_names, NULL); + + if (discovery_option->num_of_service_names > 1) { + for (i = 1; i < discovery_option->num_of_service_names; i++) + service_names = ogs_mstrcatf( + service_names, ",%s", discovery_option->service_namesi); + } + + return service_names; +} + +void ogs_sbi_discovery_option_parse_service_names( + ogs_sbi_discovery_option_t *discovery_option, + char *service_names) +{ + char *v = NULL; + char *token = NULL; + char *saveptr = NULL; + + ogs_assert(discovery_option); + ogs_assert(service_names); + + v = ogs_strdup(service_names); + ogs_assert(v); + + token = ogs_strtok_r(v, ",", &saveptr); + while (token != NULL) { + ogs_sbi_discovery_option_add_service_names(discovery_option, token); + token = ogs_strtok_r(NULL, ",", &saveptr); + } + + ogs_free(v); +}
View file
open5gs_2.4.11.tar.xz/lib/sbi/message.h -> open5gs_2.5.0.tar.xz/lib/sbi/message.h
Changed
@@ -95,6 +95,7 @@ #define OGS_SBI_RESOURCE_NAME_UE_CONTEXT_IN_SMF_DATA "ue-context-in-smf-data" #define OGS_SBI_RESOURCE_NAME_SMF_SELECTION_SUBSCRIPTION_DATA \ "smf-selection-subscription-data" +#define OGS_SBI_RESOURCE_NAME_SDM_SUBSCRIPTIONS "sdm-subscriptions" #define OGS_SBI_RESOURCE_NAME_SECURITY_INFORMATION "security-information" #define OGS_SBI_RESOURCE_NAME_GENERATE_AUTH_DATA "generate-auth-data" @@ -126,6 +127,8 @@ #define OGS_SBI_RESOURCE_NAME_SM_CONTEXT_STATUS "sm-context-status" #define OGS_SBI_RESOURCE_NAME_AM_POLICY_NOTIFY "am-policy-notify" #define OGS_SBI_RESOURCE_NAME_DEREG_NOTIFY "dereg-notify" +#define OGS_SBI_RESOURCE_NAME_SDMSUBSCRIPTION_NOTIFY \ + "sdmsubscription-notify" #define OGS_SBI_RESOURCE_NAME_POLICIES "policies" #define OGS_SBI_RESOURCE_NAME_SM_POLICIES "sm-policies" @@ -230,8 +233,11 @@ #define OGS_SBI_NBSF_MANAGEMENT_ES3XX 4 #define OGS_SBI_NBSF_MANAGEMENT_EXTENDED_SAME_PCF 5 +#define OGS_SBI_SCHEME ":scheme" +#define OGS_SBI_AUTHORITY ":authority" #define OGS_SBI_ACCEPT "Accept" #define OGS_SBI_ACCEPT_ENCODING "Accept-Encoding" +#define OGS_SBI_USER_AGENT "User-Agent" #define OGS_SBI_CONTENT_TYPE "Content-Type" #define OGS_SBI_LOCATION "Location" #define OGS_SBI_EXPECT "Expect" @@ -280,6 +286,10 @@ OGS_SBI_CUSTOM_3GPP_COMMON "Access-Scope" #define OGS_SBI_CUSTOM_ACCESS_TOKEN \ OGS_SBI_CUSTOM_3GPP_COMMON "Access-Token" +#define OGS_SBI_OPTIONAL_CUSTOM_SENDER_TIMESTAMP \ + OGS_SBI_CUSTOM_3GPP_COMMON "Sender-Timestamp" +#define OGS_SBI_OPTIONAL_CUSTOM_MAX_RSP_TIME \ + OGS_SBI_CUSTOM_3GPP_COMMON "Max-Rsp-Time" #define OGS_SBI_PARAM_TARGET_NF_TYPE "target-nf-type" #define OGS_SBI_PARAM_REQUESTER_NF_TYPE "requester-nf-type" @@ -321,6 +331,39 @@ #define OGS_SBI_CONTENT_5GNAS_SM_ID "5gnas-sm" #define OGS_SBI_CONTENT_NGAP_SM_ID "ngap-sm" +#define OGS_SBI_CALLBACK_NSMF_PDUSESSION_UPDATE \ + "Nsmf_PDUSession_Update" +#define OGS_SBI_CALLBACK_NSMF_PDUSESSION_STATUS_NOTIFY \ + "Nsmf_PDUSession_StatusNotify" +#define OGS_SBI_CALLBACK_NUDM_SDM_NOTIFICATION \ + "Nudm_SDM_Notification" +#define OGS_SBI_CALLBACK_NUDM_UECM_DEREGISTRATION_NOTIFICATION \ + "Nudm_UECM_DeregistrationNotification" +#define OGS_SBI_CALLBACK_NUDM_UECM_PCSCF_RESTORATION_NOTIFICATION \ + "Nudm_UECM_PCSCFRestorationNotification" +#define OGS_SBI_CALLBACK_NNRF_NFMANAGEMENT_NF_STATUS_NOTIFY \ + "Nnrf_NFManagement_NFStatusNotify" +#define OGS_SBI_CALLBACK_NAMF_EVENTEXPOSURE_NOTIFY \ + "Namf_EventExposure_Notify" +#define OGS_SBI_CALLBACK_NPCF_UEPOLICYCONTROL_UPDATE_NOTIFY \ + "Npcf_UEPolicyControl_UpdateNotify" +#define OGS_SBI_CALLBACK_NNSSF_NSSAIAVAILABILITY_NOTIFICATION \ + "Nnssf_NSSAIAvailability_Notification" +#define OGS_SBI_CALLBACK_NAMF_COMMUNICATION_AMF_STATUS_CHANGE_NOTIFY \ + "Namf_Communication_AMFStatusChangeNotify" +#define OGS_SBI_CALLBACK_NGMLC_LOCATION_EVENT_NOTIFY \ + "Ngmlc_Location_EventNotify" +#define OGS_SBI_CALLBACK_NCHF_CONVERGEDCHARGING_NOTIFY \ + "Nchf_ConvergedCharging_Notify" +#define OGS_SBI_CALLBACK_NNSSAAF_NSSAA_RE_AUTHENTICATION \ + "Nnssaaf_NSSAA_ReAuthentication" +#define OGS_SBI_CALLBACK_NNSSAAF_NSSAA_REVOCATION \ + "Nnssaaf_NSSAA_Revocation" +#define OGS_SBI_CALLBACK_N5G_DDNMF_DISCOVERY_MONITOR_UPDATE_RESULT \ + "N5g-ddnmf_Discovery_MonitorUpdateResult" +#define OGS_SBI_CALLBACK_N5G_DDNMF_DISCOVERY_MATCH_INFORMATION \ + "N5g-ddnmf_Discovery_MatchInformation" + typedef struct ogs_sbi_header_s { char *method; char *uri; @@ -359,11 +402,18 @@ ogs_sbi_header_t h; struct { + OpenAPI_nf_type_e requester_nf_type; + char *accept; char *content_encoding; char *content_type; char *location; char *cache_control; + + struct { + char *callback; + char *nrf_uri; + } custom; } http; struct { @@ -448,6 +498,8 @@ OpenAPI_sm_policy_notification_t *SmPolicyNotification; OpenAPI_termination_notification_t *TerminationNotification; OpenAPI_deregistration_data_t *DeregistrationData; + OpenAPI_sdm_subscription_t *SDMSubscription; + OpenAPI_modification_notification_t *ModificationNotification; ogs_sbi_links_t *links; @@ -528,9 +580,15 @@ void ogs_sbi_discovery_option_set_requester_nf_instance_id( ogs_sbi_discovery_option_t *discovery_option, char *requester_nf_instance_id); + void ogs_sbi_discovery_option_add_service_names( ogs_sbi_discovery_option_t *discovery_option, char *service_name); +char *ogs_sbi_discovery_option_build_service_names( + ogs_sbi_discovery_option_t *discovery_option); +void ogs_sbi_discovery_option_parse_service_names( + ogs_sbi_discovery_option_t *discovery_option, + char *service_names); #ifdef __cplusplus }
View file
open5gs_2.4.11.tar.xz/lib/sbi/nf-sm.c -> open5gs_2.5.0.tar.xz/lib/sbi/nf-sm.c
Changed
@@ -110,9 +110,7 @@ void ogs_sbi_nf_state_will_register(ogs_fsm_t *s, ogs_event_t *e) { ogs_sbi_nf_instance_t *nf_instance = NULL; - ogs_sbi_client_t *client = NULL; ogs_sbi_message_t *message = NULL; - ogs_sockaddr_t *addr = NULL; ogs_assert(s); ogs_assert(e); @@ -121,7 +119,6 @@ nf_instance = e->sbi.data; ogs_assert(nf_instance); - ogs_assert(ogs_sbi_self()->nf_instance); ogs_assert(NF_INSTANCE_TYPE_IS_NRF(nf_instance)); switch (e->id) { @@ -148,11 +145,11 @@ if (message->res_status == OGS_SBI_HTTP_STATUS_OK || message->res_status == OGS_SBI_HTTP_STATUS_CREATED) { - ogs_sbi_nnrf_handle_nf_register(nf_instance, message); + ogs_nnrf_nfm_handle_nf_register(nf_instance, message); OGS_FSM_TRAN(s, &ogs_sbi_nf_state_registered); } else { ogs_error("%s HTTP Response Status Code %d", - ogs_sbi_self()->nf_instance->id, + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance), message->res_status); OGS_FSM_TRAN(s, &ogs_sbi_nf_state_exception); } @@ -160,27 +157,23 @@ DEFAULT ogs_error("%s Invalid resource name %s", - ogs_sbi_self()->nf_instance->id, + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance), message->h.resource.component0); END break; DEFAULT ogs_error("%s Invalid API name %s", - ogs_sbi_self()->nf_instance->id, message->h.service.name); + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance), + message->h.service.name); END break; case OGS_EVENT_SBI_TIMER: switch(e->timer_id) { case OGS_TIMER_NF_INSTANCE_REGISTRATION_INTERVAL: - client = nf_instance->client; - ogs_assert(client); - addr = client->node.addr; - ogs_assert(addr); - ogs_warn("%s Retry to registration with NRF", - ogs_sbi_self()->nf_instance->id); + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance)); ogs_timer_start(nf_instance->t_registration_interval, ogs_app()->time.message.sbi.nf_register_interval); @@ -190,7 +183,7 @@ default: ogs_error("%s Unknown timer%s:%d", - ogs_sbi_self()->nf_instance->id, + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance), ogs_timer_get_name(e->timer_id), e->timer_id); } break; @@ -212,7 +205,6 @@ nf_instance = e->sbi.data; ogs_assert(nf_instance); - ogs_assert(ogs_sbi_self()->nf_instance); switch (e->id) { case OGS_FSM_ENTRY_SIG: @@ -220,7 +212,7 @@ ogs_sbi_subscription_data_t *subscription_data = NULL; ogs_info("%s NF registered Heartbeat:%ds", - ogs_sbi_self()->nf_instance->id, + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance), nf_instance->time.heartbeat_interval); if (nf_instance->time.heartbeat_interval) { @@ -242,7 +234,8 @@ case OGS_FSM_EXIT_SIG: if (NF_INSTANCE_TYPE_IS_NRF(nf_instance)) { - ogs_info("%s NF de-registered", ogs_sbi_self()->nf_instance->id); + ogs_info("%s NF de-registered", + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance)); if (nf_instance->time.heartbeat_interval) { ogs_timer_stop(nf_instance->t_heartbeat_interval); @@ -276,7 +269,7 @@ no_heartbeat_margin)); } else { ogs_warn("%s HTTP response error %d", - ogs_sbi_self()->nf_instance->id, + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance), message->res_status); OGS_FSM_TRAN(s, &ogs_sbi_nf_state_exception); } @@ -285,14 +278,15 @@ DEFAULT ogs_error("%s Invalid resource name %s", - ogs_sbi_self()->nf_instance->id, + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance), message->h.resource.component0); END break; DEFAULT ogs_error("%s Invalid API name %s", - ogs_sbi_self()->nf_instance->id, message->h.service.name); + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance), + message->h.service.name); END break; @@ -307,7 +301,8 @@ break; case OGS_TIMER_NF_INSTANCE_NO_HEARTBEAT: - ogs_error("%s No heartbeat", ogs_sbi_self()->nf_instance->id); + ogs_error("%s No heartbeat", + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance)); OGS_FSM_TRAN(s, &ogs_sbi_nf_state_will_register); break; @@ -351,7 +346,8 @@ switch (e->id) { case OGS_FSM_ENTRY_SIG: if (NF_INSTANCE_TYPE_IS_NRF(nf_instance)) { - ogs_info("%s NF de-registered", ogs_sbi_self()->nf_instance->id); + ogs_info("%s NF de-registered", + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance)); } break; @@ -370,9 +366,7 @@ void ogs_sbi_nf_state_exception(ogs_fsm_t *s, ogs_event_t *e) { ogs_sbi_nf_instance_t *nf_instance = NULL; - ogs_sbi_client_t *client = NULL; ogs_sbi_message_t *message = NULL; - ogs_sockaddr_t *addr = NULL; ogs_assert(s); ogs_assert(e); @@ -400,13 +394,8 @@ case OGS_EVENT_SBI_TIMER: switch(e->timer_id) { case OGS_TIMER_NF_INSTANCE_REGISTRATION_INTERVAL: - client = nf_instance->client; - ogs_assert(client); - addr = client->node.addr; - ogs_assert(addr); - ogs_warn("%s Retry to registration with NRF", - ogs_sbi_self()->nf_instance->id); + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance)); OGS_FSM_TRAN(s, &ogs_sbi_nf_state_will_register); break;
View file
open5gs_2.4.11.tar.xz/lib/sbi/nf-sm.h -> open5gs_2.5.0.tar.xz/lib/sbi/nf-sm.h
Changed
@@ -1,5 +1,5 @@ /* - * Copyright (C) 2019,2020 by Sukchan Lee <acetcom@gmail.com> + * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com> * * This file is part of Open5GS. *
View file
open5gs_2.4.11.tar.xz/lib/sbi/nnrf-build.c -> open5gs_2.5.0.tar.xz/lib/sbi/nnrf-build.c
Changed
@@ -55,13 +55,20 @@ NFProfile = ogs_nnrf_nfm_build_nf_profile( ogs_sbi_self()->nf_instance, NULL, NULL, supported_features); - ogs_expect_or_return_val(NFProfile, NULL); + if (!NFProfile) { + ogs_error("No NFProfile"); + goto end; + } message.NFProfile = NFProfile; request = ogs_sbi_build_request(&message); + ogs_expect(request); + +end: - ogs_nnrf_nfm_free_nf_profile(NFProfile); + if (NFProfile) + ogs_nnrf_nfm_free_nf_profile(NFProfile); return request; } @@ -97,7 +104,10 @@ ogs_assert(nf_instance->id); NFProfile = ogs_calloc(1, sizeof(*NFProfile)); - ogs_expect_or_return_val(NFProfile, NULL); + if (!NFProfile) { + ogs_error("No NFProfile"); + return NULL; + } NFProfile->nf_instance_id = nf_instance->id; NFProfile->nf_type = nf_instance->nf_type; @@ -127,10 +137,12 @@ NFProfile->is_load = true; NFProfile->load = nf_instance->load; - Ipv4AddrList = OpenAPI_list_create(); - ogs_assert(Ipv4AddrList); - Ipv6AddrList = OpenAPI_list_create(); - ogs_assert(Ipv6AddrList); + NFProfile->ipv4_addresses = Ipv4AddrList = OpenAPI_list_create(); + if (!Ipv4AddrList) { + ogs_error("No Ipv4AddrList"); + ogs_nnrf_nfm_free_nf_profile(NFProfile); + return NULL; + } for (i = 0; i < nf_instance->num_of_ipv4; i++) { if (nf_instance->ipv4i) { @@ -140,10 +152,22 @@ nf_instance->ipv4i->ogs_sin_port); ogs_assert(nf_instance->ipv4i->ogs_sa_family == AF_INET); ipstr = ogs_ipstrdup(nf_instance->ipv4i); - ogs_expect_or_return_val(ipstr, NULL); + if (!ipstr) { + ogs_error("No ipstr"); + ogs_nnrf_nfm_free_nf_profile(NFProfile); + return NULL; + } OpenAPI_list_add(Ipv4AddrList, ipstr); } } + + NFProfile->ipv6_addresses = Ipv6AddrList = OpenAPI_list_create(); + if (!Ipv6AddrList) { + ogs_error("No IPv6AddrList"); + ogs_nnrf_nfm_free_nf_profile(NFProfile); + return NULL; + } + for (i = 0; i < nf_instance->num_of_ipv6; i++) { if (nf_instance->ipv6i) { ogs_trace("IPv6 family:%d, port:%d", @@ -151,35 +175,40 @@ nf_instance->ipv6i->ogs_sin_port); ogs_assert(nf_instance->ipv6i->ogs_sa_family == AF_INET6); ipstr = ogs_ipstrdup(nf_instance->ipv6i); - ogs_expect_or_return_val(ipstr, NULL); + if (!ipstr) { + ogs_error("No ipstr"); + ogs_nnrf_nfm_free_nf_profile(NFProfile); + return NULL; + } OpenAPI_list_add(Ipv6AddrList, ipstr); } } - if (Ipv4AddrList->count) - NFProfile->ipv4_addresses = Ipv4AddrList; - else - OpenAPI_list_free(Ipv4AddrList); - if (Ipv6AddrList->count) - NFProfile->ipv6_addresses = Ipv6AddrList; - else - OpenAPI_list_free(Ipv6AddrList); - - AllowedNfTypeList = OpenAPI_list_create(); - ogs_assert(AllowedNfTypeList); + NFProfile->allowed_nf_types = AllowedNfTypeList = OpenAPI_list_create(); + if (!AllowedNfTypeList) { + ogs_error("No AllowedNfTypeList"); + ogs_nnrf_nfm_free_nf_profile(NFProfile); + return NULL; + } for (i = 0; i < nf_instance->num_of_allowed_nf_type; i++) { OpenAPI_list_add(AllowedNfTypeList, (void *)(uintptr_t)nf_instance->allowed_nf_typei); } - if (AllowedNfTypeList->count) - NFProfile->allowed_nf_types = AllowedNfTypeList; - else - OpenAPI_list_free(AllowedNfTypeList); - NFServiceList = OpenAPI_list_create(); - ogs_assert(NFServiceList); + if (!NFServiceList) { + ogs_error("No nf_service_list"); + ogs_nnrf_nfm_free_nf_profile(NFProfile); + return NULL; + } + + if (OGS_SBI_FEATURES_IS_SET( + supported_features, OGS_SBI_NNRF_NFM_SERVICE_MAP)) { + NFProfile->nf_service_list = NFServiceList; + } else { + NFProfile->nf_services = NFServiceList; + } ogs_list_for_each(&nf_instance->nf_service_list, nf_service) { OpenAPI_nf_service_t *NFService = NULL; @@ -203,12 +232,20 @@ } NFService = build_nf_service(nf_service); - ogs_expect_or_return_val(NFService, NULL); + if (!NFService) { + ogs_error("No NFService"); + ogs_nnrf_nfm_free_nf_profile(NFProfile); + return NULL; + } if (OGS_SBI_FEATURES_IS_SET( supported_features, OGS_SBI_NNRF_NFM_SERVICE_MAP)) { NFServiceMap = OpenAPI_map_create(nf_service->id, NFService); - ogs_assert(NFServiceMap); + if (!NFServiceMap) { + ogs_error("No NFServiceMap"); + ogs_nnrf_nfm_free_nf_profile(NFProfile); + return NULL; + } OpenAPI_list_add(NFServiceList, NFServiceMap); } else { @@ -216,16 +253,6 @@ } } - if (NFServiceList->count) { - if (OGS_SBI_FEATURES_IS_SET( - supported_features, OGS_SBI_NNRF_NFM_SERVICE_MAP)) { - NFProfile->nf_service_list = NFServiceList; - } else { - NFProfile->nf_services = NFServiceList; - } - } else - OpenAPI_list_free(NFServiceList); - InfoList = OpenAPI_list_create(); ogs_assert(InfoList); @@ -240,7 +267,7 @@ } SmfInfo = build_smf_info(nf_info); - ogs_expect_or_return_val(SmfInfo, NULL); + ogs_assert(SmfInfo); InfoMap = OpenAPI_map_create( ogs_msprintf("%d", ++InfoMapKey), SmfInfo); @@ -250,7 +277,7 @@ } else if (nf_info->nf_type == OpenAPI_nf_type_AMF) { AmfInfo = build_amf_info(nf_info); - ogs_expect_or_return_val(AmfInfo, NULL); + ogs_assert(AmfInfo); InfoMap = OpenAPI_map_create( ogs_msprintf("%d", ++InfoMapKey), AmfInfo); @@ -390,53 +417,96 @@ ogs_assert(nf_service->name); NFService = ogs_calloc(1, sizeof(*NFService)); - ogs_expect_or_return_val(NFService, NULL); + if (!NFService) { + ogs_error("No NFService"); + return NULL; + } NFService->service_instance_id = ogs_strdup(nf_service->id); - ogs_expect_or_return_val(NFService->service_instance_id, NULL); + if (!NFService->service_instance_id) { + ogs_error("No service_instance_id"); + free_nf_service(NFService); + return NULL; + } NFService->service_name = ogs_strdup(nf_service->name); - ogs_expect_or_return_val(NFService->service_name, NULL); + if (!NFService->service_name) { + ogs_error("No service_name"); + free_nf_service(NFService); + return NULL; + } - VersionList = OpenAPI_list_create(); - ogs_assert(VersionList); + NFService->versions = VersionList = OpenAPI_list_create(); + if (!VersionList) { + ogs_error("No VersionList"); + free_nf_service(NFService); + return NULL; + } for (i = 0; i < nf_service->num_of_version; i++) { OpenAPI_nf_service_version_t *NFServiceVersion = NULL; NFServiceVersion = ogs_calloc(1, sizeof(*NFServiceVersion)); - ogs_expect_or_return_val(NFServiceVersion, NULL); + if (!NFServiceVersion) { + ogs_error("No NFServiceVersion"); + free_nf_service(NFService); + return NULL; + } if (nf_service->versioni.in_uri) { NFServiceVersion->api_version_in_uri = ogs_strdup(nf_service->versioni.in_uri); - ogs_expect_or_return_val( - NFServiceVersion->api_version_in_uri, NULL); + if (!NFServiceVersion->api_version_in_uri) { + ogs_error("No api_version_in_uri"); + if (NFServiceVersion) + ogs_free(NFServiceVersion); + free_nf_service(NFService); + return NULL; + } } if (nf_service->versioni.full) { NFServiceVersion->api_full_version = ogs_strdup(nf_service->versioni.full); - ogs_expect_or_return_val( - NFServiceVersion->api_full_version, NULL); + if (!NFServiceVersion->api_full_version) { + ogs_error("No api_full_version"); + if (NFServiceVersion) { + if (NFServiceVersion->api_version_in_uri) + ogs_free(NFServiceVersion->api_version_in_uri); + ogs_free(NFServiceVersion); + } + free_nf_service(NFService); + return NULL; + } } if (nf_service->versioni.expiry) { NFServiceVersion->expiry = ogs_strdup(nf_service->versioni.expiry); - ogs_expect_or_return_val( - NFServiceVersion->expiry, NULL); + if (!NFServiceVersion->expiry) { + ogs_error("No expiry"); + if (NFServiceVersion) { + if (NFServiceVersion->api_version_in_uri) + ogs_free(NFServiceVersion->api_version_in_uri); + if (NFServiceVersion->api_full_version) + ogs_free(NFServiceVersion->api_full_version); + ogs_free(NFServiceVersion); + } + free_nf_service(NFService); + return NULL; + } } OpenAPI_list_add(VersionList, NFServiceVersion); } - ogs_assert(VersionList->count); - NFService->versions = VersionList; - NFService->scheme = nf_service->scheme; NFService->nf_service_status = nf_service->status; if (nf_service->fqdn) NFService->fqdn = ogs_strdup(nf_service->fqdn); - IpEndPointList = OpenAPI_list_create(); - ogs_assert(IpEndPointList); + NFService->ip_end_points = IpEndPointList = OpenAPI_list_create(); + if (!IpEndPointList) { + ogs_error("No IpEndPointList"); + free_nf_service(NFService); + return NULL; + } for (i = 0; i < nf_service->num_of_addr; i++) { ogs_sockaddr_t *ipv4 = NULL; @@ -449,14 +519,33 @@ if (ipv4 || ipv6) { IpEndPoint = ogs_calloc(1, sizeof(*IpEndPoint)); - ogs_expect_or_return_val(IpEndPoint, NULL); + if (!IpEndPoint) { + ogs_error("No IpEndPoint"); + free_nf_service(NFService); + return NULL; + } if (ipv4) { IpEndPoint->ipv4_address = ogs_ipstrdup(ipv4); - ogs_expect_or_return_val(IpEndPoint->ipv4_address, NULL); + if (!IpEndPoint->ipv4_address) { + ogs_error("No ipv4_address"); + if (IpEndPoint) + ogs_free(IpEndPoint); + free_nf_service(NFService); + return NULL; + } } if (ipv6) { IpEndPoint->ipv6_address = ogs_ipstrdup(ipv6); - ogs_expect_or_return_val(IpEndPoint->ipv6_address, NULL); + if (!IpEndPoint->ipv6_address) { + ogs_error("No ipv6_address"); + if (IpEndPoint) { + if (IpEndPoint->ipv4_address) + ogs_free(IpEndPoint->ipv4_address); + ogs_free(IpEndPoint); + } + free_nf_service(NFService); + return NULL; + } } IpEndPoint->is_port = true; IpEndPoint->port = nf_service->addri.port; @@ -464,24 +553,18 @@ } } - if (IpEndPointList->count) - NFService->ip_end_points = IpEndPointList; - else - OpenAPI_list_free(IpEndPointList); - - AllowedNfTypeList = OpenAPI_list_create(); - ogs_assert(AllowedNfTypeList); + NFService->allowed_nf_types = AllowedNfTypeList = OpenAPI_list_create(); + if (!AllowedNfTypeList) { + ogs_error("No AllowedNfTypeList"); + free_nf_service(NFService); + return NULL; + } for (i = 0; i < nf_service->num_of_allowed_nf_type; i++) { OpenAPI_list_add(AllowedNfTypeList, (void *)(uintptr_t)nf_service->allowed_nf_typei); } - if (AllowedNfTypeList->count) - NFService->allowed_nf_types = AllowedNfTypeList; - else - OpenAPI_list_free(AllowedNfTypeList); - NFService->is_priority = true; NFService->priority = nf_service->priority; NFService->is_capacity = true; @@ -552,38 +635,50 @@ ogs_assert(nf_info); SmfInfo = ogs_calloc(1, sizeof(*SmfInfo)); - ogs_expect_or_return_val(SmfInfo, NULL); + if (!SmfInfo) { + ogs_error("No SmfInfo"); + return NULL; + } - sNssaiSmfInfoList = OpenAPI_list_create(); - ogs_assert(sNssaiSmfInfoList); + SmfInfo->s_nssai_smf_info_list = sNssaiSmfInfoList = OpenAPI_list_create(); + if (!sNssaiSmfInfoList) { + ogs_error("No sNssaiSmfInfoList"); + free_smf_info(SmfInfo); + return NULL; + } for (i = 0; i < nf_info->smf.num_of_slice; i++) { DnnSmfInfoList = OpenAPI_list_create(); - ogs_assert(DnnSmfInfoList); + if (!DnnSmfInfoList) { + ogs_error("No DnnSmfInfoList"); + free_smf_info(SmfInfo); + return NULL; + } for (j = 0; j < nf_info->smf.slicei.num_of_dnn; j++) { DnnSmfInfoItem = ogs_calloc(1, sizeof(*DnnSmfInfoItem)); - ogs_expect_or_return_val(DnnSmfInfoItem, NULL); + ogs_assert(DnnSmfInfoItem); DnnSmfInfoItem->dnn = nf_info->smf.slicei.dnnj; OpenAPI_list_add(DnnSmfInfoList, DnnSmfInfoItem); } if (!DnnSmfInfoList->count) { + ogs_error("CHECK CONFIGURATION: No DNN"); + OpenAPI_list_free(DnnSmfInfoList); + free_smf_info(SmfInfo); - ogs_error("CHECK CONFIGURATION: No DNN"); - ogs_expect_or_return_val(0, NULL); + return NULL; } sNssaiSmfInfoItem = ogs_calloc(1, sizeof(*sNssaiSmfInfoItem)); - ogs_expect_or_return_val(sNssaiSmfInfoItem, NULL); + ogs_assert(sNssaiSmfInfoItem); sNssaiSmfInfoItem->dnn_smf_info_list = DnnSmfInfoList; - sNssaiSmfInfoItem->s_nssai = sNssai = - ogs_calloc(1, sizeof(*sNssai)); - ogs_expect_or_return_val(sNssai, NULL); + sNssaiSmfInfoItem->s_nssai = sNssai = ogs_calloc(1, sizeof(*sNssai)); + ogs_assert(sNssai); sNssai->sst = nf_info->smf.slicei.s_nssai.sst; sNssai->sd = ogs_s_nssai_sd_to_string(nf_info->smf.slicei.s_nssai.sd); @@ -591,80 +686,98 @@ OpenAPI_list_add(sNssaiSmfInfoList, sNssaiSmfInfoItem); } - if (sNssaiSmfInfoList->count) - SmfInfo->s_nssai_smf_info_list = sNssaiSmfInfoList; - else - OpenAPI_list_free(sNssaiSmfInfoList); - - TaiList = OpenAPI_list_create(); - ogs_assert(TaiList); + SmfInfo->tai_list = TaiList = OpenAPI_list_create(); + if (!TaiList) { + ogs_error("No TaiList"); + free_smf_info(SmfInfo); + return NULL; + } for (i = 0; i < nf_info->smf.num_of_nr_tai; i++) { TaiItem = ogs_calloc(1, sizeof(*TaiItem)); - ogs_expect_or_return_val(TaiItem, NULL); + if (!TaiItem) { + ogs_error("No TaiItem"); + free_smf_info(SmfInfo); + return NULL; + } TaiItem->plmn_id = ogs_sbi_build_plmn_id( &nf_info->smf.nr_taii.plmn_id); - ogs_expect_or_return_val(TaiItem->plmn_id, NULL); + if (!TaiItem->plmn_id) { + ogs_error("No TaiItem->plmn_id"); + if (TaiItem) + ogs_free(TaiItem); + free_smf_info(SmfInfo); + return NULL; + } TaiItem->tac = ogs_uint24_to_0string(nf_info->smf.nr_taii.tac); - ogs_expect_or_return_val(TaiItem->tac, NULL); + if (!TaiItem->tac) { + ogs_error("No TaiItem->tac"); + if (TaiItem) { + if (TaiItem->plmn_id) + ogs_free(TaiItem->plmn_id); + ogs_free(TaiItem); + } + free_smf_info(SmfInfo); + return NULL; + } OpenAPI_list_add(TaiList, TaiItem); } - if (TaiList->count) - SmfInfo->tai_list = TaiList; - else - OpenAPI_list_free(TaiList); - - TaiRangeList = OpenAPI_list_create(); - ogs_assert(TaiRangeList); + SmfInfo->tai_range_list = TaiRangeList = OpenAPI_list_create(); + if (!TaiRangeList) { + ogs_error("No TaiRangeList"); + free_smf_info(SmfInfo); + return NULL; + } for (i = 0; i < nf_info->smf.num_of_nr_tai_range; i++) { TacRangeList = OpenAPI_list_create(); - ogs_assert(TacRangeList); + if (!TacRangeList) { + ogs_error("No TacRangeList"); + free_smf_info(SmfInfo); + return NULL; + } for (j = 0; j < nf_info->smf.nr_tai_rangei.num_of_tac_range; j++) { TacRangeItem = ogs_calloc(1, sizeof(*TacRangeItem)); - ogs_expect_or_return_val(TacRangeItem, NULL); + ogs_assert(TacRangeItem); TacRangeItem->start = ogs_uint24_to_0string( nf_info->smf.nr_tai_rangei.startj); - ogs_expect_or_return_val(TacRangeItem->start, NULL); + ogs_assert(TacRangeItem->start); TacRangeItem->end = ogs_uint24_to_0string( nf_info->smf.nr_tai_rangei.endj); - ogs_expect_or_return_val(TacRangeItem->end, NULL); + ogs_assert(TacRangeItem->end); OpenAPI_list_add(TacRangeList, TacRangeItem); } if (!TacRangeList->count) { + ogs_error("CHECK CONFIGURATION: No Start/End in TacRange"); + OpenAPI_list_free(TacRangeList); + free_smf_info(SmfInfo); - ogs_error("CHECK CONFIGURATION: No Start/End in TacRange"); - ogs_expect_or_return_val(0, NULL); + return NULL; } TaiRangeItem = ogs_calloc(1, sizeof(*TaiRangeItem)); - ogs_expect_or_return_val(TaiRangeItem, NULL); + ogs_assert(TaiRangeItem); TaiRangeItem->plmn_id = ogs_sbi_build_plmn_id( &nf_info->smf.nr_tai_rangei.plmn_id); - ogs_expect_or_return_val(TaiRangeItem->plmn_id, NULL); + ogs_assert(TaiRangeItem->plmn_id); TaiRangeItem->tac_range_list = TacRangeList; OpenAPI_list_add(TaiRangeList, TaiRangeItem); } - if (TaiRangeList->count) - SmfInfo->tai_range_list = TaiRangeList; - else - OpenAPI_list_free(TaiRangeList); - return SmfInfo; } @@ -686,103 +799,166 @@ ogs_assert(nf_info); AmfInfo = ogs_calloc(1, sizeof(*AmfInfo)); - ogs_expect_or_return_val(AmfInfo, NULL); + if (!AmfInfo) { + ogs_error("No AmfInfo"); + return NULL; + } AmfInfo->amf_set_id = ogs_msprintf("%03x", nf_info->amf.amf_set_id); + if (!AmfInfo->amf_set_id) { + ogs_error("No amf_set_id"); + free_amf_info(AmfInfo); + return NULL; + } AmfInfo->amf_region_id = ogs_msprintf("%02x", nf_info->amf.amf_region_id); + if (!AmfInfo->amf_region_id) { + ogs_error("No amf_region_id"); + free_amf_info(AmfInfo); + return NULL; + } - guamiAmfInfoList = OpenAPI_list_create(); - ogs_assert(guamiAmfInfoList); + AmfInfo->guami_list = guamiAmfInfoList = OpenAPI_list_create(); + if (!guamiAmfInfoList) { + ogs_error("No guamiAmfInfoList"); + free_amf_info(AmfInfo); + return NULL; + } for (i = 0; i < nf_info->amf.num_of_guami; i++) { guamiAmfInfoItem = ogs_calloc(1, sizeof(*guamiAmfInfoItem)); - ogs_expect_or_return_val(guamiAmfInfoItem, NULL); + if (!guamiAmfInfoItem) { + ogs_error("guamiAmfInfoItem"); + free_amf_info(AmfInfo); + return NULL; + } guamiAmfInfoItem->plmn_id = ogs_sbi_build_plmn_id_nid(&nf_info->amf.guamii.plmn_id); - ogs_expect_or_return_val(guamiAmfInfoItem->plmn_id, NULL); + if (!guamiAmfInfoItem->plmn_id) { + ogs_error("guamiAmfInfoItem->plmn_id"); + if (guamiAmfInfoItem) + ogs_free(guamiAmfInfoItem); + free_amf_info(AmfInfo); + return NULL; + } guamiAmfInfoItem->amf_id = ogs_amf_id_to_string(&nf_info->amf.guamii.amf_id); - ogs_expect_or_return_val(guamiAmfInfoItem->amf_id, NULL); + if (!guamiAmfInfoItem->amf_id) { + ogs_error("guamiAmfInfoItem->amf_id"); + if (guamiAmfInfoItem) { + if (guamiAmfInfoItem->plmn_id) + ogs_free(guamiAmfInfoItem->plmn_id); + ogs_free(guamiAmfInfoItem); + } + free_amf_info(AmfInfo); + return NULL; + } OpenAPI_list_add(guamiAmfInfoList, guamiAmfInfoItem); } - if (guamiAmfInfoList->count) - AmfInfo->guami_list = guamiAmfInfoList; - else - OpenAPI_list_free(guamiAmfInfoList); - - TaiList = OpenAPI_list_create(); - ogs_assert(TaiList); + AmfInfo->tai_list = TaiList = OpenAPI_list_create(); + if (!TaiList) { + ogs_error("No TaiList"); + free_amf_info(AmfInfo); + return NULL; + } for (i = 0; i < nf_info->amf.num_of_nr_tai; i++) { TaiItem = ogs_calloc(1, sizeof(*TaiItem)); - ogs_expect_or_return_val(TaiItem, NULL); + if (!TaiList) { + ogs_error("No TaiItem"); + free_amf_info(AmfInfo); + return NULL; + } TaiItem->plmn_id = ogs_sbi_build_plmn_id( &nf_info->amf.nr_taii.plmn_id); - ogs_expect_or_return_val(TaiItem->plmn_id, NULL); + if (!TaiItem->plmn_id) { + ogs_error("No TaiItem->plmn_id"); + if (TaiItem) + ogs_free(TaiItem); + free_amf_info(AmfInfo); + return NULL; + } TaiItem->tac = ogs_uint24_to_0string(nf_info->amf.nr_taii.tac); - ogs_expect_or_return_val(TaiItem->tac, NULL); + if (!TaiItem->tac) { + ogs_error("No TaiItem->tac"); + if (TaiItem) { + if (TaiItem->plmn_id) + ogs_free(TaiItem->plmn_id); + ogs_free(TaiItem); + } + free_amf_info(AmfInfo); + return NULL; + } OpenAPI_list_add(TaiList, TaiItem); } - if (TaiList->count) - AmfInfo->tai_list = TaiList; - else - OpenAPI_list_free(TaiList); - - TaiRangeList = OpenAPI_list_create(); - ogs_assert(TaiRangeList); + AmfInfo->tai_range_list = TaiRangeList = OpenAPI_list_create(); + if (!TaiRangeList) { + ogs_error("No TaiRangeList"); + free_amf_info(AmfInfo); + return NULL; + } for (i = 0; i < nf_info->amf.num_of_nr_tai_range; i++) { TacRangeList = OpenAPI_list_create(); - ogs_assert(TacRangeList); + if (!TacRangeList) { + ogs_error("No TacRangeList"); + free_amf_info(AmfInfo); + return NULL; + } for (j = 0; j < nf_info->amf.nr_tai_rangei.num_of_tac_range; j++) { TacRangeItem = ogs_calloc(1, sizeof(*TacRangeItem)); - ogs_expect_or_return_val(TacRangeItem, NULL); + ogs_assert(TacRangeItem); TacRangeItem->start = ogs_uint24_to_0string( nf_info->amf.nr_tai_rangei.startj); - ogs_expect_or_return_val(TacRangeItem->start, NULL); + ogs_assert(TacRangeItem->start); TacRangeItem->end = ogs_uint24_to_0string( nf_info->amf.nr_tai_rangei.endj); - ogs_expect_or_return_val(TacRangeItem->end, NULL); + ogs_assert(TacRangeItem->end); OpenAPI_list_add(TacRangeList, TacRangeItem); } if (!TacRangeList->count) { + ogs_error("CHECK CONFIGURATION: No Start/End in TacRange"); + OpenAPI_list_free(TacRangeList); + free_amf_info(AmfInfo); - ogs_error("CHECK CONFIGURATION: No Start/End in TacRange"); - ogs_expect_or_return_val(0, NULL); + return NULL; } TaiRangeItem = ogs_calloc(1, sizeof(*TaiRangeItem)); - ogs_expect_or_return_val(TaiRangeItem, NULL); + if (!TaiRangeItem) { + ogs_error("No TaiRangeItem"); + free_amf_info(AmfInfo); + return NULL; + } TaiRangeItem->plmn_id = ogs_sbi_build_plmn_id( &nf_info->amf.nr_tai_rangei.plmn_id); - ogs_expect_or_return_val(TaiRangeItem->plmn_id, NULL); + if (!TaiRangeItem->plmn_id) { + ogs_error("No TaiRangeItem->plmn_id"); + ogs_free(TaiRangeItem); + free_amf_info(AmfInfo); + return NULL; + } TaiRangeItem->tac_range_list = TacRangeList; OpenAPI_list_add(TaiRangeList, TaiRangeItem); } - if (TaiRangeList->count) - AmfInfo->tai_range_list = TaiRangeList; - else - OpenAPI_list_free(TaiRangeList); - return AmfInfo; } @@ -885,8 +1061,10 @@ ogs_assert(AmfInfo); - ogs_free(AmfInfo->amf_set_id); - ogs_free(AmfInfo->amf_region_id); + if (AmfInfo->amf_set_id) + ogs_free(AmfInfo->amf_set_id); + if (AmfInfo->amf_region_id) + ogs_free(AmfInfo->amf_region_id); guamiAmfInfoList = AmfInfo->guami_list; OpenAPI_list_for_each(guamiAmfInfoList, node) { @@ -972,21 +1150,29 @@ message.http.content_type = (char *)OGS_SBI_CONTENT_PATCH_TYPE; PatchItemList = OpenAPI_list_create(); - ogs_assert(PatchItemList); + if (!PatchItemList) { + ogs_error("No PatchItemList"); + goto end; + } memset(&item, 0, sizeof(item)); item.op = OpenAPI_patch_operation_replace; item.path = (char *)"/nfStatus"; item.value = OpenAPI_any_type_create_string( OpenAPI_nf_status_ToString(OpenAPI_nf_status_REGISTERED)); - ogs_assert(item.value); + if (!item.value) { + ogs_error("No item.value"); + goto end; + } OpenAPI_list_add(PatchItemList, &item); message.PatchItemList = PatchItemList; request = ogs_sbi_build_request(&message); + ogs_expect(request); +end: OpenAPI_list_free(PatchItemList); OpenAPI_any_type_free(item.value); @@ -1013,6 +1199,7 @@ message.h.resource.component1 = nf_instance->id; request = ogs_sbi_build_request(&message); + ogs_expect(request); return request; } @@ -1039,10 +1226,16 @@ (char *)OGS_SBI_RESOURCE_NAME_SUBSCRIPTIONS; SubscriptionData = ogs_calloc(1, sizeof(*SubscriptionData)); - ogs_expect_or_return_val(SubscriptionData, NULL); + if (!SubscriptionData) { + ogs_error("No SubscriptionData"); + goto end; + } server = ogs_list_first(&ogs_sbi_self()->server_list); - ogs_expect_or_return_val(server, NULL); + if (!server) { + ogs_error("No server"); + goto end; + } memset(&header, 0, sizeof(header)); header.service.name = (char *)OGS_SBI_SERVICE_NAME_NNRF_NFM; @@ -1051,8 +1244,10 @@ (char *)OGS_SBI_RESOURCE_NAME_NF_STATUS_NOTIFY; SubscriptionData->nf_status_notification_uri = ogs_sbi_server_uri(server, &header); - ogs_expect_or_return_val( - SubscriptionData->nf_status_notification_uri, NULL); + if (!SubscriptionData->nf_status_notification_uri) { + ogs_error("No nf_status_notification_uri"); + goto end; + } SubscriptionData->req_nf_type = subscription_data->req_nf_type; SubscriptionData->req_nf_instance_id = @@ -1062,7 +1257,10 @@ OGS_SBI_NNRF_NFM_SERVICE_MAP); SubscriptionData->requester_features = ogs_uint64_to_string(subscription_data->requester_features); - ogs_expect_or_return_val(SubscriptionData->requester_features, NULL); + if (!SubscriptionData->requester_features) { + ogs_error("No requester_features"); + goto end; + } memset(&SubscrCond, 0, sizeof(SubscrCond)); if (subscription_data->subscr_cond.nf_type) { @@ -1076,11 +1274,20 @@ message.SubscriptionData = SubscriptionData; + message.http.custom.callback = + (char *)OGS_SBI_CALLBACK_NNRF_NFMANAGEMENT_NF_STATUS_NOTIFY; + request = ogs_sbi_build_request(&message); + ogs_expect(request); - ogs_free(SubscriptionData->nf_status_notification_uri); - ogs_free(SubscriptionData->requester_features); - ogs_free(SubscriptionData); +end: + if (SubscriptionData) { + if (SubscriptionData->nf_status_notification_uri) + ogs_free(SubscriptionData->nf_status_notification_uri); + if (SubscriptionData->requester_features) + ogs_free(SubscriptionData->requester_features); + ogs_free(SubscriptionData); + } return request; } @@ -1102,7 +1309,11 @@ (char *)OGS_SBI_RESOURCE_NAME_SUBSCRIPTIONS; message.h.resource.component1 = subscription_data->id; + message.http.custom.callback = + (char *)OGS_SBI_CALLBACK_NNRF_NFMANAGEMENT_NF_STATUS_NOTIFY; + request = ogs_sbi_build_request(&message); + ogs_expect(request); return request; } @@ -1123,23 +1334,20 @@ message.h.resource.component1 = nf_instance_id; request = ogs_sbi_build_request(&message); + ogs_expect(request); return request; } ogs_sbi_request_t *ogs_nnrf_disc_build_discover( OpenAPI_nf_type_e target_nf_type, + OpenAPI_nf_type_e requester_nf_type, ogs_sbi_discovery_option_t *discovery_option) { ogs_sbi_message_t message; ogs_sbi_request_t *request = NULL; - OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; - ogs_assert(target_nf_type); - - ogs_assert(ogs_sbi_self()->nf_instance); - requester_nf_type = ogs_sbi_self()->nf_instance->nf_type; ogs_assert(requester_nf_type); memset(&message, 0, sizeof(message)); @@ -1155,6 +1363,7 @@ message.param.discovery_option = discovery_option; request = ogs_sbi_build_request(&message); + ogs_expect(request); return request; }
View file
open5gs_2.4.11.tar.xz/lib/sbi/nnrf-build.h -> open5gs_2.5.0.tar.xz/lib/sbi/nnrf-build.h
Changed
@@ -43,6 +43,7 @@ ogs_sbi_request_t *ogs_nnrf_disc_build_discover( OpenAPI_nf_type_e target_nf_type, + OpenAPI_nf_type_e requester_nf_type, ogs_sbi_discovery_option_t *discovery_option); #ifdef __cplusplus
View file
open5gs_2.4.11.tar.xz/lib/sbi/nnrf-handler.c -> open5gs_2.5.0.tar.xz/lib/sbi/nnrf-handler.c
Changed
@@ -24,16 +24,13 @@ static void handle_smf_info( ogs_sbi_nf_instance_t *nf_instance, OpenAPI_smf_info_t *SmfInfo); -void ogs_sbi_nnrf_handle_nf_register( +void ogs_nnrf_nfm_handle_nf_register( ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_message_t *recvmsg) { OpenAPI_nf_profile_t *NFProfile = NULL; - ogs_sbi_client_t *client = NULL; ogs_assert(recvmsg); ogs_assert(nf_instance); - client = nf_instance->client; - ogs_assert(client); NFProfile = recvmsg->NFProfile; if (!NFProfile) { @@ -46,7 +43,7 @@ nf_instance->time.heartbeat_interval = NFProfile->heart_beat_timer; } -void ogs_sbi_nnrf_handle_nf_profile( +void ogs_nnrf_nfm_handle_nf_profile( ogs_sbi_nf_instance_t *nf_instance, OpenAPI_nf_profile_t *NFProfile) { int rv; @@ -451,17 +448,14 @@ } } -void ogs_nnrf_handle_nf_status_subscribe( +void ogs_nnrf_nfm_handle_nf_status_subscribe( ogs_sbi_subscription_data_t *subscription_data, ogs_sbi_message_t *recvmsg) { OpenAPI_subscription_data_t *SubscriptionData = NULL; - ogs_sbi_client_t *client = NULL; ogs_assert(recvmsg); ogs_assert(subscription_data); - client = subscription_data->client; - ogs_assert(client); SubscriptionData = recvmsg->SubscriptionData; if (!SubscriptionData) { @@ -506,7 +500,7 @@ } } -bool ogs_nnrf_handle_nf_status_notify( +bool ogs_nnrf_nfm_handle_nf_status_notify( ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg) { int rv; @@ -633,7 +627,7 @@ message.h.resource.component1); } - ogs_sbi_nnrf_handle_nf_profile(nf_instance, NFProfile); + ogs_nnrf_nfm_handle_nf_profile(nf_instance, NFProfile); ogs_info("%s (NRF-notify) NF Profile updated", nf_instance->id); @@ -685,7 +679,7 @@ return true; } -void ogs_nnrf_handle_nf_discover_search_result( +void ogs_nnrf_disc_handle_nf_discover_search_result( OpenAPI_search_result_t *SearchResult) { OpenAPI_lnode_t *node = NULL; @@ -737,7 +731,7 @@ } if (NF_INSTANCE_ID_IS_OTHERS(nf_instance->id)) { - ogs_sbi_nnrf_handle_nf_profile(nf_instance, NFProfile); + ogs_nnrf_nfm_handle_nf_profile(nf_instance, NFProfile); ogs_sbi_client_associate(nf_instance);
View file
open5gs_2.4.11.tar.xz/lib/sbi/nnrf-handler.h -> open5gs_2.5.0.tar.xz/lib/sbi/nnrf-handler.h
Changed
@@ -24,18 +24,18 @@ extern "C" { #endif -void ogs_sbi_nnrf_handle_nf_register( +void ogs_nnrf_nfm_handle_nf_register( ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_message_t *recvmsg); -void ogs_sbi_nnrf_handle_nf_profile( +void ogs_nnrf_nfm_handle_nf_profile( ogs_sbi_nf_instance_t *nf_instance, OpenAPI_nf_profile_t *NFProfile); -void ogs_nnrf_handle_nf_status_subscribe( +void ogs_nnrf_nfm_handle_nf_status_subscribe( ogs_sbi_subscription_data_t *subscription_data, ogs_sbi_message_t *recvmsg); -bool ogs_nnrf_handle_nf_status_notify( +bool ogs_nnrf_nfm_handle_nf_status_notify( ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg); -void ogs_nnrf_handle_nf_discover_search_result( +void ogs_nnrf_disc_handle_nf_discover_search_result( OpenAPI_search_result_t *SearchResult); #ifdef __cplusplus
View file
open5gs_2.5.0.tar.xz/lib/sbi/nnrf-path.c
Added
@@ -0,0 +1,132 @@ +/* + * Copyright (C) 2022 by Sukchan Lee <acetcom@gmail.com> + * + * This file is part of Open5GS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +#include "ogs-sbi.h" + +bool ogs_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance) +{ + bool rc; + ogs_sbi_request_t *request = NULL; + + ogs_assert(nf_instance); + + request = ogs_nnrf_nfm_build_register(); + if (!request) { + ogs_error("No Request"); + return false; + } + + rc = ogs_sbi_send_notification_request( + OGS_SBI_SERVICE_TYPE_NNRF_NFM, NULL, request, nf_instance); + ogs_expect(rc == true); + + ogs_sbi_request_free(request); + + return rc; +} + +bool ogs_nnrf_nfm_send_nf_update(ogs_sbi_nf_instance_t *nf_instance) +{ + bool rc; + ogs_sbi_request_t *request = NULL; + + ogs_assert(nf_instance); + + request = ogs_nnrf_nfm_build_update(); + if (!request) { + ogs_error("No Request"); + return false; + } + + rc = ogs_sbi_send_notification_request( + OGS_SBI_SERVICE_TYPE_NNRF_NFM, NULL, request, nf_instance); + ogs_expect(rc == true); + + ogs_sbi_request_free(request); + + return rc; +} + +bool ogs_nnrf_nfm_send_nf_de_register(ogs_sbi_nf_instance_t *nf_instance) +{ + bool rc; + ogs_sbi_request_t *request = NULL; + + ogs_assert(nf_instance); + + request = ogs_nnrf_nfm_build_de_register(); + if (!request) { + ogs_error("No Request"); + return false; + } + + rc = ogs_sbi_send_notification_request( + OGS_SBI_SERVICE_TYPE_NNRF_NFM, NULL, request, nf_instance); + ogs_expect(rc == true); + + ogs_sbi_request_free(request); + + return rc; +} + +bool ogs_nnrf_nfm_send_nf_status_subscribe( + ogs_sbi_subscription_data_t *subscription_data) +{ + bool rc; + ogs_sbi_request_t *request = NULL; + + ogs_assert(subscription_data); + + request = ogs_nnrf_nfm_build_status_subscribe(subscription_data); + if (!request) { + ogs_error("No Request"); + return false; + } + + rc = ogs_sbi_send_notification_request( + OGS_SBI_SERVICE_TYPE_NNRF_NFM, NULL, request, subscription_data); + ogs_expect(rc == true); + + ogs_sbi_request_free(request); + + return rc; +} + +bool ogs_nnrf_nfm_send_nf_status_unsubscribe( + ogs_sbi_subscription_data_t *subscription_data) +{ + bool rc; + ogs_sbi_request_t *request = NULL; + + ogs_assert(subscription_data); + + request = ogs_nnrf_nfm_build_status_unsubscribe(subscription_data); + if (!request) { + ogs_error("No Request"); + return false; + } + + rc = ogs_sbi_send_notification_request( + OGS_SBI_SERVICE_TYPE_NNRF_NFM, NULL, request, subscription_data); + ogs_expect(rc == true); + + ogs_sbi_request_free(request); + + return rc; +}
View file
open5gs_2.5.0.tar.xz/lib/sbi/nnrf-path.h
Added
@@ -0,0 +1,45 @@ +/* + * Copyright (C) 2022 by Sukchan Lee <acetcom@gmail.com> + * + * This file is part of Open5GS. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +#ifndef OGS_NNRF_PATH_H +#define OGS_NNRF_PATH_H + +#include "nnrf-build.h" + +#ifdef __cplusplus +extern "C" { +#endif + +bool ogs_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance); +bool ogs_nnrf_nfm_send_nf_update(ogs_sbi_nf_instance_t *nf_instance); +bool ogs_nnrf_nfm_send_nf_de_register(ogs_sbi_nf_instance_t *nf_instance); +bool ogs_nnrf_nfm_send_nf_status_subscribe( + ogs_sbi_subscription_data_t *subscription_data); +bool ogs_nnrf_nfm_send_nf_status_unsubscribe( + ogs_sbi_subscription_data_t *subscription_data); + +bool ogs_nnrf_nfm_send_to_nrf( + ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb, + ogs_sbi_request_t *request, void *data); + +#ifdef __cplusplus +} +#endif + +#endif /* OGS_NNRF_PATH_H */
View file
open5gs_2.4.11.tar.xz/lib/sbi/ogs-sbi.h -> open5gs_2.5.0.tar.xz/lib/sbi/ogs-sbi.h
Changed
@@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 by Sukchan Lee <acetcom@gmail.com> + * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com> * * This file is part of Open5GS. * @@ -75,6 +75,8 @@ #include "model/sm_policy_notification.h" #include "model/termination_notification.h" #include "model/deregistration_data.h" +#include "model/sdm_subscription.h" +#include "model/modification_notification.h" #include "custom/links.h" #include "custom/ue_authentication_ctx.h" @@ -99,6 +101,7 @@ #include "sbi/nnrf-build.h" #include "sbi/nnrf-handler.h" +#include "sbi/nnrf-path.h" #include "sbi/path.h"
View file
open5gs_2.4.11.tar.xz/lib/sbi/path.c -> open5gs_2.5.0.tar.xz/lib/sbi/path.c
Changed
@@ -1,5 +1,5 @@ /* - * Copyright (C) 2019,2020 by Sukchan Lee <acetcom@gmail.com> + * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com> * * This file is part of Open5GS. * @@ -19,73 +19,165 @@ #include "ogs-sbi.h" -bool ogs_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, - ogs_sbi_client_cb_f client_cb, ogs_sbi_xact_t *xact) +static void build_default_discovery_parameter( + ogs_sbi_request_t *request, + ogs_sbi_service_type_e service_type, + ogs_sbi_discovery_option_t *discovery_option); + +int ogs_sbi_server_handler(ogs_sbi_request_t *request, void *data) { - ogs_sbi_request_t *request = NULL; - ogs_sbi_client_t *client = NULL; + ogs_event_t *e = NULL; + int rv; + + ogs_assert(request); + ogs_assert(data); + + e = ogs_event_new(OGS_EVENT_SBI_SERVER); + ogs_assert(e); + + e->sbi.request = request; + e->sbi.data = data; + + rv = ogs_queue_push(ogs_app()->queue, e); + if (rv != OGS_OK) { + ogs_error("ogs_queue_push() failed:%d", (int)rv); + ogs_sbi_request_free(request); + ogs_event_free(e); + return OGS_ERROR; + } + + return OGS_OK; +} + +int ogs_sbi_client_handler( + int status, ogs_sbi_response_t *response, void *data) +{ + ogs_event_t *e = NULL; + int rv; + + if (status != OGS_OK) { + ogs_log_message( + status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0, + "ogs_sbi_client_handler() failed %d", status); + return OGS_ERROR; + } + + ogs_assert(response); + + e = ogs_event_new(OGS_EVENT_SBI_CLIENT); + ogs_assert(e); + e->sbi.response = response; + e->sbi.data = data; + + rv = ogs_queue_push(ogs_app()->queue, e); + if (rv != OGS_OK) { + ogs_error("ogs_queue_push() failed:%d", (int)rv); + ogs_sbi_response_free(response); + ogs_event_free(e); + return OGS_ERROR; + } + + return OGS_OK; +} + +static int client_discover_cb( + int status, ogs_sbi_response_t *response, void *data) +{ + int rv; + ogs_event_t *e = NULL; + + ogs_sbi_xact_t *xact = NULL; ogs_sbi_object_t *sbi_object = NULL; + ogs_sbi_service_type_e service_type = OGS_SBI_SERVICE_TYPE_NULL; + OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; + ogs_hash_index_t *hi = NULL; + char *producer_id = NULL; + + xact = data; ogs_assert(xact); + + xact = ogs_sbi_xact_cycle(xact); + if (!xact) { + ogs_error("SBI transaction has already been removed"); + if (response) + ogs_sbi_response_free(response); + return OGS_ERROR; + } + sbi_object = xact->sbi_object; ogs_assert(sbi_object); - request = xact->request; - ogs_assert(request); + service_type = xact->service_type; + ogs_assert(service_type); + target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); + requester_nf_type = xact->requester_nf_type; + ogs_assert(requester_nf_type); - ogs_assert(nf_instance); + if (status != OGS_OK) { + ogs_log_message( + status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0, + "ogs_sbi_client_handler() failed %d", status); + ogs_sbi_xact_remove(xact); + return OGS_ERROR; + } - if (request->h.uri == NULL) { - client = ogs_sbi_client_find_by_service_name(nf_instance, - request->h.service.name, request->h.api.version); - if (!client) { - ogs_error("%s:%s Cannot find client %s:%s", - OpenAPI_nf_type_ToString(nf_instance->nf_type), - nf_instance->id, - request->h.service.name, request->h.api.version); - return false; - } - } else { - ogs_sockaddr_t *addr = NULL; - char bufOGS_ADDRSTRLEN; + ogs_assert(response); - addr = ogs_sbi_getaddr_from_uri(request->h.uri); - if (!addr) { - ogs_error("%s:%s Invalid URL %s", - OpenAPI_nf_type_ToString(nf_instance->nf_type), - nf_instance->id, request->h.uri); - return false; + /* Check if 3gpp-Sbi-Producer-Id in HTTP2 Header */ + for (hi = ogs_hash_first(response->http.headers); + hi; hi = ogs_hash_next(hi)) { + if (!ogs_strcasecmp(ogs_hash_this_key(hi), OGS_SBI_CUSTOM_PRODUCER_ID)) { + producer_id = ogs_hash_this_val(hi); + break; } - client = ogs_sbi_client_find(addr); - if (!client) { - ogs_error("%s:%s Cannot find client %s:%d", - OpenAPI_nf_type_ToString(nf_instance->nf_type), - nf_instance->id, - OGS_ADDR(addr, buf), OGS_PORT(addr)); - ogs_freeaddrinfo(addr); - return false; + } + + /* Added newly discovered NF Instance */ + if (producer_id) { + ogs_sbi_nf_instance_t *nf_instance = + ogs_sbi_nf_instance_find(producer_id); + if (!nf_instance) { + nf_instance = ogs_sbi_nf_instance_add(); + ogs_assert(nf_instance); + + ogs_sbi_nf_instance_set_id(nf_instance, producer_id); + ogs_sbi_nf_instance_set_type(nf_instance, target_nf_type); } - ogs_freeaddrinfo(addr); + + OGS_SBI_SETUP_NF_INSTANCE( + sbi_object->service_type_arrayservice_type, nf_instance); } - /* ogs_sbi_xact_remove() will call ogs_sbi_request_free() - * As such, we'll use ogs_sbi_client_send_reqmem_persistent() */ - ogs_expect_or_return_val(true == - ogs_sbi_scp_send_reqmem_persistent( - client, client_cb, request, xact), false); + e = ogs_event_new(OGS_EVENT_SBI_CLIENT); + ogs_assert(e); + e->sbi.response = response; + e->sbi.data = data; + + rv = ogs_queue_push(ogs_app()->queue, e); + if (rv != OGS_OK) { + ogs_error("ogs_queue_push() failed:%d", (int)rv); + ogs_sbi_response_free(response); + ogs_event_free(e); + return OGS_ERROR; + } - return true; + return OGS_OK; } -bool ogs_sbi_discover_only( - ogs_sbi_xact_t *xact, ogs_sbi_client_cb_f client_cb) +bool ogs_sbi_discover_and_send(ogs_sbi_xact_t *xact) { + ogs_sbi_client_t *client = NULL, *scp_client = NULL; ogs_sbi_nf_instance_t *nf_instance = NULL; ogs_sbi_object_t *sbi_object = NULL; ogs_sbi_service_type_e service_type = OGS_SBI_SERVICE_TYPE_NULL; ogs_sbi_discovery_option_t *discovery_option = NULL; + ogs_sbi_request_t *request = NULL; OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; + char *apiroot = NULL; sbi_object = xact->sbi_object; ogs_assert(sbi_object); @@ -93,45 +185,118 @@ ogs_assert(service_type); target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); ogs_assert(target_nf_type); - ogs_assert(client_cb); + requester_nf_type = xact->requester_nf_type; + ogs_assert(requester_nf_type); + request = xact->request; + ogs_assert(request); discovery_option = xact->discovery_option; - /* NRF NF-Instance */ - nf_instance = sbi_object->nf_type_arrayOpenAPI_nf_type_NRF.nf_instance; + /* SCP Availability */ + if (ogs_sbi_self()->discovery_config.delegated == + OGS_SBI_DISCOVERY_DELEGATED_AUTO) { + scp_client = NF_INSTANCE_CLIENT(ogs_sbi_self()->scp_instance); + } else if (ogs_sbi_self()->discovery_config.delegated == + OGS_SBI_DISCOVERY_DELEGATED_YES) { + scp_client = NF_INSTANCE_CLIENT(ogs_sbi_self()->scp_instance); + ogs_assert(scp_client); + } + + /* Target NF-Instance */ + nf_instance = sbi_object->service_type_arrayservice_type.nf_instance; if (!nf_instance) { nf_instance = ogs_sbi_nf_instance_find_by_discovery_param( - OpenAPI_nf_type_NRF, NULL); + target_nf_type, requester_nf_type, discovery_option); if (nf_instance) OGS_SBI_SETUP_NF_INSTANCE( - sbi_object->nf_type_arrayOpenAPI_nf_type_NRF, nf_instance); + sbi_object->service_type_arrayservice_type, nf_instance); } - if (nf_instance) { - ogs_sbi_client_t *client = NULL; - ogs_sbi_request_t *request = NULL; + /* Target Client */ + if (request->h.uri == NULL) { + if (nf_instance) { + client = ogs_sbi_client_find_by_service_name(nf_instance, + request->h.service.name, request->h.api.version); + } + } else { + ogs_sockaddr_t *addr = NULL; - ogs_warn("Try to discover %s", - ogs_sbi_service_type_to_name(service_type)); + addr = ogs_sbi_getaddr_from_uri(request->h.uri); + if (!addr) { + ogs_error("Invalid URL %s", request->h.uri); + return false; + } + client = ogs_sbi_client_find(addr); + ogs_freeaddrinfo(addr); + } - request = ogs_nnrf_disc_build_discover( - target_nf_type, discovery_option); - ogs_expect_or_return_val(request, false); + if (scp_client) { + /************************* + * INDIRECT COMMUNICATION + *************************/ + build_default_discovery_parameter( + request, service_type, discovery_option); + + if (client) { + /* + * If `client` instance is avaiable, + * 3gpp-Sbi-Target-apiRoot is added to HTTP header. + */ + apiroot = ogs_sbi_client_apiroot(client); + ogs_assert(apiroot); + + ogs_sbi_header_set(request->http.headers, + OGS_SBI_CUSTOM_TARGET_APIROOT, apiroot); + + ogs_free(apiroot); + + ogs_expect_or_return_val(true == + ogs_sbi_client_send_via_scp( + scp_client, ogs_sbi_client_handler, request, xact), false); + + } else { + /* + * If no `client` instance, + * + * Discovery-*** is added to HTTP header. + */ + if (discovery_option && + discovery_option->target_nf_instance_id) { + ogs_sbi_header_set(request->http.headers, + OGS_SBI_CUSTOM_DISCOVERY_TARGET_NF_INSTANCE_ID, + discovery_option->target_nf_instance_id); + } else if (nf_instance && nf_instance->id) { + ogs_sbi_header_set(request->http.headers, + OGS_SBI_CUSTOM_DISCOVERY_TARGET_NF_INSTANCE_ID, + nf_instance->id); + } + + ogs_expect_or_return_val(true == + ogs_sbi_client_send_via_scp( + scp_client, client_discover_cb, request, xact), false); + } - client = nf_instance->client; - ogs_assert(client); + } else if (client) { + /*********************** + * DIRECT COMMUNICATION + ***********************/ + + /* If `client` instance is available, use direct communication */ + ogs_expect_or_return_val(true == + ogs_sbi_client_send_request( + client, ogs_sbi_client_handler, request, xact), false); - return ogs_sbi_client_send_request(client, client_cb, request, xact); + } else { + /********************************************** + * No SCP and Client, Use NRF for NF-Discovery + **********************************************/ + return ogs_sbi_discover_only(xact); } - ogs_error("Cannot discover %s", - ogs_sbi_service_type_to_name(service_type)); - - return false; + return true; } -bool ogs_sbi_discover_and_send( - ogs_sbi_xact_t *xact, ogs_sbi_client_cb_f client_cb) +bool ogs_sbi_discover_only(ogs_sbi_xact_t *xact) { ogs_sbi_nf_instance_t *nf_instance = NULL; @@ -140,6 +305,7 @@ ogs_sbi_discovery_option_t *discovery_option = NULL; OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; sbi_object = xact->sbi_object; ogs_assert(sbi_object); @@ -147,145 +313,213 @@ ogs_assert(service_type); target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); ogs_assert(target_nf_type); - ogs_assert(client_cb); + requester_nf_type = xact->requester_nf_type; + ogs_assert(requester_nf_type); discovery_option = xact->discovery_option; - /* Target NF-Instance */ - nf_instance = sbi_object->service_type_arrayservice_type.nf_instance; + /* NRF NF-Instance */ + nf_instance = sbi_object->nf_type_arrayOpenAPI_nf_type_NRF.nf_instance; if (!nf_instance) { nf_instance = ogs_sbi_nf_instance_find_by_discovery_param( - target_nf_type, discovery_option); + OpenAPI_nf_type_NRF, requester_nf_type, NULL); if (nf_instance) OGS_SBI_SETUP_NF_INSTANCE( - sbi_object->service_type_arrayservice_type, nf_instance); + sbi_object->nf_type_arrayOpenAPI_nf_type_NRF, nf_instance); } if (nf_instance) { - return ogs_sbi_send_request(nf_instance, client_cb, xact); - } - - return ogs_sbi_discover_only(xact, client_cb); -} + bool rc; + ogs_sbi_client_t *client = NULL; + ogs_sbi_request_t *request = NULL; -bool ogs_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance) -{ - ogs_sbi_request_t *request = NULL; - ogs_sbi_client_t *client = NULL; + ogs_warn("Try to discover %s", + ogs_sbi_service_type_to_name(service_type)); - ogs_assert(nf_instance); - client = nf_instance->client; - ogs_assert(client); + client = NF_INSTANCE_CLIENT(nf_instance); + ogs_expect_or_return_val(client, false); - request = ogs_nnrf_nfm_build_register(); - ogs_expect_or_return_val(request, false); + request = ogs_nnrf_disc_build_discover( + target_nf_type, requester_nf_type, discovery_option); + ogs_expect_or_return_val(request, false); - return ogs_sbi_scp_send_request(client, client->cb, request, nf_instance); -} + rc = ogs_sbi_client_send_request( + client, ogs_sbi_client_handler, request, xact); + ogs_expect(rc == true); -bool ogs_nnrf_nfm_send_nf_update(ogs_sbi_nf_instance_t *nf_instance) -{ - ogs_sbi_request_t *request = NULL; - ogs_sbi_client_t *client = NULL; + ogs_sbi_request_free(request); - ogs_assert(nf_instance); - client = nf_instance->client; - ogs_assert(client); + return rc; + } - request = ogs_nnrf_nfm_build_update(); - ogs_expect_or_return_val(request, false); + ogs_error("Cannot discover %s", + ogs_sbi_service_type_to_name(service_type)); - return ogs_sbi_scp_send_request(client, client->cb, request, nf_instance); + return false; } -bool ogs_nnrf_nfm_send_nf_de_register(ogs_sbi_nf_instance_t *nf_instance) +bool ogs_sbi_send_request_to_nf_instance( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact) { ogs_sbi_request_t *request = NULL; ogs_sbi_client_t *client = NULL; - ogs_assert(nf_instance); - client = nf_instance->client; - ogs_assert(client); + ogs_sbi_object_t *sbi_object = NULL; - request = ogs_nnrf_nfm_build_de_register(); - ogs_expect_or_return_val(request, false); + ogs_assert(xact); + sbi_object = xact->sbi_object; + ogs_assert(sbi_object); + request = xact->request; + ogs_assert(request); - return ogs_sbi_scp_send_request(client, client->cb, request, nf_instance); -} + ogs_assert(nf_instance); -bool ogs_nnrf_nfm_send_nf_profile_retrieve(ogs_sbi_nf_instance_t *nf_instance, - char *nf_instance_id, void *data) -{ - ogs_sbi_request_t *request = NULL; - ogs_sbi_client_t *client = NULL; + if (request->h.uri == NULL) { + client = ogs_sbi_client_find_by_service_name(nf_instance, + request->h.service.name, request->h.api.version); + if (!client) { + ogs_error("%s:%s Cannot find client %s:%s", + OpenAPI_nf_type_ToString(nf_instance->nf_type), + nf_instance->id, + request->h.service.name, request->h.api.version); + return false; + } + } else { + ogs_sockaddr_t *addr = NULL; + char bufOGS_ADDRSTRLEN; - ogs_assert(nf_instance); - client = nf_instance->client; - ogs_assert(client); - ogs_assert(nf_instance_id); + addr = ogs_sbi_getaddr_from_uri(request->h.uri); + if (!addr) { + ogs_error("%s:%s Invalid URL %s", + OpenAPI_nf_type_ToString(nf_instance->nf_type), + nf_instance->id, request->h.uri); + return false; + } + client = ogs_sbi_client_find(addr); + if (!client) { + ogs_error("%s:%s Cannot find client %s:%d", + OpenAPI_nf_type_ToString(nf_instance->nf_type), + nf_instance->id, + OGS_ADDR(addr, buf), OGS_PORT(addr)); + ogs_freeaddrinfo(addr); + return false; + } + ogs_freeaddrinfo(addr); + } - request = ogs_nnrf_nfm_build_profile_retrieve(nf_instance_id); - ogs_expect_or_return_val(request, false); + ogs_expect_or_return_val(true == + ogs_sbi_send_request_to_client( + client, ogs_sbi_client_handler, request, xact), false); - return ogs_sbi_client_send_request( - client, client->cb, request, data); + return true; } -bool ogs_nnrf_nfm_send_nf_status_subscribe( - ogs_sbi_subscription_data_t *subscription_data) -{ - ogs_sbi_request_t *request = NULL; - ogs_sbi_client_t *client = NULL; +bool ogs_sbi_send_request_to_client( + ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb, + ogs_sbi_request_t *request, void *data) +{ + ogs_sbi_client_t *scp_client = NULL; + char *apiroot = NULL; + + /* + * If the HTTP2 Server's EndPoint is known, + * 3gpp-Sbi-Target-apiRoot should always be included in the HTTP2 Request. + */ + ogs_assert(client); + ogs_assert(request); - ogs_assert(subscription_data); + scp_client = NF_INSTANCE_CLIENT(ogs_sbi_self()->scp_instance); - request = ogs_nnrf_nfm_build_status_subscribe(subscription_data); - ogs_expect_or_return_val(request, false); + if (scp_client && scp_client != client) { - client = subscription_data->client; - ogs_assert(client); + /************************* + * INDIRECT COMMUNICATION + *************************/ - return ogs_sbi_scp_send_request( - client, client->cb, request, subscription_data); -} + /* Added 3gpp-Sbi-Target-apiRoot to HTTP header */ + apiroot = ogs_sbi_client_apiroot(client); + ogs_assert(apiroot); -bool ogs_nnrf_nfm_send_nf_status_unsubscribe( - ogs_sbi_subscription_data_t *subscription_data) -{ - ogs_sbi_request_t *request = NULL; - ogs_sbi_client_t *client = NULL; + ogs_sbi_header_set(request->http.headers, + OGS_SBI_CUSTOM_TARGET_APIROOT, apiroot); - ogs_assert(subscription_data); + ogs_free(apiroot); - request = ogs_nnrf_nfm_build_status_unsubscribe(subscription_data); - ogs_expect_or_return_val(request, false); + ogs_expect_or_return_val(true == + ogs_sbi_client_send_via_scp( + scp_client, client_cb, request, data), false); - client = subscription_data->client; - ogs_assert(client); + } else { + + /*********************** + * DIRECT COMMUNICATION + ***********************/ + + /* Direct communication since `client' instance is always avaiable */ + ogs_expect_or_return_val(true == + ogs_sbi_client_send_request( + client, client_cb, request, data), false); + + } - return ogs_sbi_scp_send_request( - client, client->cb, request, subscription_data); + return true; } -bool ogs_nnrf_disc_send_nf_discover( - ogs_sbi_nf_instance_t *nf_instance, - OpenAPI_nf_type_e target_nf_type, +bool ogs_sbi_send_notification_request( + ogs_sbi_service_type_e service_type, ogs_sbi_discovery_option_t *discovery_option, - void *data) + ogs_sbi_request_t *request, void *data) { - ogs_sbi_client_t *client = NULL; - ogs_sbi_request_t *request = NULL; + ogs_sbi_client_t *client = NULL, *scp_client = NULL; + OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; - ogs_assert(nf_instance); + ogs_assert(service_type); + target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); ogs_assert(target_nf_type); + ogs_assert(request); - request = ogs_nnrf_disc_build_discover(target_nf_type, discovery_option); - ogs_expect_or_return_val(request, false); + scp_client = NF_INSTANCE_CLIENT(ogs_sbi_self()->scp_instance); + if (target_nf_type == OpenAPI_nf_type_NRF) + client = NF_INSTANCE_CLIENT(ogs_sbi_self()->nrf_instance); + else { + ogs_fatal("Not implemented%s", + ogs_sbi_service_type_to_name(service_type)); + ogs_assert_if_reached(); + } - client = nf_instance->client; - ogs_assert(client); + if (scp_client) { + /************************* + * INDIRECT COMMUNICATION + *************************/ + build_default_discovery_parameter( + request, service_type, discovery_option); + + ogs_expect_or_return_val(true == + ogs_sbi_client_send_via_scp( + scp_client, ogs_sbi_client_handler, request, data), false); + + } else if (client) { + + /*********************** + * DIRECT COMMUNICATION + ***********************/ + + /* NRF is avaiable */ + ogs_expect_or_return_val(true == + ogs_sbi_client_send_request( + client, ogs_sbi_client_handler, request, data), false); - return ogs_sbi_client_send_request(client, client->cb, request, data); + + } else { + ogs_fatal("%s:%s Cannot send request %s:%s:%s", + client ? "CLIENT" : "No-CLIENT", + scp_client ? "SCP" : "No-SCP", + ogs_sbi_service_type_to_name(service_type), + request->h.service.name, request->h.api.version); + ogs_assert_if_reached(); + } + + return true; } bool ogs_sbi_send_response(ogs_sbi_stream_t *stream, int status) @@ -299,5 +533,77 @@ response = ogs_sbi_build_response(&sendmsg, status); ogs_expect_or_return_val(response, false); + return ogs_sbi_server_send_response(stream, response); } + +static void build_default_discovery_parameter( + ogs_sbi_request_t *request, + ogs_sbi_service_type_e service_type, + ogs_sbi_discovery_option_t *discovery_option) +{ + OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; + ogs_sbi_discovery_option_t *local_discovery_option = NULL; + + ogs_assert(service_type); + target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); + ogs_assert(target_nf_type); + requester_nf_type = NF_INSTANCE_TYPE(ogs_sbi_self()->nf_instance); + ogs_assert(requester_nf_type); + + /* + * Insert one service-name in the discovery option + * in the function below. + * + * - ogs_sbi_xact_add() + * - ogs_sbi_send_notification_request() + */ + if (!discovery_option) { + local_discovery_option = ogs_sbi_discovery_option_new(); + ogs_assert(local_discovery_option); + + discovery_option = local_discovery_option; + } + + if (!discovery_option->num_of_service_names) { + ogs_sbi_discovery_option_add_service_names( + discovery_option, + (char *)ogs_sbi_service_type_to_name(service_type)); + } + + ogs_sbi_header_set(request->http.headers, + OGS_SBI_CUSTOM_DISCOVERY_TARGET_NF_TYPE, + OpenAPI_nf_type_ToString(target_nf_type)); + + /* Instead of Discovery-requester-nf-type, + * Open5GS uses User-Agent for requester-nf-type */ + + if (discovery_option) { + if (discovery_option->requester_nf_instance_id) { + ogs_sbi_header_set(request->http.headers, + OGS_SBI_CUSTOM_DISCOVERY_REQUESTER_NF_INSTANCE_ID, + discovery_option->requester_nf_instance_id); + } + if (ogs_sbi_self()->discovery_config. + no_service_names == false && + discovery_option->num_of_service_names) { + + /* send array items separated by a comma */ + char *v = ogs_sbi_discovery_option_build_service_names( + discovery_option); + if (v) { + ogs_sbi_header_set(request->http.headers, + OGS_SBI_CUSTOM_DISCOVERY_SERVICE_NAMES, v); + ogs_free(v); + } else { + ogs_warn("invalid service names failed%d:%s", + discovery_option->num_of_service_names, + discovery_option->service_names0); + } + } + } + + if (local_discovery_option) + ogs_sbi_discovery_option_free(local_discovery_option); +}
View file
open5gs_2.4.11.tar.xz/lib/sbi/path.h -> open5gs_2.5.0.tar.xz/lib/sbi/path.h
Changed
@@ -1,5 +1,5 @@ /* - * Copyright (C) 2019,2020 by Sukchan Lee <acetcom@gmail.com> + * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com> * * This file is part of Open5GS. * @@ -26,30 +26,22 @@ extern "C" { #endif -bool ogs_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, - ogs_sbi_client_cb_f client_cb, ogs_sbi_xact_t *xact); -bool ogs_sbi_discover_only( - ogs_sbi_xact_t *xact, ogs_sbi_client_cb_f client_cb); -bool ogs_sbi_discover_and_send( - ogs_sbi_xact_t *xact, ogs_sbi_client_cb_f client_cb); - -bool ogs_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance); -bool ogs_nnrf_nfm_send_nf_update(ogs_sbi_nf_instance_t *nf_instance); -bool ogs_nnrf_nfm_send_nf_de_register(ogs_sbi_nf_instance_t *nf_instance); -bool ogs_nnrf_nfm_send_nf_profile_retrieve(ogs_sbi_nf_instance_t *nf_instance, - char *nf_instance_id, void *data); - -bool ogs_nnrf_nfm_send_nf_status_subscribe( - ogs_sbi_subscription_data_t *subscription_data); -bool ogs_nnrf_nfm_send_nf_status_unsubscribe( - ogs_sbi_subscription_data_t *subscription_data); - -bool ogs_nnrf_disc_send_nf_discover( - ogs_sbi_nf_instance_t *nf_instance, - OpenAPI_nf_type_e target_nf_type, +int ogs_sbi_server_handler(ogs_sbi_request_t *request, void *data); +int ogs_sbi_client_handler( + int status, ogs_sbi_response_t *response, void *data); + +bool ogs_sbi_discover_and_send(ogs_sbi_xact_t *xact); +bool ogs_sbi_discover_only(ogs_sbi_xact_t *xact); + +bool ogs_sbi_send_request_to_nf_instance( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact); +bool ogs_sbi_send_request_to_client( + ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb, + ogs_sbi_request_t *request, void *data); +bool ogs_sbi_send_notification_request( + ogs_sbi_service_type_e service_type, ogs_sbi_discovery_option_t *discovery_option, - void *data); - + ogs_sbi_request_t *request, void *data); #define ogs_sbi_send_http_status_no_content(__sTREAM) \ ogs_sbi_send_response(__sTREAM, OGS_SBI_HTTP_STATUS_NO_CONTENT)
View file
open5gs_2.4.11.tar.xz/meson.build -> open5gs_2.5.0.tar.xz/meson.build
Changed
@@ -16,7 +16,7 @@ # along with this program. If not, see <https://www.gnu.org/licenses/>. project('open5gs', 'c', 'cpp', - version : '2.4.11', + version : '2.5.0', license : 'AGPL-3.0-or-later', meson_version : '>= 0.43.0', default_options : @@ -24,7 +24,7 @@ , ) -libogslib_version = '2.4.11' +libogslib_version = '2.5.0' prefix = get_option('prefix') bindir = join_paths(prefix, get_option('bindir'))
View file
open5gs_2.4.11.tar.xz/misc/netconf.sh -> open5gs_2.5.0.tar.xz/misc/netconf.sh
Changed
@@ -38,6 +38,8 @@ ifconfig lo0 alias 127.0.0.19 netmask 255.255.255.255 ifconfig lo0 alias 127.0.0.20 netmask 255.255.255.255 ifconfig lo0 alias 127.0.1.10 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.1.11 netmask 255.255.255.255 + ifconfig lo0 alias 127.0.1.12 netmask 255.255.255.255 if "$SYSTEM" = "Darwin" ; then if ! test -f /etc/pf.anchors/org.open5gs; then sudo sh -c "echo 'nat on {en0} from 10.45.0.0/16 to any -> {en0}' > /etc/pf.anchors/org.open5gs"
View file
open5gs_2.4.11.tar.xz/src/amf/amf-sm.c -> open5gs_2.5.0.tar.xz/src/amf/amf-sm.c
Changed
@@ -129,7 +129,7 @@ CASE(OGS_SBI_RESOURCE_NAME_NF_STATUS_NOTIFY) SWITCH(sbi_message.h.method) CASE(OGS_SBI_HTTP_METHOD_POST) - ogs_nnrf_handle_nf_status_notify(stream, &sbi_message); + ogs_nnrf_nfm_handle_nf_status_notify(stream, &sbi_message); break; DEFAULT @@ -213,6 +213,11 @@ amf_namf_callback_handle_dereg_notify(stream, &sbi_message); break; + CASE(OGS_SBI_RESOURCE_NAME_SDMSUBSCRIPTION_NOTIFY) + amf_namf_callback_handle_sdm_data_change_notify( + stream, &sbi_message); + break; + CASE(OGS_SBI_RESOURCE_NAME_AM_POLICY_NOTIFY) ogs_assert(true == ogs_sbi_send_http_status_no_content(stream)); break; @@ -291,7 +296,7 @@ CASE(OGS_SBI_HTTP_METHOD_POST) if (sbi_message.res_status == OGS_SBI_HTTP_STATUS_CREATED || sbi_message.res_status == OGS_SBI_HTTP_STATUS_OK) { - ogs_nnrf_handle_nf_status_subscribe( + ogs_nnrf_nfm_handle_nf_status_subscribe( subscription_data, &sbi_message); } else { ogs_error("%s HTTP response error %d", @@ -795,7 +800,15 @@ amf_ue = amf_ue_find_by_message(&nas_message); if (!amf_ue) { amf_ue = amf_ue_add(ran_ue); - ogs_assert(amf_ue); + if (amf_ue == NULL) { + ogs_expect(OGS_OK == + ngap_send_ran_ue_context_release_command(ran_ue, + NGAP_Cause_PR_misc, + NGAP_CauseMisc_control_processing_overload, + NGAP_UE_CTX_REL_NG_CONTEXT_REMOVE, 0)); + ogs_pkbuf_free(pkbuf); + return; + } } else { /* Here, if the AMF_UE Context is found, * the integrity check is not performed
View file
open5gs_2.4.11.tar.xz/src/amf/context.c -> open5gs_2.5.0.tar.xz/src/amf/context.c
Changed
@@ -60,7 +60,7 @@ ogs_pool_init(&amf_ue_pool, ogs_app()->max.ue); ogs_pool_init(&ran_ue_pool, ogs_app()->max.ue); ogs_pool_init(&amf_sess_pool, ogs_app()->pool.sess); - ogs_pool_init(&self.m_tmsi, ogs_app()->max.ue); + ogs_pool_init(&self.m_tmsi, ogs_app()->max.ue*2); ogs_list_init(&self.gnb_list); ogs_list_init(&self.amf_ue_list); @@ -1063,7 +1063,11 @@ ogs_assert(gnb); ogs_pool_alloc(&ran_ue_pool, &ran_ue); - ogs_assert(ran_ue); + if (ran_ue == NULL) { + ogs_error("Could not allocate ran_ue context from pool"); + return NULL; + } + memset(ran_ue, 0, sizeof *ran_ue); ran_ue->t_ng_holding = ogs_timer_add( @@ -1257,7 +1261,11 @@ ogs_assert(gnb); ogs_pool_alloc(&amf_ue_pool, &amf_ue); - ogs_assert(amf_ue); + if (amf_ue == NULL) { + ogs_error("Could not allocate amf_ue context from pool"); + return NULL; + } + memset(amf_ue, 0, sizeof *amf_ue); /* Add All Timers */ @@ -1387,6 +1395,8 @@ if (amf_ue->policy_association_id) ogs_free(amf_ue->policy_association_id); + if (amf_ue->data_change_subscription_id) + ogs_free(amf_ue->data_change_subscription_id); if (amf_ue->confirmation_url_for_5g_aka) ogs_free(amf_ue->confirmation_url_for_5g_aka); @@ -1912,6 +1922,7 @@ void amf_sbi_select_nf( ogs_sbi_object_t *sbi_object, ogs_sbi_service_type_e service_type, + OpenAPI_nf_type_e requester_nf_type, ogs_sbi_discovery_option_t *discovery_option) { OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; @@ -1923,11 +1934,12 @@ ogs_assert(service_type); target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); ogs_assert(target_nf_type); + ogs_assert(requester_nf_type); switch(sbi_object->type) { case OGS_SBI_OBJ_UE_TYPE: nf_instance = ogs_sbi_nf_instance_find_by_discovery_param( - target_nf_type, discovery_option); + target_nf_type, requester_nf_type, discovery_option); if (nf_instance) OGS_SBI_SETUP_NF_INSTANCE( sbi_object->service_type_arrayservice_type, nf_instance); @@ -1938,7 +1950,9 @@ ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance) { if (ogs_sbi_discovery_param_is_matched( - nf_instance, target_nf_type, discovery_option) == false) + nf_instance, + target_nf_type, requester_nf_type, discovery_option) == + false) continue; nf_info = ogs_sbi_nf_info_find( @@ -2118,7 +2132,7 @@ int index = 0; ogs_trace("M-TMSI Pool try to generate..."); - for (i = 0; index < ogs_app()->max.ue; i++) { + for (i = 0; index < ogs_app()->max.ue*2; i++) { amf_m_tmsi_t *m_tmsi = NULL; int conflict = 0;
View file
open5gs_2.4.11.tar.xz/src/amf/context.h -> open5gs_2.5.0.tar.xz/src/amf/context.h
Changed
@@ -393,6 +393,9 @@ /* Network Initiated De-Registration */ bool network_initiated_de_reg; + /* SubscriptionId of Subscription to Data Change Notification to UDM */ + char *data_change_subscription_id; + ogs_list_t sess_list; }; @@ -738,6 +741,7 @@ void amf_sbi_select_nf( ogs_sbi_object_t *sbi_object, ogs_sbi_service_type_e service_type, + OpenAPI_nf_type_e requester_nf_type, ogs_sbi_discovery_option_t *discovery_option); #define AMF_SESSION_SYNC_DONE(__aMF, __sTATE) \
View file
open5gs_2.4.11.tar.xz/src/amf/event.h -> open5gs_2.5.0.tar.xz/src/amf/event.h
Changed
@@ -83,6 +83,8 @@ ogs_timer_t *timer; } amf_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(amf_event_t)); + amf_event_t *amf_event_new(int id); const char *amf_event_get_name(amf_event_t *e);
View file
open5gs_2.4.11.tar.xz/src/amf/gmm-handler.c -> open5gs_2.5.0.tar.xz/src/amf/gmm-handler.c
Changed
@@ -1070,8 +1070,12 @@ nf_instance = sess->sbi. service_type_arrayservice_type.nf_instance; if (!nf_instance) { - nf_instance = - ogs_sbi_nf_instance_find_by_service_type(service_type); + OpenAPI_nf_type_e requester_nf_type = + NF_INSTANCE_TYPE(ogs_sbi_self()->nf_instance); + ogs_assert(requester_nf_type); + + nf_instance = ogs_sbi_nf_instance_find_by_service_type( + service_type, requester_nf_type); if (nf_instance) OGS_SBI_SETUP_NF_INSTANCE( sess->sbi.service_type_arrayservice_type,
View file
open5gs_2.4.11.tar.xz/src/amf/gmm-sm.c -> open5gs_2.5.0.tar.xz/src/amf/gmm-sm.c
Changed
@@ -988,6 +988,7 @@ SWITCH(sbi_message->h.resource.component1) CASE(OGS_SBI_RESOURCE_NAME_REGISTRATIONS) if (sbi_message->res_status != OGS_SBI_HTTP_STATUS_CREATED && + sbi_message->res_status != OGS_SBI_HTTP_STATUS_NO_CONTENT && sbi_message->res_status != OGS_SBI_HTTP_STATUS_OK) { ogs_error("%s HTTP response error %d", amf_ue->supi, sbi_message->res_status); @@ -1027,7 +1028,9 @@ CASE(OGS_SBI_RESOURCE_NAME_AM_DATA) CASE(OGS_SBI_RESOURCE_NAME_SMF_SELECT_DATA) CASE(OGS_SBI_RESOURCE_NAME_UE_CONTEXT_IN_SMF_DATA) - if (sbi_message->res_status != OGS_SBI_HTTP_STATUS_OK) { + CASE(OGS_SBI_RESOURCE_NAME_SDM_SUBSCRIPTIONS) + if ((sbi_message->res_status != OGS_SBI_HTTP_STATUS_OK) && + (sbi_message->res_status != OGS_SBI_HTTP_STATUS_CREATED)) { ogs_error("%s HTTP response error %d", amf_ue->supi, sbi_message->res_status); ogs_assert(OGS_OK ==
View file
open5gs_2.4.11.tar.xz/src/amf/namf-handler.c -> open5gs_2.5.0.tar.xz/src/amf/namf-handler.c
Changed
@@ -606,3 +606,114 @@ return OGS_OK; } + +int amf_namf_callback_handle_sdm_data_change_notify( + ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg) +{ + int status = OGS_SBI_HTTP_STATUS_NO_CONTENT; + + amf_ue_t *amf_ue = NULL; + + ogs_sbi_message_t sendmsg; + ogs_sbi_response_t *response = NULL; + + OpenAPI_modification_notification_t *ModificationNotification; + OpenAPI_lnode_t *node; + + char *ueid = NULL; + char *res_name = NULL; + + ogs_assert(stream); + ogs_assert(recvmsg); + + ModificationNotification = recvmsg->ModificationNotification; + if (!ModificationNotification) { + status = OGS_SBI_HTTP_STATUS_BAD_REQUEST; + ogs_error("%s No ModificationNotification", amf_ue->supi); + goto cleanup; + } + + + OpenAPI_list_for_each(ModificationNotification->notify_items, node) + { + OpenAPI_notify_item_t *item = node->data; + + char *saveptr = NULL; + + ueid = ogs_sbi_parse_uri(item->resource_id, "/", &saveptr); + if (!ueid) { + status = OGS_SBI_HTTP_STATUS_BAD_REQUEST; + ogs_error("%s No UeId", item->resource_id); + goto cleanup; + } + + amf_ue = amf_ue_find_by_supi(ueid); + if (!amf_ue) { + status = OGS_SBI_HTTP_STATUS_NOT_FOUND; + ogs_error("Cannot find SUPI %s", ueid); + goto cleanup; + } + + res_name = ogs_sbi_parse_uri(NULL, "/", &saveptr); + if (!res_name) { + status = OGS_SBI_HTTP_STATUS_BAD_REQUEST; + ogs_error("%s No Resource Name", item->resource_id); + goto cleanup; + } + + SWITCH(res_name) + CASE(OGS_SBI_RESOURCE_NAME_AM_DATA) + OpenAPI_lnode_t *node_ci; + + OpenAPI_list_for_each(item->changes, node_ci) + { + /* + OpenAPI_change_item_t *item_change = node_ci->data; + item_change->path; + item_change->from; + item_change->new_value; + item_change->orig_value; + */ + /* + switch (item_change->op) { + case OpenAPI_change_type_ADD: + break; + case OpenAPI_change_type_MOVE: + break; + case OpenAPI_change_type__REMOVE: + break; + case OpenAPI_change_type_REPLACE: + break; + default: + break; + } + */ + } + break; + DEFAULT + status = OGS_SBI_HTTP_STATUS_BAD_REQUEST; + ogs_error("Unknown Resource Name: %s", res_name); + goto cleanup; + END + + ogs_free(ueid); + ogs_free(res_name); + + ueid = NULL; + res_name = NULL; + } + +cleanup: + if (ueid) + ogs_free(ueid); + if (res_name) + ogs_free(res_name); + + memset(&sendmsg, 0, sizeof(sendmsg)); + + response = ogs_sbi_build_response(&sendmsg, status); + ogs_assert(response); + ogs_assert(true == ogs_sbi_server_send_response(stream, response)); + + return OGS_OK; +}
View file
open5gs_2.4.11.tar.xz/src/amf/namf-handler.h -> open5gs_2.5.0.tar.xz/src/amf/namf-handler.h
Changed
@@ -32,6 +32,8 @@ ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg); int amf_namf_callback_handle_dereg_notify( ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg); +int amf_namf_callback_handle_sdm_data_change_notify( + ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg); #ifdef __cplusplus }
View file
open5gs_2.4.11.tar.xz/src/amf/nausf-build.c -> open5gs_2.5.0.tar.xz/src/amf/nausf-build.c
Changed
@@ -50,7 +50,10 @@ AuthenticationInfo.supi_or_suci = amf_ue->suci; AuthenticationInfo.serving_network_name = ogs_serving_network_name_from_plmn_id(&amf_ue->nr_tai.plmn_id); - ogs_expect_or_return_val(AuthenticationInfo.serving_network_name, NULL); + if (!AuthenticationInfo.serving_network_name) { + ogs_error("No serving_network_name"); + goto end; + } if (auts) { memset(&ResynchronizationInfo, 0, sizeof(ResynchronizationInfo)); @@ -70,7 +73,9 @@ request = ogs_sbi_build_request(&message); ogs_expect(request); - ogs_free(AuthenticationInfo.serving_network_name); +end: + if (AuthenticationInfo.serving_network_name) + ogs_free(AuthenticationInfo.serving_network_name); return request; } @@ -93,7 +98,10 @@ message.h.uri = amf_ue->confirmation_url_for_5g_aka; ConfirmationData = ogs_calloc(1, sizeof(*ConfirmationData)); - ogs_expect_or_return_val(ConfirmationData, NULL); + if (!ConfirmationData) { + ogs_error("No ConfirmationData"); + goto end; + } ogs_hex_to_ascii(amf_ue->xres_star, sizeof(amf_ue->xres_star), xres_star_string, sizeof(xres_star_string)); @@ -105,7 +113,9 @@ request = ogs_sbi_build_request(&message); ogs_expect(request); - ogs_free(ConfirmationData); +end: + if (ConfirmationData) + ogs_free(ConfirmationData); return request; }
View file
open5gs_2.4.11.tar.xz/src/amf/ngap-handler.c -> open5gs_2.5.0.tar.xz/src/amf/ngap-handler.c
Changed
@@ -398,7 +398,13 @@ ran_ue = ran_ue_find_by_ran_ue_ngap_id(gnb, *RAN_UE_NGAP_ID); if (!ran_ue) { ran_ue = ran_ue_add(gnb, *RAN_UE_NGAP_ID); - ogs_assert(ran_ue); + if (ran_ue == NULL) { + ogs_assert(OGS_OK == + ngap_send_error_indication(gnb, NULL, NULL, + NGAP_Cause_PR_misc, + NGAP_CauseMisc_control_processing_overload)); + return; + } /* Find AMF_UE if 5G-S_TMSI included */ if (FiveG_S_TMSI) { @@ -2771,7 +2777,12 @@ /* Target UE */ target_ue = ran_ue_add(target_gnb, INVALID_UE_NGAP_ID); - ogs_assert(target_ue); + if (target_ue == NULL) { + ogs_assert(OGS_OK == + ngap_send_error_indication2(amf_ue, NGAP_Cause_PR_misc, + NGAP_CauseMisc_control_processing_overload)); + return; + } /* Source UE - Target UE associated */ source_ue_associate_target_ue(source_ue, target_ue);
View file
open5gs_2.4.11.tar.xz/src/amf/nnrf-build.c -> open5gs_2.5.0.tar.xz/src/amf/nnrf-build.c
Changed
@@ -50,6 +50,7 @@ message.param.discovery_option = discovery_option; request = ogs_sbi_build_request(&message); + ogs_expect(request); return request; }
View file
open5gs_2.4.11.tar.xz/src/amf/nnrf-handler.c -> open5gs_2.5.0.tar.xz/src/amf/nnrf-handler.c
Changed
@@ -28,6 +28,7 @@ ogs_sbi_nf_instance_t *nf_instance = NULL; ogs_sbi_object_t *sbi_object = NULL; ogs_sbi_service_type_e service_type = OGS_SBI_SERVICE_TYPE_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; ogs_sbi_discovery_option_t *discovery_option = NULL; OpenAPI_search_result_t *SearchResult = NULL; @@ -38,6 +39,8 @@ ogs_assert(sbi_object); service_type = xact->service_type; ogs_assert(service_type); + requester_nf_type = xact->requester_nf_type; + ogs_assert(requester_nf_type); discovery_option = xact->discovery_option; @@ -47,9 +50,10 @@ return; } - ogs_nnrf_handle_nf_discover_search_result(SearchResult); + ogs_nnrf_disc_handle_nf_discover_search_result(SearchResult); - amf_sbi_select_nf(sbi_object, service_type, discovery_option); + amf_sbi_select_nf(sbi_object, + service_type, requester_nf_type, discovery_option); nf_instance = sbi_object->service_type_arrayservice_type.nf_instance; if (!nf_instance) {
View file
open5gs_2.4.11.tar.xz/src/amf/nnssf-build.c -> open5gs_2.5.0.tar.xz/src/amf/nnssf-build.c
Changed
@@ -34,9 +34,16 @@ message.h.resource.component0 = (char *)OGS_SBI_RESOURCE_NAME_NETWORK_SLICE_INFORMATION; - ogs_assert(ogs_sbi_self()->nf_instance); - message.param.nf_id = ogs_sbi_self()->nf_instance->id; - message.param.nf_type = ogs_sbi_self()->nf_instance->nf_type; + message.param.nf_id = NF_INSTANCE_ID(ogs_sbi_self()->nf_instance); + if (!message.param.nf_id) { + ogs_error("No nf_id"); + goto end; + } + message.param.nf_type = NF_INSTANCE_TYPE(ogs_sbi_self()->nf_instance); + if (!message.param.nf_type) { + ogs_error("No nf_type"); + goto end; + } message.param.slice_info_request_for_pdu_session_presence = true; message.param.roaming_indication = OpenAPI_roaming_indication_NON_ROAMING; @@ -44,7 +51,9 @@ sizeof(message.param.s_nssai)); request = ogs_sbi_build_request(&message); - ogs_assert(request); + ogs_expect(request); + +end: return request; }
View file
open5gs_2.4.11.tar.xz/src/amf/nnssf-handler.c -> open5gs_2.5.0.tar.xz/src/amf/nnssf-handler.c
Changed
@@ -26,7 +26,7 @@ { amf_ue_t *amf_ue = NULL; - ogs_sbi_client_t *client = NULL; + ogs_sbi_client_t *client = NULL, *scp_client = NULL; ogs_sockaddr_t *addr = NULL; OpenAPI_authorized_network_slice_info_t *AuthorizedNetworkSliceInfo = NULL; @@ -78,28 +78,42 @@ sess->nssf.nrf.id = ogs_strdup(NsiInformation->nrf_id); ogs_assert(sess->nssf.nrf.id); - addr = ogs_sbi_getaddr_from_uri(NsiInformation->nrf_id); - if (!addr) { - ogs_error("%s:%d Invalid URI %s", - amf_ue->supi, sess->psi, NsiInformation->nrf_id); - ogs_assert(OGS_OK == - nas_5gs_send_gmm_reject_from_sbi( - amf_ue, OGS_SBI_HTTP_STATUS_INTERNAL_SERVER_ERROR)); - return OGS_ERROR;; - } + scp_client = NF_INSTANCE_CLIENT(ogs_sbi_self()->scp_instance); - client = ogs_sbi_client_find(addr); - if (!client) { - client = ogs_sbi_client_add(addr); - ogs_assert(client); - } + if (scp_client) { + amf_nsmf_pdusession_sm_context_param_t param; + + memset(¶m, 0, sizeof(param)); + param.nrf_uri.nrf.id = sess->nssf.nrf.id; - OGS_SBI_SETUP_CLIENT(&sess->nssf.nrf, client); + amf_sess_sbi_discover_and_send( + OGS_SBI_SERVICE_TYPE_NSMF_PDUSESSION, NULL, + amf_nsmf_pdusession_build_create_sm_context, + sess, AMF_CREATE_SM_CONTEXT_NO_STATE, ¶m); + } else { + addr = ogs_sbi_getaddr_from_uri(NsiInformation->nrf_id); + if (!addr) { + ogs_error("%s:%d Invalid URI %s", + amf_ue->supi, sess->psi, NsiInformation->nrf_id); + ogs_assert(OGS_OK == + nas_5gs_send_gmm_reject_from_sbi( + amf_ue, OGS_SBI_HTTP_STATUS_INTERNAL_SERVER_ERROR)); + return OGS_ERROR;; + } + + client = ogs_sbi_client_find(addr); + if (!client) { + client = ogs_sbi_client_add(addr); + ogs_assert(client); + } - ogs_freeaddrinfo(addr); + OGS_SBI_SETUP_CLIENT(&sess->nssf.nrf, client); - ogs_assert(true == amf_sess_sbi_discover_by_nsi( - sess, OGS_SBI_SERVICE_TYPE_NSMF_PDUSESSION, NULL)); + ogs_freeaddrinfo(addr); + + ogs_assert(true == amf_sess_sbi_discover_by_nsi( + sess, OGS_SBI_SERVICE_TYPE_NSMF_PDUSESSION, NULL)); + } return OGS_OK; }
View file
open5gs_2.4.11.tar.xz/src/amf/npcf-build.c -> open5gs_2.5.0.tar.xz/src/amf/npcf-build.c
Changed
@@ -49,7 +49,10 @@ memset(&PolicyAssociationRequest, 0, sizeof(PolicyAssociationRequest)); server = ogs_list_first(&ogs_sbi_self()->server_list); - ogs_expect_or_return_val(server, NULL); + if (!server) { + ogs_error("No server"); + goto end; + } memset(&header, 0, sizeof(header)); header.service.name = (char *)OGS_SBI_SERVICE_NAME_NAMF_CALLBACK; @@ -59,7 +62,10 @@ (char *)OGS_SBI_RESOURCE_NAME_AM_POLICY_NOTIFY; PolicyAssociationRequest.notification_uri = ogs_sbi_server_uri(server, &header); - ogs_expect_or_return_val(PolicyAssociationRequest.notification_uri, NULL); + if (!PolicyAssociationRequest.notification_uri) { + ogs_error("No notifiation_uri"); + goto end; + } PolicyAssociationRequest.supi = amf_ue->supi; @@ -67,7 +73,10 @@ if (amf_ue->msisdn0) { PolicyAssociationRequest.gpsi = ogs_msprintf("%s-%s", OGS_ID_GPSI_TYPE_MSISDN, amf_ue->msisdn0); - ogs_assert(PolicyAssociationRequest.gpsi); + if (!PolicyAssociationRequest.gpsi) { + ogs_error("No gpsi"); + goto end; + } } } @@ -77,20 +86,31 @@ memset(&ueLocation, 0, sizeof(ueLocation)); ueLocation.nr_location = ogs_sbi_build_nr_location( &amf_ue->nr_tai, &amf_ue->nr_cgi); - ogs_expect_or_return_val(ueLocation.nr_location, NULL); + if (!ueLocation.nr_location) { + ogs_error("No ueLocation.nr_location"); + goto end; + } ueLocation.nr_location->ue_location_timestamp = ogs_sbi_gmtime_string(amf_ue->ue_location_timestamp); - ogs_expect_or_return_val( - ueLocation.nr_location->ue_location_timestamp, NULL); + if (!ueLocation.nr_location->ue_location_timestamp) { + ogs_error("No ueLocation.nr_location->ue_location_timestamp"); + goto end; + } PolicyAssociationRequest.user_loc = &ueLocation; PolicyAssociationRequest.time_zone = ogs_sbi_timezone_string(ogs_timezone()); - ogs_expect_or_return_val(PolicyAssociationRequest.time_zone, NULL); + if (!PolicyAssociationRequest.time_zone) { + ogs_error("No time_zone"); + goto end; + } PolicyAssociationRequest.serving_plmn = ogs_sbi_build_plmn_id_nid(&amf_ue->nr_tai.plmn_id); - ogs_expect_or_return_val(PolicyAssociationRequest.serving_plmn, NULL); + if (!PolicyAssociationRequest.serving_plmn) { + ogs_error("No serving_plmn"); + goto end; + } PolicyAssociationRequest.rat_type = amf_ue_rat_type(amf_ue); @@ -115,7 +135,10 @@ for (i = 0; i < amf_ue->allowed_nssai.num_of_s_nssai; i++) { struct OpenAPI_snssai_s *Snssai = ogs_calloc(1, sizeof(*Snssai)); - ogs_expect_or_return_val(Snssai, NULL); + if (!Snssai) { + ogs_error("No Snssai"); + goto end; + } Snssai->sst = amf_ue->allowed_nssai.s_nssaii.sst; Snssai->sd = ogs_s_nssai_sd_to_string( @@ -130,22 +153,31 @@ OpenAPI_list_free(AllowedSnssais); PolicyAssociationRequest.guami = ogs_sbi_build_guami(amf_ue->guami); - ogs_expect_or_return_val(PolicyAssociationRequest.guami, NULL); + if (!PolicyAssociationRequest.guami) { + ogs_error("No guami"); + goto end; + } PolicyAssociationRequest.service_name = (char *)OGS_SBI_SERVICE_NAME_NAMF_CALLBACK; PolicyAssociationRequest.supp_feat = ogs_uint64_to_string(amf_ue->am_policy_control_features); - ogs_expect_or_return_val(PolicyAssociationRequest.supp_feat, NULL); + if (!PolicyAssociationRequest.supp_feat) { + ogs_error("No supp_feat"); + goto end; + } message.PolicyAssociationRequest = &PolicyAssociationRequest; request = ogs_sbi_build_request(&message); ogs_expect(request); - ogs_free(PolicyAssociationRequest.notification_uri); - ogs_free(PolicyAssociationRequest.supp_feat); +end: + if (PolicyAssociationRequest.notification_uri) + ogs_free(PolicyAssociationRequest.notification_uri); + if (PolicyAssociationRequest.supp_feat) + ogs_free(PolicyAssociationRequest.supp_feat); if (PolicyAssociationRequest.gpsi) ogs_free(PolicyAssociationRequest.gpsi);
View file
open5gs_2.4.11.tar.xz/src/amf/nsmf-build.c -> open5gs_2.5.0.tar.xz/src/amf/nsmf-build.c
Changed
@@ -22,6 +22,7 @@ ogs_sbi_request_t *amf_nsmf_pdusession_build_create_sm_context( amf_sess_t *sess, void *data) { + amf_nsmf_pdusession_sm_context_param_t *param = data; ogs_sbi_message_t message; ogs_sbi_request_t *request = NULL; @@ -51,12 +52,19 @@ memset(&SmContextCreateData, 0, sizeof(SmContextCreateData)); - ogs_assert(ogs_sbi_self()->nf_instance); - SmContextCreateData.serving_nf_id = ogs_sbi_self()->nf_instance->id; + SmContextCreateData.serving_nf_id = + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance); + if (!SmContextCreateData.serving_nf_id) { + ogs_error("No serving_nf_id"); + goto end; + } SmContextCreateData.serving_network = ogs_sbi_build_plmn_id_nid(&amf_ue->nr_tai.plmn_id); - ogs_expect_or_return_val(SmContextCreateData.serving_network, NULL); + if (!SmContextCreateData.serving_nf_id) { + ogs_error("No serving_network"); + goto end; + } SmContextCreateData.supi = amf_ue->supi; SmContextCreateData.pei = amf_ue->pei; @@ -64,12 +72,18 @@ if (amf_ue->msisdn0) { SmContextCreateData.gpsi = ogs_msprintf("%s-%s", OGS_ID_GPSI_TYPE_MSISDN, amf_ue->msisdn0); - ogs_expect_or_return_val(SmContextCreateData.gpsi, NULL); + if (!SmContextCreateData.gpsi) { + ogs_error("No gpsi"); + goto end; + } } } SmContextCreateData.is_pdu_session_id = true; SmContextCreateData.pdu_session_id = sess->psi; - ogs_expect_or_return_val(sess->dnn, NULL); + if (!SmContextCreateData.pdu_session_id) { + ogs_error("No pdu_session_id"); + goto end; + } SmContextCreateData.dnn = sess->dnn; memset(&sNssai, 0, sizeof(sNssai)); @@ -85,7 +99,10 @@ } SmContextCreateData.guami = ogs_sbi_build_guami(amf_ue->guami); - ogs_expect_or_return_val(SmContextCreateData.guami, NULL); + if (!SmContextCreateData.guami) { + ogs_error("No guami"); + goto end; + } SmContextCreateData.an_type = amf_ue->nas.access_type; memset(&header, 0, sizeof(header)); @@ -95,10 +112,16 @@ header.resource.component1 = (char *)OGS_SBI_RESOURCE_NAME_SM_CONTEXT_STATUS; header.resource.component2 = ogs_msprintf("%d", sess->psi); - ogs_expect_or_return_val(header.resource.component2, NULL); + if (!header.resource.component2) { + ogs_error("No header.resource.component2"); + goto end; + } server = ogs_list_first(&ogs_sbi_self()->server_list); - ogs_expect_or_return_val(server, NULL); + if (!server) { + ogs_error("No server"); + goto end; + } SmContextCreateData.sm_context_status_uri = ogs_sbi_server_uri(server, &header); @@ -110,19 +133,30 @@ memset(&ueLocation, 0, sizeof(ueLocation)); ueLocation.nr_location = ogs_sbi_build_nr_location( &amf_ue->nr_tai, &amf_ue->nr_cgi); - ogs_expect_or_return_val(ueLocation.nr_location, NULL); + if (!ueLocation.nr_location) { + ogs_error("No ueLocation.nr_location"); + goto end; + } ueLocation.nr_location->ue_location_timestamp = ogs_sbi_gmtime_string(amf_ue->ue_location_timestamp); - ogs_expect_or_return_val( - ueLocation.nr_location->ue_location_timestamp, NULL); + if (!ueLocation.nr_location->ue_location_timestamp) { + ogs_error("No ue_location_timestamp"); + goto end; + } SmContextCreateData.ue_location = &ueLocation; SmContextCreateData.ue_time_zone = ogs_sbi_timezone_string(ogs_timezone()); - ogs_expect_or_return_val(SmContextCreateData.ue_time_zone, NULL); + if (!SmContextCreateData.ue_time_zone) { + ogs_error("No ue_time_zone"); + goto end; + } pcf_nf_instance = amf_ue->sbi.service_type_array OGS_SBI_SERVICE_TYPE_NPCF_AM_POLICY_CONTROL.nf_instance; - ogs_expect_or_return_val(pcf_nf_instance, NULL); + if (!pcf_nf_instance) { + ogs_error("No pcf_nf_instance"); + goto end; + } SmContextCreateData.pcf_id = pcf_nf_instance->id; message.SmContextCreateData = &SmContextCreateData; @@ -139,13 +173,26 @@ message.http.accept = (char *)(OGS_SBI_CONTENT_JSON_TYPE "," OGS_SBI_CONTENT_NGAP_TYPE "," OGS_SBI_CONTENT_PROBLEM_TYPE); + message.http.custom.callback = + (char *)OGS_SBI_CALLBACK_NSMF_PDUSESSION_STATUS_NOTIFY; + + if (param && param->nrf_uri.nrf.id) { + message.http.custom.nrf_uri = + ogs_msprintf("%s: \"%s\"", + OGS_SBI_SERVICE_NAME_NNRF_DISC, param->nrf_uri.nrf.id); + } + request = ogs_sbi_build_request(&message); ogs_expect(request); +end: + if (SmContextCreateData.serving_network) ogs_sbi_free_plmn_id_nid(SmContextCreateData.serving_network); - ogs_free(SmContextCreateData.sm_context_status_uri); - ogs_free(header.resource.component2); + if (SmContextCreateData.sm_context_status_uri) + ogs_free(SmContextCreateData.sm_context_status_uri); + if (header.resource.component2) + ogs_free(header.resource.component2); if (sNssai.sd) ogs_free(sNssai.sd); if (hplmnSnssai.sd) @@ -162,6 +209,9 @@ if (SmContextCreateData.ue_time_zone) ogs_free(SmContextCreateData.ue_time_zone); + if (message.http.custom.nrf_uri) + ogs_free(message.http.custom.nrf_uri); + return request; } @@ -213,7 +263,10 @@ } if (param->n2smbuf) { - ogs_expect_or_return_val(param->n2SmInfoType, NULL); + if (!param->n2SmInfoType) { + ogs_error("No n2SmInfoType"); + goto end; + } SmContextUpdateData.n2_sm_info_type = param->n2SmInfoType; SmContextUpdateData.n2_sm_info = &n2SmInfo; @@ -235,7 +288,10 @@ if (param->TargetID) { SmContextUpdateData.target_id = amf_nsmf_pdusession_build_target_id(param->TargetID); - ogs_expect_or_return_val(SmContextUpdateData.target_id, NULL); + if (!SmContextUpdateData.target_id) { + ogs_error("No target_id"); + goto end; + } } if (param->ngApCause.group) { @@ -249,18 +305,26 @@ if (param->ue_location) { ueLocation.nr_location = ogs_sbi_build_nr_location( &amf_ue->nr_tai, &amf_ue->nr_cgi); - ogs_expect_or_return_val(ueLocation.nr_location, NULL); + if (!ueLocation.nr_location) { + ogs_error("No ueLocation.nr_location"); + goto end; + } ueLocation.nr_location->ue_location_timestamp = ogs_sbi_gmtime_string(amf_ue->ue_location_timestamp); - ogs_expect_or_return_val( - ueLocation.nr_location->ue_location_timestamp, NULL); + if (!ueLocation.nr_location->ue_location_timestamp) { + ogs_error("No ueLocation.nr_location->ue_location_timestamp"); + goto end; + } SmContextUpdateData.ue_location = &ueLocation; } if (param->ue_timezone) { SmContextUpdateData.ue_time_zone = ogs_sbi_timezone_string(ogs_timezone()); - ogs_expect_or_return_val(SmContextUpdateData.ue_time_zone, NULL); + if (!SmContextUpdateData.ue_time_zone) { + ogs_error("No SmContextUpdateData.ue_time_zone"); + goto end; + } } if (param->release) { @@ -272,6 +336,7 @@ request = ogs_sbi_build_request(&message); ogs_expect(request); +end: if (ueLocation.nr_location) { if (ueLocation.nr_location->ue_location_timestamp) ogs_free(ueLocation.nr_location->ue_location_timestamp); @@ -282,7 +347,6 @@ if (SmContextUpdateData.target_id) amf_nsmf_pdusession_free_target_id(SmContextUpdateData.target_id); - return request; } @@ -332,21 +396,30 @@ memset(&ueLocation, 0, sizeof(ueLocation)); ueLocation.nr_location = ogs_sbi_build_nr_location( &amf_ue->nr_tai, &amf_ue->nr_cgi); - ogs_expect_or_return_val(ueLocation.nr_location, NULL); + if (!ueLocation.nr_location) { + ogs_error("No ueLocation.nr_location"); + goto end; + } ueLocation.nr_location->ue_location_timestamp = ogs_sbi_gmtime_string(amf_ue->ue_location_timestamp); - ogs_expect_or_return_val( - ueLocation.nr_location->ue_location_timestamp, NULL); + if (!ueLocation.nr_location->ue_location_timestamp) { + ogs_error("No ueLocation.nr_location->ue_location_timestamp"); + goto end; + } SmContextReleaseData.ue_location = &ueLocation; SmContextReleaseData.ue_time_zone = ogs_sbi_timezone_string(ogs_timezone()); - ogs_expect_or_return_val(SmContextReleaseData.ue_time_zone, NULL); + if (!SmContextReleaseData.ue_time_zone) { + ogs_error("No SmContextReleaseData.ue_time_zone"); + goto end; + } message.SmContextReleaseData = &SmContextReleaseData; request = ogs_sbi_build_request(&message); ogs_expect(request); +end: if (ueLocation.nr_location) { if (ueLocation.nr_location->ue_location_timestamp) ogs_free(ueLocation.nr_location->ue_location_timestamp); @@ -444,21 +517,40 @@ } targetId = ogs_calloc(1, sizeof(*targetId)); - ogs_expect_or_return_val(targetId, NULL); + if (!targetId) { + ogs_error("No targetId"); + return NULL; + } targetId->ran_node_id = ranNodeId = ogs_calloc(1, sizeof(*ranNodeId));; - ogs_expect_or_return_val(ranNodeId, NULL); + if (!targetId->ran_node_id) { + ogs_error("No targetId->ran_node_id"); + amf_nsmf_pdusession_free_target_id(targetId); + return NULL; + } memcpy(&plmn_id, globalGNB_ID->pLMNIdentity.buf, OGS_PLMN_ID_LEN); ranNodeId->plmn_id = ogs_sbi_build_plmn_id(&plmn_id); - ogs_expect_or_return_val(ranNodeId->plmn_id, NULL); + if (!ranNodeId->plmn_id) { + ogs_error("No ranNodeId->plmn_id"); + amf_nsmf_pdusession_free_target_id(targetId); + return NULL; + } ranNodeId->g_nb_id = gNbId = ogs_calloc(1, sizeof(*gNbId)); - ogs_expect_or_return_val(gNbId, NULL); + if (!ranNodeId->g_nb_id) { + ogs_error("No ranNodeId->g_nb_id"); + amf_nsmf_pdusession_free_target_id(targetId); + return NULL; + } gNbId->g_nb_value = ogs_calloc( 1, OGS_KEYSTRLEN(globalGNB_ID->gNB_ID.choice.gNB_ID.size)); - ogs_expect_or_return_val(gNbId->g_nb_value, NULL); + if (!gNbId->g_nb_value) { + ogs_error("No gNbId->g_nb_value"); + amf_nsmf_pdusession_free_target_id(targetId); + return NULL; + } ogs_hex_to_ascii( globalGNB_ID->gNB_ID.choice.gNB_ID.buf, globalGNB_ID->gNB_ID.choice.gNB_ID.size, @@ -467,13 +559,25 @@ gNbId->bit_length = 32 - globalGNB_ID->gNB_ID.choice.gNB_ID.bits_unused; targetId->tai = tai = ogs_calloc(1, sizeof(*tai));; - ogs_expect_or_return_val(tai, NULL); + if (!targetId->tai) { + ogs_error("No targetId->tai"); + amf_nsmf_pdusession_free_target_id(targetId); + return NULL; + } ogs_ngap_ASN_to_5gs_tai(&targetRANNodeID->selectedTAI, &nr_tai); tai->plmn_id = ogs_sbi_build_plmn_id(&nr_tai.plmn_id); - ogs_expect_or_return_val(tai->plmn_id, NULL); + if (!tai->plmn_id) { + ogs_error("No tai->plmn_id"); + amf_nsmf_pdusession_free_target_id(targetId); + return NULL; + } tai->tac = ogs_uint24_to_0string(nr_tai.tac); - ogs_expect_or_return_val(tai->tac, NULL); + if (!tai->tac) { + ogs_error("No tai->tac"); + amf_nsmf_pdusession_free_target_id(targetId); + return NULL; + } return targetId; }
View file
open5gs_2.4.11.tar.xz/src/amf/nsmf-build.h -> open5gs_2.5.0.tar.xz/src/amf/nsmf-build.h
Changed
@@ -51,6 +51,12 @@ OpenAPI_ho_state_e hoState; OpenAPI_ng_ran_target_id_t *targetId; NGAP_TargetID_t *TargetID; + + struct { + struct { + char *id; + } nrf; + } nrf_uri; } amf_nsmf_pdusession_sm_context_param_t; ogs_sbi_request_t *amf_nsmf_pdusession_build_create_sm_context(
View file
open5gs_2.4.11.tar.xz/src/amf/nudm-build.c -> open5gs_2.5.0.tar.xz/src/amf/nudm-build.c
Changed
@@ -44,11 +44,18 @@ memset(&Amf3GppAccessRegistration, 0, sizeof(Amf3GppAccessRegistration)); - ogs_assert(ogs_sbi_self()->nf_instance); - Amf3GppAccessRegistration.amf_instance_id = ogs_sbi_self()->nf_instance->id; + Amf3GppAccessRegistration.amf_instance_id = + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance); + if (!Amf3GppAccessRegistration.amf_instance_id) { + ogs_error("No amf_instance_id"); + goto end; + } server = ogs_list_first(&ogs_sbi_self()->server_list); - ogs_assert(server); + if (!server) { + ogs_error("No server"); + goto end; + } memset(&header, 0, sizeof(header)); header.service.name = (char *)OGS_SBI_SERVICE_NAME_NAMF_CALLBACK; @@ -57,20 +64,32 @@ header.resource.component1 = (char *)OGS_SBI_RESOURCE_NAME_DEREG_NOTIFY; Amf3GppAccessRegistration.dereg_callback_uri = ogs_sbi_server_uri(server, &header); - ogs_assert(Amf3GppAccessRegistration.dereg_callback_uri); + if (!Amf3GppAccessRegistration.dereg_callback_uri) { + ogs_error("No dereg_callback_uri"); + goto end; + } Amf3GppAccessRegistration.guami = ogs_sbi_build_guami(amf_ue->guami); Amf3GppAccessRegistration.rat_type = amf_ue_rat_type(amf_ue); - ogs_assert(Amf3GppAccessRegistration.rat_type != OpenAPI_rat_type_NULL); + if (Amf3GppAccessRegistration.rat_type == OpenAPI_rat_type_NULL) { + ogs_error("No rat_type"); + goto end; + } message.Amf3GppAccessRegistration = &Amf3GppAccessRegistration; + message.http.custom.callback = + (char *)OGS_SBI_CALLBACK_NUDM_UECM_DEREGISTRATION_NOTIFICATION; + request = ogs_sbi_build_request(&message); - ogs_assert(request); + ogs_expect(request); + +end: if (Amf3GppAccessRegistration.guami) ogs_sbi_free_guami(Amf3GppAccessRegistration.guami); - ogs_free(Amf3GppAccessRegistration.dereg_callback_uri); + if (Amf3GppAccessRegistration.dereg_callback_uri) + ogs_free(Amf3GppAccessRegistration.dereg_callback_uri); return request; } @@ -102,6 +121,10 @@ Amf3GppAccessRegistrationModification.guami = ogs_sbi_build_guami(amf_ue->guami); + if (!Amf3GppAccessRegistrationModification.guami) { + ogs_error("No guami"); + goto end; + } Amf3GppAccessRegistrationModification.is_purge_flag = true; Amf3GppAccessRegistrationModification.purge_flag = 1; @@ -109,7 +132,9 @@ &Amf3GppAccessRegistrationModification; request = ogs_sbi_build_request(&message); - ogs_assert(request); + ogs_expect(request); + +end: if (Amf3GppAccessRegistrationModification.guami) ogs_sbi_free_guami(Amf3GppAccessRegistrationModification.guami); @@ -133,7 +158,83 @@ message.h.resource.component1 = data; request = ogs_sbi_build_request(&message); - ogs_assert(request); + ogs_expect(request); + + return request; +} + +ogs_sbi_request_t *amf_nudm_sdm_build_subscription(amf_ue_t *amf_ue, void *data) +{ + ogs_sbi_message_t message; + ogs_sbi_header_t header; + ogs_sbi_request_t *request = NULL; + ogs_sbi_server_t *server = NULL; + + OpenAPI_sdm_subscription_t SDMSubscription; + + char *monres = NULL; + + ogs_assert(amf_ue); + ogs_assert(amf_ue->supi); + ogs_assert(data); + + memset(&message, 0, sizeof(message)); + message.h.method = (char *)OGS_SBI_HTTP_METHOD_POST; + message.h.service.name = (char *)OGS_SBI_SERVICE_NAME_NUDM_SDM; + message.h.api.version = (char *)OGS_SBI_API_V2; + message.h.resource.component0 = amf_ue->supi; + message.h.resource.component1 = + (char *)OGS_SBI_RESOURCE_NAME_SDM_SUBSCRIPTIONS; + + memset(&SDMSubscription, 0, sizeof(SDMSubscription)); + + SDMSubscription.nf_instance_id = + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance); + + server = ogs_list_first(&ogs_sbi_self()->server_list); + if (!server) { + ogs_error("No server"); + goto end; + } + + memset(&header, 0, sizeof(header)); + header.service.name = (char *)OGS_SBI_SERVICE_NAME_NAMF_CALLBACK; + header.api.version = (char *)OGS_SBI_API_V1; + header.resource.component0 = amf_ue->supi; + header.resource.component1 = + (char *)OGS_SBI_RESOURCE_NAME_SDMSUBSCRIPTION_NOTIFY; + SDMSubscription.callback_reference = ogs_sbi_server_uri(server, &header); + if (!SDMSubscription.callback_reference) { + ogs_error("No callback_reference"); + goto end; + } + + SDMSubscription.monitored_resource_uris = OpenAPI_list_create(); + + monres = ogs_msprintf("%s/%s", amf_ue->supi, (char *)data); + if (!monres) { + ogs_error("No monres"); + goto end; + } + + OpenAPI_list_add(SDMSubscription.monitored_resource_uris, monres); + SDMSubscription.implicit_unsubscribe = 1; + + message.SDMSubscription = &SDMSubscription; + + message.http.custom.callback = + (char *)OGS_SBI_CALLBACK_NUDM_SDM_NOTIFICATION; + + request = ogs_sbi_build_request(&message); + ogs_expect(request); + +end: + + if (monres) + ogs_free(monres); + OpenAPI_list_free(SDMSubscription.monitored_resource_uris); + if (SDMSubscription.callback_reference) + ogs_free(SDMSubscription.callback_reference); return request; }
View file
open5gs_2.4.11.tar.xz/src/amf/nudm-build.h -> open5gs_2.5.0.tar.xz/src/amf/nudm-build.h
Changed
@@ -31,6 +31,8 @@ ogs_sbi_request_t *amf_nudm_uecm_build_registration_delete( amf_ue_t *amf_ue, void *data); ogs_sbi_request_t *amf_nudm_sdm_build_get(amf_ue_t *amf_ue, void *data); +ogs_sbi_request_t *amf_nudm_sdm_build_subscription( + amf_ue_t *amf_ue, void *data); #ifdef __cplusplus }
View file
open5gs_2.4.11.tar.xz/src/amf/nudm-handler.c -> open5gs_2.5.0.tar.xz/src/amf/nudm-handler.c
Changed
@@ -220,6 +220,69 @@ break; CASE(OGS_SBI_RESOURCE_NAME_UE_CONTEXT_IN_SMF_DATA) + + if (amf_ue->data_change_subscription_id) { + /* we already have a SDM subscription to UDM; continue without + * subscribing again */ + ogs_assert(true == + amf_ue_sbi_discover_and_send( + OGS_SBI_SERVICE_TYPE_NPCF_AM_POLICY_CONTROL, NULL, + amf_npcf_am_policy_control_build_create, amf_ue, NULL)); + } + else { + ogs_assert(true == + amf_ue_sbi_discover_and_send( + OGS_SBI_SERVICE_TYPE_NUDM_SDM, NULL, + amf_nudm_sdm_build_subscription, amf_ue, + (char *)OGS_SBI_RESOURCE_NAME_AM_DATA)); + } + break; + + CASE(OGS_SBI_RESOURCE_NAME_SDM_SUBSCRIPTIONS) + + int rv; + ogs_sbi_message_t message; + ogs_sbi_header_t header; + + if (!recvmsg->http.location) { + ogs_error("%s No http.location", amf_ue->supi); + ogs_assert(OGS_OK == + nas_5gs_send_gmm_reject_from_sbi( + amf_ue, OGS_SBI_HTTP_STATUS_INTERNAL_SERVER_ERROR)); + return OGS_ERROR; + } + + memset(&header, 0, sizeof(header)); + header.uri = recvmsg->http.location; + + rv = ogs_sbi_parse_header(&message, &header); + if (rv != OGS_OK) { + ogs_error("%s Cannot parse http.location %s", + amf_ue->supi, recvmsg->http.location); + ogs_assert(OGS_OK == + nas_5gs_send_gmm_reject_from_sbi( + amf_ue, OGS_SBI_HTTP_STATUS_INTERNAL_SERVER_ERROR)); + return OGS_ERROR; + } + + if (!message.h.resource.component2) { + ogs_error("%s No Subscription ID %s", + amf_ue->supi, recvmsg->http.location); + + ogs_sbi_header_free(&header); + ogs_assert(OGS_OK == + nas_5gs_send_gmm_reject_from_sbi( + amf_ue, OGS_SBI_HTTP_STATUS_INTERNAL_SERVER_ERROR)); + return OGS_ERROR; + } + + if (amf_ue->data_change_subscription_id) + ogs_free(amf_ue->data_change_subscription_id); + amf_ue->data_change_subscription_id = + ogs_strdup(message.h.resource.component2); + + ogs_sbi_header_free(&header); + ogs_assert(true == amf_ue_sbi_discover_and_send( OGS_SBI_SERVICE_TYPE_NPCF_AM_POLICY_CONTROL, NULL,
View file
open5gs_2.4.11.tar.xz/src/amf/sbi-path.c -> open5gs_2.5.0.tar.xz/src/amf/sbi-path.c
Changed
@@ -22,67 +22,12 @@ #include "ngap-path.h" #include "nnrf-handler.h" -static int server_cb(ogs_sbi_request_t *request, void *data) -{ - amf_event_t *e = NULL; - int rv; - - ogs_assert(request); - ogs_assert(data); - - e = amf_event_new(OGS_EVENT_SBI_SERVER); - ogs_assert(e); - - e->h.sbi.request = request; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_request_free(request); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - -static int client_cb(int status, ogs_sbi_response_t *response, void *data) -{ - amf_event_t *e = NULL; - int rv; - - if (status != OGS_OK) { - ogs_log_message( - status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0, - "client_cb() failed %d", status); - return OGS_ERROR; - } - - ogs_assert(response); - - e = amf_event_new(OGS_EVENT_SBI_CLIENT); - ogs_assert(e); - e->h.sbi.response = response; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_response_free(response); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - int amf_sbi_open(void) { ogs_sbi_nf_instance_t *nf_instance = NULL; ogs_sbi_nf_service_t *service = NULL; - /* Add SELF NF instance */ + /* Initialize SELF NF instance */ nf_instance = ogs_sbi_self()->nf_instance; ogs_assert(nf_instance); ogs_sbi_nf_fsm_init(nf_instance); @@ -104,18 +49,8 @@ /* Initialize NRF NF Instance */ nf_instance = ogs_sbi_self()->nrf_instance; - if (nf_instance) { - ogs_sbi_client_t *client = NULL; - - /* Client callback is only used when NF sends to NRF */ - client = nf_instance->client; - ogs_assert(client); - client->cb = client_cb; - - /* NFRegister is sent and the response is received - * by the above client callback. */ + if (nf_instance) ogs_sbi_nf_fsm_init(nf_instance); - } /* Build Subscription-Data */ ogs_sbi_subscription_data_build_default( @@ -131,7 +66,7 @@ ogs_sbi_subscription_data_build_default( OpenAPI_nf_type_NSSF, OGS_SBI_SERVICE_NAME_NNSSF_NSSELECTION); - if (ogs_sbi_server_start_all(server_cb) != OGS_OK) + if (ogs_sbi_server_start_all(ogs_sbi_server_handler) != OGS_OK) return OGS_ERROR; return OGS_OK; @@ -143,12 +78,12 @@ ogs_sbi_server_stop_all(); } -bool amf_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data) +bool amf_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact) { ogs_assert(nf_instance); - ogs_assert(data); - - return ogs_sbi_send_request(nf_instance, client_cb, data); + ogs_assert(xact); + return ogs_sbi_send_request_to_nf_instance(nf_instance, xact); } bool amf_ue_sbi_discover_and_send( @@ -174,7 +109,7 @@ return false; } - if (ogs_sbi_discover_and_send(xact, client_cb) != true) { + if (ogs_sbi_discover_and_send(xact) != true) { ogs_error("amf_ue_sbi_discover_and_send() failed"); ogs_sbi_xact_remove(xact); ogs_assert(OGS_OK == @@ -210,7 +145,7 @@ xact->state = state; - if (ogs_sbi_discover_and_send(xact, client_cb) != true) { + if (ogs_sbi_discover_and_send(xact) != true) { ogs_error("amf_sess_sbi_discover_and_send() failed"); ogs_sbi_xact_remove(xact); ogs_assert(OGS_OK == nas_5gs_send_back_gsm_message(sess, @@ -228,18 +163,19 @@ ogs_sbi_xact_t *xact = NULL; ogs_sbi_service_type_e service_type = OGS_SBI_SERVICE_TYPE_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; ogs_sbi_discovery_option_t *discovery_option = NULL; amf_ue_t *amf_ue = NULL; amf_sess_t *sess = NULL; - ogs_assert(response); - xact = data; ogs_assert(xact); xact = ogs_sbi_xact_cycle(xact); if (!xact) { ogs_error("SBI transaction has already been removed"); + if (response) + ogs_sbi_response_free(response); return OGS_ERROR; } @@ -247,12 +183,17 @@ ogs_assert(sess); service_type = xact->service_type; + ogs_assert(service_type); + requester_nf_type = xact->requester_nf_type; + ogs_assert(requester_nf_type); discovery_option = xact->discovery_option; sess = amf_sess_cycle(sess); if (!sess) { ogs_error("Session has already been removed"); ogs_sbi_xact_remove(xact); + if (response) + ogs_sbi_response_free(response); return OGS_ERROR; } @@ -268,6 +209,8 @@ return OGS_ERROR; } + ogs_assert(response); + rv = ogs_sbi_parse_response(&message, response); if (rv != OGS_OK) { ogs_error("cannot parse HTTP response"); @@ -293,9 +236,10 @@ goto cleanup; } - ogs_nnrf_handle_nf_discover_search_result(message.SearchResult); + ogs_nnrf_disc_handle_nf_discover_search_result(message.SearchResult); - amf_sbi_select_nf(&sess->sbi, service_type, discovery_option); + amf_sbi_select_nf(&sess->sbi, + service_type, requester_nf_type, discovery_option); if (!sess->sbi.service_type_arrayservice_type.nf_instance) { ogs_error("%s:%d (NF discover) No %s", @@ -314,6 +258,13 @@ amf_nsmf_pdusession_build_create_sm_context, sess, AMF_CREATE_SM_CONTEXT_NO_STATE, NULL); + ogs_sbi_xact_remove(xact); + + ogs_sbi_message_free(&message); + ogs_sbi_response_free(response); + + return OGS_OK; + cleanup: ogs_sbi_xact_remove(xact); @@ -347,7 +298,7 @@ sess->nssf.nrf.id, xact->service_type, xact->discovery_option); ogs_expect_or_return_val(xact->request, false); - return ogs_sbi_client_send_reqmem_persistent( + return ogs_sbi_client_send_request( client, client_discover_cb, xact->request, xact); } @@ -497,6 +448,7 @@ bool amf_sbi_send_n1_n2_failure_notify( amf_sess_t *sess, OpenAPI_n1_n2_message_transfer_cause_e cause) { + bool rc; ogs_sbi_request_t *request = NULL; ogs_sbi_client_t *client = NULL; @@ -508,5 +460,11 @@ request = amf_nsmf_callback_build_n1_n2_failure_notify(sess, cause); ogs_expect_or_return_val(request, false); - return ogs_sbi_client_send_request(client, client_notify_cb, request, NULL); + rc = ogs_sbi_send_request_to_client( + client, client_notify_cb, request, NULL); + ogs_expect(rc == true); + + ogs_sbi_request_free(request); + + return rc; }
View file
open5gs_2.4.11.tar.xz/src/amf/sbi-path.h -> open5gs_2.5.0.tar.xz/src/amf/sbi-path.h
Changed
@@ -34,7 +34,8 @@ int amf_sbi_open(void); void amf_sbi_close(void); -bool amf_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data); +bool amf_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact); bool amf_ue_sbi_discover_and_send( ogs_sbi_service_type_e service_type, ogs_sbi_discovery_option_t *discovery_option,
View file
open5gs_2.4.11.tar.xz/src/ausf/ausf-sm.c -> open5gs_2.5.0.tar.xz/src/ausf/ausf-sm.c
Changed
@@ -94,7 +94,7 @@ CASE(OGS_SBI_RESOURCE_NAME_NF_STATUS_NOTIFY) SWITCH(message.h.method) CASE(OGS_SBI_HTTP_METHOD_POST) - ogs_nnrf_handle_nf_status_notify(stream, &message); + ogs_nnrf_nfm_handle_nf_status_notify(stream, &message); break; DEFAULT @@ -215,7 +215,7 @@ CASE(OGS_SBI_HTTP_METHOD_POST) if (message.res_status == OGS_SBI_HTTP_STATUS_CREATED || message.res_status == OGS_SBI_HTTP_STATUS_OK) { - ogs_nnrf_handle_nf_status_subscribe( + ogs_nnrf_nfm_handle_nf_status_subscribe( subscription_data, &message); } else { ogs_error("%s HTTP response error %d",
View file
open5gs_2.4.11.tar.xz/src/ausf/event.h -> open5gs_2.5.0.tar.xz/src/ausf/event.h
Changed
@@ -34,6 +34,8 @@ ausf_ue_t *ausf_ue; } ausf_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(ausf_event_t)); + ausf_event_t *ausf_event_new(int id); const char *ausf_event_get_name(ausf_event_t *e);
View file
open5gs_2.4.11.tar.xz/src/ausf/nnrf-handler.c -> open5gs_2.5.0.tar.xz/src/ausf/nnrf-handler.c
Changed
@@ -29,6 +29,7 @@ ogs_sbi_discovery_option_t *discovery_option = NULL; OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; OpenAPI_search_result_t *SearchResult = NULL; ogs_assert(recvmsg); @@ -39,6 +40,8 @@ ogs_assert(service_type); target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); ogs_assert(target_nf_type); + requester_nf_type = xact->requester_nf_type; + ogs_assert(requester_nf_type); discovery_option = xact->discovery_option; @@ -48,13 +51,14 @@ return; } - ogs_nnrf_handle_nf_discover_search_result(SearchResult); + ogs_nnrf_disc_handle_nf_discover_search_result(SearchResult); nf_instance = ogs_sbi_nf_instance_find_by_discovery_param( - target_nf_type, discovery_option); + target_nf_type, requester_nf_type, discovery_option); if (!nf_instance) { - ogs_error("(NF discover) No %s", - ogs_sbi_service_type_to_name(service_type)); + ogs_error("(NF discover) No %s:%s", + ogs_sbi_service_type_to_name(service_type), + OpenAPI_nf_type_ToString(requester_nf_type)); return; }
View file
open5gs_2.4.11.tar.xz/src/ausf/nudm-build.c -> open5gs_2.5.0.tar.xz/src/ausf/nudm-build.c
Changed
@@ -43,9 +43,8 @@ AuthenticationInfoRequest.serving_network_name = ausf_ue->serving_network_name; - ogs_assert(ogs_sbi_self()->nf_instance); AuthenticationInfoRequest.ausf_instance_id = - ogs_sbi_self()->nf_instance->id; + NF_INSTANCE_ID(ogs_sbi_self()->nf_instance); if (data) { OpenAPI_resynchronization_info_t *recvinfo = data; @@ -61,7 +60,7 @@ message.AuthenticationInfoRequest = &AuthenticationInfoRequest; request = ogs_sbi_build_request(&message); - ogs_expect_or_return_val(request, NULL); + ogs_expect(request); return request; } @@ -84,13 +83,18 @@ message.h.resource.component1 = (char *)OGS_SBI_RESOURCE_NAME_AUTH_EVENTS; AuthEvent = ogs_calloc(1, sizeof(*AuthEvent)); - ogs_expect_or_return_val(AuthEvent, NULL); + if (!AuthEvent) { + ogs_error("No AuthEvent"); + goto end; + } AuthEvent->time_stamp = ogs_sbi_localtime_string(ogs_time_now()); - ogs_expect_or_return_val(AuthEvent->time_stamp, NULL); + if (!AuthEvent->time_stamp) { + ogs_error("No time_stamp"); + goto end; + } - ogs_assert(ogs_sbi_self()->nf_instance); - AuthEvent->nf_instance_id = ogs_sbi_self()->nf_instance->id; + AuthEvent->nf_instance_id = NF_INSTANCE_ID(ogs_sbi_self()->nf_instance); if (ausf_ue->auth_result == OpenAPI_auth_result_AUTHENTICATION_SUCCESS) AuthEvent->success = true; else @@ -101,11 +105,15 @@ message.AuthEvent = AuthEvent; request = ogs_sbi_build_request(&message); - ogs_expect_or_return_val(request, NULL); + ogs_expect(request); - if (AuthEvent->time_stamp) - ogs_free(AuthEvent->time_stamp); - ogs_free(AuthEvent); +end: + + if (AuthEvent) { + if (AuthEvent->time_stamp) + ogs_free(AuthEvent->time_stamp); + ogs_free(AuthEvent); + } return request; }
View file
open5gs_2.4.11.tar.xz/src/ausf/sbi-path.c -> open5gs_2.5.0.tar.xz/src/ausf/sbi-path.c
Changed
@@ -19,67 +19,12 @@ #include "sbi-path.h" -static int server_cb(ogs_sbi_request_t *request, void *data) -{ - ausf_event_t *e = NULL; - int rv; - - ogs_assert(request); - ogs_assert(data); - - e = ausf_event_new(OGS_EVENT_SBI_SERVER); - ogs_assert(e); - - e->h.sbi.request = request; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_request_free(request); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - -static int client_cb(int status, ogs_sbi_response_t *response, void *data) -{ - ausf_event_t *e = NULL; - int rv; - - if (status != OGS_OK) { - ogs_log_message( - status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0, - "client_cb() failed %d", status); - return OGS_ERROR; - } - - ogs_assert(response); - - e = ausf_event_new(OGS_EVENT_SBI_CLIENT); - ogs_assert(e); - e->h.sbi.response = response; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_response_free(response); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - int ausf_sbi_open(void) { ogs_sbi_nf_instance_t *nf_instance = NULL; ogs_sbi_nf_service_t *service = NULL; - /* Add SELF NF instance */ + /* Initialize SELF NF instance */ nf_instance = ogs_sbi_self()->nf_instance; ogs_assert(nf_instance); ogs_sbi_nf_fsm_init(nf_instance); @@ -101,24 +46,14 @@ /* Initialize NRF NF Instance */ nf_instance = ogs_sbi_self()->nrf_instance; - if (nf_instance) { - ogs_sbi_client_t *client = NULL; - - /* Client callback is only used when NF sends to NRF */ - client = nf_instance->client; - ogs_assert(client); - client->cb = client_cb; - - /* NFRegister is sent and the response is received - * by the above client callback. */ + if (nf_instance) ogs_sbi_nf_fsm_init(nf_instance); - } /* Build Subscription-Data */ ogs_sbi_subscription_data_build_default( OpenAPI_nf_type_UDM, OGS_SBI_SERVICE_NAME_NUDM_UEAU); - if (ogs_sbi_server_start_all(server_cb) != OGS_OK) + if (ogs_sbi_server_start_all(ogs_sbi_server_handler) != OGS_OK) return OGS_ERROR; return OGS_OK; @@ -130,11 +65,12 @@ ogs_sbi_server_stop_all(); } -bool ausf_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data) +bool ausf_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact) { ogs_assert(nf_instance); - - return ogs_sbi_send_request(nf_instance, client_cb, data); + ogs_assert(xact); + return ogs_sbi_send_request_to_nf_instance(nf_instance, xact); } bool ausf_sbi_discover_and_send( @@ -164,7 +100,7 @@ xact->assoc_stream = stream; - if (ogs_sbi_discover_and_send(xact, client_cb) != true) { + if (ogs_sbi_discover_and_send(xact) != true) { ogs_error("ausf_sbi_discover_and_send() failed"); ogs_sbi_xact_remove(xact); ogs_assert(true ==
View file
open5gs_2.4.11.tar.xz/src/ausf/sbi-path.h -> open5gs_2.5.0.tar.xz/src/ausf/sbi-path.h
Changed
@@ -29,7 +29,8 @@ int ausf_sbi_open(void); void ausf_sbi_close(void); -bool ausf_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data); +bool ausf_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact); bool ausf_sbi_discover_and_send( ogs_sbi_service_type_e service_type, ogs_sbi_discovery_option_t *discovery_option,
View file
open5gs_2.4.11.tar.xz/src/bsf/bsf-sm.c -> open5gs_2.5.0.tar.xz/src/bsf/bsf-sm.c
Changed
@@ -97,7 +97,7 @@ CASE(OGS_SBI_RESOURCE_NAME_NF_STATUS_NOTIFY) SWITCH(message.h.method) CASE(OGS_SBI_HTTP_METHOD_POST) - ogs_nnrf_handle_nf_status_notify(stream, &message); + ogs_nnrf_nfm_handle_nf_status_notify(stream, &message); break; DEFAULT @@ -237,7 +237,7 @@ CASE(OGS_SBI_HTTP_METHOD_POST) if (message.res_status == OGS_SBI_HTTP_STATUS_CREATED || message.res_status == OGS_SBI_HTTP_STATUS_OK) { - ogs_nnrf_handle_nf_status_subscribe( + ogs_nnrf_nfm_handle_nf_status_subscribe( subscription_data, &message); } else { ogs_error("HTTP response error : %d",
View file
open5gs_2.4.11.tar.xz/src/bsf/event.h -> open5gs_2.5.0.tar.xz/src/bsf/event.h
Changed
@@ -33,6 +33,8 @@ bsf_sess_t *sess; } bsf_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(bsf_event_t)); + bsf_event_t *bsf_event_new(int id); const char *bsf_event_get_name(bsf_event_t *e);
View file
open5gs_2.4.11.tar.xz/src/bsf/nnrf-handler.c -> open5gs_2.5.0.tar.xz/src/bsf/nnrf-handler.c
Changed
@@ -29,6 +29,7 @@ ogs_sbi_discovery_option_t *discovery_option = NULL; OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; OpenAPI_search_result_t *SearchResult = NULL; ogs_assert(recvmsg); @@ -39,6 +40,8 @@ ogs_assert(service_type); target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); ogs_assert(target_nf_type); + requester_nf_type = xact->requester_nf_type; + ogs_assert(requester_nf_type); discovery_option = xact->discovery_option; @@ -48,13 +51,14 @@ return; } - ogs_nnrf_handle_nf_discover_search_result(SearchResult); + ogs_nnrf_disc_handle_nf_discover_search_result(SearchResult); nf_instance = ogs_sbi_nf_instance_find_by_discovery_param( - target_nf_type, discovery_option); + target_nf_type, requester_nf_type, discovery_option); if (!nf_instance) { - ogs_error("(NF discover) No %s", - ogs_sbi_service_type_to_name(service_type)); + ogs_error("(NF discover) No %s:%s", + ogs_sbi_service_type_to_name(service_type), + OpenAPI_nf_type_ToString(requester_nf_type)); return; }
View file
open5gs_2.4.11.tar.xz/src/bsf/sbi-path.c -> open5gs_2.5.0.tar.xz/src/bsf/sbi-path.c
Changed
@@ -19,67 +19,12 @@ #include "sbi-path.h" -static int server_cb(ogs_sbi_request_t *request, void *data) -{ - bsf_event_t *e = NULL; - int rv; - - ogs_assert(request); - ogs_assert(data); - - e = bsf_event_new(OGS_EVENT_SBI_SERVER); - ogs_assert(e); - - e->h.sbi.request = request; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_request_free(request); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - -static int client_cb(int status, ogs_sbi_response_t *response, void *data) -{ - bsf_event_t *e = NULL; - int rv; - - if (status != OGS_OK) { - ogs_log_message( - status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0, - "client_cb() failed %d", status); - return OGS_ERROR; - } - - ogs_assert(response); - - e = bsf_event_new(OGS_EVENT_SBI_CLIENT); - ogs_assert(e); - e->h.sbi.response = response; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_response_free(response); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - int bsf_sbi_open(void) { ogs_sbi_nf_instance_t *nf_instance = NULL; ogs_sbi_nf_service_t *service = NULL; - /* Add SELF NF instance */ + /* Initialize SELF NF instance */ nf_instance = ogs_sbi_self()->nf_instance; ogs_assert(nf_instance); ogs_sbi_nf_fsm_init(nf_instance); @@ -103,20 +48,10 @@ /* Initialize NRF NF Instance */ nf_instance = ogs_sbi_self()->nrf_instance; - if (nf_instance) { - ogs_sbi_client_t *client = NULL; - - /* Client callback is only used when NF sends to NRF */ - client = nf_instance->client; - ogs_assert(client); - client->cb = client_cb; - - /* NFRegister is sent and the response is received - * by the above client callback. */ + if (nf_instance) ogs_sbi_nf_fsm_init(nf_instance); - } - if (ogs_sbi_server_start_all(server_cb) != OGS_OK) + if (ogs_sbi_server_start_all(ogs_sbi_server_handler) != OGS_OK) return OGS_ERROR; return OGS_OK; @@ -128,11 +63,12 @@ ogs_sbi_server_stop_all(); } -bool bsf_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data) +bool bsf_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact) { ogs_assert(nf_instance); - - return ogs_sbi_send_request(nf_instance, client_cb, data); + ogs_assert(xact); + return ogs_sbi_send_request_to_nf_instance(nf_instance, xact); } bool bsf_sbi_discover_and_send( @@ -162,7 +98,7 @@ xact->assoc_stream = stream; - if (ogs_sbi_discover_and_send(xact, client_cb) != true) { + if (ogs_sbi_discover_and_send(xact) != true) { ogs_error("bsf_sbi_discover_and_send() failed"); ogs_sbi_xact_remove(xact); ogs_assert(true ==
View file
open5gs_2.4.11.tar.xz/src/bsf/sbi-path.h -> open5gs_2.5.0.tar.xz/src/bsf/sbi-path.h
Changed
@@ -29,7 +29,8 @@ int bsf_sbi_open(void); void bsf_sbi_close(void); -bool bsf_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data); +bool bsf_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact); bool bsf_sbi_discover_and_send( ogs_sbi_service_type_e service_type, ogs_sbi_discovery_option_t *discovery_option,
View file
open5gs_2.4.11.tar.xz/src/hss/hss-context.c -> open5gs_2.5.0.tar.xz/src/hss/hss-context.c
Changed
@@ -1190,7 +1190,7 @@ int hss_handle_change_event(const bson_t *document) { - bson_iter_t iter, child1_iter, child2_iter, child3_iter; + bson_iter_t iter, child1_iter, child2_iter; char *utf8 = NULL; uint32_t length = 0; @@ -1201,8 +1201,13 @@ char *imsi_bcd; +#if BSON_MAJOR_VERSION >= 1 && BSON_MINOR_VERSION >= 7 char *as_json = bson_as_relaxed_extended_json(document, NULL); - ogs_debug("Got document: %s\n", as_json); + ogs_debug("Received change stream document: %s\n", as_json); + bson_free (as_json); +# else + ogs_debug("Received change stream document."); +#endif if (!bson_iter_init_find(&iter, document, "fullDocument")) { ogs_error("No 'imsi' field in this document."); return OGS_ERROR; @@ -1238,50 +1243,36 @@ "request_cancel_location") && BSON_ITER_HOLDS_BOOL(&child2_iter)) { send_clr_flag = (char *)bson_iter_bool(&child2_iter); - } else if (!strncmp(child2_key, "msisdn", - strlen("msisdn"))) { - int msisdn_count = 0; - bson_iter_recurse(&child2_iter, &child3_iter); - while (bson_iter_next(&child3_iter)) { - if (BSON_ITER_HOLDS_UTF8(&child3_iter)) { - msisdn_count++; - } - } - if (msisdn_count) { - send_idr_flag = true; - subdatamask = (subdatamask | - OGS_HSS_SUBDATA_MSISDN); - } else { - send_clr_flag = true; - } } else if (!strncmp(child2_key, "access_restriction_data", strlen("access_restriction_data"))) { send_idr_flag = true; - subdatamask = (subdatamask | OGS_HSS_SUBDATA_ARD); + subdatamask = (subdatamask | OGS_DIAM_S6A_SUBDATA_ARD); } else if (!strncmp(child2_key, "subscriber_status", strlen("subscriber_status"))) { send_idr_flag = true; subdatamask = (subdatamask | - OGS_HSS_SUBDATA_SUB_STATUS); + OGS_DIAM_S6A_SUBDATA_SUB_STATUS); } else if (!strncmp(child2_key, "network_access_mode", strlen("network_access_mode"))) { send_idr_flag = true; - subdatamask = (subdatamask | OGS_HSS_SUBDATA_NAM); + subdatamask = (subdatamask | OGS_DIAM_S6A_SUBDATA_NAM); } else if (!strncmp(child2_key, "ambr", strlen("ambr"))) { send_idr_flag = true; - subdatamask = (subdatamask | OGS_HSS_SUBDATA_UEAMBR); + subdatamask = (subdatamask | + OGS_DIAM_S6A_SUBDATA_UEAMBR); } else if (!strncmp(child2_key, "subscribed_rau_tau_timer", strlen("subscribed_rau_tau_timer"))) { send_idr_flag = true; subdatamask = (subdatamask | - OGS_HSS_SUBDATA_RAU_TAU_TIMER); + OGS_DIAM_S6A_SUBDATA_RAU_TAU_TIMER); } else if (!strncmp(child2_key, "slice", strlen("slice"))) { send_idr_flag = true; - subdatamask = (subdatamask | OGS_HSS_SUBDATA_SLICE); + subdatamask = (subdatamask | + OGS_DIAM_S6A_SUBDATA_APN_CONFIG); } } } @@ -1290,8 +1281,6 @@ ogs_debug("No 'updateDescription' field in this document"); } - bson_free (as_json); - if (send_clr_flag) { ogs_info("%s Cancel Location Requested", imsi_bcd); hss_s6a_send_clr(imsi_bcd, NULL, NULL,
View file
open5gs_2.4.11.tar.xz/src/hss/hss-s6a-path.c -> open5gs_2.5.0.tar.xz/src/hss/hss-s6a-path.c
Changed
@@ -314,7 +314,7 @@ int i; - if (subdatamask & OGS_HSS_SUBDATA_MSISDN) { + if (subdatamask & OGS_DIAM_S6A_SUBDATA_MSISDN) { /* * TS29.328 * 6.3.2 MSISDN AVP @@ -350,7 +350,7 @@ } } - if (subdatamask & OGS_HSS_SUBDATA_ARD) { + if (subdatamask & OGS_DIAM_S6A_SUBDATA_ARD) { if (subscription_data->access_restriction_data) { ret = fd_msg_avp_new(ogs_diam_s6a_access_restriction_data, 0, &avp_access_restriction_data); @@ -364,7 +364,7 @@ } } - if (subdatamask & OGS_HSS_SUBDATA_SUB_STATUS) { + if (subdatamask & OGS_DIAM_S6A_SUBDATA_SUB_STATUS) { ret = fd_msg_avp_new( ogs_diam_s6a_subscriber_status, 0, &avp_subscriber_status); ogs_assert(ret == 0); @@ -375,7 +375,7 @@ ogs_assert(ret == 0); } - if (subdatamask & OGS_HSS_SUBDATA_NAM) { + if (subdatamask & OGS_DIAM_S6A_SUBDATA_NAM) { ret = fd_msg_avp_new(ogs_diam_s6a_network_access_mode, 0, &avp_network_access_mode); ogs_assert(ret == 0); @@ -386,7 +386,7 @@ ogs_assert(ret == 0); } - if (subdatamask & OGS_HSS_SUBDATA_UEAMBR) { + if (subdatamask & OGS_DIAM_S6A_SUBDATA_UEAMBR) { /* Set the AMBR */ ret = fd_msg_avp_new(ogs_diam_s6a_ambr, 0, &avp_ambr); ogs_assert(ret == 0); @@ -412,7 +412,7 @@ ogs_assert(ret == 0); } - if (subdatamask & OGS_HSS_SUBDATA_RAU_TAU_TIMER) { + if (subdatamask & OGS_DIAM_S6A_SUBDATA_RAU_TAU_TIMER) { /* Set the Subscribed RAU TAU Timer */ ret = fd_msg_avp_new( ogs_diam_s6a_subscribed_rau_tau_timer, 0, &avp_rau_tau_timer); @@ -425,7 +425,7 @@ ogs_assert(ret == 0); } - if (subdatamask & OGS_HSS_SUBDATA_SLICE) { + if (subdatamask & OGS_DIAM_S6A_SUBDATA_APN_CONFIG) { /* For EPC, we'll use first Slice in Subscription */ if (subscription_data->num_of_slice) slice_data = &subscription_data->slice0; @@ -458,7 +458,7 @@ ogs_diam_s6a_all_apn_configuration_included_indicator, 0, &all_apn_configuration_included_indicator); ogs_assert(ret == 0); - val.i32 = 0; + val.i32 = OGS_ALL_APN_CONFIGURATIONS_INCLUDED; ret = fd_msg_avp_setvalue( all_apn_configuration_included_indicator, &val); ogs_assert(ret == 0); @@ -910,7 +910,7 @@ ret = fd_msg_avp_new(ogs_diam_s6a_subscription_data, 0, &avp); ogs_assert(ret == 0); rv = hss_s6a_avp_add_subscription_data(&subscription_data, - avp, OGS_HSS_SUBDATA_ALL); + avp, OGS_DIAM_S6A_SUBDATA_ALL); if (rv != OGS_OK) { result_code = OGS_DIAM_S6A_ERROR_UNKNOWN_EPS_SUBSCRIPTION; goto out;
View file
open5gs_2.4.11.tar.xz/src/hss/hss-s6a-path.h -> open5gs_2.5.0.tar.xz/src/hss/hss-s6a-path.h
Changed
@@ -26,16 +26,6 @@ extern "C" { #endif -#define OGS_HSS_SUBDATA_NO_UPDATE (0) -#define OGS_HSS_SUBDATA_MSISDN (1) -#define OGS_HSS_SUBDATA_ARD (1 << 1) -#define OGS_HSS_SUBDATA_SUB_STATUS (1 << 2) -#define OGS_HSS_SUBDATA_NAM (1 << 3) -#define OGS_HSS_SUBDATA_UEAMBR (1 << 4) -#define OGS_HSS_SUBDATA_RAU_TAU_TIMER (1 << 5) -#define OGS_HSS_SUBDATA_SLICE (1 << 6) -#define OGS_HSS_SUBDATA_ALL 0xFFFFFFFF - /* HSS Sends Cancel Location Request to MME */ void hss_s6a_send_clr(char *imsi_bcd, char *mme_host, char *mme_realm, uint32_t cancellation_type);
View file
open5gs_2.4.11.tar.xz/src/hss/hss-sm.c -> open5gs_2.5.0.tar.xz/src/hss/hss-sm.c
Changed
@@ -90,7 +90,7 @@ ogs_assert(e->dbi.document); hss_handle_change_event(e->dbi.document); - bson_destroy((bson_t*)e->dbi.document); + bson_destroy(e->dbi.document); break; default:
View file
open5gs_2.4.11.tar.xz/src/mme/emm-handler.c -> open5gs_2.5.0.tar.xz/src/mme/emm-handler.c
Changed
@@ -389,10 +389,10 @@ * * So, we will lose the MME_EPS_TYPE_DETACH_REQUEST_TO_UE. * - * We need more variable(nas_eps.detach_type) + * We need more variable(detach_type) * to keep Detach-Type whether UE-initiated or MME-initiaed. */ - mme_ue->nas_eps.type = mme_ue->nas_eps.detach_type = - MME_EPS_TYPE_DETACH_REQUEST_FROM_UE; + mme_ue->nas_eps.type = MME_EPS_TYPE_DETACH_REQUEST_FROM_UE; + mme_ue->detach_type = MME_DETACH_TYPE_REQUEST_FROM_UE; mme_ue->nas_eps.ksi = detach_type->nas_key_set_identifier; ogs_debug(" OGS_NAS_EPS TYPE%d KSI%d",
View file
open5gs_2.4.11.tar.xz/src/mme/mme-context.c -> open5gs_2.5.0.tar.xz/src/mme/mme-context.c
Changed
@@ -104,7 +104,7 @@ ogs_pool_init(&sgw_ue_pool, ogs_app()->max.ue); ogs_pool_init(&mme_sess_pool, ogs_app()->pool.sess); ogs_pool_init(&mme_bearer_pool, ogs_app()->pool.bearer); - ogs_pool_init(&self.m_tmsi, ogs_app()->max.ue); + ogs_pool_init(&self.m_tmsi, ogs_app()->max.ue*2); self.enb_addr_hash = ogs_hash_make(); ogs_assert(self.enb_addr_hash); @@ -1942,7 +1942,11 @@ ogs_assert(enb); ogs_pool_alloc(&enb_ue_pool, &enb_ue); - ogs_assert(enb_ue); + if (enb_ue == NULL) { + ogs_error("Could not allocate enb_ue context from pool"); + return NULL; + } + memset(enb_ue, 0, sizeof *enb_ue); enb_ue->t_s1_holding = ogs_timer_add( @@ -2266,7 +2270,11 @@ ogs_assert(enb); ogs_pool_alloc(&mme_ue_pool, &mme_ue); - ogs_assert(mme_ue); + if (mme_ue == NULL) { + ogs_error("Could not allocate mme_ue context from pool"); + return NULL; + } + memset(mme_ue, 0, sizeof *mme_ue); /* Add All Timers */ @@ -2698,7 +2706,7 @@ if (SESSION_CONTEXT_IS_AVAILABLE(old_mme_ue)) { ogs_warn("%s Trigger OLD Session Remove", mme_ue->imsi_bcd); mme_gtp_send_delete_all_sessions(old_mme_ue, - OGS_GTP_DELETE_UE_CONTEXT_REMOVE); + OGS_GTP_DELETE_UE_CONTEXT_REMOVE_PARTIAL); } } } @@ -3416,7 +3424,7 @@ int index = 0; ogs_trace("M-TMSI Pool try to generate..."); - for (i = 0; index < ogs_app()->max.ue; i++) { + for (i = 0; index < ogs_app()->max.ue*2; i++) { mme_m_tmsi_t *m_tmsi = NULL; int conflict = 0;
View file
open5gs_2.4.11.tar.xz/src/mme/mme-context.h -> open5gs_2.5.0.tar.xz/src/mme/mme-context.h
Changed
@@ -316,20 +316,25 @@ ogs_nas_eps_update_type_t update; ogs_nas_service_type_t service; ogs_nas_detach_type_t detach; - - /* 1. MME initiated detach request to the UE. - * (nas_eps.type = MME_EPS_TYPE_DETACH_REQUEST_TO_UE) - * 2. If UE is IDLE, Paging sent to the UE - * 3. If UE is wake-up, UE will send Server Request. - * (nas_eps.type = MME_EPS_TYPE_SERVICE_REQUEST) - * - * So, we will lose the MME_EPS_TYPE_DETACH_REQUEST_TO_UE. - * - * We need more variable(nas_eps.detach_type) - * to keep Detach-Type whether UE-initiated or MME-initiaed. */ - uint8_t detach_type; } nas_eps; + /* 1. MME initiated detach request to the UE. + * (nas_eps.type = MME_EPS_TYPE_DETACH_REQUEST_TO_UE) + * 2. If UE is IDLE, Paging sent to the UE + * 3. If UE is wake-up, UE will send Server Request. + * (nas_eps.type = MME_EPS_TYPE_SERVICE_REQUEST) + * + * So, we will lose the MME_EPS_TYPE_DETACH_REQUEST_TO_UE. + * + * We need more variable(detach_type) + * to keep Detach-Type whether UE-initiated or MME-initiaed. */ +#define MME_DETACH_TYPE_REQUEST_FROM_UE 1 +#define MME_DETACH_TYPE_MME_EXPLICIT 2 +#define MME_DETACH_TYPE_HSS_EXPLICIT 3 +#define MME_DETACH_TYPE_MME_IMPLICIT 4 +#define MME_DETACH_TYPE_HSS_IMPLICIT 5 + uint8_t detach_type; + /* UE identity */ #define MME_UE_HAVE_IMSI(__mME) \ ((__mME) && ((__mME)->imsi_len))
View file
open5gs_2.4.11.tar.xz/src/mme/mme-event.h -> open5gs_2.5.0.tar.xz/src/mme/mme-event.h
Changed
@@ -101,6 +101,8 @@ ogs_timer_t *timer; } mme_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(mme_event_t)); + void mme_event_term(void); mme_event_t *mme_event_new(mme_event_e id);
View file
open5gs_2.4.11.tar.xz/src/mme/mme-fd-path.c -> open5gs_2.5.0.tar.xz/src/mme/mme-fd-path.c
Changed
@@ -28,6 +28,11 @@ static struct session_handler *mme_s6a_reg = NULL; +/* s6a process Subscription-Data from avp */ +static int mme_s6a_subscription_data_from_avp(struct avp *avp, + ogs_subscription_data_t *subscription_data, + mme_ue_t *mme_ue, uint32_t *subdatamask); + struct sess_state { mme_ue_t *mme_ue; struct timespec ts; /* Time of sending the message */ @@ -41,6 +46,622 @@ ogs_free(sess_data); } +/* s6a process Subscription-Data from avp */ +static int mme_s6a_subscription_data_from_avp(struct avp *avp, + ogs_subscription_data_t *subscription_data, + mme_ue_t *mme_ue, uint32_t *subdatamask) +{ + int ret; + int error = 0; + char bufOGS_CHRGCHARS_LEN; + struct avp *avpch1, *avpch2, *avpch3, *avpch4, *avpch5; + struct avp_hdr *hdr; + ogs_sockaddr_t addr; + + ogs_assert(avp); + ogs_assert(subscription_data); + ogs_assert(mme_ue); + ogs_assert(subdatamask); + + /* AVP: 'MSISDN'( 701 ) + * The MSISDN AVP is of type OctetString. This AVP contains an MSISDN, + * in international number format as described in ITU-T Rec E.164 8, + * encoded as a TBCD-string, i.e. digits from 0 through 9 are encoded + * 0000 to 1001; 1111 is used as a filler when there is an odd number + * of digits; bits 8 to 5 of octet n encode digit 2n; bits 4 to 1 of + * octet n encode digit 2(n-1)+1. + * Reference: 3GPP TS 29.329 + */ + ret = fd_avp_search_avp(avp, ogs_diam_s6a_msisdn, &avpch1); + ogs_assert(ret == 0); + if (avpch1) { + ret = fd_msg_avp_hdr(avpch1, &hdr); + ogs_assert(ret == 0); + if (hdr->avp_value->os.data && hdr->avp_value->os.len) { + mme_ue->msisdn_len = hdr->avp_value->os.len; + memcpy(mme_ue->msisdn, hdr->avp_value->os.data, + ogs_min(mme_ue->msisdn_len, OGS_MAX_MSISDN_LEN)); + ogs_buffer_to_bcd(mme_ue->msisdn, + mme_ue->msisdn_len, mme_ue->msisdn_bcd); + *subdatamask = (*subdatamask | OGS_DIAM_S6A_SUBDATA_MSISDN); + } + } + + /* AVP: 'A-MSISDN'(1643) + * The A-MSISDN AVP contains an A-MSISDN, in international number + * format as described in ITU-T Rec E.164, encoded as a TBCD-string. + * This AVP shall not include leading indicators for the nature of + * address and the numbering plan; it shall contain only the + * TBCD-encoded digits of the address. + * Reference: 3GPP TS 29.272 7.3.157 + */ + ret = fd_avp_search_avp(avp, ogs_diam_s6a_a_msisdn, &avpch1); + ogs_assert(ret == 0); + if (avpch1) { + ret = fd_msg_avp_hdr(avpch1, &hdr); + ogs_assert(ret == 0); + if (hdr->avp_value->os.data && hdr->avp_value->os.len) { + mme_ue->a_msisdn_len = hdr->avp_value->os.len; + memcpy(mme_ue->a_msisdn, hdr->avp_value->os.data, + ogs_min(mme_ue->a_msisdn_len, OGS_MAX_MSISDN_LEN)); + ogs_buffer_to_bcd(mme_ue->a_msisdn, + mme_ue->a_msisdn_len, mme_ue->a_msisdn_bcd); + *subdatamask = (*subdatamask | OGS_DIAM_S6A_SUBDATA_A_MSISDN); + } + } + + /* AVP: 'Network-Access-Mode'(1417) + * The Network-Access-Mode AVP shall indicate one of three options + * through its value. + * (EPS-IMSI-COMBINED/RESERVED/EPS-ONLY) + * Reference: 3GPP TS 29.272 7.3.21 + */ + ret = fd_avp_search_avp(avp, ogs_diam_s6a_network_access_mode, &avpch1); + ogs_assert(ret == 0); + if (avpch1) { + ret = fd_msg_avp_hdr(avpch1, &hdr); + ogs_assert(ret == 0); + mme_ue->network_access_mode = hdr->avp_value->i32; + *subdatamask = (*subdatamask | OGS_DIAM_S6A_SUBDATA_NAM); + } + + /* AVP: '3GPP-Charging-Characteristics'(13) + * For GGSN, it contains the charging characteristics for + * this PDP Context received in the Create PDP Context + * Request Message (only available in R99 and later releases). + * For PGW, it contains the charging characteristics for the + * IP-CAN bearer. + * Reference: 3GPP TS 29.061 16.4.7.2 13 + */ + ret = fd_avp_search_avp(avp, ogs_diam_s6a_3gpp_charging_characteristics, + &avpch1); + ogs_assert(ret == 0); + if (avpch1) { + ret = fd_msg_avp_hdr(avpch1, &hdr); + memcpy(mme_ue->charging_characteristics, + OGS_HEX(hdr->avp_value->os.data, (int)hdr->avp_value->os.len, buf), + OGS_CHRGCHARS_LEN); + mme_ue->charging_characteristics_presence = true; + *subdatamask = (*subdatamask | OGS_DIAM_S6A_SUBDATA_CC); + } + + /* AVP: 'AMBR'(1435) + * The Amber AVP contains the Max-Requested-Bandwidth-UL and + * Max-Requested-Bandwidth-DL AVPs. + * Reference: 3GPP TS 29.272 7.3.41 + */ + ret = fd_avp_search_avp(avp, ogs_diam_s6a_ambr, &avpch1); + ogs_assert(ret == 0); + if (avpch1) { + /* AVP: 'Max-Requested-Bandwidth-UL'(516) + * The Max -Bandwidth-UL AVP indicates the maximum requested + * bandwidth in bits per second for an uplink IP flow. + * Reference: 3GPP TS 29.212 7.3.41 + */ + ret = fd_avp_search_avp(avpch1, + ogs_diam_s6a_max_bandwidth_ul, &avpch2); + ogs_assert(ret == 0); + if (avpch2) { + ret = fd_msg_avp_hdr(avpch2, &hdr); + ogs_assert(ret == 0); + subscription_data->ambr.uplink = hdr->avp_value->u32; + } else { + ogs_error("no_Max-Bandwidth-UL"); + error++; + } + + /* AVP: 'Max-Requested-Bandwidth-DL'(515) + * The Max-Requested-Bandwidth-DL AVP indicates the maximum + * bandwidth in bits per second for a downlink IP flow. + * Reference: 3GPP TS 29.212 7.3.41 + */ + ret = fd_avp_search_avp(avpch1, + ogs_diam_s6a_max_bandwidth_dl, &avpch2); + ogs_assert(ret == 0); + if (avpch2) { + ret = fd_msg_avp_hdr(avpch2, &hdr); + ogs_assert(ret == 0); + subscription_data->ambr.downlink = hdr->avp_value->u32; + } else { + ogs_error("no_Max-Bandwidth-DL"); + error++; + } + *subdatamask = (*subdatamask | OGS_DIAM_S6A_SUBDATA_UEAMBR); + } + + /* AVP: 'Subscribed-Periodic-RAU-TAU-Timer'(1619) + * The Subscribed-Periodic-TAU-RAU-Timer AVP contains the subscribed + * periodic TAU/RAU timer value in seconds. + * Reference: 3GPP TS 29.272 7.3.134 + */ + ret = fd_avp_search_avp(avp, + ogs_diam_s6a_subscribed_rau_tau_timer, &avpch1); + ogs_assert(ret == 0); + if (avpch1) { + ret = fd_msg_avp_hdr(avpch1, &hdr); + ogs_assert(ret == 0); + subscription_data->subscribed_rau_tau_timer = hdr->avp_value->i32; + *subdatamask = (*subdatamask | OGS_DIAM_S6A_SUBDATA_RAU_TAU_TIMER); + } + + /* AVP: 'APN-Configuration-Profile'(1429) + * The APN-Configuration-Profile AVP shall contain the information + * related to the user's subscribed APN configurations for EPS. The + * Context-Identifier AVP within it shall identify the per subscriber's + * default APN configuration. The Subscription-Data AVP associated + * with an IMSI contains one APN-Configuration-Profile AVP. Each + * APN-Configuration-Profile AVP contains one or more APN-Configuration + * AVPs. Each APN-Configuration AVP describes the configuration for a + * single APN. Therefore, the cardinality of the relationship between + * IMSI and APN is one-to-many. + * Reference: 3GPP TS 29.272 7.3.34 + */ + ret = fd_avp_search_avp(avp, + ogs_diam_s6a_apn_configuration_profile, &avpch1); + ogs_assert(ret == 0); + if (avpch1) { + ogs_slice_data_t *slice_data = NULL; + + ret = fd_msg_browse(avpch1, MSG_BRW_FIRST_CHILD, &avpch2, NULL); + ogs_assert(ret == 0); + + ogs_assert(subscription_data->num_of_slice == 0); + slice_data = &subscription_data->slice0; + while (avpch2) { + ret = fd_msg_avp_hdr(avpch2, &hdr); + ogs_assert(ret == 0); + switch(hdr->avp_code) { + + /* AVP: 'Context-Identifier'(1423) + * The Context-Identifier in the APN-Configuration AVP shall + * identify that APN configuration, and it shall not have a + * value of zero. Furthermore, the Context-Identifier in the + * APN-Configuration AVP shall uniquely identify the EPS APN + * configuration per subscription. + * Reference: 3GPP TS 29.272 7.3.35 + */ + case OGS_DIAM_S6A_AVP_CODE_CONTEXT_IDENTIFIER: + slice_data->context_identifier = hdr->avp_value->i32; + break; + + /* AVP: 'All-APN-Configurations-Included-Indicator'(1428) + * Reference: 3GPP TS 29.272 7.3.33 + */ + case OGS_DIAM_S6A_AVP_CODE_ALL_APN_CONFIG_INC_IND: + slice_data->all_apn_config_inc = hdr->avp_value->i32; + break; + + /* AVP: 'APN-Configuration'(1430) + * The APN-Configuration AVP contains the information + * related to the user's subscribed APN configurations. + * Reference: 3GPP TS 29.272 7.3.35 + */ + case OGS_DIAM_S6A_AVP_CODE_APN_CONFIGURATION: + { + ogs_session_t *session = NULL; + + if (slice_data->num_of_session >= OGS_MAX_NUM_OF_SESS) { + ogs_warn("Ignore max session count overflow %d>=%d", + slice_data->num_of_session, OGS_MAX_NUM_OF_SESS); + break; + } + session = &slice_data->sessionslice_data->num_of_session; + ogs_assert(session); + + /* AVP: 'Service-Selection'(493) + * The Service-Selection AVP is of type of UTF8String. This + * AVP shall contain either the APN Network Identifier + * (i.e. an APN without the Operator Identifier) per 3GPP + * TS 23.003 3, clauses 9.1 & 9.1.1, or this AVP shall + * contain the wild card value per 3GPP TS 23.003 3, + * clause 9.2.1, and 3GPP TS 23.008 30, clause 2.13.6). + * ((DNN/APN)) + * Reference: 3GPP TS 29.272 7.3.36 + */ + ret = fd_avp_search_avp( + avpch2, ogs_diam_service_selection, &avpch3); + ogs_assert(ret == 0); + if (avpch3) { + ret = fd_msg_avp_hdr(avpch3, &hdr); + session->name = ogs_strndup( + (char*)hdr->avp_value->os.data, + hdr->avp_value->os.len); + ogs_assert(session->name); + } else { + ogs_error("no_Service-Selection"); + error++; + } + + /* AVP: 'Context-Identifier'(1423) + * The Context-Identifier in the APN-Configuration AVP shall + * identify that APN configuration, and it shall not have a + * value of zero. Furthermore, the Context-Identifier in the + * APN-Configuration AVP shall uniquely identify the EPS APN + * configuration per subscription. + * Reference: 3GPP TS 29.272 7.3.27 + */ + ret = fd_avp_search_avp(avpch2, + ogs_diam_s6a_context_identifier, &avpch3); + ogs_assert(ret == 0); + if (avpch3) { + ret = fd_msg_avp_hdr(avpch3, &hdr); + session->context_identifier = hdr->avp_value->i32; + } else { + ogs_error("no_Context-Identifier"); + error++; + } + + /* AVP: 'PDN-Type'(1456) + * The PDN-Type AVP indicates the address type of PDN. + * ((IPv4/IPv6/IPv4v6)) + * Reference: 3GPP TS 29.272 7.3.62 + */ + ret = fd_avp_search_avp(avpch2, ogs_diam_s6a_pdn_type, + &avpch3); + ogs_assert(ret == 0); + if (avpch3) { + ret = fd_msg_avp_hdr(avpch3, &hdr); + session->session_type = + OGS_PDU_SESSION_TYPE_FROM_DIAMETER( + hdr->avp_value->i32); + } else { + ogs_error("no_PDN-Type"); + error++; + } + + /* AVP: '3GPP-Charging-Characteristics'(13) + * For GGSN, it contains the charging characteristics for + * this PDP Context received in the Create PDP Context + * Request Message (only available in R99 and later releases). + * For PGW, it contains the charging characteristics for the + * IP-CAN bearer. + * Reference: 3GPP TS 29.061 16.4.7.2 13 + */ + ret = fd_avp_search_avp(avpch2, + ogs_diam_s6a_3gpp_charging_characteristics, &avpch3); + ogs_assert(ret == 0); + if (avpch3) { + ret = fd_msg_avp_hdr(avpch3, &hdr); + memcpy(session->charging_characteristics, + OGS_HEX(hdr->avp_value->os.data, + (int)hdr->avp_value->os.len, buf), + OGS_CHRGCHARS_LEN); + session->charging_characteristics_presence = true; + } else { + memcpy(session->charging_characteristics, + (uint8_t *)"\x00\x00", OGS_CHRGCHARS_LEN); + session->charging_characteristics_presence = false; + } + + /* AVP: 'Served-Party-IP-Address'(848) + * The Served-Party-IP-Address AVP holds the IP address of + * either the calling or called party, depending on whether + * the P-CSCF is in touch with the calling or the called + * party. + * ((UE IP STATIC ADDRESS)) + * Reference: 32-299-f10 + */ + ret = fd_msg_browse(avpch2, MSG_BRW_FIRST_CHILD, + &avpch3, NULL); + ogs_assert(ret == 0); + while (avpch3) { + ret = fd_msg_avp_hdr(avpch3, &hdr); + ogs_assert(ret == 0); + switch(hdr->avp_code) { + case OGS_DIAM_S6A_AVP_CODE_SERVED_PARTY_IP_ADDRESS: + ret = fd_msg_avp_value_interpret(avpch3, &addr.sa); + ogs_assert(ret == 0); + + if (addr.ogs_sa_family == AF_INET) { + if (session->session_type == + OGS_PDU_SESSION_TYPE_IPV4) { + session->paa.addr = + addr.sin.sin_addr.s_addr; + } else if (session->session_type == + OGS_PDU_SESSION_TYPE_IPV4V6) { + session->paa.both.addr = + addr.sin.sin_addr.s_addr; + } else { + ogs_error("Warning: Received a static IPv4 " + "address but PDN-Type does not include " + "IPv4. Ignoring..."); + } + } else if (addr.ogs_sa_family == AF_INET6) { + if (session->session_type == + OGS_PDU_SESSION_TYPE_IPV6) { + memcpy(session->paa.addr6, + addr.sin6.sin6_addr.s6_addr, + OGS_IPV6_LEN); + } else if (session->session_type == + OGS_PDU_SESSION_TYPE_IPV4V6) { + memcpy(session->paa.both.addr6, + addr.sin6.sin6_addr.s6_addr, + OGS_IPV6_LEN); + } else { + ogs_error("Warning: Received a static IPv6 " + "address but PDN-Type does not include " + "IPv6. Ignoring..."); + } + } else { + ogs_error("Invalid family%d", + addr.ogs_sa_family); + } + break; + default: + break; + } + fd_msg_browse(avpch3, MSG_BRW_NEXT, &avpch3, NULL); + } + + /* AVP: 'EPS-Subscribed-QoS-Profile'(1431) + * The EPS-Subscribed-QoS-Profile AVP shall contain the + * bearer-level QoS parameters (QoS Class Identifier and + * Allocation Retention Priority) associated to the + * default bearer for an APN. + * Reference: 3GPP TS 29.272 7.3.37 + */ + ret = fd_avp_search_avp(avpch2, + ogs_diam_s6a_eps_subscribed_qos_profile, &avpch3); + ogs_assert(ret == 0); + if (avpch3) { + + /* AVP: 'QoS-Class-Identifier'(1028) + * The QoS-Class-Identifier AVP identifies a set of + * IP-CAN specific QoS parameters that define the + * authorized QoS, excluding the applicable bitrates + * and ARP for the IP-CAN bearer or service flow. + * Reference: 3GPP TS 29.212 7.3.37 + */ + ret = fd_avp_search_avp(avpch3, + ogs_diam_s6a_qos_class_identifier, &avpch4); + ogs_assert(ret == 0); + if (avpch4) { + ret = fd_msg_avp_hdr(avpch4, &hdr); + ogs_assert(ret == 0); + session->qos.index = hdr->avp_value->i32; + } else { + ogs_error("no_QoS-Class-Identifier"); + error++; + } + + /* AVP: 'Allocation-Retention-Priority'(1034) + * The Allocation-Retention-Priority AVP is used to + * indicate the priority of allocation and retention, + * the pre-emption capability and pre-emption + * vulnerability for the SDF if provided within the + * QoS-Information-AVP or for the EPS default bearer if + * provided within the Default-EPS-Bearer-QoS AVP. + * Reference: 3GPP TS 29.212 7.3.40 + */ + ret = fd_avp_search_avp(avpch3, + ogs_diam_s6a_allocation_retention_priority, + &avpch4); + ogs_assert(ret == 0); + if (avpch4) { + + /* AVP: 'Priority-Level'(1046) + * The Priority-Level AVP is used for deciding + * whether a bearer establishment or modification + * request can be accepted or needs to be rejected + * in case of resource limitations. + * Reference: 3GPP TS 29.212 7.3.40 + */ + ret = fd_avp_search_avp(avpch4, + ogs_diam_s6a_priority_level, &avpch5); + ogs_assert(ret == 0); + if (avpch5) { + ret = fd_msg_avp_hdr(avpch5, &hdr); + ogs_assert(ret == 0); + session->qos.arp.priority_level = + hdr->avp_value->i32; + } else { + ogs_error("no_ARP"); + error++; + } + + /* AVP: 'Pre-emption-Capability'(1047) + * The Pre-emption-Capability AVP defines whether a + * service data flow can get resources that were + * already assigned to another service data flow + * with a lower priority level. + * Reference: 3GPP TS 29.212 7.3.40 + */ + ret = fd_avp_search_avp(avpch4, + ogs_diam_s6a_pre_emption_capability, &avpch5); + ogs_assert(ret == 0); + if (avpch5) { + ret = fd_msg_avp_hdr(avpch5, &hdr); + ogs_assert(ret == 0); + session->qos.arp.pre_emption_capability = + hdr->avp_value->i32; + } else { + session->qos.arp.pre_emption_capability = + OGS_EPC_PRE_EMPTION_DISABLED; + } + + /* AVP: 'Pre-emption-Vulnerability'(1048) + * The Pre-emption-Vulnerability AVP defines whether + * a service data flow can lose the resources + * assigned to it in order to admit a service data + * flow with higher priority level. + * Reference: 3GPP TS 29.212 7.3.40 + */ + ret = fd_avp_search_avp(avpch4, + ogs_diam_s6a_pre_emption_vulnerability, + &avpch5); + ogs_assert(ret == 0); + if (avpch5) { + ret = fd_msg_avp_hdr(avpch5, &hdr); + ogs_assert(ret == 0); + session->qos.arp.pre_emption_vulnerability = + hdr->avp_value->i32; + } else { + session->qos.arp.pre_emption_vulnerability = + OGS_EPC_PRE_EMPTION_ENABLED; + } + + } else { + ogs_error("no_QCI"); + error++; + } + } else { + ogs_error("no_EPS-Subscribed-QoS-Profile"); + error++; + } + + /* AVP: 'MIP6-Agent-Info'(486) + * The MIP6-Agent-Info AVP contains necessary information + * to assign an HA to the MN. When the MIP6-Agent-Info AVP + * is present in a message, it MUST contain either the + * MIP-Home-Agent-Address AVP, the MIP-Home-Agent-Host AVP, + * or both AVPs. + * Reference: 3GPP TS 29.212 7.3.45 + */ + ret = fd_avp_search_avp(avpch2, + ogs_diam_mip6_agent_info, &avpch3); + ogs_assert(ret == 0); + if (avpch3) { + + /* AVP: 'MIP-Home-Agent-Address'(334) + * The MIP-Home-Agent-Host AVP contains the identity of + * the assigned MIPv6 HA. Both the Destination-Realm and + * the Destination-Host AVPs of the HA are included in + * the grouped AVP. The usage of the MIP-Home-Agent-Host + * AVP is equivalent to the MIP-Home-Agent-Address AVP + * but offers an additional level of indirection by + * using the DNS infrastructure. The Destination-Host + * AVP is used to identify an HA, and the Destination- + * Realm AVP is used to identify the realm where the HA + * is located. + * ((SMF IP STATIC ADDRESS)) + * Reference: 3GPP TS 29.212 7.3.42 + */ + ret = fd_msg_browse(avpch3, + MSG_BRW_FIRST_CHILD, &avpch4, NULL); + ogs_assert(ret == 0); + while (avpch4) { + ret = fd_msg_avp_hdr(avpch4, &hdr); + switch(hdr->avp_code) { + case OGS_DIAM_S6A_AVP_CODE_MIP_HOME_AGENT_ADDRESS: + ret = fd_msg_avp_value_interpret(avpch4, + &addr.sa); + ogs_assert(ret == 0); + if (addr.ogs_sa_family == AF_INET) + { + session->smf_ip.ipv4 = 1; + session->smf_ip.addr = + addr.sin.sin_addr.s_addr; + } + else if (addr.ogs_sa_family == AF_INET6) + { + session->smf_ip.ipv6 = 1; + memcpy(session->smf_ip.addr6, + addr.sin6.sin6_addr.s6_addr, + OGS_IPV6_LEN); + } + else + { + ogs_error("Invald family:%d", + addr.ogs_sa_family); + error++; + } + break; + default: + ogs_error("Unknown AVP-Code:%d", + hdr->avp_code); + error++; + break; + } + fd_msg_browse(avpch4, MSG_BRW_NEXT, + &avpch4, NULL); + } + } + + /* AVP: 'AMBR'(1435) + * The Amber AVP contains the Max-Requested-Bandwidth-UL + * and Max-Requested-Bandwidth-DL AVPs. + * Reference: 3GPP TS 29.272 7.3.41 + */ + ret = fd_avp_search_avp(avpch2, ogs_diam_s6a_ambr, &avpch3); + ogs_assert(ret == 0); + if (avpch3) { + + /* AVP: 'Max-Requested-Bandwidth-UL'(516) + * The Max -Bandwidth-UL AVP indicates the maximum + * requested bandwidth in bits per second for an uplink + * IP flow. + * Reference: 3GPP TS 29.214 7.3.41 + */ + ret = fd_avp_search_avp(avpch3, + ogs_diam_s6a_max_bandwidth_ul, &avpch4); + ogs_assert(ret == 0); + if (avpch4) { + ret = fd_msg_avp_hdr(avpch4, &hdr); + ogs_assert(ret == 0); + session->ambr.uplink = hdr->avp_value->u32; + } else { + ogs_error("no_Max-Bandwidth-UL"); + error++; + } + + /* AVP: 'Max-Requested-Bandwidth-DL'(515) + * The Max-Requested-Bandwidth-DL AVP indicates the + * maximum bandwidth in bits per second for a downlink + * IP flow. + * Reference: 3GPP TS 29.214 7.3.41 + */ + ret = fd_avp_search_avp(avpch3, + ogs_diam_s6a_max_bandwidth_dl, &avpch4); + ogs_assert(ret == 0); + if (avpch4) { + ret = fd_msg_avp_hdr(avpch4, &hdr); + ogs_assert(ret == 0); + session->ambr.downlink = hdr->avp_value->u32; + } else { + ogs_error("no_Max-Bandwidth-DL"); + error++; + } + } + + slice_data->num_of_session++; + break; + } + default: + ogs_warn("Unknown AVP-code:%d", hdr->avp_code); + break; + } + + fd_msg_browse(avpch2, MSG_BRW_NEXT, &avpch2, NULL); + } + + if (slice_data->num_of_session) + subscription_data->num_of_slice = 1; + *subdatamask = (*subdatamask | OGS_DIAM_S6A_SUBDATA_APN_CONFIG); + } + + return error; +} + /* MME Sends Authentication Information Request to HSS */ void mme_s6a_send_air(mme_ue_t *mme_ue, ogs_nas_authentication_failure_parameter_t @@ -599,18 +1220,14 @@ { int ret; - char bufOGS_CHRGCHARS_LEN; - struct sess_state *sess_data = NULL; struct timespec ts; struct session *session; struct avp *avp, *avpch; - struct avp *avpch1, *avpch2, *avpch3, *avpch4, *avpch5; struct avp_hdr *hdr; unsigned long dur; int error = 0; int new; - ogs_sockaddr_t addr; mme_event_t *e = NULL; mme_ue_t *mme_ue = NULL; @@ -636,7 +1253,7 @@ mme_ue = sess_data->mme_ue; ogs_assert(mme_ue); - /* Set Authentication-Information Command */ + /* Set Update-Location Command */ s6a_message = ogs_calloc(1, sizeof(ogs_diam_s6a_message_t)); ogs_assert(s6a_message); s6a_message->cmd_code = OGS_DIAM_S6A_CMD_CODE_UPDATE_LOCATION; @@ -740,603 +1357,29 @@ ret = fd_msg_search_avp(*msg, ogs_diam_s6a_subscription_data, &avp); ogs_assert(ret == 0); if (avp) { + uint32_t subdatamask = 0; + ret = mme_s6a_subscription_data_from_avp(avp, subscription_data, mme_ue, + &subdatamask); - /* AVP: 'MSISDN'( 701 ) - * The MSISDN AVP is of type OctetString. This AVP contains an MSISDN, - * in international number format as described in ITU-T Rec E.164 8, - * encoded as a TBCD-string, i.e. digits from 0 through 9 are encoded - * 0000 to 1001; 1111 is used as a filler when there is an odd number - * of digits; bits 8 to 5 of octet n encode digit 2n; bits 4 to 1 of - * octet n encode digit 2(n-1)+1. - * Reference: 3GPP TS 29.329 - */ - ret = fd_avp_search_avp(avp, ogs_diam_s6a_msisdn, &avpch1); - ogs_assert(ret == 0); - if (avpch1) { - ret = fd_msg_avp_hdr(avpch1, &hdr); - ogs_assert(ret == 0); - if (hdr->avp_value->os.data && hdr->avp_value->os.len) { - mme_ue->msisdn_len = hdr->avp_value->os.len; - memcpy(mme_ue->msisdn, hdr->avp_value->os.data, - ogs_min(mme_ue->msisdn_len, OGS_MAX_MSISDN_LEN)); - ogs_buffer_to_bcd(mme_ue->msisdn, - mme_ue->msisdn_len, mme_ue->msisdn_bcd); - } - } - - /* AVP: 'A-MSISDN'(1643) - * The A-MSISDN AVP contains an A-MSISDN, in international number - * format as described in ITU-T Rec E.164, encoded as a TBCD-string. - * This AVP shall not include leading indicators for the nature of - * address and the numbering plan; it shall contain only the - * TBCD-encoded digits of the address. - * Reference: 3GPP TS 29.272 7.3.157 - */ - ret = fd_avp_search_avp(avp, ogs_diam_s6a_a_msisdn, &avpch1); - ogs_assert(ret == 0); - if (avpch1) { - ret = fd_msg_avp_hdr(avpch1, &hdr); - ogs_assert(ret == 0); - if (hdr->avp_value->os.data && hdr->avp_value->os.len) { - mme_ue->a_msisdn_len = hdr->avp_value->os.len; - memcpy(mme_ue->a_msisdn, hdr->avp_value->os.data, - ogs_min(mme_ue->a_msisdn_len, OGS_MAX_MSISDN_LEN)); - ogs_buffer_to_bcd(mme_ue->a_msisdn, - mme_ue->a_msisdn_len, mme_ue->a_msisdn_bcd); - } - } - - /* AVP: 'Network-Access-Mode'(1417) - * The Network-Access-Mode AVP shall indicate one of three options - * through its value. - * (EPS-IMSI-COMBINED/RESERVED/EPS-ONLY) - * Reference: 3GPP TS 29.272 7.3.21 - */ - ret = fd_avp_search_avp(avp, ogs_diam_s6a_network_access_mode, &avpch1); - ogs_assert(ret == 0); - if (avpch1) { - ret = fd_msg_avp_hdr(avpch1, &hdr); - ogs_assert(ret == 0); - mme_ue->network_access_mode = hdr->avp_value->i32; - } else { + if (!(subdatamask & OGS_DIAM_S6A_SUBDATA_NAM)) { mme_ue->network_access_mode = 0; - ogs_warn("no subscribed Network-Access-Mode, defaulting to PACKET_AND_CIRCUIT (0)"); + ogs_warn("no subscribed Network-Access-Mode, defaulting to " + "PACKET_AND_CIRCUIT (0)"); } - - /* AVP: '3GPP-Charging-Characteristics'(13) - * For GGSN, it contains the charging characteristics for - * this PDP Context received in the Create PDP Context - * Request Message (only available in R99 and later releases). - * For PGW, it contains the charging characteristics for the - * IP-CAN bearer. - * Reference: 3GPP TS 29.061 16.4.7.2 13 - */ - ret = fd_avp_search_avp(avp, ogs_diam_s6a_3gpp_charging_characteristics, &avpch1); - ogs_assert(ret == 0); - if (avpch1) { - ret = fd_msg_avp_hdr(avpch1, &hdr); - memcpy(mme_ue->charging_characteristics, - OGS_HEX(hdr->avp_value->os.data, (int)hdr->avp_value->os.len, buf), OGS_CHRGCHARS_LEN); - mme_ue->charging_characteristics_presence = true; - } else { - memcpy(mme_ue->charging_characteristics, (uint8_t *)"\x00\x00", OGS_CHRGCHARS_LEN); + if (!(subdatamask & OGS_DIAM_S6A_SUBDATA_CC)) { + memcpy(mme_ue->charging_characteristics, (uint8_t *)"\x00\x00", + OGS_CHRGCHARS_LEN); mme_ue->charging_characteristics_presence = false; - } - - /* AVP: 'AMBR'(1435) - * The Amber AVP contains the Max-Requested-Bandwidth-UL and - * Max-Requested-Bandwidth-DL AVPs. - * Reference: 3GPP TS 29.272 7.3.41 - */ - ret = fd_avp_search_avp(avp, ogs_diam_s6a_ambr, &avpch1); - ogs_assert(ret == 0); - if (avpch1) { - - /* AVP: 'Max-Requested-Bandwidth-UL'(516) - * The Max -Bandwidth-UL AVP indicates the maximum requested - * bandwidth in bits per second for an uplink IP flow. - * Reference: 3GPP TS 29.212 7.3.41 - */ - ret = fd_avp_search_avp(avpch1, - ogs_diam_s6a_max_bandwidth_ul, &avpch2); - ogs_assert(ret == 0); - if (avpch2) { - ret = fd_msg_avp_hdr(avpch2, &hdr); - ogs_assert(ret == 0); - subscription_data->ambr.uplink = hdr->avp_value->u32; - } else { - ogs_error("no_Max-Bandwidth-UL"); - error++; - } - - /* AVP: 'Max-Requested-Bandwidth-DL'(515) - * The Max-Requested-Bandwidth-DL AVP indicates the maximum - * bandwidth in bits per second for a downlink IP flow. - * Reference: 3GPP TS 29.212 7.3.41 - */ - ret = fd_avp_search_avp(avpch1, - ogs_diam_s6a_max_bandwidth_dl, &avpch2); - ogs_assert(ret == 0); - if (avpch2) { - ret = fd_msg_avp_hdr(avpch2, &hdr); - ogs_assert(ret == 0); - subscription_data->ambr.downlink = hdr->avp_value->u32; - } else { - ogs_error("no_Max-Bandwidth-DL"); - error++; - } - - } else { + } + if (!(subdatamask & OGS_DIAM_S6A_SUBDATA_UEAMBR)) { ogs_error("no_AMBR"); error++; } - - /* AVP: 'Subscribed-Periodic-RAU-TAU-Timer'(1619) - * The Subscribed-Periodic-TAU-RAU-Timer AVP contains the subscribed - * periodic TAU/RAU timer value in seconds. - * Reference: 3GPP TS 29.272 7.3.134 - */ - ret = fd_avp_search_avp(avp, - ogs_diam_s6a_subscribed_rau_tau_timer, &avpch1); - ogs_assert(ret == 0); - if (avpch1) { - ret = fd_msg_avp_hdr(avpch1, &hdr); - ogs_assert(ret == 0); - subscription_data->subscribed_rau_tau_timer = hdr->avp_value->i32; - } else { + if (!(subdatamask & OGS_DIAM_S6A_SUBDATA_RAU_TAU_TIMER)) { subscription_data->subscribed_rau_tau_timer = OGS_RAU_TAU_DEFAULT_TIME; } - - /* AVP: 'APN-Configuration-Profile'(1429) - * The APN-Configuration-Profile AVP shall contain the information - * related to the user's subscribed APN configurations for EPS. The - * Context-Identifier AVP within it shall identify the per subscriber's - * default APN configuration. The Subscription-Data AVP associated - * with an IMSI contains one APN-Configuration-Profile AVP. Each - * APN-Configuration-Profile AVP contains one or more APN-Configuration - * AVPs. Each APN-Configuration AVP describes the configuration for a - * single APN. Therefore, the cardinality of the relationship between - * IMSI and APN is one-to-many. - * Reference: 3GPP TS 29.272 7.3.34 - */ - ret = fd_avp_search_avp(avp, - ogs_diam_s6a_apn_configuration_profile, &avpch1); - ogs_assert(ret == 0); - if (avpch1) { - ogs_slice_data_t *slice_data = NULL; - - ret = fd_msg_browse(avpch1, MSG_BRW_FIRST_CHILD, &avpch2, NULL); - ogs_assert(ret == 0); - - ogs_assert(subscription_data->num_of_slice == 0); - slice_data = &subscription_data->slice0; - while (avpch2) { - ret = fd_msg_avp_hdr(avpch2, &hdr); - ogs_assert(ret == 0); - switch(hdr->avp_code) { - - /* AVP: 'Context-Identifier'(1423) - * The Context-Identifier in the APN-Configuration AVP shall - * identify that APN configuration, and it shall not have a - * value of zero. Furthermore, the Context-Identifier in the - * APN-Configuration AVP shall uniquely identify the EPS APN - * configuration per subscription. - * Reference: 3GPP TS 29.272 7.3.35 - */ - case OGS_DIAM_S6A_AVP_CODE_CONTEXT_IDENTIFIER: - slice_data->context_identifier = hdr->avp_value->i32; - break; - - /* AVP: 'All-APN-Configurations-Included-Indicator'(1428) - * Reference: 3GPP TS 29.272 7.3.33 - */ - case OGS_DIAM_S6A_AVP_CODE_ALL_APN_CONFIG_INC_IND: - break; - - /* AVP: 'APN-Configuration'(1430) - * The APN-Configuration AVP contains the information - * related to the user's subscribed APN configurations. - * Reference: 3GPP TS 29.272 7.3.35 - */ - case OGS_DIAM_S6A_AVP_CODE_APN_CONFIGURATION: - { - ogs_session_t *session = NULL; - - if (slice_data->num_of_session >= OGS_MAX_NUM_OF_SESS) { - ogs_warn("Ignore max session count overflow %d>=%d", - slice_data->num_of_session, OGS_MAX_NUM_OF_SESS); - break; - } - session = &slice_data->sessionslice_data->num_of_session; - ogs_assert(session); - - /* AVP: 'Service-Selection'(493) - * The Service-Selection AVP is of type of UTF8String. This - * AVP shall contain either the APN Network Identifier - * (i.e. an APN without the Operator Identifier) per 3GPP - * TS 23.003 3, clauses 9.1 & 9.1.1, or this AVP shall - * contain the wild card value per 3GPP TS 23.003 3, - * clause 9.2.1, and 3GPP TS 23.008 30, clause 2.13.6). - * ((DNN/APN)) - * Reference: 3GPP TS 29.272 7.3.36 - */ - ret = fd_avp_search_avp( - avpch2, ogs_diam_service_selection, &avpch3); - ogs_assert(ret == 0); - if (avpch3) { - ret = fd_msg_avp_hdr(avpch3, &hdr); - session->name = ogs_strndup( - (char*)hdr->avp_value->os.data, - hdr->avp_value->os.len); - ogs_assert(session->name); - } else { - ogs_error("no_Service-Selection"); - error++; - } - - /* AVP: 'Context-Identifier'(1423) - * The Context-Identifier in the APN-Configuration AVP shall - * identify that APN configuration, and it shall not have a - * value of zero. Furthermore, the Context-Identifier in the - * APN-Configuration AVP shall uniquely identify the EPS APN - * configuration per subscription. - * Reference: 3GPP TS 29.272 7.3.27 - */ - ret = fd_avp_search_avp(avpch2, - ogs_diam_s6a_context_identifier, &avpch3); - ogs_assert(ret == 0); - if (avpch3) { - ret = fd_msg_avp_hdr(avpch3, &hdr); - session->context_identifier = hdr->avp_value->i32; - } else { - ogs_error("no_Context-Identifier"); - error++; - } - - /* AVP: 'PDN-Type'(1456) - * The PDN-Type AVP indicates the address type of PDN. - * ((IPv4/IPv6/IPv4v6)) - * Reference: 3GPP TS 29.272 7.3.62 - */ - ret = fd_avp_search_avp(avpch2, ogs_diam_s6a_pdn_type, - &avpch3); - ogs_assert(ret == 0); - if (avpch3) { - ret = fd_msg_avp_hdr(avpch3, &hdr); - session->session_type = - OGS_PDU_SESSION_TYPE_FROM_DIAMETER( - hdr->avp_value->i32); - } else { - ogs_error("no_PDN-Type"); - error++; - } - - /* AVP: '3GPP-Charging-Characteristics'(13) - * For GGSN, it contains the charging characteristics for - * this PDP Context received in the Create PDP Context - * Request Message (only available in R99 and later releases). - * For PGW, it contains the charging characteristics for the - * IP-CAN bearer. - * Reference: 3GPP TS 29.061 16.4.7.2 13 - */ - ret = fd_avp_search_avp(avpch2, ogs_diam_s6a_3gpp_charging_characteristics, - &avpch3); - ogs_assert(ret == 0); - if (avpch3) { - ret = fd_msg_avp_hdr(avpch3, &hdr); - memcpy(session->charging_characteristics, - OGS_HEX(hdr->avp_value->os.data, (int)hdr->avp_value->os.len, buf), OGS_CHRGCHARS_LEN); - session->charging_characteristics_presence = true; - } else { - memcpy(session->charging_characteristics, (uint8_t *)"\x00\x00", OGS_CHRGCHARS_LEN); - session->charging_characteristics_presence = false; - } - - /* AVP: 'Served-Party-IP-Address'(848) - * The Served-Party-IP-Address AVP holds the IP address of - * either the calling or called party, depending on whether - * the P-CSCF is in touch with the calling or the called - * party. - * ((UE IP STATIC ADDRESS)) - * Reference: 32-299-f10 - */ - ret = fd_msg_browse(avpch2, MSG_BRW_FIRST_CHILD, - &avpch3, NULL); - ogs_assert(ret == 0); - while (avpch3) { - ret = fd_msg_avp_hdr(avpch3, &hdr); - ogs_assert(ret == 0); - switch(hdr->avp_code) { - case OGS_DIAM_S6A_AVP_CODE_SERVED_PARTY_IP_ADDRESS: - ret = fd_msg_avp_value_interpret(avpch3, &addr.sa); - ogs_assert(ret == 0); - - if (addr.ogs_sa_family == AF_INET) { - if (session->session_type == - OGS_PDU_SESSION_TYPE_IPV4) { - session->paa.addr = - addr.sin.sin_addr.s_addr; - } else if (session->session_type == - OGS_PDU_SESSION_TYPE_IPV4V6) { - session->paa.both.addr = - addr.sin.sin_addr.s_addr; - } else { - ogs_error("Warning: Received a static IPv4 " - "address but PDN-Type does not include " - "IPv4. Ignoring..."); - } - } else if (addr.ogs_sa_family == AF_INET6) { - if (session->session_type == - OGS_PDU_SESSION_TYPE_IPV6) { - memcpy(session->paa.addr6, - addr.sin6.sin6_addr.s6_addr, - OGS_IPV6_LEN); - } else if (session->session_type == - OGS_PDU_SESSION_TYPE_IPV4V6) { - memcpy(session->paa.both.addr6, - addr.sin6.sin6_addr.s6_addr, - OGS_IPV6_LEN); - } else { - ogs_error("Warning: Received a static IPv6 " - "address but PDN-Type does not include " - "IPv6. Ignoring..."); - } - } else { - ogs_error("Invalid family%d", - addr.ogs_sa_family); - } - break; - default: - break; - } - fd_msg_browse(avpch3, MSG_BRW_NEXT, &avpch3, NULL); - } - - /* AVP: 'EPS-Subscribed-QoS-Profile'(1431) - * The EPS-Subscribed-QoS-Profile AVP shall contain the - * bearer-level QoS parameters (QoS Class Identifier and - * Allocation Retention Priority) associated to the - * default bearer for an APN. - * Reference: 3GPP TS 29.272 7.3.37 - */ - ret = fd_avp_search_avp(avpch2, - ogs_diam_s6a_eps_subscribed_qos_profile, &avpch3); - ogs_assert(ret == 0); - if (avpch3) { - - /* AVP: 'QoS-Class-Identifier'(1028) - * The QoS-Class-Identifier AVP identifies a set of - * IP-CAN specific QoS parameters that define the - * authorized QoS, excluding the applicable bitrates - * and ARP for the IP-CAN bearer or service flow. - * Reference: 3GPP TS 29.212 7.3.37 - */ - ret = fd_avp_search_avp(avpch3, - ogs_diam_s6a_qos_class_identifier, &avpch4); - ogs_assert(ret == 0); - if (avpch4) { - ret = fd_msg_avp_hdr(avpch4, &hdr); - ogs_assert(ret == 0); - session->qos.index = hdr->avp_value->i32; - } else { - ogs_error("no_QoS-Class-Identifier"); - error++; - } - - /* AVP: 'Allocation-Retention-Priority'(1034) - * The Allocation-Retention-Priority AVP is used to - * indicate the priority of allocation and retention, - * the pre-emption capability and pre-emption - * vulnerability for the SDF if provided within the - * QoS-Information-AVP or for the EPS default bearer if - * provided within the Default-EPS-Bearer-QoS AVP. - * Reference: 3GPP TS 29.212 7.3.40 - */ - ret = fd_avp_search_avp(avpch3, - ogs_diam_s6a_allocation_retention_priority, - &avpch4); - ogs_assert(ret == 0); - if (avpch4) { - - /* AVP: 'Priority-Level'(1046) - * The Priority-Level AVP is used for deciding - * whether a bearer establishment or modification - * request can be accepted or needs to be rejected - * in case of resource limitations. - * Reference: 3GPP TS 29.212 7.3.40 - */ - ret = fd_avp_search_avp(avpch4, - ogs_diam_s6a_priority_level, &avpch5); - ogs_assert(ret == 0); - if (avpch5) { - ret = fd_msg_avp_hdr(avpch5, &hdr); - ogs_assert(ret == 0); - session->qos.arp.priority_level = - hdr->avp_value->i32; - } else { - ogs_error("no_ARP"); - error++; - } - - /* AVP: 'Pre-emption-Capability'(1047) - * The Pre-emption-Capability AVP defines whether a - * service data flow can get resources that were - * already assigned to another service data flow - * with a lower priority level. - * Reference: 3GPP TS 29.212 7.3.40 - */ - ret = fd_avp_search_avp(avpch4, - ogs_diam_s6a_pre_emption_capability, &avpch5); - ogs_assert(ret == 0); - if (avpch5) { - ret = fd_msg_avp_hdr(avpch5, &hdr); - ogs_assert(ret == 0); - session->qos.arp.pre_emption_capability = - hdr->avp_value->i32; - } else { - session->qos.arp.pre_emption_capability = - OGS_EPC_PRE_EMPTION_DISABLED; - } - - /* AVP: 'Pre-emption-Vulnerability'(1048) - * The Pre-emption-Vulnerability AVP defines whether - * a service data flow can lose the resources - * assigned to it in order to admit a service data - * flow with higher priority level. - * Reference: 3GPP TS 29.212 7.3.40 - */ - ret = fd_avp_search_avp(avpch4, - ogs_diam_s6a_pre_emption_vulnerability, - &avpch5); - ogs_assert(ret == 0); - if (avpch5) { - ret = fd_msg_avp_hdr(avpch5, &hdr); - ogs_assert(ret == 0); - session->qos.arp.pre_emption_vulnerability = - hdr->avp_value->i32; - } else { - session->qos.arp.pre_emption_vulnerability = - OGS_EPC_PRE_EMPTION_ENABLED; - } - - } else { - ogs_error("no_QCI"); - error++; - } - } else { - ogs_error("no_EPS-Subscribed-QoS-Profile"); - error++; - } - - /* AVP: 'MIP6-Agent-Info'(486) - * The MIP6-Agent-Info AVP contains necessary information - * to assign an HA to the MN. When the MIP6-Agent-Info AVP - * is present in a message, it MUST contain either the - * MIP-Home-Agent-Address AVP, the MIP-Home-Agent-Host AVP, - * or both AVPs. - * Reference: 3GPP TS 29.212 7.3.45 - */ - ret = fd_avp_search_avp(avpch2, - ogs_diam_mip6_agent_info, &avpch3); - ogs_assert(ret == 0); - if (avpch3) { - - /* AVP: 'MIP-Home-Agent-Address'(334) - * The MIP-Home-Agent-Host AVP contains the identity of - * the assigned MIPv6 HA. Both the Destination-Realm and - * the Destination-Host AVPs of the HA are included in - * the grouped AVP. The usage of the MIP-Home-Agent-Host - * AVP is equivalent to the MIP-Home-Agent-Address AVP - * but offers an additional level of indirection by - * using the DNS infrastructure. The Destination-Host - * AVP is used to identify an HA, and the Destination- - * Realm AVP is used to identify the realm where the HA - * is located. - * ((SMF IP STATIC ADDRESS)) - * Reference: 3GPP TS 29.212 7.3.42 - */ - ret = fd_msg_browse(avpch3, - MSG_BRW_FIRST_CHILD, &avpch4, NULL); - ogs_assert(ret == 0); - while (avpch4) { - ret = fd_msg_avp_hdr(avpch4, &hdr); - switch(hdr->avp_code) { - case OGS_DIAM_S6A_AVP_CODE_MIP_HOME_AGENT_ADDRESS: - ret = fd_msg_avp_value_interpret(avpch4, - &addr.sa); - ogs_assert(ret == 0); - if (addr.ogs_sa_family == AF_INET) - { - session->smf_ip.ipv4 = 1; - session->smf_ip.addr = - addr.sin.sin_addr.s_addr; - } - else if (addr.ogs_sa_family == AF_INET6) - { - session->smf_ip.ipv6 = 1; - memcpy(session->smf_ip.addr6, - addr.sin6.sin6_addr.s6_addr, - OGS_IPV6_LEN); - } - else - { - ogs_error("Invald family:%d", - addr.ogs_sa_family); - error++; - } - break; - default: - ogs_error("Unknown AVP-Code:%d", - hdr->avp_code); - error++; - break; - } - fd_msg_browse(avpch4, MSG_BRW_NEXT, - &avpch4, NULL); - } - } - - /* AVP: 'AMBR'(1435) - * The Amber AVP contains the Max-Requested-Bandwidth-UL - * and Max-Requested-Bandwidth-DL AVPs. - * Reference: 3GPP TS 29.272 7.3.41 - */ - ret = fd_avp_search_avp(avpch2, ogs_diam_s6a_ambr, &avpch3); - ogs_assert(ret == 0); - if (avpch3) { - - /* AVP: 'Max-Requested-Bandwidth-UL'(516) - * The Max -Bandwidth-UL AVP indicates the maximum - * requested bandwidth in bits per second for an uplink - * IP flow. - * Reference: 3GPP TS 29.214 7.3.41 - */ - ret = fd_avp_search_avp(avpch3, - ogs_diam_s6a_max_bandwidth_ul, &avpch4); - ogs_assert(ret == 0); - if (avpch4) { - ret = fd_msg_avp_hdr(avpch4, &hdr); - ogs_assert(ret == 0); - session->ambr.uplink = hdr->avp_value->u32; - } else { - ogs_error("no_Max-Bandwidth-UL"); - error++; - } - - /* AVP: 'Max-Requested-Bandwidth-DL'(515) - * The Max-Requested-Bandwidth-DL AVP indicates the - * maximum bandwidth in bits per second for a downlink - * IP flow. - * Reference: 3GPP TS 29.214 7.3.41 - */ - ret = fd_avp_search_avp(avpch3, - ogs_diam_s6a_max_bandwidth_dl, &avpch4); - ogs_assert(ret == 0); - if (avpch4) { - ret = fd_msg_avp_hdr(avpch4, &hdr); - ogs_assert(ret == 0); - session->ambr.downlink = hdr->avp_value->u32; - } else { - ogs_error("no_Max-Bandwidth-DL"); - error++; - } - } - - slice_data->num_of_session++; - break; - } - default: - ogs_warn("Unknown AVP-code:%d", hdr->avp_code); - break; - } - - fd_msg_browse(avpch2, MSG_BRW_NEXT, &avpch2, NULL); - } - - if (slice_data->num_of_session) - subscription_data->num_of_slice = 1; - } else { + if (!(subdatamask & OGS_DIAM_S6A_SUBDATA_APN_CONFIG)) { ogs_error("no_APN-Configuration-Profile"); error++; } @@ -1467,6 +1510,7 @@ ogs_assert(ret == 0); ret = fd_msg_avp_hdr(avp, &hdr); ogs_assert(ret == 0); + clr_message->cancellation_type = hdr->avp_value->i32; /* Set the Origin-Host, Origin-Realm, andResult-Code AVPs */ ret = fd_msg_rescode_set(ans, (char*)"DIAMETER_SUCCESS", NULL, NULL, 1); @@ -1540,7 +1584,9 @@ /* Send the answer */ ret = fd_msg_send(msg, NULL, NULL); - ogs_assert(ret == 0); + ogs_assert(ret == 0); + + ogs_free(s6a_message); return 0; } @@ -1551,23 +1597,23 @@ struct session *session, void *opaque, enum disp_action *act) { int ret; + char imsi_bcdOGS_MAX_IMSI_BCD_LEN+1; + uint32_t result_code = 0; + bool has_subscriber_data; - mme_ue_t *mme_ue = NULL; - struct msg *ans, *qry; - ogs_diam_s6a_idr_message_t *idr_message = NULL; + + mme_event_t *e = NULL; + mme_ue_t *mme_ue = NULL; + ogs_diam_s6a_message_t *s6a_message = NULL; + ogs_diam_s6a_idr_message_t *idr_message = NULL; + ogs_subscription_data_t *subscription_data = NULL; struct avp_hdr *hdr; union avp_value val; - char imsi_bcdOGS_MAX_IMSI_BCD_LEN+1; - - uint32_t result_code = 0; - ogs_assert(msg); - ogs_diam_s6a_message_t *s6a_message = NULL; - ogs_debug("Insert-Subscriber-Data-Request"); s6a_message = ogs_calloc(1, sizeof(ogs_diam_s6a_message_t)); @@ -1575,6 +1621,8 @@ s6a_message->cmd_code = OGS_DIAM_S6A_CMD_CODE_INSERT_SUBSCRIBER_DATA; idr_message = &s6a_message->idr_message; ogs_assert(idr_message); + subscription_data = &idr_message->subscription_data; + ogs_assert(subscription_data); /* Create answer header */ qry = *msg; @@ -1603,15 +1651,21 @@ * profile relevant for EPS and GERAN/UTRAN. * Reference: 3GPP TS 29.272-f70 */ - ret = fd_msg_search_avp(*msg, ogs_diam_s6a_subscription_data, &avp); + ret = fd_msg_search_avp(qry, ogs_diam_s6a_subscription_data, &avp); ogs_assert(ret == 0); if (avp) { ret = fd_msg_avp_hdr(avp, &hdr); ogs_assert(ret == 0); - if (hdr->avp_value->os.len) { - ogs_debug("WIP: Process New Subscription Data"); + ret = fd_msg_browse(avp, MSG_BRW_FIRST_CHILD, NULL, NULL); + if (ret) { + ogs_info("%s Subscription-Data is Empty.", imsi_bcd); } else { - ogs_debug("No Sub Data, ok to check IDR Flags"); + has_subscriber_data = true; + uint32_t subdatamask = 0; + ret = mme_s6a_subscription_data_from_avp(avp, subscription_data, + mme_ue, &subdatamask); + idr_message->subdatamask = subdatamask; + ogs_info("%s Subscription-Data Processed.", imsi_bcd); } } @@ -1621,14 +1675,6 @@ ret = fd_msg_avp_hdr(avp, &hdr); ogs_assert(ret == 0); idr_message->idr_flags = hdr->avp_value->i32; - } else { - ogs_error("Insert Subscriber Data does not contain any IDR Flags " - "for IMSI%s", imsi_bcd); - /* Set the Origin-Host, Origin-Realm, and Result-Code AVPs */ - ret = fd_msg_rescode_set(ans, - (char*)"DIAMETER_UNABLE_TO_COMPLY", NULL, NULL, 1); - ogs_assert(ret == 0); - goto outnoexp; } if (idr_message->idr_flags & OGS_DIAM_S6A_IDR_FLAGS_EPS_LOCATION_INFO) { @@ -1711,13 +1757,16 @@ ret = fd_msg_avp_add(ans, MSG_BRW_LAST_CHILD, avp); ogs_assert(ret == 0); } else { - ogs_error("Insert Subscriber Data " - "with unsupported IDR Flags for IMSI%s", imsi_bcd); - /* Set the Origin-Host, Origin-Realm, and Result-Code AVPs */ - ret = fd_msg_rescode_set( - ans, (char*)"DIAMETER_UNABLE_TO_COMPLY", NULL, NULL, 1); - ogs_assert(ret == 0); - goto outnoexp; + if (!has_subscriber_data) { + ogs_error("Insert Subscriber Data " + "with unsupported IDR Flags " + "or no Subscriber-Data for IMSI%s", imsi_bcd); + /* Set the Origin-Host, Origin-Realm, and Result-Code AVPs */ + ret = fd_msg_rescode_set( + ans, (char*)"DIAMETER_UNABLE_TO_COMPLY", NULL, NULL, 1); + ogs_assert(ret == 0); + goto outnoexp; + } } /* Set the Origin-Host, Origin-Realm, andResult-Code AVPs */ @@ -1749,6 +1798,21 @@ ogs_diam_logger_self()->stats.nb_echoed++; ogs_assert( pthread_mutex_unlock(&ogs_diam_logger_self()->stats_lock) == 0); + int rv; + e = mme_event_new(MME_EVENT_S6A_MESSAGE); + ogs_assert(e); + e->mme_ue = mme_ue; + e->s6a_message = s6a_message; + rv = ogs_queue_push(ogs_app()->queue, e); + if (rv != OGS_OK) { + ogs_error("ogs_queue_push() failed:%d", (int)rv); + ogs_subscription_data_free(subscription_data); + ogs_free(s6a_message); + mme_event_free(e); + } else { + ogs_pollset_notify(ogs_app()->pollset); + } + return 0; out: @@ -1771,7 +1835,9 @@ /* Send the answer */ ret = fd_msg_send(msg, NULL, NULL); - ogs_assert(ret == 0); + ogs_assert(ret == 0); + + ogs_free(s6a_message); return 0; }
View file
open5gs_2.4.11.tar.xz/src/mme/mme-path.c -> open5gs_2.5.0.tar.xz/src/mme/mme-path.c
Changed
@@ -28,8 +28,9 @@ { ogs_assert(mme_ue); - switch (mme_ue->nas_eps.detach_type) { - case MME_EPS_TYPE_DETACH_REQUEST_FROM_UE: + switch (mme_ue->detach_type) { + case MME_DETACH_TYPE_REQUEST_FROM_UE: + ogs_debug("Detach Request from UE"); if (SESSION_CONTEXT_IS_AVAILABLE(mme_ue)) { mme_gtp_send_delete_all_sessions( mme_ue, OGS_GTP_DELETE_SEND_DETACH_ACCEPT); @@ -37,13 +38,56 @@ ogs_assert(OGS_OK == nas_eps_send_detach_accept(mme_ue)); } break; - case MME_EPS_TYPE_DETACH_REQUEST_TO_UE: + + /* MME Explicit Detach, ie: O&M Procedures */ + case MME_DETACH_TYPE_MME_EXPLICIT: + ogs_fatal("Not Implemented : MME_DETACH_TYPE_MME_EXPLICIT"); + ogs_assert_if_reached(); + break; + + /* HSS Explicit Detach, ie: Subscription Withdrawl Cancel Location + * + * TS23.401 - V16.10.0 + * Ch 5.3.8 Detach procedure + * Ch 5.3.8.4 HSS-initiated Detach procedure + */ + case MME_DETACH_TYPE_HSS_EXPLICIT: + ogs_debug("Explicit HSS Detach"); if (SESSION_CONTEXT_IS_AVAILABLE(mme_ue)) { mme_gtp_send_delete_all_sessions(mme_ue, OGS_GTP_DELETE_NO_ACTION); } break; + + /* MME Implicit Detach, ie: Lost Communication */ + case MME_DETACH_TYPE_MME_IMPLICIT: + ogs_fatal("Not Implemented : MME_DETACH_TYPE_MME_IMPLICIT"); + ogs_assert_if_reached(); + break; + + /* HSS Implicit Detach, ie: MME-UPDATE-PROCEDURE + * + * TS23.401 - V16.10.0 + * Ch 5.3.2 Attach procedure + * Ch 5.3.2.1 E-UTRAN Initial Attach + * + * 9. The HSS sends Cancel Location (IMSI, Cancellation Type) + * to the old MME. The old MME acknowledges with Cancel Location Ack (IMSI) + * and removes the MM and bearer contexts. If the ULR-Flags indicates + * "Initial-Attach-Indicator" and the HSS has the SGSN registration, + * then the HSS sends Cancel Location (IMSI, Cancellation Type) + * to the old SGSN. The Cancellation Type indicates the old MME/SGSN + * to release the old Serving GW resource. + */ + case MME_DETACH_TYPE_HSS_IMPLICIT: + ogs_debug("Implicit HSS Detach"); + if (SESSION_CONTEXT_IS_AVAILABLE(mme_ue)) { + mme_gtp_send_delete_all_sessions(mme_ue, + OGS_GTP_DELETE_SEND_RELEASE_WITH_UE_CONTEXT_REMOVE); + } + break; + default: - ogs_fatal(" Invalid OGS_NAS_EPS TYPE%d", mme_ue->nas_eps.type); + ogs_fatal(" Invalid OGS_NAS_EPS TYPE%d", mme_ue->detach_type); ogs_assert_if_reached(); } } @@ -54,7 +98,7 @@ if (SESSION_CONTEXT_IS_AVAILABLE(mme_ue)) { mme_gtp_send_delete_all_sessions(mme_ue, - OGS_GTP_DELETE_SEND_UE_CONTEXT_RELEASE_COMMAND); + OGS_GTP_DELETE_SEND_RELEASE_WITH_UE_CONTEXT_REMOVE); } else { enb_ue_t *enb_ue = enb_ue_cycle(mme_ue->enb_ue); if (enb_ue) {
View file
open5gs_2.4.11.tar.xz/src/mme/mme-s11-handler.c -> open5gs_2.5.0.tar.xz/src/mme/mme-s11-handler.c
Changed
@@ -592,21 +592,22 @@ CLEAR_SGW_S1U_PATH(sess); return; - } else if (action == OGS_GTP_DELETE_SEND_UE_CONTEXT_RELEASE_COMMAND) { + } else if (action == OGS_GTP_DELETE_SEND_RELEASE_WITH_UE_CONTEXT_REMOVE) { if (mme_sess_count(mme_ue) == 1) /* Last Session */ { - enb_ue_t *enb_ue = NULL; - - enb_ue = enb_ue_cycle(mme_ue->enb_ue); - if (enb_ue) { + if (ECM_IDLE(mme_ue)) { + mme_ue_hash_remove(mme_ue); + mme_ue_remove(mme_ue); + } else { + ogs_assert(mme_ue->enb_ue); ogs_assert(OGS_OK == - s1ap_send_ue_context_release_command(enb_ue, + s1ap_send_ue_context_release_command(mme_ue->enb_ue, S1AP_Cause_PR_nas, S1AP_CauseNas_normal_release, S1AP_UE_CTX_REL_UE_CONTEXT_REMOVE, 0)); - } else - ogs_error("ENB-S1 Context has already been removed"); + } } - } else if (action == OGS_GTP_DELETE_SEND_S1_REMOVE_AND_UNLINK) { + } else if (action == + OGS_GTP_DELETE_SEND_RELEASE_WITH_S1_REMOVE_AND_UNLINK) { if (mme_sess_count(mme_ue) == 1) /* Last Session */ { enb_ue_t *enb_ue = NULL; @@ -633,7 +634,7 @@ } } - } else if (action == OGS_GTP_DELETE_UE_CONTEXT_REMOVE) { + } else if (action == OGS_GTP_DELETE_UE_CONTEXT_REMOVE_PARTIAL) { /* Remove MME-UE Context with Session Context since IMSI duplicated */ mme_ue_remove(mme_ue);
View file
open5gs_2.4.11.tar.xz/src/mme/mme-s6a-handler.c -> open5gs_2.5.0.tar.xz/src/mme/mme-s6a-handler.c
Changed
@@ -33,6 +33,9 @@ static uint8_t emm_cause_from_diameter( const uint32_t *dia_err, const uint32_t *dia_exp_err); +static uint8_t mme_ue_session_from_slice_data(mme_ue_t *mme_ue, + ogs_slice_data_t *slice_data); + uint8_t mme_s6a_handle_aia( mme_ue_t *mme_ue, ogs_diam_s6a_message_t *s6a_message) { @@ -74,7 +77,7 @@ ogs_diam_s6a_ula_message_t *ula_message = NULL; ogs_subscription_data_t *subscription_data = NULL; ogs_slice_data_t *slice_data = NULL; - int i, rv; + int rv, num_of_session; ogs_assert(mme_ue); ogs_assert(s6a_message); @@ -95,58 +98,13 @@ mme_session_remove_all(mme_ue); - for (i = 0; i < slice_data->num_of_session; i++) { - if (i >= OGS_MAX_NUM_OF_SESS) { - ogs_warn("Ignore max session count overflow %d>=%d", - slice_data->num_of_session, OGS_MAX_NUM_OF_SESS); - break; - } - - if (slice_data->sessioni.name) { - mme_ue->sessioni.name = ogs_strdup(slice_data->sessioni.name); - ogs_assert(mme_ue->sessioni.name); - } - - mme_ue->sessioni.context_identifier = - slice_data->sessioni.context_identifier; - - if (slice_data->sessioni.session_type == OGS_PDU_SESSION_TYPE_IPV4 || - slice_data->sessioni.session_type == OGS_PDU_SESSION_TYPE_IPV6 || - slice_data->sessioni.session_type == - OGS_PDU_SESSION_TYPE_IPV4V6) { - mme_ue->sessioni.session_type = - slice_data->sessioni.session_type; - } else { - ogs_error("Invalid PDN_TYPE%d", - slice_data->sessioni.session_type); - if (mme_ue->sessioni.name) - ogs_free(mme_ue->sessioni.name); - break; - } - memcpy(&mme_ue->sessioni.paa, &slice_data->sessioni.paa, - sizeof(mme_ue->sessioni.paa)); - - memcpy(&mme_ue->sessioni.qos, &slice_data->sessioni.qos, - sizeof(mme_ue->sessioni.qos)); - memcpy(&mme_ue->sessioni.ambr, &slice_data->sessioni.ambr, - sizeof(mme_ue->sessioni.ambr)); - - memcpy(&mme_ue->sessioni.smf_ip, &slice_data->sessioni.smf_ip, - sizeof(mme_ue->sessioni.smf_ip)); - - memcpy(&mme_ue->sessioni.charging_characteristics, - &slice_data->sessioni.charging_characteristics, - sizeof(mme_ue->sessioni.charging_characteristics)); - mme_ue->sessioni.charging_characteristics_presence = - slice_data->sessioni.charging_characteristics_presence; - } - - if (i == 0) { + num_of_session = mme_ue_session_from_slice_data(mme_ue, slice_data); + if (num_of_session == 0) { ogs_error("No Session"); return OGS_NAS_EMM_CAUSE_SEVERE_NETWORK_FAILURE; } + mme_ue->num_of_session = num_of_session; - mme_ue->num_of_session = i; mme_ue->context_identifier = slice_data->context_identifier; if (mme_ue->nas_eps.type == MME_EPS_TYPE_ATTACH_REQUEST) { @@ -168,11 +126,78 @@ return OGS_NAS_EMM_CAUSE_REQUEST_ACCEPTED; } -void mme_s6a_handle_clr( - mme_ue_t *mme_ue, ogs_diam_s6a_clr_message_t *clr_message) +uint8_t mme_s6a_handle_idr( + mme_ue_t *mme_ue, ogs_diam_s6a_message_t *s6a_message) +{ + ogs_diam_s6a_idr_message_t *idr_message = NULL; + ogs_subscription_data_t *subscription_data = NULL; + ogs_slice_data_t *slice_data = NULL; + int num_of_session; + + ogs_assert(mme_ue); + ogs_assert(s6a_message); + idr_message = &s6a_message->idr_message; + ogs_assert(idr_message); + subscription_data = &idr_message->subscription_data; + ogs_assert(subscription_data); + + if (idr_message->subdatamask & OGS_DIAM_S6A_SUBDATA_UEAMBR) { + memcpy(&mme_ue->ambr, &subscription_data->ambr, sizeof(ogs_bitrate_t)); + } + + if (idr_message->subdatamask & OGS_DIAM_S6A_SUBDATA_APN_CONFIG) { + ogs_assert(subscription_data->num_of_slice == 1); + slice_data = &subscription_data->slice0; + + if (slice_data->all_apn_config_inc == + OGS_ALL_APN_CONFIGURATIONS_INCLUDED) { + mme_session_remove_all(mme_ue); + num_of_session = mme_ue_session_from_slice_data(mme_ue, slice_data); + if (num_of_session == 0) { + ogs_error("No Session"); + return OGS_ERROR; + } + mme_ue->num_of_session = num_of_session; + } else { + ogs_error ("%d Partial APN-Configuration Not Supported in IDR.", + slice_data->all_apn_config_inc); + return OGS_ERROR; + } + + mme_ue->context_identifier = slice_data->context_identifier; + } + + return OGS_OK; +} + +void mme_s6a_handle_clr(mme_ue_t *mme_ue, ogs_diam_s6a_message_t *s6a_message) { + ogs_diam_s6a_clr_message_t *clr_message = NULL; ogs_assert(mme_ue); - ogs_assert(clr_message); + ogs_assert(s6a_message); + clr_message = &s6a_message->clr_message; + ogs_assert(clr_message); + + mme_ue = mme_ue_cycle(mme_ue); + if (!mme_ue) { + ogs_warn("UE(mme-ue) context has already been removed"); + return; + } + + /* + * This causes issues in this scenario: + * 1. UE attaches + * 2. UE detaches (Airplane Mode) + * 3. Cancel Location is triggered by HSS + * + * If Cancel Locations are performed, UE(mme-ue) context must be removed. + */ + if (OGS_FSM_CHECK(&mme_ue->sm, emm_state_de_registered)) { + ogs_warn("UE has already been de-registered"); + mme_ue_hash_remove(mme_ue); + mme_ue_remove(mme_ue); + return; + } /* Set EPS Detach */ memset(&mme_ue->nas_eps.detach, 0, sizeof(ogs_nas_detach_type_t)); @@ -192,30 +217,107 @@ * * So, we will lose the MME_EPS_TYPE_DETACH_REQUEST_TO_UE. * - * We need more variable(nas_eps.detach_type) + * We need more variable(detach_type) * to keep Detach-Type whether UE-initiated or MME-initiaed. */ - mme_ue->nas_eps.type = mme_ue->nas_eps.detach_type = - MME_EPS_TYPE_DETACH_REQUEST_TO_UE; + mme_ue->nas_eps.type = MME_EPS_TYPE_DETACH_REQUEST_TO_UE; + ogs_debug(" OGS_NAS_EPS TYPE%d", mme_ue->nas_eps.type); - if (OGS_FSM_CHECK(&mme_ue->sm, emm_state_de_registered)) { - /* Remove all trace of subscriber even when detached. */ - mme_ue_hash_remove(mme_ue); - mme_ue_remove(mme_ue); - } else if (ECM_IDLE(mme_ue)) { - MME_STORE_PAGING_INFO(mme_ue, MME_PAGING_TYPE_DETACH_TO_UE, NULL); - ogs_assert(OGS_OK == s1ap_send_paging(mme_ue, S1AP_CNDomain_ps)); - } else { - ogs_assert(OGS_OK == nas_eps_send_detach_request(mme_ue)); + switch (clr_message->cancellation_type) { + case OGS_DIAM_S6A_CT_SUBSCRIPTION_WITHDRAWL: + mme_ue->detach_type = MME_DETACH_TYPE_HSS_EXPLICIT; + + /* + * Before sending Detach-Request, + * we need to check whether UE is IDLE or not. + */ + if (ECM_IDLE(mme_ue)) { + MME_STORE_PAGING_INFO(mme_ue, MME_PAGING_TYPE_DETACH_TO_UE, NULL); + ogs_assert(OGS_OK == s1ap_send_paging(mme_ue, S1AP_CNDomain_ps)); + } else { + ogs_assert(OGS_OK == nas_eps_send_detach_request(mme_ue)); + if (MME_P_TMSI_IS_AVAILABLE(mme_ue)) { + ogs_assert(OGS_OK == sgsap_send_detach_indication(mme_ue)); + } else { + mme_send_delete_session_or_detach(mme_ue); + } + } + break; + case OGS_DIAM_S6A_CT_MME_UPDATE_PROCEDURE: + mme_ue->detach_type = MME_DETACH_TYPE_HSS_IMPLICIT; + + /* + * There is no need to send NAS or S1AP message to the UE. + * So, we don't have to check whether UE is IDLE or not. + */ if (MME_P_TMSI_IS_AVAILABLE(mme_ue)) { ogs_assert(OGS_OK == sgsap_send_detach_indication(mme_ue)); } else { mme_send_delete_session_or_detach(mme_ue); } + break; + default: + ogs_fatal("Unsupported Cancellation-Type %d", + clr_message->cancellation_type); + ogs_assert_if_reached(); + break; } } -/* 3GPP TS 29.272 Annex A; Table !.a: +static uint8_t mme_ue_session_from_slice_data(mme_ue_t *mme_ue, + ogs_slice_data_t *slice_data) +{ + int i; + for (i = 0; i < slice_data->num_of_session; i++) { + if (i >= OGS_MAX_NUM_OF_SESS) { + ogs_warn("Ignore max session count overflow %d>=%d", + slice_data->num_of_session, OGS_MAX_NUM_OF_SESS); + break; + } + + if (slice_data->sessioni.name) { + mme_ue->sessioni.name = ogs_strdup(slice_data->sessioni.name); + ogs_assert(mme_ue->sessioni.name); + } + + mme_ue->sessioni.context_identifier = + slice_data->sessioni.context_identifier; + + if (slice_data->sessioni.session_type == OGS_PDU_SESSION_TYPE_IPV4 || + slice_data->sessioni.session_type == OGS_PDU_SESSION_TYPE_IPV6 || + slice_data->sessioni.session_type == + OGS_PDU_SESSION_TYPE_IPV4V6) { + mme_ue->sessioni.session_type = + slice_data->sessioni.session_type; + } else { + ogs_error("Invalid PDN_TYPE%d", + slice_data->sessioni.session_type); + if (mme_ue->sessioni.name) + ogs_free(mme_ue->sessioni.name); + break; + } + memcpy(&mme_ue->sessioni.paa, &slice_data->sessioni.paa, + sizeof(mme_ue->sessioni.paa)); + + memcpy(&mme_ue->sessioni.qos, &slice_data->sessioni.qos, + sizeof(mme_ue->sessioni.qos)); + memcpy(&mme_ue->sessioni.ambr, &slice_data->sessioni.ambr, + sizeof(mme_ue->sessioni.ambr)); + + memcpy(&mme_ue->sessioni.smf_ip, &slice_data->sessioni.smf_ip, + sizeof(mme_ue->sessioni.smf_ip)); + + memcpy(&mme_ue->sessioni.charging_characteristics, + &slice_data->sessioni.charging_characteristics, + sizeof(mme_ue->sessioni.charging_characteristics)); + mme_ue->sessioni.charging_characteristics_presence = + slice_data->sessioni.charging_characteristics_presence; + } + + return i; +} + +/* 3GPP TS 29.272 Annex A; Table A.1: * Mapping from S6a error codes to NAS Cause Codes */ static uint8_t emm_cause_from_diameter( const uint32_t *dia_err, const uint32_t *dia_exp_err)
View file
open5gs_2.4.11.tar.xz/src/mme/mme-s6a-handler.h -> open5gs_2.5.0.tar.xz/src/mme/mme-s6a-handler.h
Changed
@@ -30,8 +30,10 @@ mme_ue_t *mme_ue, ogs_diam_s6a_message_t *s6a_message); uint8_t mme_s6a_handle_ula( mme_ue_t *mme_ue, ogs_diam_s6a_message_t *s6a_message); +uint8_t mme_s6a_handle_idr( + mme_ue_t *mme_ue, ogs_diam_s6a_message_t *s6a_message); void mme_s6a_handle_clr( - mme_ue_t *mme_ue, ogs_diam_s6a_clr_message_t *clr_message); + mme_ue_t *mme_ue, ogs_diam_s6a_message_t *s6a_message); #ifdef __cplusplus }
View file
open5gs_2.4.11.tar.xz/src/mme/mme-sm.c -> open5gs_2.5.0.tar.xz/src/mme/mme-sm.c
Changed
@@ -250,7 +250,15 @@ mme_ue = mme_ue_find_by_message(&nas_message); if (!mme_ue) { mme_ue = mme_ue_add(enb_ue); - ogs_assert(mme_ue); + if (mme_ue == NULL) { + ogs_expect(OGS_OK == + s1ap_send_ue_context_release_command(enb_ue, + S1AP_Cause_PR_misc, + S1AP_CauseMisc_control_processing_overload, + S1AP_UE_CTX_REL_S1_CONTEXT_REMOVE, 0)); + ogs_pkbuf_free(pkbuf); + return; + } } else { /* Here, if the MME_UE Context is found, * the integrity check is not performed @@ -432,14 +440,16 @@ } break; case OGS_DIAM_S6A_CMD_CODE_CANCEL_LOCATION: - mme_s6a_handle_clr(mme_ue, &s6a_message->clr_message); + mme_s6a_handle_clr(mme_ue, s6a_message); break; case OGS_DIAM_S6A_CMD_CODE_INSERT_SUBSCRIBER_DATA: + mme_s6a_handle_idr(mme_ue, s6a_message); break; default: ogs_error("Invalid Type%d", s6a_message->cmd_code); break; } + ogs_subscription_data_free(&s6a_message->idr_message.subscription_data); ogs_subscription_data_free(&s6a_message->ula_message.subscription_data); ogs_free(s6a_message); break;
View file
open5gs_2.4.11.tar.xz/src/mme/s1ap-handler.c -> open5gs_2.5.0.tar.xz/src/mme/s1ap-handler.c
Changed
@@ -258,7 +258,13 @@ enb_ue = enb_ue_find_by_enb_ue_s1ap_id(enb, *ENB_UE_S1AP_ID); if (!enb_ue) { enb_ue = enb_ue_add(enb, *ENB_UE_S1AP_ID); - ogs_assert(enb_ue); + if (enb_ue == NULL) { + ogs_assert(OGS_OK == + s1ap_send_error_indication(enb, NULL, NULL, + S1AP_Cause_PR_misc, + S1AP_CauseMisc_control_processing_overload)); + return; + } /* Find MME_UE if S_TMSI included */ if (S_TMSI) {
View file
open5gs_2.4.11.tar.xz/src/mme/s1ap-path.c -> open5gs_2.5.0.tar.xz/src/mme/s1ap-path.c
Changed
@@ -515,7 +515,13 @@ ogs_assert(target_enb); target_ue = enb_ue_add(target_enb, INVALID_UE_S1AP_ID); - ogs_assert(target_ue); + if (target_ue == NULL) { + ogs_assert(OGS_OK == + s1ap_send_error_indication(target_enb, NULL, NULL, + S1AP_Cause_PR_misc, + S1AP_CauseMisc_control_processing_overload)); + return OGS_ERROR; + } ogs_info(" Source : ENB_UE_S1AP_ID%d MME_UE_S1AP_ID%d", source_ue->enb_ue_s1ap_id, source_ue->mme_ue_s1ap_id);
View file
open5gs_2.4.11.tar.xz/src/nrf/context.c -> open5gs_2.5.0.tar.xz/src/nrf/context.c
Changed
@@ -44,8 +44,12 @@ ogs_assert(context_initialized == 1); ogs_list_for_each_safe( - &ogs_sbi_self()->nf_instance_list, next_nf_instance, nf_instance) - if (OGS_FSM_STATE(&nf_instance->sm)) nrf_nf_fsm_fini(nf_instance); + &ogs_sbi_self()->nf_instance_list, next_nf_instance, nf_instance) { + if (NF_INSTANCE_TYPE_IS_NRF(nf_instance)) + continue; + if (OGS_FSM_STATE(&nf_instance->sm)) + nrf_nf_fsm_fini(nf_instance); + } context_initialized = 0; }
View file
open5gs_2.4.11.tar.xz/src/nrf/event.c -> open5gs_2.5.0.tar.xz/src/nrf/event.c
Changed
@@ -20,54 +20,35 @@ #include "event.h" #include "context.h" -static OGS_POOL(pool, nrf_event_t); - -void nrf_event_init(void) -{ - ogs_pool_init(&pool, ogs_app()->pool.event); -} - -void nrf_event_final(void) -{ - ogs_pool_final(&pool); -} - -nrf_event_t *nrf_event_new(nrf_event_e id) +nrf_event_t *nrf_event_new(int id) { nrf_event_t *e = NULL; - ogs_pool_alloc(&pool, &e); + e = ogs_event_size(id, sizeof(nrf_event_t)); ogs_assert(e); - memset(e, 0, sizeof(*e)); - e->id = id; + e->h.id = id; return e; } -void nrf_event_free(nrf_event_t *e) -{ - ogs_assert(e); - ogs_pool_free(&pool, e); -} - const char *nrf_event_get_name(nrf_event_t *e) { if (e == NULL) return OGS_FSM_NAME_INIT_SIG; - switch (e->id) { + switch (e->h.id) { case OGS_FSM_ENTRY_SIG: return OGS_FSM_NAME_ENTRY_SIG; case OGS_FSM_EXIT_SIG: return OGS_FSM_NAME_EXIT_SIG; - case NRF_EVT_SBI_SERVER: - return "NRF_EVT_SBI_SERVER"; - case NRF_EVT_SBI_CLIENT: - return "NRF_EVT_SBI_CLIENT"; - case NRF_EVT_SBI_TIMER: - return "NRF_EVT_SBI_TIMER"; + case OGS_EVENT_SBI_SERVER: + return OGS_EVENT_NAME_SBI_SERVER; + case OGS_EVENT_SBI_CLIENT: + return OGS_EVENT_NAME_SBI_CLIENT; + case OGS_EVENT_SBI_TIMER: + return OGS_EVENT_NAME_SBI_TIMER; default: break;
View file
open5gs_2.4.11.tar.xz/src/nrf/event.h -> open5gs_2.5.0.tar.xz/src/nrf/event.h
Changed
@@ -26,44 +26,17 @@ extern "C" { #endif -typedef struct ogs_sbi_request_s ogs_sbi_request_t; -typedef struct ogs_sbi_response_s ogs_sbi_response_t; -typedef struct ogs_sbi_message_s ogs_sbi_message_t; typedef struct ogs_sbi_nf_instance_s ogs_sbi_nf_instance_t; typedef struct ogs_sbi_subscription_data_s ogs_sbi_subscription_data_t; -typedef enum { - NRF_EVT_BASE = OGS_MAX_NUM_OF_PROTO_EVENT, - - NRF_EVT_SBI_SERVER, - NRF_EVT_SBI_CLIENT, - NRF_EVT_SBI_TIMER, - - NRF_EVT_TOP, - -} nrf_event_e; - typedef struct nrf_event_s { - int id; - int timer_id; - - struct { - ogs_sbi_request_t *request; - ogs_sbi_response_t *response; - void *data; - - ogs_sbi_message_t *message; - } sbi; + ogs_event_t h; ogs_sbi_nf_instance_t *nf_instance; ogs_sbi_subscription_data_t *subscription_data; } nrf_event_t; -void nrf_event_init(void); -void nrf_event_final(void); - -nrf_event_t *nrf_event_new(nrf_event_e id); -void nrf_event_free(nrf_event_t *e); +nrf_event_t *nrf_event_new(int id); const char *nrf_event_get_name(nrf_event_t *e);
View file
open5gs_2.4.11.tar.xz/src/nrf/init.c -> open5gs_2.5.0.tar.xz/src/nrf/init.c
Changed
@@ -30,7 +30,6 @@ ogs_sbi_context_init(); nrf_context_init(); - nrf_event_init(); rv = ogs_sbi_context_parse_config("nrf", NULL, "scp"); if (rv != OGS_OK) return rv; @@ -85,8 +84,6 @@ nrf_context_final(); ogs_sbi_context_final(); - - nrf_event_final(); /* Destroy event */ } static void nrf_main(void *data) @@ -127,7 +124,7 @@ ogs_assert(e); ogs_fsm_dispatch(&nrf_sm, e); - nrf_event_free(e); + ogs_event_free(e); } } done:
View file
open5gs_2.4.11.tar.xz/src/nrf/nf-sm.c -> open5gs_2.5.0.tar.xz/src/nrf/nf-sm.c
Changed
@@ -95,17 +95,17 @@ nf_instance = e->nf_instance; ogs_assert(nf_instance); - switch (e->id) { + switch (e->h.id) { case OGS_FSM_ENTRY_SIG: break; case OGS_FSM_EXIT_SIG: break; - case NRF_EVT_SBI_SERVER: - message = e->sbi.message; + case OGS_EVENT_SBI_SERVER: + message = e->h.sbi.message; ogs_assert(message); - stream = e->sbi.data; + stream = e->h.sbi.data; ogs_assert(stream); SWITCH(message->h.service.name) @@ -185,7 +185,7 @@ nf_instance = e->nf_instance; ogs_assert(nf_instance); - switch (e->id) { + switch (e->h.id) { case OGS_FSM_ENTRY_SIG: ogs_info("%s NF registered Heartbeat:%ds", nf_instance->id, nf_instance->time.heartbeat_interval); @@ -212,10 +212,10 @@ OpenAPI_notification_event_type_NF_DEREGISTERED, nf_instance)); break; - case NRF_EVT_SBI_SERVER: - message = e->sbi.message; + case OGS_EVENT_SBI_SERVER: + message = e->h.sbi.message; ogs_assert(message); - stream = e->sbi.data; + stream = e->h.sbi.data; ogs_assert(stream); SWITCH(message->h.service.name) @@ -300,7 +300,7 @@ nrf_sm_debug(e); - switch (e->id) { + switch (e->h.id) { case OGS_FSM_ENTRY_SIG: break; case OGS_FSM_EXIT_SIG: @@ -318,7 +318,7 @@ nrf_sm_debug(e); - switch (e->id) { + switch (e->h.id) { case OGS_FSM_ENTRY_SIG: break; case OGS_FSM_EXIT_SIG:
View file
open5gs_2.4.11.tar.xz/src/nrf/nnrf-build.c -> open5gs_2.5.0.tar.xz/src/nrf/nnrf-build.c
Changed
@@ -44,12 +44,18 @@ message.http.accept = (char *)OGS_SBI_CONTENT_PROBLEM_TYPE; NotificationData = ogs_calloc(1, sizeof(*NotificationData)); - ogs_expect_or_return_val(NotificationData, NULL); + if (!NotificationData) { + ogs_error("No NotificationData"); + goto end; + } NotificationData->event = event; server = ogs_list_first(&ogs_sbi_self()->server_list); - ogs_expect_or_return_val(server, NULL); + if (!server) { + ogs_error("No server"); + goto end; + } memset(&header, 0, sizeof(header)); header.service.name = (char *)OGS_SBI_SERVICE_NAME_NNRF_NFM; @@ -58,7 +64,10 @@ header.resource.component1 = nf_instance->id; NotificationData->nf_instance_uri = ogs_sbi_server_uri(server, &header); - ogs_expect_or_return_val(NotificationData->nf_instance_uri, NULL); + if (!server) { + ogs_error("No nf_instance_uri"); + goto end; + } if (event != OpenAPI_notification_event_type_NF_DEREGISTERED) { NotificationData->nf_profile = @@ -67,19 +76,26 @@ subscription_data->subscr_cond.service_name, NULL, subscription_data->requester_features); - ogs_expect_or_return_val(NotificationData->nf_profile, NULL); + if (!NotificationData->nf_profile) { + ogs_error("No nf_profile"); + goto end; + } } message.NotificationData = NotificationData; request = ogs_sbi_build_request(&message); - ogs_expect_or_return_val(request, NULL); + ogs_expect(request); - if (NotificationData->nf_profile) - ogs_nnrf_nfm_free_nf_profile(NotificationData->nf_profile); +end: - ogs_free(NotificationData->nf_instance_uri); - ogs_free(NotificationData); + if (NotificationData) { + if (NotificationData->nf_profile) + ogs_nnrf_nfm_free_nf_profile(NotificationData->nf_profile); + if (NotificationData->nf_instance_uri) + ogs_free(NotificationData->nf_instance_uri); + ogs_free(NotificationData); + } return request; }
View file
open5gs_2.4.11.tar.xz/src/nrf/nnrf-handler.c -> open5gs_2.5.0.tar.xz/src/nrf/nnrf-handler.c
Changed
@@ -40,7 +40,7 @@ return false; } - ogs_sbi_nnrf_handle_nf_profile(nf_instance, NFProfile); + ogs_nnrf_nfm_handle_nf_profile(nf_instance, NFProfile); if (OGS_FSM_CHECK(&nf_instance->sm, nrf_nf_state_will_register)) { recvmsg->http.location = recvmsg->h.uri;
View file
open5gs_2.4.11.tar.xz/src/nrf/nrf-sm.c -> open5gs_2.5.0.tar.xz/src/nrf/nrf-sm.c
Changed
@@ -51,17 +51,17 @@ ogs_assert(s); - switch (e->id) { + switch (e->h.id) { case OGS_FSM_ENTRY_SIG: break; case OGS_FSM_EXIT_SIG: break; - case NRF_EVT_SBI_SERVER: - request = e->sbi.request; + case OGS_EVENT_SBI_SERVER: + request = e->h.sbi.request; ogs_assert(request); - stream = e->sbi.data; + stream = e->h.sbi.data; ogs_assert(stream); rv = ogs_sbi_parse_request(&message, request); @@ -141,7 +141,7 @@ e->nf_instance = nf_instance; ogs_assert(OGS_FSM_STATE(&nf_instance->sm)); - e->sbi.message = &message; + e->h.sbi.message = &message; ogs_fsm_dispatch(&nf_instance->sm, e); if (OGS_FSM_CHECK(&nf_instance->sm, nrf_nf_state_de_registered)) { @@ -235,8 +235,8 @@ ogs_sbi_message_free(&message); break; - case NRF_EVT_SBI_TIMER: - switch(e->timer_id) { + case OGS_EVENT_SBI_TIMER: + switch(e->h.timer_id) { case NRF_TIMER_NF_INSTANCE_NO_HEARTBEAT: nf_instance = e->nf_instance; ogs_assert(nf_instance); @@ -261,7 +261,7 @@ default: ogs_error("Unknown timer%s:%d", - nrf_timer_get_name(e->timer_id), e->timer_id); + nrf_timer_get_name(e->h.timer_id), e->h.timer_id); } break;
View file
open5gs_2.4.11.tar.xz/src/nrf/sbi-path.c -> open5gs_2.5.0.tar.xz/src/nrf/sbi-path.c
Changed
@@ -19,34 +19,6 @@ #include "sbi-path.h" -static int server_cb(ogs_sbi_request_t *request, void *data) -{ - nrf_event_t *e = NULL; - int rv; - - ogs_assert(request); - ogs_assert(data); - - e = nrf_event_new(NRF_EVT_SBI_SERVER); - ogs_assert(e); - - e->sbi.request = request; - e->sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - if (rv != OGS_DONE) - ogs_error("ogs_queue_push() failed:%d", (int)rv); - else - ogs_warn("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_request_free(request); - nrf_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - static int client_notify_cb( int status, ogs_sbi_response_t *response, void *data) { @@ -80,7 +52,16 @@ int nrf_sbi_open(void) { - if (ogs_sbi_server_start_all(server_cb) != OGS_OK) + ogs_sbi_nf_instance_t *nf_instance = NULL; + + /* Initialize SELF NF instance */ + nf_instance = ogs_sbi_self()->nf_instance; + ogs_assert(nf_instance); + + /* Build NF instance information. */ + ogs_sbi_nf_instance_build_default(nf_instance, OpenAPI_nf_type_NRF); + + if (ogs_sbi_server_start_all(ogs_sbi_server_handler) != OGS_OK) return OGS_ERROR; return OGS_OK; @@ -97,18 +78,25 @@ OpenAPI_notification_event_type_e event, ogs_sbi_nf_instance_t *nf_instance) { + bool rc; ogs_sbi_request_t *request = NULL; ogs_sbi_client_t *client = NULL; ogs_assert(subscription_data); client = subscription_data->client; - ogs_assert(client); + ogs_expect_or_return_val(client, false); request = nrf_nnrf_nfm_build_nf_status_notify( subscription_data, event, nf_instance); ogs_expect_or_return_val(request, false); - return ogs_sbi_scp_send_request(client, client_notify_cb, request, NULL); + rc = ogs_sbi_send_request_to_client( + client, client_notify_cb, request, NULL); + ogs_expect(rc == true); + + ogs_sbi_request_free(request); + + return rc; } bool nrf_nnrf_nfm_send_nf_status_notify_all(
View file
open5gs_2.4.11.tar.xz/src/nrf/timer.c -> open5gs_2.5.0.tar.xz/src/nrf/timer.c
Changed
@@ -19,9 +19,21 @@ #include "context.h" -const char *nrf_timer_get_name(nrf_timer_e id) +const char *nrf_timer_get_name(int timer_id) { - switch (id) { + switch (timer_id) { + case OGS_TIMER_NF_INSTANCE_REGISTRATION_INTERVAL: + return OGS_TIMER_NAME_NF_INSTANCE_REGISTRATION_INTERVAL; + case OGS_TIMER_NF_INSTANCE_HEARTBEAT_INTERVAL: + return OGS_TIMER_NAME_NF_INSTANCE_HEARTBEAT_INTERVAL; + case OGS_TIMER_NF_INSTANCE_NO_HEARTBEAT: + return OGS_TIMER_NAME_NF_INSTANCE_NO_HEARTBEAT; + case OGS_TIMER_NF_INSTANCE_VALIDITY: + return OGS_TIMER_NAME_NF_INSTANCE_VALIDITY; + case OGS_TIMER_SUBSCRIPTION_VALIDITY: + return OGS_TIMER_NAME_SUBSCRIPTION_VALIDITY; + case OGS_TIMER_SBI_CLIENT_WAIT: + return OGS_TIMER_NAME_SBI_CLIENT_WAIT; case NRF_TIMER_NF_INSTANCE_NO_HEARTBEAT: return "NRF_TIMER_NF_INSTANCE_NO_HEARTBEAT"; case NRF_TIMER_SUBSCRIPTION_VALIDITY: @@ -30,6 +42,7 @@ break; } + ogs_error("Unknown Timer%d", timer_id); return "UNKNOWN_TIMER"; } @@ -41,13 +54,13 @@ switch (timer_id) { case NRF_TIMER_NF_INSTANCE_NO_HEARTBEAT: - e = nrf_event_new(NRF_EVT_SBI_TIMER); - e->timer_id = timer_id; + e = nrf_event_new(OGS_EVENT_SBI_TIMER); + e->h.timer_id = timer_id; e->nf_instance = data; break; case NRF_TIMER_SUBSCRIPTION_VALIDITY: - e = nrf_event_new(NRF_EVT_SBI_TIMER); - e->timer_id = timer_id; + e = nrf_event_new(OGS_EVENT_SBI_TIMER); + e->h.timer_id = timer_id; e->subscription_data = data; break; default: @@ -59,7 +72,7 @@ rv = ogs_queue_push(ogs_app()->queue, e); if (rv != OGS_OK) { ogs_error("ogs_queue_push() failed:%d", (int)rv); - nrf_event_free(e); + ogs_event_free(e); } }
View file
open5gs_2.4.11.tar.xz/src/nrf/timer.h -> open5gs_2.5.0.tar.xz/src/nrf/timer.h
Changed
@@ -28,7 +28,7 @@ /* forward declaration */ typedef enum { - NRF_TIMER_BASE = 0, + NRF_TIMER_BASE = OGS_MAX_NUM_OF_PROTO_TIMER, NRF_TIMER_NF_INSTANCE_NO_HEARTBEAT, NRF_TIMER_SUBSCRIPTION_VALIDITY, @@ -38,7 +38,7 @@ } nrf_timer_e; -const char *nrf_timer_get_name(nrf_timer_e id); +const char *nrf_timer_get_name(int timer_id); void nrf_timer_nf_instance_no_heartbeat(void *data); void nrf_timer_subscription_validity(void *data);
View file
open5gs_2.4.11.tar.xz/src/nssf/event.h -> open5gs_2.5.0.tar.xz/src/nssf/event.h
Changed
@@ -32,6 +32,8 @@ ogs_event_t h; } nssf_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(nssf_event_t)); + nssf_event_t *nssf_event_new(int id); const char *nssf_event_get_name(nssf_event_t *e);
View file
open5gs_2.4.11.tar.xz/src/nssf/nssf-sm.c -> open5gs_2.5.0.tar.xz/src/nssf/nssf-sm.c
Changed
@@ -179,7 +179,7 @@ CASE(OGS_SBI_HTTP_METHOD_POST) if (message.res_status == OGS_SBI_HTTP_STATUS_CREATED || message.res_status == OGS_SBI_HTTP_STATUS_OK) { - ogs_nnrf_handle_nf_status_subscribe( + ogs_nnrf_nfm_handle_nf_status_subscribe( subscription_data, &message); } else { ogs_error("%s HTTP response error %d",
View file
open5gs_2.4.11.tar.xz/src/nssf/sbi-path.c -> open5gs_2.5.0.tar.xz/src/nssf/sbi-path.c
Changed
@@ -19,67 +19,12 @@ #include "sbi-path.h" -static int server_cb(ogs_sbi_request_t *request, void *data) -{ - nssf_event_t *e = NULL; - int rv; - - ogs_assert(request); - ogs_assert(data); - - e = nssf_event_new(OGS_EVENT_SBI_SERVER); - ogs_assert(e); - - e->h.sbi.request = request; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_request_free(request); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - -static int client_cb(int status, ogs_sbi_response_t *response, void *data) -{ - nssf_event_t *e = NULL; - int rv; - - if (status != OGS_OK) { - ogs_log_message( - status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0, - "client_cb() failed %d", status); - return OGS_ERROR; - } - - ogs_assert(response); - - e = nssf_event_new(OGS_EVENT_SBI_CLIENT); - ogs_assert(e); - e->h.sbi.response = response; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_response_free(response); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - int nssf_sbi_open(void) { ogs_sbi_nf_instance_t *nf_instance = NULL; ogs_sbi_nf_service_t *service = NULL; - /* Add SELF NF instance */ + /* Initialize SELF NF instance */ nf_instance = ogs_sbi_self()->nf_instance; ogs_assert(nf_instance); ogs_sbi_nf_fsm_init(nf_instance); @@ -102,20 +47,10 @@ /* Initialize NRF NF Instance */ nf_instance = ogs_sbi_self()->nrf_instance; - if (nf_instance) { - ogs_sbi_client_t *client = NULL; - - /* Client callback is only used when NF sends to NRF */ - client = nf_instance->client; - ogs_assert(client); - client->cb = client_cb; - - /* NFRegister is sent and the response is received - * by the above client callback. */ + if (nf_instance) ogs_sbi_nf_fsm_init(nf_instance); - } - if (ogs_sbi_server_start_all(server_cb) != OGS_OK) + if (ogs_sbi_server_start_all(ogs_sbi_server_handler) != OGS_OK) return OGS_ERROR; return OGS_OK;
View file
open5gs_2.4.11.tar.xz/src/pcf/event.h -> open5gs_2.5.0.tar.xz/src/pcf/event.h
Changed
@@ -38,6 +38,8 @@ pcf_app_t *app; } pcf_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(pcf_event_t)); + pcf_event_t *pcf_event_new(int id); const char *pcf_event_get_name(pcf_event_t *e);
View file
open5gs_2.4.11.tar.xz/src/pcf/naf-build.c -> open5gs_2.5.0.tar.xz/src/pcf/naf-build.c
Changed
@@ -31,12 +31,18 @@ message.h.method = (char *)OGS_SBI_HTTP_METHOD_POST; message.h.uri = ogs_msprintf("%s/%s", app_session->notif_uri, OGS_SBI_RESOURCE_NAME_TERMINATE); - ogs_assert(message.h.uri); + if (!message.h.uri) { + ogs_error("No message.h.uri"); + goto end; + } request = ogs_sbi_build_request(&message); ogs_assert(request); - ogs_free(message.h.uri); +end: + + if (message.h.uri) + ogs_free(message.h.uri); return request; }
View file
open5gs_2.4.11.tar.xz/src/pcf/nbsf-build.c -> open5gs_2.5.0.tar.xz/src/pcf/nbsf-build.c
Changed
@@ -59,18 +59,27 @@ PcfBinding.ipv4_addr = sess->ipv4addr_string; PcfBinding.ipv6_prefix = sess->ipv6prefix_string; - ogs_expect_or_return_val(sess->dnn, NULL); + if (!sess->dnn) { + ogs_error("No DNN"); + goto end; + } PcfBinding.dnn = sess->dnn; nf_service = ogs_sbi_nf_service_find_by_name( nf_instance, (char *)OGS_SBI_SERVICE_NAME_NPCF_POLICYAUTHORIZATION); - ogs_expect_or_return_val(nf_service, NULL); + if (!nf_service) { + ogs_error("No NF-Service"); + goto end; + } if (nf_service->fqdn) PcfBinding.pcf_fqdn = ogs_strdup(nf_service->fqdn); - PcfIpEndPointList = OpenAPI_list_create(); - ogs_assert(PcfIpEndPointList); + PcfBinding.pcf_ip_end_points = PcfIpEndPointList = OpenAPI_list_create(); + if (!PcfIpEndPointList) { + ogs_error("No PcfIpEndPointList"); + goto end; + } for (i = 0; i < nf_service->num_of_addr; i++) { ogs_sockaddr_t *ipv4 = NULL; @@ -83,15 +92,30 @@ if (ipv4 || ipv6) { IpEndPoint = ogs_calloc(1, sizeof(*IpEndPoint)); - ogs_expect_or_return_val(IpEndPoint, NULL); + if (!IpEndPoint) { + ogs_error("No IpEndPoint"); + goto end; + } if (ipv4) { IpEndPoint->ipv4_address = ogs_ipstrdup(ipv4); - ogs_expect_or_return_val(IpEndPoint->ipv4_address, NULL); + if (!IpEndPoint->ipv4_address) { + ogs_error("No IpEndPoint->ipv4_address"); + if (IpEndPoint) + ogs_free(IpEndPoint); + goto end; + } } if (ipv6) { IpEndPoint->ipv6_address = ogs_ipstrdup(ipv6); - ogs_expect_or_return_val(IpEndPoint->ipv6_address, NULL); - + if (!IpEndPoint->ipv6_address) { + ogs_error("No IpEndPoint->ipv6_address"); + if (IpEndPoint) { + if (IpEndPoint->ipv6_address) + ogs_free(IpEndPoint->ipv6_address); + ogs_free(IpEndPoint); + } + goto end; + } } IpEndPoint->is_port = true; IpEndPoint->port = nf_service->addri.port; @@ -99,12 +123,10 @@ } } - if (PcfIpEndPointList->count) - PcfBinding.pcf_ip_end_points = PcfIpEndPointList; - else - OpenAPI_list_free(PcfIpEndPointList); - - ogs_expect_or_return_val(sess->s_nssai.sst, NULL); + if (!sess->s_nssai.sst) { + ogs_error("No SST"); + goto end; + } memset(&sNssai, 0, sizeof(sNssai)); sNssai.sst = sess->s_nssai.sst; sNssai.sd = ogs_s_nssai_sd_to_string(sess->s_nssai.sd); @@ -112,13 +134,18 @@ if (sess->management_features) { PcfBinding.supp_feat = ogs_uint64_to_string(sess->management_features); - ogs_expect_or_return_val(PcfBinding.supp_feat, NULL); + if (!PcfBinding.supp_feat) { + ogs_error("No supp_feat"); + goto end; + } } message.PcfBinding = &PcfBinding; request = ogs_sbi_build_request(&message); ogs_expect(request); + +end: if (sNssai.sd) ogs_free(sNssai.sd);
View file
open5gs_2.4.11.tar.xz/src/pcf/nnrf-handler.c -> open5gs_2.5.0.tar.xz/src/pcf/nnrf-handler.c
Changed
@@ -33,6 +33,7 @@ pcf_sess_t *sess = NULL; OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; OpenAPI_search_result_t *SearchResult = NULL; ogs_assert(recvmsg); @@ -43,6 +44,8 @@ ogs_assert(service_type); target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); ogs_assert(target_nf_type); + requester_nf_type = xact->requester_nf_type; + ogs_assert(requester_nf_type); discovery_option = xact->discovery_option; stream = xact->assoc_stream; @@ -67,15 +70,16 @@ ogs_assert_if_reached(); } - ogs_nnrf_handle_nf_discover_search_result(SearchResult); + ogs_nnrf_disc_handle_nf_discover_search_result(SearchResult); nf_instance = ogs_sbi_nf_instance_find_by_discovery_param( - target_nf_type, discovery_option); + target_nf_type, requester_nf_type, discovery_option); if (!nf_instance) { - ogs_error("%s:%d (NF discover) No %s", + ogs_error("%s:%d (NF discover) No %s:%s", pcf_ue ? pcf_ue->supi : "Unknown", sess ? sess->psi : 0, - ogs_sbi_service_type_to_name(service_type)); + ogs_sbi_service_type_to_name(service_type), + OpenAPI_nf_type_ToString(requester_nf_type)); return; }
View file
open5gs_2.4.11.tar.xz/src/pcf/nsmf-build.c -> open5gs_2.5.0.tar.xz/src/pcf/nsmf-build.c
Changed
@@ -35,7 +35,10 @@ ogs_assert(sess->notification_uri); server = ogs_list_first(&ogs_sbi_self()->server_list); - ogs_assert(server); + if (!server) { + ogs_error("No server"); + goto end; + } memset(&header, 0, sizeof(header)); header.service.name = (char *)OGS_SBI_SERVICE_NAME_NPCF_SMPOLICYCONTROL; @@ -47,7 +50,10 @@ memset(&SmPolicyNotification, 0, sizeof(SmPolicyNotification)); SmPolicyNotification.resource_uri = ogs_sbi_server_uri(server, &header); - ogs_assert(SmPolicyNotification.resource_uri); + if (!SmPolicyNotification.resource_uri) { + ogs_error("No resource_uri"); + goto end; + } SmPolicyDecision = data; ogs_assert(SmPolicyDecision); @@ -58,15 +64,22 @@ message.h.method = (char *)OGS_SBI_HTTP_METHOD_POST; message.h.uri = ogs_msprintf("%s/%s", sess->notification_uri, OGS_SBI_RESOURCE_NAME_UPDATE); - ogs_assert(message.h.uri); + if (!message.h.uri) { + ogs_error("No message.h.uri"); + goto end; + } message.SmPolicyNotification = &SmPolicyNotification; request = ogs_sbi_build_request(&message); ogs_assert(request); - ogs_free(SmPolicyNotification.resource_uri); - ogs_free(message.h.uri); +end: + + if (SmPolicyNotification.resource_uri) + ogs_free(SmPolicyNotification.resource_uri); + if (message.h.uri) + ogs_free(message.h.uri); return request; } @@ -93,12 +106,18 @@ message.h.method = (char *)OGS_SBI_HTTP_METHOD_POST; message.h.uri = ogs_msprintf("%s/%s", sess->notification_uri, OGS_SBI_RESOURCE_NAME_TERMINATE); - ogs_assert(message.h.uri); + if (!message.h.uri) { + ogs_error("No message.h.uri"); + goto end; + } request = ogs_sbi_build_request(&message); ogs_assert(request); - ogs_free(message.h.uri); +end: + + if (message.h.uri) + ogs_free(message.h.uri); return request; }
View file
open5gs_2.4.11.tar.xz/src/pcf/nudr-handler.c -> open5gs_2.5.0.tar.xz/src/pcf/nudr-handler.c
Changed
@@ -200,8 +200,11 @@ nf_instance = sess->sbi.service_type_arrayservice_type.nf_instance; if (!nf_instance) { - nf_instance = - ogs_sbi_nf_instance_find_by_service_type(service_type); + OpenAPI_nf_type_e requester_nf_type = + NF_INSTANCE_TYPE(ogs_sbi_self()->nf_instance); + ogs_assert(requester_nf_type); + nf_instance = ogs_sbi_nf_instance_find_by_service_type( + service_type, requester_nf_type); if (nf_instance) OGS_SBI_SETUP_NF_INSTANCE( sess->sbi.service_type_arrayservice_type,
View file
open5gs_2.4.11.tar.xz/src/pcf/pcf-sm.c -> open5gs_2.5.0.tar.xz/src/pcf/pcf-sm.c
Changed
@@ -100,7 +100,7 @@ CASE(OGS_SBI_RESOURCE_NAME_NF_STATUS_NOTIFY) SWITCH(message.h.method) CASE(OGS_SBI_HTTP_METHOD_POST) - ogs_nnrf_handle_nf_status_notify(stream, &message); + ogs_nnrf_nfm_handle_nf_status_notify(stream, &message); break; DEFAULT @@ -330,7 +330,7 @@ CASE(OGS_SBI_HTTP_METHOD_POST) if (message.res_status == OGS_SBI_HTTP_STATUS_CREATED || message.res_status == OGS_SBI_HTTP_STATUS_OK) { - ogs_nnrf_handle_nf_status_subscribe( + ogs_nnrf_nfm_handle_nf_status_subscribe( subscription_data, &message); } else { ogs_error("%s HTTP response error %d",
View file
open5gs_2.4.11.tar.xz/src/pcf/sbi-path.c -> open5gs_2.5.0.tar.xz/src/pcf/sbi-path.c
Changed
@@ -19,61 +19,6 @@ #include "sbi-path.h" -static int server_cb(ogs_sbi_request_t *request, void *data) -{ - pcf_event_t *e = NULL; - int rv; - - ogs_assert(request); - ogs_assert(data); - - e = pcf_event_new(OGS_EVENT_SBI_SERVER); - ogs_assert(e); - - e->h.sbi.request = request; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_request_free(request); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - -static int client_cb(int status, ogs_sbi_response_t *response, void *data) -{ - pcf_event_t *e = NULL; - int rv; - - if (status != OGS_OK) { - ogs_log_message( - status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0, - "client_cb() failed %d", status); - return OGS_ERROR; - } - - ogs_assert(response); - - e = pcf_event_new(OGS_EVENT_SBI_CLIENT); - ogs_assert(e); - e->h.sbi.response = response; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_response_free(response); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - int pcf_sbi_open(void) { ogs_sbi_nf_instance_t *nf_instance = NULL; @@ -82,7 +27,7 @@ bool smpolicycontrol_enabled = false; bool policyauthorization_enabled = false; - /* Add SELF NF instance */ + /* Initialize SELF NF instance */ nf_instance = ogs_sbi_self()->nf_instance; ogs_assert(nf_instance); ogs_sbi_nf_fsm_init(nf_instance); @@ -148,18 +93,8 @@ /* Initialize NRF NF Instance */ nf_instance = ogs_sbi_self()->nrf_instance; - if (nf_instance) { - ogs_sbi_client_t *client = NULL; - - /* Client callback is only used when NF sends to NRF */ - client = nf_instance->client; - ogs_assert(client); - client->cb = client_cb; - - /* NFRegister is sent and the response is received - * by the above client callback. */ + if (nf_instance) ogs_sbi_nf_fsm_init(nf_instance); - } /* Build Subscription-Data */ ogs_sbi_subscription_data_build_default( @@ -167,7 +102,7 @@ ogs_sbi_subscription_data_build_default( OpenAPI_nf_type_UDR, OGS_SBI_SERVICE_NAME_NUDR_DR); - if (ogs_sbi_server_start_all(server_cb) != OGS_OK) + if (ogs_sbi_server_start_all(ogs_sbi_server_handler) != OGS_OK) return OGS_ERROR; return OGS_OK; @@ -179,11 +114,12 @@ ogs_sbi_server_stop_all(); } -bool pcf_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data) +bool pcf_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact) { ogs_assert(nf_instance); - - return ogs_sbi_send_request(nf_instance, client_cb, data); + ogs_assert(xact); + return ogs_sbi_send_request_to_nf_instance(nf_instance, xact); } static bool pcf_sbi_discover_and_send( @@ -207,7 +143,7 @@ xact->assoc_stream = stream; - if (ogs_sbi_discover_and_send(xact, client_cb) != true) { + if (ogs_sbi_discover_and_send(xact) != true) { ogs_error("ogs_sbi_discover_and_send() failed"); ogs_sbi_xact_remove(xact); return false; @@ -250,7 +186,7 @@ xact->assoc_stream = stream; - return ogs_sbi_discover_only(xact, client_cb); + return ogs_sbi_discover_only(xact); } bool pcf_sess_sbi_discover_and_send( @@ -320,6 +256,7 @@ bool pcf_sbi_send_am_policy_control_notify(pcf_ue_t *pcf_ue) { + bool rc; ogs_sbi_request_t *request = NULL; ogs_sbi_client_t *client = NULL; @@ -329,12 +266,20 @@ request = pcf_namf_callback_build_am_policy_control(pcf_ue, NULL); ogs_expect_or_return_val(request, false); - return ogs_sbi_client_send_request(client, client_notify_cb, request, NULL); + + rc = ogs_sbi_send_request_to_client( + client, client_notify_cb, request, NULL); + ogs_expect(rc == true); + + ogs_sbi_request_free(request); + + return rc; } bool pcf_sbi_send_smpolicycontrol_update_notify( pcf_sess_t *sess, OpenAPI_sm_policy_decision_t *SmPolicyDecision) { + bool rc; ogs_sbi_request_t *request = NULL; ogs_sbi_client_t *client = NULL; @@ -345,13 +290,21 @@ request = pcf_nsmf_callback_build_smpolicycontrol_update( sess, SmPolicyDecision); ogs_expect_or_return_val(request, false); - return ogs_sbi_client_send_request(client, client_notify_cb, request, NULL); + + rc = ogs_sbi_send_request_to_client( + client, client_notify_cb, request, NULL); + ogs_expect(rc == true); + + ogs_sbi_request_free(request); + + return rc; } bool pcf_sbi_send_smpolicycontrol_delete_notify( pcf_sess_t *sess, pcf_app_t *app_session, OpenAPI_sm_policy_decision_t *SmPolicyDecision) { + bool rc; ogs_sbi_request_t *request = NULL; ogs_sbi_client_t *client = NULL; @@ -362,12 +315,19 @@ request = pcf_nsmf_callback_build_smpolicycontrol_update( sess, SmPolicyDecision); ogs_expect_or_return_val(request, false); - return ogs_sbi_client_send_request( + + rc = ogs_sbi_send_request_to_client( client, client_delete_notify_cb, request, app_session); + ogs_expect(rc == true); + + ogs_sbi_request_free(request); + + return rc; } bool pcf_sbi_send_smpolicycontrol_terminate_notify(pcf_sess_t *sess) { + bool rc; ogs_sbi_request_t *request = NULL; ogs_sbi_client_t *client = NULL; @@ -377,11 +337,19 @@ request = pcf_nsmf_callback_build_smpolicycontrol_terminate(sess, NULL); ogs_expect_or_return_val(request, false); - return ogs_sbi_client_send_request(client, client_notify_cb, request, NULL); + + rc = ogs_sbi_send_request_to_client( + client, client_notify_cb, request, NULL); + ogs_expect(rc == true); + + ogs_sbi_request_free(request); + + return rc; } bool pcf_sbi_send_policyauthorization_terminate_notify(pcf_app_t *app) { + bool rc; ogs_sbi_request_t *request = NULL; ogs_sbi_client_t *client = NULL; @@ -391,5 +359,12 @@ request = pcf_naf_callback_build_policyauthorization_terminate(app, NULL); ogs_expect_or_return_val(request, false); - return ogs_sbi_client_send_request(client, client_notify_cb, request, NULL); + + rc = ogs_sbi_send_request_to_client( + client, client_notify_cb, request, NULL); + ogs_expect(rc == true); + + ogs_sbi_request_free(request); + + return rc; }
View file
open5gs_2.4.11.tar.xz/src/pcf/sbi-path.h -> open5gs_2.5.0.tar.xz/src/pcf/sbi-path.h
Changed
@@ -33,7 +33,8 @@ int pcf_sbi_open(void); void pcf_sbi_close(void); -bool pcf_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data); +bool pcf_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact); bool pcf_ue_sbi_discover_and_send( ogs_sbi_service_type_e service_type, ogs_sbi_discovery_option_t *discovery_option,
View file
open5gs_2.4.11.tar.xz/src/scp/context.c -> open5gs_2.5.0.tar.xz/src/scp/context.c
Changed
@@ -23,11 +23,11 @@ int __scp_log_domain; -static OGS_POOL(scp_conn_pool, scp_conn_t); +static OGS_POOL(scp_assoc_pool, scp_assoc_t); static int context_initialized = 0; -static int max_num_of_scp_conn = 0; +static int max_num_of_scp_assoc = 0; void scp_context_init(void) { @@ -38,10 +38,10 @@ ogs_log_install_domain(&__scp_log_domain, "scp", ogs_core()->log.level); -#define MAX_NUM_OF_SCP_CONN 8 - max_num_of_scp_conn = ogs_app()->max.ue * MAX_NUM_OF_SCP_CONN; +#define MAX_NUM_OF_SCP_ASSOC 8 + max_num_of_scp_assoc = ogs_app()->max.ue * MAX_NUM_OF_SCP_ASSOC; - ogs_pool_init(&scp_conn_pool, max_num_of_scp_conn); + ogs_pool_init(&scp_assoc_pool, max_num_of_scp_assoc); context_initialized = 1; } @@ -50,9 +50,9 @@ { ogs_assert(context_initialized == 1); - scp_conn_remove_all(); + scp_assoc_remove_all(); - ogs_pool_final(&scp_conn_pool); + ogs_pool_final(&scp_assoc_pool); context_initialized = 0; } @@ -112,48 +112,50 @@ return OGS_OK; } -scp_conn_t *scp_conn_add(ogs_sbi_stream_t *stream) +scp_assoc_t *scp_assoc_add(ogs_sbi_stream_t *stream) { - scp_conn_t *conn = NULL; + scp_assoc_t *assoc = NULL; ogs_assert(stream); - ogs_pool_alloc(&scp_conn_pool, &conn); - if (!conn) { - ogs_error("Maximum number of connection%d reached", - max_num_of_scp_conn); + ogs_pool_alloc(&scp_assoc_pool, &assoc); + if (!assoc) { + ogs_error("Maximum number of association%d reached", + max_num_of_scp_assoc); return NULL; } - memset(conn, 0, sizeof *conn); + memset(assoc, 0, sizeof *assoc); - conn->stream = stream; + assoc->stream = stream; - ogs_list_add(&self.conn_list, conn); + ogs_list_add(&self.assoc_list, assoc); - return conn; + return assoc; } -void scp_conn_remove(scp_conn_t *conn) +void scp_assoc_remove(scp_assoc_t *assoc) { - ogs_assert(conn); + ogs_assert(assoc); - ogs_list_remove(&self.conn_list, conn); + ogs_list_remove(&self.assoc_list, assoc); - if (conn->client) - ogs_sbi_client_remove(conn->client); + if (assoc->client) + ogs_sbi_client_remove(assoc->client); + if (assoc->nrf_client) + ogs_sbi_client_remove(assoc->nrf_client); - ogs_pool_free(&scp_conn_pool, conn); + ogs_pool_free(&scp_assoc_pool, assoc); } -void scp_conn_remove_all(void) +void scp_assoc_remove_all(void) { - scp_conn_t *conn = NULL, *next_conn = NULL; + scp_assoc_t *assoc = NULL, *next_assoc = NULL; - ogs_list_for_each_safe(&self.conn_list, next_conn, conn) - scp_conn_remove(conn); + ogs_list_for_each_safe(&self.assoc_list, next_assoc, assoc) + scp_assoc_remove(assoc); } -scp_conn_t *scp_conn_find(uint32_t index) +scp_assoc_t *scp_assoc_find(uint32_t index) { - return ogs_pool_find(&scp_conn_pool, index); + return ogs_pool_find(&scp_assoc_pool, index); }
View file
open5gs_2.4.11.tar.xz/src/scp/context.h -> open5gs_2.5.0.tar.xz/src/scp/context.h
Changed
@@ -35,20 +35,25 @@ #define OGS_LOG_DOMAIN __scp_log_domain typedef struct scp_context_s { - ogs_list_t conn_list; + ogs_list_t assoc_list; } scp_context_t; -typedef struct scp_conn_s scp_conn_t; +typedef struct scp_assoc_s scp_assoc_t; -typedef struct scp_conn_s { +typedef struct scp_assoc_s { ogs_sbi_object_t sbi; + ogs_sbi_stream_t *stream; + ogs_sbi_client_t *client; + ogs_sbi_client_t *nrf_client; - ogs_sbi_stream_t *stream; ogs_sbi_request_t *request; + ogs_sbi_service_type_e service_type; + OpenAPI_nf_type_e requester_nf_type; -} scp_conn_t; + ogs_sbi_nf_instance_t *nf_service_producer; +} scp_assoc_t; void scp_context_init(void); void scp_context_final(void); @@ -56,11 +61,11 @@ int scp_context_parse_config(void); -scp_conn_t *scp_conn_add(ogs_sbi_stream_t *stream); -void scp_conn_remove(scp_conn_t *sess); -void scp_conn_remove_all(void); +scp_assoc_t *scp_assoc_add(ogs_sbi_stream_t *stream); +void scp_assoc_remove(scp_assoc_t *sess); +void scp_assoc_remove_all(void); -scp_conn_t *scp_conn_find(uint32_t index); +scp_assoc_t *scp_assoc_find(uint32_t index); #ifdef __cplusplus }
View file
open5gs_2.4.11.tar.xz/src/scp/event.h -> open5gs_2.5.0.tar.xz/src/scp/event.h
Changed
@@ -36,6 +36,8 @@ scp_sess_t *sess; } scp_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(scp_event_t)); + scp_event_t *scp_event_new(int id); const char *scp_event_get_name(scp_event_t *e);
View file
open5gs_2.4.11.tar.xz/src/scp/meson.build -> open5gs_2.5.0.tar.xz/src/scp/meson.build
Changed
@@ -19,9 +19,6 @@ context.c event.c - nnrf-handler.c - nscp-handler.c - sbi-path.c scp-sm.c
View file
open5gs_2.4.11.tar.xz/src/scp/sbi-path.c -> open5gs_2.5.0.tar.xz/src/scp/sbi-path.c
Changed
@@ -22,14 +22,19 @@ static int request_handler(ogs_sbi_request_t *request, void *data); static int response_handler( int status, ogs_sbi_response_t *response, void *data); +static int discover_handler( + int status, ogs_sbi_response_t *response, void *data); -static int client_cb(int status, ogs_sbi_response_t *response, void *data); +static void copy_request( + ogs_sbi_request_t *target, ogs_sbi_request_t *source, + bool include_discovery); int scp_sbi_open(void) { - ogs_sbi_nf_instance_t *nf_instance = NULL; + ogs_sbi_nf_instance_t *nf_instance = NULL, *nrf_instance = NULL; + ogs_sbi_client_t *nrf_client = NULL, *next_scp = NULL; - /* Add SELF NF instance */ + /* Initialize SELF NF instance */ nf_instance = ogs_sbi_self()->nf_instance; ogs_assert(nf_instance); ogs_sbi_nf_fsm_init(nf_instance); @@ -37,30 +42,43 @@ /* Build NF instance information. It will be transmitted to NRF. */ ogs_sbi_nf_instance_build_default(nf_instance, OpenAPI_nf_type_SCP); - /* Initialize NRF NF Instance */ - nf_instance = ogs_sbi_self()->nrf_instance; - if (nf_instance) { - ogs_sbi_client_t *client = NULL; + /* + * If the SCP is running in Model D, + * it can send NFRegister/NFStatusSubscribe messages to the NRF. + */ + nrf_instance = ogs_sbi_self()->nrf_instance; + nrf_client = NF_INSTANCE_CLIENT(ogs_sbi_self()->nrf_instance); + + if (nrf_client) { + + /* Initialize NRF NF Instance */ + if (nrf_instance) + ogs_sbi_nf_fsm_init(nrf_instance); + } - /* Client callback is only used when NF sends to NRF */ - client = nf_instance->client; - ogs_assert(client); - client->cb = client_cb; + /* Check if Next-SCP's client */ + if (ogs_sbi_self()->discovery_config.delegated == + OGS_SBI_DISCOVERY_DELEGATED_AUTO) { + next_scp = NF_INSTANCE_CLIENT(ogs_sbi_self()->scp_instance); + } else if (ogs_sbi_self()->discovery_config.delegated == + OGS_SBI_DISCOVERY_DELEGATED_YES) { + next_scp = NF_INSTANCE_CLIENT(ogs_sbi_self()->scp_instance); + ogs_assert(next_scp); + } - /* NFRegister is sent and the response is received - * by the above client callback. */ - ogs_sbi_nf_fsm_init(nf_instance); - } - - /* Build Subscription-Data */ - ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_AMF, NULL); - ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_AUSF, NULL); - ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_BSF, NULL); - ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_NSSF, NULL); - ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_PCF, NULL); - ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_SMF, NULL); - ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_UDM, NULL); - ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_UDR, NULL); + /* If the SCP has an NRF client and does not delegate to Next-SCP */ + if (nrf_client && !next_scp) { + + /* Build Subscription-Data */ + ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_AMF, NULL); + ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_AUSF, NULL); + ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_BSF, NULL); + ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_NSSF, NULL); + ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_PCF, NULL); + ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_SMF, NULL); + ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_UDM, NULL); + ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_UDR, NULL); + } if (ogs_sbi_server_start_all(request_handler) != OGS_OK) return OGS_ERROR; @@ -74,28 +92,54 @@ ogs_sbi_server_stop_all(); } -static int request_handler(ogs_sbi_request_t *source, void *data) +static int request_handler(ogs_sbi_request_t *request, void *data) { int rv; ogs_hash_index_t *hi; + ogs_sbi_client_t *client = NULL, *nrf_client = NULL, *next_scp = NULL; ogs_sbi_stream_t *stream = data; + ogs_sbi_request_t scp_request; + char *apiroot = NULL, *newuri = NULL; + + OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; + ogs_sbi_discovery_option_t *discovery_option = NULL; + ogs_sbi_service_type_e service_type = OGS_SBI_SERVICE_TYPE_NULL; + bool discovery_presence = false; + + scp_assoc_t *assoc = NULL; + ogs_sbi_nf_instance_t *nf_instance = NULL; + struct { char *target_apiroot; - char *discovery; - char *accept; - char *content_type; - char *content_encoding; - } headers; + char *callback; + char *nrf_uri; + } headers = { + NULL, NULL, NULL + }; - ogs_assert(source); - ogs_assert(source->h.uri); + scp_event_t *e = NULL; + + ogs_assert(request); + ogs_assert(request->h.uri); ogs_assert(stream); - memset(&headers, 0, sizeof(headers)); + /* Check if Next-SCP's client */ + if (ogs_sbi_self()->discovery_config.delegated == + OGS_SBI_DISCOVERY_DELEGATED_AUTO) { + next_scp = NF_INSTANCE_CLIENT(ogs_sbi_self()->scp_instance); + } else if (ogs_sbi_self()->discovery_config.delegated == + OGS_SBI_DISCOVERY_DELEGATED_YES) { + next_scp = NF_INSTANCE_CLIENT(ogs_sbi_self()->scp_instance); + ogs_assert(next_scp); + } + + discovery_option = ogs_sbi_discovery_option_new(); + ogs_assert(discovery_option); /* Extract HTTP Header */ - for (hi = ogs_hash_first(source->http.headers); + for (hi = ogs_hash_first(request->http.headers); hi; hi = ogs_hash_next(hi)) { char *key = (char *)ogs_hash_this_key(hi); char *val = ogs_hash_this_val(hi); @@ -110,99 +154,129 @@ * Each header field consists of a name followed by a colon (":") * and the field value. Field names are case-insensitive. */ - if (!strcasecmp(key, OGS_SBI_CUSTOM_TARGET_APIROOT)) { + if (!strcasecmp(key, OGS_SBI_USER_AGENT)) { + if (val) requester_nf_type = OpenAPI_nf_type_FromString(val); + } else if (!strcasecmp(key, OGS_SBI_CUSTOM_TARGET_APIROOT)) { headers.target_apiroot = val; - } else if (!strncasecmp(key, - OGS_SBI_CUSTOM_DISCOVERY_COMMON, - strlen(OGS_SBI_CUSTOM_DISCOVERY_COMMON))) { - headers.discovery = val; - } else if (!strcasecmp(key, OGS_SBI_ACCEPT)) { - headers.accept = val; - } else if (!strcasecmp(key, OGS_SBI_CONTENT_TYPE)) { - headers.content_type = val; - } else if (!strcasecmp(key, OGS_SBI_ACCEPT_ENCODING)) { - headers.content_encoding = val; + } else if (!strcasecmp(key, OGS_SBI_CUSTOM_CALLBACK)) { + headers.callback = val; + } else if (!strcasecmp(key, OGS_SBI_CUSTOM_NRF_URI)) { + headers.nrf_uri = val; + } else if (!strcasecmp(key, OGS_SBI_CUSTOM_DISCOVERY_TARGET_NF_TYPE)) { + if (val) target_nf_type = OpenAPI_nf_type_FromString(val); + } else if (!strcasecmp(key, + OGS_SBI_CUSTOM_DISCOVERY_REQUESTER_NF_TYPE)) { + ogs_warn("Use User-Agent instead of Discovery-requester-nf-type"); + } else if (!strcasecmp(key, + OGS_SBI_CUSTOM_DISCOVERY_TARGET_NF_INSTANCE_ID)) { + ogs_sbi_discovery_option_set_target_nf_instance_id( + discovery_option, val); + } else if (!strcasecmp(key, + OGS_SBI_CUSTOM_DISCOVERY_REQUESTER_NF_INSTANCE_ID)) { + ogs_sbi_discovery_option_set_requester_nf_instance_id( + discovery_option, val); + } else if (!strcasecmp(key, OGS_SBI_CUSTOM_DISCOVERY_SERVICE_NAMES)) { + if (val) + ogs_sbi_discovery_option_parse_service_names( + discovery_option, val); + + /* + * So, we'll use the first item in service-names list. + * + * TS29.500 + * 6.10 Support of Indirect Communication + * 6.10.3 NF Discovery and Selection for indirect communication + * with Delegated Discovery + * 6.10.3.2 Conveyance of NF Discovery Factors + * + * If the NF service consumer includes more than one service name + * in the 3gpp-Sbi-Discovery-service-names header, the service name + * corresponding to the service request shall be listed + * as the first service name in the header. + * + * NOTE 3: The SCP can assume that the service request corresponds + * to the first service name in the header. + */ + if (discovery_option->num_of_service_names) { + service_type = ogs_sbi_service_type_from_name( + discovery_option->service_names0); + } + } else if (!strcasecmp(key, OGS_SBI_SCHEME)) { + /* ':scheme' will be automatically filled in later */ + } else if (!strcasecmp(key, OGS_SBI_AUTHORITY)) { + /* ':authority' will be automatically filled in later */ + } else { } } - if (headers.target_apiroot) { - ogs_sbi_nf_instance_t *scp_instance = NULL; - ogs_sbi_client_t *client = NULL; - ogs_sbi_request_t target; - - scp_conn_t *conn = NULL; - - memset(&target, 0, sizeof(target)); - - conn = scp_conn_add(stream); - if (!conn) { - ogs_error("scp_conn_add() failed"); - ogs_sbi_request_free(source); + /* Check if Discovery Parameter and Option */ + discovery_presence = false; + + if (!requester_nf_type) { + ogs_error("%s No User-Agent", request->h.uri); + + ogs_sbi_discovery_option_free(discovery_option); + return OGS_ERROR; + } + + if (target_nf_type || service_type) { + if (!target_nf_type || !service_type) { + ogs_error("%s No Mandatory Discovery %d:%d", + request->h.uri, target_nf_type, service_type); + + ogs_sbi_discovery_option_free(discovery_option); return OGS_ERROR; } - if (ogs_sbi_self()->discovery_config.delegated == - OGS_SBI_DISCOVERY_DELEGATED_AUTO) { - scp_instance = ogs_sbi_self()->scp_instance; - } else if (ogs_sbi_self()->discovery_config.delegated == - OGS_SBI_DISCOVERY_DELEGATED_YES) { - scp_instance = ogs_sbi_self()->scp_instance; - ogs_assert(scp_instance); - } - - /* HTTP Method */ - target.h.method = source->h.method; - - /* HTTP Headers - * - * To remove the followings, - * Scheme - https - * Authority - scp.open5gs.org - * - * We regenerate the HTTP Headers. - */ - target.http.headers = ogs_hash_make(); - ogs_assert(target.http.headers); + if (target_nf_type == OpenAPI_nf_type_NRF) + client = NF_INSTANCE_CLIENT(ogs_sbi_self()->nrf_instance); + else { + if (discovery_option && discovery_option->target_nf_instance_id) { + nf_instance = ogs_sbi_nf_instance_find( + discovery_option->target_nf_instance_id); + if (nf_instance) { + client = ogs_sbi_client_find_by_service_type( + nf_instance, service_type); + if (!client) { + ogs_error("%s:%s Cannot find client %s:%s", + OpenAPI_nf_type_ToString(nf_instance->nf_type), + nf_instance->id, + OpenAPI_nf_type_ToString(target_nf_type), + ogs_sbi_service_type_to_name(service_type)); + } + } + } + } + + discovery_presence = true; + } + + /************************************ + * Send REQUEST message to the CLIENT + ************************************/ + if (next_scp || headers.target_apiroot || client) { + assoc = scp_assoc_add(stream); + if (!assoc) { + ogs_error("scp_assoc_add() failed"); + ogs_sbi_discovery_option_free(discovery_option); + return OGS_ERROR; + } - if (headers.content_type) - ogs_sbi_header_set(target.http.headers, - OGS_SBI_CONTENT_TYPE, headers.content_type); - if (headers.accept) - ogs_sbi_header_set(target.http.headers, - OGS_SBI_ACCEPT, headers.accept); - if (headers.content_encoding) - ogs_sbi_header_set(target.http.headers, - OGS_SBI_ACCEPT_ENCODING, headers.content_encoding); - - /* HTTP Params */ - target.http.params = source->http.params; - - /* HTTP Content */ - target.http.content = source->http.content; - target.http.content_length = source->http.content_length; - - if (scp_instance) { - char *apiroot = NULL; - - if (headers.target_apiroot) - ogs_sbi_header_set(target.http.headers, - OGS_SBI_CUSTOM_TARGET_APIROOT, headers.target_apiroot); - - /* Client Instance */ - client = scp_instance->client; - ogs_assert(client); + if (next_scp) { + /* Switch to the Next-SCP's client */ + client = next_scp; /* Client ApiRoot */ apiroot = ogs_sbi_client_apiroot(client); ogs_assert(apiroot); /* Setup New URI */ - target.h.uri = ogs_msprintf("%s%s", apiroot, source->h.uri); - ogs_assert(target.h.uri); + newuri = ogs_msprintf("%s%s", apiroot, request->h.uri); + ogs_assert(newuri); ogs_free(apiroot); - } else { + } else if (headers.target_apiroot) { ogs_sockaddr_t *addr = NULL; /* Find or Add Client Instance */ @@ -210,11 +284,10 @@ if (!addr) { ogs_error("Invalid Target-apiRoot %s", headers.target_apiroot); - ogs_sbi_http_hash_free(target.http.headers); - ogs_free(target.h.uri); - ogs_sbi_request_free(source); - scp_conn_remove(conn); + ogs_sbi_discovery_option_free(discovery_option); + scp_assoc_remove(assoc); + return OGS_ERROR; } @@ -222,69 +295,221 @@ if (!client) { client = ogs_sbi_client_add(addr); ogs_assert(client); - client->cb = client_cb; } - OGS_SBI_SETUP_CLIENT(conn, client); + OGS_SBI_SETUP_CLIENT(assoc, client); ogs_freeaddrinfo(addr); /* Setup New URI */ - target.h.uri = ogs_msprintf("%s%s", - headers.target_apiroot, source->h.uri); - ogs_assert(target.h.uri); + newuri = ogs_msprintf("%s%s", + headers.target_apiroot, request->h.uri); + ogs_assert(newuri); + + } else if (client) { + /* Client ApiRoot */ + apiroot = ogs_sbi_client_apiroot(client); + ogs_assert(apiroot); + + /* Setup New URI */ + newuri = ogs_msprintf("%s%s", apiroot, request->h.uri); + ogs_assert(newuri); + + ogs_free(apiroot); } + /* Check assocation and client instance */ + ogs_assert(assoc); + ogs_assert(client); + + /* Copy Request for sending SCP */ + copy_request(&scp_request, request, next_scp ? true : false); + ogs_assert(scp_request.http.headers); + + /* Setup NEW URI */ + scp_request.h.uri = newuri; + ogs_assert(scp_request.h.uri); + /* Send the HTTP Request with New URI and HTTP Headers */ - if (ogs_sbi_client_send_reqmem_persistent( - client, response_handler, &target, conn) != true) { + if (ogs_sbi_client_send_request( + client, response_handler, &scp_request, assoc) != true) { ogs_error("ogs_sbi_client_send_request() failed"); - ogs_sbi_http_hash_free(target.http.headers); - ogs_free(target.h.uri); - ogs_sbi_request_free(source); - scp_conn_remove(conn); + ogs_sbi_http_hash_free(scp_request.http.headers); + ogs_free(scp_request.h.uri); + ogs_sbi_discovery_option_free(discovery_option); + scp_assoc_remove(assoc); + return OGS_ERROR; } - ogs_sbi_http_hash_free(target.http.headers); - ogs_free(target.h.uri); + ogs_sbi_http_hash_free(scp_request.http.headers); + ogs_free(scp_request.h.uri); + ogs_sbi_discovery_option_free(discovery_option); + + return OGS_OK; + } + + /******************************* + * Send DISCOVERY message to NRF + *******************************/ + if (discovery_presence == true) { + ogs_sbi_request_t *nrf_request = NULL; + + assoc = scp_assoc_add(stream); + if (!assoc) { + ogs_error("scp_assoc_add() failed"); + ogs_sbi_discovery_option_free(discovery_option); + return OGS_ERROR; + } + + if (headers.nrf_uri) { + char *key = NULL; + char *nnrf_disc = NULL; + char *nnrf_nfm = NULL; + char *nnrf_oauth2 = NULL; + + char *tmp = NULL, *p = NULL; + char *v_start = NULL, *v_end = NULL; + + tmp = ogs_strdup(headers.nrf_uri); + ogs_assert(tmp); + + for (key = ogs_strtok_r(tmp, ": ", &p); + key != NULL; key = ogs_strtok_r(NULL, ": ", &p)) { + + v_start = v_end = NULL; + + while (*p++) { + if (*p == ';') { + if ((v_start && v_end) || !v_start) { + p++; + break; + } + } else if (*p == '"') { + if (!v_start) v_start = p+1; + else if (!v_end) v_end = p; + } + } + + if (v_start && v_end) { + SWITCH(key) + CASE(OGS_SBI_SERVICE_NAME_NNRF_NFM) + nnrf_nfm = ogs_strndup(v_start, v_end-v_start); + break; + CASE(OGS_SBI_SERVICE_NAME_NNRF_DISC) + nnrf_disc = ogs_strndup(v_start, v_end-v_start); + break; + CASE(OGS_SBI_SERVICE_NAME_NNRF_OAUTH2) + nnrf_oauth2 = ogs_strndup(v_start, v_end-v_start); + break; + DEFAULT + END + } + } + + ogs_free(tmp); + + /* Find or Add Client Instance */ + if (nnrf_disc) { + ogs_sockaddr_t *addr = NULL; + + addr = ogs_sbi_getaddr_from_uri(nnrf_disc); + if (!addr) { + ogs_error("Invalid nnrf-disc %s", nnrf_disc); + + ogs_sbi_discovery_option_free(discovery_option); + scp_assoc_remove(assoc); + + return OGS_ERROR; + } + + nrf_client = ogs_sbi_client_find(addr); + if (!nrf_client) { + nrf_client = ogs_sbi_client_add(addr); + ogs_assert(nrf_client); + } + OGS_SBI_SETUP_CLIENT(assoc, nrf_client); + + ogs_freeaddrinfo(addr); + } + + if (nnrf_nfm) ogs_free(nnrf_nfm); + if (nnrf_disc) ogs_free(nnrf_disc); + if (nnrf_oauth2) ogs_free(nnrf_oauth2); + } + + if (!nrf_client) { + nrf_client = NF_INSTANCE_CLIENT(ogs_sbi_self()->nrf_instance); + if (!nrf_client) { + ogs_error("No NRF"); + + ogs_sbi_discovery_option_free(discovery_option); + scp_assoc_remove(assoc); + + return OGS_ERROR; + } + } - } else if (headers.discovery) { - scp_event_t *e = NULL; + /* Store request and service-type in association context */ + assoc->request = request; + ogs_assert(assoc->request); + assoc->service_type = service_type; + ogs_assert(assoc->service_type); + assoc->requester_nf_type = requester_nf_type; + ogs_assert(assoc->requester_nf_type); + + ogs_assert(target_nf_type); + ogs_assert(discovery_option); + + nrf_request = ogs_nnrf_disc_build_discover( + target_nf_type, requester_nf_type, discovery_option); + if (!nrf_request) { + ogs_error("ogs_nnrf_disc_build_discover() failed"); - e = scp_event_new(OGS_EVENT_SBI_SERVER); - ogs_assert(e); + ogs_sbi_discovery_option_free(discovery_option); + scp_assoc_remove(assoc); - e->h.sbi.request = source; - e->h.sbi.data = stream; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_request_free(source); - ogs_event_free(e); return OGS_ERROR; } - } else { - scp_event_t *e = NULL; - int rv; - - ogs_assert(source); - ogs_assert(data); - - e = scp_event_new(OGS_EVENT_SBI_SERVER); - ogs_assert(e); - - e->h.sbi.request = source; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_request_free(source); - ogs_event_free(e); + + if (false == ogs_sbi_client_send_request( + nrf_client, discover_handler, nrf_request, assoc)) { + ogs_error("ogs_sbi_client_send_request() failed"); + + scp_assoc_remove(assoc); + + ogs_sbi_request_free(nrf_request); + ogs_sbi_discovery_option_free(discovery_option); + return OGS_ERROR; } + + ogs_sbi_request_free(nrf_request); + ogs_sbi_discovery_option_free(discovery_option); + + return OGS_OK; + } + + ogs_sbi_discovery_option_free(discovery_option); + + /*************************************** + * Receive NOTIFICATION message from NRF + ***************************************/ + ogs_assert(request); + ogs_assert(data); + + e = scp_event_new(OGS_EVENT_SBI_SERVER); + ogs_assert(e); + + e->h.sbi.request = request; + e->h.sbi.data = data; + + rv = ogs_queue_push(ogs_app()->queue, e); + if (rv != OGS_OK) { + ogs_error("ogs_queue_push() failed:%d", (int)rv); + + ogs_event_free(e); + return OGS_ERROR; } return OGS_OK; @@ -293,11 +518,11 @@ static int response_handler( int status, ogs_sbi_response_t *response, void *data) { - scp_conn_t *conn = data; + scp_assoc_t *assoc = data; ogs_sbi_stream_t *stream = NULL; - ogs_assert(conn); - stream = conn->stream; + ogs_assert(assoc); + stream = assoc->stream; ogs_assert(stream); if (status != OGS_OK) { @@ -311,91 +536,233 @@ OGS_SBI_HTTP_STATUS_INTERNAL_SERVER_ERROR, NULL, "response_handler() failed", NULL)); - scp_conn_remove(conn); + scp_assoc_remove(assoc); return OGS_ERROR; } ogs_assert(response); + + if (assoc->nf_service_producer) { + if (assoc->nf_service_producer->id) + ogs_sbi_header_set(response->http.headers, + OGS_SBI_CUSTOM_PRODUCER_ID, assoc->nf_service_producer->id); + else + ogs_error("No NF-Instance ID"); + } + ogs_assert(true == ogs_sbi_server_send_response(stream, response)); - scp_conn_remove(conn); + scp_assoc_remove(assoc); return OGS_OK; } -static int client_cb(int status, ogs_sbi_response_t *response, void *data) +static int discover_handler( + int status, ogs_sbi_response_t *response, void *data) { - scp_event_t *e = NULL; int rv; + char *strerror = NULL; + ogs_sbi_message_t message; + + scp_assoc_t *assoc = data; + ogs_sbi_stream_t *stream = NULL; + ogs_sbi_request_t *request = NULL; + ogs_sbi_service_type_e service_type = OGS_SBI_SERVICE_TYPE_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; + + ogs_sbi_request_t scp_request; + char *apiroot = NULL; + + ogs_sbi_nf_instance_t *nf_instance = NULL; + ogs_sbi_client_t *client = NULL, *next_scp = NULL; + + ogs_assert(assoc); + stream = assoc->stream; + ogs_assert(stream); + request = assoc->request; + ogs_assert(request); + service_type = assoc->service_type; + ogs_assert(service_type); + requester_nf_type = assoc->requester_nf_type; + ogs_assert(requester_nf_type); if (status != OGS_OK) { + ogs_log_message( status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0, - "client_cb() failed %d", status); + "response_handler() failed %d", status); + + ogs_assert(true == + ogs_sbi_server_send_error(stream, + OGS_SBI_HTTP_STATUS_INTERNAL_SERVER_ERROR, NULL, + "response_handler() failed", NULL)); + + scp_assoc_remove(assoc); + return OGS_ERROR; } ogs_assert(response); - e = scp_event_new(OGS_EVENT_SBI_CLIENT); - ogs_assert(e); - e->h.sbi.response = response; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); + rv = ogs_sbi_parse_response(&message, response); if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_response_free(response); - ogs_event_free(e); - return OGS_ERROR; + strerror = ogs_msprintf("cannot parse HTTP response"); + goto cleanup; + } + + if (message.res_status != OGS_SBI_HTTP_STATUS_OK) { + strerror = ogs_msprintf("NF-Discover failed %d", message.res_status); + goto cleanup; + } + + if (!message.SearchResult) { + strerror = ogs_msprintf("No SearchResult"); + goto cleanup; + } + + ogs_nnrf_disc_handle_nf_discover_search_result(message.SearchResult); + + nf_instance = ogs_sbi_nf_instance_find_by_service_type( + service_type, requester_nf_type); + if (!nf_instance) { + strerror = ogs_msprintf("(NF discover) No NF-Instance %s:%s", + ogs_sbi_service_type_to_name(service_type), + OpenAPI_nf_type_ToString(requester_nf_type)); + + goto cleanup; } + client = ogs_sbi_client_find_by_service_type(nf_instance, service_type); + if (!client) { + strerror = ogs_msprintf("(NF discover) No client %s:%s", + ogs_sbi_service_type_to_name(service_type), + OpenAPI_nf_type_ToString(requester_nf_type)); + + goto cleanup; + } + + /* Copy Request for sending SCP */ + copy_request(&scp_request, request, false); + ogs_assert(scp_request.http.headers); + + /* Check if Next-SCP's client */ + next_scp = NF_INSTANCE_CLIENT(ogs_sbi_self()->scp_instance); + if (next_scp) { + apiroot = ogs_sbi_client_apiroot(client); + ogs_assert(apiroot); + + ogs_sbi_header_set(scp_request.http.headers, + OGS_SBI_CUSTOM_TARGET_APIROOT, apiroot); + + ogs_free(apiroot); + + /* Switch to the Next-SCP's client */ + client = next_scp; + } + + /* Client ApiRoot */ + apiroot = ogs_sbi_client_apiroot(client); + ogs_assert(apiroot); + + /* Setup New URI */ + scp_request.h.uri = ogs_msprintf("%s%s", apiroot, request->h.uri); + ogs_assert(scp_request.h.uri); + + ogs_free(apiroot); + + /* Store NF Service Producer */ + assoc->nf_service_producer = nf_instance; + ogs_assert(assoc->nf_service_producer); + + /* Send the HTTP Request with New URI and HTTP Headers */ + if (ogs_sbi_client_send_request( + client, response_handler, &scp_request, assoc) != true) { + ogs_error("ogs_sbi_client_send_request() failed"); + strerror = ogs_msprintf("ogs_sbi_client_send_request() failed"); + + ogs_sbi_http_hash_free(scp_request.http.headers); + ogs_free(scp_request.h.uri); + + goto cleanup; + } + + ogs_sbi_http_hash_free(scp_request.http.headers); + ogs_free(scp_request.h.uri); + + ogs_sbi_response_free(response); + ogs_sbi_message_free(&message); + return OGS_OK; -} -bool scp_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data) -{ - ogs_assert(nf_instance); +cleanup: + ogs_assert(strerror); + ogs_error("%s", strerror); - return ogs_sbi_send_request(nf_instance, client_cb, data); + ogs_assert(true == + ogs_sbi_server_send_error( + stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST, NULL, strerror, NULL)); + + ogs_free(strerror); + + scp_assoc_remove(assoc); + + ogs_sbi_response_free(response); + ogs_sbi_message_free(&message); + + return OGS_ERROR; } -bool scp_sbi_discover_and_send( - ogs_sbi_service_type_e service_type, - ogs_sbi_discovery_option_t *discovery_option, - ogs_sbi_request_t *(*build)(scp_conn_t *conn, void *data), - scp_conn_t *conn, ogs_sbi_stream_t *stream, void *data) +static void copy_request( + ogs_sbi_request_t *target, ogs_sbi_request_t *source, + bool next_scp) { - ogs_sbi_xact_t *xact = NULL; + ogs_hash_index_t *hi; - ogs_assert(service_type); - ogs_assert(conn); - ogs_assert(stream); - ogs_assert(build); + ogs_assert(source); + ogs_assert(target); - xact = ogs_sbi_xact_add( - &conn->sbi, service_type, discovery_option, - (ogs_sbi_build_f)build, conn, data); - if (!xact) { - ogs_error("scp_sbi_discover_and_send() failed"); - ogs_assert(true == - ogs_sbi_server_send_error(stream, - OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT, NULL, - "Cannot discover", NULL)); - return false; - } + memset(target, 0, sizeof(*target)); - xact->assoc_stream = stream; + /* HTTP method/params/content */ + target->h.method = source->h.method; + target->http.params = source->http.params; + target->http.content = source->http.content; + target->http.content_length = source->http.content_length; + + /* HTTP Headers + * + * To remove the followings, + * Scheme - https + * Authority - scp.open5gs.org + */ + target->http.headers = ogs_hash_make(); + ogs_assert(target->http.headers); - if (ogs_sbi_discover_and_send(xact, client_cb) != true) { - ogs_error("scp_sbi_discover_and_send() failed"); - ogs_sbi_xact_remove(xact); - ogs_assert(true == - ogs_sbi_server_send_error(stream, - OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT, NULL, - "Cannot discover", NULL)); - return false; - } + /* Extract HTTP Header */ + for (hi = ogs_hash_first(source->http.headers); + hi; hi = ogs_hash_next(hi)) { + char *key = (char *)ogs_hash_this_key(hi); + char *val = ogs_hash_this_val(hi); - return true; + if (!key || !val) { + ogs_error("No Key%s Value%s", key, val); + continue; + } + + /* + * <RFC 2616> + * Each header field consists of a name followed by a colon (":") + * and the field value. Field names are case-insensitive. + */ + if (next_scp == false && + !strcasecmp(key, OGS_SBI_CUSTOM_TARGET_APIROOT)) { + } else if (next_scp == false && + !strncasecmp(key, OGS_SBI_CUSTOM_DISCOVERY_COMMON, + strlen(OGS_SBI_CUSTOM_DISCOVERY_COMMON))) { + } else if (!strcasecmp(key, OGS_SBI_SCHEME)) { + } else if (!strcasecmp(key, OGS_SBI_AUTHORITY)) { + } else { + ogs_sbi_header_set(target->http.headers, key, val); + } + } }
View file
open5gs_2.4.11.tar.xz/src/scp/sbi-path.h -> open5gs_2.5.0.tar.xz/src/scp/sbi-path.h
Changed
@@ -29,13 +29,6 @@ int scp_sbi_open(void); void scp_sbi_close(void); -bool scp_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data); -bool scp_sbi_discover_and_send( - ogs_sbi_service_type_e service_type, - ogs_sbi_discovery_option_t *discovery_option, - ogs_sbi_request_t *(*build)(scp_conn_t *conn, void *data), - scp_conn_t *conn, ogs_sbi_stream_t *stream, void *data); - #ifdef __cplusplus } #endif
View file
open5gs_2.4.11.tar.xz/src/scp/scp-sm.c -> open5gs_2.5.0.tar.xz/src/scp/scp-sm.c
Changed
@@ -18,8 +18,6 @@ */ #include "sbi-path.h" -#include "nnrf-handler.h" -#include "nscp-handler.h" void scp_state_initial(ogs_fsm_t *s, scp_event_t *e) { @@ -95,7 +93,7 @@ CASE(OGS_SBI_RESOURCE_NAME_NF_STATUS_NOTIFY) SWITCH(message.h.method) CASE(OGS_SBI_HTTP_METHOD_POST) - ogs_nnrf_handle_nf_status_notify(stream, &message); + ogs_nnrf_nfm_handle_nf_status_notify(stream, &message); break; DEFAULT @@ -118,71 +116,6 @@ END break; -#if 0 - CASE(OGS_SBI_SERVICE_NAME_NBSF_MANAGEMENT) - SWITCH(message.h.resource.component0) - CASE(OGS_SBI_RESOURCE_NAME_PCF_BINDINGS) - if (message.h.resource.component1) { - sess = scp_sess_find_by_binding_id( - message.h.resource.component1); - } else { - SWITCH(message.h.method) - CASE(OGS_SBI_HTTP_METHOD_POST) - if (message.PcfBinding && - message.PcfBinding->snssai && - message.PcfBinding->dnn) { - ogs_s_nssai_t s_nssai; - - s_nssai.sst = message.PcfBinding->snssai->sst; - s_nssai.sd = ogs_s_nssai_sd_from_string( - message.PcfBinding->snssai->sd); - - sess = scp_sess_find_by_snssai_and_dnn( - &s_nssai, message.PcfBinding->dnn); - if (!sess) { - sess = scp_sess_add_by_snssai_and_dnn( - &s_nssai, message.PcfBinding->dnn); - ogs_assert(sess); - } - } - break; - CASE(OGS_SBI_HTTP_METHOD_GET) - if (!sess && message.param.ipv4addr) - sess = scp_sess_find_by_ipv4addr( - message.param.ipv4addr); - if (!sess && message.param.ipv6prefix) - sess = scp_sess_find_by_ipv6prefix( - message.param.ipv6prefix); - break; - DEFAULT - ogs_error("Invalid HTTP method %s", message.h.method); - END - } - - if (!sess) { - ogs_error("Not found %s", message.h.uri); - ogs_assert(true == - ogs_sbi_server_send_error(stream, - OGS_SBI_HTTP_STATUS_NOT_FOUND, - &message, "Not found", message.h.uri)); - break; - } - - scp_nscp_management_handle_pcf_binding(sess, stream, &message); - break; - - DEFAULT - ogs_error("Invalid resource name %s", - message.h.resource.component0); - ogs_assert(true == - ogs_sbi_server_send_error(stream, - OGS_SBI_HTTP_STATUS_BAD_REQUEST, &message, - "Invalid resource name", - message.h.resource.component0)); - END - break; -#endif - DEFAULT ogs_error("Invalid API name %s", message.h.service.name); ogs_assert(true == @@ -236,7 +169,7 @@ CASE(OGS_SBI_HTTP_METHOD_POST) if (message.res_status == OGS_SBI_HTTP_STATUS_CREATED || message.res_status == OGS_SBI_HTTP_STATUS_OK) { - ogs_nnrf_handle_nf_status_subscribe( + ogs_nnrf_nfm_handle_nf_status_subscribe( subscription_data, &message); } else { ogs_error("HTTP response error : %d", @@ -262,34 +195,6 @@ DEFAULT ogs_error("Invalid resource name %s", message.h.resource.component0); - ogs_assert_if_reached(); - END - break; - - CASE(OGS_SBI_SERVICE_NAME_NNRF_DISC) - SWITCH(message.h.resource.component0) - CASE(OGS_SBI_RESOURCE_NAME_NF_INSTANCES) - sbi_xact = e->h.sbi.data; - ogs_assert(sbi_xact); - - SWITCH(message.h.method) - CASE(OGS_SBI_HTTP_METHOD_GET) - if (message.res_status == OGS_SBI_HTTP_STATUS_OK) - scp_nnrf_handle_nf_discover(sbi_xact, &message); - else - ogs_error("HTTP response error %d", - message.res_status); - break; - - DEFAULT - ogs_error("Invalid HTTP method %s", message.h.method); - ogs_assert_if_reached(); - END - break; - - DEFAULT - ogs_error("Invalid resource name %s", - message.h.resource.component0); ogs_assert_if_reached(); END break;
View file
open5gs_2.4.11.tar.xz/src/sgwc/event.h -> open5gs_2.5.0.tar.xz/src/sgwc/event.h
Changed
@@ -63,6 +63,8 @@ sgwc_bearer_t *bearer; } sgwc_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(sgwc_event_t)); + void sgwc_event_init(void); void sgwc_event_term(void); void sgwc_event_final(void);
View file
open5gs_2.4.11.tar.xz/src/sgwc/gtp-path.c -> open5gs_2.5.0.tar.xz/src/sgwc/gtp-path.c
Changed
@@ -231,6 +231,7 @@ gtp_xact = ogs_gtp_xact_local_create( sgwc_ue->gnode, &h, pkbuf, bearer_timeout, bearer); ogs_expect_or_return_val(gtp_xact, OGS_ERROR); + gtp_xact->local_teid = sgwc_ue->sgw_s11_teid; rv = ogs_gtp_xact_commit(gtp_xact); ogs_expect(rv == OGS_OK);
View file
open5gs_2.4.11.tar.xz/src/sgwc/s11-handler.c -> open5gs_2.5.0.tar.xz/src/sgwc/s11-handler.c
Changed
@@ -661,6 +661,7 @@ s5c_xact = ogs_gtp_xact_local_create( sess->gnode, &message->h, gtpbuf, gtp_sess_timeout, sess); ogs_expect_or_return(s5c_xact); + s5c_xact->local_teid = sess->sgw_s5c_teid; ogs_gtp_xact_associate(s11_xact, s5c_xact);
View file
open5gs_2.4.11.tar.xz/src/sgwc/s5c-handler.c -> open5gs_2.5.0.tar.xz/src/sgwc/s5c-handler.c
Changed
@@ -420,7 +420,6 @@ ogs_pkbuf_t *gtpbuf, ogs_gtp2_message_t *message) { int rv; - ogs_gtp2_cause_t *cause = NULL; uint8_t cause_value; sgwc_ue_t *sgwc_ue = NULL; @@ -466,37 +465,23 @@ return; } - /***************************************** - * Check Mandatory/Conditional IE Missing - *****************************************/ + /******************** + * Check Cause Value + ********************/ ogs_assert(cause_value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED); - if (rsp->cause.presence == 0) { + if (rsp->cause.presence) { + ogs_gtp2_cause_t *cause = rsp->cause.data; + ogs_assert(cause); + + cause_value = cause->value; + } else { ogs_error("No Cause"); cause_value = OGS_GTP2_CAUSE_MANDATORY_IE_MISSING; } if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) { - ogs_gtp_send_error_message( - s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0, - OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE, cause_value); - return; - } - - /******************** - * Check Cause Value - ********************/ - ogs_assert(cause_value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED); - - cause = rsp->cause.data; - ogs_assert(cause); - cause_value = cause->value; - if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) { - ogs_error("GTP Cause Value:%d", cause_value); - ogs_gtp_send_error_message( - s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0, - OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE, cause_value); - return; + ogs_error("GTP Cause Value:%d - Ignored", cause_value); } /******************** @@ -725,6 +710,7 @@ s11_xact = ogs_gtp_xact_local_create( sgwc_ue->gnode, &message->h, pkbuf, bearer_timeout, bearer); ogs_expect_or_return(s11_xact); + s11_xact->local_teid = sgwc_ue->sgw_s11_teid; ogs_gtp_xact_associate(s5c_xact, s11_xact); } else { @@ -870,6 +856,7 @@ s11_xact = ogs_gtp_xact_local_create( sgwc_ue->gnode, &message->h, pkbuf, bearer_timeout, bearer); ogs_expect_or_return(s11_xact); + s11_xact->local_teid = sgwc_ue->sgw_s11_teid; ogs_gtp_xact_associate(s5c_xact, s11_xact); } else {
View file
open5gs_2.4.11.tar.xz/src/sgwu/context.c -> open5gs_2.5.0.tar.xz/src/sgwu/context.c
Changed
@@ -154,7 +154,7 @@ ogs_hash_set(self.seid_hash, &sess->sgwc_sxa_f_seid.seid, sizeof(sess->sgwc_sxa_f_seid.seid), sess); - ogs_info("UE F-SEIDCP:0x%lx UP:0x%lx", + ogs_info("UE F-SEIDUP:0x%lx CP:0x%lx", (long)sess->sgwu_sxa_seid, (long)sess->sgwc_sxa_f_seid.seid); ogs_list_add(&self.sess_list, sess);
View file
open5gs_2.4.11.tar.xz/src/sgwu/event.h -> open5gs_2.5.0.tar.xz/src/sgwu/event.h
Changed
@@ -58,6 +58,8 @@ sgwu_bearer_t *bearer; } sgwu_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(sgwu_event_t)); + void sgwu_event_init(void); void sgwu_event_term(void); void sgwu_event_final(void);
View file
open5gs_2.4.11.tar.xz/src/smf/event.h -> open5gs_2.5.0.tar.xz/src/smf/event.h
Changed
@@ -102,6 +102,8 @@ smf_sess_t *sess; } smf_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(smf_event_t)); + smf_event_t *smf_event_new(int id); const char *smf_event_get_name(smf_event_t *e);
View file
open5gs_2.4.11.tar.xz/src/smf/n4-handler.c -> open5gs_2.5.0.tar.xz/src/smf/n4-handler.c
Changed
@@ -1117,7 +1117,7 @@ ogs_debug("Session Report Request"); - cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED; + cause_value = OGS_PFCP_CAUSE_REQUEST_ACCEPTED; if (!sess) { ogs_error("No Context"); @@ -1126,10 +1126,10 @@ if (pfcp_req->report_type.presence == 0) { ogs_error("No Report Type"); - cause_value = OGS_GTP2_CAUSE_MANDATORY_IE_MISSING; + cause_value = OGS_PFCP_CAUSE_MANDATORY_IE_MISSING; } - if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) { + if (cause_value != OGS_PFCP_CAUSE_REQUEST_ACCEPTED) { ogs_pfcp_send_error_message(pfcp_xact, 0, OGS_PFCP_SESSION_REPORT_RESPONSE_TYPE, cause_value, 0); @@ -1168,14 +1168,19 @@ "Paging Policy Indication Value"); ogs_pfcp_send_error_message(pfcp_xact, 0, OGS_PFCP_SESSION_REPORT_RESPONSE_TYPE, - OGS_GTP2_CAUSE_SERVICE_NOT_SUPPORTED, 0); + OGS_PFCP_CAUSE_SERVICE_NOT_SUPPORTED, 0); return; } if (qfi) { qos_flow = smf_qos_flow_find_by_qfi(sess, qfi); - if (!qos_flow) + if (!qos_flow) { ogs_error("Cannot find the QoS Flow%d", qfi); + ogs_pfcp_send_error_message(pfcp_xact, 0, + OGS_PFCP_SESSION_REPORT_RESPONSE_TYPE, + OGS_PFCP_CAUSE_SESSION_CONTEXT_NOT_FOUND, 0); + return; + } } } else { ogs_error("No Info"); @@ -1187,7 +1192,6 @@ pfcp_req->downlink_data_report.pdr_id.u16); if (!pdr) ogs_error("Cannot find the PDR-ID%d", pdr_id); - } else { ogs_error("No PDR-ID"); } @@ -1195,11 +1199,11 @@ ogs_error("No Downlink Data Report"); } - if (!pdr || !qos_flow) { - ogs_error("No Context %p:%p", pdr, qos_flow); + if (!pdr) { + ogs_error("No Context"); ogs_pfcp_send_error_message(pfcp_xact, 0, OGS_PFCP_SESSION_REPORT_RESPONSE_TYPE, - cause_value, 0); + OGS_PFCP_CAUSE_SESSION_CONTEXT_NOT_FOUND, 0); return; }
View file
open5gs_2.4.11.tar.xz/src/smf/namf-build.c -> open5gs_2.5.0.tar.xz/src/smf/namf-build.c
Changed
@@ -146,7 +146,7 @@ } request = ogs_sbi_build_request(&message); - ogs_assert(request); + ogs_expect(request); for (i = 0; i < message.num_of_part; i++) if (message.parti.pkbuf) @@ -184,7 +184,7 @@ message.SmContextStatusNotification = &SmContextStatusNotification; request = ogs_sbi_build_request(&message); - ogs_assert(request); + ogs_expect(request); return request; }
View file
open5gs_2.4.11.tar.xz/src/smf/nnrf-handler.c -> open5gs_2.5.0.tar.xz/src/smf/nnrf-handler.c
Changed
@@ -29,6 +29,7 @@ ogs_sbi_discovery_option_t *discovery_option = NULL; OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; OpenAPI_search_result_t *SearchResult = NULL; ogs_assert(recvmsg); @@ -39,6 +40,8 @@ ogs_assert(service_type); target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); ogs_assert(target_nf_type); + requester_nf_type = xact->requester_nf_type; + ogs_assert(requester_nf_type); discovery_option = xact->discovery_option; @@ -48,13 +51,14 @@ return; } - ogs_nnrf_handle_nf_discover_search_result(SearchResult); + ogs_nnrf_disc_handle_nf_discover_search_result(SearchResult); nf_instance = ogs_sbi_nf_instance_find_by_discovery_param( - target_nf_type, discovery_option); + target_nf_type, requester_nf_type, discovery_option); if (!nf_instance) { - ogs_error("(NF discover) No %s", - ogs_sbi_service_type_to_name(service_type)); + ogs_error("(NF discover) No %s:%s", + ogs_sbi_service_type_to_name(service_type), + OpenAPI_nf_type_ToString(requester_nf_type)); return; }
View file
open5gs_2.4.11.tar.xz/src/smf/npcf-build.c -> open5gs_2.5.0.tar.xz/src/smf/npcf-build.c
Changed
@@ -48,17 +48,32 @@ memset(&SmPolicyContextData, 0, sizeof(SmPolicyContextData)); - ogs_assert(smf_ue->supi); SmPolicyContextData.supi = smf_ue->supi; - ogs_assert(sess->psi); + if (!SmPolicyContextData.supi) { + ogs_error("No supi"); + goto end; + } SmPolicyContextData.pdu_session_id = sess->psi; - ogs_assert(sess->session.session_type); + if (!SmPolicyContextData.pdu_session_id) { + ogs_error("No pdu_session_id"); + goto end; + } SmPolicyContextData.pdu_session_type = sess->session.session_type; - ogs_assert(sess->session.name); + if (!SmPolicyContextData.pdu_session_type) { + ogs_error("No pdu_session_type"); + goto end; + } SmPolicyContextData.dnn = sess->session.name; + if (!SmPolicyContextData.dnn) { + ogs_error("No dnn"); + goto end; + } server = ogs_list_first(&ogs_sbi_self()->server_list); - ogs_assert(server); + if (!server) { + ogs_error("No server"); + goto end; + } memset(&header, 0, sizeof(header)); header.service.name = (char *)OGS_SBI_SERVICE_NAME_NSMF_CALLBACK; @@ -67,18 +82,27 @@ (char *)OGS_SBI_RESOURCE_NAME_SM_POLICY_NOTIFY; header.resource.component1 = sess->sm_context_ref; SmPolicyContextData.notification_uri = ogs_sbi_server_uri(server, &header); - ogs_assert(SmPolicyContextData.notification_uri); + if (!SmPolicyContextData.notification_uri) { + ogs_error("No notification_uri"); + goto end; + } if (sess->ipv4) { SmPolicyContextData.ipv4_address = ogs_ipv4_to_string(sess->ipv4->addr0); - ogs_expect_or_return_val(SmPolicyContextData.ipv4_address, NULL); + if (!SmPolicyContextData.ipv4_address) { + ogs_error("No ipv4_address"); + goto end; + } } if (sess->ipv6) { SmPolicyContextData.ipv6_address_prefix = ogs_ipv6prefix_to_string( (uint8_t *)sess->ipv6->addr, OGS_IPV6_128_PREFIX_LEN); - ogs_expect_or_return_val(SmPolicyContextData.ipv6_address_prefix, NULL); + if (!SmPolicyContextData.ipv6_address_prefix) { + ogs_error("No ipv6_address_prefix"); + goto end; + } } memset(&SubsSessAmbr, 0, sizeof(SubsSessAmbr)); @@ -104,14 +128,20 @@ else if (sess->session.qos.arp.pre_emption_capability == OGS_5GC_PRE_EMPTION_DISABLED) Arp.preempt_cap = OpenAPI_preemption_capability_NOT_PREEMPT; - ogs_assert(Arp.preempt_cap); + if (!Arp.preempt_cap) { + ogs_error("No Arp.preempt_cap"); + goto end; + } if (sess->session.qos.arp.pre_emption_vulnerability == OGS_5GC_PRE_EMPTION_ENABLED) Arp.preempt_vuln = OpenAPI_preemption_vulnerability_PREEMPTABLE; else if (sess->session.qos.arp.pre_emption_vulnerability == OGS_5GC_PRE_EMPTION_DISABLED) Arp.preempt_vuln = OpenAPI_preemption_vulnerability_NOT_PREEMPTABLE; - ogs_assert(Arp.preempt_vuln); + if (!Arp.preempt_vuln) { + ogs_error("No Arp.preempt_vuln"); + goto end; + } Arp.priority_level = sess->session.qos.arp.priority_level; memset(&SubsDefQos, 0, sizeof(SubsDefQos)); @@ -125,7 +155,10 @@ if (sess->smpolicycontrol_features) { SmPolicyContextData.supp_feat = ogs_uint64_to_string(sess->smpolicycontrol_features); - ogs_expect_or_return_val(SmPolicyContextData.supp_feat, NULL); + if (!SmPolicyContextData.supp_feat) { + ogs_error("No supp_feat"); + goto end; + } } memset(&sNssai, 0, sizeof(sNssai)); @@ -138,7 +171,9 @@ request = ogs_sbi_build_request(&message); ogs_expect(request); - ogs_free(SmPolicyContextData.notification_uri); +end: + if (SmPolicyContextData.notification_uri) + ogs_free(SmPolicyContextData.notification_uri); if (SmPolicyContextData.gpsi) ogs_free(SmPolicyContextData.gpsi); @@ -198,18 +233,29 @@ param->ran_nas_release.gsm_cause || param->ran_nas_release.ngap_cause.group) { - ranNasRelCause = ogs_calloc(1, sizeof(*ranNasRelCause)); - ogs_expect_or_return_val(ranNasRelCause, NULL); - ranNasRelCauseList = OpenAPI_list_create(); - ogs_expect_or_return_val(ranNasRelCauseList, NULL); + if (!ranNasRelCauseList) { + ogs_error("No ranNasRelCauseList"); + goto end; + } + + ranNasRelCause = ogs_calloc(1, sizeof(*ranNasRelCause)); + if (!ranNasRelCause) { + ogs_error("No ranNasRelCause"); + goto end; + } if (param->ran_nas_release.ngap_cause.group) { OpenAPI_ng_ap_cause_t *ngApCause = NULL; ranNasRelCause->ng_ap_cause = ngApCause = ogs_calloc(1, sizeof(*ngApCause)); - ogs_expect_or_return_val(ngApCause, NULL); + if (!ranNasRelCause->ng_ap_cause) { + ogs_error("No ranNasRelCause->ng_ap_cause"); + if (ranNasRelCause) + ogs_free(ranNasRelCause); + goto end; + } ngApCause->group = param->ran_nas_release.ngap_cause.group; ngApCause->value = param->ran_nas_release.ngap_cause.value; @@ -226,24 +272,35 @@ if (param->ue_location) { ueLocation.nr_location = ogs_sbi_build_nr_location( &sess->nr_tai, &sess->nr_cgi); - ogs_expect_or_return_val(ueLocation.nr_location, NULL); + if (!ueLocation.nr_location) { + ogs_error("ueLocation.nr_location"); + goto end; + } ueLocation.nr_location->ue_location_timestamp = ogs_sbi_gmtime_string(sess->ue_location_timestamp); - ogs_expect_or_return_val( - ueLocation.nr_location->ue_location_timestamp, NULL); + if (!ueLocation.nr_location->ue_location_timestamp) { + ogs_error("ueLocation.nr_location->ue_location_timestamp"); + goto end; + } SmPolicyDeleteData.user_location_info = &ueLocation; } if (param->ue_timezone) { SmPolicyDeleteData.ue_time_zone = ogs_sbi_timezone_string(ogs_timezone()); - ogs_expect_or_return_val(SmPolicyDeleteData.ue_time_zone, NULL); + if (!SmPolicyDeleteData.ue_time_zone) { + ogs_error("SmPolicyDeleteData.ue_time_zone"); + goto end; + } } } SmPolicyDeleteData.serving_network = ogs_sbi_build_plmn_id_nid(&sess->plmn_id); - ogs_expect_or_return_val(SmPolicyDeleteData.serving_network, NULL); + if (!SmPolicyDeleteData.serving_network) { + ogs_error("SmPolicyDeleteData.serving_network"); + goto end; + } SmPolicyDeleteData.ran_nas_rel_causes = ranNasRelCauseList; @@ -252,6 +309,8 @@ request = ogs_sbi_build_request(&message); ogs_expect(request); +end: + if (ueLocation.nr_location) { if (ueLocation.nr_location->ue_location_timestamp) ogs_free(ueLocation.nr_location->ue_location_timestamp);
View file
open5gs_2.4.11.tar.xz/src/smf/nudm-build.c -> open5gs_2.5.0.tar.xz/src/smf/nudm-build.c
Changed
@@ -45,7 +45,7 @@ message.param.dnn = sess->session.name; request = ogs_sbi_build_request(&message); - ogs_assert(request); + ogs_expect(request); return request; }
View file
open5gs_2.4.11.tar.xz/src/smf/pfcp-sm.c -> open5gs_2.5.0.tar.xz/src/smf/pfcp-sm.c
Changed
@@ -232,6 +232,7 @@ if (!sess) { ogs_gtp_xact_t *gtp_xact = xact->assoc_xact; + ogs_error("No Session"); if (!gtp_xact) { ogs_error("No associated GTP transaction"); break; @@ -266,6 +267,7 @@ if (!sess) { ogs_gtp_xact_t *gtp_xact = xact->assoc_xact; + ogs_error("No Session"); if (!gtp_xact) { ogs_error("No associated GTP transaction"); break;
View file
open5gs_2.4.11.tar.xz/src/smf/sbi-path.c -> open5gs_2.5.0.tar.xz/src/smf/sbi-path.c
Changed
@@ -21,67 +21,13 @@ #include "ngap-path.h" #include "sbi-path.h" -static int server_cb(ogs_sbi_request_t *request, void *data) -{ - smf_event_t *e = NULL; - int rv; - - ogs_assert(request); - ogs_assert(data); - - e = smf_event_new(OGS_EVENT_SBI_SERVER); - ogs_assert(e); - - e->h.sbi.request = request; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_request_free(request); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - -static int client_cb(int status, ogs_sbi_response_t *response, void *data) -{ - smf_event_t *e = NULL; - int rv; - - if (status != OGS_OK) { - ogs_log_message( - status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0, - "client_cb() failed %d", status); - return OGS_ERROR; - } - - ogs_assert(response); - - e = smf_event_new(OGS_EVENT_SBI_CLIENT); - ogs_assert(e); - e->h.sbi.response = response; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_response_free(response); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - int smf_sbi_open(void) { ogs_sbi_nf_instance_t *nf_instance = NULL; + ogs_sbi_nf_instance_t *nrf_instance = NULL, *scp_instance = NULL; ogs_sbi_nf_service_t *service = NULL; - /* Add SELF NF instance */ + /* Initialize SELF NF instance */ nf_instance = ogs_sbi_self()->nf_instance; ogs_assert(nf_instance); ogs_sbi_nf_fsm_init(nf_instance); @@ -101,30 +47,32 @@ ogs_sbi_nf_service_add_allowed_nf_type(service, OpenAPI_nf_type_AMF); } - /* Initialize NRF NF Instance */ - nf_instance = ogs_sbi_self()->nrf_instance; - if (nf_instance) { - ogs_sbi_client_t *client = NULL; - - /* Client callback is only used when NF sends to NRF */ - client = nf_instance->client; - ogs_assert(client); - client->cb = client_cb; - - /* NFRegister is sent and the response is received - * by the above client callback. */ - ogs_sbi_nf_fsm_init(nf_instance); - } - - /* Build Subscription-Data */ - ogs_sbi_subscription_data_build_default( - OpenAPI_nf_type_AMF, OGS_SBI_SERVICE_NAME_NAMF_COMM); - ogs_sbi_subscription_data_build_default( - OpenAPI_nf_type_PCF, OGS_SBI_SERVICE_NAME_NPCF_SMPOLICYCONTROL); - ogs_sbi_subscription_data_build_default( - OpenAPI_nf_type_UDM, OGS_SBI_SERVICE_NAME_NUDM_SDM); + /* + * SMF can only run to support 4G EPC mode. + * + * If the SMF is only running in 4G EPC mode, + * it should not send NFRegister/NFStatusSubscribe messages to the NRF. + */ + nrf_instance = ogs_sbi_self()->nrf_instance; + scp_instance = ogs_sbi_self()->scp_instance; + + if (NF_INSTANCE_CLIENT(nrf_instance) || NF_INSTANCE_CLIENT(scp_instance)) { + + /* Initialize NRF NF Instance */ + nf_instance = ogs_sbi_self()->nrf_instance; + if (nf_instance) + ogs_sbi_nf_fsm_init(nf_instance); + + /* Build Subscription-Data */ + ogs_sbi_subscription_data_build_default( + OpenAPI_nf_type_AMF, OGS_SBI_SERVICE_NAME_NAMF_COMM); + ogs_sbi_subscription_data_build_default( + OpenAPI_nf_type_PCF, OGS_SBI_SERVICE_NAME_NPCF_SMPOLICYCONTROL); + ogs_sbi_subscription_data_build_default( + OpenAPI_nf_type_UDM, OGS_SBI_SERVICE_NAME_NUDM_SDM); + } - if (ogs_sbi_server_start_all(server_cb) != OGS_OK) + if (ogs_sbi_server_start_all(ogs_sbi_server_handler) != OGS_OK) return OGS_ERROR; return OGS_OK; @@ -136,11 +84,12 @@ ogs_sbi_server_stop_all(); } -bool smf_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data) +bool smf_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact) { ogs_assert(nf_instance); - - return ogs_sbi_send_request(nf_instance, client_cb, data); + ogs_assert(xact); + return ogs_sbi_send_request_to_nf_instance(nf_instance, xact); } bool smf_sbi_discover_and_send( @@ -173,7 +122,7 @@ xact->state = state; xact->assoc_stream = stream; - if (ogs_sbi_discover_and_send(xact, client_cb) != true) { + if (ogs_sbi_discover_and_send(xact) != true) { ogs_error("smf_sbi_discover_and_send() failed"); ogs_sbi_xact_remove(xact); @@ -219,7 +168,7 @@ xact->state = param->state; - if (ogs_sbi_discover_and_send(xact, client_cb) != true) { + if (ogs_sbi_discover_and_send(xact) != true) { ogs_error("smf_namf_comm_send_n1_n2_message_transfer() failed"); ogs_sbi_xact_remove(xact); } @@ -438,6 +387,7 @@ bool smf_sbi_send_sm_context_status_notify(smf_sess_t *sess) { + bool rc; ogs_sbi_request_t *request = NULL; ogs_sbi_client_t *client = NULL; @@ -447,5 +397,12 @@ request = smf_namf_callback_build_sm_context_status(sess, NULL); ogs_expect_or_return_val(request, false); - return ogs_sbi_client_send_request(client, client_notify_cb, request, NULL); + + rc = ogs_sbi_send_request_to_client( + client, client_notify_cb, request, NULL); + ogs_expect(rc == true); + + ogs_sbi_request_free(request); + + return rc; }
View file
open5gs_2.4.11.tar.xz/src/smf/sbi-path.h -> open5gs_2.5.0.tar.xz/src/smf/sbi-path.h
Changed
@@ -33,7 +33,8 @@ int smf_sbi_open(void); void smf_sbi_close(void); -bool smf_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data); +bool smf_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact); bool smf_sbi_discover_and_send( ogs_sbi_service_type_e service_type, ogs_sbi_discovery_option_t *discovery_option,
View file
open5gs_2.4.11.tar.xz/src/smf/smf-sm.c -> open5gs_2.5.0.tar.xz/src/smf/smf-sm.c
Changed
@@ -143,6 +143,7 @@ OGS_SETUP_GTP_NODE(sess, smf_gnode->gnode); } if (!sess) { + ogs_error("No Session"); ogs_gtp2_send_error_message(gtp_xact, 0, OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND); @@ -152,9 +153,11 @@ ogs_fsm_dispatch(&sess->sm, e); break; case OGS_GTP2_DELETE_SESSION_REQUEST_TYPE: + if (!gtp2_message.h.teid_presence) ogs_error("No TEID"); smf_metrics_inst_global_inc(SMF_METR_GLOB_CTR_S5C_RX_DELETESESSIONREQ); smf_metrics_inst_gtp_node_inc(smf_gnode->metrics, SMF_METR_GTP_NODE_CTR_S5C_RX_DELETESESSIONREQ); if (!sess) { + ogs_error("No Session"); ogs_gtp2_send_error_message(gtp_xact, 0, OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE, OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND); @@ -164,6 +167,7 @@ ogs_fsm_dispatch(&sess->sm, e); break; case OGS_GTP2_MODIFY_BEARER_REQUEST_TYPE: + if (!gtp2_message.h.teid_presence) ogs_error("No TEID"); smf_s5c_handle_modify_bearer_request( sess, gtp_xact, recvbuf, >p2_message.modify_bearer_request); break; @@ -188,6 +192,7 @@ ogs_fsm_dispatch(&sess->sm, e); break; case OGS_GTP2_BEARER_RESOURCE_COMMAND_TYPE: + if (!gtp2_message.h.teid_presence) ogs_error("No TEID"); smf_s5c_handle_bearer_resource_command( sess, gtp_xact, >p2_message.bearer_resource_command); break; @@ -461,7 +466,7 @@ CASE(OGS_SBI_RESOURCE_NAME_NF_STATUS_NOTIFY) SWITCH(sbi_message.h.method) CASE(OGS_SBI_HTTP_METHOD_POST) - ogs_nnrf_handle_nf_status_notify(stream, &sbi_message); + ogs_nnrf_nfm_handle_nf_status_notify(stream, &sbi_message); break; DEFAULT @@ -674,7 +679,7 @@ CASE(OGS_SBI_HTTP_METHOD_POST) if (sbi_message.res_status == OGS_SBI_HTTP_STATUS_CREATED || sbi_message.res_status == OGS_SBI_HTTP_STATUS_OK) { - ogs_nnrf_handle_nf_status_subscribe( + ogs_nnrf_nfm_handle_nf_status_subscribe( subscription_data, &sbi_message); } else { ogs_error("HTTP response error : %d",
View file
open5gs_2.4.11.tar.xz/src/udm/context.c -> open5gs_2.5.0.tar.xz/src/udm/context.c
Changed
@@ -188,6 +188,8 @@ ogs_free(udm_ue->amf_instance_id); if (udm_ue->dereg_callback_uri) ogs_free(udm_ue->dereg_callback_uri); + if (udm_ue->data_change_callback_uri) + ogs_free(udm_ue->data_change_callback_uri); ogs_pool_free(&udm_ue_pool, udm_ue); }
View file
open5gs_2.4.11.tar.xz/src/udm/context.h -> open5gs_2.5.0.tar.xz/src/udm/context.h
Changed
@@ -58,6 +58,7 @@ char *amf_instance_id; char *dereg_callback_uri; + char *data_change_callback_uri; uint8_t kOGS_KEY_LEN; uint8_t opcOGS_KEY_LEN;
View file
open5gs_2.4.11.tar.xz/src/udm/event.h -> open5gs_2.5.0.tar.xz/src/udm/event.h
Changed
@@ -34,6 +34,8 @@ udm_ue_t *udm_ue; } udm_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(udm_event_t)); + udm_event_t *udm_event_new(int id); const char *udm_event_get_name(udm_event_t *e);
View file
open5gs_2.4.11.tar.xz/src/udm/nnrf-handler.c -> open5gs_2.5.0.tar.xz/src/udm/nnrf-handler.c
Changed
@@ -29,6 +29,7 @@ ogs_sbi_discovery_option_t *discovery_option = NULL; OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; OpenAPI_search_result_t *SearchResult = NULL; ogs_assert(recvmsg); @@ -39,6 +40,8 @@ ogs_assert(service_type); target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); ogs_assert(target_nf_type); + requester_nf_type = xact->requester_nf_type; + ogs_assert(requester_nf_type); discovery_option = xact->discovery_option; @@ -48,13 +51,14 @@ return; } - ogs_nnrf_handle_nf_discover_search_result(SearchResult); + ogs_nnrf_disc_handle_nf_discover_search_result(SearchResult); nf_instance = ogs_sbi_nf_instance_find_by_discovery_param( - target_nf_type, discovery_option); + target_nf_type, requester_nf_type, discovery_option); if (!nf_instance) { - ogs_error("(NF discover) No %s", - ogs_sbi_service_type_to_name(service_type)); + ogs_error("(NF discover) No %s:%s", + ogs_sbi_service_type_to_name(service_type), + OpenAPI_nf_type_ToString(requester_nf_type)); return; }
View file
open5gs_2.4.11.tar.xz/src/udm/nudm-handler.c -> open5gs_2.5.0.tar.xz/src/udm/nudm-handler.c
Changed
@@ -479,3 +479,85 @@ return true; } + +bool udm_nudm_sdm_handle_subscription_create( + udm_ue_t *udm_ue, ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg) +{ + ogs_sbi_message_t sendmsg; + ogs_sbi_response_t *response = NULL; + ogs_sbi_server_t *server = NULL; + ogs_sbi_header_t header; + + OpenAPI_sdm_subscription_t *SDMSubscription = NULL; + + ogs_assert(udm_ue); + ogs_assert(stream); + ogs_assert(recvmsg); + + SDMSubscription = recvmsg->SDMSubscription; + if (!SDMSubscription) { + ogs_error("%s No SDMSubscription", udm_ue->supi); + ogs_assert(true == + ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST, + recvmsg, "No SDMSubscription", udm_ue->supi)); + return false; + } + + if (!SDMSubscription->nf_instance_id) { + ogs_error("%s No nfInstanceId", udm_ue->supi); + ogs_assert(true == + ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST, + recvmsg, "No nfInstanceId", udm_ue->supi)); + return false; + } + + if (!SDMSubscription->callback_reference) { + ogs_error("%s No callbackReference", udm_ue->supi); + ogs_assert(true == + ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST, + recvmsg, "No callbackReference", udm_ue->supi)); + return false; + } + + if ((!SDMSubscription->monitored_resource_uris) && + (!SDMSubscription->monitored_resource_uris->count)) { + ogs_error("%s No monitoredResourceUris", udm_ue->supi); + ogs_assert(true == + ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST, + recvmsg, "No monitoredResourceUris", udm_ue->supi)); + return false; + } + + if (udm_ue->data_change_callback_uri) + ogs_free(udm_ue->data_change_callback_uri); + udm_ue->data_change_callback_uri = + ogs_strdup(SDMSubscription->callback_reference); + + + server = ogs_sbi_server_from_stream(stream); + ogs_assert(server); + + memset(&header, 0, sizeof(header)); + header.service.name = (char *)OGS_SBI_SERVICE_NAME_NUDM_SDM; + header.api.version = (char *)OGS_SBI_API_V2; + header.resource.component0 = udm_ue->supi; + header.resource.component1 = + (char *)OGS_SBI_RESOURCE_NAME_SDM_SUBSCRIPTIONS; + /* TODO: subscription id */ + header.resource.component2 = udm_ue->ctx_id; + + memset(&sendmsg, 0, sizeof(sendmsg)); + sendmsg.http.location = ogs_sbi_server_uri(server, &header); + + sendmsg.SDMSubscription = OpenAPI_sdm_subscription_copy( + sendmsg.SDMSubscription, SDMSubscription); + + response = ogs_sbi_build_response(&sendmsg, OGS_SBI_HTTP_STATUS_CREATED); + ogs_assert(response); + ogs_sbi_server_send_response(stream, response); + + ogs_free(sendmsg.http.location); + OpenAPI_sdm_subscription_free(sendmsg.SDMSubscription); + + return true; +}
View file
open5gs_2.4.11.tar.xz/src/udm/nudm-handler.h -> open5gs_2.5.0.tar.xz/src/udm/nudm-handler.h
Changed
@@ -38,6 +38,8 @@ bool udm_nudm_sdm_handle_subscription_provisioned( udm_ue_t *udm_ue, ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg); +bool udm_nudm_sdm_handle_subscription_create( + udm_ue_t *udm_ue, ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg); #ifdef __cplusplus }
View file
open5gs_2.4.11.tar.xz/src/udm/sbi-path.c -> open5gs_2.5.0.tar.xz/src/udm/sbi-path.c
Changed
@@ -19,67 +19,12 @@ #include "sbi-path.h" -static int server_cb(ogs_sbi_request_t *request, void *data) -{ - udm_event_t *e = NULL; - int rv; - - ogs_assert(request); - ogs_assert(data); - - e = udm_event_new(OGS_EVENT_SBI_SERVER); - ogs_assert(e); - - e->h.sbi.request = request; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_request_free(request); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - -static int client_cb(int status, ogs_sbi_response_t *response, void *data) -{ - udm_event_t *e = NULL; - int rv; - - if (status != OGS_OK) { - ogs_log_message( - status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0, - "client_cb() failed %d", status); - return OGS_ERROR; - } - - ogs_assert(response); - - e = udm_event_new(OGS_EVENT_SBI_CLIENT); - ogs_assert(e); - e->h.sbi.response = response; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_response_free(response); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - int udm_sbi_open(void) { ogs_sbi_nf_instance_t *nf_instance = NULL; ogs_sbi_nf_service_t *service = NULL; - /* Add SELF NF instance */ + /* Initialize SELF NF instance */ nf_instance = ogs_sbi_self()->nf_instance; ogs_assert(nf_instance); ogs_sbi_nf_fsm_init(nf_instance); @@ -122,23 +67,13 @@ /* Initialize NRF NF Instance */ nf_instance = ogs_sbi_self()->nrf_instance; - if (nf_instance) { - ogs_sbi_client_t *client = NULL; - - /* Client callback is only used when NF sends to NRF */ - client = nf_instance->client; - ogs_assert(client); - client->cb = client_cb; - - /* NFRegister is sent and the response is received - * by the above client callback. */ + if (nf_instance) ogs_sbi_nf_fsm_init(nf_instance); - } /* Build Subscription-Data */ ogs_sbi_subscription_data_build_default(OpenAPI_nf_type_UDR, NULL); - if (ogs_sbi_server_start_all(server_cb) != OGS_OK) + if (ogs_sbi_server_start_all(ogs_sbi_server_handler) != OGS_OK) return OGS_ERROR; return OGS_OK; @@ -150,11 +85,12 @@ ogs_sbi_server_stop_all(); } -bool udm_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data) +bool udm_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact) { ogs_assert(nf_instance); - - return ogs_sbi_send_request(nf_instance, client_cb, data); + ogs_assert(xact); + return ogs_sbi_send_request_to_nf_instance(nf_instance, xact); } bool udm_sbi_discover_and_send( @@ -184,7 +120,7 @@ xact->assoc_stream = stream; - if (ogs_sbi_discover_and_send(xact, client_cb) != true) { + if (ogs_sbi_discover_and_send(xact) != true) { ogs_error("udm_sbi_discover_and_send() failed"); ogs_sbi_xact_remove(xact); ogs_assert(true ==
View file
open5gs_2.4.11.tar.xz/src/udm/sbi-path.h -> open5gs_2.5.0.tar.xz/src/udm/sbi-path.h
Changed
@@ -29,7 +29,8 @@ int udm_sbi_open(void); void udm_sbi_close(void); -bool udm_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data); +bool udm_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact); bool udm_sbi_discover_and_send( ogs_sbi_service_type_e service_type, ogs_sbi_discovery_option_t *discovery_option,
View file
open5gs_2.4.11.tar.xz/src/udm/udm-sm.c -> open5gs_2.5.0.tar.xz/src/udm/udm-sm.c
Changed
@@ -103,7 +103,7 @@ CASE(OGS_SBI_RESOURCE_NAME_NF_STATUS_NOTIFY) SWITCH(message.h.method) CASE(OGS_SBI_HTTP_METHOD_POST) - ogs_nnrf_handle_nf_status_notify(stream, &message); + ogs_nnrf_nfm_handle_nf_status_notify(stream, &message); break; DEFAULT @@ -247,7 +247,7 @@ CASE(OGS_SBI_HTTP_METHOD_POST) if (message.res_status == OGS_SBI_HTTP_STATUS_CREATED || message.res_status == OGS_SBI_HTTP_STATUS_OK) { - ogs_nnrf_handle_nf_status_subscribe( + ogs_nnrf_nfm_handle_nf_status_subscribe( subscription_data, &message); } else { ogs_error("%s HTTP response error %d",
View file
open5gs_2.4.11.tar.xz/src/udm/ue-sm.c -> open5gs_2.5.0.tar.xz/src/udm/ue-sm.c
Changed
@@ -163,6 +163,23 @@ "Invalid resource name", message->h.method)); END break; + + CASE(OGS_SBI_HTTP_METHOD_POST) + SWITCH(message->h.resource.component1) + CASE(OGS_SBI_RESOURCE_NAME_SDM_SUBSCRIPTIONS) + udm_nudm_sdm_handle_subscription_create( + udm_ue, stream, message); + break; + + DEFAULT + ogs_error("%s Invalid resource name %s", + udm_ue->suci, message->h.resource.component1); + ogs_assert(true == + ogs_sbi_server_send_error(stream, + OGS_SBI_HTTP_STATUS_BAD_REQUEST, message, + "Invalid resource name", message->h.method)); + END + break; DEFAULT ogs_error("%s Invalid HTTP method %s", udm_ue->supi, message->h.method);
View file
open5gs_2.4.11.tar.xz/src/udr/event.h -> open5gs_2.5.0.tar.xz/src/udr/event.h
Changed
@@ -30,6 +30,8 @@ ogs_event_t h; } udr_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(udr_event_t)); + udr_event_t *udr_event_new(int id); const char *udr_event_get_name(udr_event_t *e);
View file
open5gs_2.4.11.tar.xz/src/udr/sbi-path.c -> open5gs_2.5.0.tar.xz/src/udr/sbi-path.c
Changed
@@ -19,67 +19,12 @@ #include "sbi-path.h" -static int server_cb(ogs_sbi_request_t *request, void *data) -{ - udr_event_t *e = NULL; - int rv; - - ogs_assert(request); - ogs_assert(data); - - e = udr_event_new(OGS_EVENT_SBI_SERVER); - ogs_assert(e); - - e->h.sbi.request = request; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_request_free(request); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - -static int client_cb(int status, ogs_sbi_response_t *response, void *data) -{ - udr_event_t *e = NULL; - int rv; - - if (status != OGS_OK) { - ogs_log_message( - status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0, - "client_cb() failed %d", status); - return OGS_ERROR; - } - - ogs_assert(response); - - e = udr_event_new(OGS_EVENT_SBI_CLIENT); - ogs_assert(e); - e->h.sbi.response = response; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_response_free(response); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - int udr_sbi_open(void) { ogs_sbi_nf_instance_t *nf_instance = NULL; ogs_sbi_nf_service_t *service = NULL; - /* Add SELF NF instance */ + /* Initialize SELF NF instance */ nf_instance = ogs_sbi_self()->nf_instance; ogs_assert(nf_instance); ogs_sbi_nf_fsm_init(nf_instance); @@ -103,20 +48,10 @@ /* Initialize NRF NF Instance */ nf_instance = ogs_sbi_self()->nrf_instance; - if (nf_instance) { - ogs_sbi_client_t *client = NULL; - - /* Client callback is only used when NF sends to NRF */ - client = nf_instance->client; - ogs_assert(client); - client->cb = client_cb; - - /* NFRegister is sent and the response is received - * by the above client callback. */ + if (nf_instance) ogs_sbi_nf_fsm_init(nf_instance); - } - if (ogs_sbi_server_start_all(server_cb) != OGS_OK) + if (ogs_sbi_server_start_all(ogs_sbi_server_handler) != OGS_OK) return OGS_ERROR; return OGS_OK;
View file
open5gs_2.4.11.tar.xz/src/udr/udr-sm.c -> open5gs_2.5.0.tar.xz/src/udr/udr-sm.c
Changed
@@ -93,7 +93,7 @@ CASE(OGS_SBI_RESOURCE_NAME_NF_STATUS_NOTIFY) SWITCH(message.h.method) CASE(OGS_SBI_HTTP_METHOD_POST) - ogs_nnrf_handle_nf_status_notify(stream, &message); + ogs_nnrf_nfm_handle_nf_status_notify(stream, &message); break; DEFAULT @@ -228,7 +228,7 @@ CASE(OGS_SBI_HTTP_METHOD_POST) if (message.res_status == OGS_SBI_HTTP_STATUS_CREATED || message.res_status == OGS_SBI_HTTP_STATUS_OK) { - ogs_nnrf_handle_nf_status_subscribe( + ogs_nnrf_nfm_handle_nf_status_subscribe( subscription_data, &message); } else { ogs_error("%s HTTP response error %d",
View file
open5gs_2.4.11.tar.xz/src/upf/context.c -> open5gs_2.5.0.tar.xz/src/upf/context.c
Changed
@@ -394,7 +394,7 @@ pdr->dnn ? pdr->dnn : ""); } - ogs_info("UE F-SEIDCP:0x%lx UP:0x%lx " + ogs_info("UE F-SEIDUP:0x%lx CP:0x%lx " "APN%s PDN-Type%d IPv4%s IPv6%s", (long)sess->upf_n4_seid, (long)sess->smf_n4_f_seid.seid, pdr->dnn, session_type,
View file
open5gs_2.4.11.tar.xz/src/upf/event.h -> open5gs_2.5.0.tar.xz/src/upf/event.h
Changed
@@ -53,6 +53,8 @@ ogs_pfcp_message_t *pfcp_message; } upf_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(upf_event_t)); + void upf_event_init(void); void upf_event_term(void); void upf_event_final(void);
View file
open5gs_2.4.11.tar.xz/tests/af/af-sm.c -> open5gs_2.5.0.tar.xz/tests/af/af-sm.c
Changed
@@ -98,7 +98,7 @@ CASE(OGS_SBI_RESOURCE_NAME_NF_STATUS_NOTIFY) SWITCH(message.h.method) CASE(OGS_SBI_HTTP_METHOD_POST) - ogs_nnrf_handle_nf_status_notify(stream, &message); + ogs_nnrf_nfm_handle_nf_status_notify(stream, &message); break; DEFAULT @@ -230,7 +230,7 @@ CASE(OGS_SBI_HTTP_METHOD_POST) if (message.res_status == OGS_SBI_HTTP_STATUS_CREATED || message.res_status == OGS_SBI_HTTP_STATUS_OK) { - ogs_nnrf_handle_nf_status_subscribe( + ogs_nnrf_nfm_handle_nf_status_subscribe( subscription_data, &message); } else { ogs_error("HTTP response error : %d",
View file
open5gs_2.4.11.tar.xz/tests/af/event.h -> open5gs_2.5.0.tar.xz/tests/af/event.h
Changed
@@ -52,6 +52,8 @@ af_sess_t *sess; } af_event_t; +OGS_STATIC_ASSERT(OGS_EVENT_SIZE >= sizeof(af_event_t)); + af_event_t *af_event_new(int id); const char *af_event_get_name(af_event_t *e);
View file
open5gs_2.4.11.tar.xz/tests/af/nbsf-build.c -> open5gs_2.5.0.tar.xz/tests/af/nbsf-build.c
Changed
@@ -38,7 +38,7 @@ message.param.ipv6prefix = sess->ipv6prefix; request = ogs_sbi_build_request(&message); - ogs_assert(request); + ogs_expect(request); return request; }
View file
open5gs_2.4.11.tar.xz/tests/af/nnrf-handler.c -> open5gs_2.5.0.tar.xz/tests/af/nnrf-handler.c
Changed
@@ -29,6 +29,7 @@ ogs_sbi_discovery_option_t *discovery_option = NULL; OpenAPI_nf_type_e target_nf_type = OpenAPI_nf_type_NULL; + OpenAPI_nf_type_e requester_nf_type = OpenAPI_nf_type_NULL; OpenAPI_search_result_t *SearchResult = NULL; ogs_assert(recvmsg); @@ -39,6 +40,8 @@ ogs_assert(service_type); target_nf_type = ogs_sbi_service_type_to_nf_type(service_type); ogs_assert(target_nf_type); + requester_nf_type = xact->requester_nf_type; + ogs_assert(requester_nf_type); discovery_option = xact->discovery_option; @@ -48,13 +51,14 @@ return; } - ogs_nnrf_handle_nf_discover_search_result(SearchResult); + ogs_nnrf_disc_handle_nf_discover_search_result(SearchResult); nf_instance = ogs_sbi_nf_instance_find_by_discovery_param( - target_nf_type, discovery_option); + target_nf_type, requester_nf_type, discovery_option); if (!nf_instance) { - ogs_error("(NF discover) No %s", - ogs_sbi_service_type_to_name(service_type)); + ogs_error("(NF discover) No %s:%s", + ogs_sbi_service_type_to_name(service_type), + OpenAPI_nf_type_ToString(requester_nf_type)); return; }
View file
open5gs_2.4.11.tar.xz/tests/af/npcf-build.c -> open5gs_2.5.0.tar.xz/tests/af/npcf-build.c
Changed
@@ -273,11 +273,13 @@ AscReqData.med_components = MediaComponentList; request = ogs_sbi_build_request(&message); - ogs_expect_or_return_val(request, NULL); + ogs_expect(request); - ogs_free(AscReqData.notif_uri); + if (AscReqData.notif_uri) + ogs_free(AscReqData.notif_uri); - ogs_free(AscReqData.supp_feat); + if (AscReqData.supp_feat) + ogs_free(AscReqData.supp_feat); EventList = evSubsc.events; OpenAPI_list_for_each(EventList, node) { @@ -534,7 +536,7 @@ AscUpdateData.med_components = MediaComponentList; request = ogs_sbi_build_request(&message); - ogs_expect_or_return_val(request, NULL); + ogs_expect(request); OpenAPI_list_for_each(MediaComponentList, node) { MediaComponentMap = node->data; @@ -616,7 +618,7 @@ (char *)OGS_SBI_RESOURCE_NAME_DELETE; request = ogs_sbi_build_request(&message); - ogs_expect_or_return_val(request, NULL); + ogs_expect(request); return request; } @@ -992,11 +994,13 @@ AscReqData.med_components = MediaComponentList; request = ogs_sbi_build_request(&message); - ogs_expect_or_return_val(request, NULL); + ogs_expect(request); - ogs_free(AscReqData.notif_uri); + if (AscReqData.notif_uri) + ogs_free(AscReqData.notif_uri); - ogs_free(AscReqData.supp_feat); + if (AscReqData.supp_feat) + ogs_free(AscReqData.supp_feat); EventList = evSubsc.events; OpenAPI_list_for_each(EventList, node) {
View file
open5gs_2.4.11.tar.xz/tests/af/sbi-path.c -> open5gs_2.5.0.tar.xz/tests/af/sbi-path.c
Changed
@@ -19,66 +19,11 @@ #include "sbi-path.h" -static int server_cb(ogs_sbi_request_t *request, void *data) -{ - af_event_t *e = NULL; - int rv; - - ogs_assert(request); - ogs_assert(data); - - e = af_event_new(OGS_EVENT_SBI_SERVER); - ogs_assert(e); - - e->h.sbi.request = request; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_request_free(request); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - -static int client_cb(int status, ogs_sbi_response_t *response, void *data) -{ - af_event_t *e = NULL; - int rv; - - if (status != OGS_OK) { - ogs_log_message( - status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0, - "client_cb() failed %d", status); - return OGS_ERROR; - } - - ogs_assert(response); - - e = af_event_new(OGS_EVENT_SBI_CLIENT); - ogs_assert(e); - e->h.sbi.response = response; - e->h.sbi.data = data; - - rv = ogs_queue_push(ogs_app()->queue, e); - if (rv != OGS_OK) { - ogs_error("ogs_queue_push() failed:%d", (int)rv); - ogs_sbi_response_free(response); - ogs_event_free(e); - return OGS_ERROR; - } - - return OGS_OK; -} - int af_sbi_open(void) { ogs_sbi_nf_instance_t *nf_instance = NULL; - /* Add SELF NF instance */ + /* Initialize SELF NF instance */ nf_instance = ogs_sbi_self()->nf_instance; ogs_assert(nf_instance); ogs_sbi_nf_fsm_init(nf_instance); @@ -88,24 +33,14 @@ /* Initialize NRF NF Instance */ nf_instance = ogs_sbi_self()->nrf_instance; - if (nf_instance) { - ogs_sbi_client_t *client = NULL; - - /* Client callback is only used when NF sends to NRF */ - client = nf_instance->client; - ogs_assert(client); - client->cb = client_cb; - - /* NFRegister is sent and the response is received - * by the above client callback. */ + if (nf_instance) ogs_sbi_nf_fsm_init(nf_instance); - } /* Build Subscription-Data */ ogs_sbi_subscription_data_build_default( OpenAPI_nf_type_BSF, OGS_SBI_SERVICE_NAME_NBSF_MANAGEMENT); - if (ogs_sbi_server_start_all(server_cb) != OGS_OK) + if (ogs_sbi_server_start_all(ogs_sbi_server_handler) != OGS_OK) return OGS_ERROR; return OGS_OK; @@ -117,11 +52,12 @@ ogs_sbi_server_stop_all(); } -bool af_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data) +bool af_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact) { ogs_assert(nf_instance); - - return ogs_sbi_send_request(nf_instance, client_cb, data); + ogs_assert(xact); + return ogs_sbi_send_request_to_nf_instance(nf_instance, xact); } void af_sbi_discover_and_send( @@ -144,7 +80,7 @@ return; } - if (ogs_sbi_discover_and_send(xact, client_cb) != true) { + if (ogs_sbi_discover_and_send(xact) != true) { ogs_error("af_sbi_discover_and_send() failed"); return; } @@ -164,5 +100,8 @@ request = (*build)(sess, data); ogs_assert(request); - ogs_sbi_client_send_request(client, client_cb, request, sess); + ogs_sbi_send_request_to_client( + client, ogs_sbi_client_handler, request, sess); + + ogs_sbi_request_free(request); }
View file
open5gs_2.4.11.tar.xz/tests/af/sbi-path.h -> open5gs_2.5.0.tar.xz/tests/af/sbi-path.h
Changed
@@ -30,7 +30,8 @@ int af_sbi_open(void); void af_sbi_close(void); -bool af_sbi_send_request(ogs_sbi_nf_instance_t *nf_instance, void *data); +bool af_sbi_send_request( + ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact); void af_sbi_discover_and_send( ogs_sbi_service_type_e service_type, ogs_sbi_discovery_option_t *discovery_option,
View file
open5gs_2.4.11.tar.xz/webui/package-lock.json -> open5gs_2.5.0.tar.xz/webui/package-lock.json
Changed
@@ -1,61 +1,1085 @@ { "name": "open5gs", - "version": "2.4.11", + "version": "2.5.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "open5gs", - "version": "2.4.11", + "version": "2.5.0", "license": "AGPL-3.0", "dependencies": { - "axios": "^0.16.2", + "axios": "^1.1.3", "babel-plugin-polished": "^1.1.0", - "babel-plugin-styled-components": "^1.5.1", - "body-parser": "^1.18.3", - "connect-mongo": "^1.3.2", - "express": "^4.16.3", - "express-restify-mongoose": "^4.3.0", - "express-session": "^1.15.2", - "immutable": "^3.8.1", + "babel-plugin-styled-components": "^2.0.7", + "body-parser": "^1.20.1", + "connect-mongo": "^4.6.0", + "express": "^4.18.2", + "express-restify-mongoose": "^7.0.2", + "express-session": "^1.17.3", + "immutable": "^4.1.0", "jsonwebtoken": "^8.5.1", - "lodash": "^4.17.10", - "lusca": "^1.6.0", - "method-override": "^2.3.9", - "mongoose": "^4.13.14", - "mongoose-long": "^0.1.1", - "morgan": "^1.8.2", + "lodash": "^4.17.21", + "lusca": "^1.7.0", + "method-override": "^3.0.0", + "mongoose": "^6.7.0", + "mongoose-long": "^0.6.0", + "morgan": "^1.10.0", "next": "^3.2.3", "next-redux-wrapper": "^1.3.5", "nprogress": "^0.2.0", - "open-color": "^1.6.3", - "passport": "^0.4.0", + "open-color": "^1.9.1", + "passport": "^0.6.0", "passport-jwt": "^4.0.0", "passport-local": "^1.0.0", - "passport-local-mongoose": "^4.5.0", - "prop-types": "^15.6.2", + "passport-local-mongoose": "^7.1.2", + "prop-types": "^15.8.1", "react": "^15.6.1", "react-dom": "^15.6.1", "react-event-listener": "^0.5.9", "react-icons": "^2.2.5", "react-jsonschema-form": "^0.50.1", "react-notification-system": "^0.2.17", - "react-onclickoutside": "^6.7.1", + "react-onclickoutside": "^6.12.2", "react-redux": "^5.0.7", "react-transition-group": "^1.1.3", "redux": "^3.7.2", "redux-actions": "^2.4.0", "redux-saga": "^0.15.6", "styled-components": "^2.4.1", - "traverse": "^0.6.6" + "traverse": "^0.6.7" + } + }, + "node_modules/@aws-crypto/ie11-detection": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", + "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", + "optional": true, + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", + "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", + "optional": true, + "dependencies": { + "@aws-crypto/ie11-detection": "^2.0.0", + "@aws-crypto/sha256-js": "^2.0.0", + "@aws-crypto/supports-web-crypto": "^2.0.0", + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", + "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "optional": true, + "dependencies": { + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", + "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", + "optional": true, + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, + "node_modules/@aws-crypto/util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", + "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "^3.110.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, + "node_modules/@aws-sdk/abort-controller": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.193.0.tgz", + "integrity": "sha512-MYPBm5PWyKP+Tq37mKs5wDbyAyVMocF5iYmx738LYXBSj8A1V4LTFrvfd4U16BRC/sM0DYB9fBFJUQ9ISFRVYw==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/client-cognito-identity": { + "version": "3.195.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.195.0.tgz", + "integrity": "sha512-yQFCoGqGcHvyeS3rL5H5L2I6m9XFWMLaK1/iALgYsITfmig0JzlzGH/ubStEiZMsQ8lhdWmUcOyhCK4+Bx9l0w==", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/client-sts": "3.194.0", + "@aws-sdk/config-resolver": "3.193.0", + "@aws-sdk/credential-provider-node": "3.193.0", + "@aws-sdk/fetch-http-handler": "3.193.0", + "@aws-sdk/hash-node": "3.193.0", + "@aws-sdk/invalid-dependency": "3.193.0", + "@aws-sdk/middleware-content-length": "3.193.0", + "@aws-sdk/middleware-endpoint": "3.193.0", + "@aws-sdk/middleware-host-header": "3.193.0", + "@aws-sdk/middleware-logger": "3.193.0", + "@aws-sdk/middleware-recursion-detection": "3.193.0", + "@aws-sdk/middleware-retry": "3.193.0", + "@aws-sdk/middleware-serde": "3.193.0", + "@aws-sdk/middleware-signing": "3.193.0", + "@aws-sdk/middleware-stack": "3.193.0", + "@aws-sdk/middleware-user-agent": "3.193.0", + "@aws-sdk/node-config-provider": "3.193.0", + "@aws-sdk/node-http-handler": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/smithy-client": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/url-parser": "3.193.0", + "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.188.0", + "@aws-sdk/util-defaults-mode-browser": "3.193.0", + "@aws-sdk/util-defaults-mode-node": "3.193.0", + "@aws-sdk/util-endpoints": "3.194.0", + "@aws-sdk/util-user-agent-browser": "3.193.0", + "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.193.0.tgz", + "integrity": "sha512-NxDckym95mtimYp9uWRA1lcyJHDyS8OZEaDC+dZ/tt5wGyPoc3ftHZNWDLzZM1PUjzgo+XzjMBVkWMvk/SRSYw==", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.193.0", + "@aws-sdk/fetch-http-handler": "3.193.0", + "@aws-sdk/hash-node": "3.193.0", + "@aws-sdk/invalid-dependency": "3.193.0", + "@aws-sdk/middleware-content-length": "3.193.0", + "@aws-sdk/middleware-host-header": "3.193.0", + "@aws-sdk/middleware-logger": "3.193.0", + "@aws-sdk/middleware-recursion-detection": "3.193.0", + "@aws-sdk/middleware-retry": "3.193.0", + "@aws-sdk/middleware-serde": "3.193.0", + "@aws-sdk/middleware-stack": "3.193.0", + "@aws-sdk/middleware-user-agent": "3.193.0", + "@aws-sdk/node-config-provider": "3.193.0", + "@aws-sdk/node-http-handler": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/smithy-client": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/url-parser": "3.193.0", + "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.188.0", + "@aws-sdk/util-defaults-mode-browser": "3.193.0", + "@aws-sdk/util-defaults-mode-node": "3.193.0", + "@aws-sdk/util-user-agent-browser": "3.193.0", + "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.194.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.194.0.tgz", + "integrity": "sha512-duolI7KLvRLMrL0ZpiVvmhaC5stKcNp5tfJ7gUW24tyf+7ImAmk2odSMIgcq54EWQ3XppTKBhEGCjOJ9th7+Qg==", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.193.0", + "@aws-sdk/credential-provider-node": "3.193.0", + "@aws-sdk/fetch-http-handler": "3.193.0", + "@aws-sdk/hash-node": "3.193.0", + "@aws-sdk/invalid-dependency": "3.193.0", + "@aws-sdk/middleware-content-length": "3.193.0", + "@aws-sdk/middleware-endpoint": "3.193.0", + "@aws-sdk/middleware-host-header": "3.193.0", + "@aws-sdk/middleware-logger": "3.193.0", + "@aws-sdk/middleware-recursion-detection": "3.193.0", + "@aws-sdk/middleware-retry": "3.193.0", + "@aws-sdk/middleware-sdk-sts": "3.193.0", + "@aws-sdk/middleware-serde": "3.193.0", + "@aws-sdk/middleware-signing": "3.193.0", + "@aws-sdk/middleware-stack": "3.193.0", + "@aws-sdk/middleware-user-agent": "3.193.0", + "@aws-sdk/node-config-provider": "3.193.0", + "@aws-sdk/node-http-handler": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/smithy-client": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/url-parser": "3.193.0", + "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.188.0", + "@aws-sdk/util-defaults-mode-browser": "3.193.0", + "@aws-sdk/util-defaults-mode-node": "3.193.0", + "@aws-sdk/util-endpoints": "3.194.0", + "@aws-sdk/util-user-agent-browser": "3.193.0", + "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.188.0", + "fast-xml-parser": "4.0.11", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@aws-sdk/config-resolver": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.193.0.tgz", + "integrity": "sha512-HIjuv2A1glgkXy9g/A8bfsiz3jTFaRbwGZheoHFZod6iEQQEbbeAsBe3u2AZyzOrVLgs8lOvBtgU8XKSJWjDkw==", + "optional": true, + "dependencies": { + "@aws-sdk/signature-v4": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-config-provider": "3.188.0", + "@aws-sdk/util-middleware": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-cognito-identity": { + "version": "3.195.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.195.0.tgz", + "integrity": "sha512-nlIk6kx7745gnKybvu6yck+OHrmtqFxaxob6zLelofDEHJGbAkN+CAeTy3FnN7qVNtz9hC42+HOqz9eCRjyZVQ==", + "optional": true, + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.195.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.193.0.tgz", + "integrity": "sha512-pRqZoIaqCdWB4JJdR6DqDn3u+CwKJchwiCPnRtChwC8KXCMkT4njq9J1bWG3imYeTxP/G06O1PDONEuD4pPtNQ==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-imds": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.193.0.tgz", + "integrity": "sha512-jC7uT7uVpO/iitz49toHMGFKXQ2igWQQG2SKirREqDRaz5HSXwEP1V3rcOlNNyGIBPMggDjZnxYgJHqBXSq9Ag==", + "optional": true, + "dependencies": { + "@aws-sdk/node-config-provider": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/url-parser": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.193.0.tgz", + "integrity": "sha512-JQ4tyeLjwsa9Jo95yTrLgFFspAP5GwaZDqDJArG98waKDzxhl7FeBs+N32+oux6WB7RKRB0svOK02nnoWnrjVg==", + "optional": true, + "dependencies": { + "@aws-sdk/credential-provider-env": "3.193.0", + "@aws-sdk/credential-provider-imds": "3.193.0", + "@aws-sdk/credential-provider-sso": "3.193.0", + "@aws-sdk/credential-provider-web-identity": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/shared-ini-file-loader": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.193.0.tgz", + "integrity": "sha512-2E8yWVw1vLb6IumZxA0w4mes759YSCTHLdfp5nMBpn+d+Otz26mczKSe7xr7AaVONq+/sVPUl2GfTFTWM4B0eA==", + "optional": true, + "dependencies": { + "@aws-sdk/credential-provider-env": "3.193.0", + "@aws-sdk/credential-provider-imds": "3.193.0", + "@aws-sdk/credential-provider-ini": "3.193.0", + "@aws-sdk/credential-provider-process": "3.193.0", + "@aws-sdk/credential-provider-sso": "3.193.0", + "@aws-sdk/credential-provider-web-identity": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/shared-ini-file-loader": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.193.0.tgz", + "integrity": "sha512-zpXxtQzQqkaUuFqmHW9dSkh9p/1k+XNKlwEkG8FTwAJNUWmy2ZMJv+8NTVn4s4vaRu7xJ1er9chspYr7mvxHlA==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/shared-ini-file-loader": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.193.0.tgz", + "integrity": "sha512-jBFWreNFZUgnGyCkpxDGf+LrXTuzEfjYkJYti1HnnsUF4vF0PsVZS6/FQi1mDl3pqorrtgknI59ENnAhKVxtBg==", + "optional": true, + "dependencies": { + "@aws-sdk/client-sso": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/shared-ini-file-loader": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.193.0.tgz", + "integrity": "sha512-MIQY9KwLCBnRyIt7an4EtMrFQZz2HC1E8vQDdKVzmeQBBePhW61fnX9XDP9bfc3Ypg1NggLG00KBPEC88twLFg==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/credential-providers": { + "version": "3.195.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.195.0.tgz", + "integrity": "sha512-Fu8k8tUz+Z14+2ozC+lrDZDIOHOlhcKREpvSHfZYD9JLczivq2KuZrZsIVCCPbIxS1Wo1QhzkvYEYNN7ELm+Ig==", + "optional": true, + "dependencies": { + "@aws-sdk/client-cognito-identity": "3.195.0", + "@aws-sdk/client-sso": "3.193.0", + "@aws-sdk/client-sts": "3.194.0", + "@aws-sdk/credential-provider-cognito-identity": "3.195.0", + "@aws-sdk/credential-provider-env": "3.193.0", + "@aws-sdk/credential-provider-imds": "3.193.0", + "@aws-sdk/credential-provider-ini": "3.193.0", + "@aws-sdk/credential-provider-node": "3.193.0", + "@aws-sdk/credential-provider-process": "3.193.0", + "@aws-sdk/credential-provider-sso": "3.193.0", + "@aws-sdk/credential-provider-web-identity": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/shared-ini-file-loader": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/fetch-http-handler": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.193.0.tgz", + "integrity": "sha512-UhIS2LtCK9hqBzYVon6BI8WebJW1KC0GGIL/Gse5bqzU9iAGgFLAe66qg9k+/h3Jjc5LNAYzqXNVizMwn7689Q==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/querystring-builder": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-base64-browser": "3.188.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/hash-node": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.193.0.tgz", + "integrity": "sha512-O2SLPVBjrCUo+4ouAdRUoHBYsyurO9LcjNZNYD7YQOotBTbVFA3cx7kTZu+K4B6kX7FDaGbqbE1C/T1/eg/r+w==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-buffer-from": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/invalid-dependency": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.193.0.tgz", + "integrity": "sha512-54DCknekLwJAI1os76XJ8XCzfAH7BGkBGtlWk5WCNkZTfj3rf5RUiXz4uoKUMWE1rZmyMDoDDS1PBo+yTVKW5w==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/is-array-buffer": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.188.0.tgz", + "integrity": "sha512-n69N4zJZCNd87Rf4NzufPzhactUeM877Y0Tp/F3KiHqGeTnVjYUa4Lv1vLBjqtfjYb2HWT3NKlYn5yzrhaEwiQ==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-content-length": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.193.0.tgz", + "integrity": "sha512-em0Sqo7O7DFOcVXU460pbcYuIjblDTZqK2YE62nQ0T+5Nbj+MSjuoite+rRRdRww9VqBkUROGKON45bUNjogtQ==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-endpoint": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.193.0.tgz", + "integrity": "sha512-Inbpt7jcHGvzF7UOJOCxx9wih0+eAQYERikokidWJa7M405EJpVYq1mGbeOcQUPANU3uWF1AObmUUFhbkriHQw==", + "optional": true, + "dependencies": { + "@aws-sdk/middleware-serde": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/signature-v4": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/url-parser": "3.193.0", + "@aws-sdk/util-config-provider": "3.188.0", + "@aws-sdk/util-middleware": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.193.0.tgz", + "integrity": "sha512-aegzj5oRWd//lmfmkzRmgG2b4l3140v8Ey4QkqCxcowvAEX5a7rh23yuKaGtmiePwv2RQalCKz+tN6JXCm8g6Q==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.193.0.tgz", + "integrity": "sha512-D/h1pU5tAcyJpJ8ZeD1Sta0S9QZPcxERYRBiJdEl8VUrYwfy3Cl1WJedVOmd5nG73ZLRSyHeXHewb/ohge3yKQ==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.193.0.tgz", + "integrity": "sha512-fMWP76Q1GOb/9OzS1arizm6Dbfo02DPZ6xp7OoAN3PS6ybH3Eb47s/gP3jzgBPAITQacFj4St/4a06YWYrN3NA==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-retry": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.193.0.tgz", + "integrity": "sha512-zTQkHLBQBJi6ns655WYcYLyLPc1tgbEYU080Oc8zlveLUqoDn1ogkcmNhG7XMeQuBvWZBYN7J3/wFaXlDzeCKg==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/service-error-classification": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-middleware": "3.193.0", + "tslib": "^2.3.1", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-sts": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.193.0.tgz", + "integrity": "sha512-TafiDkeflUsnbNa89TLkDnAiRRp1gAaZLDAjt75AzriRKZnhtFfYUXWb+qAuN50T+CkJ/gZI9LHDZL5ogz/HxQ==", + "optional": true, + "dependencies": { + "@aws-sdk/middleware-signing": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/signature-v4": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-serde": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.193.0.tgz", + "integrity": "sha512-dH93EJYVztY+ZDPzSMRi9LfAZfKO+luH62raNy49hlNa4jiyE1Tc/+qwlmOEpfGsrtcZ9TgsON1uFF9sgBXXaA==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-signing": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.193.0.tgz", + "integrity": "sha512-obBoELGPf5ikvHYZwbzllLeuODiokdDfe92Ve2ufeOa/d8+xsmbqNzNdCTLNNTmr1tEIaEE7ngZVTOiHqAVhyw==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/signature-v4": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-middleware": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-stack": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.193.0.tgz", + "integrity": "sha512-Ix5d7gE6bZwFNIVf0dGnjYuymz1gjitNoAZDPpv1nEZlUMek/jcno5lmzWFzUZXY/azpbIyaPwq/wm/c69au5A==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.193.0.tgz", + "integrity": "sha512-0vT6F9NwYQK7ARUUJeHTUIUPnupsO3IbmjHSi1+clkssFlJm2UfmSGeafiWe4AYH3anATTvZEtcxX5DZT/ExbA==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/node-config-provider": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.193.0.tgz", + "integrity": "sha512-5RLdjQLH69ISRG8TX9klSLOpEySXxj+z9E9Em39HRvw0/rDcd8poCTADvjYIOqRVvMka0z/hm+elvUTIVn/DRw==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/shared-ini-file-loader": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/node-http-handler": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.193.0.tgz", + "integrity": "sha512-DP4BmFw64HOShgpAPEEMZedVnRmKKjHOwMEoXcnNlAkMXnYUFHiKvudYq87Q2AnSlT6OHkyMviB61gEvIk73dA==", + "optional": true, + "dependencies": { + "@aws-sdk/abort-controller": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/querystring-builder": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/property-provider": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.193.0.tgz", + "integrity": "sha512-IaDR/PdZjKlAeSq2E/6u6nkPsZF9wvhHZckwH7uumq4ocWsWXFzaT+hKpV4YZPHx9n+K2YV4Gn/bDedpz99W1Q==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/protocol-http": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.193.0.tgz", + "integrity": "sha512-r0wbTwFJyXq0uiImI6giqG3g/RO1N/y4wwPA7qr7OC+KXJ0NkyVxIf6e7Vx8h06aM1ATtngbwJaMP59kVCp85A==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/querystring-builder": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.193.0.tgz", + "integrity": "sha512-PRaK6649iw0UO45UjUoiUzFcOKXZb8pMjjFJpqALpEvdZT3twxqhlPXujT7GWPKrSwO4uPLNnyYEtPY82wx2vw==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-uri-escape": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/querystring-parser": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.193.0.tgz", + "integrity": "sha512-dGEPCe8SK4/td5dSpiaEI3SvT5eHXrbJWbLGyD4FL3n7WCGMy2xVWAB/yrgzD0GdLDjDa8L5vLVz6yT1P9i+hA==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/service-error-classification": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.193.0.tgz", + "integrity": "sha512-bPnXVu8ErE1RfWVVQKc2TE7EuoImUi4dSPW9g80fGRzJdQNwXb636C+7OUuWvSDzmFwuBYqZza8GZjVd+rz2zQ==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/shared-ini-file-loader": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.193.0.tgz", + "integrity": "sha512-hnvZup8RSpFXfah7Rrn6+lQJnAOCO+OiDJ2R/iMgZQh475GRQpLbu3cPhCOkjB14vVLygJtW8trK/0+zKq93bQ==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.193.0.tgz", + "integrity": "sha512-JEqqOB8wQZz6g1ERNUOIBFDFt8OJtz5G5Uh1CdkS5W66gyWnJEz/dE1hA2VTqqQwHGGEsIEV/hlzruU1lXsvFA==", + "optional": true, + "dependencies": { + "@aws-sdk/is-array-buffer": "3.188.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-hex-encoding": "3.188.0", + "@aws-sdk/util-middleware": "3.193.0", + "@aws-sdk/util-uri-escape": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/smithy-client": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.193.0.tgz", + "integrity": "sha512-BY0jhfW76vyXr7ODMaKO3eyS98RSrZgOMl6DTQV9sk7eFP/MPVlG7p7nfX/CDIgPBIO1z0A0i2CVIzYur9uGgQ==", + "optional": true, + "dependencies": { + "@aws-sdk/middleware-stack": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.193.0.tgz", + "integrity": "sha512-LV/wcPolRZKORrcHwkH59QMCkiDR5sM+9ZtuTxvyUGG2QFW/kjoxs08fUF10OWNJMrotBI+czDc5QJRgN8BlAw==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/url-parser": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.193.0.tgz", + "integrity": "sha512-hwD1koJlOu2a6GvaSbNbdo7I6a3tmrsNTZr8bCjAcbqpc5pDThcpnl/Uaz3zHmMPs92U8I6BvWoK6pH8By06qw==", + "optional": true, + "dependencies": { + "@aws-sdk/querystring-parser": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-base64-browser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.188.0.tgz", + "integrity": "sha512-qlH+5NZBLiyKziL335BEPedYxX6j+p7KFRWXvDQox9S+s+gLCayednpK+fteOhBenCcR9fUZOVuAPScy1I8qCg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-base64-node": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.188.0.tgz", + "integrity": "sha512-r1dccRsRjKq+OhVRUfqFiW3sGgZBjHbMeHLbrAs9jrOjU2PTQ8PSzAXLvX/9lmp7YjmX17Qvlsg0NCr1tbB9OA==", + "optional": true, + "dependencies": { + "@aws-sdk/util-buffer-from": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-body-length-browser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz", + "integrity": "sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-body-length-node": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.188.0.tgz", + "integrity": "sha512-XwqP3vxk60MKp4YDdvDeCD6BPOiG2e+/Ou4AofZOy5/toB6NKz2pFNibQIUg2+jc7mPMnGnvOW3MQEgSJ+gu/Q==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-buffer-from": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.188.0.tgz", + "integrity": "sha512-NX1WXZ8TH20IZb4jPFT2CnLKSqZWddGxtfiWxD9M47YOtq/SSQeR82fhqqVjJn4P8w2F5E28f+Du4ntg/sGcxA==", + "optional": true, + "dependencies": { + "@aws-sdk/is-array-buffer": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-config-provider": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.188.0.tgz", + "integrity": "sha512-LBA7tLbi7v4uvbOJhSnjJrxbcRifKK/1ZVK94JTV2MNSCCyNkFotyEI5UWDl10YKriTIUyf7o5cakpiDZ3O4xg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-defaults-mode-browser": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.193.0.tgz", + "integrity": "sha512-9riQKFrSJcsNAMnPA/3ltpSxNykeO20klE/UKjxEoD7UWjxLwsPK22UJjFwMRaHoAFcZD0LU/SgPxbC0ktCYCg==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "bowser": "^2.11.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/util-defaults-mode-node": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.193.0.tgz", + "integrity": "sha512-occQmckvPRiM4YQIZnulfKKKjykGKWloa5ByGC5gOEGlyeP9zJpfs4zc/M2kArTAt+d2r3wkBtsKe5yKSlVEhA==", + "optional": true, + "dependencies": { + "@aws-sdk/config-resolver": "3.193.0", + "@aws-sdk/credential-provider-imds": "3.193.0", + "@aws-sdk/node-config-provider": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.194.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.194.0.tgz", + "integrity": "sha512-G+DGC3Zx0GnQpt4DpRmVcCfliNxf3nwBtZ3JIdCptkUZgDEpLYzOfjbf3bUyPTQh+oGHeqfnVAF+rFjTnYql3A==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-hex-encoding": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.188.0.tgz", + "integrity": "sha512-QyWovTtjQ2RYxqVM+STPh65owSqzuXURnfoof778spyX4iQ4z46wOge1YV2ZtwS8w5LWd9eeVvDrLu5POPYOnA==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.188.0.tgz", + "integrity": "sha512-SxobBVLZkkLSawTCfeQnhVX3Azm9O+C2dngZVe1+BqtF8+retUbVTs7OfYeWBlawVkULKF2e781lTzEHBBjCzw==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-middleware": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.193.0.tgz", + "integrity": "sha512-+aC6pmkcGgpxaMWCH/FXTsGWl2W342oQGs1OYKGi+W8z9UguXrqamWjdkdMqgunvj9qOEG2KBMKz1FWFFZlUyA==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-uri-escape": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.188.0.tgz", + "integrity": "sha512-4Y6AYZMT483Tiuq8dxz5WHIiPNdSFPGrl6tRTo2Oi2FcwypwmFhqgEGcqxeXDUJktvaCBxeA08DLr/AemVhPCg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.193.0.tgz", + "integrity": "sha512-1EkGYsUtOMEyJG/UBIR4PtmO3lVjKNoUImoMpLtEucoGbWz5RG9zFSwLevjFyFs5roUBFlxkSpTMo8xQ3aRzQg==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.193.0", + "bowser": "^2.11.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.193.0.tgz", + "integrity": "sha512-G/2/1cSgsxVtREAm8Eq8Duib5PXzXknFRHuDpAxJ5++lsJMXoYMReS278KgV54cojOkAVfcODDTqmY3Av0WHhQ==", + "optional": true, + "dependencies": { + "@aws-sdk/node-config-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.188.0.tgz", + "integrity": "sha512-jt627x0+jE+Ydr9NwkFstg3cUvgWh56qdaqAMDsqgRlKD21md/6G226z/Qxl7lb1VEW2LlmCx43ai/37Qwcj2Q==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-utf8-node": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.188.0.tgz", + "integrity": "sha512-hCgP4+C0Lekjpjt2zFJ2R/iHes5sBGljXa5bScOFAEkRUc0Qw0VNgTv7LpEbIOAwGmqyxBoCwBW0YHPW1DfmYQ==", + "optional": true, + "dependencies": { + "@aws-sdk/util-buffer-from": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-rc.1.tgz", - "integrity": "sha512-GOV2UExs9gAvSrZF4rcgocXXeLJplq2kL2AsCrn6DmGwMUEfo/KB7FhedN3X6cVh0gOqqKkVKXrz3Li1wQ84xQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "dependencies": { - "@babel/types": "7.0.0-rc.1" + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/runtime": { @@ -67,14 +1091,41 @@ "regenerator-runtime": "^0.11.1" } }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, "node_modules/@babel/types": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-rc.1.tgz", - "integrity": "sha512-MBwO1JQKin9BwKTGydrYe4VDJbStCUy35IhJzeZt3FByOdx/q3CYaqMRrH70qVD2RA7+Xk8e3RN0mzKZkYBYuQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", + "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", "dependencies": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@types/node": { + "version": "18.11.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.5.tgz", + "integrity": "sha512-3JRwhbjI+cHLAkUorhf8RnqUbFXajvzX4q6fMn5JwkgtuwfYtRQYI3u4V92vI6NJuTsbBQWWh3RZjFsuevyMGQ==" + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==" + }, + "node_modules/@types/whatwg-url": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", + "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", + "dependencies": { + "@types/node": "*", + "@types/webidl-conversions": "*" } }, "node_modules/abbrev": { @@ -83,21 +1134,21 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "node_modules/accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { "node": ">= 0.6" } }, "node_modules/acorn": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", - "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", "bin": { "acorn": "bin/acorn" }, @@ -108,7 +1159,8 @@ "node_modules/acorn-dynamic-import": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "integrity": "sha512-GKp5tQ8h0KMPWIYGRHHXI1s5tUpZixZ3IHF2jAu42wSCf6In/G873s6/y4DdKdhWvzhu1T6mE1JgvnhAKqyYYQ==", + "deprecated": "This is probably built in to whatever tool you're using. If you still need it... idk", "dependencies": { "acorn": "^4.0.3" } @@ -116,7 +1168,7 @@ "node_modules/acorn-dynamic-import/node_modules/acorn": { "version": "4.0.13", "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "integrity": "sha512-fu2ygVGuMmlzG8ZeRJ0bvR41nsAkxxhbyk8bZ1SS521Z7vmgJFTQQlfz/Mp/nJexGBz+v8sC9bM6+lNgskt4Ug==", "bin": { "acorn": "bin/acorn" }, @@ -127,7 +1179,7 @@ "node_modules/ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", "dependencies": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", @@ -138,12 +1190,15 @@ "node_modules/ajv-keywords": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=" + "integrity": "sha512-ZFztHzVRdGLAzJmpUT9LNFLe1YiVOEylcaNpEutM26PVTCtOD919IMfD01CgbRouB42Dd9atjx1HseC15DgOZA==", + "peerDependencies": { + "ajv": "^5.0.0" + } }, "node_modules/align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", "dependencies": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -156,7 +1211,7 @@ "node_modules/amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", "engines": { "node": ">=0.4.2" } @@ -164,7 +1219,7 @@ "node_modules/ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "integrity": "sha512-JoAxEa1DfP9m2xfB/y2r/aKcwXNlltr4+0QSBC4TrLfcxyvepX2Pv0t/xpgGV5bGsDzCYV8SzjWgyCW0T9yYbA==", "engines": "node >= 0.8.0" , @@ -175,7 +1230,7 @@ "node_modules/ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "engines": { "node": ">=0.10.0" } @@ -183,7 +1238,7 @@ "node_modules/ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", "engines": { "node": ">=0.10.0" } @@ -191,21 +1246,26 @@ "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" }, "node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "optional": true, "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, "node_modules/arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -214,6 +1274,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -221,7 +1282,8 @@ "node_modules/arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -229,7 +1291,7 @@ "node_modules/array-differ": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==", "engines": { "node": ">=0.10.0" } @@ -237,12 +1299,12 @@ "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "node_modules/array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", "dependencies": { "array-uniq": "^1.0.1" }, @@ -253,7 +1315,7 @@ "node_modules/array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", "engines": { "node": ">=0.10.0" } @@ -261,7 +1323,8 @@ "node_modules/array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -269,7 +1332,7 @@ "node_modules/arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "engines": { "node": ">=0.10.0" } @@ -277,35 +1340,37 @@ "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, "node_modules/asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dependencies": { "bn.js": "^4.0.0", "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, "node_modules/assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dependencies": { + "object-assign": "^4.1.1", "util": "0.10.3" } }, "node_modules/assert/node_modules/inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==" }, "node_modules/assert/node_modules/util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", "dependencies": { "inherits": "2.0.1" } @@ -313,28 +1378,36 @@ "node_modules/assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dependencies": { - "lodash": "^4.14.0" + "lodash": "^4.17.14" } }, "node_modules/async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "optional": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/atob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "optional": true, "bin": { "atob": "bin/atob.js" }, @@ -343,18 +1416,19 @@ } }, "node_modules/axios": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.16.2.tgz", - "integrity": "sha1-uk+S8XFn37q0CYN4VFS5rBScPG0=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", + "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", "dependencies": { - "follow-redirects": "^1.2.3", - "is-buffer": "^1.1.5" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "node_modules/babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", "dependencies": { "chalk": "^1.1.3", "esutils": "^2.0.2", @@ -364,7 +1438,7 @@ "node_modules/babel-core": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz", - "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=", + "integrity": "sha512-wne6XXFyKIfZSLLXN17Zun5aw8x2WZY5ork2NSa5t0UWGxK2EHsJlPd8W1rQQDgpG0tsvEHNdaqmvygEI7Qmmw==", "dependencies": { "babel-code-frame": "^6.22.0", "babel-generator": "^6.25.0", @@ -390,7 +1464,7 @@ "node_modules/babel-generator": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz", - "integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=", + "integrity": "sha512-mfylq1PJtHEQBne/B45jQoveo7Vc1xKDM3/3ihNKrag8eym+TeoVl/xJsNtvGPBTlcc076zU0ycHV9plQeDYnw==", "dependencies": { "babel-messages": "^6.23.0", "babel-runtime": "^6.22.0", @@ -405,7 +1479,7 @@ "node_modules/babel-helper-builder-binary-assignment-operator-visitor": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "integrity": "sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q==", "dependencies": { "babel-helper-explode-assignable-expression": "^6.24.1", "babel-runtime": "^6.22.0", @@ -415,17 +1489,31 @@ "node_modules/babel-helper-builder-react-jsx": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", - "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", + "integrity": "sha512-02I9jDjnVEuGy2BR3LRm9nPRb/+Ja0pvZVLr1eI5TYAA/dB0Xoc+WBo50+aDfhGDLhlBY1+QURjn9uvcFd8gzg==", "dependencies": { "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", "esutils": "^2.0.2" } }, + "node_modules/babel-helper-builder-react-jsx/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-helper-builder-react-jsx/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, "node_modules/babel-helper-call-delegate": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", "dependencies": { "babel-helper-hoist-variables": "^6.24.1", "babel-runtime": "^6.22.0", @@ -436,7 +1524,7 @@ "node_modules/babel-helper-define-map": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==", "dependencies": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.26.0", @@ -444,10 +1532,24 @@ "lodash": "^4.17.4" } }, + "node_modules/babel-helper-define-map/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-helper-define-map/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, "node_modules/babel-helper-explode-assignable-expression": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "integrity": "sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==", "dependencies": { "babel-runtime": "^6.22.0", "babel-traverse": "^6.24.1", @@ -457,7 +1559,7 @@ "node_modules/babel-helper-function-name": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", "dependencies": { "babel-helper-get-function-arity": "^6.24.1", "babel-runtime": "^6.22.0", @@ -469,7 +1571,7 @@ "node_modules/babel-helper-get-function-arity": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", "dependencies": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -478,7 +1580,7 @@ "node_modules/babel-helper-hoist-variables": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", "dependencies": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -487,7 +1589,7 @@ "node_modules/babel-helper-optimise-call-expression": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", "dependencies": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -496,17 +1598,31 @@ "node_modules/babel-helper-regex": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==", "dependencies": { "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", "lodash": "^4.17.4" } }, + "node_modules/babel-helper-regex/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-helper-regex/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, "node_modules/babel-helper-remap-async-to-generator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "integrity": "sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg==", "dependencies": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.22.0", @@ -518,7 +1634,7 @@ "node_modules/babel-helper-replace-supers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", "dependencies": { "babel-helper-optimise-call-expression": "^6.24.1", "babel-messages": "^6.23.0", @@ -531,7 +1647,7 @@ "node_modules/babel-helpers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", "dependencies": { "babel-runtime": "^6.22.0", "babel-template": "^6.24.1" @@ -540,7 +1656,7 @@ "node_modules/babel-loader": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.1.tgz", - "integrity": "sha1-uHE0yLEuPkwqlOBUYIW8aAorhIg=", + "integrity": "sha512-iVA4o7+tesSU5PfqpDuQJubJDeAW9zYiY+XalnNzLZ3ubR7a3VtBGFQBS7kspblIYaRpgeyaSqx7nWhNcWcmHg==", "dependencies": { "find-cache-dir": "^1.0.0", "loader-utils": "^1.0.2", @@ -548,12 +1664,16 @@ }, "engines": { "node": ">=4" + }, + "peerDependencies": { + "babel-core": "6 || 7 || ^7.0.0-alpha || ^7.0.0-beta || ^7.0.0-rc", + "webpack": "2 || 3" } }, "node_modules/babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", "dependencies": { "babel-runtime": "^6.22.0" } @@ -561,7 +1681,7 @@ "node_modules/babel-plugin-check-es2015-constants": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", "dependencies": { "babel-runtime": "^6.22.0" } @@ -569,7 +1689,7 @@ "node_modules/babel-plugin-module-resolver": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-2.6.2.tgz", - "integrity": "sha1-ZoRciFWGXdf9TVJWvpMnLj0WcB0=", + "integrity": "sha512-cs1fvzUuWl5cwVYT0sywRKQ157cN4zoJ6uht0oZWhJMimzDrjnYBDzsLoyWSs0YQWUXhxRioSbf4ybpkDmK/Rw==", "dependencies": { "find-babel-config": "^1.0.1", "glob": "^7.1.1", @@ -579,7 +1699,7 @@ "node_modules/babel-plugin-polished": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-polished/-/babel-plugin-polished-1.1.0.tgz", - "integrity": "sha1-f2kCq46cIPwUy1PVlt2FiIDjV9M=", + "integrity": "sha512-7dwGtC6H1D2BMAzDTf/6rsKXOI0vrDFrOFTTNr0gAwOjzDqWBoy0xvunt+utfHEiWXDh08Pz65nm1O84Rvq21A==", "dependencies": { "polished": "^1.0.0" } @@ -587,62 +1707,67 @@ "node_modules/babel-plugin-react-require": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-react-require/-/babel-plugin-react-require-3.0.0.tgz", - "integrity": "sha1-Lk57RJa5OmVKHIAEInbeTk7rIOM=" + "integrity": "sha512-mZV3ycvtB4mfVhmScbU4CjMfBgoQAlsGu/vQw292juPSgvezTmBAke+V85ODAVNCM68r2Qa6dwu72Zcl4cTIbw==" }, "node_modules/babel-plugin-styled-components": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-1.5.1.tgz", - "integrity": "sha1-MdvraW0TVNFYXmDWbHkF9eR0r80=", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.0.0-beta.37", - "babel-types": "^6.26.0", - "stylis": "^3.0.0" + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.7.tgz", + "integrity": "sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-module-imports": "^7.16.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "lodash": "^4.17.11", + "picomatch": "^2.3.0" + }, + "peerDependencies": { + "styled-components": ">= 2" } }, "node_modules/babel-plugin-syntax-async-functions": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" + "integrity": "sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==" }, "node_modules/babel-plugin-syntax-class-properties": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" + "integrity": "sha512-chI3Rt9T1AbrQD1s+vxw3KcwC9yHtF621/MacuItITfZX344uhQoANjpoSJZleAmW2tjlolqB/f+h7jIqXa7pA==" }, "node_modules/babel-plugin-syntax-dynamic-import": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" + "integrity": "sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==" }, "node_modules/babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" + "integrity": "sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ==" }, "node_modules/babel-plugin-syntax-flow": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=" + "integrity": "sha512-HbTDIoG1A1op7Tl/wIFQPULIBA61tsJ8Ntq2FAhLwuijrzosM/92kAfgU1Q3Kc7DH/cprJg5vDfuTY4QUL4rDA==" }, "node_modules/babel-plugin-syntax-jsx": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" }, "node_modules/babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" + "integrity": "sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==" }, "node_modules/babel-plugin-syntax-trailing-function-commas": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" + "integrity": "sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==" }, "node_modules/babel-plugin-transform-async-to-generator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "integrity": "sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw==", "dependencies": { "babel-helper-remap-async-to-generator": "^6.24.1", "babel-plugin-syntax-async-functions": "^6.8.0", @@ -652,7 +1777,7 @@ "node_modules/babel-plugin-transform-class-properties": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "integrity": "sha512-n4jtBA3OYBdvG5PRMKsMXJXHfLYw/ZOmtxCLOOwz6Ro5XlrColkStLnz1AS1L2yfPA9BKJ1ZNlmVCLjAL9DSIg==", "dependencies": { "babel-helper-function-name": "^6.24.1", "babel-plugin-syntax-class-properties": "^6.8.0", @@ -663,7 +1788,7 @@ "node_modules/babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==", "dependencies": { "babel-runtime": "^6.22.0" } @@ -671,7 +1796,7 @@ "node_modules/babel-plugin-transform-es2015-block-scoped-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==", "dependencies": { "babel-runtime": "^6.22.0" } @@ -679,7 +1804,7 @@ "node_modules/babel-plugin-transform-es2015-block-scoping": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==", "dependencies": { "babel-runtime": "^6.26.0", "babel-template": "^6.26.0", @@ -688,10 +1813,19 @@ "lodash": "^4.17.4" } }, + "node_modules/babel-plugin-transform-es2015-block-scoping/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, "node_modules/babel-plugin-transform-es2015-block-scoping/node_modules/babel-template": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", "dependencies": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", @@ -700,10 +1834,15 @@ "lodash": "^4.17.4" } }, + "node_modules/babel-plugin-transform-es2015-block-scoping/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, "node_modules/babel-plugin-transform-es2015-classes": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", "dependencies": { "babel-helper-define-map": "^6.24.1", "babel-helper-function-name": "^6.24.1", @@ -719,7 +1858,7 @@ "node_modules/babel-plugin-transform-es2015-computed-properties": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==", "dependencies": { "babel-runtime": "^6.22.0", "babel-template": "^6.24.1" @@ -728,7 +1867,7 @@ "node_modules/babel-plugin-transform-es2015-destructuring": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==", "dependencies": { "babel-runtime": "^6.22.0" } @@ -736,7 +1875,7 @@ "node_modules/babel-plugin-transform-es2015-duplicate-keys": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==", "dependencies": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -745,7 +1884,7 @@ "node_modules/babel-plugin-transform-es2015-for-of": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==", "dependencies": { "babel-runtime": "^6.22.0" } @@ -753,7 +1892,7 @@ "node_modules/babel-plugin-transform-es2015-function-name": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==", "dependencies": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.22.0", @@ -763,7 +1902,7 @@ "node_modules/babel-plugin-transform-es2015-literals": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==", "dependencies": { "babel-runtime": "^6.22.0" } @@ -771,7 +1910,7 @@ "node_modules/babel-plugin-transform-es2015-modules-amd": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==", "dependencies": { "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", "babel-runtime": "^6.22.0", @@ -781,7 +1920,7 @@ "node_modules/babel-plugin-transform-es2015-modules-commonjs": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", - "integrity": "sha1-0+MQtA72ZKNmIiAAl8bUQCmPK/4=", + "integrity": "sha512-nVZMj02WXtBhlY+DKxrDhCo6uD0TSwvLXEq9NFxR9ERBfyQEEPi2CgWLnwJKn5otObFTm2u0j+LPPogfCMZeTA==", "dependencies": { "babel-plugin-transform-strict-mode": "^6.24.1", "babel-runtime": "^6.22.0", @@ -792,7 +1931,7 @@ "node_modules/babel-plugin-transform-es2015-modules-systemjs": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==", "dependencies": { "babel-helper-hoist-variables": "^6.24.1", "babel-runtime": "^6.22.0", @@ -802,7 +1941,7 @@ "node_modules/babel-plugin-transform-es2015-modules-umd": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", "dependencies": { "babel-plugin-transform-es2015-modules-amd": "^6.24.1", "babel-runtime": "^6.22.0", @@ -812,7 +1951,7 @@ "node_modules/babel-plugin-transform-es2015-object-super": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", "dependencies": { "babel-helper-replace-supers": "^6.24.1", "babel-runtime": "^6.22.0" @@ -821,7 +1960,7 @@ "node_modules/babel-plugin-transform-es2015-parameters": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==", "dependencies": { "babel-helper-call-delegate": "^6.24.1", "babel-helper-get-function-arity": "^6.24.1", @@ -834,7 +1973,7 @@ "node_modules/babel-plugin-transform-es2015-shorthand-properties": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==", "dependencies": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -843,7 +1982,7 @@ "node_modules/babel-plugin-transform-es2015-spread": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", "dependencies": { "babel-runtime": "^6.22.0" } @@ -851,7 +1990,7 @@ "node_modules/babel-plugin-transform-es2015-sticky-regex": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==", "dependencies": { "babel-helper-regex": "^6.24.1", "babel-runtime": "^6.22.0", @@ -861,7 +2000,7 @@ "node_modules/babel-plugin-transform-es2015-template-literals": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", "dependencies": { "babel-runtime": "^6.22.0" } @@ -869,7 +2008,7 @@ "node_modules/babel-plugin-transform-es2015-typeof-symbol": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==", "dependencies": { "babel-runtime": "^6.22.0" } @@ -877,7 +2016,7 @@ "node_modules/babel-plugin-transform-es2015-unicode-regex": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==", "dependencies": { "babel-helper-regex": "^6.24.1", "babel-runtime": "^6.22.0", @@ -887,7 +2026,7 @@ "node_modules/babel-plugin-transform-exponentiation-operator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "integrity": "sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==", "dependencies": { "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", "babel-plugin-syntax-exponentiation-operator": "^6.8.0", @@ -897,7 +2036,7 @@ "node_modules/babel-plugin-transform-flow-strip-types": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "integrity": "sha512-TxIM0ZWNw9oYsoTthL3lvAK3+eTujzktoXJg4ubGvICGbVuXVYv5hHv0XXpz8fbqlJaGYY4q5SVzaSmsg3t4Fg==", "dependencies": { "babel-plugin-syntax-flow": "^6.18.0", "babel-runtime": "^6.22.0" @@ -906,7 +2045,7 @@ "node_modules/babel-plugin-transform-object-rest-spread": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.22.0.tgz", - "integrity": "sha1-HUGbVeaNLk9kpf8zc71n1zyOg7w=", + "integrity": "sha512-+MlUsJyxDn93ukFf3fXLvT5n5kIt0j7p8kOMKBZYbCEBpdoTmiG0c6/qKtV14QKCk86PCwqQdV1+wdox/ZhXjQ==", "dependencies": { "babel-plugin-syntax-object-rest-spread": "^6.8.0", "babel-runtime": "^6.22.0" @@ -915,7 +2054,7 @@ "node_modules/babel-plugin-transform-react-display-name": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "integrity": "sha512-QLYkLiZeeED2PKd4LuXGg5y9fCgPB5ohF8olWUuETE2ryHNRqqnXlEVP7RPuef89+HTfd3syptMGVHeoAu0Wig==", "dependencies": { "babel-runtime": "^6.22.0" } @@ -923,7 +2062,7 @@ "node_modules/babel-plugin-transform-react-jsx": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "integrity": "sha512-s+q/Y2u2OgDPHRuod3t6zyLoV8pUHc64i/O7ZNgIOEdYTq+ChPeybcKBi/xk9VI60VriILzFPW+dUxAEbTxh2w==", "dependencies": { "babel-helper-builder-react-jsx": "^6.24.1", "babel-plugin-syntax-jsx": "^6.8.0", @@ -933,7 +2072,7 @@ "node_modules/babel-plugin-transform-react-jsx-self": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", - "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", + "integrity": "sha512-Y3ZHP1nunv0U1+ysTNwLK39pabHj6cPVsfN4TRC7BDBfbgbyF4RifP5kd6LnbuMV9wcfedQMe7hn1fyKc7IzTQ==", "dependencies": { "babel-plugin-syntax-jsx": "^6.8.0", "babel-runtime": "^6.22.0" @@ -942,7 +2081,7 @@ "node_modules/babel-plugin-transform-react-jsx-source": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "integrity": "sha512-pcDNDsZ9q/6LJmujQ/OhjeoIlp5Nl546HJ2yiFIJK3mYpgNXhI5/S9mXfVxu5yqWAi7HdI7e/q6a9xtzwL69Vw==", "dependencies": { "babel-plugin-syntax-jsx": "^6.8.0", "babel-runtime": "^6.22.0" @@ -951,7 +2090,7 @@ "node_modules/babel-plugin-transform-react-remove-prop-types": { "version": "0.4.5", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.5.tgz", - "integrity": "sha1-edGVhDeuI9T7wLEdGgQUmN2yOHc=", + "integrity": "sha512-lpPJnPclIANmdOeV+oExs3HzLF0Me7jI/fU/ZHsqENQn/C6hwtTNHjo8XFqqhq5DM1oSKfosFsPc4jt6Gavyfw==", "dependencies": { "babel-traverse": "^6.24.1" } @@ -959,7 +2098,7 @@ "node_modules/babel-plugin-transform-regenerator": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==", "dependencies": { "regenerator-transform": "^0.10.0" } @@ -967,7 +2106,7 @@ "node_modules/babel-plugin-transform-runtime": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.22.0.tgz", - "integrity": "sha1-EJaNdgu/ZRckMIHux3jhD6goVRw=", + "integrity": "sha512-fa1YqQ7nyiRBmnDMAkQPvGZCWghWEayc2Pfwr971pO+RKgnbZ0/GylVJCCqcDXbdH8vd3/TuTuLnc3nECwoAHg==", "dependencies": { "babel-runtime": "^6.22.0" } @@ -975,7 +2114,7 @@ "node_modules/babel-plugin-transform-strict-mode": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", "dependencies": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -1021,7 +2160,7 @@ "node_modules/babel-preset-flow": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", - "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", + "integrity": "sha512-PQZFJXnM3d80Vq4O67OE6EMVKIw2Vmzy8UXovqulNogCtblWU8rzP7Sm5YgHiCg4uejUxzCkHfNXQ4Z6GI+Dhw==", "dependencies": { "babel-plugin-transform-flow-strip-types": "^6.22.0" } @@ -1029,7 +2168,7 @@ "node_modules/babel-preset-react": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", - "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", + "integrity": "sha512-phQe3bElbgF887UM0Dhz55d22ob8czTL1kbhZFwpCE6+R/X9kHktfwmx9JZb+bBSVRGphP5tZ9oWhVhlgjrX3Q==", "dependencies": { "babel-plugin-syntax-jsx": "^6.3.13", "babel-plugin-transform-react-display-name": "^6.23.0", @@ -1042,7 +2181,7 @@ "node_modules/babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", "dependencies": { "babel-core": "^6.26.0", "babel-runtime": "^6.26.0", @@ -1094,10 +2233,19 @@ "trim-right": "^1.0.1" } }, + "node_modules/babel-register/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, "node_modules/babel-register/node_modules/babel-template": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", "dependencies": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", @@ -1106,19 +2254,24 @@ "lodash": "^4.17.4" } }, + "node_modules/babel-register/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "integrity": "sha512-9Vdluea/MpskdLsLYTH10Wtc5z2U0THGHVJeqec0EHUbfEt2q3zM1piQ+/GjMl9h0drUY1hF8zHV9nmH8Kl+Og==", "dependencies": { "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "regenerator-runtime": "^0.10.0" } }, "node_modules/babel-template": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", + "integrity": "sha512-Ak4qz4gxFYXuj3O5m+Um2RvhZw2CUVTDM3sMK5XhrJLRfIFi7nxCwBLCG0RBwqNzo7DVM996bHlo6kSkJ0X/jg==", "dependencies": { "babel-runtime": "^6.22.0", "babel-traverse": "^6.25.0", @@ -1130,7 +2283,7 @@ "node_modules/babel-traverse": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", "dependencies": { "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", @@ -1143,10 +2296,24 @@ "lodash": "^4.17.4" } }, + "node_modules/babel-traverse/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-traverse/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, "node_modules/babel-types": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", "dependencies": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", @@ -1154,10 +2321,24 @@ "to-fast-properties": "^1.0.3" } }, + "node_modules/babel-types/node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-types/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, "node_modules/babel-types/node_modules/to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", "engines": { "node": ">=0.10.0" } @@ -1171,14 +2352,15 @@ } }, "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "optional": true, "dependencies": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -1195,7 +2377,8 @@ "node_modules/base/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "optional": true, "dependencies": { "is-descriptor": "^1.0.0" }, @@ -1203,65 +2386,41 @@ "node": ">=0.10.0" } }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + }, "node_modules/basic-auth": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.0.tgz", - "integrity": "sha1-AV2z81PgLlY3d1X5YnQuiYHnu7o=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", "dependencies": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" }, "engines": { "node": ">= 0.8" } }, + "node_modules/basic-auth/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", @@ -1271,61 +2430,56 @@ } }, "node_modules/binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } }, "node_modules/bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "node_modules/body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dependencies": { - "bytes": "3.0.0", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "optional": true }, "node_modules/brace-expansion": { "version": "1.1.11", @@ -1337,40 +2491,21 @@ } }, "node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "optional": true, "dependencies": { - "is-extendable": "^0.1.0" + "fill-range": "^7.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, "node_modules/browserify-aes": { "version": "1.2.0", @@ -1406,32 +2541,52 @@ "safe-buffer": "^5.1.2" } }, - "node_modules/browserify-des/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, "node_modules/browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dependencies": { - "bn.js": "^4.1.0", + "bn.js": "^5.0.0", "randombytes": "^2.0.1" } }, + "node_modules/browserify-rsa/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, "node_modules/browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dependencies": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, "node_modules/browserify-zlib": { @@ -1446,6 +2601,7 @@ "version": "2.11.3", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "deprecated": "Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.", "dependencies": { "caniuse-lite": "^1.0.30000792", "electron-to-chromium": "^1.3.30" @@ -1455,55 +2611,58 @@ } }, "node_modules/bson": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/bson/-/bson-1.0.4.tgz", - "integrity": "sha1-k8ENOeqltYQVy8QFLz5T5WKwtyw=", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz", + "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==", + "dependencies": { + "buffer": "^5.6.0" + }, "engines": { - "node": ">=0.6.19" + "node": ">=6.9.0" } }, "node_modules/buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + , "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - }, - "node_modules/buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "node_modules/builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" }, "node_modules/builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" }, "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { "node": ">= 0.8" } @@ -1512,6 +2671,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "optional": true, "dependencies": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -1527,23 +2687,53 @@ "node": ">=0.10.0" } }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", "engines": { "node": ">=0.10.0" } }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/caniuse-lite": { - "version": "1.0.30000876", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000876.tgz", - "integrity": "sha512-v+Q2afhJJ1oydQnEB4iHhxDz5x9lWPbRnQBQlM3FgtZxqLO8KDSdu4txUrFwC1Ws9I2kQi/QImkvj17NbVpNAg==" + "version": "1.0.30001425", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001425.tgz", + "integrity": "sha512-/pzFv0OmNG6W0ym80P3NtapU0QEiDS3VuYAZMGoLLqiC7f6FJFe1MjpQDREGApeenD9wloeytmVDj+JLXPC6qw==", + "funding": + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + }, "node_modules/case-sensitive-paths-webpack-plugin": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.1.tgz", - "integrity": "sha1-PSnO2MHxJL9vU4Rvs/WJRzH9yQk=", + "integrity": "sha512-Zg7Z9IuE0T+Ilg+o0IVpZXHAcN6VHO80BVxak3RIB1pmcbiITr06WlZ45Xa/KGQ7fQ/ar6C1KEkeI93tojBJPQ==", "engines": { "node": ">4.0" } @@ -1551,7 +2741,7 @@ "node_modules/center-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", "dependencies": { "align-text": "^0.1.3", "lazy-cache": "^1.0.3" @@ -1561,14 +2751,14 @@ } }, "node_modules/chain-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz", - "integrity": "sha1-DUqzfn4Y6tC9xHuSB2QRjOWHM9w=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.1.tgz", + "integrity": "sha512-SxltgMwL9uCko5/ZCLiyG2B7R9fY4pDZUw7hJ4MhirdjBLosoDqkWABi3XMucddHdLiFJMb7PD2MZifZriuMTg==" }, "node_modules/chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "dependencies": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -1581,25 +2771,30 @@ } }, "node_modules/chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + , + "optional": true, "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "^1.2.2" + "fsevents": "~2.3.2" } }, "node_modules/cipher-base": { @@ -1615,6 +2810,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "optional": true, "dependencies": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -1628,7 +2824,8 @@ "node_modules/class-utils/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -1636,20 +2833,67 @@ "node": ">=0.10.0" } }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", "dependencies": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -1658,7 +2902,7 @@ "node_modules/code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", "engines": { "node": ">=0.10.0" } @@ -1666,7 +2910,8 @@ "node_modules/collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "optional": true, "dependencies": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -1675,47 +2920,86 @@ "node": ">=0.10.0" } }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, "node_modules/component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "optional": true }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/connect-mongo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-1.3.2.tgz", - "integrity": "sha1-fL9Y3/8mdg5eAOAX0KhbS8kLnTc=", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-4.6.0.tgz", + "integrity": "sha512-8new4Z7NLP3CGP65Aw6ls3xDBeKVvHRSh39CXuDZTQsvpeeU9oNMzfFgvqmHqZ6gWpxIl663RyoVEmCAGf1yOg==", "dependencies": { - "bluebird": "^3.0", - "mongodb": ">= 1.2.0 <3.0.0" + "debug": "^4.3.1", + "kruptein": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "mongodb": "^4.1.0" } }, - "node_modules/console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "node_modules/connect-mongo/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "date-now": "^0.1.4" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, + "node_modules/connect-mongo/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, "node_modules/constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" }, "node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, "engines": { "node": ">= 0.6" } @@ -1729,14 +3013,14 @@ } }, "node_modules/convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "engines": { "node": ">= 0.6" } @@ -1744,38 +3028,36 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "node_modules/copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true }, "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "node_modules/crc": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz", - "integrity": "sha1-naHpgOO9RPxck79as9ozeNheRms=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dependencies": { "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "elliptic": "^6.5.3" } }, "node_modules/create-hash": { @@ -1804,11 +3086,10 @@ } }, "node_modules/create-react-class": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", - "integrity": "sha1-zx7RXxKq1/FO9fLf4F5sQvke8Co=", + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.7.0.tgz", + "integrity": "sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==", "dependencies": { - "fbjs": "^0.8.9", "loose-envify": "^1.3.1", "object-assign": "^4.1.1" } @@ -1816,7 +3097,7 @@ "node_modules/cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", "dependencies": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", @@ -1847,25 +3128,25 @@ "node_modules/css-color-keywords": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", "engines": { "node": ">=4" } }, "node_modules/css-to-react-native": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.2.1.tgz", - "integrity": "sha512-v++LRcf633phJiYZBDqtmGPj3+BVof0isd2jgwYLWZJ5YSuhCkrfYtDsNhM6oJthiEco0f9tDVJ1vUkDJNgGEA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.3.2.tgz", + "integrity": "sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==", "dependencies": { + "camelize": "^1.0.0", "css-color-keywords": "^1.0.0", - "fbjs": "^0.8.5", "postcss-value-parser": "^3.3.0" } }, "node_modules/css-tree": { "version": "1.0.0-alpha17", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha17.tgz", - "integrity": "sha1-erlatyxTORevi+VDE/7IGEHFIjo=", + "integrity": "sha512-tQ9XuZqzUWVP2ZeQmQsJojtRLI67PuqAabOiTlWaFCtqnmS6oNO7XEr4OLoasIjOg6m3jp1HrWHApillm5NNmg==", "dependencies": { "source-map": "^0.5.3" }, @@ -1874,18 +3155,14 @@ } }, "node_modules/d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "dependencies": { - "es5-ext": "^0.10.9" + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, - "node_modules/date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" - }, "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -1897,7 +3174,7 @@ "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "engines": { "node": ">=0.10.0" } @@ -1905,27 +3182,32 @@ "node_modules/decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "optional": true, "engines": { "node": ">=0.10" } }, "node_modules/define-properties": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", - "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dependencies": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "optional": true, "dependencies": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -1934,53 +3216,10 @@ "node": ">=0.10.0" } }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/del": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "integrity": "sha512-7yjqSoVSlJzA4t/VUwazuEagGeANEKB3f/aNI//06pfKgwoCb7f6Q1gETN1sZzYaj6chTQ0AhIwDiPdfOjko4A==", "dependencies": { "globby": "^6.1.0", "is-path-cwd": "^1.0.0", @@ -1993,32 +3232,52 @@ "node": ">=4" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "engines": { + "node": ">=0.10" + } + }, "node_modules/depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dependencies": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, "node_modules/detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", "dependencies": { "repeating": "^2.0.0" }, @@ -2037,14 +3296,33 @@ } }, "node_modules/dom-helpers": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.2.1.tgz", - "integrity": "sha1-MgPgf+0he9H0JLAZc1WC/Deyglo=" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "dependencies": { + "@babel/runtime": "^7.1.2" + } + }, + "node_modules/dom-helpers/node_modules/@babel/runtime": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/dom-helpers/node_modules/regenerator-runtime": { + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", + "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" }, "node_modules/dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, "node_modules/domain-browser": { "version": "1.2.0", @@ -2066,36 +3344,31 @@ "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.3.57", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.57.tgz", - "integrity": "sha512-YYpZlr6mzR8cK5VRmTZydEt5Mp+WMg1/syrO40PoQzl76vJ+oQchL2d3FmEcWzw3FYqJVYJP/kYYSzTa7FLXwg==" + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" }, "node_modules/elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dependencies": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/emitter-mixin": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/emitter-mixin/-/emitter-mixin-0.0.3.tgz", - "integrity": "sha1-WUjLKG8uSO3DslGnz8H3iDOW1lw=" - }, "node_modules/emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==", "engines": { "node": ">= 0.10" } @@ -2103,23 +3376,34 @@ "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "engines": { "node": ">= 0.8" } }, "node_modules/encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dependencies": { - "iconv-lite": "~0.4.13" + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, "node_modules/enhanced-resolve": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "integrity": "sha512-ZaAux1rigq1e2nQrztHn4h2ugvpzZxs64qneNah+8Mh/K0CRqJFJc+UoXnUsq+1yX+DmQFPPdVqboKAJ89e0Iw==", "dependencies": { "graceful-fs": "^4.1.2", "memory-fs": "^0.4.0", @@ -2131,17 +3415,14 @@ } }, "node_modules/ensure-array": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/ensure-array/-/ensure-array-0.0.5.tgz", - "integrity": "sha1-NVvsw4LI65nWikm0UK6eboEQJxU=", - "engines": { - "node": "*" - } + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ensure-array/-/ensure-array-1.0.0.tgz", + "integrity": "sha512-A+3Ntl5WS+GjDnHtC67dKIjw+IoGoeFdNvjn3ZfKEmZgWUz0nxBPE4W52QMCbGZsat0VwWskD5T6AEpe3T2d1g==" }, "node_modules/errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dependencies": { "prr": "~1.0.1" }, @@ -2158,27 +3439,31 @@ } }, "node_modules/error-stack-parser": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.2.tgz", - "integrity": "sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "dependencies": { - "stackframe": "^1.0.4" + "stackframe": "^1.3.4" } }, "node_modules/es5-ext": { - "version": "0.10.45", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", - "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "hasInstallScript": true, "dependencies": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" } }, "node_modules/es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "dependencies": { "d": "1", "es5-ext": "^0.10.35", @@ -2188,7 +3473,7 @@ "node_modules/es6-map": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "integrity": "sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==", "dependencies": { "d": "1", "es5-ext": "~0.10.14", @@ -2198,52 +3483,56 @@ "event-emitter": "~0.3.5" } }, - "node_modules/es6-promise": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.2.1.tgz", - "integrity": "sha1-7FYjOGgDKQkgcXDDlEjiREndH8Q=" - }, "node_modules/es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.6.tgz", + "integrity": "sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==", "dependencies": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "es6-iterator": "~2.0.3", + "es6-symbol": "^3.1.3", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.12" } }, + "node_modules/es6-set/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + }, "node_modules/es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "^1.0.1", + "ext": "^1.1.2" } }, "node_modules/es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "dependencies": { "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.1" } }, "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { "node": ">=0.8.0" } @@ -2251,7 +3540,7 @@ "node_modules/escope": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "integrity": "sha512-75IUQsusDdalQEW/G/2esa87J7raqdJF+Ca0/Xm5C3Q58Nr4yVYjZGp/P1+2xiEVgXRrA39dpRb8LcshajbqDQ==", "dependencies": { "es6-map": "^0.1.3", "es6-weak-map": "^2.0.1", @@ -2263,28 +3552,36 @@ } }, "node_modules/esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dependencies": { - "estraverse": "^4.1.0" + "estraverse": "^5.2.0" }, "engines": { "node": ">=4.0" } }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, "node_modules/estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, "node_modules/esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "engines": { "node": ">=0.10.0" } @@ -2292,7 +3589,7 @@ "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { "node": ">= 0.6" } @@ -2300,18 +3597,18 @@ "node_modules/event-emitter": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", "dependencies": { "d": "1", "es5-ext": "~0.10.14" } }, "node_modules/events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "engines": { - "node": ">=0.4.x" + "node": ">=0.8.x" } }, "node_modules/evp_bytestokey": { @@ -2326,7 +3623,8 @@ "node_modules/expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "optional": true, "dependencies": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -2343,7 +3641,8 @@ "node_modules/expand-brackets/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -2354,7 +3653,8 @@ "node_modules/expand-brackets/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -2362,39 +3662,96 @@ "node": ">=0.10.0" } }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/express": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", - "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dependencies": { - "accepts": "~1.3.5", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.18.2", - "content-disposition": "0.5.2", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.3.1", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.1.1", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.3", - "qs": "6.5.1", - "range-parser": "~1.2.0", - "safe-buffer": "5.1.1", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, @@ -2403,137 +3760,73 @@ } }, "node_modules/express-restify-mongoose": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/express-restify-mongoose/-/express-restify-mongoose-4.3.0.tgz", - "integrity": "sha512-9ygnIetF0bwG+ooZc95XkI0FDMdyTUxnVt/N2vGHl4bFxPqdUsV1jAFqzSbZpsvawid4e26CtBjFyZxNzLeNtA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/express-restify-mongoose/-/express-restify-mongoose-7.0.2.tgz", + "integrity": "sha512-NP9sq0LqdDAF8epKLOD9NGwz1mANZdbra5b7vUVHcZWP6aa26uf/EcT4uM2s8VQb1ck/6qXM2+LtVtCts0k/aQ==", "dependencies": { - "async": "~2.5.0", - "bluebird": "~3.5.0", - "ensure-array": "0.0.5", + "ensure-array": "~1.0.0", "is-coordinates": "~2.0.0", - "lodash.clone": "~4.5.0", "lodash.defaults": "~4.2.0", "lodash.get": "~4.4.2", "lodash.has": "~4.5.2", "lodash.isplainobject": "~4.0.6", - "lodash.map": "~4.6.0", - "mongoose-detective": "~0.1.0", - "moredots": "~0.1.0", - "serialize-error": "~2.1.0", - "weedout": "~0.1.0" + "mongoose-detective": "~2.0.0", + "moredots": "~1.0.1", + "run-series": "~1.1.8", + "serialize-error": "^7.0.1", + "weedout": "~1.0.1" }, "engines": { - "node": ">=4" + "node": ">=14" + }, + "peerDependencies": { + "mongoose": "6.x" } }, "node_modules/express-session": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.15.6.tgz", - "integrity": "sha512-r0nrHTCYtAMrFwZ0kBzZEXa1vtPVrw0dKvGSrKP4dahwBQ1BJpF2/y1Pp4sCD/0kvxV4zZeclyvfmw0B4RMJQA==", + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.3.tgz", + "integrity": "sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==", "dependencies": { - "cookie": "0.3.1", + "cookie": "0.4.2", "cookie-signature": "1.0.6", - "crc": "3.4.4", "debug": "2.6.9", - "depd": "~1.1.1", - "on-headers": "~1.0.1", - "parseurl": "~1.3.2", - "uid-safe": "~2.1.5", - "utils-merge": "1.0.1" + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/express/node_modules/body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", - "dependencies": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", - "iconv-lite": "0.4.19", - "on-finished": "~2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "~1.6.15" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "node_modules/express-session/node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "engines": { "node": ">= 0.6" } }, - "node_modules/express/node_modules/qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/express/node_modules/raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", "dependencies": { - "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" + "type": "^2.7.2" } }, - "node_modules/express/node_modules/raw-body/node_modules/depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/raw-body/node_modules/http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "dependencies": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/raw-body/node_modules/setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" - }, - "node_modules/express/node_modules/statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "engines": { - "node": ">= 0.6" - } + "node_modules/ext/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" }, "node_modules/extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "optional": true, "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -2542,21 +3835,11 @@ "node": ">=0.10.0" } }, - "node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "optional": true, "dependencies": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -2574,7 +3857,8 @@ "node_modules/extglob/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "optional": true, "dependencies": { "is-descriptor": "^1.0.0" }, @@ -2585,7 +3869,8 @@ "node_modules/extglob/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -2593,45 +3878,11 @@ "node": ">=0.10.0" } }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -2639,17 +3890,33 @@ "node_modules/fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==" }, "node_modules/fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-xml-parser": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.0.11.tgz", + "integrity": "sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA==", + "optional": true, + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + }, + "funding": { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } }, "node_modules/fbjs": { - "version": "0.8.16", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", - "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "version": "0.8.18", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz", + "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==", "dependencies": { "core-js": "^1.0.0", "isomorphic-fetch": "^2.1.1", @@ -2657,13 +3924,20 @@ "object-assign": "^4.1.0", "promise": "^7.1.1", "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.9" + "ua-parser-js": "^0.7.30" } }, "node_modules/fbjs/node_modules/core-js": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js." + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true }, "node_modules/filesize": { "version": "3.6.1", @@ -2674,59 +3948,38 @@ } }, "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "optional": true, "dependencies": { - "is-extendable": "^0.1.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8" } }, - "node_modules/finalhandler/node_modules/statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/find-babel-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.1.0.tgz", - "integrity": "sha1-rMAQQ6Z0n+w0Qpvmtk9ULrtdY1U=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", + "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", "dependencies": { "json5": "^0.5.1", "path-exists": "^3.0.0" @@ -2738,7 +3991,7 @@ "node_modules/find-cache-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "integrity": "sha512-46TFiBOzX7xq/PcSWfFwkyjpemdRnMe31UQF+os0y+1W3k95f6R4SEt02Hj4p3X0Mir9gfrkmOtshFidS0VPUg==", "dependencies": { "commondir": "^1.0.1", "make-dir": "^1.0.0", @@ -2751,7 +4004,7 @@ "node_modules/find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dependencies": { "locate-path": "^2.0.0" }, @@ -2760,38 +4013,55 @@ } }, "node_modules/follow-redirects": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.2.5.tgz", - "integrity": "sha512-lMhwQTryFbG+wYsAIEKC1Kf5IGDlVNnONRogIBllh7LLoV7pNIxW0z9fhjRar9NBql+hd2Y49KboVVNxf6GEfg==", - "dependencies": { - "debug": "^2.6.9" - }, + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "funding": + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + , "engines": { "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "optional": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, "node_modules/foreachasync": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz", - "integrity": "sha1-VQKYfchxS+M5IJfzLgBxyd7gfPY=" + "integrity": "sha512-J+ler7Ta54FwwNcx6wQRDhTIbNeyDcARMkOcguEqnEdtm0jKvN3Li3PDAb2Du3ubJYEWfYL83XMROXdsXAXycw==" + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "engines": { "node": ">= 0.6" } @@ -2799,7 +4069,8 @@ "node_modules/fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "optional": true, "dependencies": { "map-cache": "^0.2.2" }, @@ -2810,7 +4081,7 @@ "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { "node": ">= 0.6" } @@ -2818,7 +4089,7 @@ "node_modules/friendly-errors-webpack-plugin": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.5.0.tgz", - "integrity": "sha1-8ogliQkk1sPw2OxTRpdoaIMpBUo=", + "integrity": "sha512-YS1RhVMqea3wPttTaefn4lXvkylGhwRJrT2PAoOuchv0v4tiHOYgUdjM4WZgHFB06q5UfOjWhuETnYYXOzIC7g==", "dependencies": { "chalk": "^1.1.3", "error-stack-parser": "^2.0.0", @@ -2828,839 +4099,21 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "bundleDependencies": - "abbrev", - "ansi-regex", - "aproba", - "are-we-there-yet", - "balanced-match", - "brace-expansion", - "chownr", - "code-point-at", - "concat-map", - "console-control-strings", - "core-util-is", - "debug", - "deep-extend", - "delegates", - "detect-libc", - "fs-minipass", - "fs.realpath", - "gauge", - "glob", - "has-unicode", - "iconv-lite", - "ignore-walk", - "inflight", - "inherits", - "ini", - "is-fullwidth-code-point", - "isarray", - "minimatch", - "minimist", - "minipass", - "minizlib", - "mkdirp", - "ms", - "needle", - "node-pre-gyp", - "nopt", - "npm-bundled", - "npm-packlist", - "npmlog", - "number-is-nan", - "object-assign", - "once", - "os-homedir", - "os-tmpdir", - "osenv", - "path-is-absolute", - "process-nextick-args", - "rc", - "readable-stream", - "rimraf", - "safe-buffer", - "safer-buffer", - "sax", - "semver", - "set-blocking", - "signal-exit", - "string-width", - "string_decoder", - "strip-ansi", - "strip-json-comments", - "tar", - "util-deprecate", - "wide-align", - "wrappy", - "yallist" - , + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "hasInstallScript": true, "optional": true, "os": "darwin" , - "dependencies": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fsevents/node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "inBundle": true, - "license": "ISC", - "optional": true - }, - "node_modules/fsevents/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "inBundle": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "inBundle": true, - "license": "ISC", - "optional": true - }, - "node_modules/fsevents/node_modules/are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "node_modules/fsevents/node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "inBundle": true, - "license": "MIT", - "optional": true - }, - "node_modules/fsevents/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/fsevents/node_modules/chownr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", - "inBundle": true, - "license": "ISC", - "optional": true - }, - "node_modules/fsevents/node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "inBundle": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "inBundle": true, - "license": "MIT", - "optional": true - }, - "node_modules/fsevents/node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "inBundle": true, - "license": "ISC", - "optional": true - }, - "node_modules/fsevents/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "inBundle": true, - "license": "MIT", - "optional": true - }, - "node_modules/fsevents/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/fsevents/node_modules/deep-extend": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", - "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", - "inBundle": true, - "license": "MIT", - "optional": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "inBundle": true, - "license": "MIT", - "optional": true - }, - "node_modules/fsevents/node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "inBundle": true, - "license": "Apache-2.0", - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/fsevents/node_modules/fs-minipass": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "minipass": "^2.2.1" - } - }, - "node_modules/fsevents/node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "inBundle": true, - "license": "ISC", - "optional": true - }, - "node_modules/fsevents/node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/fsevents/node_modules/glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/fsevents/node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "inBundle": true, - "license": "ISC", - "optional": true - }, - "node_modules/fsevents/node_modules/iconv-lite": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", - "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "safer-buffer": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/ignore-walk": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "minimatch": "^3.0.4" - } - }, - "node_modules/fsevents/node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/fsevents/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "inBundle": true, - "license": "ISC", - "optional": true - }, - "node_modules/fsevents/node_modules/ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "inBundle": true, - "license": "ISC", - "optional": true, - "engines": { - "node": "*" - } - }, - "node_modules/fsevents/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "inBundle": true, - "license": "MIT", - "optional": true - }, - "node_modules/fsevents/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/fsevents/node_modules/minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "inBundle": true, - "license": "MIT", - "optional": true - }, - "node_modules/fsevents/node_modules/minipass": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", - "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "node_modules/fsevents/node_modules/minizlib": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "minipass": "^2.2.1" - } - }, - "node_modules/fsevents/node_modules/mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "minimist": "0.0.8" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/fsevents/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "inBundle": true, - "license": "MIT", - "optional": true - }, - "node_modules/fsevents/node_modules/needle": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz", - "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 0.10.x" - } - }, - "node_modules/fsevents/node_modules/node-pre-gyp": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", - "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", - "inBundle": true, - "license": "BSD-3-Clause", - "optional": true, - "dependencies": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/fsevents/node_modules/nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/fsevents/node_modules/npm-bundled": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", - "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", - "inBundle": true, - "license": "ISC", - "optional": true - }, - "node_modules/fsevents/node_modules/npm-packlist": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", - "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "node_modules/fsevents/node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/fsevents/node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "inBundle": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "inBundle": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/fsevents/node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "inBundle": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "inBundle": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "node_modules/fsevents/node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "inBundle": true, - "license": "MIT", - "optional": true, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "inBundle": true, - "license": "MIT", - "optional": true - }, - "node_modules/fsevents/node_modules/rc": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", - "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", - "inBundle": true, - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "optional": true, - "dependencies": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/fsevents/node_modules/rc/node_modules/minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "inBundle": true, - "license": "MIT", - "optional": true - }, - "node_modules/fsevents/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/fsevents/node_modules/rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "glob": "^7.0.5" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/fsevents/node_modules/safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "inBundle": true, - "license": "MIT", - "optional": true - }, - "node_modules/fsevents/node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "inBundle": true, - "license": "MIT", - "optional": true - }, - "node_modules/fsevents/node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "inBundle": true, - "license": "ISC", - "optional": true - }, - "node_modules/fsevents/node_modules/semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "inBundle": true, - "license": "ISC", - "optional": true, - "bin": { - "semver": "bin/semver" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/fsevents/node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "inBundle": true, - "license": "ISC", - "optional": true - }, - "node_modules/fsevents/node_modules/signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "inBundle": true, - "license": "ISC", - "optional": true - }, - "node_modules/fsevents/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/fsevents/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "inBundle": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fsevents/node_modules/tar": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz", - "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" - }, - "engines": { - "node": ">=4.5" - } - }, - "node_modules/fsevents/node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "inBundle": true, - "license": "MIT", - "optional": true - }, - "node_modules/fsevents/node_modules/wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", - "inBundle": true, - "license": "ISC", - "optional": true, - "dependencies": { - "string-width": "^1.0.2" - } - }, - "node_modules/fsevents/node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "inBundle": true, - "license": "ISC", - "optional": true - }, - "node_modules/fsevents/node_modules/yallist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", - "inBundle": true, - "license": "ISC", - "optional": true - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -3669,17 +4122,31 @@ "node_modules/generaterr": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/generaterr/-/generaterr-1.5.0.tgz", - "integrity": "sha1-sM62zFFk3yoGEzjMNAqGFTlcUvw=" + "integrity": "sha512-JgcGRv2yUKeboLvvNrq9Bm90P4iJBu7/vd5wSLYqMG5GJ6SxZT46LAAkMfNhQ+EK3jzC+cRBm7P8aUWYyphgcQ==" }, "node_modules/get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -3687,7 +4154,7 @@ "node_modules/glob": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", - "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "integrity": "sha512-mRyN/EsN2SyNhKWykF3eEGhDpeNplMWaW18Bmh76tnOqk5TbELAVwFAYOCmKVssOYFrYvvLMguiA+NXO3ZTuVA==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3701,40 +4168,35 @@ } }, "node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "optional": true, "dependencies": { - "is-extglob": "^2.1.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, "node_modules/glob-promise": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-promise/-/glob-promise-3.1.0.tgz", - "integrity": "sha1-GYiCo4F759wsVfkmI6qeez+C0es=", + "integrity": "sha512-DekUCuVgO6CYkxMg9jj9f9ygu5oMEdHbCa+Y+yrfMuXy6vhBPJROs/5PrWqJim1M5D4pEIetNXqvhcJqyHGG6A==", "engines": { "node": ">=4" + }, + "peerDependencies": { + "glob": "*" } }, "node_modules/global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", "dependencies": { "min-document": "^2.19.0", - "process": "~0.5.1" + "process": "^0.11.10" } }, "node_modules/globals": { @@ -3748,7 +4210,7 @@ "node_modules/globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", "dependencies": { "array-union": "^1.0.1", "glob": "^7.0.3", @@ -3763,18 +4225,15 @@ "node_modules/globby/node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "engines": { "node": ">=0.10.0" } }, "node_modules/graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "engines": { - "node": ">=0.4.0" - } + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "node_modules/has": { "version": "1.0.3", @@ -3790,7 +4249,7 @@ "node_modules/has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", "dependencies": { "ansi-regex": "^2.0.0" }, @@ -3801,23 +4260,38 @@ "node_modules/has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", "engines": { "node": ">=0.10.0" } }, - "node_modules/has-symbols": { + "node_modules/has-property-descriptors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "optional": true, "dependencies": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -3830,7 +4304,8 @@ "node_modules/has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "optional": true, "dependencies": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -3839,10 +4314,35 @@ "node": ">=0.10.0" } }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/has-values/node_modules/kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "optional": true, "dependencies": { "is-buffer": "^1.1.5" }, @@ -3851,21 +4351,35 @@ } }, "node_modules/hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, "engines": { "node": ">=4" } }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/hash.js": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", - "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dependencies": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -3874,7 +4388,7 @@ "node_modules/hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dependencies": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -3889,7 +4403,7 @@ "node_modules/home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", "dependencies": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.1" @@ -3898,61 +4412,43 @@ "node": ">=0.10.0" } }, - "node_modules/hooks-fixed": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hooks-fixed/-/hooks-fixed-2.0.2.tgz", - "integrity": "sha512-YurCM4gQSetcrhwEtpQHhQ4M7Zo7poNGqY4kQGeBS6eZtOcT3tnNs01ThFa0jYBByAiYt1MjMjP/YApG0EnAvQ==", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, "node_modules/html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "engines": - "node >= 0.4.0" - + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" }, "node_modules/htmlescape": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=", + "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==", "engines": { "node": ">=0.10" } }, "node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-errors/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/http-status": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.0.1.tgz", - "integrity": "sha1-3EMAGov8UKyH1IWokvdXiWS8lKI=", + "integrity": "sha512-J7J9wu9SpJvsOZHzqMQOzJjbuX1OqW3R35Z++z14H91o7VyUWH5YkW5FMExGFrjuBQ5C+54vF9tK3Gny0SgsSA==", "engines": { "node": ">= 0.4.0" } @@ -3960,52 +4456,64 @@ "node_modules/https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" }, "node_modules/iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, "engines": { "node": ">=0.10.0" } }, "node_modules/ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + }, "node_modules/immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==" }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } }, "node_modules/invariant": { "version": "2.2.4", @@ -4018,106 +4526,138 @@ "node_modules/invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", "engines": { "node": ">=0.10.0" } }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + }, "node_modules/ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "engines": { "node": ">= 0.10" } }, "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "optional": true, "dependencies": { - "kind-of": "^3.0.2" + "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, + "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "optional": true, "dependencies": { - "binary-extensions": "^1.0.0" + "binary-extensions": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=" - }, - "node_modules/is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dependencies": { - "builtin-modules": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "node_modules/is-coordinates": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-coordinates/-/is-coordinates-2.0.2.tgz", - "integrity": "sha1-wxO7bs4k7Tm2rT/fz26Ok64Rc3A=", + "integrity": "sha512-AziFHSTt7yK8LkZmRJTXMcX1F/5w3ZQEQ/P9kpI64GWJdxC+flPHvrLAiUQEW8msjVwLa86AzqdFTtwUhCpcgQ==", "engines": { "node": ">=4" } }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "optional": true, "dependencies": { - "kind-of": "^3.0.2" + "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, + "node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "optional": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { "node": ">=0.10.0" } }, "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "optional": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, "engines": { "node": ">=0.10.0" } @@ -4125,26 +4665,27 @@ "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dependencies": { - "number-is-nan": "^1.0.0" - }, + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", "engines": { "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", "dependencies": { "number-is-nan": "^1.0.0" }, @@ -4153,9 +4694,10 @@ } }, "node_modules/is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "optional": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -4164,20 +4706,18 @@ } }, "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.12.0" } }, "node_modules/is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "integrity": "sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==", "engines": { "node": ">=0.10.0" } @@ -4196,7 +4736,7 @@ "node_modules/is-path-inside": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", "dependencies": { "path-is-inside": "^1.0.1" }, @@ -4218,7 +4758,7 @@ "node_modules/is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "engines": { "node": ">=0.10.0" } @@ -4226,12 +4766,13 @@ "node_modules/is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -4239,17 +4780,17 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "engines": { "node": ">=0.10.0" } @@ -4257,7 +4798,7 @@ "node_modules/isomorphic-fetch": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", "dependencies": { "node-fetch": "^1.0.1", "whatwg-fetch": ">=0.10.0" @@ -4266,12 +4807,12 @@ "node_modules/js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" }, "node_modules/jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", "bin": { "jsesc": "bin/jsesc" } @@ -4279,25 +4820,25 @@ "node_modules/json-loader": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.4.tgz", - "integrity": "sha1-i6oTZaYy9Yo8RtIBdfxgAsluN94=" + "integrity": "sha512-UR2AoqXOuhwApRPGe9YUuU3ARd2fQ4gfZvCpJjZ2ZrKOrt3+DbLg5QXa1W5rUvdUIuhMHyxniMr+u4bHjWMVYQ==" }, "node_modules/json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==" }, "node_modules/json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", "bin": { "json5": "lib/cli.js" } }, "node_modules/jsonschema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.0.tgz", - "integrity": "sha512-XDJApzBauMg0TinJNP4iVcJl99PQ4JbWKK7nwzpOIkAOVveDKgh/2xm41T3x7Spu4PWMhnnQpNJmUSIUgl6sKg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", + "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==", "engines": { "node": "*" } @@ -4331,11 +4872,16 @@ "node_modules/junk": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/junk/-/junk-1.0.3.tgz", - "integrity": "sha1-h75jSIZJy9ym9Tqzm+yczSNH9ZI=", + "integrity": "sha512-3KF80UaaSSxo8jVnRYtMKNGFOoVPBdkkVPsw+Ad0y4oxKXPduS6G6iHkrf69yJVff/VAaYXkV42rtZ7daJxU3w==", "engines": { "node": ">=0.10.0" } }, + "node_modules/just-curry-it": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/just-curry-it/-/just-curry-it-3.2.1.tgz", + "integrity": "sha512-Q8206k8pTY7krW32cdmPsP+DqqLgWx/hYPSj9/+7SYqSqz7UuwPbfSe07lQtvuuaVyiSJveXk0E5RydOuWwsEg==" + }, "node_modules/jwa": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", @@ -4356,14 +4902,14 @@ } }, "node_modules/kareem": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/kareem/-/kareem-1.5.0.tgz", - "integrity": "sha1-4+QQHZ3P3imXadr0tNtk2JXRdEg=" + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz", + "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA==" }, "node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dependencies": { "is-buffer": "^1.1.5" }, @@ -4371,10 +4917,21 @@ "node": ">=0.10.0" } }, + "node_modules/kruptein": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/kruptein/-/kruptein-3.0.5.tgz", + "integrity": "sha512-c1pyg/HKep8y5l+AoiicTs94k4bnzBSiS1b8NQcnQDtv9Yh45rNLuDIUwEwawmuFYpcA5xqhG7k0LqiMhrBPXw==", + "dependencies": { + "asn1.js": "^5.4.1" + }, + "engines": { + "node": ">8" + } + }, "node_modules/lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", "engines": { "node": ">=0.10.0" } @@ -4382,7 +4939,7 @@ "node_modules/lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", "dependencies": { "invert-kv": "^1.0.0" }, @@ -4393,7 +4950,7 @@ "node_modules/load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -4408,15 +4965,15 @@ "node_modules/load-json-file/node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "engines": { "node": ">=0.10.0" } }, "node_modules/loader-runner": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "engines": { "node": ">=4.3.0 <5.0.0 || >=5.10" } @@ -4424,7 +4981,7 @@ "node_modules/loader-utils": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "integrity": "sha512-gkD9aSEG9UGglyPcDJqY9YBTUtCLKaBK6ihD2VP1d1X60lTfFspNZNulGBBbUZLkPygy4LySYHyxBpq+VhjObQ==", "dependencies": { "big.js": "^3.1.3", "emojis-list": "^2.0.0", @@ -4437,7 +4994,7 @@ "node_modules/locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -4447,127 +5004,102 @@ } }, "node_modules/lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash-es": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz", - "integrity": "sha1-3MHXVS4VCgZABzupyzHXDwMpUOc=" - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" - }, - "node_modules/lodash.clone": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" - }, - "node_modules/lodash.curry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha1-JI42By7ekGUB11lmIAqG2riyMXA=" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, "node_modules/lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" }, "node_modules/lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" }, "node_modules/lodash.has": { "version": "4.5.2", "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", - "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=" + "integrity": "sha512-rnYUdIo6xRCJnQmbVFEwcxF144erlD+M3YcJUVesflU9paQaE8p+fJDcIQrlMYbxoANFL+AB9hZrzSBBk5PL+g==" }, "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "node_modules/lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "node_modules/lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "node_modules/lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "node_modules/lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "node_modules/lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "node_modules/lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "node_modules/lodash.topath": { "version": "4.5.2", "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", - "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=" + "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==" }, "node_modules/longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", "engines": { "node": ">=0.10.0" } }, "node_modules/loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dependencies": { - "js-tokens": "^3.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "node_modules/lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dependencies": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" } }, "node_modules/lusca": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/lusca/-/lusca-1.6.1.tgz", - "integrity": "sha512-+JzvUMH/rsE/4XfHdDOl70bip0beRcHSviYATQM0vtls59uVtdn1JMu4iD7ZShBpAmFG8EnaA+PrYG9sECMIOQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/lusca/-/lusca-1.7.0.tgz", + "integrity": "sha512-msnrplCfY7zaqlZBDEloCIKld+RUeMZVeWzSPaGUKeRXFlruNSdKg2XxCyR+zj6BqzcXhXlRnvcvx6rAGgsvMA==", "dependencies": { "tsscmp": "^1.0.5" }, @@ -4589,7 +5121,8 @@ "node_modules/map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -4597,7 +5130,8 @@ "node_modules/map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "optional": true, "dependencies": { "object-visit": "^1.0.0" }, @@ -4608,7 +5142,7 @@ "node_modules/maximatch": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/maximatch/-/maximatch-0.1.0.tgz", - "integrity": "sha1-hs2NawTJ8wfAWmuUGZBtA2D7E6I=", + "integrity": "sha512-9ORVtDUFk4u/NFfo0vG/ND/z7UQCVZBL539YW0+U1I7H1BkZwizcPx5foFv7LCPcBnm2U6RjFnQOsIvN4/Vm2A==", "dependencies": { "array-differ": "^1.0.0", "array-union": "^1.0.1", @@ -4622,21 +5156,22 @@ "node_modules/md5-file": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-3.1.1.tgz", - "integrity": "sha1-2zySwJu9pcLeiD+lSQ3XEf3burk=" + "integrity": "sha512-9yLrrfgoyOe+0HqLiTF1XeJeOAf/y4Eh4h019avM2OrUGTcXWZkk6YCjzJmeutC6PyBQXlRAhtmdbL8GDPeIAA==" }, "node_modules/md5.js": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dependencies": { "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "engines": { "node": ">= 0.6" } @@ -4644,35 +5179,49 @@ "node_modules/memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dependencies": { "errno": "^0.1.3", "readable-stream": "^2.0.1" } }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "optional": true + }, "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" }, "node_modules/method-override": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz", - "integrity": "sha1-49r41d7hDdLc59SuiNYrvud0drQ=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/method-override/-/method-override-3.0.0.tgz", + "integrity": "sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==", "dependencies": { - "debug": "2.6.9", + "debug": "3.1.0", "methods": "~1.1.2", "parseurl": "~1.3.2", "vary": "~1.1.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.10" + } + }, + "node_modules/method-override/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" } }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "engines": { "node": ">= 0.6" } @@ -4681,6 +5230,7 @@ "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "optional": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -4700,10 +5250,117 @@ "node": ">=0.10.0" } }, + "node_modules/micromatch/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/micromatch/node_modules/kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/micromatch/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, "engines": { "node": ">=0.10.0" } @@ -4721,27 +5378,30 @@ } }, "node_modules/mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "bin": { "mime": "cli.js" + }, + "engines": { + "node": ">=4" } }, "node_modules/mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "mime-db": "~1.35.0" + "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" @@ -4750,7 +5410,7 @@ "node_modules/min-document": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", "dependencies": { "dom-walk": "^0.1.0" } @@ -4763,12 +5423,12 @@ "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -4779,12 +5439,13 @@ "node_modules/minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "integrity": "sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==" }, "node_modules/mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "optional": true, "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -4793,23 +5454,12 @@ "node": ">=0.10.0" } }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { - "minimist": "0.0.8" + "minimist": "^1.2.6" }, "bin": { "mkdirp": "bin/cmd.js" @@ -4818,178 +5468,177 @@ "node_modules/mkdirp-then": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mkdirp-then/-/mkdirp-then-1.2.0.tgz", - "integrity": "sha1-pJLIecpNhz9e5FAI+PVf0BUN48U=", + "integrity": "sha512-nbj022D7cd7n6hxDuON08SQciKHSTcRSFlLfCGyIuypo4cl6Z6qJxMVlatFyS6ZbgHqOebkYm/fvwtGiKqmSwQ==", "dependencies": { "any-promise": "^1.1.0", "mkdirp": "^0.5.0" } }, "node_modules/mkdirp/node_modules/minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/moment": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=", + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", "engines": { "node": "*" } }, "node_modules/mongodb": { - "version": "2.2.33", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.33.tgz", - "integrity": "sha1-tTfEcdNKZlG0jzb9vyl1A0Dgi1A=", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.11.0.tgz", + "integrity": "sha512-9l9n4Nk2BYZzljW3vHah3Z0rfS5npKw6ktnkmFgTcnzaXH1DRm3pDl6VMHu84EVb1lzmSaJC4OzWZqTkB5i2wg==", "dependencies": { - "es6-promise": "3.2.1", - "mongodb-core": "2.1.17", - "readable-stream": "2.2.7" + "bson": "^4.7.0", + "denque": "^2.1.0", + "mongodb-connection-string-url": "^2.5.4", + "socks": "^2.7.1" }, "engines": { - "node": ">=0.10.3" + "node": ">=12.9.0" + }, + "optionalDependencies": { + "@aws-sdk/credential-providers": "^3.186.0", + "saslprep": "^1.0.3" } }, - "node_modules/mongodb-core": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.17.tgz", - "integrity": "sha1-pBizN6FKFJkPtRC5I97mqBMXPfg=", + "node_modules/mongodb-connection-string-url": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.4.tgz", + "integrity": "sha512-SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==", "dependencies": { - "bson": "~1.0.4", - "require_optional": "~1.0.0" + "@types/whatwg-url": "^8.2.1", + "whatwg-url": "^11.0.0" } }, "node_modules/mongoose": { - "version": "4.13.14", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-4.13.14.tgz", - "integrity": "sha512-20zynb1fvCO37AP+0iTPGDbt4dJJkzM9fNK5BwKf5n+gFU5YYdXpnhxs9Kf8C+Fe0xY8vpUKV8wA7VGWcmDaFw==", - "dependencies": { - "async": "2.6.0", - "bson": "~1.0.4", - "hooks-fixed": "2.0.2", - "kareem": "1.5.0", - "lodash.get": "4.4.2", - "mongodb": "2.2.34", - "mpath": "0.3.0", - "mpromise": "0.5.5", - "mquery": "2.3.3", - "ms": "2.0.0", - "muri": "1.3.0", - "regexp-clone": "0.0.1", - "sliced": "1.0.1" - }, - "engines": { - "node": ">=0.6.19" + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.7.0.tgz", + "integrity": "sha512-Jt6NSiSpgcrSBzRb9+YwkpjjVuq4H532c4jbf+5Nu0wd/nIPHSOKhr8jnQZ8gQTdPjubF+szR5r6KMSqaY4/Wg==", + "dependencies": { + "bson": "^4.6.5", + "kareem": "2.4.1", + "mongodb": "4.11.0", + "mpath": "0.9.0", + "mquery": "4.0.3", + "ms": "2.1.3", + "sift": "16.0.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mongoose" } }, "node_modules/mongoose-detective": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/mongoose-detective/-/mongoose-detective-0.1.1.tgz", - "integrity": "sha1-hTsF4vwQDBz65tUhcfYmJt5oH84=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mongoose-detective/-/mongoose-detective-2.0.0.tgz", + "integrity": "sha512-W05ykqbu9yu75irVJYTB+hv+d2RhiAIdxcU1IKcyAT2W7wAmbWMZSJDbRUmZPV9DCkffURmUaJFp9ZWteXoqmA==" }, "node_modules/mongoose-long": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/mongoose-long/-/mongoose-long-0.1.1.tgz", - "integrity": "sha1-zDLgWwz1DIXiWhk1nUOpNv6VBaM=" - }, - "node_modules/mongoose/node_modules/async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", - "dependencies": { - "lodash": "^4.14.0" + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/mongoose-long/-/mongoose-long-0.6.0.tgz", + "integrity": "sha512-yfniuvlo5vWMw6cV2xPVNhaxg/lgTxSXXFGI99HD3vK2fnZ0xwHJ0rzrRoYSsKwK+JFhhCciH54urY/HR9b4hg==", + "peerDependencies": { + "mongoose": "4.x || 5.x || 6.x" } }, - "node_modules/mongoose/node_modules/mongodb": { - "version": "2.2.34", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.34.tgz", - "integrity": "sha1-o09Zu+thdUrsQy3nLD/iFSakTBo=", - "dependencies": { - "es6-promise": "3.2.1", - "mongodb-core": "2.1.18", - "readable-stream": "2.2.7" - }, - "engines": { - "node": ">=0.10.3" - } - }, - "node_modules/mongoose/node_modules/mongodb-core": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.18.tgz", - "integrity": "sha1-TEYTm986HwMt7ZHbSfOO7AFlkFA=", - "dependencies": { - "bson": "~1.0.4", - "require_optional": "~1.0.0" - } + "node_modules/mongoose/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/moredots": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/moredots/-/moredots-0.1.1.tgz", - "integrity": "sha1-EycT7sQKDNjHNml1d2GxSVz6Jt8=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/moredots/-/moredots-1.0.1.tgz", + "integrity": "sha512-kwHfWclqmAxU7nBTjJh3Coh2tCZJCrdVecXREJGEseRFRTCTDXN+/5KJg3p6C6380q/xaxrWN1QYM9w9M54otA==", "dependencies": { "lodash.isplainobject": "~4.0.0" } }, "node_modules/morgan": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.0.tgz", - "integrity": "sha1-0B+mxlhZt2/PMbPLU6OCGjEdgFE=", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", "dependencies": { - "basic-auth": "~2.0.0", + "basic-auth": "~2.0.1", "debug": "2.6.9", - "depd": "~1.1.1", + "depd": "~2.0.0", "on-finished": "~2.3.0", - "on-headers": "~1.0.1" + "on-headers": "~1.0.2" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/mpath": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.3.0.tgz", - "integrity": "sha1-elj3iem1/TyUUgY0FXlg8mvV70Q=" + "node_modules/morgan/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } }, - "node_modules/mpromise": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mpromise/-/mpromise-0.5.5.tgz", - "integrity": "sha1-9bJCWddjrMIlewoMjG2Gb9UXMuY=" + "node_modules/mpath": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", + "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==", + "engines": { + "node": ">=4.0.0" + } }, "node_modules/mquery": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/mquery/-/mquery-2.3.3.tgz", - "integrity": "sha512-NC8L14kn+qxJbbJ1gbcEMDxF0sC3sv+1cbRReXXwVvowcwY1y9KoVZFq0ebwARibsadu8lx8nWGvm3V0Pf0ZWQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz", + "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==", "dependencies": { - "bluebird": "3.5.0", - "debug": "2.6.9", - "regexp-clone": "0.0.1", - "sliced": "0.0.5" + "debug": "4.x" + }, + "engines": { + "node": ">=12.0.0" } }, - "node_modules/mquery/node_modules/bluebird": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", - "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=" - }, - "node_modules/mquery/node_modules/sliced": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz", - "integrity": "sha1-XtwETKTrb3gW1Qui/GPiXY/kcH8=" + "node_modules/mquery/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mquery/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/muri": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/muri/-/muri-1.3.0.tgz", - "integrity": "sha512-FiaFwKl864onHFFUV/a2szAl7X0fxVlSKNdhTf+BM8i8goEgYut8u5P9MqQqIYwvaMxjzVESsoEm/2kfkFH1rg==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/mv": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", - "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=", + "integrity": "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==", "dependencies": { "mkdirp": "~0.5.1", "ncp": "~2.0.0", @@ -5002,7 +5651,7 @@ "node_modules/mv/node_modules/glob": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", "dependencies": { "inflight": "^1.0.4", "inherits": "2", @@ -5017,7 +5666,7 @@ "node_modules/mv/node_modules/rimraf": { "version": "2.4.5", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", - "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", + "integrity": "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==", "dependencies": { "glob": "^6.0.1" }, @@ -5028,7 +5677,7 @@ "node_modules/mz": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.6.0.tgz", - "integrity": "sha1-yLhSHZWN8KTydoAl22nHGe5O8c4=", + "integrity": "sha512-8js8Gn0gxv5D/dqve1Idd6LfvgxRB8eGFNWUq4skKiQKTzqVxdUQFAYPmot4jfbcyD5vMWsqGPqv24ZTN61vPA==", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -5036,15 +5685,16 @@ } }, "node_modules/nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "optional": true }, "node_modules/nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "optional": true, "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -5063,9 +5713,10 @@ } }, "node_modules/nanomatch/node_modules/kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -5073,23 +5724,23 @@ "node_modules/ncp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", + "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", "bin": { "ncp": "bin/ncp" } }, "node_modules/negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "engines": { "node": ">= 0.6" } }, "node_modules/neo-async": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", - "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node_modules/next": { "version": "3.2.3", @@ -5154,6 +5805,10 @@ }, "bin": { "next": "dist/bin/next" + }, + "peerDependencies": { + "react": "^15.5.4", + "react-dom": "^15.5.4" } }, "node_modules/next-redux-wrapper": { @@ -5165,26 +5820,34 @@ }, "engines": { "node": ">=0.10.36" + }, + "peerDependencies": { + "react": "*", + "react-redux": "*" } }, "node_modules/next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" }, - "node_modules/next/node_modules/babel-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.10.0" + "node_modules/next/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" } }, + "node_modules/next/node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==" + }, "node_modules/next/node_modules/etag": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", - "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE=", + "integrity": "sha512-cNpO3IDp+dpOoM+0nNZYJc3ztKz+t6jLuX2Xs87qsFIrlgAqm83zPHtgrbxIREdky8mNTB2o2gIYqx9155CQlA==", "engines": { "node": ">= 0.6" } @@ -5192,37 +5855,70 @@ "node_modules/next/node_modules/fresh": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", - "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=", + "integrity": "sha512-FveevZlqNSIBombLEB9L3WyWg74r6d0sk+unzqKmt33b5egY0YXDFWIQ/t2Fzr9mgBLL0BlL0/rdg8Oq1C0SVw==", "engines": { "node": ">= 0.6" } }, + "node_modules/next/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/next/node_modules/http-errors/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/next/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, "node_modules/next/node_modules/mime": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", + "integrity": "sha512-sAaYXszED5ALBt665F0wMQCUXpGuZsGdopoqcHPdL39ZYdi7uHoZlhrfZfhv8WzivhBzr/oXwaj+yiK5wY8MXQ==", "bin": { "mime": "cli.js" } }, + "node_modules/next/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/next/node_modules/prop-types": { "version": "15.5.10", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", - "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=", + "integrity": "sha512-vCFzoUFaZkVNeFkhK1KbSq4cn97GDrpfBt9K2qLkGnPAEFhEv3M61Lk5t+B7c0QfMLWo0fPkowk/4SuXerh26Q==", "dependencies": { "fbjs": "^0.8.9", "loose-envify": "^1.3.1" } }, - "node_modules/next/node_modules/regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" - }, "node_modules/next/node_modules/send": { "version": "0.15.6", "resolved": "https://registry.npmjs.org/send/-/send-0.15.6.tgz", - "integrity": "sha1-IPI6nJJbdiq4JwX+L52yUqzkfjQ=", + "integrity": "sha512-e1/758VJ+GsPg8vE+Z/xE7R36IWogUl8rrrs53CsfHrT2IyZyPggfvbHT8HTV3yBNKrUHYUTsBQ9pXQYkcB4YQ==", "dependencies": { "debug": "2.6.9", "depd": "~1.1.1", @@ -5245,7 +5941,7 @@ "node_modules/next/node_modules/send/node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { "node": ">= 0.6" } @@ -5253,19 +5949,33 @@ "node_modules/next/node_modules/send/node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { "node": ">= 0.6" } }, + "node_modules/next/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, "node_modules/next/node_modules/statuses": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "integrity": "sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==", "engines": { "node": ">= 0.6" } }, + "node_modules/next/node_modules/uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, "node_modules/node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", @@ -5276,9 +5986,9 @@ } }, "node_modules/node-libs-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", - "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dependencies": { "assert": "^1.1.1", "browserify-zlib": "^0.2.0", @@ -5287,10 +5997,10 @@ "constants-browserify": "^1.0.0", "crypto-browserify": "^3.11.0", "domain-browser": "^1.1.1", - "events": "^1.0.0", + "events": "^3.0.0", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", - "path-browserify": "0.0.0", + "path-browserify": "0.0.1", "process": "^0.11.10", "punycode": "^1.2.4", "querystring-es3": "^0.2.0", @@ -5301,74 +6011,50 @@ "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", "url": "^0.11.0", - "util": "^0.10.3", - "vm-browserify": "0.0.4" - } - }, - "node_modules/node-libs-browser/node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/node-libs-browser/node_modules/process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" - }, - "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "util": "^0.11.0", + "vm-browserify": "^1.0.1" } }, - "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dependencies": { - "safe-buffer": "~5.1.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, "node_modules/nopt": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", "dependencies": { "abbrev": "1" }, "bin": { "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" } }, "node_modules/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dependencies": { "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", + "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" } }, "node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -5376,12 +6062,12 @@ "node_modules/nprogress": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" }, "node_modules/number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", "engines": { "node": ">=0.10.0" } @@ -5389,7 +6075,7 @@ "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "engines": { "node": ">=0.10.0" } @@ -5397,7 +6083,8 @@ "node_modules/object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "optional": true, "dependencies": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -5410,7 +6097,8 @@ "node_modules/object-copy/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -5418,10 +6106,65 @@ "node": ">=0.10.0" } }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "engines": { "node": ">= 0.4" } @@ -5429,7 +6172,8 @@ "node_modules/object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "optional": true, "dependencies": { "isobject": "^3.0.0" }, @@ -5438,23 +6182,27 @@ } }, "node_modules/object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dependencies": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "optional": true, "dependencies": { "isobject": "^3.0.1" }, @@ -5463,9 +6211,9 @@ } }, "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dependencies": { "ee-first": "1.1.1" }, @@ -5474,9 +6222,9 @@ } }, "node_modules/on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "engines": { "node": ">= 0.8" } @@ -5484,25 +6232,25 @@ "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } }, "node_modules/open-color": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/open-color/-/open-color-1.6.3.tgz", - "integrity": "sha512-UAnb19odLDupaVDSioSHZZlWEkJvKHDE7CxB3Zg1vS0FpHAc72AkzfH0wCSwYK5TKg6bjtmFSfmQF9FcjQANZA==" + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/open-color/-/open-color-1.9.1.tgz", + "integrity": "sha512-vCseG/EQ6/RcvxhUcGJiHViOgrtz4x0XbZepXvKik66TMGkvbmjeJrKFyBEx6daG5rNyyd14zYXhz0hZVwQFOw==" }, "node_modules/os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" }, "node_modules/os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", "engines": { "node": ">=0.10.0" } @@ -5510,7 +6258,7 @@ "node_modules/os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", "dependencies": { "lcid": "^1.0.0" }, @@ -5521,7 +6269,7 @@ "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "engines": { "node": ">=0.10.0" } @@ -5540,7 +6288,7 @@ "node_modules/p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dependencies": { "p-limit": "^1.1.0" }, @@ -5559,32 +6307,32 @@ "node_modules/p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "engines": { "node": ">=4" } }, "node_modules/pako": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, "node_modules/parse-asn1": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", - "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dependencies": { - "asn1.js": "^4.0.0", + "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" } }, "node_modules/parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", "dependencies": { "error-ex": "^1.2.0" }, @@ -5593,9 +6341,9 @@ } }, "node_modules/parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "engines": { "node": ">= 0.8" } @@ -5603,21 +6351,27 @@ "node_modules/pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/passport": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/passport/-/passport-0.4.0.tgz", - "integrity": "sha1-xQlWkTR71a07XhgCOMORTRbwWBE=", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.6.0.tgz", + "integrity": "sha512-0fe+p3ZnrWRW74fe8+SvCyf4a3Pb2/h7gFkQ8yTJpAO50gDzlfjZUZTO1k5Eg9kUct22OxHLqDZoKUWRHOh9ug==", "dependencies": { "passport-strategy": "1.x.x", - "pause": "0.0.1" + "pause": "0.0.1", + "utils-merge": "^1.0.1" }, "engines": { "node": ">= 0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" } }, "node_modules/passport-jwt": { @@ -5632,7 +6386,7 @@ "node_modules/passport-local": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz", - "integrity": "sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4=", + "integrity": "sha512-9wCE6qKznvf9mQYYbgJ3sVOHmCWoUNMVFoZzNoznmISbhnNNPhN9xfY3sLmScHMetEJeoY7CXwfhCe7argfQow==", "dependencies": { "passport-strategy": "1.x.x" }, @@ -5641,50 +6395,41 @@ } }, "node_modules/passport-local-mongoose": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/passport-local-mongoose/-/passport-local-mongoose-4.5.0.tgz", - "integrity": "sha512-fd5dUdTcN37DA+CCL/7kGQ57ACs6NXyuNmWjrTj4kvTOFa7SA+msEYPYwpgwbc3Nc+4RUeMtEQW4fPMx7nDObQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/passport-local-mongoose/-/passport-local-mongoose-7.1.2.tgz", + "integrity": "sha512-hNLIKi/6IhElr/PhOze8wLDh7T4+ZYhc8GFWYApLgG7FrjI55tuGZELPtsUBqODz77OwlUUf+ngPgHN09zxGLg==", "dependencies": { - "debug": "^3.1.0", "generaterr": "^1.5.0", "passport-local": "^1.0.0", - "scmp": "^2.0.0", - "semver": "^5.4.1" + "scmp": "^2.1.0" }, "engines": { - "node": ">= 0.12" - } - }, - "node_modules/passport-local-mongoose/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dependencies": { - "ms": "2.0.0" + "node": ">= 8.0.0" } }, "node_modules/passport-strategy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", - "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=", + "integrity": "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==", "engines": { "node": ">= 0.4.0" } }, "node_modules/path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" }, "node_modules/path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "optional": true }, "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "engines": { "node": ">=4" } @@ -5692,7 +6437,7 @@ "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" } @@ -5700,12 +6445,12 @@ "node_modules/path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" }, "node_modules/path-match": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/path-match/-/path-match-1.2.4.tgz", - "integrity": "sha1-pidH88fgwlFHYml/JEQ1hbCRAOo=", + "integrity": "sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==", "dependencies": { "http-errors": "~1.4.0", "path-to-regexp": "^1.0.0" @@ -5714,7 +6459,7 @@ "node_modules/path-match/node_modules/http-errors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.4.0.tgz", - "integrity": "sha1-bAJC3qaz33r9oVPHEImzHG6Cqr8=", + "integrity": "sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==", "dependencies": { "inherits": "2.0.1", "statuses": ">= 1.2.1 < 2" @@ -5726,35 +6471,43 @@ "node_modules/path-match/node_modules/inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==" }, "node_modules/path-match/node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" }, "node_modules/path-match/node_modules/path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", "dependencies": { "isarray": "0.0.1" } }, + "node_modules/path-match/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, "node_modules/path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", "dependencies": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -5767,7 +6520,7 @@ "node_modules/path-type/node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "engines": { "node": ">=0.10.0" } @@ -5775,12 +6528,12 @@ "node_modules/pause": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" + "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" }, "node_modules/pbkdf2": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", - "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dependencies": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -5792,10 +6545,21 @@ "node": ">=0.12" } }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "engines": { "node": ">=4" } @@ -5803,7 +6567,7 @@ "node_modules/pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "engines": { "node": ">=0.10.0" } @@ -5811,7 +6575,7 @@ "node_modules/pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dependencies": { "pinkie": "^2.0.0" }, @@ -5822,7 +6586,7 @@ "node_modules/pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "integrity": "sha512-ojakdnUgL5pzJYWw2AIDEupaQCX5OPbM688ZevubICjdIX01PRSYKqm33fJoCOJBRseYCTUlQRnBNX+Pchaejw==", "dependencies": { "find-up": "^2.1.0" }, @@ -5833,7 +6597,7 @@ "node_modules/pkg-up": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "integrity": "sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg==", "dependencies": { "find-up": "^2.1.0" }, @@ -5842,22 +6606,24 @@ } }, "node_modules/polished": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/polished/-/polished-1.8.1.tgz", - "integrity": "sha512-0DJUKvma7rdAIhntPxZpRNGFbvMtk+9i4mttF+mBc9DRy3agw44H3GDnh0R2AgBce/D226uKEvztjRQptP9jBg==" + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/polished/-/polished-1.9.3.tgz", + "integrity": "sha512-4NmSD7fMFlM8roNxs7YXPv7UFRbYzb0gufR5zBxJLRzY54+zFsavxBo6zsQzP9ep6Hh3pC2pTyrpSTBEaB6IkQ==", + "deprecated": "polished@2.X is no longer supported. Please upgrade to @latest for important bug and security fixes." }, "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/postcss-value-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=" + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" }, "node_modules/private": { "version": "0.1.8", @@ -5868,17 +6634,17 @@ } }, "node_modules/process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "engines": { "node": ">= 0.6.0" } }, "node_modules/process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/promise": { "version": "7.3.1", @@ -5889,12 +6655,13 @@ } }, "node_modules/prop-types": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", - "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", - "dependencies": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, "node_modules/prop-types-exact": { @@ -5908,56 +6675,69 @@ } }, "node_modules/proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dependencies": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" }, "node_modules/public-encrypt": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", - "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dependencies": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1" + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "node_modules/punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" }, "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "engines": { "node": ">=0.4.x" } @@ -5965,7 +6745,7 @@ "node_modules/querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "engines": { "node": ">=0.4.x" } @@ -5973,15 +6753,15 @@ "node_modules/random-bytes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=", + "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==", "engines": { "node": ">= 0.8" } }, "node_modules/randombytes": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dependencies": { "safe-buffer": "^5.1.0" } @@ -5996,42 +6776,31 @@ } }, "node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "engines": { "node": ">= 0.6" } }, "node_modules/raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", - "dependencies": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "engines": { "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", - "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/react/-/react-15.7.0.tgz", + "integrity": "sha512-5/MMRYmpmM0sMTHGLossnJCrmXQIiJilD6y3YN3TzAwGFj6zdnMtFv6xmi65PHKRV+pehIHpT7oy67Sr6s9AHA==", "dependencies": { "create-react-class": "^15.6.0", "fbjs": "^0.8.9", @@ -6044,29 +6813,22 @@ } }, "node_modules/react-deep-force-update": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-2.1.1.tgz", - "integrity": "sha1-jqQmPNZFWgULN0RbPwj9g52G6Qk=" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-2.1.3.tgz", + "integrity": "sha512-lqD4eHKVuB65RyO/hGbEST53E2/GPbcIPcFYyeW/p4vNngtH4G7jnKGlU6u1OqrFo0uNfIvwuBOg98IbLHlNEA==" }, "node_modules/react-dom": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.2.tgz", - "integrity": "sha1-Qc+t9pO3V/rycIRDodH9WgK+9zA=", + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.7.0.tgz", + "integrity": "sha512-mpjXqC2t1FuYsILOLCj0kg6pbg460byZkVA/80VtDmKU/pYmoTdHOtaMcTRIDiyXLz4sIur0cQ04nOC6iGndJg==", "dependencies": { "fbjs": "^0.8.9", "loose-envify": "^1.1.0", "object-assign": "^4.1.0", "prop-types": "^15.5.10" - } - }, - "node_modules/react-dom/node_modules/prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "dependencies": { - "fbjs": "^0.8.16", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + }, + "peerDependencies": { + "react": "^15.7.0" } }, "node_modules/react-event-listener": { @@ -6078,12 +6840,15 @@ "fbjs": "^0.8.16", "prop-types": "^15.6.0", "warning": "^3.0.0" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0" } }, "node_modules/react-hot-loader": { "version": "3.0.0-beta.7", "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-3.0.0-beta.7.tgz", - "integrity": "sha1-1YR7gWXXMcTVsw2G1dRxYieg+oM=", + "integrity": "sha512-p2VbPsRrbiwR0JTyIonka1PcoEbF7Y9q/7tsCsvgYmu8MkBCdokqV7ZPB7wbNhGX2lmnmoUb534N2sYntrYNrA==", "dependencies": { "babel-template": "^6.7.0", "global": "^4.3.0", @@ -6099,7 +6864,7 @@ "node_modules/react-hot-loader/node_modules/source-map": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==", "dependencies": { "amdefine": ">=0.0.4" }, @@ -6110,7 +6875,12 @@ "node_modules/react-icon-base": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/react-icon-base/-/react-icon-base-2.1.0.tgz", - "integrity": "sha1-oZbjP98eeqof2jrvu2i9rZ6Cp50=" + "integrity": "sha512-9wwKJa2LB8ujtJB5MAXYYEM7JfYThZTj0YnfGxzLLWkifaLIGc7iTde2EpJ7ka5MjneRHnlxbIn5VV9k2WjUVA==", + "peerDependencies": { + "prop-types": "*", + "react": "*", + "react-dom": "*" + } }, "node_modules/react-icons": { "version": "2.2.7", @@ -6118,8 +6888,17 @@ "integrity": "sha512-0n4lcGqzJFcIQLoQytLdJCE0DKSA9dkwEZRYoGrIDJZFvIT6Hbajx5mv9geqhqFiNjUgtxg8kPyDfjlhymbGFg==", "dependencies": { "react-icon-base": "2.1.0" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16.0.0", + "react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0" } }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, "node_modules/react-jsonschema-form": { "version": "0.50.1", "resolved": "https://registry.npmjs.org/react-jsonschema-form/-/react-jsonschema-form-0.50.1.tgz", @@ -6133,58 +6912,92 @@ "engines": { "node": ">=6", "npm": "^2.14.7" + }, + "peerDependencies": { + "react": "^15.0.0" } }, - "node_modules/react-jsonschema-form/node_modules/prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "dependencies": { - "fbjs": "^0.8.16", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "node_modules/react-notification-system": { "version": "0.2.17", "resolved": "https://registry.npmjs.org/react-notification-system/-/react-notification-system-0.2.17.tgz", - "integrity": "sha1-pg7du2IiWtj5/F14N1Rr9s2zaBg=", + "integrity": "sha512-i/ruSKE7aO05hpBt7MvbqLVCu2bzkoo5ApE3PXfj9Dh6oQOpjvaGPswmziuQiensRyMkWsb9mVh/8OmXzMERtw==", "dependencies": { "create-react-class": "^15.5.1", "object-assign": "^4.0.1", "prop-types": "^15.5.6" + }, + "peerDependencies": { + "react": "0.14.x || ^15.0.0 ||Â ^16.0.0", + "react-dom": "0.14.x || ^15.0.0 || ^16.0.0" } }, "node_modules/react-onclickoutside": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.7.1.tgz", - "integrity": "sha512-p84kBqGaMoa7VYT0vZ/aOYRfJB+gw34yjpda1Z5KeLflg70HipZOT+MXQenEhdkPAABuE2Astq4zEPdMqUQxcg==" + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.12.2.tgz", + "integrity": "sha512-NMXGa223OnsrGVp5dJHkuKxQ4czdLmXSp5jSV9OqiCky9LOpPATn3vLldc+q5fK3gKbEHvr7J1u0yhBh/xYkpA==", + "funding": { + "type": "individual", + "url": "https://github.com/Pomax/react-onclickoutside/blob/master/FUNDING.md" + }, + "peerDependencies": { + "react": "^15.5.x || ^16.x || ^17.x || ^18.x", + "react-dom": "^15.5.x || ^16.x || ^17.x || ^18.x" + } }, "node_modules/react-proxy": { "version": "3.0.0-alpha.1", "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz", - "integrity": "sha1-RABCa8+oDKpnJMd1VpUxUgn6Swc=", + "integrity": "sha512-uyPHKDJ99eBf/wTi768z176I8+c2NvGG5wKdctvHJO5XyZl/brIiwDQ+HBA8Zag5nDdTICYxdBafxBiUxJARrQ==", "dependencies": { "lodash": "^4.6.1" } }, "node_modules/react-redux": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz", - "integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==", - "dependencies": { - "hoist-non-react-statics": "^2.5.0", - "invariant": "^2.0.0", - "lodash": "^4.17.5", - "lodash-es": "^4.17.5", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.1.2.tgz", + "integrity": "sha512-Ns1G0XXc8hDyH/OcBHOxNgQx9ayH3SPxBnFCOidGKSle8pKihysQw2rG/PmciUQRoclhVBO8HMhiRmGXnDja9Q==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.2.4", "loose-envify": "^1.1.0", - "prop-types": "^15.6.0" + "prop-types": "^15.6.1", + "react-is": "^16.6.0", + "react-lifecycles-compat": "^3.0.0" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0-0 || ^16.0.0-0", + "redux": "^2.0.0 || ^3.0.0 || ^4.0.0-0" } }, - "node_modules/react-redux/node_modules/lodash-es": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.10.tgz", - "integrity": "sha512-iesFYPmxYYGTcmQK0sL8bX3TGHyM6b2qREaB4kamHfQyfPJP0xgoGxp19nsH16nsfquLdiyKyX3mQkfiSGV8Rg==" + "node_modules/react-redux/node_modules/@babel/runtime": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/react-redux/node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/react-redux/node_modules/regenerator-runtime": { + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", + "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" }, "node_modules/react-transition-group": { "version": "1.2.1", @@ -6196,32 +7009,16 @@ "loose-envify": "^1.3.1", "prop-types": "^15.5.6", "warning": "^3.0.0" - } - }, - "node_modules/react-transition-group/node_modules/prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "dependencies": { - "fbjs": "^0.8.16", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - }, - "node_modules/react/node_modules/prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "dependencies": { - "fbjs": "^0.8.16", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + }, + "peerDependencies": { + "react": "^15.0.0 || ^16.0.0", + "react-dom": "^15.0.0 || ^16.0.0" } }, "node_modules/read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", "dependencies": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", @@ -6234,7 +7031,7 @@ "node_modules/read-pkg-up": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", "dependencies": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" @@ -6246,7 +7043,7 @@ "node_modules/read-pkg-up/node_modules/find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", "dependencies": { "path-exists": "^2.0.0", "pinkie-promise": "^2.0.0" @@ -6258,7 +7055,7 @@ "node_modules/read-pkg-up/node_modules/path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", "dependencies": { "pinkie-promise": "^2.0.0" }, @@ -6267,40 +7064,49 @@ } }, "node_modules/readable-stream": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.7.tgz", - "integrity": "sha1-BwV6y+JGeyIELTb5jFrVBwVOlbE=", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dependencies": { - "buffer-shims": "~1.0.0", "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "optional": true, "dependencies": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=0.6" + "node": ">=8.10.0" } }, "node_modules/recursive-copy": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/recursive-copy/-/recursive-copy-2.0.9.tgz", - "integrity": "sha512-0AkHV+QtfS/1jW01z3m2t/TRTW56Fpc+xYbsoa/bqn8BCYPwmsaNjlYmUU/dyGg9w8MmGoUWihU5W+s+qjxvBQ==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/recursive-copy/-/recursive-copy-2.0.14.tgz", + "integrity": "sha512-K8WNY8f8naTpfbA+RaXmkaQuD1IeW9EgNEfyGxSqqTQukpVtoOKros9jUqbpEsSw59YOmpd8nCBgtqJZy5nvog==", "dependencies": { - "del": "^2.2.0", - "emitter-mixin": "0.0.3", "errno": "^0.1.2", "graceful-fs": "^4.1.4", "junk": "^1.0.1", @@ -6308,46 +7114,14 @@ "mkdirp": "^0.5.1", "pify": "^2.3.0", "promise": "^7.0.1", + "rimraf": "^2.7.1", "slash": "^1.0.0" } }, - "node_modules/recursive-copy/node_modules/del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dependencies": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/recursive-copy/node_modules/globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dependencies": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/recursive-copy/node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "engines": { "node": ">=0.10.0" } @@ -6361,12 +7135,16 @@ "object-assign": "^4.0.1", "prop-types": "^15.5.4", "sourcemapped-stacktrace": "^1.1.6" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16.0.0-beta || ^16.0.0", + "react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0-beta || ^16.0.0" } }, "node_modules/redbox-react/node_modules/error-stack-parser": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz", - "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=", + "integrity": "sha512-xhuSYd8wLgOXwNgjcPeXMPL/IiiA1Huck+OPvClpJViVNNlJVtM41o+1emp7bPvlCJwCatFX2DWc05/DgfbWzA==", "dependencies": { "stackframe": "^0.3.1" } @@ -6374,12 +7152,12 @@ "node_modules/redbox-react/node_modules/stackframe": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz", - "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=" + "integrity": "sha512-XmoiF4T5nuWEp2x2w92WdGjdHGY/cZa6LIbRsDRQR/Xlk4uW0PAUlH1zJYVffocwKpCdwyuypIp25xsSXEtZHw==" }, "node_modules/reduce-reducers": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/reduce-reducers/-/reduce-reducers-0.1.5.tgz", - "integrity": "sha512-uoVmQnZQ+BtKKDKpBdbBri5SLNyIK9ULZGOA504++VbHcwouWE+fJDIo8AuESPF9/EYSkI0v05LDEQK6stCbTA==" + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/reduce-reducers/-/reduce-reducers-0.4.3.tgz", + "integrity": "sha512-+CNMnI8QhgVMtAt54uQs3kUxC3Sybpa7Y63HR14uGLgI9/QR5ggHvpxwhGGe3wmx5V91YwqQIblN9k5lspAmGw==" }, "node_modules/redux": { "version": "3.7.2", @@ -6393,40 +7171,36 @@ } }, "node_modules/redux-actions": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/redux-actions/-/redux-actions-2.6.1.tgz", - "integrity": "sha1-QsBulHOfvm2zXbNgWrsQW9s3JNg=", - "dependencies": { - "invariant": "^2.2.1", - "lodash.camelcase": "^4.3.0", - "lodash.curry": "^4.1.1", - "reduce-reducers": "^0.1.0" + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/redux-actions/-/redux-actions-2.6.5.tgz", + "integrity": "sha512-pFhEcWFTYNk7DhQgxMGnbsB1H2glqhQJRQrtPb96kD3hWiZRzXHwwmFPswg6V2MjraXRXWNmuP9P84tvdLAJmw==", + "dependencies": { + "invariant": "^2.2.4", + "just-curry-it": "^3.1.0", + "loose-envify": "^1.4.0", + "reduce-reducers": "^0.4.3", + "to-camel-case": "^1.0.0" } }, "node_modules/redux-saga": { "version": "0.15.6", "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-0.15.6.tgz", - "integrity": "sha1-hjjcUi3mxsCklv6LK1RmKHrC3E0=" - }, - "node_modules/redux/node_modules/lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + "integrity": "sha512-G6djLFDSstQosBX4Bbcz0qP72kZjr/OaAcg/As5G9aiZgWlTZNBAg6RF0/esdGqlzsDRzsn2C2tigGk9gQJbQQ==" }, "node_modules/reflect.ownkeys": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz", - "integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=" + "integrity": "sha512-qOLsBKHCpSOFKK1NUOCGC5VyeufB6lEsFe92AL2bhIJsacZS1qdoOZSbPk3MYKuT2cFlRDnulKXuuElIrMjGUg==" }, "node_modules/regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==" }, "node_modules/regenerator-transform": { "version": "0.10.1", @@ -6442,6 +7216,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "optional": true, "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -6450,15 +7225,10 @@ "node": ">=0.10.0" } }, - "node_modules/regexp-clone": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz", - "integrity": "sha1-p8LgmJH9vzj7sQ03b7cwA+aKxYk=" - }, "node_modules/regexpu-core": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", "dependencies": { "regenerate": "^1.2.1", "regjsgen": "^0.2.0", @@ -6468,12 +7238,12 @@ "node_modules/regjsgen": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==" }, "node_modules/regjsparser": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", "dependencies": { "jsesc": "~0.5.0" }, @@ -6484,7 +7254,7 @@ "node_modules/regjsparser/node_modules/jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "bin": { "jsesc": "bin/jsesc" } @@ -6492,12 +7262,14 @@ "node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "optional": true }, "node_modules/repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -6505,7 +7277,7 @@ "node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "engines": { "node": ">=0.10" } @@ -6513,7 +7285,7 @@ "node_modules/repeating": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", "dependencies": { "is-finite": "^1.0.0" }, @@ -6521,19 +7293,10 @@ "node": ">=0.10.0" } }, - "node_modules/require_optional": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", - "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", - "dependencies": { - "resolve-from": "^2.0.0", - "semver": "^5.1.0" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "engines": { "node": ">=0.10.0" } @@ -6541,33 +7304,36 @@ "node_modules/require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==" }, "node_modules/resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "dependencies": { - "path-parse": "^1.0.5" - } - }, - "node_modules/resolve-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=", - "engines": { - "node": ">=0.10.0" + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "optional": true }, "node_modules/ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "optional": true, "engines": { "node": ">=0.12" } @@ -6575,7 +7341,7 @@ "node_modules/right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", "dependencies": { "align-text": "^0.1.1" }, @@ -6584,16 +7350,35 @@ } }, "node_modules/rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "dependencies": { - "glob": "^7.0.5" + "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" } }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/ripemd160": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", @@ -6603,15 +7388,49 @@ "inherits": "^2.0.1" } }, + "node_modules/run-series": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.9.tgz", + "integrity": "sha512-Arc4hUN896vjkqCYrUXquBFtRZdv1PfLbTYP71efP6butxyQ0kWpiNJyAgsxscmQg1cqvHY32/UCBzXedTpU2g==", + "funding": + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + + }, "node_modules/safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + }, "node_modules/safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "optional": true, "dependencies": { "ret": "~0.1.10" } @@ -6621,10 +7440,22 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/saslprep": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", + "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", + "optional": true, + "dependencies": { + "sparse-bitfield": "^3.0.3" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/scmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.0.0.tgz", - "integrity": "sha1-JHEQ7yLM+JexOj8KvdtSeCOTzWo=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz", + "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" }, "node_modules/semver": { "version": "5.7.1", @@ -6635,61 +7466,56 @@ } }, "node_modules/send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/send/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/send/node_modules/statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "engines": { - "node": ">= 0.6" - } + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dependencies": { + "type-fest": "^0.13.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" @@ -6698,20 +7524,13 @@ "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "node_modules/set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, "node_modules/set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "optional": true, "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -6725,7 +7544,8 @@ "node_modules/set-value/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, "dependencies": { "is-extendable": "^0.1.0" }, @@ -6733,15 +7553,24 @@ "node": ">=0.10.0" } }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" }, "node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/sha.js": { "version": "2.4.11", @@ -6758,7 +7587,7 @@ "node_modules/shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -6769,28 +7598,51 @@ "node_modules/shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "engines": { "node": ">=0.10.0" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sift": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz", + "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ==" + }, "node_modules/slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", "engines": { "node": ">=0.10.0" } }, - "node_modules/sliced": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", - "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } }, "node_modules/snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "optional": true, "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", @@ -6809,6 +7661,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "optional": true, "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -6821,7 +7674,8 @@ "node_modules/snapdragon-node/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "optional": true, "dependencies": { "is-descriptor": "^1.0.0" }, @@ -6829,101 +7683,132 @@ "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "optional": true, "dependencies": { - "kind-of": "^6.0.0" + "kind-of": "^3.2.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, "dependencies": { - "kind-of": "^6.0.0" + "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "optional": true, "dependencies": { - "kind-of": "^3.2.0" + "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "optional": true, "dependencies": { - "is-descriptor": "^0.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/snapdragon/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dependencies": { - "is-extendable": "^0.1.0" + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.13.0", + "npm": ">= 3.0.0" } }, "node_modules/source-list-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "optional": true, "dependencies": { - "atob": "^2.1.1", + "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", @@ -6933,20 +7818,22 @@ "node_modules/source-map-support": { "version": "0.4.15", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz", - "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=", + "integrity": "sha512-oRP/tYo0d1l3D4f/bRWkWeLg80AxAqE225Vf1tbkuHZxANSgSQwfDHzDuhpS7U0ocKfwggp4PSAnMoRKsAgIZg==", "dependencies": { "source-map": "^0.5.6" } }, "node_modules/source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "optional": true }, "node_modules/sourcemapped-stacktrace": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.8.tgz", - "integrity": "sha512-OkVoI7GQOLl/laR1qsSo1c87tS8kF2VXhQq2SrQCDdXufBAcm8FgXogWso96ciMYoDtTw1Dn70CVdwYzoYs6Pg==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.11.tgz", + "integrity": "sha512-O0pcWjJqzQFVsisPlPXuNawJHHg9N9UgpJ/aDmvi9+vnS3x1C0NhwkVFzzZ1VN0Xo+bekyweoqYvBw5ZBKiNnQ==", "dependencies": { "source-map": "0.5.6" } @@ -6954,43 +7841,53 @@ "node_modules/sourcemapped-stacktrace/node_modules/source-map": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", "engines": { "node": ">=0.10.0" } }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "optional": true, + "dependencies": { + "memory-pager": "^1.0.2" + } + }, "node_modules/spdx-correct": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" }, "node_modules/spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-license-ids": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==" + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" }, "node_modules/split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "optional": true, "dependencies": { "extend-shallow": "^3.0.0" }, @@ -6999,14 +7896,15 @@ } }, "node_modules/stackframe": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz", - "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==" + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" }, "node_modules/static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "optional": true, "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -7018,7 +7916,8 @@ "node_modules/static-extend/node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, "dependencies": { "is-descriptor": "^0.1.0" }, @@ -7026,18 +7925,65 @@ "node": ">=0.10.0" } }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/stream-browserify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dependencies": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" @@ -7055,50 +8001,23 @@ "xtend": "^4.0.0" } }, - "node_modules/stream-http/node_modules/process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" - }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stream-http/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "node_modules/string-hash": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.1.tgz", - "integrity": "sha1-joW+0pHgdjuPaAnZwzaP6gSNs9w=" + "integrity": "sha512-fdhER5WjzXjJsfv2RbqqIoW+cWToN6aRrwkJu8co15A1r7ZMdiorUYwE5wAYv+p5Dcn/ft6UnEJL6IlaxK2ejQ==" }, "node_modules/string-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", - "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", + "integrity": "sha512-MNCACnufWUf3pQ57O5WTBMkKhzYIaKEcUioO0XHrTMafrbBaNk4IyDOLHBv5xbXO0jLLdsYWeFjpjG2hVHRDtw==", "dependencies": { "strip-ansi": "^3.0.0" }, @@ -7109,7 +8028,7 @@ "node_modules/string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", "dependencies": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -7122,7 +8041,7 @@ "node_modules/strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dependencies": { "ansi-regex": "^2.0.0" }, @@ -7133,7 +8052,7 @@ "node_modules/strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", "dependencies": { "is-utf8": "^0.2.0" }, @@ -7141,10 +8060,16 @@ "node": ">=0.10.0" } }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "optional": true + }, "node_modules/styled-components": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-2.4.1.tgz", - "integrity": "sha1-ZjvQSF1LarRvlGIQ3APSOY0a3nQ=", + "integrity": "sha512-dO0MpONBmVfjA/DSdpcLYObQZcbM+ZXoBOx5ytk4ZmUuyo3JG7QFMvHQEIvVRL1Uogf6x0DI9XWve6pyW9TTiA==", "dependencies": { "buffer": "^5.0.3", "css-to-react-native": "^2.0.3", @@ -7154,26 +8079,20 @@ "prop-types": "^15.5.4", "stylis": "^3.4.0", "supports-color": "^3.2.3" - } - }, - "node_modules/styled-components/node_modules/buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.0.tgz", - "integrity": "sha512-nUJyfChH7PMJy75eRDCCKtszSEFokUNXC1hNVSe+o+VdcgvDPLs20k3v8UXI8ruRYAJiYtyRea8mYyqPxoHWDw==", - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + }, + "peerDependencies": { + "react": ">= 0.14.0 < 17.0.0-0" } }, "node_modules/styled-components/node_modules/hoist-non-react-statics": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", - "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" + "integrity": "sha512-r8huvKK+m+VraiRipdZYc+U4XW43j6OFG/oIafe7GfDbRpCduRoX9JI/DRxqgtBSCeL+et6N6ibZoedHS2NyOQ==" }, "node_modules/styled-components/node_modules/supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", "dependencies": { "has-flag": "^1.0.0" }, @@ -7184,7 +8103,7 @@ "node_modules/styled-jsx": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-1.0.11.tgz", - "integrity": "sha1-hFTwaRbZ1Xoumu1qnC5pUXeCIEU=", + "integrity": "sha512-nWbUS3u50pZ3taupBwFt8UANsz+ef8w2PjlmxtQZESeU9rji4MWb82p0vzKWKjoRAi0b/FpTPdrT98Ce7vL1kQ==", "dependencies": { "babel-plugin-syntax-jsx": "6.18.0", "babel-traverse": "6.21.0", @@ -7196,12 +8115,15 @@ "source-map": "0.5.6", "string-hash": "1.1.1", "stylis": "3.2.18" + }, + "peerDependencies": { + "react": "15.x.x" } }, "node_modules/styled-jsx/node_modules/babel-traverse": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz", - "integrity": "sha1-acY2WATxpPaesSE/hbAKgYuMIa0=", + "integrity": "sha512-cZBXjV8LlK4oYF2VtNIqcuoVS+Vo0Soe+/WkFl1SuP8gAn+N4zOujWWf6LzK+ovJsrtiDAWdAl6PHDBpr1Pv7w==", "dependencies": { "babel-code-frame": "^6.20.0", "babel-messages": "^6.8.0", @@ -7217,7 +8139,7 @@ "node_modules/styled-jsx/node_modules/babel-types": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz", - "integrity": "sha1-uxcXnXU4utOM0MnhFdNA935+ms8=", + "integrity": "sha512-NYwkqoqNBNVHrVnqhb1oZI6A7D1lzhme01ormWk9vYO8Epe70sfYQu3NkCa2Rfd9+H8r7WB2/LJkGylBDvK6bQ==", "dependencies": { "babel-runtime": "^6.22.0", "esutils": "^2.0.2", @@ -7228,7 +8150,7 @@ "node_modules/styled-jsx/node_modules/babylon": { "version": "6.14.1", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.14.1.tgz", - "integrity": "sha1-lWJ1+rcnU62bNDXXr+WPi/CimBU=", + "integrity": "sha512-izT2zd9RVjSJQUcw6DG60oF/FDGMlFYoygfVo0ut7n7Dy9lsxOlkhBrZAO19TB9qA0LJSFuDq4WfjsFXhXQ/fg==", "bin": { "babylon": "bin/babylon.js" } @@ -7236,12 +8158,12 @@ "node_modules/styled-jsx/node_modules/convert-source-map": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz", - "integrity": "sha1-6fPpxuJyjvwmdmlqcOs4L3MQamc=" + "integrity": "sha512-8iaBspZWViJD+h8epOgGyXGWH2wSDLzQ8w9qDs/L7W67IfnEeXKu/Q1cPeWpIrRJc9Mvzbn6hKxnL3goD5ncwQ==" }, "node_modules/styled-jsx/node_modules/source-map": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==", "engines": { "node": ">=0.10.0" } @@ -7254,44 +8176,55 @@ "node_modules/styled-jsx/node_modules/to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", "engines": { "node": ">=0.10.0" } }, "node_modules/stylis": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.3.tgz", - "integrity": "sha512-TxU0aAscJghF9I3V9q601xcK3Uw1JbXvpsBGj/HULqexKOKlOEzzlIpLFRbKkCK990ccuxfXUqmPbIIo7Fq/cQ==" + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", + "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==" }, "node_modules/supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", "engines": { "node": ">=0.8.0" } }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", "engines": { "node": ">=0.10.0" } }, "node_modules/tapable": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", - "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", + "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==", "engines": { "node": ">=0.6" } }, "node_modules/thenify": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", - "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dependencies": { "any-promise": "^1.0.0" } @@ -7299,7 +8232,7 @@ "node_modules/thenify-all": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -7308,9 +8241,9 @@ } }, "node_modules/timers-browserify": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", - "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dependencies": { "setimmediate": "^1.0.4" }, @@ -7321,20 +8254,34 @@ "node_modules/to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" + }, + "node_modules/to-camel-case": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-camel-case/-/to-camel-case-1.0.0.tgz", + "integrity": "sha512-nD8pQi5H34kyu1QDMFjzEIYqk0xa9Alt6ZfrdEMuHCFOfTLhDG5pgTu/aAM9Wt9lXILwlXmWP43b8sav0GNE8Q==", + "dependencies": { + "to-space-case": "^1.0.0" + } }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "engines": { "node": ">=4" } }, + "node_modules/to-no-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-no-case/-/to-no-case-1.0.2.tgz", + "integrity": "sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg==" + }, "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "optional": true, "dependencies": { "kind-of": "^3.0.2" }, @@ -7346,6 +8293,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "optional": true, "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -7357,15 +8305,31 @@ } }, "node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "optional": true, "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0" + } + }, + "node_modules/to-space-case": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-space-case/-/to-space-case-1.0.0.tgz", + "integrity": "sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA==", + "dependencies": { + "to-no-case": "^1.0.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" } }, "node_modules/touch": { @@ -7379,19 +8343,47 @@ "nodetouch": "bin/nodetouch.js" } }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/tr46/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, "node_modules/traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", "engines": { "node": ">=0.10.0" } }, + "node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "optional": true + }, "node_modules/tsscmp": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", @@ -7403,24 +8395,50 @@ "node_modules/tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dependencies": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "~2.1.24" }, "engines": { "node": ">= 0.6" } }, "node_modules/ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==", + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", + "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==", + "funding": + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + , "engines": { "node": "*" } @@ -7428,7 +8446,7 @@ "node_modules/uglify-js": { "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", "dependencies": { "source-map": "~0.5.1", "yargs": "~3.10.0" @@ -7443,10 +8461,28 @@ "uglify-to-browserify": "~1.0.0" } }, + "node_modules/uglify-js/node_modules/camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglify-js/node_modules/cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", + "dependencies": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, "node_modules/uglify-js/node_modules/yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", "dependencies": { "camelcase": "^1.0.2", "cliui": "^2.1.0", @@ -7457,13 +8493,13 @@ "node_modules/uglify-to-browserify": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==", "optional": true }, "node_modules/uglifyjs-webpack-plugin": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "integrity": "sha512-TNM20HMW67kxHRNCZdvLyiwE1ST6WyY5Ae+TG55V81NpvNwJ9+V4/po4LHA1R9afV/WrqzfedG2UJCk2+swirw==", "hasInstallScript": true, "dependencies": { "source-map": "^0.5.6", @@ -7472,6 +8508,9 @@ }, "engines": { "node": ">=4.3.0 <5.0.0 || >=5.10" + }, + "peerDependencies": { + "webpack": "^1.9 || ^2 || ^2.1.0-beta || ^2.2.0-rc || ^3.0.0" } }, "node_modules/uid-safe": { @@ -7488,43 +8527,28 @@ "node_modules/unfetch": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-3.0.0.tgz", - "integrity": "sha1-jR4FE6Ts0OX/LUGmund3Gq6LZII=" + "integrity": "sha512-4hZ0t0k10tqyHPIFStzCoNsjFf2hwNuq7Rfuy2aKTr+2UhYku0v0agHtEIu0ExIOAfVyfccg24etq1Pnth5rSw==" }, "node_modules/union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "optional": true, "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" + "set-value": "^2.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/union-value/node_modules/set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true, "engines": { "node": ">=0.10.0" } @@ -7532,7 +8556,7 @@ "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "engines": { "node": ">= 0.8" } @@ -7540,7 +8564,8 @@ "node_modules/unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "optional": true, "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -7552,7 +8577,8 @@ "node_modules/unset-value/node_modules/has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "optional": true, "dependencies": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -7565,7 +8591,8 @@ "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "optional": true, "dependencies": { "isarray": "1.0.0" }, @@ -7576,28 +8603,33 @@ "node_modules/unset-value/node_modules/has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "optional": true, "engines": { - "node": ">=4" + "node": ">=4", + "yarn": "*" } }, "node_modules/urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "optional": true }, "node_modules/url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", "dependencies": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -7607,14 +8639,15 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dependencies": { "inherits": "2.0.3" } @@ -7622,22 +8655,28 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "engines": { "node": ">= 0.4.0" } }, "node_modules/uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "optional": true, "bin": { - "uuid": "bin/uuid" + "uuid": "dist/bin/uuid" } }, "node_modules/validate-npm-package-license": { @@ -7652,23 +8691,20 @@ "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "engines": { "node": ">= 0.8" } }, "node_modules/vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dependencies": { - "indexof": "0.0.1" - } + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" }, "node_modules/walk": { - "version": "2.3.14", - "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.14.tgz", - "integrity": "sha512-5skcWAUmySj6hkBdH6B6+3ddMjVQYH5Qy9QGbPmN8kVmLteXk+yVXg+yfk1nbX30EYakahLrr8iPcCxJQSCBeg==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.15.tgz", + "integrity": "sha512-4eRTBZljBfIISK1Vnt69Gvr2w/wc3U6Vtrw7qiN5iqYJPH7LElcYh/iU4XWhdCy2dZqv1ToMyYlybDylfG/5Vg==", "dependencies": { "foreachasync": "^3.0.0" } @@ -7676,25 +8712,247 @@ "node_modules/warning": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==", "dependencies": { "loose-envify": "^1.0.0" } }, "node_modules/watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dependencies": { - "chokidar": "^2.0.2", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "hasInstallScript": true, + "optional": true, + "os": + "darwin" + , + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" } }, "node_modules/webpack": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.3.0.tgz", - "integrity": "sha1-zi+eB2Vmq6kfdIhxM6iD/X2hh7w=", + "integrity": "sha512-Cc6gAZS9k6OfZZb3A3BhG/pbA17h9zF10ys32KGDmZfusJDKOdk4TogjsyTl4WIp++EL/POi3oeQGWhp8wTddQ==", "dependencies": { "acorn": "^5.0.0", "acorn-dynamic-import": "^2.0.0", @@ -7729,7 +8987,7 @@ "node_modules/webpack-dev-middleware": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.11.0.tgz", - "integrity": "sha1-CWkdCXOjCtH4Ksc6EuIIfwpHVPk=", + "integrity": "sha512-51YARPK2lHMRml5qcfNukC01RF4Dqi/ajM3DsqHK77pC0icIg2A922ZxpgP//Ks2QcLmnbabz2cj/qK/28v0/Q==", "dependencies": { "memory-fs": "~0.4.1", "mime": "^1.3.4", @@ -7738,6 +8996,9 @@ }, "engines": { "node": ">=0.6" + }, + "peerDependencies": { + "webpack": "^1.0.0 || ^2.0.0 || ^3.0.0" } }, "node_modules/webpack-hot-middleware": { @@ -7752,9 +9013,9 @@ } }, "node_modules/webpack-sources": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", - "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dependencies": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -7771,7 +9032,7 @@ "node_modules/webpack/node_modules/supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", "dependencies": { "has-flag": "^1.0.0" }, @@ -7780,14 +9041,29 @@ } }, "node_modules/weedout": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/weedout/-/weedout-0.1.3.tgz", - "integrity": "sha1-y/KoQsPmWr94WEgN4hZo2M+H0wA=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/weedout/-/weedout-1.0.1.tgz", + "integrity": "sha512-FvqG3/BxYjmNJqPDsHtaoaQAGwa6iJXu6Kxu09WC3nr9ClBz61dGxDSTwc5VPVzT+6CBH1j4MwtUMa9hZXOeIw==", + "engines": { + "node": ">=4" + } }, "node_modules/whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } }, "node_modules/which": { "version": "1.3.1", @@ -7803,12 +9079,12 @@ "node_modules/which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==" }, "node_modules/window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==", "engines": { "node": ">= 0.8.0" } @@ -7816,7 +9092,7 @@ "node_modules/wordwrap": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", "engines": { "node": ">=0.4.0" } @@ -7824,7 +9100,7 @@ "node_modules/wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", "dependencies": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" @@ -7836,7 +9112,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-webpack-plugin": { "version": "4.1.0", @@ -7857,30 +9133,30 @@ "node_modules/xss-filters": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/xss-filters/-/xss-filters-1.2.7.tgz", - "integrity": "sha1-Wfod4gHzby80cNysX1jMwoMLCpo=" + "integrity": "sha512-KzcmYT/f+YzcYrYRqw6mXxd25BEZCxBQnf+uXTopQDIhrmiaLwO+f+yLsIvvNlPhYvgff8g3igqrBxYh9k8NbQ==" }, "node_modules/xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "engines": { "node": ">=0.4" } }, "node_modules/y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" }, "node_modules/yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" }, "node_modules/yargs": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "integrity": "sha512-6/QWTdisjnu5UHUzQGst+UOEuEVwIzFVGBjq3jMTFNs5WJQsH/X6nMURSaScIdF5txylr1Ao9bvbWiKi2yXbwA==", "dependencies": { "camelcase": "^3.0.0", "cliui": "^3.2.0", @@ -7900,47 +9176,882 @@ "node_modules/yargs-parser": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "integrity": "sha512-+QQWqC2xeL0N5/TE+TY6OGEqyNRM+g2/r712PDNYgiCdXYCApXf1vzfmDSLBxfGRwV+moTq/V8FnMI24JCm2Yg==", "dependencies": { "camelcase": "^3.0.0" } + } + }, + "dependencies": { + "@aws-crypto/ie11-detection": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", + "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", + "optional": true, + "requires": { + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + } + } }, - "node_modules/yargs-parser/node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "engines": { - "node": ">=0.10.0" + "@aws-crypto/sha256-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", + "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", + "optional": true, + "requires": { + "@aws-crypto/ie11-detection": "^2.0.0", + "@aws-crypto/sha256-js": "^2.0.0", + "@aws-crypto/supports-web-crypto": "^2.0.0", + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + } } }, - "node_modules/yargs/node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "engines": { - "node": ">=0.10.0" + "@aws-crypto/sha256-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", + "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "optional": true, + "requires": { + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + } } }, - "node_modules/yargs/node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "@aws-crypto/supports-web-crypto": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", + "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", + "optional": true, + "requires": { + "tslib": "^1.11.1" + }, "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + } } - } - }, - "dependencies": { + }, + "@aws-crypto/util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", + "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", + "optional": true, + "requires": { + "@aws-sdk/types": "^3.110.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + } + } + }, + "@aws-sdk/abort-controller": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.193.0.tgz", + "integrity": "sha512-MYPBm5PWyKP+Tq37mKs5wDbyAyVMocF5iYmx738LYXBSj8A1V4LTFrvfd4U16BRC/sM0DYB9fBFJUQ9ISFRVYw==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/client-cognito-identity": { + "version": "3.195.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.195.0.tgz", + "integrity": "sha512-yQFCoGqGcHvyeS3rL5H5L2I6m9XFWMLaK1/iALgYsITfmig0JzlzGH/ubStEiZMsQ8lhdWmUcOyhCK4+Bx9l0w==", + "optional": true, + "requires": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/client-sts": "3.194.0", + "@aws-sdk/config-resolver": "3.193.0", + "@aws-sdk/credential-provider-node": "3.193.0", + "@aws-sdk/fetch-http-handler": "3.193.0", + "@aws-sdk/hash-node": "3.193.0", + "@aws-sdk/invalid-dependency": "3.193.0", + "@aws-sdk/middleware-content-length": "3.193.0", + "@aws-sdk/middleware-endpoint": "3.193.0", + "@aws-sdk/middleware-host-header": "3.193.0", + "@aws-sdk/middleware-logger": "3.193.0", + "@aws-sdk/middleware-recursion-detection": "3.193.0", + "@aws-sdk/middleware-retry": "3.193.0", + "@aws-sdk/middleware-serde": "3.193.0", + "@aws-sdk/middleware-signing": "3.193.0", + "@aws-sdk/middleware-stack": "3.193.0", + "@aws-sdk/middleware-user-agent": "3.193.0", + "@aws-sdk/node-config-provider": "3.193.0", + "@aws-sdk/node-http-handler": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/smithy-client": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/url-parser": "3.193.0", + "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.188.0", + "@aws-sdk/util-defaults-mode-browser": "3.193.0", + "@aws-sdk/util-defaults-mode-node": "3.193.0", + "@aws-sdk/util-endpoints": "3.194.0", + "@aws-sdk/util-user-agent-browser": "3.193.0", + "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.188.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/client-sso": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.193.0.tgz", + "integrity": "sha512-NxDckym95mtimYp9uWRA1lcyJHDyS8OZEaDC+dZ/tt5wGyPoc3ftHZNWDLzZM1PUjzgo+XzjMBVkWMvk/SRSYw==", + "optional": true, + "requires": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.193.0", + "@aws-sdk/fetch-http-handler": "3.193.0", + "@aws-sdk/hash-node": "3.193.0", + "@aws-sdk/invalid-dependency": "3.193.0", + "@aws-sdk/middleware-content-length": "3.193.0", + "@aws-sdk/middleware-host-header": "3.193.0", + "@aws-sdk/middleware-logger": "3.193.0", + "@aws-sdk/middleware-recursion-detection": "3.193.0", + "@aws-sdk/middleware-retry": "3.193.0", + "@aws-sdk/middleware-serde": "3.193.0", + "@aws-sdk/middleware-stack": "3.193.0", + "@aws-sdk/middleware-user-agent": "3.193.0", + "@aws-sdk/node-config-provider": "3.193.0", + "@aws-sdk/node-http-handler": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/smithy-client": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/url-parser": "3.193.0", + "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.188.0", + "@aws-sdk/util-defaults-mode-browser": "3.193.0", + "@aws-sdk/util-defaults-mode-node": "3.193.0", + "@aws-sdk/util-user-agent-browser": "3.193.0", + "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.188.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/client-sts": { + "version": "3.194.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.194.0.tgz", + "integrity": "sha512-duolI7KLvRLMrL0ZpiVvmhaC5stKcNp5tfJ7gUW24tyf+7ImAmk2odSMIgcq54EWQ3XppTKBhEGCjOJ9th7+Qg==", + "optional": true, + "requires": { + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.193.0", + "@aws-sdk/credential-provider-node": "3.193.0", + "@aws-sdk/fetch-http-handler": "3.193.0", + "@aws-sdk/hash-node": "3.193.0", + "@aws-sdk/invalid-dependency": "3.193.0", + "@aws-sdk/middleware-content-length": "3.193.0", + "@aws-sdk/middleware-endpoint": "3.193.0", + "@aws-sdk/middleware-host-header": "3.193.0", + "@aws-sdk/middleware-logger": "3.193.0", + "@aws-sdk/middleware-recursion-detection": "3.193.0", + "@aws-sdk/middleware-retry": "3.193.0", + "@aws-sdk/middleware-sdk-sts": "3.193.0", + "@aws-sdk/middleware-serde": "3.193.0", + "@aws-sdk/middleware-signing": "3.193.0", + "@aws-sdk/middleware-stack": "3.193.0", + "@aws-sdk/middleware-user-agent": "3.193.0", + "@aws-sdk/node-config-provider": "3.193.0", + "@aws-sdk/node-http-handler": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/smithy-client": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/url-parser": "3.193.0", + "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.188.0", + "@aws-sdk/util-defaults-mode-browser": "3.193.0", + "@aws-sdk/util-defaults-mode-node": "3.193.0", + "@aws-sdk/util-endpoints": "3.194.0", + "@aws-sdk/util-user-agent-browser": "3.193.0", + "@aws-sdk/util-user-agent-node": "3.193.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.188.0", + "fast-xml-parser": "4.0.11", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/config-resolver": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.193.0.tgz", + "integrity": "sha512-HIjuv2A1glgkXy9g/A8bfsiz3jTFaRbwGZheoHFZod6iEQQEbbeAsBe3u2AZyzOrVLgs8lOvBtgU8XKSJWjDkw==", + "optional": true, + "requires": { + "@aws-sdk/signature-v4": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-config-provider": "3.188.0", + "@aws-sdk/util-middleware": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-cognito-identity": { + "version": "3.195.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.195.0.tgz", + "integrity": "sha512-nlIk6kx7745gnKybvu6yck+OHrmtqFxaxob6zLelofDEHJGbAkN+CAeTy3FnN7qVNtz9hC42+HOqz9eCRjyZVQ==", + "optional": true, + "requires": { + "@aws-sdk/client-cognito-identity": "3.195.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-env": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.193.0.tgz", + "integrity": "sha512-pRqZoIaqCdWB4JJdR6DqDn3u+CwKJchwiCPnRtChwC8KXCMkT4njq9J1bWG3imYeTxP/G06O1PDONEuD4pPtNQ==", + "optional": true, + "requires": { + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-imds": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.193.0.tgz", + "integrity": "sha512-jC7uT7uVpO/iitz49toHMGFKXQ2igWQQG2SKirREqDRaz5HSXwEP1V3rcOlNNyGIBPMggDjZnxYgJHqBXSq9Ag==", + "optional": true, + "requires": { + "@aws-sdk/node-config-provider": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/url-parser": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-ini": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.193.0.tgz", + "integrity": "sha512-JQ4tyeLjwsa9Jo95yTrLgFFspAP5GwaZDqDJArG98waKDzxhl7FeBs+N32+oux6WB7RKRB0svOK02nnoWnrjVg==", + "optional": true, + "requires": { + "@aws-sdk/credential-provider-env": "3.193.0", + "@aws-sdk/credential-provider-imds": "3.193.0", + "@aws-sdk/credential-provider-sso": "3.193.0", + "@aws-sdk/credential-provider-web-identity": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/shared-ini-file-loader": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-node": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.193.0.tgz", + "integrity": "sha512-2E8yWVw1vLb6IumZxA0w4mes759YSCTHLdfp5nMBpn+d+Otz26mczKSe7xr7AaVONq+/sVPUl2GfTFTWM4B0eA==", + "optional": true, + "requires": { + "@aws-sdk/credential-provider-env": "3.193.0", + "@aws-sdk/credential-provider-imds": "3.193.0", + "@aws-sdk/credential-provider-ini": "3.193.0", + "@aws-sdk/credential-provider-process": "3.193.0", + "@aws-sdk/credential-provider-sso": "3.193.0", + "@aws-sdk/credential-provider-web-identity": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/shared-ini-file-loader": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-process": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.193.0.tgz", + "integrity": "sha512-zpXxtQzQqkaUuFqmHW9dSkh9p/1k+XNKlwEkG8FTwAJNUWmy2ZMJv+8NTVn4s4vaRu7xJ1er9chspYr7mvxHlA==", + "optional": true, + "requires": { + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/shared-ini-file-loader": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-sso": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.193.0.tgz", + "integrity": "sha512-jBFWreNFZUgnGyCkpxDGf+LrXTuzEfjYkJYti1HnnsUF4vF0PsVZS6/FQi1mDl3pqorrtgknI59ENnAhKVxtBg==", + "optional": true, + "requires": { + "@aws-sdk/client-sso": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/shared-ini-file-loader": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-provider-web-identity": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.193.0.tgz", + "integrity": "sha512-MIQY9KwLCBnRyIt7an4EtMrFQZz2HC1E8vQDdKVzmeQBBePhW61fnX9XDP9bfc3Ypg1NggLG00KBPEC88twLFg==", + "optional": true, + "requires": { + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/credential-providers": { + "version": "3.195.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.195.0.tgz", + "integrity": "sha512-Fu8k8tUz+Z14+2ozC+lrDZDIOHOlhcKREpvSHfZYD9JLczivq2KuZrZsIVCCPbIxS1Wo1QhzkvYEYNN7ELm+Ig==", + "optional": true, + "requires": { + "@aws-sdk/client-cognito-identity": "3.195.0", + "@aws-sdk/client-sso": "3.193.0", + "@aws-sdk/client-sts": "3.194.0", + "@aws-sdk/credential-provider-cognito-identity": "3.195.0", + "@aws-sdk/credential-provider-env": "3.193.0", + "@aws-sdk/credential-provider-imds": "3.193.0", + "@aws-sdk/credential-provider-ini": "3.193.0", + "@aws-sdk/credential-provider-node": "3.193.0", + "@aws-sdk/credential-provider-process": "3.193.0", + "@aws-sdk/credential-provider-sso": "3.193.0", + "@aws-sdk/credential-provider-web-identity": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/shared-ini-file-loader": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/fetch-http-handler": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.193.0.tgz", + "integrity": "sha512-UhIS2LtCK9hqBzYVon6BI8WebJW1KC0GGIL/Gse5bqzU9iAGgFLAe66qg9k+/h3Jjc5LNAYzqXNVizMwn7689Q==", + "optional": true, + "requires": { + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/querystring-builder": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-base64-browser": "3.188.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/hash-node": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.193.0.tgz", + "integrity": "sha512-O2SLPVBjrCUo+4ouAdRUoHBYsyurO9LcjNZNYD7YQOotBTbVFA3cx7kTZu+K4B6kX7FDaGbqbE1C/T1/eg/r+w==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-buffer-from": "3.188.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/invalid-dependency": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.193.0.tgz", + "integrity": "sha512-54DCknekLwJAI1os76XJ8XCzfAH7BGkBGtlWk5WCNkZTfj3rf5RUiXz4uoKUMWE1rZmyMDoDDS1PBo+yTVKW5w==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/is-array-buffer": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.188.0.tgz", + "integrity": "sha512-n69N4zJZCNd87Rf4NzufPzhactUeM877Y0Tp/F3KiHqGeTnVjYUa4Lv1vLBjqtfjYb2HWT3NKlYn5yzrhaEwiQ==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-content-length": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.193.0.tgz", + "integrity": "sha512-em0Sqo7O7DFOcVXU460pbcYuIjblDTZqK2YE62nQ0T+5Nbj+MSjuoite+rRRdRww9VqBkUROGKON45bUNjogtQ==", + "optional": true, + "requires": { + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-endpoint": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.193.0.tgz", + "integrity": "sha512-Inbpt7jcHGvzF7UOJOCxx9wih0+eAQYERikokidWJa7M405EJpVYq1mGbeOcQUPANU3uWF1AObmUUFhbkriHQw==", + "optional": true, + "requires": { + "@aws-sdk/middleware-serde": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/signature-v4": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/url-parser": "3.193.0", + "@aws-sdk/util-config-provider": "3.188.0", + "@aws-sdk/util-middleware": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-host-header": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.193.0.tgz", + "integrity": "sha512-aegzj5oRWd//lmfmkzRmgG2b4l3140v8Ey4QkqCxcowvAEX5a7rh23yuKaGtmiePwv2RQalCKz+tN6JXCm8g6Q==", + "optional": true, + "requires": { + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-logger": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.193.0.tgz", + "integrity": "sha512-D/h1pU5tAcyJpJ8ZeD1Sta0S9QZPcxERYRBiJdEl8VUrYwfy3Cl1WJedVOmd5nG73ZLRSyHeXHewb/ohge3yKQ==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-recursion-detection": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.193.0.tgz", + "integrity": "sha512-fMWP76Q1GOb/9OzS1arizm6Dbfo02DPZ6xp7OoAN3PS6ybH3Eb47s/gP3jzgBPAITQacFj4St/4a06YWYrN3NA==", + "optional": true, + "requires": { + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-retry": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.193.0.tgz", + "integrity": "sha512-zTQkHLBQBJi6ns655WYcYLyLPc1tgbEYU080Oc8zlveLUqoDn1ogkcmNhG7XMeQuBvWZBYN7J3/wFaXlDzeCKg==", + "optional": true, + "requires": { + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/service-error-classification": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-middleware": "3.193.0", + "tslib": "^2.3.1", + "uuid": "^8.3.2" + } + }, + "@aws-sdk/middleware-sdk-sts": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.193.0.tgz", + "integrity": "sha512-TafiDkeflUsnbNa89TLkDnAiRRp1gAaZLDAjt75AzriRKZnhtFfYUXWb+qAuN50T+CkJ/gZI9LHDZL5ogz/HxQ==", + "optional": true, + "requires": { + "@aws-sdk/middleware-signing": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/signature-v4": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-serde": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.193.0.tgz", + "integrity": "sha512-dH93EJYVztY+ZDPzSMRi9LfAZfKO+luH62raNy49hlNa4jiyE1Tc/+qwlmOEpfGsrtcZ9TgsON1uFF9sgBXXaA==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-signing": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.193.0.tgz", + "integrity": "sha512-obBoELGPf5ikvHYZwbzllLeuODiokdDfe92Ve2ufeOa/d8+xsmbqNzNdCTLNNTmr1tEIaEE7ngZVTOiHqAVhyw==", + "optional": true, + "requires": { + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/signature-v4": "3.193.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-middleware": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-stack": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.193.0.tgz", + "integrity": "sha512-Ix5d7gE6bZwFNIVf0dGnjYuymz1gjitNoAZDPpv1nEZlUMek/jcno5lmzWFzUZXY/azpbIyaPwq/wm/c69au5A==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-user-agent": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.193.0.tgz", + "integrity": "sha512-0vT6F9NwYQK7ARUUJeHTUIUPnupsO3IbmjHSi1+clkssFlJm2UfmSGeafiWe4AYH3anATTvZEtcxX5DZT/ExbA==", + "optional": true, + "requires": { + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/node-config-provider": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.193.0.tgz", + "integrity": "sha512-5RLdjQLH69ISRG8TX9klSLOpEySXxj+z9E9Em39HRvw0/rDcd8poCTADvjYIOqRVvMka0z/hm+elvUTIVn/DRw==", + "optional": true, + "requires": { + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/shared-ini-file-loader": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/node-http-handler": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.193.0.tgz", + "integrity": "sha512-DP4BmFw64HOShgpAPEEMZedVnRmKKjHOwMEoXcnNlAkMXnYUFHiKvudYq87Q2AnSlT6OHkyMviB61gEvIk73dA==", + "optional": true, + "requires": { + "@aws-sdk/abort-controller": "3.193.0", + "@aws-sdk/protocol-http": "3.193.0", + "@aws-sdk/querystring-builder": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/property-provider": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.193.0.tgz", + "integrity": "sha512-IaDR/PdZjKlAeSq2E/6u6nkPsZF9wvhHZckwH7uumq4ocWsWXFzaT+hKpV4YZPHx9n+K2YV4Gn/bDedpz99W1Q==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/protocol-http": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.193.0.tgz", + "integrity": "sha512-r0wbTwFJyXq0uiImI6giqG3g/RO1N/y4wwPA7qr7OC+KXJ0NkyVxIf6e7Vx8h06aM1ATtngbwJaMP59kVCp85A==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/querystring-builder": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.193.0.tgz", + "integrity": "sha512-PRaK6649iw0UO45UjUoiUzFcOKXZb8pMjjFJpqALpEvdZT3twxqhlPXujT7GWPKrSwO4uPLNnyYEtPY82wx2vw==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-uri-escape": "3.188.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/querystring-parser": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.193.0.tgz", + "integrity": "sha512-dGEPCe8SK4/td5dSpiaEI3SvT5eHXrbJWbLGyD4FL3n7WCGMy2xVWAB/yrgzD0GdLDjDa8L5vLVz6yT1P9i+hA==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/service-error-classification": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.193.0.tgz", + "integrity": "sha512-bPnXVu8ErE1RfWVVQKc2TE7EuoImUi4dSPW9g80fGRzJdQNwXb636C+7OUuWvSDzmFwuBYqZza8GZjVd+rz2zQ==", + "optional": true + }, + "@aws-sdk/shared-ini-file-loader": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.193.0.tgz", + "integrity": "sha512-hnvZup8RSpFXfah7Rrn6+lQJnAOCO+OiDJ2R/iMgZQh475GRQpLbu3cPhCOkjB14vVLygJtW8trK/0+zKq93bQ==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/signature-v4": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.193.0.tgz", + "integrity": "sha512-JEqqOB8wQZz6g1ERNUOIBFDFt8OJtz5G5Uh1CdkS5W66gyWnJEz/dE1hA2VTqqQwHGGEsIEV/hlzruU1lXsvFA==", + "optional": true, + "requires": { + "@aws-sdk/is-array-buffer": "3.188.0", + "@aws-sdk/types": "3.193.0", + "@aws-sdk/util-hex-encoding": "3.188.0", + "@aws-sdk/util-middleware": "3.193.0", + "@aws-sdk/util-uri-escape": "3.188.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/smithy-client": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.193.0.tgz", + "integrity": "sha512-BY0jhfW76vyXr7ODMaKO3eyS98RSrZgOMl6DTQV9sk7eFP/MPVlG7p7nfX/CDIgPBIO1z0A0i2CVIzYur9uGgQ==", + "optional": true, + "requires": { + "@aws-sdk/middleware-stack": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/types": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.193.0.tgz", + "integrity": "sha512-LV/wcPolRZKORrcHwkH59QMCkiDR5sM+9ZtuTxvyUGG2QFW/kjoxs08fUF10OWNJMrotBI+czDc5QJRgN8BlAw==", + "optional": true + }, + "@aws-sdk/url-parser": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.193.0.tgz", + "integrity": "sha512-hwD1koJlOu2a6GvaSbNbdo7I6a3tmrsNTZr8bCjAcbqpc5pDThcpnl/Uaz3zHmMPs92U8I6BvWoK6pH8By06qw==", + "optional": true, + "requires": { + "@aws-sdk/querystring-parser": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-base64-browser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.188.0.tgz", + "integrity": "sha512-qlH+5NZBLiyKziL335BEPedYxX6j+p7KFRWXvDQox9S+s+gLCayednpK+fteOhBenCcR9fUZOVuAPScy1I8qCg==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-base64-node": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.188.0.tgz", + "integrity": "sha512-r1dccRsRjKq+OhVRUfqFiW3sGgZBjHbMeHLbrAs9jrOjU2PTQ8PSzAXLvX/9lmp7YjmX17Qvlsg0NCr1tbB9OA==", + "optional": true, + "requires": { + "@aws-sdk/util-buffer-from": "3.188.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-body-length-browser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz", + "integrity": "sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-body-length-node": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.188.0.tgz", + "integrity": "sha512-XwqP3vxk60MKp4YDdvDeCD6BPOiG2e+/Ou4AofZOy5/toB6NKz2pFNibQIUg2+jc7mPMnGnvOW3MQEgSJ+gu/Q==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-buffer-from": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.188.0.tgz", + "integrity": "sha512-NX1WXZ8TH20IZb4jPFT2CnLKSqZWddGxtfiWxD9M47YOtq/SSQeR82fhqqVjJn4P8w2F5E28f+Du4ntg/sGcxA==", + "optional": true, + "requires": { + "@aws-sdk/is-array-buffer": "3.188.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-config-provider": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.188.0.tgz", + "integrity": "sha512-LBA7tLbi7v4uvbOJhSnjJrxbcRifKK/1ZVK94JTV2MNSCCyNkFotyEI5UWDl10YKriTIUyf7o5cakpiDZ3O4xg==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-defaults-mode-browser": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.193.0.tgz", + "integrity": "sha512-9riQKFrSJcsNAMnPA/3ltpSxNykeO20klE/UKjxEoD7UWjxLwsPK22UJjFwMRaHoAFcZD0LU/SgPxbC0ktCYCg==", + "optional": true, + "requires": { + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "bowser": "^2.11.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-defaults-mode-node": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.193.0.tgz", + "integrity": "sha512-occQmckvPRiM4YQIZnulfKKKjykGKWloa5ByGC5gOEGlyeP9zJpfs4zc/M2kArTAt+d2r3wkBtsKe5yKSlVEhA==", + "optional": true, + "requires": { + "@aws-sdk/config-resolver": "3.193.0", + "@aws-sdk/credential-provider-imds": "3.193.0", + "@aws-sdk/node-config-provider": "3.193.0", + "@aws-sdk/property-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-endpoints": { + "version": "3.194.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.194.0.tgz", + "integrity": "sha512-G+DGC3Zx0GnQpt4DpRmVcCfliNxf3nwBtZ3JIdCptkUZgDEpLYzOfjbf3bUyPTQh+oGHeqfnVAF+rFjTnYql3A==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-hex-encoding": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.188.0.tgz", + "integrity": "sha512-QyWovTtjQ2RYxqVM+STPh65owSqzuXURnfoof778spyX4iQ4z46wOge1YV2ZtwS8w5LWd9eeVvDrLu5POPYOnA==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-locate-window": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.188.0.tgz", + "integrity": "sha512-SxobBVLZkkLSawTCfeQnhVX3Azm9O+C2dngZVe1+BqtF8+retUbVTs7OfYeWBlawVkULKF2e781lTzEHBBjCzw==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-middleware": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.193.0.tgz", + "integrity": "sha512-+aC6pmkcGgpxaMWCH/FXTsGWl2W342oQGs1OYKGi+W8z9UguXrqamWjdkdMqgunvj9qOEG2KBMKz1FWFFZlUyA==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-uri-escape": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.188.0.tgz", + "integrity": "sha512-4Y6AYZMT483Tiuq8dxz5WHIiPNdSFPGrl6tRTo2Oi2FcwypwmFhqgEGcqxeXDUJktvaCBxeA08DLr/AemVhPCg==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-user-agent-browser": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.193.0.tgz", + "integrity": "sha512-1EkGYsUtOMEyJG/UBIR4PtmO3lVjKNoUImoMpLtEucoGbWz5RG9zFSwLevjFyFs5roUBFlxkSpTMo8xQ3aRzQg==", + "optional": true, + "requires": { + "@aws-sdk/types": "3.193.0", + "bowser": "^2.11.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-user-agent-node": { + "version": "3.193.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.193.0.tgz", + "integrity": "sha512-G/2/1cSgsxVtREAm8Eq8Duib5PXzXknFRHuDpAxJ5++lsJMXoYMReS278KgV54cojOkAVfcODDTqmY3Av0WHhQ==", + "optional": true, + "requires": { + "@aws-sdk/node-config-provider": "3.193.0", + "@aws-sdk/types": "3.193.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-utf8-browser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.188.0.tgz", + "integrity": "sha512-jt627x0+jE+Ydr9NwkFstg3cUvgWh56qdaqAMDsqgRlKD21md/6G226z/Qxl7lb1VEW2LlmCx43ai/37Qwcj2Q==", + "optional": true, + "requires": { + "tslib": "^2.3.1" + } + }, + "@aws-sdk/util-utf8-node": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.188.0.tgz", + "integrity": "sha512-hCgP4+C0Lekjpjt2zFJ2R/iHes5sBGljXa5bScOFAEkRUc0Qw0VNgTv7LpEbIOAwGmqyxBoCwBW0YHPW1DfmYQ==", + "optional": true, + "requires": { + "@aws-sdk/util-buffer-from": "3.188.0", + "tslib": "^2.3.1" + } + }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-rc.1.tgz", - "integrity": "sha512-GOV2UExs9gAvSrZF4rcgocXXeLJplq2kL2AsCrn6DmGwMUEfo/KB7FhedN3X6cVh0gOqqKkVKXrz3Li1wQ84xQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "requires": { - "@babel/types": "7.0.0-rc.1" + "@babel/types": "^7.18.6" } }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, "@babel/runtime": { "version": "7.0.0-beta.42", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.42.tgz", @@ -7948,41 +10059,67 @@ "requires": { "core-js": "^2.5.3", "regenerator-runtime": "^0.11.1" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } } }, "@babel/types": { - "version": "7.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-rc.1.tgz", - "integrity": "sha512-MBwO1JQKin9BwKTGydrYe4VDJbStCUy35IhJzeZt3FByOdx/q3CYaqMRrH70qVD2RA7+Xk8e3RN0mzKZkYBYuQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", + "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } }, + "@types/node": { + "version": "18.11.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.5.tgz", + "integrity": "sha512-3JRwhbjI+cHLAkUorhf8RnqUbFXajvzX4q6fMn5JwkgtuwfYtRQYI3u4V92vI6NJuTsbBQWWh3RZjFsuevyMGQ==" + }, + "@types/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==" + }, + "@types/whatwg-url": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", + "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", + "requires": { + "@types/node": "*", + "@types/webidl-conversions": "*" + } + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" } }, "acorn": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", - "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==" + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" }, "acorn-dynamic-import": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "integrity": "sha512-GKp5tQ8h0KMPWIYGRHHXI1s5tUpZixZ3IHF2jAu42wSCf6In/G873s6/y4DdKdhWvzhu1T6mE1JgvnhAKqyYYQ==", "requires": { "acorn": "^4.0.3" }, @@ -7990,14 +10127,14 @@ "acorn": { "version": "4.0.13", "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + "integrity": "sha512-fu2ygVGuMmlzG8ZeRJ0bvR41nsAkxxhbyk8bZ1SS521Z7vmgJFTQQlfz/Mp/nJexGBz+v8sC9bM6+lNgskt4Ug==" } } }, "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "integrity": "sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==", "requires": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", @@ -8008,12 +10145,13 @@ "ajv-keywords": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=" + "integrity": "sha512-ZFztHzVRdGLAzJmpUT9LNFLe1YiVOEylcaNpEutM26PVTCtOD919IMfD01CgbRouB42Dd9atjx1HseC15DgOZA==", + "requires": {} }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", "requires": { "kind-of": "^3.0.2", "longest": "^1.0.1", @@ -8023,66 +10161,70 @@ "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==" }, "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + "integrity": "sha512-JoAxEa1DfP9m2xfB/y2r/aKcwXNlltr4+0QSBC4TrLfcxyvepX2Pv0t/xpgGV5bGsDzCYV8SzjWgyCW0T9yYbA==" }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==" }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==" }, "any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" }, "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "optional": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "optional": true }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "optional": true }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "optional": true }, "array-differ": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" + "integrity": "sha512-LeZY+DZDRnvP7eMuQ6LHfCzUGxAAIViUBliK24P3hWXL6y4SortgR6Nim6xrkfSLlmH0+k+9NYNwVC2s53ZrYQ==" }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", "requires": { "array-uniq": "^1.0.1" } @@ -8090,50 +10232,53 @@ "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==" }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "optional": true }, "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "requires": { "bn.js": "^4.0.0", "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "requires": { + "object-assign": "^4.1.1", "util": "0.10.3" }, "dependencies": { "inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==" }, "util": { "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", "requires": { "inherits": "2.0.1" } @@ -8143,39 +10288,48 @@ "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "optional": true }, "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "requires": { - "lodash": "^4.14.0" + "lodash": "^4.17.14" } }, "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "atob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "optional": true }, "axios": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.16.2.tgz", - "integrity": "sha1-uk+S8XFn37q0CYN4VFS5rBScPG0=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", + "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", "requires": { - "follow-redirects": "^1.2.3", - "is-buffer": "^1.1.5" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", "requires": { "chalk": "^1.1.3", "esutils": "^2.0.2", @@ -8185,7 +10339,7 @@ "babel-core": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.25.0.tgz", - "integrity": "sha1-fdQrBGPHQunVKW3rPsZ6kyLa1yk=", + "integrity": "sha512-wne6XXFyKIfZSLLXN17Zun5aw8x2WZY5ork2NSa5t0UWGxK2EHsJlPd8W1rQQDgpG0tsvEHNdaqmvygEI7Qmmw==", "requires": { "babel-code-frame": "^6.22.0", "babel-generator": "^6.25.0", @@ -8211,7 +10365,7 @@ "babel-generator": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.25.0.tgz", - "integrity": "sha1-M6GvcNXyiQrrRlpKd5PB32qeqfw=", + "integrity": "sha512-mfylq1PJtHEQBne/B45jQoveo7Vc1xKDM3/3ihNKrag8eym+TeoVl/xJsNtvGPBTlcc076zU0ycHV9plQeDYnw==", "requires": { "babel-messages": "^6.23.0", "babel-runtime": "^6.22.0", @@ -8226,7 +10380,7 @@ "babel-helper-builder-binary-assignment-operator-visitor": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "integrity": "sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q==", "requires": { "babel-helper-explode-assignable-expression": "^6.24.1", "babel-runtime": "^6.22.0", @@ -8236,17 +10390,33 @@ "babel-helper-builder-react-jsx": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", - "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", + "integrity": "sha512-02I9jDjnVEuGy2BR3LRm9nPRb/+Ja0pvZVLr1eI5TYAA/dB0Xoc+WBo50+aDfhGDLhlBY1+QURjn9uvcFd8gzg==", "requires": { "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", "esutils": "^2.0.2" + }, + "dependencies": { + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } } }, "babel-helper-call-delegate": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "integrity": "sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ==", "requires": { "babel-helper-hoist-variables": "^6.24.1", "babel-runtime": "^6.22.0", @@ -8257,18 +10427,34 @@ "babel-helper-define-map": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "integrity": "sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA==", "requires": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", "lodash": "^4.17.4" + }, + "dependencies": { + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } } }, "babel-helper-explode-assignable-expression": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "integrity": "sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ==", "requires": { "babel-runtime": "^6.22.0", "babel-traverse": "^6.24.1", @@ -8278,7 +10464,7 @@ "babel-helper-function-name": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "integrity": "sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q==", "requires": { "babel-helper-get-function-arity": "^6.24.1", "babel-runtime": "^6.22.0", @@ -8290,7 +10476,7 @@ "babel-helper-get-function-arity": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "integrity": "sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng==", "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -8299,7 +10485,7 @@ "babel-helper-hoist-variables": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "integrity": "sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw==", "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -8308,7 +10494,7 @@ "babel-helper-optimise-call-expression": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "integrity": "sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA==", "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -8317,17 +10503,33 @@ "babel-helper-regex": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "integrity": "sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg==", "requires": { "babel-runtime": "^6.26.0", "babel-types": "^6.26.0", "lodash": "^4.17.4" + }, + "dependencies": { + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } } }, "babel-helper-remap-async-to-generator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "integrity": "sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg==", "requires": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.22.0", @@ -8339,7 +10541,7 @@ "babel-helper-replace-supers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "integrity": "sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw==", "requires": { "babel-helper-optimise-call-expression": "^6.24.1", "babel-messages": "^6.23.0", @@ -8352,7 +10554,7 @@ "babel-helpers": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", "requires": { "babel-runtime": "^6.22.0", "babel-template": "^6.24.1" @@ -8361,7 +10563,7 @@ "babel-loader": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.1.tgz", - "integrity": "sha1-uHE0yLEuPkwqlOBUYIW8aAorhIg=", + "integrity": "sha512-iVA4o7+tesSU5PfqpDuQJubJDeAW9zYiY+XalnNzLZ3ubR7a3VtBGFQBS7kspblIYaRpgeyaSqx7nWhNcWcmHg==", "requires": { "find-cache-dir": "^1.0.0", "loader-utils": "^1.0.2", @@ -8371,7 +10573,7 @@ "babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", "requires": { "babel-runtime": "^6.22.0" } @@ -8379,7 +10581,7 @@ "babel-plugin-check-es2015-constants": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "integrity": "sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA==", "requires": { "babel-runtime": "^6.22.0" } @@ -8387,7 +10589,7 @@ "babel-plugin-module-resolver": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-2.6.2.tgz", - "integrity": "sha1-ZoRciFWGXdf9TVJWvpMnLj0WcB0=", + "integrity": "sha512-cs1fvzUuWl5cwVYT0sywRKQ157cN4zoJ6uht0oZWhJMimzDrjnYBDzsLoyWSs0YQWUXhxRioSbf4ybpkDmK/Rw==", "requires": { "find-babel-config": "^1.0.1", "glob": "^7.1.1", @@ -8397,7 +10599,7 @@ "babel-plugin-polished": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-polished/-/babel-plugin-polished-1.1.0.tgz", - "integrity": "sha1-f2kCq46cIPwUy1PVlt2FiIDjV9M=", + "integrity": "sha512-7dwGtC6H1D2BMAzDTf/6rsKXOI0vrDFrOFTTNr0gAwOjzDqWBoy0xvunt+utfHEiWXDh08Pz65nm1O84Rvq21A==", "requires": { "polished": "^1.0.0" } @@ -8405,62 +10607,64 @@ "babel-plugin-react-require": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-react-require/-/babel-plugin-react-require-3.0.0.tgz", - "integrity": "sha1-Lk57RJa5OmVKHIAEInbeTk7rIOM=" + "integrity": "sha512-mZV3ycvtB4mfVhmScbU4CjMfBgoQAlsGu/vQw292juPSgvezTmBAke+V85ODAVNCM68r2Qa6dwu72Zcl4cTIbw==" }, "babel-plugin-styled-components": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-1.5.1.tgz", - "integrity": "sha1-MdvraW0TVNFYXmDWbHkF9eR0r80=", - "requires": { - "@babel/helper-annotate-as-pure": "^7.0.0-beta.37", - "babel-types": "^6.26.0", - "stylis": "^3.0.0" + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.7.tgz", + "integrity": "sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-module-imports": "^7.16.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "lodash": "^4.17.11", + "picomatch": "^2.3.0" } }, "babel-plugin-syntax-async-functions": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" + "integrity": "sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw==" }, "babel-plugin-syntax-class-properties": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" + "integrity": "sha512-chI3Rt9T1AbrQD1s+vxw3KcwC9yHtF621/MacuItITfZX344uhQoANjpoSJZleAmW2tjlolqB/f+h7jIqXa7pA==" }, "babel-plugin-syntax-dynamic-import": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" + "integrity": "sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA==" }, "babel-plugin-syntax-exponentiation-operator": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" + "integrity": "sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ==" }, "babel-plugin-syntax-flow": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=" + "integrity": "sha512-HbTDIoG1A1op7Tl/wIFQPULIBA61tsJ8Ntq2FAhLwuijrzosM/92kAfgU1Q3Kc7DH/cprJg5vDfuTY4QUL4rDA==" }, "babel-plugin-syntax-jsx": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" }, "babel-plugin-syntax-object-rest-spread": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" + "integrity": "sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==" }, "babel-plugin-syntax-trailing-function-commas": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" + "integrity": "sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ==" }, "babel-plugin-transform-async-to-generator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "integrity": "sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw==", "requires": { "babel-helper-remap-async-to-generator": "^6.24.1", "babel-plugin-syntax-async-functions": "^6.8.0", @@ -8470,7 +10674,7 @@ "babel-plugin-transform-class-properties": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "integrity": "sha512-n4jtBA3OYBdvG5PRMKsMXJXHfLYw/ZOmtxCLOOwz6Ro5XlrColkStLnz1AS1L2yfPA9BKJ1ZNlmVCLjAL9DSIg==", "requires": { "babel-helper-function-name": "^6.24.1", "babel-plugin-syntax-class-properties": "^6.8.0", @@ -8481,7 +10685,7 @@ "babel-plugin-transform-es2015-arrow-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "integrity": "sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg==", "requires": { "babel-runtime": "^6.22.0" } @@ -8489,7 +10693,7 @@ "babel-plugin-transform-es2015-block-scoped-functions": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "integrity": "sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A==", "requires": { "babel-runtime": "^6.22.0" } @@ -8497,7 +10701,7 @@ "babel-plugin-transform-es2015-block-scoping": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "integrity": "sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw==", "requires": { "babel-runtime": "^6.26.0", "babel-template": "^6.26.0", @@ -8506,10 +10710,19 @@ "lodash": "^4.17.4" }, "dependencies": { + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, "babel-template": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", "requires": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", @@ -8517,13 +10730,18 @@ "babylon": "^6.18.0", "lodash": "^4.17.4" } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" } } }, "babel-plugin-transform-es2015-classes": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "integrity": "sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag==", "requires": { "babel-helper-define-map": "^6.24.1", "babel-helper-function-name": "^6.24.1", @@ -8539,7 +10757,7 @@ "babel-plugin-transform-es2015-computed-properties": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "integrity": "sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw==", "requires": { "babel-runtime": "^6.22.0", "babel-template": "^6.24.1" @@ -8548,7 +10766,7 @@ "babel-plugin-transform-es2015-destructuring": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "integrity": "sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA==", "requires": { "babel-runtime": "^6.22.0" } @@ -8556,7 +10774,7 @@ "babel-plugin-transform-es2015-duplicate-keys": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "integrity": "sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug==", "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -8565,7 +10783,7 @@ "babel-plugin-transform-es2015-for-of": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "integrity": "sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw==", "requires": { "babel-runtime": "^6.22.0" } @@ -8573,7 +10791,7 @@ "babel-plugin-transform-es2015-function-name": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "integrity": "sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg==", "requires": { "babel-helper-function-name": "^6.24.1", "babel-runtime": "^6.22.0", @@ -8583,7 +10801,7 @@ "babel-plugin-transform-es2015-literals": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "integrity": "sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ==", "requires": { "babel-runtime": "^6.22.0" } @@ -8591,7 +10809,7 @@ "babel-plugin-transform-es2015-modules-amd": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "integrity": "sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA==", "requires": { "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", "babel-runtime": "^6.22.0", @@ -8601,7 +10819,7 @@ "babel-plugin-transform-es2015-modules-commonjs": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", - "integrity": "sha1-0+MQtA72ZKNmIiAAl8bUQCmPK/4=", + "integrity": "sha512-nVZMj02WXtBhlY+DKxrDhCo6uD0TSwvLXEq9NFxR9ERBfyQEEPi2CgWLnwJKn5otObFTm2u0j+LPPogfCMZeTA==", "requires": { "babel-plugin-transform-strict-mode": "^6.24.1", "babel-runtime": "^6.22.0", @@ -8612,7 +10830,7 @@ "babel-plugin-transform-es2015-modules-systemjs": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "integrity": "sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg==", "requires": { "babel-helper-hoist-variables": "^6.24.1", "babel-runtime": "^6.22.0", @@ -8622,7 +10840,7 @@ "babel-plugin-transform-es2015-modules-umd": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "integrity": "sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw==", "requires": { "babel-plugin-transform-es2015-modules-amd": "^6.24.1", "babel-runtime": "^6.22.0", @@ -8632,7 +10850,7 @@ "babel-plugin-transform-es2015-object-super": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "integrity": "sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA==", "requires": { "babel-helper-replace-supers": "^6.24.1", "babel-runtime": "^6.22.0" @@ -8641,7 +10859,7 @@ "babel-plugin-transform-es2015-parameters": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "integrity": "sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ==", "requires": { "babel-helper-call-delegate": "^6.24.1", "babel-helper-get-function-arity": "^6.24.1", @@ -8654,7 +10872,7 @@ "babel-plugin-transform-es2015-shorthand-properties": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "integrity": "sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw==", "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -8663,7 +10881,7 @@ "babel-plugin-transform-es2015-spread": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "integrity": "sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg==", "requires": { "babel-runtime": "^6.22.0" } @@ -8671,7 +10889,7 @@ "babel-plugin-transform-es2015-sticky-regex": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "integrity": "sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ==", "requires": { "babel-helper-regex": "^6.24.1", "babel-runtime": "^6.22.0", @@ -8681,7 +10899,7 @@ "babel-plugin-transform-es2015-template-literals": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "integrity": "sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg==", "requires": { "babel-runtime": "^6.22.0" } @@ -8689,7 +10907,7 @@ "babel-plugin-transform-es2015-typeof-symbol": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "integrity": "sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw==", "requires": { "babel-runtime": "^6.22.0" } @@ -8697,7 +10915,7 @@ "babel-plugin-transform-es2015-unicode-regex": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "integrity": "sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ==", "requires": { "babel-helper-regex": "^6.24.1", "babel-runtime": "^6.22.0", @@ -8707,7 +10925,7 @@ "babel-plugin-transform-exponentiation-operator": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "integrity": "sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ==", "requires": { "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", "babel-plugin-syntax-exponentiation-operator": "^6.8.0", @@ -8717,7 +10935,7 @@ "babel-plugin-transform-flow-strip-types": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "integrity": "sha512-TxIM0ZWNw9oYsoTthL3lvAK3+eTujzktoXJg4ubGvICGbVuXVYv5hHv0XXpz8fbqlJaGYY4q5SVzaSmsg3t4Fg==", "requires": { "babel-plugin-syntax-flow": "^6.18.0", "babel-runtime": "^6.22.0" @@ -8726,7 +10944,7 @@ "babel-plugin-transform-object-rest-spread": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.22.0.tgz", - "integrity": "sha1-HUGbVeaNLk9kpf8zc71n1zyOg7w=", + "integrity": "sha512-+MlUsJyxDn93ukFf3fXLvT5n5kIt0j7p8kOMKBZYbCEBpdoTmiG0c6/qKtV14QKCk86PCwqQdV1+wdox/ZhXjQ==", "requires": { "babel-plugin-syntax-object-rest-spread": "^6.8.0", "babel-runtime": "^6.22.0" @@ -8735,7 +10953,7 @@ "babel-plugin-transform-react-display-name": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "integrity": "sha512-QLYkLiZeeED2PKd4LuXGg5y9fCgPB5ohF8olWUuETE2ryHNRqqnXlEVP7RPuef89+HTfd3syptMGVHeoAu0Wig==", "requires": { "babel-runtime": "^6.22.0" } @@ -8743,7 +10961,7 @@ "babel-plugin-transform-react-jsx": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "integrity": "sha512-s+q/Y2u2OgDPHRuod3t6zyLoV8pUHc64i/O7ZNgIOEdYTq+ChPeybcKBi/xk9VI60VriILzFPW+dUxAEbTxh2w==", "requires": { "babel-helper-builder-react-jsx": "^6.24.1", "babel-plugin-syntax-jsx": "^6.8.0", @@ -8753,7 +10971,7 @@ "babel-plugin-transform-react-jsx-self": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", - "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", + "integrity": "sha512-Y3ZHP1nunv0U1+ysTNwLK39pabHj6cPVsfN4TRC7BDBfbgbyF4RifP5kd6LnbuMV9wcfedQMe7hn1fyKc7IzTQ==", "requires": { "babel-plugin-syntax-jsx": "^6.8.0", "babel-runtime": "^6.22.0" @@ -8762,7 +10980,7 @@ "babel-plugin-transform-react-jsx-source": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "integrity": "sha512-pcDNDsZ9q/6LJmujQ/OhjeoIlp5Nl546HJ2yiFIJK3mYpgNXhI5/S9mXfVxu5yqWAi7HdI7e/q6a9xtzwL69Vw==", "requires": { "babel-plugin-syntax-jsx": "^6.8.0", "babel-runtime": "^6.22.0" @@ -8771,7 +10989,7 @@ "babel-plugin-transform-react-remove-prop-types": { "version": "0.4.5", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.5.tgz", - "integrity": "sha1-edGVhDeuI9T7wLEdGgQUmN2yOHc=", + "integrity": "sha512-lpPJnPclIANmdOeV+oExs3HzLF0Me7jI/fU/ZHsqENQn/C6hwtTNHjo8XFqqhq5DM1oSKfosFsPc4jt6Gavyfw==", "requires": { "babel-traverse": "^6.24.1" } @@ -8779,7 +10997,7 @@ "babel-plugin-transform-regenerator": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "integrity": "sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg==", "requires": { "regenerator-transform": "^0.10.0" } @@ -8787,7 +11005,7 @@ "babel-plugin-transform-runtime": { "version": "6.22.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.22.0.tgz", - "integrity": "sha1-EJaNdgu/ZRckMIHux3jhD6goVRw=", + "integrity": "sha512-fa1YqQ7nyiRBmnDMAkQPvGZCWghWEayc2Pfwr971pO+RKgnbZ0/GylVJCCqcDXbdH8vd3/TuTuLnc3nECwoAHg==", "requires": { "babel-runtime": "^6.22.0" } @@ -8795,7 +11013,7 @@ "babel-plugin-transform-strict-mode": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "integrity": "sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==", "requires": { "babel-runtime": "^6.22.0", "babel-types": "^6.24.1" @@ -8841,7 +11059,7 @@ "babel-preset-flow": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", - "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", + "integrity": "sha512-PQZFJXnM3d80Vq4O67OE6EMVKIw2Vmzy8UXovqulNogCtblWU8rzP7Sm5YgHiCg4uejUxzCkHfNXQ4Z6GI+Dhw==", "requires": { "babel-plugin-transform-flow-strip-types": "^6.22.0" } @@ -8849,7 +11067,7 @@ "babel-preset-react": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", - "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", + "integrity": "sha512-phQe3bElbgF887UM0Dhz55d22ob8czTL1kbhZFwpCE6+R/X9kHktfwmx9JZb+bBSVRGphP5tZ9oWhVhlgjrX3Q==", "requires": { "babel-plugin-syntax-jsx": "^6.3.13", "babel-plugin-transform-react-display-name": "^6.23.0", @@ -8862,7 +11080,7 @@ "babel-register": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", "requires": { "babel-core": "^6.26.0", "babel-runtime": "^6.26.0", @@ -8914,10 +11132,19 @@ "trim-right": "^1.0.1" } }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, "babel-template": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", "requires": { "babel-runtime": "^6.26.0", "babel-traverse": "^6.26.0", @@ -8925,22 +11152,27 @@ "babylon": "^6.18.0", "lodash": "^4.17.4" } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" } } }, "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", + "integrity": "sha512-9Vdluea/MpskdLsLYTH10Wtc5z2U0THGHVJeqec0EHUbfEt2q3zM1piQ+/GjMl9h0drUY1hF8zHV9nmH8Kl+Og==", "requires": { "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "regenerator-runtime": "^0.10.0" } }, "babel-template": { "version": "6.25.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.25.0.tgz", - "integrity": "sha1-ZlJBFmt8KqTGGdceGSlpVSsQwHE=", + "integrity": "sha512-Ak4qz4gxFYXuj3O5m+Um2RvhZw2CUVTDM3sMK5XhrJLRfIFi7nxCwBLCG0RBwqNzo7DVM996bHlo6kSkJ0X/jg==", "requires": { "babel-runtime": "^6.22.0", "babel-traverse": "^6.25.0", @@ -8952,7 +11184,7 @@ "babel-traverse": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", "requires": { "babel-code-frame": "^6.26.0", "babel-messages": "^6.23.0", @@ -8963,12 +11195,28 @@ "globals": "^9.18.0", "invariant": "^2.2.2", "lodash": "^4.17.4" + }, + "dependencies": { + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } } }, "babel-types": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", "requires": { "babel-runtime": "^6.26.0", "esutils": "^2.0.2", @@ -8976,10 +11224,24 @@ "to-fast-properties": "^1.0.3" }, "dependencies": { + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==" } } }, @@ -8989,14 +11251,15 @@ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "optional": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -9010,55 +11273,32 @@ "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "optional": true, "requires": { "is-descriptor": "^1.0.0" } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "basic-auth": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.0.tgz", - "integrity": "sha1-AV2z81PgLlY3d1X5YnQuiYHnu7o=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } } }, "big.js": { @@ -9067,52 +11307,50 @@ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" }, "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "optional": true }, - "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } }, "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "requires": { - "bytes": "3.0.0", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - }, - "dependencies": { - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" } }, + "bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "optional": true + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -9123,36 +11361,18 @@ } }, "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "optional": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } + "fill-range": "^7.0.1" } }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" }, "browserify-aes": { "version": "1.2.0", @@ -9186,36 +11406,55 @@ "des.js": "^1.0.0", "inherits": "^2.0.1", "safe-buffer": "^5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } } }, "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "requires": { - "bn.js": "^4.1.0", + "bn.js": "^5.0.0", "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + } } }, "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "browserify-zlib": { @@ -9236,54 +11475,47 @@ } }, "bson": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/bson/-/bson-1.0.4.tgz", - "integrity": "sha1-k8ENOeqltYQVy8QFLz5T5WKwtyw=" + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.7.0.tgz", + "integrity": "sha512-VrlEE4vuiO1WTpfof4VmaVolCVYkYTgB9iWgYNOrVlnifpME/06fhFRmONgBhClD5pFC1t9ZWqFUQEQAzY43bA==", + "requires": { + "buffer": "^5.6.0" + } }, "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, "buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" }, "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "optional": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -9296,39 +11528,53 @@ "unset-value": "^1.0.0" } }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==" + }, + "camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==" }, "caniuse-lite": { - "version": "1.0.30000876", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000876.tgz", - "integrity": "sha512-v+Q2afhJJ1oydQnEB4iHhxDz5x9lWPbRnQBQlM3FgtZxqLO8KDSdu4txUrFwC1Ws9I2kQi/QImkvj17NbVpNAg==" + "version": "1.0.30001425", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001425.tgz", + "integrity": "sha512-/pzFv0OmNG6W0ym80P3NtapU0QEiDS3VuYAZMGoLLqiC7f6FJFe1MjpQDREGApeenD9wloeytmVDj+JLXPC6qw==" }, "case-sensitive-paths-webpack-plugin": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.1.tgz", - "integrity": "sha1-PSnO2MHxJL9vU4Rvs/WJRzH9yQk=" + "integrity": "sha512-Zg7Z9IuE0T+Ilg+o0IVpZXHAcN6VHO80BVxak3RIB1pmcbiITr06WlZ45Xa/KGQ7fQ/ar6C1KEkeI93tojBJPQ==" }, "center-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", "requires": { "align-text": "^0.1.3", "lazy-cache": "^1.0.3" } }, "chain-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz", - "integrity": "sha1-DUqzfn4Y6tC9xHuSB2QRjOWHM9w=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.1.tgz", + "integrity": "sha512-SxltgMwL9uCko5/ZCLiyG2B7R9fY4pDZUw7hJ4MhirdjBLosoDqkWABi3XMucddHdLiFJMb7PD2MZifZriuMTg==" }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -9338,23 +11584,19 @@ } }, "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "optional": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" } }, "cipher-base": { @@ -9370,6 +11612,7 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "optional": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -9380,83 +11623,146 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, "requires": { "is-descriptor": "^0.1.0" } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "optional": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "optional": true + } + } } } }, "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==" }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "optional": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" } }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "optional": true }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "connect-mongo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-1.3.2.tgz", - "integrity": "sha1-fL9Y3/8mdg5eAOAX0KhbS8kLnTc=", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-4.6.0.tgz", + "integrity": "sha512-8new4Z7NLP3CGP65Aw6ls3xDBeKVvHRSh39CXuDZTQsvpeeU9oNMzfFgvqmHqZ6gWpxIl663RyoVEmCAGf1yOg==", "requires": { - "bluebird": "^3.0", - "mongodb": ">= 1.2.0 <3.0.0" + "debug": "^4.3.1", + "kruptein": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "requires": { - "date-now": "^0.1.4" - } + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" }, "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" }, "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } }, "content-type": { "version": "1.0.4", @@ -9464,47 +11770,43 @@ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "convert-source-map": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", - "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "optional": true }, "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "crc": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz", - "integrity": "sha1-naHpgOO9RPxck79as9ozeNheRms=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "requires": { "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "elliptic": "^6.5.3" } }, "create-hash": { @@ -9533,11 +11835,10 @@ } }, "create-react-class": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", - "integrity": "sha1-zx7RXxKq1/FO9fLf4F5sQvke8Co=", + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.7.0.tgz", + "integrity": "sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==", "requires": { - "fbjs": "^0.8.9", "loose-envify": "^1.3.1", "object-assign": "^4.1.1" } @@ -9545,7 +11846,7 @@ "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", "requires": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", @@ -9573,39 +11874,35 @@ "css-color-keywords": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=" + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==" }, "css-to-react-native": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.2.1.tgz", - "integrity": "sha512-v++LRcf633phJiYZBDqtmGPj3+BVof0isd2jgwYLWZJ5YSuhCkrfYtDsNhM6oJthiEco0f9tDVJ1vUkDJNgGEA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.3.2.tgz", + "integrity": "sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==", "requires": { + "camelize": "^1.0.0", "css-color-keywords": "^1.0.0", - "fbjs": "^0.8.5", "postcss-value-parser": "^3.3.0" } }, "css-tree": { "version": "1.0.0-alpha17", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha17.tgz", - "integrity": "sha1-erlatyxTORevi+VDE/7IGEHFIjo=", + "integrity": "sha512-tQ9XuZqzUWVP2ZeQmQsJojtRLI67PuqAabOiTlWaFCtqnmS6oNO7XEr4OLoasIjOg6m3jp1HrWHApillm5NNmg==", "requires": { "source-map": "^0.5.3" } }, "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "^0.10.50", + "type": "^1.0.1" } }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -9617,68 +11914,37 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "optional": true }, "define-properties": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", - "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "optional": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - } } }, "del": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "integrity": "sha512-7yjqSoVSlJzA4t/VUwazuEagGeANEKB3f/aNI//06pfKgwoCb7f6Q1gETN1sZzYaj6chTQ0AhIwDiPdfOjko4A==", "requires": { "globby": "^6.1.0", "is-path-cwd": "^1.0.0", @@ -9688,29 +11954,39 @@ "rimraf": "^2.2.8" } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==" + }, "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" }, "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "requires": { "inherits": "^2.0.1", "minimalistic-assert": "^1.0.0" } }, "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" }, "detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", "requires": { "repeating": "^2.0.0" } @@ -9726,14 +12002,32 @@ } }, "dom-helpers": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.2.1.tgz", - "integrity": "sha1-MgPgf+0he9H0JLAZc1WC/Deyglo=" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "requires": { + "@babel/runtime": "^7.1.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "regenerator-runtime": { + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", + "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" + } + } }, "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", + "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, "domain-browser": { "version": "1.2.0", @@ -9751,54 +12045,59 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "electron-to-chromium": { - "version": "1.3.57", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.57.tgz", - "integrity": "sha512-YYpZlr6mzR8cK5VRmTZydEt5Mp+WMg1/syrO40PoQzl76vJ+oQchL2d3FmEcWzw3FYqJVYJP/kYYSzTa7FLXwg==" + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" }, "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "emitter-mixin": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/emitter-mixin/-/emitter-mixin-0.0.3.tgz", - "integrity": "sha1-WUjLKG8uSO3DslGnz8H3iDOW1lw=" - }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==" }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" }, "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "requires": { - "iconv-lite": "~0.4.13" + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } } }, "enhanced-resolve": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "integrity": "sha512-ZaAux1rigq1e2nQrztHn4h2ugvpzZxs64qneNah+8Mh/K0CRqJFJc+UoXnUsq+1yX+DmQFPPdVqboKAJ89e0Iw==", "requires": { "graceful-fs": "^4.1.2", "memory-fs": "^0.4.0", @@ -9807,14 +12106,14 @@ } }, "ensure-array": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/ensure-array/-/ensure-array-0.0.5.tgz", - "integrity": "sha1-NVvsw4LI65nWikm0UK6eboEQJxU=" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ensure-array/-/ensure-array-1.0.0.tgz", + "integrity": "sha512-A+3Ntl5WS+GjDnHtC67dKIjw+IoGoeFdNvjn3ZfKEmZgWUz0nxBPE4W52QMCbGZsat0VwWskD5T6AEpe3T2d1g==" }, "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "requires": { "prr": "~1.0.1" } @@ -9828,27 +12127,27 @@ } }, "error-stack-parser": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.2.tgz", - "integrity": "sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "requires": { - "stackframe": "^1.0.4" + "stackframe": "^1.3.4" } }, "es5-ext": { - "version": "0.10.45", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", - "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" } }, "es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "requires": { "d": "1", "es5-ext": "^0.10.35", @@ -9858,7 +12157,7 @@ "es6-map": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "integrity": "sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==", "requires": { "d": "1", "es5-ext": "~0.10.14", @@ -9868,57 +12167,60 @@ "event-emitter": "~0.3.5" } }, - "es6-promise": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.2.1.tgz", - "integrity": "sha1-7FYjOGgDKQkgcXDDlEjiREndH8Q=" - }, "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.6.tgz", + "integrity": "sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==", "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "es6-iterator": "~2.0.3", + "es6-symbol": "^3.1.3", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + }, + "dependencies": { + "type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + } } }, "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "^1.0.1", + "ext": "^1.1.2" } }, "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "requires": { "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.1" } }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" }, "escope": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "integrity": "sha512-75IUQsusDdalQEW/G/2esa87J7raqdJF+Ca0/Xm5C3Q58Nr4yVYjZGp/P1+2xiEVgXRrA39dpRb8LcshajbqDQ==", "requires": { "es6-map": "^0.1.3", "es6-weak-map": "^2.0.1", @@ -9927,41 +12229,48 @@ } }, "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "requires": { - "estraverse": "^4.1.0" + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } } }, "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" }, "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, "event-emitter": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", "requires": { "d": "1", "es5-ext": "~0.10.14" } }, "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" }, "evp_bytestokey": { "version": "1.0.3", @@ -9975,7 +12284,8 @@ "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "optional": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -9989,7 +12299,8 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, "requires": { "is-descriptor": "^0.1.0" } @@ -9997,178 +12308,165 @@ "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, "requires": { "is-extendable": "^0.1.0" } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "optional": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "optional": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true } } }, "express": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", - "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "requires": { - "accepts": "~1.3.5", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.18.2", - "content-disposition": "0.5.2", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.3.1", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.1.1", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.3", - "qs": "6.5.1", - "range-parser": "~1.2.0", - "safe-buffer": "5.1.1", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" - }, - "dependencies": { - "body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", - "iconv-lite": "0.4.19", - "on-finished": "~2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "~1.6.15" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" - }, - "raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "unpipe": "1.0.0" - }, - "dependencies": { - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" - }, - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" - } - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" - } - } - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - } } }, "express-restify-mongoose": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/express-restify-mongoose/-/express-restify-mongoose-4.3.0.tgz", - "integrity": "sha512-9ygnIetF0bwG+ooZc95XkI0FDMdyTUxnVt/N2vGHl4bFxPqdUsV1jAFqzSbZpsvawid4e26CtBjFyZxNzLeNtA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/express-restify-mongoose/-/express-restify-mongoose-7.0.2.tgz", + "integrity": "sha512-NP9sq0LqdDAF8epKLOD9NGwz1mANZdbra5b7vUVHcZWP6aa26uf/EcT4uM2s8VQb1ck/6qXM2+LtVtCts0k/aQ==", "requires": { - "async": "~2.5.0", - "bluebird": "~3.5.0", - "ensure-array": "0.0.5", + "ensure-array": "~1.0.0", "is-coordinates": "~2.0.0", - "lodash.clone": "~4.5.0", "lodash.defaults": "~4.2.0", "lodash.get": "~4.4.2", "lodash.has": "~4.5.2", "lodash.isplainobject": "~4.0.6", - "lodash.map": "~4.6.0", - "mongoose-detective": "~0.1.0", - "moredots": "~0.1.0", - "serialize-error": "~2.1.0", - "weedout": "~0.1.0" + "mongoose-detective": "~2.0.0", + "moredots": "~1.0.1", + "run-series": "~1.1.8", + "serialize-error": "^7.0.1", + "weedout": "~1.0.1" } }, "express-session": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.15.6.tgz", - "integrity": "sha512-r0nrHTCYtAMrFwZ0kBzZEXa1vtPVrw0dKvGSrKP4dahwBQ1BJpF2/y1Pp4sCD/0kvxV4zZeclyvfmw0B4RMJQA==", + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.3.tgz", + "integrity": "sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==", "requires": { - "cookie": "0.3.1", + "cookie": "0.4.2", "cookie-signature": "1.0.6", - "crc": "3.4.4", "debug": "2.6.9", - "depd": "~1.1.1", - "on-headers": "~1.0.1", - "parseurl": "~1.3.2", - "uid-safe": "~2.1.5", - "utils-merge": "1.0.1" + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" + }, + "dependencies": { + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" + } + } + }, + "ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "requires": { + "type": "^2.7.2" + }, + "dependencies": { + "type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + } } }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "optional": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "extglob": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "optional": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -10183,7 +12481,8 @@ "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "optional": true, "requires": { "is-descriptor": "^1.0.0" } @@ -10191,58 +12490,43 @@ "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, "requires": { "is-extendable": "^0.1.0" } }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true } } }, "fast-deep-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + "integrity": "sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==" }, "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-xml-parser": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.0.11.tgz", + "integrity": "sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA==", + "optional": true, + "requires": { + "strnum": "^1.0.5" + } }, "fbjs": { - "version": "0.8.16", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", - "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "version": "0.8.18", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz", + "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==", "requires": { "core-js": "^1.0.0", "isomorphic-fetch": "^2.1.1", @@ -10250,67 +12534,54 @@ "object-assign": "^4.1.0", "promise": "^7.1.1", "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.9" + "ua-parser-js": "^0.7.30" }, "dependencies": { "core-js": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==" } } }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, "filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==" }, "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "optional": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } + "to-regex-range": "^5.0.1" } }, "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", "unpipe": "~1.0.0" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - } } }, "find-babel-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.1.0.tgz", - "integrity": "sha1-rMAQQ6Z0n+w0Qpvmtk9ULrtdY1U=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", + "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", "requires": { "json5": "^0.5.1", "path-exists": "^3.0.0" @@ -10319,7 +12590,7 @@ "find-cache-dir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "integrity": "sha512-46TFiBOzX7xq/PcSWfFwkyjpemdRnMe31UQF+os0y+1W3k95f6R4SEt02Hj4p3X0Mir9gfrkmOtshFidS0VPUg==", "requires": { "commondir": "^1.0.1", "make-dir": "^1.0.0", @@ -10329,43 +12600,47 @@ "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "requires": { "locate-path": "^2.0.0" } }, "follow-redirects": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.2.5.tgz", - "integrity": "sha512-lMhwQTryFbG+wYsAIEKC1Kf5IGDlVNnONRogIBllh7LLoV7pNIxW0z9fhjRar9NBql+hd2Y49KboVVNxf6GEfg==", - "requires": { - "debug": "^2.6.9" - } + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "optional": true }, "foreachasync": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz", - "integrity": "sha1-VQKYfchxS+M5IJfzLgBxyd7gfPY=" + "integrity": "sha512-J+ler7Ta54FwwNcx6wQRDhTIbNeyDcARMkOcguEqnEdtm0jKvN3Li3PDAb2Du3ubJYEWfYL83XMROXdsXAXycw==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } }, "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "optional": true, "requires": { "map-cache": "^0.2.2" } @@ -10373,12 +12648,12 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" }, "friendly-errors-webpack-plugin": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.5.0.tgz", - "integrity": "sha1-8ogliQkk1sPw2OxTRpdoaIMpBUo=", + "integrity": "sha512-YS1RhVMqea3wPttTaefn4lXvkylGhwRJrT2PAoOuchv0v4tiHOYgUdjM4WZgHFB06q5UfOjWhuETnYYXOzIC7g==", "requires": { "chalk": "^1.1.3", "error-stack-parser": "^2.0.0", @@ -10388,620 +12663,13 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "bundled": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "bundled": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "bundled": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "bundled": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "bundled": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "bundled": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", - "bundled": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "bundled": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "bundled": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "bundled": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "bundled": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "bundled": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", - "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", - "bundled": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "bundled": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "bundled": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", - "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", - "bundled": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "bundled": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "bundled": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "bundled": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "bundled": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", - "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", - "bundled": true, - "optional": true, - "requires": { - "safer-buffer": "^2.1.0" - } - }, - "ignore-walk": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", - "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", - "bundled": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "bundled": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "bundled": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "bundled": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "bundled": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "bundled": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "bundled": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "bundled": true, - "optional": true - }, - "minipass": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", - "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", - "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", - "bundled": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "bundled": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "bundled": true, - "optional": true - }, - "needle": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz", - "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", - "bundled": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.0.tgz", - "integrity": "sha512-G7kEonQLRbcA/mOoFoxvlMrw6Q6dPf92+t/l0DFSMuSlDoWaI9JWIyPwK0jyE1bph//CUEL65/Fz1m2vJbmjQQ==", - "bundled": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "bundled": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", - "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==", - "bundled": true, - "optional": true - }, - "npm-packlist": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", - "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", - "bundled": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "bundled": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "bundled": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "bundled": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "bundled": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "bundled": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "bundled": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "bundled": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", - "bundled": true, - "optional": true - }, - "rc": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", - "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", - "bundled": true, - "optional": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "bundled": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "bundled": true, - "optional": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "bundled": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "bundled": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "bundled": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "bundled": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "bundled": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "bundled": true, - "optional": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "bundled": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "bundled": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "bundled": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz", - "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", - "bundled": true, - "optional": true, - "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "bundled": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", - "bundled": true, - "optional": true, - "requires": { - "string-width": "^1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "bundled": true, - "optional": true - }, - "yallist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", - "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=", - "bundled": true, - "optional": true - } - } + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true }, "function-bind": { "version": "1.1.1", @@ -11011,22 +12679,33 @@ "generaterr": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/generaterr/-/generaterr-1.5.0.tgz", - "integrity": "sha1-sM62zFFk3yoGEzjMNAqGFTlcUvw=" + "integrity": "sha512-JgcGRv2yUKeboLvvNrq9Bm90P4iJBu7/vd5wSLYqMG5GJ6SxZT46LAAkMfNhQ+EK3jzC+cRBm7P8aUWYyphgcQ==" }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "optional": true }, "glob": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", - "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "integrity": "sha512-mRyN/EsN2SyNhKWykF3eEGhDpeNplMWaW18Bmh76tnOqk5TbELAVwFAYOCmKVssOYFrYvvLMguiA+NXO3ZTuVA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -11037,36 +12716,27 @@ } }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "optional": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } + "is-glob": "^4.0.1" } }, "glob-promise": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-promise/-/glob-promise-3.1.0.tgz", - "integrity": "sha1-GYiCo4F759wsVfkmI6qeez+C0es=" + "integrity": "sha512-DekUCuVgO6CYkxMg9jj9f9ygu5oMEdHbCa+Y+yrfMuXy6vhBPJROs/5PrWqJim1M5D4pEIetNXqvhcJqyHGG6A==", + "requires": {} }, "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", "requires": { "min-document": "^2.19.0", - "process": "~0.5.1" + "process": "^0.11.10" } }, "globals": { @@ -11077,7 +12747,7 @@ "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", "requires": { "array-union": "^1.0.1", "glob": "^7.0.3", @@ -11089,14 +12759,14 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" } } }, "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "has": { "version": "1.0.3", @@ -11109,7 +12779,7 @@ "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", "requires": { "ansi-regex": "^2.0.0" } @@ -11117,17 +12787,26 @@ "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==" }, - "has-symbols": { + "has-property-descriptors": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "optional": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -11137,16 +12816,38 @@ "has-values": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "optional": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" }, "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "optional": true, "requires": { "is-buffer": "^1.1.5" } @@ -11154,18 +12855,31 @@ } }, "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "hash.js": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", - "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "requires": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.1" @@ -11174,7 +12888,7 @@ "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "requires": { "hash.js": "^1.0.3", "minimalistic-assert": "^1.0.0", @@ -11189,98 +12903,85 @@ "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.1" } }, - "hooks-fixed": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hooks-fixed/-/hooks-fixed-2.0.2.tgz", - "integrity": "sha512-YurCM4gQSetcrhwEtpQHhQ4M7Zo7poNGqY4kQGeBS6eZtOcT3tnNs01ThFa0jYBByAiYt1MjMjP/YApG0EnAvQ==" - }, "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" }, "htmlescape": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", - "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=" + "integrity": "sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==" }, "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "dependencies": { - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - } + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" } }, "http-status": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.0.1.tgz", - "integrity": "sha1-3EMAGov8UKyH1IWokvdXiWS8lKI=" + "integrity": "sha512-J7J9wu9SpJvsOZHzqMQOzJjbuX1OqW3R35Z++z14H91o7VyUWH5YkW5FMExGFrjuBQ5C+54vF9tK3Gny0SgsSA==" }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" }, "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } }, "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=" - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==" }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "requires": { "once": "^1.3.0", "wrappy": "1" } }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" }, "invariant": { "version": "2.2.4", @@ -11293,123 +12994,150 @@ "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==" + }, + "ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" }, "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "optional": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "optional": true + } } }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "optional": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "^2.0.0" } }, "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=" - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "requires": { - "builtin-modules": "^1.0.0" - } + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-coordinates": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-coordinates/-/is-coordinates-2.0.2.tgz", - "integrity": "sha1-wxO7bs4k7Tm2rT/fz26Ok64Rc3A=" + "integrity": "sha512-AziFHSTt7yK8LkZmRJTXMcX1F/5w3ZQEQ/P9kpI64GWJdxC+flPHvrLAiUQEW8msjVwLa86AzqdFTtwUhCpcgQ==" + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "requires": { + "has": "^1.0.3" + } }, "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "optional": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "optional": true + } } }, "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "optional": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "dependencies": { "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "optional": true } } }, "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "optional": true, + "requires": { + "is-plain-object": "^2.0.4" + } }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "optional": true }, "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", "requires": { "number-is-nan": "^1.0.0" } }, "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "optional": true, "requires": { "is-extglob": "^2.1.1" } }, "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - } + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "optional": true }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" + "integrity": "sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==" }, "is-path-in-cwd": { "version": "1.0.1", @@ -11422,7 +13150,7 @@ "is-path-inside": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", "requires": { "path-is-inside": "^1.0.1" } @@ -11438,37 +13166,38 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "optional": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" }, "isomorphic-fetch": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", "requires": { "node-fetch": "^1.0.1", "whatwg-fetch": ">=0.10.0" @@ -11477,32 +13206,32 @@ "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" }, "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==" }, "json-loader": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.4.tgz", - "integrity": "sha1-i6oTZaYy9Yo8RtIBdfxgAsluN94=" + "integrity": "sha512-UR2AoqXOuhwApRPGe9YUuU3ARd2fQ4gfZvCpJjZ2ZrKOrt3+DbLg5QXa1W5rUvdUIuhMHyxniMr+u4bHjWMVYQ==" }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + "integrity": "sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==" }, "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==" }, "jsonschema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.2.0.tgz", - "integrity": "sha512-XDJApzBauMg0TinJNP4iVcJl99PQ4JbWKK7nwzpOIkAOVveDKgh/2xm41T3x7Spu4PWMhnnQpNJmUSIUgl6sKg==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", + "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==" }, "jsonwebtoken": { "version": "8.5.1", @@ -11531,7 +13260,12 @@ "junk": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/junk/-/junk-1.0.3.tgz", - "integrity": "sha1-h75jSIZJy9ym9Tqzm+yczSNH9ZI=" + "integrity": "sha512-3KF80UaaSSxo8jVnRYtMKNGFOoVPBdkkVPsw+Ad0y4oxKXPduS6G6iHkrf69yJVff/VAaYXkV42rtZ7daJxU3w==" + }, + "just-curry-it": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/just-curry-it/-/just-curry-it-3.2.1.tgz", + "integrity": "sha512-Q8206k8pTY7krW32cdmPsP+DqqLgWx/hYPSj9/+7SYqSqz7UuwPbfSe07lQtvuuaVyiSJveXk0E5RydOuWwsEg==" }, "jwa": { "version": "1.4.1", @@ -11553,27 +13287,35 @@ } }, "kareem": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/kareem/-/kareem-1.5.0.tgz", - "integrity": "sha1-4+QQHZ3P3imXadr0tNtk2JXRdEg=" + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.4.1.tgz", + "integrity": "sha512-aJ9opVoXroQUPfovYP5kaj2lM7Jn02Gw13bL0lg9v0V7SaUc0qavPs0Eue7d2DcC3NjqI6QAUElXNsuZSeM+EA==" }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "requires": { "is-buffer": "^1.1.5" } }, + "kruptein": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/kruptein/-/kruptein-3.0.5.tgz", + "integrity": "sha512-c1pyg/HKep8y5l+AoiicTs94k4bnzBSiS1b8NQcnQDtv9Yh45rNLuDIUwEwawmuFYpcA5xqhG7k0LqiMhrBPXw==", + "requires": { + "asn1.js": "^5.4.1" + } + }, "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==" }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", "requires": { "invert-kv": "^1.0.0" } @@ -11581,7 +13323,7 @@ "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -11593,19 +13335,19 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" } } }, "loader-runner": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" }, "loader-utils": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "integrity": "sha512-gkD9aSEG9UGglyPcDJqY9YBTUtCLKaBK6ihD2VP1d1X60lTfFspNZNulGBBbUZLkPygy4LySYHyxBpq+VhjObQ==", "requires": { "big.js": "^3.1.3", "emojis-list": "^2.0.0", @@ -11615,128 +13357,103 @@ "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "requires": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" } }, "lodash": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", - "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash-es": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz", - "integrity": "sha1-3MHXVS4VCgZABzupyzHXDwMpUOc=" - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" - }, - "lodash.clone": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", - "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" - }, - "lodash.curry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha1-JI42By7ekGUB11lmIAqG2riyMXA=" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, "lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==" }, "lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" }, "lodash.has": { "version": "4.5.2", "resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz", - "integrity": "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=" + "integrity": "sha512-rnYUdIo6xRCJnQmbVFEwcxF144erlD+M3YcJUVesflU9paQaE8p+fJDcIQrlMYbxoANFL+AB9hZrzSBBk5PL+g==" }, "lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" }, "lodash.isboolean": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" }, "lodash.isinteger": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" }, "lodash.isnumber": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" }, "lodash.isplainobject": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" }, "lodash.isstring": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" }, "lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, "lodash.topath": { "version": "4.5.2", "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", - "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=" + "integrity": "sha512-1/W4dM+35DwvE/iEd1M9ekewOSTlpFekhw9mhAtrwjVqUr83/ilQiyAvmg4tVX7Unkcfl1KC+i9WdaT4B6aQcg==" }, "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==" }, "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" } }, "lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" } }, "lusca": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/lusca/-/lusca-1.6.1.tgz", - "integrity": "sha512-+JzvUMH/rsE/4XfHdDOl70bip0beRcHSviYATQM0vtls59uVtdn1JMu4iD7ZShBpAmFG8EnaA+PrYG9sECMIOQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/lusca/-/lusca-1.7.0.tgz", + "integrity": "sha512-msnrplCfY7zaqlZBDEloCIKld+RUeMZVeWzSPaGUKeRXFlruNSdKg2XxCyR+zj6BqzcXhXlRnvcvx6rAGgsvMA==", "requires": { "tsscmp": "^1.0.5" } @@ -11752,12 +13469,14 @@ "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "optional": true }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "optional": true, "requires": { "object-visit": "^1.0.0" } @@ -11765,7 +13484,7 @@ "maximatch": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/maximatch/-/maximatch-0.1.0.tgz", - "integrity": "sha1-hs2NawTJ8wfAWmuUGZBtA2D7E6I=", + "integrity": "sha512-9ORVtDUFk4u/NFfo0vG/ND/z7UQCVZBL539YW0+U1I7H1BkZwizcPx5foFv7LCPcBnm2U6RjFnQOsIvN4/Vm2A==", "requires": { "array-differ": "^1.0.0", "array-union": "^1.0.1", @@ -11776,56 +13495,74 @@ "md5-file": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-3.1.1.tgz", - "integrity": "sha1-2zySwJu9pcLeiD+lSQ3XEf3burk=" + "integrity": "sha512-9yLrrfgoyOe+0HqLiTF1XeJeOAf/y4Eh4h019avM2OrUGTcXWZkk6YCjzJmeutC6PyBQXlRAhtmdbL8GDPeIAA==" }, "md5.js": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "requires": { "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" } }, + "memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "optional": true + }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" }, "method-override": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz", - "integrity": "sha1-49r41d7hDdLc59SuiNYrvud0drQ=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/method-override/-/method-override-3.0.0.tgz", + "integrity": "sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==", "requires": { - "debug": "2.6.9", + "debug": "3.1.0", "methods": "~1.1.2", "parseurl": "~1.3.2", "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } } }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "optional": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -11842,10 +13579,99 @@ "to-regex": "^3.0.2" }, "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "optional": true + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } } } }, @@ -11859,27 +13685,27 @@ } }, "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.35.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", - "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==" + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { - "version": "2.1.19", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", - "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { - "mime-db": "~1.35.0" + "mime-db": "1.52.0" } }, "min-document": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==", "requires": { "dom-walk": "^0.1.0" } @@ -11892,12 +13718,12 @@ "minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" } @@ -11905,201 +13731,168 @@ "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + "integrity": "sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==" }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "optional": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "requires": { - "minimist": "0.0.8" + "minimist": "^1.2.6" }, "dependencies": { "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" } } }, "mkdirp-then": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mkdirp-then/-/mkdirp-then-1.2.0.tgz", - "integrity": "sha1-pJLIecpNhz9e5FAI+PVf0BUN48U=", + "integrity": "sha512-nbj022D7cd7n6hxDuON08SQciKHSTcRSFlLfCGyIuypo4cl6Z6qJxMVlatFyS6ZbgHqOebkYm/fvwtGiKqmSwQ==", "requires": { "any-promise": "^1.1.0", "mkdirp": "^0.5.0" } }, "moment": { - "version": "2.22.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", - "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" }, "mongodb": { - "version": "2.2.33", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.33.tgz", - "integrity": "sha1-tTfEcdNKZlG0jzb9vyl1A0Dgi1A=", - "requires": { - "es6-promise": "3.2.1", - "mongodb-core": "2.1.17", - "readable-stream": "2.2.7" - } - }, - "mongodb-core": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.17.tgz", - "integrity": "sha1-pBizN6FKFJkPtRC5I97mqBMXPfg=", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.11.0.tgz", + "integrity": "sha512-9l9n4Nk2BYZzljW3vHah3Z0rfS5npKw6ktnkmFgTcnzaXH1DRm3pDl6VMHu84EVb1lzmSaJC4OzWZqTkB5i2wg==", + "requires": { + "@aws-sdk/credential-providers": "^3.186.0", + "bson": "^4.7.0", + "denque": "^2.1.0", + "mongodb-connection-string-url": "^2.5.4", + "saslprep": "^1.0.3", + "socks": "^2.7.1" + } + }, + "mongodb-connection-string-url": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.4.tgz", + "integrity": "sha512-SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==", "requires": { - "bson": "~1.0.4", - "require_optional": "~1.0.0" + "@types/whatwg-url": "^8.2.1", + "whatwg-url": "^11.0.0" } }, "mongoose": { - "version": "4.13.14", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-4.13.14.tgz", - "integrity": "sha512-20zynb1fvCO37AP+0iTPGDbt4dJJkzM9fNK5BwKf5n+gFU5YYdXpnhxs9Kf8C+Fe0xY8vpUKV8wA7VGWcmDaFw==", - "requires": { - "async": "2.6.0", - "bson": "~1.0.4", - "hooks-fixed": "2.0.2", - "kareem": "1.5.0", - "lodash.get": "4.4.2", - "mongodb": "2.2.34", - "mpath": "0.3.0", - "mpromise": "0.5.5", - "mquery": "2.3.3", - "ms": "2.0.0", - "muri": "1.3.0", - "regexp-clone": "0.0.1", - "sliced": "1.0.1" + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-6.7.0.tgz", + "integrity": "sha512-Jt6NSiSpgcrSBzRb9+YwkpjjVuq4H532c4jbf+5Nu0wd/nIPHSOKhr8jnQZ8gQTdPjubF+szR5r6KMSqaY4/Wg==", + "requires": { + "bson": "^4.6.5", + "kareem": "2.4.1", + "mongodb": "4.11.0", + "mpath": "0.9.0", + "mquery": "4.0.3", + "ms": "2.1.3", + "sift": "16.0.0" }, "dependencies": { - "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", - "requires": { - "lodash": "^4.14.0" - } - }, - "mongodb": { - "version": "2.2.34", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.34.tgz", - "integrity": "sha1-o09Zu+thdUrsQy3nLD/iFSakTBo=", - "requires": { - "es6-promise": "3.2.1", - "mongodb-core": "2.1.18", - "readable-stream": "2.2.7" - } - }, - "mongodb-core": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.18.tgz", - "integrity": "sha1-TEYTm986HwMt7ZHbSfOO7AFlkFA=", - "requires": { - "bson": "~1.0.4", - "require_optional": "~1.0.0" - } + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, "mongoose-detective": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/mongoose-detective/-/mongoose-detective-0.1.1.tgz", - "integrity": "sha1-hTsF4vwQDBz65tUhcfYmJt5oH84=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mongoose-detective/-/mongoose-detective-2.0.0.tgz", + "integrity": "sha512-W05ykqbu9yu75irVJYTB+hv+d2RhiAIdxcU1IKcyAT2W7wAmbWMZSJDbRUmZPV9DCkffURmUaJFp9ZWteXoqmA==" }, "mongoose-long": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/mongoose-long/-/mongoose-long-0.1.1.tgz", - "integrity": "sha1-zDLgWwz1DIXiWhk1nUOpNv6VBaM=" + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/mongoose-long/-/mongoose-long-0.6.0.tgz", + "integrity": "sha512-yfniuvlo5vWMw6cV2xPVNhaxg/lgTxSXXFGI99HD3vK2fnZ0xwHJ0rzrRoYSsKwK+JFhhCciH54urY/HR9b4hg==", + "requires": {} }, "moredots": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/moredots/-/moredots-0.1.1.tgz", - "integrity": "sha1-EycT7sQKDNjHNml1d2GxSVz6Jt8=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/moredots/-/moredots-1.0.1.tgz", + "integrity": "sha512-kwHfWclqmAxU7nBTjJh3Coh2tCZJCrdVecXREJGEseRFRTCTDXN+/5KJg3p6C6380q/xaxrWN1QYM9w9M54otA==", "requires": { "lodash.isplainobject": "~4.0.0" } }, "morgan": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.9.0.tgz", - "integrity": "sha1-0B+mxlhZt2/PMbPLU6OCGjEdgFE=", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", "requires": { - "basic-auth": "~2.0.0", + "basic-auth": "~2.0.1", "debug": "2.6.9", - "depd": "~1.1.1", + "depd": "~2.0.0", "on-finished": "~2.3.0", - "on-headers": "~1.0.1" + "on-headers": "~1.0.2" + }, + "dependencies": { + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "requires": { + "ee-first": "1.1.1" + } + } } }, "mpath": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.3.0.tgz", - "integrity": "sha1-elj3iem1/TyUUgY0FXlg8mvV70Q=" - }, - "mpromise": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mpromise/-/mpromise-0.5.5.tgz", - "integrity": "sha1-9bJCWddjrMIlewoMjG2Gb9UXMuY=" + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", + "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==" }, "mquery": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/mquery/-/mquery-2.3.3.tgz", - "integrity": "sha512-NC8L14kn+qxJbbJ1gbcEMDxF0sC3sv+1cbRReXXwVvowcwY1y9KoVZFq0ebwARibsadu8lx8nWGvm3V0Pf0ZWQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-4.0.3.tgz", + "integrity": "sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA==", "requires": { - "bluebird": "3.5.0", - "debug": "2.6.9", - "regexp-clone": "0.0.1", - "sliced": "0.0.5" + "debug": "4.x" }, "dependencies": { - "bluebird": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", - "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=" - }, - "sliced": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz", - "integrity": "sha1-XtwETKTrb3gW1Qui/GPiXY/kcH8=" + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "muri": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/muri/-/muri-1.3.0.tgz", - "integrity": "sha512-FiaFwKl864onHFFUV/a2szAl7X0fxVlSKNdhTf+BM8i8goEgYut8u5P9MqQqIYwvaMxjzVESsoEm/2kfkFH1rg==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "mv": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", - "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=", + "integrity": "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==", "requires": { "mkdirp": "~0.5.1", "ncp": "~2.0.0", @@ -12109,7 +13902,7 @@ "glob": { "version": "6.0.4", "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", "requires": { "inflight": "^1.0.4", "inherits": "2", @@ -12121,7 +13914,7 @@ "rimraf": { "version": "2.4.5", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", - "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", + "integrity": "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==", "requires": { "glob": "^6.0.1" } @@ -12131,7 +13924,7 @@ "mz": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.6.0.tgz", - "integrity": "sha1-yLhSHZWN8KTydoAl22nHGe5O8c4=", + "integrity": "sha512-8js8Gn0gxv5D/dqve1Idd6LfvgxRB8eGFNWUq4skKiQKTzqVxdUQFAYPmot4jfbcyD5vMWsqGPqv24ZTN61vPA==", "requires": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -12139,15 +13932,16 @@ } }, "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "optional": true }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "optional": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -12163,26 +13957,27 @@ }, "dependencies": { "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "optional": true } } }, "ncp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", - "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=" + "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==" }, "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, "neo-async": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", - "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "next": { "version": "3.2.3", @@ -12246,48 +14041,75 @@ "xss-filters": "1.2.7" }, "dependencies": { - "babel-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.23.0.tgz", - "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.10.0" - } + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==" }, "etag": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", - "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE=" + "integrity": "sha512-cNpO3IDp+dpOoM+0nNZYJc3ztKz+t6jLuX2Xs87qsFIrlgAqm83zPHtgrbxIREdky8mNTB2o2gIYqx9155CQlA==" }, "fresh": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", - "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=" + "integrity": "sha512-FveevZlqNSIBombLEB9L3WyWg74r6d0sk+unzqKmt33b5egY0YXDFWIQ/t2Fzr9mgBLL0BlL0/rdg8Oq1C0SVw==" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "dependencies": { + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + } + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" }, "mime": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=" + "integrity": "sha512-sAaYXszED5ALBt665F0wMQCUXpGuZsGdopoqcHPdL39ZYdi7uHoZlhrfZfhv8WzivhBzr/oXwaj+yiK5wY8MXQ==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "requires": { + "ee-first": "1.1.1" + } }, "prop-types": { "version": "15.5.10", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", - "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=", + "integrity": "sha512-vCFzoUFaZkVNeFkhK1KbSq4cn97GDrpfBt9K2qLkGnPAEFhEv3M61Lk5t+B7c0QfMLWo0fPkowk/4SuXerh26Q==", "requires": { "fbjs": "^0.8.9", "loose-envify": "^1.3.1" } }, - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=" - }, "send": { "version": "0.15.6", "resolved": "https://registry.npmjs.org/send/-/send-0.15.6.tgz", - "integrity": "sha1-IPI6nJJbdiq4JwX+L52yUqzkfjQ=", + "integrity": "sha512-e1/758VJ+GsPg8vE+Z/xE7R36IWogUl8rrrs53CsfHrT2IyZyPggfvbHT8HTV3yBNKrUHYUTsBQ9pXQYkcB4YQ==", "requires": { "debug": "2.6.9", "depd": "~1.1.1", @@ -12307,19 +14129,29 @@ "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" } } }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, "statuses": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + "integrity": "sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==" + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" } } }, @@ -12332,9 +14164,9 @@ } }, "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" }, "node-fetch": { "version": "1.7.3", @@ -12346,9 +14178,9 @@ } }, "node-libs-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", - "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "requires": { "assert": "^1.1.1", "browserify-zlib": "^0.2.0", @@ -12357,10 +14189,10 @@ "constants-browserify": "^1.0.0", "crypto-browserify": "^3.11.0", "domain-browser": "^1.1.1", - "events": "^1.0.0", + "events": "^3.0.0", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", - "path-browserify": "0.0.0", + "path-browserify": "0.0.1", "process": "^0.11.10", "punycode": "^1.2.4", "querystring-es3": "^0.2.0", @@ -12371,42 +14203,18 @@ "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", "url": "^0.11.0", - "util": "^0.10.3", - "vm-browserify": "0.0.4" + "util": "^0.11.0", + "vm-browserify": "^1.0.1" }, "dependencies": { - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } } } @@ -12414,49 +14222,48 @@ "nopt": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", "requires": { "abbrev": "1" } }, "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "requires": { "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", + "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "optional": true }, "nprogress": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==" }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "optional": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -12466,85 +14273,130 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, "requires": { "is-descriptor": "^0.1.0" } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "optional": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "optional": true + } + } } } }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" + }, "object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "optional": true, "requires": { "isobject": "^3.0.0" } }, "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" } }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "optional": true, "requires": { "isobject": "^3.0.1" } }, "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "requires": { "ee-first": "1.1.1" } }, "on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } }, "open-color": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/open-color/-/open-color-1.6.3.tgz", - "integrity": "sha512-UAnb19odLDupaVDSioSHZZlWEkJvKHDE7CxB3Zg1vS0FpHAc72AkzfH0wCSwYK5TKg6bjtmFSfmQF9FcjQANZA==" + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/open-color/-/open-color-1.9.1.tgz", + "integrity": "sha512-vCseG/EQ6/RcvxhUcGJiHViOgrtz4x0XbZepXvKik66TMGkvbmjeJrKFyBEx6daG5rNyyd14zYXhz0hZVwQFOw==" }, "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" }, "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==" }, "os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", "requires": { "lcid": "^1.0.0" } @@ -12552,7 +14404,7 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" }, "p-limit": { "version": "1.3.0", @@ -12565,7 +14417,7 @@ "p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "requires": { "p-limit": "^1.1.0" } @@ -12578,50 +14430,52 @@ "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==" }, "pako": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" }, "parse-asn1": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", - "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "requires": { - "asn1.js": "^4.0.0", + "asn1.js": "^5.2.0", "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" } }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", "requires": { "error-ex": "^1.2.0" } }, "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "optional": true }, "passport": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/passport/-/passport-0.4.0.tgz", - "integrity": "sha1-xQlWkTR71a07XhgCOMORTRbwWBE=", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.6.0.tgz", + "integrity": "sha512-0fe+p3ZnrWRW74fe8+SvCyf4a3Pb2/h7gFkQ8yTJpAO50gDzlfjZUZTO1k5Eg9kUct22OxHLqDZoKUWRHOh9ug==", "requires": { "passport-strategy": "1.x.x", - "pause": "0.0.1" + "pause": "0.0.1", + "utils-merge": "^1.0.1" } }, "passport-jwt": { @@ -12636,67 +14490,56 @@ "passport-local": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz", - "integrity": "sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4=", + "integrity": "sha512-9wCE6qKznvf9mQYYbgJ3sVOHmCWoUNMVFoZzNoznmISbhnNNPhN9xfY3sLmScHMetEJeoY7CXwfhCe7argfQow==", "requires": { "passport-strategy": "1.x.x" } }, "passport-local-mongoose": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/passport-local-mongoose/-/passport-local-mongoose-4.5.0.tgz", - "integrity": "sha512-fd5dUdTcN37DA+CCL/7kGQ57ACs6NXyuNmWjrTj4kvTOFa7SA+msEYPYwpgwbc3Nc+4RUeMtEQW4fPMx7nDObQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/passport-local-mongoose/-/passport-local-mongoose-7.1.2.tgz", + "integrity": "sha512-hNLIKi/6IhElr/PhOze8wLDh7T4+ZYhc8GFWYApLgG7FrjI55tuGZELPtsUBqODz77OwlUUf+ngPgHN09zxGLg==", "requires": { - "debug": "^3.1.0", "generaterr": "^1.5.0", "passport-local": "^1.0.0", - "scmp": "^2.0.0", - "semver": "^5.4.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } + "scmp": "^2.1.0" } }, "passport-strategy": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", - "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" + "integrity": "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==" }, "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "optional": true }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" }, "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" }, "path-match": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/path-match/-/path-match-1.2.4.tgz", - "integrity": "sha1-pidH88fgwlFHYml/JEQ1hbCRAOo=", + "integrity": "sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==", "requires": { "http-errors": "~1.4.0", "path-to-regexp": "^1.0.0" @@ -12705,7 +14548,7 @@ "http-errors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.4.0.tgz", - "integrity": "sha1-bAJC3qaz33r9oVPHEImzHG6Cqr8=", + "integrity": "sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==", "requires": { "inherits": "2.0.1", "statuses": ">= 1.2.1 < 2" @@ -12714,37 +14557,42 @@ "inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==" }, "isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" }, "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", "requires": { "isarray": "0.0.1" } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" } } }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, "path-type": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", "requires": { "graceful-fs": "^4.1.2", "pify": "^2.0.0", @@ -12754,19 +14602,19 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" } } }, "pause": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" + "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" }, "pbkdf2": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", - "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "requires": { "create-hash": "^1.1.2", "create-hmac": "^1.1.4", @@ -12775,20 +14623,25 @@ "sha.js": "^2.4.8" } }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==" }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "requires": { "pinkie": "^2.0.0" } @@ -12796,7 +14649,7 @@ "pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "integrity": "sha512-ojakdnUgL5pzJYWw2AIDEupaQCX5OPbM688ZevubICjdIX01PRSYKqm33fJoCOJBRseYCTUlQRnBNX+Pchaejw==", "requires": { "find-up": "^2.1.0" } @@ -12804,25 +14657,26 @@ "pkg-up": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "integrity": "sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg==", "requires": { "find-up": "^2.1.0" } }, "polished": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/polished/-/polished-1.8.1.tgz", - "integrity": "sha512-0DJUKvma7rdAIhntPxZpRNGFbvMtk+9i4mttF+mBc9DRy3agw44H3GDnh0R2AgBce/D226uKEvztjRQptP9jBg==" + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/polished/-/polished-1.9.3.tgz", + "integrity": "sha512-4NmSD7fMFlM8roNxs7YXPv7UFRbYzb0gufR5zBxJLRzY54+zFsavxBo6zsQzP9ep6Hh3pC2pTyrpSTBEaB6IkQ==" }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "optional": true }, "postcss-value-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=" + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" }, "private": { "version": "0.1.8", @@ -12830,14 +14684,14 @@ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "promise": { "version": "7.3.1", @@ -12848,12 +14702,13 @@ } }, "prop-types": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", - "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", - "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, "prop-types-exact": { @@ -12867,65 +14722,74 @@ } }, "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" }, "public-encrypt": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", - "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "requires": { "bn.js": "^4.1.0", "browserify-rsa": "^4.0.0", "create-hash": "^1.1.0", "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1" + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" } }, "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" }, "querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==" }, "random-bytes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" + "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==" }, "randombytes": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { "safe-buffer": "^5.1.0" } @@ -12940,81 +14804,47 @@ } }, "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", "unpipe": "1.0.0" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } } }, "react": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", - "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/react/-/react-15.7.0.tgz", + "integrity": "sha512-5/MMRYmpmM0sMTHGLossnJCrmXQIiJilD6y3YN3TzAwGFj6zdnMtFv6xmi65PHKRV+pehIHpT7oy67Sr6s9AHA==", "requires": { "create-react-class": "^15.6.0", "fbjs": "^0.8.9", "loose-envify": "^1.1.0", "object-assign": "^4.1.0", "prop-types": "^15.5.10" - }, - "dependencies": { - "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - } } }, "react-deep-force-update": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-2.1.1.tgz", - "integrity": "sha1-jqQmPNZFWgULN0RbPwj9g52G6Qk=" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-2.1.3.tgz", + "integrity": "sha512-lqD4eHKVuB65RyO/hGbEST53E2/GPbcIPcFYyeW/p4vNngtH4G7jnKGlU6u1OqrFo0uNfIvwuBOg98IbLHlNEA==" }, "react-dom": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.2.tgz", - "integrity": "sha1-Qc+t9pO3V/rycIRDodH9WgK+9zA=", + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.7.0.tgz", + "integrity": "sha512-mpjXqC2t1FuYsILOLCj0kg6pbg460byZkVA/80VtDmKU/pYmoTdHOtaMcTRIDiyXLz4sIur0cQ04nOC6iGndJg==", "requires": { "fbjs": "^0.8.9", "loose-envify": "^1.1.0", "object-assign": "^4.1.0", "prop-types": "^15.5.10" - }, - "dependencies": { - "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - } } }, "react-event-listener": { @@ -13031,7 +14861,7 @@ "react-hot-loader": { "version": "3.0.0-beta.7", "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-3.0.0-beta.7.tgz", - "integrity": "sha1-1YR7gWXXMcTVsw2G1dRxYieg+oM=", + "integrity": "sha512-p2VbPsRrbiwR0JTyIonka1PcoEbF7Y9q/7tsCsvgYmu8MkBCdokqV7ZPB7wbNhGX2lmnmoUb534N2sYntrYNrA==", "requires": { "babel-template": "^6.7.0", "global": "^4.3.0", @@ -13044,7 +14874,7 @@ "source-map": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==", "requires": { "amdefine": ">=0.0.4" } @@ -13054,7 +14884,8 @@ "react-icon-base": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/react-icon-base/-/react-icon-base-2.1.0.tgz", - "integrity": "sha1-oZbjP98eeqof2jrvu2i9rZ6Cp50=" + "integrity": "sha512-9wwKJa2LB8ujtJB5MAXYYEM7JfYThZTj0YnfGxzLLWkifaLIGc7iTde2EpJ7ka5MjneRHnlxbIn5VV9k2WjUVA==", + "requires": {} }, "react-icons": { "version": "2.2.7", @@ -13064,6 +14895,11 @@ "react-icon-base": "2.1.0" } }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, "react-jsonschema-form": { "version": "0.50.1", "resolved": "https://registry.npmjs.org/react-jsonschema-form/-/react-jsonschema-form-0.50.1.tgz", @@ -13073,24 +14909,17 @@ "lodash.topath": "^4.5.2", "prop-types": "^15.5.8", "setimmediate": "^1.0.5" - }, - "dependencies": { - "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - } } }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, "react-notification-system": { "version": "0.2.17", "resolved": "https://registry.npmjs.org/react-notification-system/-/react-notification-system-0.2.17.tgz", - "integrity": "sha1-pg7du2IiWtj5/F14N1Rr9s2zaBg=", + "integrity": "sha512-i/ruSKE7aO05hpBt7MvbqLVCu2bzkoo5ApE3PXfj9Dh6oQOpjvaGPswmziuQiensRyMkWsb9mVh/8OmXzMERtw==", "requires": { "create-react-class": "^15.5.1", "object-assign": "^4.0.1", @@ -13098,35 +14927,53 @@ } }, "react-onclickoutside": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.7.1.tgz", - "integrity": "sha512-p84kBqGaMoa7VYT0vZ/aOYRfJB+gw34yjpda1Z5KeLflg70HipZOT+MXQenEhdkPAABuE2Astq4zEPdMqUQxcg==" + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.12.2.tgz", + "integrity": "sha512-NMXGa223OnsrGVp5dJHkuKxQ4czdLmXSp5jSV9OqiCky9LOpPATn3vLldc+q5fK3gKbEHvr7J1u0yhBh/xYkpA==", + "requires": {} }, "react-proxy": { "version": "3.0.0-alpha.1", "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz", - "integrity": "sha1-RABCa8+oDKpnJMd1VpUxUgn6Swc=", + "integrity": "sha512-uyPHKDJ99eBf/wTi768z176I8+c2NvGG5wKdctvHJO5XyZl/brIiwDQ+HBA8Zag5nDdTICYxdBafxBiUxJARrQ==", "requires": { "lodash": "^4.6.1" } }, "react-redux": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz", - "integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==", - "requires": { - "hoist-non-react-statics": "^2.5.0", - "invariant": "^2.0.0", - "lodash": "^4.17.5", - "lodash-es": "^4.17.5", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.1.2.tgz", + "integrity": "sha512-Ns1G0XXc8hDyH/OcBHOxNgQx9ayH3SPxBnFCOidGKSle8pKihysQw2rG/PmciUQRoclhVBO8HMhiRmGXnDja9Q==", + "requires": { + "@babel/runtime": "^7.1.2", + "hoist-non-react-statics": "^3.3.0", + "invariant": "^2.2.4", "loose-envify": "^1.1.0", - "prop-types": "^15.6.0" + "prop-types": "^15.6.1", + "react-is": "^16.6.0", + "react-lifecycles-compat": "^3.0.0" }, "dependencies": { - "lodash-es": { - "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.10.tgz", - "integrity": "sha512-iesFYPmxYYGTcmQK0sL8bX3TGHyM6b2qREaB4kamHfQyfPJP0xgoGxp19nsH16nsfquLdiyKyX3mQkfiSGV8Rg==" + "@babel/runtime": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "regenerator-runtime": { + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", + "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" } } }, @@ -13140,24 +14987,12 @@ "loose-envify": "^1.3.1", "prop-types": "^15.5.6", "warning": "^3.0.0" - }, - "dependencies": { - "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - } } }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", "requires": { "load-json-file": "^1.0.0", "normalize-package-data": "^2.3.2", @@ -13167,7 +15002,7 @@ "read-pkg-up": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", "requires": { "find-up": "^1.0.0", "read-pkg": "^1.0.0" @@ -13176,7 +15011,7 @@ "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", "requires": { "path-exists": "^2.0.0", "pinkie-promise": "^2.0.0" @@ -13185,7 +15020,7 @@ "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", "requires": { "pinkie-promise": "^2.0.0" } @@ -13193,37 +15028,48 @@ } }, "readable-stream": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.7.tgz", - "integrity": "sha1-BwV6y+JGeyIELTb5jFrVBwVOlbE=", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "requires": { - "buffer-shims": "~1.0.0", "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "optional": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "picomatch": "^2.2.1" } }, "recursive-copy": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/recursive-copy/-/recursive-copy-2.0.9.tgz", - "integrity": "sha512-0AkHV+QtfS/1jW01z3m2t/TRTW56Fpc+xYbsoa/bqn8BCYPwmsaNjlYmUU/dyGg9w8MmGoUWihU5W+s+qjxvBQ==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/recursive-copy/-/recursive-copy-2.0.14.tgz", + "integrity": "sha512-K8WNY8f8naTpfbA+RaXmkaQuD1IeW9EgNEfyGxSqqTQukpVtoOKros9jUqbpEsSw59YOmpd8nCBgtqJZy5nvog==", "requires": { - "del": "^2.2.0", - "emitter-mixin": "0.0.3", "errno": "^0.1.2", "graceful-fs": "^4.1.4", "junk": "^1.0.1", @@ -13231,40 +15077,14 @@ "mkdirp": "^0.5.1", "pify": "^2.3.0", "promise": "^7.0.1", + "rimraf": "^2.7.1", "slash": "^1.0.0" }, "dependencies": { - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - } - }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" } } }, @@ -13282,7 +15102,7 @@ "error-stack-parser": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz", - "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=", + "integrity": "sha512-xhuSYd8wLgOXwNgjcPeXMPL/IiiA1Huck+OPvClpJViVNNlJVtM41o+1emp7bPvlCJwCatFX2DWc05/DgfbWzA==", "requires": { "stackframe": "^0.3.1" } @@ -13290,14 +15110,14 @@ "stackframe": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz", - "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=" + "integrity": "sha512-XmoiF4T5nuWEp2x2w92WdGjdHGY/cZa6LIbRsDRQR/Xlk4uW0PAUlH1zJYVffocwKpCdwyuypIp25xsSXEtZHw==" } } }, "reduce-reducers": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/reduce-reducers/-/reduce-reducers-0.1.5.tgz", - "integrity": "sha512-uoVmQnZQ+BtKKDKpBdbBri5SLNyIK9ULZGOA504++VbHcwouWE+fJDIo8AuESPF9/EYSkI0v05LDEQK6stCbTA==" + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/reduce-reducers/-/reduce-reducers-0.4.3.tgz", + "integrity": "sha512-+CNMnI8QhgVMtAt54uQs3kUxC3Sybpa7Y63HR14uGLgI9/QR5ggHvpxwhGGe3wmx5V91YwqQIblN9k5lspAmGw==" }, "redux": { "version": "3.7.2", @@ -13308,45 +15128,39 @@ "lodash-es": "^4.2.1", "loose-envify": "^1.1.0", "symbol-observable": "^1.0.3" - }, - "dependencies": { - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - } } }, "redux-actions": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/redux-actions/-/redux-actions-2.6.1.tgz", - "integrity": "sha1-QsBulHOfvm2zXbNgWrsQW9s3JNg=", - "requires": { - "invariant": "^2.2.1", - "lodash.camelcase": "^4.3.0", - "lodash.curry": "^4.1.1", - "reduce-reducers": "^0.1.0" + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/redux-actions/-/redux-actions-2.6.5.tgz", + "integrity": "sha512-pFhEcWFTYNk7DhQgxMGnbsB1H2glqhQJRQrtPb96kD3hWiZRzXHwwmFPswg6V2MjraXRXWNmuP9P84tvdLAJmw==", + "requires": { + "invariant": "^2.2.4", + "just-curry-it": "^3.1.0", + "loose-envify": "^1.4.0", + "reduce-reducers": "^0.4.3", + "to-camel-case": "^1.0.0" } }, "redux-saga": { "version": "0.15.6", "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-0.15.6.tgz", - "integrity": "sha1-hjjcUi3mxsCklv6LK1RmKHrC3E0=" + "integrity": "sha512-G6djLFDSstQosBX4Bbcz0qP72kZjr/OaAcg/As5G9aiZgWlTZNBAg6RF0/esdGqlzsDRzsn2C2tigGk9gQJbQQ==" }, "reflect.ownkeys": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz", - "integrity": "sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=" + "integrity": "sha512-qOLsBKHCpSOFKK1NUOCGC5VyeufB6lEsFe92AL2bhIJsacZS1qdoOZSbPk3MYKuT2cFlRDnulKXuuElIrMjGUg==" }, "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==" }, "regenerator-transform": { "version": "0.10.1", @@ -13362,20 +15176,16 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "optional": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" } }, - "regexp-clone": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz", - "integrity": "sha1-p8LgmJH9vzj7sQ03b7cwA+aKxYk=" - }, "regexpu-core": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "integrity": "sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ==", "requires": { "regenerate": "^1.2.1", "regjsgen": "^0.2.0", @@ -13385,12 +15195,12 @@ "regjsgen": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + "integrity": "sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g==" }, "regjsparser": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "integrity": "sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw==", "requires": { "jsesc": "~0.5.0" }, @@ -13398,89 +15208,96 @@ "jsesc": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" } } }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "optional": true }, "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "optional": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" }, "repeating": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", "requires": { "is-finite": "^1.0.0" } }, - "require_optional": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz", - "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", - "requires": { - "resolve-from": "^2.0.0", - "semver": "^5.1.0" - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==" }, "resolve": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", - "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", - "requires": { - "path-parse": "^1.0.5" + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, - "resolve-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", - "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=" - }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "optional": true }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "optional": true }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", "requires": { "align-text": "^0.1.1" } }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "ripemd160": { @@ -13492,15 +15309,21 @@ "inherits": "^2.0.1" } }, + "run-series": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.1.9.tgz", + "integrity": "sha512-Arc4hUN896vjkqCYrUXquBFtRZdv1PfLbTYP71efP6butxyQ0kWpiNJyAgsxscmQg1cqvHY32/UCBzXedTpU2g==" + }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "optional": true, "requires": { "ret": "~0.1.10" } @@ -13510,10 +15333,19 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "saslprep": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz", + "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==", + "optional": true, + "requires": { + "sparse-bitfield": "^3.0.3" + } + }, "scmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.0.0.tgz", - "integrity": "sha1-JHEQ7yLM+JexOj8KvdtSeCOTzWo=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz", + "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==" }, "semver": { "version": "5.7.1", @@ -13521,67 +15353,61 @@ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "dependencies": { - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, "serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "requires": { + "type-fest": "^0.13.1" + } }, "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.18.0" } }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "optional": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -13592,22 +15418,29 @@ "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, "requires": { "is-extendable": "^0.1.0" } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true } } }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" }, "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "sha.js": { "version": "2.4.11", @@ -13621,7 +15454,7 @@ "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "requires": { "shebang-regex": "^1.0.0" } @@ -13629,22 +15462,38 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "sift": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.0.tgz", + "integrity": "sha512-ILTjdP2Mv9V1kIxWMXeMTIRbOBrqKc4JAXmFMnFq3fKeyQ2Qwa3Dw1ubcye3vR+Y6ofA0b9gNDr/y2t6eUeIzQ==" }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==" }, - "sliced": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", - "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "optional": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -13659,7 +15508,8 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, "requires": { "is-descriptor": "^0.1.0" } @@ -13667,10 +15517,54 @@ "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, "requires": { "is-extendable": "^0.1.0" } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "optional": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "optional": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true } } }, @@ -13678,6 +15572,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "optional": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -13687,41 +15582,11 @@ "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "optional": true, "requires": { "is-descriptor": "^1.0.0" } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, @@ -13729,26 +15594,37 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "optional": true, "requires": { "kind-of": "^3.2.0" } }, + "socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "requires": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + } + }, "source-list-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" }, "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "optional": true, "requires": { - "atob": "^2.1.1", + "atob": "^2.1.2", "decode-uri-component": "^0.2.0", "resolve-url": "^0.2.1", "source-map-url": "^0.4.0", @@ -13758,20 +15634,21 @@ "source-map-support": { "version": "0.4.15", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.15.tgz", - "integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=", + "integrity": "sha512-oRP/tYo0d1l3D4f/bRWkWeLg80AxAqE225Vf1tbkuHZxANSgSQwfDHzDuhpS7U0ocKfwggp4PSAnMoRKsAgIZg==", "requires": { "source-map": "^0.5.6" } }, "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "optional": true }, "sourcemapped-stacktrace": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.8.tgz", - "integrity": "sha512-OkVoI7GQOLl/laR1qsSo1c87tS8kF2VXhQq2SrQCDdXufBAcm8FgXogWso96ciMYoDtTw1Dn70CVdwYzoYs6Pg==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.11.tgz", + "integrity": "sha512-O0pcWjJqzQFVsisPlPXuNawJHHg9N9UgpJ/aDmvi9+vnS3x1C0NhwkVFzzZ1VN0Xo+bekyweoqYvBw5ZBKiNnQ==", "requires": { "source-map": "0.5.6" }, @@ -13779,55 +15656,66 @@ "source-map": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" + "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" } } }, + "sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "optional": true, + "requires": { + "memory-pager": "^1.0.2" + } + }, "spdx-correct": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", - "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" }, "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==" + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "optional": true, "requires": { "extend-shallow": "^3.0.0" } }, "stackframe": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz", - "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==" + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "optional": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -13836,22 +15724,60 @@ "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, "requires": { "is-descriptor": "^0.1.0" } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "optional": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "optional": true + } + } } } }, "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, "stream-browserify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" @@ -13867,54 +15793,25 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "string-hash": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.1.tgz", - "integrity": "sha1-joW+0pHgdjuPaAnZwzaP6gSNs9w=" + "integrity": "sha512-fdhER5WjzXjJsfv2RbqqIoW+cWToN6aRrwkJu8co15A1r7ZMdiorUYwE5wAYv+p5Dcn/ft6UnEJL6IlaxK2ejQ==" }, "string-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", - "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", + "integrity": "sha512-MNCACnufWUf3pQ57O5WTBMkKhzYIaKEcUioO0XHrTMafrbBaNk4IyDOLHBv5xbXO0jLLdsYWeFjpjG2hVHRDtw==", "requires": { "strip-ansi": "^3.0.0" } @@ -13922,7 +15819,7 @@ "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -13932,7 +15829,7 @@ "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "requires": { "ansi-regex": "^2.0.0" } @@ -13940,15 +15837,21 @@ "strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", "requires": { "is-utf8": "^0.2.0" } }, + "strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "optional": true + }, "styled-components": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-2.4.1.tgz", - "integrity": "sha1-ZjvQSF1LarRvlGIQ3APSOY0a3nQ=", + "integrity": "sha512-dO0MpONBmVfjA/DSdpcLYObQZcbM+ZXoBOx5ytk4ZmUuyo3JG7QFMvHQEIvVRL1Uogf6x0DI9XWve6pyW9TTiA==", "requires": { "buffer": "^5.0.3", "css-to-react-native": "^2.0.3", @@ -13960,24 +15863,15 @@ "supports-color": "^3.2.3" }, "dependencies": { - "buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.0.tgz", - "integrity": "sha512-nUJyfChH7PMJy75eRDCCKtszSEFokUNXC1hNVSe+o+VdcgvDPLs20k3v8UXI8ruRYAJiYtyRea8mYyqPxoHWDw==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, "hoist-non-react-statics": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", - "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" + "integrity": "sha512-r8huvKK+m+VraiRipdZYc+U4XW43j6OFG/oIafe7GfDbRpCduRoX9JI/DRxqgtBSCeL+et6N6ibZoedHS2NyOQ==" }, "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", "requires": { "has-flag": "^1.0.0" } @@ -13987,7 +15881,7 @@ "styled-jsx": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-1.0.11.tgz", - "integrity": "sha1-hFTwaRbZ1Xoumu1qnC5pUXeCIEU=", + "integrity": "sha512-nWbUS3u50pZ3taupBwFt8UANsz+ef8w2PjlmxtQZESeU9rji4MWb82p0vzKWKjoRAi0b/FpTPdrT98Ce7vL1kQ==", "requires": { "babel-plugin-syntax-jsx": "6.18.0", "babel-traverse": "6.21.0", @@ -14004,7 +15898,7 @@ "babel-traverse": { "version": "6.21.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.21.0.tgz", - "integrity": "sha1-acY2WATxpPaesSE/hbAKgYuMIa0=", + "integrity": "sha512-cZBXjV8LlK4oYF2VtNIqcuoVS+Vo0Soe+/WkFl1SuP8gAn+N4zOujWWf6LzK+ovJsrtiDAWdAl6PHDBpr1Pv7w==", "requires": { "babel-code-frame": "^6.20.0", "babel-messages": "^6.8.0", @@ -14020,7 +15914,7 @@ "babel-types": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.23.0.tgz", - "integrity": "sha1-uxcXnXU4utOM0MnhFdNA935+ms8=", + "integrity": "sha512-NYwkqoqNBNVHrVnqhb1oZI6A7D1lzhme01ormWk9vYO8Epe70sfYQu3NkCa2Rfd9+H8r7WB2/LJkGylBDvK6bQ==", "requires": { "babel-runtime": "^6.22.0", "esutils": "^2.0.2", @@ -14031,17 +15925,17 @@ "babylon": { "version": "6.14.1", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.14.1.tgz", - "integrity": "sha1-lWJ1+rcnU62bNDXXr+WPi/CimBU=" + "integrity": "sha512-izT2zd9RVjSJQUcw6DG60oF/FDGMlFYoygfVo0ut7n7Dy9lsxOlkhBrZAO19TB9qA0LJSFuDq4WfjsFXhXQ/fg==" }, "convert-source-map": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.3.0.tgz", - "integrity": "sha1-6fPpxuJyjvwmdmlqcOs4L3MQamc=" + "integrity": "sha512-8iaBspZWViJD+h8epOgGyXGWH2wSDLzQ8w9qDs/L7W67IfnEeXKu/Q1cPeWpIrRJc9Mvzbn6hKxnL3goD5ncwQ==" }, "source-map": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" + "integrity": "sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==" }, "stylis": { "version": "3.2.18", @@ -14051,34 +15945,39 @@ "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==" } } }, "stylis": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.3.tgz", - "integrity": "sha512-TxU0aAscJghF9I3V9q601xcK3Uw1JbXvpsBGj/HULqexKOKlOEzzlIpLFRbKkCK990ccuxfXUqmPbIIo7Fq/cQ==" + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", + "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==" }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==" + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, "symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" }, "tapable": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", - "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=" + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", + "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==" }, "thenify": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", - "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "requires": { "any-promise": "^1.0.0" } @@ -14086,15 +15985,15 @@ "thenify-all": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "requires": { "thenify": ">= 3.1.0 < 4" } }, "timers-browserify": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", - "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "requires": { "setimmediate": "^1.0.4" } @@ -14102,17 +16001,31 @@ "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" + }, + "to-camel-case": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-camel-case/-/to-camel-case-1.0.0.tgz", + "integrity": "sha512-nD8pQi5H34kyu1QDMFjzEIYqk0xa9Alt6ZfrdEMuHCFOfTLhDG5pgTu/aAM9Wt9lXILwlXmWP43b8sav0GNE8Q==", + "requires": { + "to-space-case": "^1.0.0" + } }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-no-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-no-case/-/to-no-case-1.0.2.tgz", + "integrity": "sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg==" }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "optional": true, "requires": { "kind-of": "^3.0.2" } @@ -14121,6 +16034,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "optional": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -14129,14 +16043,27 @@ } }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "optional": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" } }, + "to-space-case": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-space-case/-/to-space-case-1.0.0.tgz", + "integrity": "sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA==", + "requires": { + "to-no-case": "^1.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, "touch": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", @@ -14145,15 +16072,36 @@ "nopt": "~1.0.10" } }, + "tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "requires": { + "punycode": "^2.1.1" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + } + } + }, "traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==" }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==" + }, + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "optional": true }, "tsscmp": { "version": "1.0.6", @@ -14163,36 +16111,61 @@ "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==" }, "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "~2.1.24" } }, "ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", + "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==" }, "uglify-js": { "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", "requires": { "source-map": "~0.5.1", "uglify-to-browserify": "~1.0.0", "yargs": "~3.10.0" }, "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==" + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, "yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", "requires": { "camelcase": "^1.0.2", "cliui": "^2.1.0", @@ -14205,13 +16178,13 @@ "uglify-to-browserify": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==", "optional": true }, "uglifyjs-webpack-plugin": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "integrity": "sha512-TNM20HMW67kxHRNCZdvLyiwE1ST6WyY5Ae+TG55V81NpvNwJ9+V4/po4LHA1R9afV/WrqzfedG2UJCk2+swirw==", "requires": { "source-map": "^0.5.6", "uglify-js": "^2.8.29", @@ -14229,49 +16202,38 @@ "unfetch": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-3.0.0.tgz", - "integrity": "sha1-jR4FE6Ts0OX/LUGmund3Gq6LZII=" + "integrity": "sha512-4hZ0t0k10tqyHPIFStzCoNsjFf2hwNuq7Rfuy2aKTr+2UhYku0v0agHtEIu0ExIOAfVyfccg24etq1Pnth5rSw==" }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "optional": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "set-value": "^2.0.1" }, "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true } } }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "optional": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -14280,7 +16242,8 @@ "has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "optional": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -14290,7 +16253,8 @@ "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "optional": true, "requires": { "isarray": "1.0.0" } @@ -14300,24 +16264,27 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "optional": true } } }, "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "optional": true }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "optional": true }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -14326,30 +16293,39 @@ "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "optional": true }, "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "requires": { "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + } } }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" }, "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "optional": true }, "validate-npm-package-license": { "version": "3.0.4", @@ -14363,20 +16339,17 @@ "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" }, "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "requires": { - "indexof": "0.0.1" - } + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" }, "walk": { - "version": "2.3.14", - "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.14.tgz", - "integrity": "sha512-5skcWAUmySj6hkBdH6B6+3ddMjVQYH5Qy9QGbPmN8kVmLteXk+yVXg+yfk1nbX30EYakahLrr8iPcCxJQSCBeg==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.15.tgz", + "integrity": "sha512-4eRTBZljBfIISK1Vnt69Gvr2w/wc3U6Vtrw7qiN5iqYJPH7LElcYh/iU4XWhdCy2dZqv1ToMyYlybDylfG/5Vg==", "requires": { "foreachasync": "^3.0.0" } @@ -14384,25 +16357,204 @@ "warning": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "integrity": "sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==", "requires": { "loose-envify": "^1.0.0" } }, "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "requires": { - "chokidar": "^2.0.2", + "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "optional": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } } }, + "webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" + }, "webpack": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.3.0.tgz", - "integrity": "sha1-zi+eB2Vmq6kfdIhxM6iD/X2hh7w=", + "integrity": "sha512-Cc6gAZS9k6OfZZb3A3BhG/pbA17h9zF10ys32KGDmZfusJDKOdk4TogjsyTl4WIp++EL/POi3oeQGWhp8wTddQ==", "requires": { "acorn": "^5.0.0", "acorn-dynamic-import": "^2.0.0", @@ -14431,7 +16583,7 @@ "supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", "requires": { "has-flag": "^1.0.0" } @@ -14441,7 +16593,7 @@ "webpack-dev-middleware": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.11.0.tgz", - "integrity": "sha1-CWkdCXOjCtH4Ksc6EuIIfwpHVPk=", + "integrity": "sha512-51YARPK2lHMRml5qcfNukC01RF4Dqi/ajM3DsqHK77pC0icIg2A922ZxpgP//Ks2QcLmnbabz2cj/qK/28v0/Q==", "requires": { "memory-fs": "~0.4.1", "mime": "^1.3.4", @@ -14461,9 +16613,9 @@ } }, "webpack-sources": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", - "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "requires": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" @@ -14477,14 +16629,23 @@ } }, "weedout": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/weedout/-/weedout-0.1.3.tgz", - "integrity": "sha1-y/KoQsPmWr94WEgN4hZo2M+H0wA=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/weedout/-/weedout-1.0.1.tgz", + "integrity": "sha512-FvqG3/BxYjmNJqPDsHtaoaQAGwa6iJXu6Kxu09WC3nr9ClBz61dGxDSTwc5VPVzT+6CBH1j4MwtUMa9hZXOeIw==" }, "whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", + "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" + }, + "whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "requires": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + } }, "which": { "version": "1.3.1", @@ -14497,22 +16658,22 @@ "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==" }, "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==" }, "wordwrap": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==" }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" @@ -14521,7 +16682,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "write-file-webpack-plugin": { "version": "4.1.0", @@ -14539,27 +16700,27 @@ "xss-filters": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/xss-filters/-/xss-filters-1.2.7.tgz", - "integrity": "sha1-Wfod4gHzby80cNysX1jMwoMLCpo=" + "integrity": "sha512-KzcmYT/f+YzcYrYRqw6mXxd25BEZCxBQnf+uXTopQDIhrmiaLwO+f+yLsIvvNlPhYvgff8g3igqrBxYh9k8NbQ==" }, "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" }, "yargs": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "integrity": "sha512-6/QWTdisjnu5UHUzQGst+UOEuEVwIzFVGBjq3jMTFNs5WJQsH/X6nMURSaScIdF5txylr1Ao9bvbWiKi2yXbwA==", "requires": { "camelcase": "^3.0.0", "cliui": "^3.2.0", @@ -14574,38 +16735,14 @@ "which-module": "^1.0.0", "y18n": "^3.2.1", "yargs-parser": "^4.2.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - } } }, "yargs-parser": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "integrity": "sha512-+QQWqC2xeL0N5/TE+TY6OGEqyNRM+g2/r712PDNYgiCdXYCApXf1vzfmDSLBxfGRwV+moTq/V8FnMI24JCm2Yg==", "requires": { "camelcase": "^3.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - } } } }
View file
open5gs_2.4.11.tar.xz/webui/package.json -> open5gs_2.5.0.tar.xz/webui/package.json
Changed
@@ -1,51 +1,51 @@ { "name": "open5gs", - "version": "2.4.11", + "version": "2.5.0", "description": "Open5gs", "main": "index.js", "repository": "https://github.com/open5gs/open5gs/webui", "author": "Open5gs Group", "license": "AGPL-3.0", "dependencies": { - "axios": "^0.16.2", + "axios": "^1.1.3", "babel-plugin-polished": "^1.1.0", - "babel-plugin-styled-components": "^1.5.1", - "body-parser": "^1.18.3", - "connect-mongo": "^1.3.2", - "express": "^4.16.3", - "express-restify-mongoose": "^4.3.0", - "express-session": "^1.15.2", - "immutable": "^3.8.1", + "babel-plugin-styled-components": "^2.0.7", + "body-parser": "^1.20.1", + "connect-mongo": "^4.6.0", + "express": "^4.18.2", + "express-restify-mongoose": "^7.0.2", + "express-session": "^1.17.3", + "immutable": "^4.1.0", "jsonwebtoken": "^8.5.1", - "lodash": "^4.17.10", - "lusca": "^1.6.0", - "method-override": "^2.3.9", - "mongoose": "^4.13.14", - "mongoose-long": "^0.1.1", - "morgan": "^1.8.2", + "lodash": "^4.17.21", + "lusca": "^1.7.0", + "method-override": "^3.0.0", + "mongoose": "^6.7.0", + "mongoose-long": "^0.6.0", + "morgan": "^1.10.0", "next": "^3.2.3", "next-redux-wrapper": "^1.3.5", "nprogress": "^0.2.0", - "open-color": "^1.6.3", - "passport": "^0.4.0", + "open-color": "^1.9.1", + "passport": "^0.6.0", "passport-jwt": "^4.0.0", "passport-local": "^1.0.0", - "passport-local-mongoose": "^4.5.0", - "prop-types": "^15.6.2", + "passport-local-mongoose": "^7.1.2", + "prop-types": "^15.8.1", "react": "^15.6.1", "react-dom": "^15.6.1", "react-event-listener": "^0.5.9", "react-icons": "^2.2.5", "react-jsonschema-form": "^0.50.1", "react-notification-system": "^0.2.17", - "react-onclickoutside": "^6.7.1", + "react-onclickoutside": "^6.12.2", "react-redux": "^5.0.7", "react-transition-group": "^1.1.3", "redux": "^3.7.2", "redux-actions": "^2.4.0", "redux-saga": "^0.15.6", "styled-components": "^2.4.1", - "traverse": "^0.6.6" + "traverse": "^0.6.7" }, "scripts": { "dev": "node server/index.js",
View file
open5gs_2.4.11.tar.xz/webui/server/index.js -> open5gs_2.5.0.tar.xz/webui/server/index.js
Changed
@@ -17,7 +17,7 @@ const session = require('express-session'); const mongoose = require('mongoose'); -const MongoStore = require('connect-mongo')(session); +const MongoStore = require('connect-mongo'); const passport = require('passport'); const LocalStrategy = require('passport-local').Strategy; @@ -37,7 +37,8 @@ mongoose.set('debug', true); } const db = yield mongoose.connect(process.env.DB_URI, { - useMongoClient: true, + useNewUrlParser: true, + useUnifiedTopology: true /* other options */ }) @@ -70,8 +71,8 @@ server.use(session({ secret: secret, - store: new MongoStore({ - mongooseConnection: mongoose.connection, + store: MongoStore.create({ + mongoUrl: process.env.DB_URI, ttl: 60 * 60 * 24 * 7 * 2 }), resave: false,
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.