맹주환

Merge branch 'feature/add_Weather_API' into feature/Location

# Conflicts:
#	node_modules/.package-lock.json
#	package-lock.json
#	package.json
#	readme.md
1 +{
2 + // Use IntelliSense to learn about possible attributes.
3 + // Hover to view descriptions of existing attributes.
4 + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 + "version": "0.2.0",
6 + "configurations": [
7 + {
8 + "type": "pwa-node",
9 + "request": "launch",
10 + "name": "Launch Program",
11 + "skipFiles": [
12 + "<node_internals>/**"
13 + ],
14 + "program": "${workspaceFolder}/Weather.js"
15 + }
16 + ]
17 +}
...\ No newline at end of file ...\ No newline at end of file
1 +const request = require('request');
2 +const moment = require('moment');
3 +require('moment-timezone');
4 +moment.tz.setDefault("Asia/seoul");
5 +let today = new String(get_base_date());
6 +let time = new String(get_base_time());
7 +var url = 'http://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/getVilageFcst';
8 +var queryParams = '?' + encodeURIComponent('serviceKey') + '=API KEY'; /* Service Key*/
9 +queryParams += '&' + encodeURIComponent('pageNo') + '=' + encodeURIComponent('1'); /* */
10 +queryParams += '&' + encodeURIComponent('numOfRows') + '=' + encodeURIComponent('10'); /* */
11 +queryParams += '&' + encodeURIComponent('dataType') + '=' + encodeURIComponent('JSON'); /* */
12 +queryParams += '&' + encodeURIComponent('base_date') + '=' + encodeURIComponent(today); /* */
13 +queryParams += '&' + encodeURIComponent('base_time') + '=' + encodeURIComponent('2000'); /* */
14 +queryParams += '&' + encodeURIComponent('nx') + '=' + encodeURIComponent('55'); /* */
15 +queryParams += '&' + encodeURIComponent('ny') + '=' + encodeURIComponent('127'); /* */
16 +
17 +
18 +function get_base_date() // 날짜 추출 함수
19 +{
20 + // 0000~0210 사이 시간대에 조회시 전일(date -1)로 변경
21 + let date =moment().format('YYYYMMDD');
22 + let time = new String(moment().format('HHmm'));
23 + if ('0000'<=time && time<'0210'){date -= 1}
24 + return date
25 +}
26 +
27 +function get_base_time() // 시간 추출 함수
28 +{
29 + //단기예보
30 + //- Base_time : 0200, 0500, 0800, 1100, 1400, 1700, 2000, 2300 (1일 8회)
31 + //- API 제공 시간(~이후) : 02:10, 05:10, 08:10, 11:10, 14:10, 17:10, 20:10, 23:10
32 + //- 시간대 맞추기
33 + let time = new String(moment().format('HHmm'));
34 + if ('0000'<=time && time<'0210'){time = '2300'}
35 + else if ('0210'<=time && time<'0510'){time = '0200'}
36 + else if ('0510'<=time && time<'0810'){time = '0500'}
37 + else if ('0810'<=time && time<'1110'){time = '0800'}
38 + else if ('1110'<=time && time<'1410'){time = '1100'}
39 + else if ('1410'<=time && time<'1710'){time = '1400'}
40 + else if ('1710'<=time && time<'2010'){time = '1700'}
41 + else if ('2010'<=time && time<'2310'){time = '2010'}
42 + else if ('2310'<=time && time<'2359'){time = '2300'}
43 + return time
44 + }
45 +
46 +request({
47 + url: url + queryParams,
48 + method: 'GET'
49 +}, function (error, response, body) {
50 + //console.log('Status', response.statusCode);
51 + //console.log('Headers', JSON.stringify(response.headers));
52 + console.log('Reponse received', body);
53 +});
54 +
55 +
56 +
57 +
58 +// 소스출처 : http://www.kma.go.kr/weather/forecast/digital_forecast.jsp 내부에 있음
59 +// 기상청에서 이걸 왜 공식적으로 공개하지 않을까?
60 +//
61 +// (사용 예)
62 +// var rs = dfs_xy_conv("toLL","60","127");
63 +// console.log(rs.lat, rs.lng);
64 +//
65 +
66 + //<!--
67 + //
68 + // LCC DFS 좌표변환을 위한 기초 자료
69 + //
70 + var RE = 6371.00877; // 지구 반경(km)
71 + var GRID = 5.0; // 격자 간격(km)
72 + var SLAT1 = 30.0; // 투영 위도1(degree)
73 + var SLAT2 = 60.0; // 투영 위도2(degree)
74 + var OLON = 126.0; // 기준점 경도(degree)
75 + var OLAT = 38.0; // 기준점 위도(degree)
76 + var XO = 43; // 기준점 X좌표(GRID)
77 + var YO = 136; // 기1준점 Y좌표(GRID)
78 + //
79 + // LCC DFS 좌표변환 ( code : "toXY"(위경도->좌표, v1:위도, v2:경도), "toLL"(좌표->위경도,v1:x, v2:y) )
80 + //
81 +
82 +
83 + function dfs_xy_conv(code, v1, v2) {
84 + var DEGRAD = Math.PI / 180.0;
85 + var RADDEG = 180.0 / Math.PI;
86 +
87 + var re = RE / GRID;
88 + var slat1 = SLAT1 * DEGRAD;
89 + var slat2 = SLAT2 * DEGRAD;
90 + var olon = OLON * DEGRAD;
91 + var olat = OLAT * DEGRAD;
92 +
93 + var sn = Math.tan(Math.PI * 0.25 + slat2 * 0.5) / Math.tan(Math.PI * 0.25 + slat1 * 0.5);
94 + sn = Math.log(Math.cos(slat1) / Math.cos(slat2)) / Math.log(sn);
95 + var sf = Math.tan(Math.PI * 0.25 + slat1 * 0.5);
96 + sf = Math.pow(sf, sn) * Math.cos(slat1) / sn;
97 + var ro = Math.tan(Math.PI * 0.25 + olat * 0.5);
98 + ro = re * sf / Math.pow(ro, sn);
99 + var rs = {};
100 + if (code == "toXY") {
101 + rs['lat'] = v1;
102 + rs['lng'] = v2;
103 + var ra = Math.tan(Math.PI * 0.25 + (v1) * DEGRAD * 0.5);
104 + ra = re * sf / Math.pow(ra, sn);
105 + var theta = v2 * DEGRAD - olon;
106 + if (theta > Math.PI) theta -= 2.0 * Math.PI;
107 + if (theta < -Math.PI) theta += 2.0 * Math.PI;
108 + theta *= sn;
109 + rs['x'] = Math.floor(ra * Math.sin(theta) + XO + 0.5);
110 + rs['y'] = Math.floor(ro - ra * Math.cos(theta) + YO + 0.5);
111 + }
112 + else {
113 + rs['x'] = v1;
114 + rs['y'] = v2;
115 + var xn = v1 - XO;
116 + var yn = ro - v2 + YO;
117 + ra = Math.sqrt(xn * xn + yn * yn);
118 + if (sn < 0.0) - ra;
119 + var alat = Math.pow((re * sf / ra), (1.0 / sn));
120 + alat = 2.0 * Math.atan(alat) - Math.PI * 0.5;
121 +
122 + if (Math.abs(xn) <= 0.0) {
123 + theta = 0.0;
124 + }
125 + else {
126 + if (Math.abs(yn) <= 0.0) {
127 + theta = Math.PI * 0.5;
128 + if (xn < 0.0) - theta;
129 + }
130 + else theta = Math.atan2(xn, yn);
131 + }
132 + var alon = theta / sn + olon;
133 + rs['lat'] = alat * RADDEG;
134 + rs['lng'] = alon * RADDEG;
135 + }
136 + return rs;
137 + }
...\ No newline at end of file ...\ No newline at end of file
1 +# Security holding package
2 +
3 +This package name is not currently in use, but was formerly occupied
4 +by another package. To avoid malicious use, npm is hanging on to the
5 +package name, but loosely, and we'll probably give it to you if you
6 +want it.
7 +
8 +You may adopt this package by contacting support@npmjs.com and
9 +requesting the name.
1 +{
2 + "name": "http",
3 + "version": "0.0.1-security",
4 + "description": "security holding package",
5 + "repository": "npm/security-holder"
6 +}
...@@ -853,3 +853,820 @@ ...@@ -853,3 +853,820 @@
853 } 853 }
854 } 854 }
855 } 855 }
856 +{
857 + "name": "take_an_umbrella",
858 + "lockfileVersion": 2,
859 + "requires": true,
860 + "packages": {
861 + "": {
862 + "dependencies": {
863 + "http": "^0.0.1-security",
864 + "moment": "^2.29.1",
865 + "moment-timezone": "^0.5.34",
866 + "request": "^2.88.2"
867 + }
868 + },
869 + "node_modules/ajv": {
870 + "version": "6.12.6",
871 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
872 + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
873 + "dependencies": {
874 + "fast-deep-equal": "^3.1.1",
875 + "fast-json-stable-stringify": "^2.0.0",
876 + "json-schema-traverse": "^0.4.1",
877 + "uri-js": "^4.2.2"
878 + },
879 + "funding": {
880 + "type": "github",
881 + "url": "https://github.com/sponsors/epoberezkin"
882 + }
883 + },
884 + "node_modules/asn1": {
885 + "version": "0.2.6",
886 + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
887 + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
888 + "dependencies": {
889 + "safer-buffer": "~2.1.0"
890 + }
891 + },
892 + "node_modules/assert-plus": {
893 + "version": "1.0.0",
894 + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
895 + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
896 + "engines": {
897 + "node": ">=0.8"
898 + }
899 + },
900 + "node_modules/asynckit": {
901 + "version": "0.4.0",
902 + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
903 + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
904 + },
905 + "node_modules/aws-sign2": {
906 + "version": "0.7.0",
907 + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
908 + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
909 + "engines": {
910 + "node": "*"
911 + }
912 + },
913 + "node_modules/aws4": {
914 + "version": "1.11.0",
915 + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
916 + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
917 + },
918 + "node_modules/bcrypt-pbkdf": {
919 + "version": "1.0.2",
920 + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
921 + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
922 + "dependencies": {
923 + "tweetnacl": "^0.14.3"
924 + }
925 + },
926 + "node_modules/caseless": {
927 + "version": "0.12.0",
928 + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
929 + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
930 + },
931 + "node_modules/combined-stream": {
932 + "version": "1.0.8",
933 + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
934 + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
935 + "dependencies": {
936 + "delayed-stream": "~1.0.0"
937 + },
938 + "engines": {
939 + "node": ">= 0.8"
940 + }
941 + },
942 + "node_modules/core-util-is": {
943 + "version": "1.0.2",
944 + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
945 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
946 + },
947 + "node_modules/dashdash": {
948 + "version": "1.14.1",
949 + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
950 + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
951 + "dependencies": {
952 + "assert-plus": "^1.0.0"
953 + },
954 + "engines": {
955 + "node": ">=0.10"
956 + }
957 + },
958 + "node_modules/delayed-stream": {
959 + "version": "1.0.0",
960 + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
961 + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
962 + "engines": {
963 + "node": ">=0.4.0"
964 + }
965 + },
966 + "node_modules/ecc-jsbn": {
967 + "version": "0.1.2",
968 + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
969 + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
970 + "dependencies": {
971 + "jsbn": "~0.1.0",
972 + "safer-buffer": "^2.1.0"
973 + }
974 + },
975 + "node_modules/extend": {
976 + "version": "3.0.2",
977 + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
978 + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
979 + },
980 + "node_modules/extsprintf": {
981 + "version": "1.3.0",
982 + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
983 + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
984 + "engines": [
985 + "node >=0.6.0"
986 + ]
987 + },
988 + "node_modules/fast-deep-equal": {
989 + "version": "3.1.3",
990 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
991 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
992 + },
993 + "node_modules/fast-json-stable-stringify": {
994 + "version": "2.1.0",
995 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
996 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
997 + },
998 + "node_modules/forever-agent": {
999 + "version": "0.6.1",
1000 + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
1001 + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
1002 + "engines": {
1003 + "node": "*"
1004 + }
1005 + },
1006 + "node_modules/form-data": {
1007 + "version": "2.3.3",
1008 + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
1009 + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
1010 + "dependencies": {
1011 + "asynckit": "^0.4.0",
1012 + "combined-stream": "^1.0.6",
1013 + "mime-types": "^2.1.12"
1014 + },
1015 + "engines": {
1016 + "node": ">= 0.12"
1017 + }
1018 + },
1019 + "node_modules/getpass": {
1020 + "version": "0.1.7",
1021 + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
1022 + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
1023 + "dependencies": {
1024 + "assert-plus": "^1.0.0"
1025 + }
1026 + },
1027 + "node_modules/har-schema": {
1028 + "version": "2.0.0",
1029 + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
1030 + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
1031 + "engines": {
1032 + "node": ">=4"
1033 + }
1034 + },
1035 + "node_modules/har-validator": {
1036 + "version": "5.1.5",
1037 + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
1038 + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
1039 + "deprecated": "this library is no longer supported",
1040 + "dependencies": {
1041 + "ajv": "^6.12.3",
1042 + "har-schema": "^2.0.0"
1043 + },
1044 + "engines": {
1045 + "node": ">=6"
1046 + }
1047 + },
1048 + "node_modules/http": {
1049 + "version": "0.0.1-security",
1050 + "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz",
1051 + "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g=="
1052 + },
1053 + "node_modules/http-signature": {
1054 + "version": "1.2.0",
1055 + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
1056 + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
1057 + "dependencies": {
1058 + "assert-plus": "^1.0.0",
1059 + "jsprim": "^1.2.2",
1060 + "sshpk": "^1.7.0"
1061 + },
1062 + "engines": {
1063 + "node": ">=0.8",
1064 + "npm": ">=1.3.7"
1065 + }
1066 + },
1067 + "node_modules/is-typedarray": {
1068 + "version": "1.0.0",
1069 + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
1070 + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
1071 + },
1072 + "node_modules/isstream": {
1073 + "version": "0.1.2",
1074 + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
1075 + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
1076 + },
1077 + "node_modules/jsbn": {
1078 + "version": "0.1.1",
1079 + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
1080 + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
1081 + },
1082 + "node_modules/json-schema": {
1083 + "version": "0.4.0",
1084 + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
1085 + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
1086 + },
1087 + "node_modules/json-schema-traverse": {
1088 + "version": "0.4.1",
1089 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1090 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
1091 + },
1092 + "node_modules/json-stringify-safe": {
1093 + "version": "5.0.1",
1094 + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
1095 + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
1096 + },
1097 + "node_modules/jsprim": {
1098 + "version": "1.4.2",
1099 + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
1100 + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
1101 + "dependencies": {
1102 + "assert-plus": "1.0.0",
1103 + "extsprintf": "1.3.0",
1104 + "json-schema": "0.4.0",
1105 + "verror": "1.10.0"
1106 + },
1107 + "engines": {
1108 + "node": ">=0.6.0"
1109 + }
1110 + },
1111 + "node_modules/mime-db": {
1112 + "version": "1.51.0",
1113 + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
1114 + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==",
1115 + "engines": {
1116 + "node": ">= 0.6"
1117 + }
1118 + },
1119 + "node_modules/mime-types": {
1120 + "version": "2.1.34",
1121 + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz",
1122 + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==",
1123 + "dependencies": {
1124 + "mime-db": "1.51.0"
1125 + },
1126 + "engines": {
1127 + "node": ">= 0.6"
1128 + }
1129 + },
1130 + "node_modules/moment": {
1131 + "version": "2.29.1",
1132 + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
1133 + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==",
1134 + "engines": {
1135 + "node": "*"
1136 + }
1137 + },
1138 + "node_modules/moment-timezone": {
1139 + "version": "0.5.34",
1140 + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz",
1141 + "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==",
1142 + "dependencies": {
1143 + "moment": ">= 2.9.0"
1144 + },
1145 + "engines": {
1146 + "node": "*"
1147 + }
1148 + },
1149 + "node_modules/oauth-sign": {
1150 + "version": "0.9.0",
1151 + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
1152 + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
1153 + "engines": {
1154 + "node": "*"
1155 + }
1156 + },
1157 + "node_modules/performance-now": {
1158 + "version": "2.1.0",
1159 + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
1160 + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
1161 + },
1162 + "node_modules/psl": {
1163 + "version": "1.8.0",
1164 + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
1165 + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
1166 + },
1167 + "node_modules/punycode": {
1168 + "version": "2.1.1",
1169 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1170 + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
1171 + "engines": {
1172 + "node": ">=6"
1173 + }
1174 + },
1175 + "node_modules/qs": {
1176 + "version": "6.5.2",
1177 + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
1178 + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
1179 + "engines": {
1180 + "node": ">=0.6"
1181 + }
1182 + },
1183 + "node_modules/request": {
1184 + "version": "2.88.2",
1185 + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
1186 + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
1187 + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
1188 + "dependencies": {
1189 + "aws-sign2": "~0.7.0",
1190 + "aws4": "^1.8.0",
1191 + "caseless": "~0.12.0",
1192 + "combined-stream": "~1.0.6",
1193 + "extend": "~3.0.2",
1194 + "forever-agent": "~0.6.1",
1195 + "form-data": "~2.3.2",
1196 + "har-validator": "~5.1.3",
1197 + "http-signature": "~1.2.0",
1198 + "is-typedarray": "~1.0.0",
1199 + "isstream": "~0.1.2",
1200 + "json-stringify-safe": "~5.0.1",
1201 + "mime-types": "~2.1.19",
1202 + "oauth-sign": "~0.9.0",
1203 + "performance-now": "^2.1.0",
1204 + "qs": "~6.5.2",
1205 + "safe-buffer": "^5.1.2",
1206 + "tough-cookie": "~2.5.0",
1207 + "tunnel-agent": "^0.6.0",
1208 + "uuid": "^3.3.2"
1209 + },
1210 + "engines": {
1211 + "node": ">= 6"
1212 + }
1213 + },
1214 + "node_modules/safe-buffer": {
1215 + "version": "5.2.1",
1216 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1217 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1218 + "funding": [
1219 + {
1220 + "type": "github",
1221 + "url": "https://github.com/sponsors/feross"
1222 + },
1223 + {
1224 + "type": "patreon",
1225 + "url": "https://www.patreon.com/feross"
1226 + },
1227 + {
1228 + "type": "consulting",
1229 + "url": "https://feross.org/support"
1230 + }
1231 + ]
1232 + },
1233 + "node_modules/safer-buffer": {
1234 + "version": "2.1.2",
1235 + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1236 + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1237 + },
1238 + "node_modules/sshpk": {
1239 + "version": "1.16.1",
1240 + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
1241 + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
1242 + "dependencies": {
1243 + "asn1": "~0.2.3",
1244 + "assert-plus": "^1.0.0",
1245 + "bcrypt-pbkdf": "^1.0.0",
1246 + "dashdash": "^1.12.0",
1247 + "ecc-jsbn": "~0.1.1",
1248 + "getpass": "^0.1.1",
1249 + "jsbn": "~0.1.0",
1250 + "safer-buffer": "^2.0.2",
1251 + "tweetnacl": "~0.14.0"
1252 + },
1253 + "bin": {
1254 + "sshpk-conv": "bin/sshpk-conv",
1255 + "sshpk-sign": "bin/sshpk-sign",
1256 + "sshpk-verify": "bin/sshpk-verify"
1257 + },
1258 + "engines": {
1259 + "node": ">=0.10.0"
1260 + }
1261 + },
1262 + "node_modules/tough-cookie": {
1263 + "version": "2.5.0",
1264 + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
1265 + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
1266 + "dependencies": {
1267 + "psl": "^1.1.28",
1268 + "punycode": "^2.1.1"
1269 + },
1270 + "engines": {
1271 + "node": ">=0.8"
1272 + }
1273 + },
1274 + "node_modules/tunnel-agent": {
1275 + "version": "0.6.0",
1276 + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
1277 + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
1278 + "dependencies": {
1279 + "safe-buffer": "^5.0.1"
1280 + },
1281 + "engines": {
1282 + "node": "*"
1283 + }
1284 + },
1285 + "node_modules/tweetnacl": {
1286 + "version": "0.14.5",
1287 + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
1288 + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
1289 + },
1290 + "node_modules/uri-js": {
1291 + "version": "4.4.1",
1292 + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
1293 + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
1294 + "dependencies": {
1295 + "punycode": "^2.1.0"
1296 + }
1297 + },
1298 + "node_modules/uuid": {
1299 + "version": "3.4.0",
1300 + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
1301 + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
1302 + "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.",
1303 + "bin": {
1304 + "uuid": "bin/uuid"
1305 + }
1306 + },
1307 + "node_modules/verror": {
1308 + "version": "1.10.0",
1309 + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
1310 + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
1311 + "engines": [
1312 + "node >=0.6.0"
1313 + ],
1314 + "dependencies": {
1315 + "assert-plus": "^1.0.0",
1316 + "core-util-is": "1.0.2",
1317 + "extsprintf": "^1.2.0"
1318 + }
1319 + }
1320 + },
1321 + "dependencies": {
1322 + "ajv": {
1323 + "version": "6.12.6",
1324 + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
1325 + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
1326 + "requires": {
1327 + "fast-deep-equal": "^3.1.1",
1328 + "fast-json-stable-stringify": "^2.0.0",
1329 + "json-schema-traverse": "^0.4.1",
1330 + "uri-js": "^4.2.2"
1331 + }
1332 + },
1333 + "asn1": {
1334 + "version": "0.2.6",
1335 + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
1336 + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
1337 + "requires": {
1338 + "safer-buffer": "~2.1.0"
1339 + }
1340 + },
1341 + "assert-plus": {
1342 + "version": "1.0.0",
1343 + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
1344 + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
1345 + },
1346 + "asynckit": {
1347 + "version": "0.4.0",
1348 + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
1349 + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
1350 + },
1351 + "aws-sign2": {
1352 + "version": "0.7.0",
1353 + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
1354 + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
1355 + },
1356 + "aws4": {
1357 + "version": "1.11.0",
1358 + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
1359 + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
1360 + },
1361 + "bcrypt-pbkdf": {
1362 + "version": "1.0.2",
1363 + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
1364 + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
1365 + "requires": {
1366 + "tweetnacl": "^0.14.3"
1367 + }
1368 + },
1369 + "caseless": {
1370 + "version": "0.12.0",
1371 + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
1372 + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
1373 + },
1374 + "combined-stream": {
1375 + "version": "1.0.8",
1376 + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
1377 + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
1378 + "requires": {
1379 + "delayed-stream": "~1.0.0"
1380 + }
1381 + },
1382 + "core-util-is": {
1383 + "version": "1.0.2",
1384 + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
1385 + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
1386 + },
1387 + "dashdash": {
1388 + "version": "1.14.1",
1389 + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
1390 + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
1391 + "requires": {
1392 + "assert-plus": "^1.0.0"
1393 + }
1394 + },
1395 + "delayed-stream": {
1396 + "version": "1.0.0",
1397 + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
1398 + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
1399 + },
1400 + "ecc-jsbn": {
1401 + "version": "0.1.2",
1402 + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
1403 + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
1404 + "requires": {
1405 + "jsbn": "~0.1.0",
1406 + "safer-buffer": "^2.1.0"
1407 + }
1408 + },
1409 + "extend": {
1410 + "version": "3.0.2",
1411 + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
1412 + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
1413 + },
1414 + "extsprintf": {
1415 + "version": "1.3.0",
1416 + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
1417 + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
1418 + },
1419 + "fast-deep-equal": {
1420 + "version": "3.1.3",
1421 + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1422 + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
1423 + },
1424 + "fast-json-stable-stringify": {
1425 + "version": "2.1.0",
1426 + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1427 + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
1428 + },
1429 + "forever-agent": {
1430 + "version": "0.6.1",
1431 + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
1432 + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
1433 + },
1434 + "form-data": {
1435 + "version": "2.3.3",
1436 + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
1437 + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
1438 + "requires": {
1439 + "asynckit": "^0.4.0",
1440 + "combined-stream": "^1.0.6",
1441 + "mime-types": "^2.1.12"
1442 + }
1443 + },
1444 + "getpass": {
1445 + "version": "0.1.7",
1446 + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
1447 + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
1448 + "requires": {
1449 + "assert-plus": "^1.0.0"
1450 + }
1451 + },
1452 + "har-schema": {
1453 + "version": "2.0.0",
1454 + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
1455 + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
1456 + },
1457 + "har-validator": {
1458 + "version": "5.1.5",
1459 + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
1460 + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
1461 + "requires": {
1462 + "ajv": "^6.12.3",
1463 + "har-schema": "^2.0.0"
1464 + }
1465 + },
1466 + "http": {
1467 + "version": "0.0.1-security",
1468 + "resolved": "https://registry.npmjs.org/http/-/http-0.0.1-security.tgz",
1469 + "integrity": "sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g=="
1470 + },
1471 + "http-signature": {
1472 + "version": "1.2.0",
1473 + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
1474 + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
1475 + "requires": {
1476 + "assert-plus": "^1.0.0",
1477 + "jsprim": "^1.2.2",
1478 + "sshpk": "^1.7.0"
1479 + }
1480 + },
1481 + "is-typedarray": {
1482 + "version": "1.0.0",
1483 + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
1484 + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
1485 + },
1486 + "isstream": {
1487 + "version": "0.1.2",
1488 + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
1489 + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
1490 + },
1491 + "jsbn": {
1492 + "version": "0.1.1",
1493 + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
1494 + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
1495 + },
1496 + "json-schema": {
1497 + "version": "0.4.0",
1498 + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
1499 + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
1500 + },
1501 + "json-schema-traverse": {
1502 + "version": "0.4.1",
1503 + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1504 + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
1505 + },
1506 + "json-stringify-safe": {
1507 + "version": "5.0.1",
1508 + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
1509 + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
1510 + },
1511 + "jsprim": {
1512 + "version": "1.4.2",
1513 + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
1514 + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
1515 + "requires": {
1516 + "assert-plus": "1.0.0",
1517 + "extsprintf": "1.3.0",
1518 + "json-schema": "0.4.0",
1519 + "verror": "1.10.0"
1520 + }
1521 + },
1522 + "mime-db": {
1523 + "version": "1.51.0",
1524 + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz",
1525 + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g=="
1526 + },
1527 + "mime-types": {
1528 + "version": "2.1.34",
1529 + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz",
1530 + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==",
1531 + "requires": {
1532 + "mime-db": "1.51.0"
1533 + }
1534 + },
1535 + "moment": {
1536 + "version": "2.29.1",
1537 + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
1538 + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
1539 + },
1540 + "moment-timezone": {
1541 + "version": "0.5.34",
1542 + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz",
1543 + "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==",
1544 + "requires": {
1545 + "moment": ">= 2.9.0"
1546 + }
1547 + },
1548 + "oauth-sign": {
1549 + "version": "0.9.0",
1550 + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
1551 + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
1552 + },
1553 + "performance-now": {
1554 + "version": "2.1.0",
1555 + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
1556 + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
1557 + },
1558 + "psl": {
1559 + "version": "1.8.0",
1560 + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
1561 + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
1562 + },
1563 + "punycode": {
1564 + "version": "2.1.1",
1565 + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1566 + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
1567 + },
1568 + "qs": {
1569 + "version": "6.5.2",
1570 + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
1571 + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
1572 + },
1573 + "request": {
1574 + "version": "2.88.2",
1575 + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
1576 + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
1577 + "requires": {
1578 + "aws-sign2": "~0.7.0",
1579 + "aws4": "^1.8.0",
1580 + "caseless": "~0.12.0",
1581 + "combined-stream": "~1.0.6",
1582 + "extend": "~3.0.2",
1583 + "forever-agent": "~0.6.1",
1584 + "form-data": "~2.3.2",
1585 + "har-validator": "~5.1.3",
1586 + "http-signature": "~1.2.0",
1587 + "is-typedarray": "~1.0.0",
1588 + "isstream": "~0.1.2",
1589 + "json-stringify-safe": "~5.0.1",
1590 + "mime-types": "~2.1.19",
1591 + "oauth-sign": "~0.9.0",
1592 + "performance-now": "^2.1.0",
1593 + "qs": "~6.5.2",
1594 + "safe-buffer": "^5.1.2",
1595 + "tough-cookie": "~2.5.0",
1596 + "tunnel-agent": "^0.6.0",
1597 + "uuid": "^3.3.2"
1598 + }
1599 + },
1600 + "safe-buffer": {
1601 + "version": "5.2.1",
1602 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1603 + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
1604 + },
1605 + "safer-buffer": {
1606 + "version": "2.1.2",
1607 + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1608 + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1609 + },
1610 + "sshpk": {
1611 + "version": "1.16.1",
1612 + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
1613 + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
1614 + "requires": {
1615 + "asn1": "~0.2.3",
1616 + "assert-plus": "^1.0.0",
1617 + "bcrypt-pbkdf": "^1.0.0",
1618 + "dashdash": "^1.12.0",
1619 + "ecc-jsbn": "~0.1.1",
1620 + "getpass": "^0.1.1",
1621 + "jsbn": "~0.1.0",
1622 + "safer-buffer": "^2.0.2",
1623 + "tweetnacl": "~0.14.0"
1624 + }
1625 + },
1626 + "tough-cookie": {
1627 + "version": "2.5.0",
1628 + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
1629 + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
1630 + "requires": {
1631 + "psl": "^1.1.28",
1632 + "punycode": "^2.1.1"
1633 + }
1634 + },
1635 + "tunnel-agent": {
1636 + "version": "0.6.0",
1637 + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
1638 + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
1639 + "requires": {
1640 + "safe-buffer": "^5.0.1"
1641 + }
1642 + },
1643 + "tweetnacl": {
1644 + "version": "0.14.5",
1645 + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
1646 + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
1647 + },
1648 + "uri-js": {
1649 + "version": "4.4.1",
1650 + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
1651 + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
1652 + "requires": {
1653 + "punycode": "^2.1.0"
1654 + }
1655 + },
1656 + "uuid": {
1657 + "version": "3.4.0",
1658 + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
1659 + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
1660 + },
1661 + "verror": {
1662 + "version": "1.10.0",
1663 + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
1664 + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
1665 + "requires": {
1666 + "assert-plus": "^1.0.0",
1667 + "core-util-is": "1.0.2",
1668 + "extsprintf": "^1.2.0"
1669 + }
1670 + }
1671 + }
1672 +}
......
1 { 1 {
2 "dependencies": { 2 "dependencies": {
3 "express": "^4.17.1" 3 "express": "^4.17.1"
4 + "http": "^0.0.1-security",
5 + "moment": "^2.29.1",
6 + "moment-timezone": "^0.5.34",
7 + "request": "^2.88.2"
4 } 8 }
5 } 9 }
......
1 -경위도 : https://developers.google.com/maps/documentation/javascript/examples/map-geolocation?hl=ko#maps_map_geolocation-javascript
...\ No newline at end of file ...\ No newline at end of file
1 +<<<<<<< HEAD
2 +경위도 : https://developers.google.com/maps/documentation/javascript/examples/map-geolocation?hl=ko#maps_map_geolocation-javascript
3 +=======
4 +https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15084084 기상청
5 +>>>>>>> feature/add_Weather_API
......