김승훈

깃 정리

1 +node_modules
2 +
1 -# 나만의 편성표 - My Personal Broadcating Schedule
2 -## Description
3 -- 오픈소스SW개발 프로젝트
4 -- 관심있는 인물이 출연하는 방송 프로그램을 검색하여 나만의 편성표를 만든다.
5 -
6 -## Environment
7 -- Backend - Node.js
8 -- Frontend - HTML5/CSS/Javascript
9 -
10 -## Prerequisite
...\ No newline at end of file ...\ No newline at end of file
No preview for this file type
1 -var async = require('async');
2 -var webdriver = require('selenium-webdriver');
3 -var options = {desiredCapabilities: {browserName: 'chrome'}};
4 -var JASON = require('jason')
5 -const {Builder, By, Key, until} = require('selenium-webdriver');
6 -var iconv = require('iconv-lite')
7 -const fs = require('fs')
8 -
9 -datalist = []
10 -
11 -module.exports = {
12 - search_onairanddate: function(driver,string,callback) {
13 - let url1 = "https://search.naver.com/search.naver?sm=top_hty&fbm=1&ie=utf8&query=" + string
14 - driver
15 - .get(url1).then(() => {
16 - driver
17 - .findElements(webdriver.By.className('brcs_detail'))
18 - .then(broad_info => {
19 - broad_info[0].findElement(webdriver.By.tagName('dl'))
20 - .then(more_data => {
21 - more_data.findElement(webdriver.By.tagName('dd'))
22 - .then(one_line => {
23 - one_line.findElement(webdriver.By.className("inline"))
24 - .then(isbroad => {
25 - isbroad.getText()
26 - .then(isbroad_string => {
27 - broadcasting=isbroad_string.substring(0,4)
28 - isbroad = isbroad_string.substring(18,21)
29 - br_date = isbroad_string.substring(23,24)
30 - br_date = br_date + "요일"
31 - br_time = isbroad_string.substring(26,34)
32 - datalist.push(broadcasting,isbroad,br_date,br_time)
33 -
34 - fs.writeFileSync("./log/"+string+"_br_isonair.txt", '\ufeff' + datalist, {encoding: 'utf8'});
35 -
36 - callback()
37 - })
38 - })
39 - })
40 - })
41 - })
42 - })
43 - driver.findElement(webdriver.By.className('brcs_thumb'))
44 - .then(brcs_thumb => {
45 - brcs_thumb.findElements(webdriver.By.tagName('img'))
46 - .then( img => {
47 - img[0].getAttribute('src')
48 - .then(img_src => {
49 - datalist.push(img_src)
50 - })
51 - })
52 - })
53 - }
54 -}
...\ No newline at end of file ...\ No newline at end of file
1 -var async = require('async');
2 -var webdriver = require('selenium-webdriver');
3 -var options = {desiredCapabilities: {browserName: 'chrome'}};
4 -const {Builder, By, Key, until} = require('selenium-webdriver');
5 -const fs = require('fs')
6 -const screen = {
7 - width: 640,
8 - height: 480
9 -};
10 -var a=8000
11 -var img_src_list = []
12 -var text_list = []
13 -var testStartRunTime = 0;
14 -var testruntime = 0;
15 -var time = 0;
16 -module.exports = {
17 - search_broadcasting :function(driver,url,name,callback) {
18 - function testRunTimer() {
19 - var today = new Date(); // 현재시간 얻기
20 - var runTime = today.getTime(); // 밀리세컨드 ( 1970/01/01 부터 현재까지의 시간을 밀리세컨드로 나타냄 )
21 - var rtn = 0;
22 -
23 - if (testStartRunTime == 0) {
24 - testStartRunTime = runTime;
25 - } else {
26 - rtn = (runTime - testStartRunTime) / 1000;
27 - testStartRunTime = 0;
28 - }
29 - return rtn;
30 - }
31 - driver
32 - .get("http://"+url)
33 - .then(() => {
34 - driver.findElement(webdriver.By.id('pagination_76'))
35 - .then ( paginationBtn => {
36 - paginationBtn.findElements(webdriver.By.className('bt_next'))
37 - .then(Btn_next => {
38 - driver.findElement(webdriver.By.id('listUI_76'))
39 - .then(contentsUI => {
40 - clickandget(function() {
41 - Btn_next[0].click()
42 - setTimeout(() => {
43 - clickandget(function() {
44 - Btn_next[0].click()
45 - setTimeout(() => {
46 - clickandget(function() {
47 - Btn_next[0].click()
48 - setTimeout(() => {
49 - clickandget(function(){
50 - Btn_next[0].click()
51 - setTimeout(() => {
52 - clickandget(function(){
53 - fs.writeFileSync("./log/"+name+"_img_src_br.txt", '\ufeff' + img_src_list, {encoding: 'utf8'});
54 - fs.writeFileSync("./log/"+name+"_title_br.txt", '\ufeff' + text_list, {encoding: 'utf8'});
55 - setTimeout(() => {
56 - callback()
57 - }, 500);
58 - })
59 - }, testruntime*1000+800);
60 - })
61 - }, testruntime*1000+800);
62 -
63 - },testruntime*1000+800)
64 - }, testruntime*1000+800);
65 - })
66 - }, testruntime*1000+800);
67 - })
68 - function clickandget(_callback) {
69 - testRunTimer()
70 - Btn_next[0].isDisplayed().then(function(state) {
71 - if(state) {
72 - contentsUI.findElements(webdriver.By.tagName('li'))
73 - .then(elems => {
74 - elems.forEach(elem => {
75 - elem.findElements(webdriver.By.tagName('img'))
76 - .then(img => {
77 - img[0].getAttribute('src')
78 - .then(img_src => {
79 - elem.findElements(webdriver.By.className('tit'))
80 - .then (titles => {
81 - titles.forEach(title => {
82 - title.getText()
83 - .then(text => {
84 - text_list.push(text)
85 - img_src_list.push(img_src)
86 - if(text_list.length % 5 == 0) {
87 - var testruntime = testRunTimer();
88 - time = time+testruntime*1000
89 - _callback()
90 - }
91 - })
92 - })
93 - })
94 - })
95 - })
96 - })
97 - })
98 - }
99 - else {
100 - fs.writeFileSync("./log/"+name+"_img_src_br.txt", '\ufeff' + img_src_list, {encoding: 'utf8'});
101 - fs.writeFileSync("./log/"+name+"_title_br.txt", '\ufeff' + text_list, {encoding: 'utf8'});
102 - setTimeout(() => {
103 - callback()
104 - }, 500);
105 - }
106 - },function(err) {
107 - fs.writeFileSync("./log/"+name+"_img_src_br.txt", '\ufeff' + img_src_list, {encoding: 'utf8'});
108 - fs.writeFileSync("./log/"+name+"_title_br.txt", '\ufeff' + text_list, {encoding: 'utf8'});
109 - setTimeout(() => {
110 - callback()
111 - }, 500);
112 - })
113 - }
114 - })
115 - })
116 - })
117 - })
118 - function sleep (time) {
119 - return new Promise((resolve) => setTimeout(resolve, time));
120 - }
121 - }
122 -}
123 -
124 -//var driver = new webdriver.Builder()
125 -//.forBrowser('chrome')
126 -//.withCapabilities(webdriver.Capabilities.chrome())
127 -//.build();
128 -
129 -//search_broadcasting(driver,"people.search.naver.com/search.naver?where=nexearch&sm=tab_ppn&query=유재석&os=94702&ie=utf8&key=PeopleService","유재석",function() {
130 -// console.log("B")
131 -//})
...\ No newline at end of file ...\ No newline at end of file
1 -var async = require('async');
2 -var webdriver = require('selenium-webdriver');
3 -var chrome = require('selenium-webdriver/chrome')
4 -var Options = new chrome.Options();
5 -Options.addArguments('headless')
6 -Options.addArguments('disable-gpu')
7 -const fs = require('fs')
8 -var check = 0
9 -var testStartRunTime = 0;
10 -var testruntime = 0;
11 -
12 -const {Builder, By, Key, until} = require('selenium-webdriver');
13 -
14 -var next_link_list = []
15 -var src_list = []
16 -var text_list = []
17 -var return_list = []
18 -
19 -module.exports = {
20 - first_search :function (driver,string,callback) {
21 -
22 - function testRunTimer() {
23 - var today = new Date(); // 현재시간 얻기
24 - var runTime = today.getTime(); // 밀리세컨드 ( 1970/01/01 부터 현재까지의 시간을 밀리세컨드로 나타냄 )
25 - var rtn = 0;
26 -
27 - if (testStartRunTime == 0) {
28 - testStartRunTime = runTime;
29 - } else {
30 - rtn = (runTime - testStartRunTime) / 1000;
31 - testStartRunTime = 0;
32 - }
33 - return rtn;
34 - }
35 - let url1 = "https://people.search.naver.com/search.naver?sm=tab_hty&where=nexearch&query="+string+"&ie=utf8&x=0&y=0"
36 - driver
37 - .get(url1).then(() => {
38 - testRunTimer()
39 - driver
40 - .findElements(webdriver.By.className('result_profile'))
41 - .then(profiles => {
42 - profiles.forEach(profile => {
43 - profile.findElements(webdriver.By.className('thmb'))
44 - .then(links=> {
45 - links.forEach(link => {
46 - link.getAttribute('href')
47 - .then(next_link => {
48 - profile.findElements(webdriver.By.className('thmb_img'))
49 - .then((imgs) => {
50 - imgs.forEach(img => {
51 - img.getAttribute('src')
52 - .then(src => {
53 - next_link_list.push(next_link)
54 - src_list.push(src)
55 - //text_list.push(text)
56 - testruntime += testRunTimer()
57 - setTimeout(function() {
58 - check++;
59 - if(check==1) {
60 - //return_list.push(text_list)
61 - setTimeout(function() {
62 - fs.writeFileSync("./log/"+string+"_next_link.txt", '\ufeff' + next_link_list, {encoding: 'utf8'});
63 - fs.writeFileSync("./log/"+string+"_img_src.txt", '\ufeff' + src_list, {encoding: 'utf8'});
64 - callback()
65 - },500)
66 - }
67 - },testruntime*1000+1000)
68 - })
69 - })
70 - })
71 - })
72 - })
73 - })
74 - })
75 - })
76 - })
77 - }
78 -}
...\ No newline at end of file ...\ No newline at end of file
1 -var webdriver = require('selenium-webdriver');
2 -const {Builder, By, Key, until} = require('selenium-webdriver');
3 -const fs = require('fs')
4 -
5 - var arr = []
6 - var result_arr = []
7 - var temp = []
8 - var i=0
9 - var check = 0
10 -module.exports = {
11 - search_broadcasting_time : function(driver,broadcast,day,findtitle, callback) {
12 - let url1 = "https://search.naver.com/search.naver?sm=top_hty&fbm=0&ie=utf8&query="+broadcast+"+"+day+"+편성표"
13 - driver
14 - .get(url1).then(() => {
15 - driver
16 - .findElements(webdriver.By.className('cont_inner type_day _scheduleArea'))
17 - .then(contentsearch_section=> {
18 - contentsearch_section[0].findElements(webdriver.By.tagName('tbody'))
19 - .then(tbody => {
20 - tbody[0].findElements(webdriver.By.tagName('tr'))
21 - .then(trs => {
22 - trs.forEach(tr => {
23 - tr.getText()
24 - .then(content => {
25 - if(content.indexOf(findtitle) != -1) {
26 - arr = content.toString().split('\n')
27 - str(function() {
28 - i++
29 - if(i==2) {
30 - fs.writeFileSync("./log/"+findtitle+"_time_detail.txt", '\ufeff' + result_arr, {encoding: 'utf8'});
31 - callback()
32 - }
33 - })
34 - function str(_callback) {
35 - temp[i+0] = arr[0] + " " + arr[1].substr(0,2) + "분"
36 - temp[i+1] = arr[1].substr(3)
37 - result_arr.push(temp[i+0],temp[i+1])
38 - if(arr.length == 3) {
39 - temp[i+2] = arr[0] + " " + arr[2].substr(0,2) + "분"
40 - temp[i+3] = arr[2].substr(3)
41 - result_arr.push(temp[i+2],temp[i+3])
42 - i++
43 - }
44 - setTimeout(() => {
45 - _callback()
46 - }, 500);
47 -
48 - }
49 - }
50 - })
51 - })
52 - })
53 - })
54 - })
55 - })
56 - }
57 -}
...\ No newline at end of file ...\ No newline at end of file
1 -var async = require('async');
2 -var webdriver = require('selenium-webdriver');
3 -//var options = {desiredCapabilities: {browserName: 'chrome'}};
4 -var chrome = require('selenium-webdriver/chrome')
5 -var Options = new chrome.Options();
6 -Options.addArguments('headless')
7 -Options.addArguments('disable-gpu')
8 -var JASON = require('jason')
9 -var test1 = require('./crawling_samename')
10 -const fs = require('fs')
11 -const test2 = require('./crawling_broadcasting')
12 -const test3 = require('./crawling_br_onair_date')
13 -const test4 = require('./crawling_time')
14 -var util = require('util')
15 -var EventEmitter = require('events').EventEmitter;
16 -
17 -var next_link_Array = []
18 -var img_src_Array = []
19 -
20 -const {Builder, By, Key, until} = require('selenium-webdriver');
21 -var driver = new webdriver.Builder()
22 -.forBrowser('chrome')
23 -.withCapabilities(webdriver.Capabilities.chrome())
24 -.setChromeOptions(Options)
25 -.build();
26 -
27 -var driver_1 = new webdriver.Builder()
28 -.forBrowser('chrome')
29 -.withCapabilities(webdriver.Capabilities.chrome())
30 -.setChromeOptions(Options)
31 -.build()
32 -var driver_2 = new webdriver.Builder()
33 -.forBrowser('chrome')
34 -.withCapabilities(webdriver.Capabilities.chrome())
35 -.setChromeOptions(Options)
36 -.build();
37 -
38 -var driver_3 = new webdriver.Builder()
39 -.forBrowser('chrome')
40 -.withCapabilities(webdriver.Capabilities.chrome())
41 -.setChromeOptions(Options)
42 -.build();
43 -var First_Search = function(name) {
44 - var self=this;
45 - this.on('input', function() {
46 -
47 - if(fs.existsSync("./log/"+name+"_next_link.txt")) {
48 - const next_link = fs.readFileSync("./log/"+name+"_next_link.txt");
49 - const img_src = fs.readFileSync("./log/"+name+"_img_src.txt");
50 - next_link_Array = next_link.toString().split(',');
51 - img_src_Array = img_src.toString().split(',');
52 - driver.quit()
53 - console.log(next_link_Array)
54 - console.log(img_src_Array)
55 -
56 - setTimeout(function() {
57 - br_search.emit('click')
58 - },1000)
59 -
60 - }
61 - else {
62 - test1.first_search(driver,name,function() {
63 - const next_link = fs.readFileSync("./log/"+name+"_next_link.txt");
64 - const img_src = fs.readFileSync("./log/"+name+"_img_src.txt");
65 - next_link_Array = next_link.toString().split(',');
66 - img_src_Array = img_src.toString().split(',');
67 - br_search = new broadcasting_search(next_link_Array,"유재석",0)
68 - console.log(next_link_Array)
69 - console.log(img_src_Array)
70 - driver.quit()
71 - setTimeout(function() {
72 - br_search.emit('click')
73 - },1000)
74 - })
75 - }
76 - })
77 -}
78 -util.inherits(First_Search,EventEmitter);
79 -first_search1 = new First_Search("유재석")
80 -first_search1.emit('input')
81 -
82 -var img_src_br_list = []
83 -var title_list = []
84 -var broadcasting_search = function(next_link,name,num) {
85 - var self=this;
86 - this.on('click', function() {
87 - if(fs.existsSync("./log/"+name+"_img_src_br.txt")) {
88 - const img_src_br = fs.readFileSync("./log/"+name+"_img_src_br.txt");
89 - img_src_br_list = img_src_br.toString().split(',');
90 - const title_br = fs.readFileSync("./log/"+name+"_title_br.txt");
91 - title_list = title_br.toString().split(',');
92 - driver_1.quit()
93 - console.log(img_src_br_list)
94 - console.log(title_list)
95 - is_onair.emit('click_1')
96 - }
97 - else {
98 - test2.search_broadcasting(driver_1,next_link[num].substr(9),name,function() {
99 - const img_src_br = fs.readFileSync("./log/"+name+"_img_src_br.txt");
100 - img_src_br_list = img_src_br.toString().split(',');
101 - const title_br = fs.readFileSync("./log/"+name+"_title_br.txt");
102 - title_list = title_br.toString().split(',');
103 -
104 - driver_1.quit()
105 - console.log(img_src_br_list)
106 - console.log(title_list)
107 - is_onair.emit('click_1')
108 - })
109 - }
110 - })
111 -}
112 -util.inherits(broadcasting_search,EventEmitter);
113 -br_search = new broadcasting_search(next_link_Array,"유재석",0)
114 -
115 -br_datalist = []
116 -var isonair = function(num) {
117 - var self = this
118 - this.on('click_1',function() {
119 - if(fs.existsSync("./log/"+title_list[num]+"_br_isonair.txt")) {
120 - const img_src_br = fs.readFileSync("./log/"+title_list[num]+"_br_isonair.txt");
121 - br_datalist = img_src_br.toString().split(',');
122 - br_datalist[0] = br_datalist[0].trim()
123 - console.log(br_datalist)
124 - Search_detail_time.emit('click_2')
125 - }
126 -
127 - else {
128 - test3.search_onairanddate(driver_2,title_list[num],function() {
129 - const img_src_br = fs.readFileSync("./log/"+title_list[num]+"_br_isonair.txt");
130 - br_datalist = img_src_br.toString().split(',');
131 - br_datalist[0] = br_datalist[0].trim()
132 - console.log(br_datalist)
133 - Search_detail_time.emit('click_2')
134 - })
135 - }
136 - })
137 -}
138 -
139 -util.inherits(isonair,EventEmitter);
140 -is_onair = new isonair(11)
141 -
142 -var detail_time_list = []
143 -var search_detail_time = function(num) {
144 - var self = this;
145 - this.on('click_2',function() {
146 - if(br_datalist[1] == "방영중") {
147 - if(fs.existsSync("./log/"+title_list[num]+"_time_detail.txt")) {
148 - const detail = fs.readFileSync("./log/"+title_list[num]+"_time_detail.txt");
149 - detail_time_list = detail.toString().split(',');
150 - console.log(detail_time_list)
151 - }
152 - else {
153 - test4.search_broadcasting_time(driver_3,br_datalist[0],br_datalist[2],title_list[num],function(){
154 - const detail = fs.readFileSync("./log/"+title_list[num]+"_time_detail.txt");
155 - detail_time_list = detail.toString().split(',');
156 - console.log(detail_time_list)
157 - })
158 -
159 - }
160 - }
161 - })
162 -}
163 -
164 -util.inherits(search_detail_time,EventEmitter);
165 -Search_detail_time = new search_detail_time(11);
1 -{
2 - "name": "cheerio",
3 - "version": "1.0.0",
4 - "lockfileVersion": 1,
5 - "requires": true,
6 - "dependencies": {
7 - "ajv": {
8 - "version": "6.6.1",
9 - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz",
10 - "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==",
11 - "requires": {
12 - "fast-deep-equal": "^2.0.1",
13 - "fast-json-stable-stringify": "^2.0.0",
14 - "json-schema-traverse": "^0.4.1",
15 - "uri-js": "^4.2.2"
16 - }
17 - },
18 - "ansi-escapes": {
19 - "version": "3.1.0",
20 - "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
21 - "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw=="
22 - },
23 - "ansi-regex": {
24 - "version": "3.0.0",
25 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
26 - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
27 - },
28 - "ansi-styles": {
29 - "version": "3.2.1",
30 - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
31 - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
32 - "requires": {
33 - "color-convert": "^1.9.0"
34 - }
35 - },
36 - "archiver": {
37 - "version": "2.1.1",
38 - "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz",
39 - "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=",
40 - "requires": {
41 - "archiver-utils": "^1.3.0",
42 - "async": "^2.0.0",
43 - "buffer-crc32": "^0.2.1",
44 - "glob": "^7.0.0",
45 - "lodash": "^4.8.0",
46 - "readable-stream": "^2.0.0",
47 - "tar-stream": "^1.5.0",
48 - "zip-stream": "^1.2.0"
49 - },
50 - "dependencies": {
51 - "readable-stream": {
52 - "version": "2.3.6",
53 - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
54 - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
55 - "requires": {
56 - "core-util-is": "~1.0.0",
57 - "inherits": "~2.0.3",
58 - "isarray": "~1.0.0",
59 - "process-nextick-args": "~2.0.0",
60 - "safe-buffer": "~5.1.1",
61 - "string_decoder": "~1.1.1",
62 - "util-deprecate": "~1.0.1"
63 - }
64 - },
65 - "string_decoder": {
66 - "version": "1.1.1",
67 - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
68 - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
69 - "requires": {
70 - "safe-buffer": "~5.1.0"
71 - }
72 - }
73 - }
74 - },
75 - "archiver-utils": {
76 - "version": "1.3.0",
77 - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz",
78 - "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=",
79 - "requires": {
80 - "glob": "^7.0.0",
81 - "graceful-fs": "^4.1.0",
82 - "lazystream": "^1.0.0",
83 - "lodash": "^4.8.0",
84 - "normalize-path": "^2.0.0",
85 - "readable-stream": "^2.0.0"
86 - },
87 - "dependencies": {
88 - "readable-stream": {
89 - "version": "2.3.6",
90 - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
91 - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
92 - "requires": {
93 - "core-util-is": "~1.0.0",
94 - "inherits": "~2.0.3",
95 - "isarray": "~1.0.0",
96 - "process-nextick-args": "~2.0.0",
97 - "safe-buffer": "~5.1.1",
98 - "string_decoder": "~1.1.1",
99 - "util-deprecate": "~1.0.1"
100 - }
101 - },
102 - "string_decoder": {
103 - "version": "1.1.1",
104 - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
105 - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
106 - "requires": {
107 - "safe-buffer": "~5.1.0"
108 - }
109 - }
110 - }
111 - },
112 - "asn1": {
113 - "version": "0.2.4",
114 - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
115 - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
116 - "requires": {
117 - "safer-buffer": "~2.1.0"
118 - }
119 - },
120 - "assert-plus": {
121 - "version": "1.0.0",
122 - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
123 - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
124 - },
125 - "async": {
126 - "version": "2.6.1",
127 - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
128 - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
129 - "requires": {
130 - "lodash": "^4.17.10"
131 - }
132 - },
133 - "asynckit": {
134 - "version": "0.4.0",
135 - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
136 - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
137 - },
138 - "atob": {
139 - "version": "2.1.2",
140 - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
141 - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
142 - },
143 - "aws-sign2": {
144 - "version": "0.7.0",
145 - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
146 - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
147 - },
148 - "aws4": {
149 - "version": "1.8.0",
150 - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
151 - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
152 - },
153 - "babel-runtime": {
154 - "version": "6.26.0",
155 - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
156 - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
157 - "requires": {
158 - "core-js": "^2.4.0",
159 - "regenerator-runtime": "^0.11.0"
160 - },
161 - "dependencies": {
162 - "core-js": {
163 - "version": "2.5.7",
164 - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
165 - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
166 - }
167 - }
168 - },
169 - "balanced-match": {
170 - "version": "1.0.0",
171 - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
172 - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
173 - },
174 - "base64-js": {
175 - "version": "1.3.0",
176 - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
177 - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw=="
178 - },
179 - "bcrypt-pbkdf": {
180 - "version": "1.0.2",
181 - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
182 - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
183 - "requires": {
184 - "tweetnacl": "^0.14.3"
185 - }
186 - },
187 - "bl": {
188 - "version": "1.2.2",
189 - "resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
190 - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
191 - "requires": {
192 - "readable-stream": "^2.3.5",
193 - "safe-buffer": "^5.1.1"
194 - },
195 - "dependencies": {
196 - "readable-stream": {
197 - "version": "2.3.6",
198 - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
199 - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
200 - "requires": {
201 - "core-util-is": "~1.0.0",
202 - "inherits": "~2.0.3",
203 - "isarray": "~1.0.0",
204 - "process-nextick-args": "~2.0.0",
205 - "safe-buffer": "~5.1.1",
206 - "string_decoder": "~1.1.1",
207 - "util-deprecate": "~1.0.1"
208 - }
209 - },
210 - "string_decoder": {
211 - "version": "1.1.1",
212 - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
213 - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
214 - "requires": {
215 - "safe-buffer": "~5.1.0"
216 - }
217 - }
218 - }
219 - },
220 - "brace-expansion": {
221 - "version": "1.1.11",
222 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
223 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
224 - "requires": {
225 - "balanced-match": "^1.0.0",
226 - "concat-map": "0.0.1"
227 - }
228 - },
229 - "buffer": {
230 - "version": "5.2.1",
231 - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
232 - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
233 - "requires": {
234 - "base64-js": "^1.0.2",
235 - "ieee754": "^1.1.4"
236 - }
237 - },
238 - "buffer-alloc": {
239 - "version": "1.2.0",
240 - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
241 - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
242 - "requires": {
243 - "buffer-alloc-unsafe": "^1.1.0",
244 - "buffer-fill": "^1.0.0"
245 - }
246 - },
247 - "buffer-alloc-unsafe": {
248 - "version": "1.1.0",
249 - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
250 - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
251 - },
252 - "buffer-crc32": {
253 - "version": "0.2.13",
254 - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
255 - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
256 - },
257 - "buffer-fill": {
258 - "version": "1.0.0",
259 - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
260 - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw="
261 - },
262 - "caseless": {
263 - "version": "0.12.0",
264 - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
265 - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
266 - },
267 - "chalk": {
268 - "version": "2.4.1",
269 - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
270 - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
271 - "requires": {
272 - "ansi-styles": "^3.2.1",
273 - "escape-string-regexp": "^1.0.5",
274 - "supports-color": "^5.3.0"
275 - },
276 - "dependencies": {
277 - "supports-color": {
278 - "version": "5.5.0",
279 - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
280 - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
281 - "requires": {
282 - "has-flag": "^3.0.0"
283 - }
284 - }
285 - }
286 - },
287 - "chardet": {
288 - "version": "0.4.2",
289 - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
290 - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I="
291 - },
292 - "cli-cursor": {
293 - "version": "2.1.0",
294 - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
295 - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
296 - "requires": {
297 - "restore-cursor": "^2.0.0"
298 - }
299 - },
300 - "cli-width": {
301 - "version": "2.2.0",
302 - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
303 - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
304 - },
305 - "color-convert": {
306 - "version": "1.9.3",
307 - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
308 - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
309 - "requires": {
310 - "color-name": "1.1.3"
311 - }
312 - },
313 - "color-name": {
314 - "version": "1.1.3",
315 - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
316 - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
317 - },
318 - "combined-stream": {
319 - "version": "1.0.7",
320 - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
321 - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
322 - "requires": {
323 - "delayed-stream": "~1.0.0"
324 - }
325 - },
326 - "compress-commons": {
327 - "version": "1.2.2",
328 - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz",
329 - "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=",
330 - "requires": {
331 - "buffer-crc32": "^0.2.1",
332 - "crc32-stream": "^2.0.0",
333 - "normalize-path": "^2.0.0",
334 - "readable-stream": "^2.0.0"
335 - },
336 - "dependencies": {
337 - "readable-stream": {
338 - "version": "2.3.6",
339 - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
340 - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
341 - "requires": {
342 - "core-util-is": "~1.0.0",
343 - "inherits": "~2.0.3",
344 - "isarray": "~1.0.0",
345 - "process-nextick-args": "~2.0.0",
346 - "safe-buffer": "~5.1.1",
347 - "string_decoder": "~1.1.1",
348 - "util-deprecate": "~1.0.1"
349 - }
350 - },
351 - "string_decoder": {
352 - "version": "1.1.1",
353 - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
354 - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
355 - "requires": {
356 - "safe-buffer": "~5.1.0"
357 - }
358 - }
359 - }
360 - },
361 - "concat-map": {
362 - "version": "0.0.1",
363 - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
364 - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
365 - },
366 - "core-js": {
367 - "version": "2.3.0",
368 - "resolved": "http://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz",
369 - "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU="
370 - },
371 - "core-util-is": {
372 - "version": "1.0.2",
373 - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
374 - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
375 - },
376 - "crc": {
377 - "version": "3.8.0",
378 - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz",
379 - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==",
380 - "requires": {
381 - "buffer": "^5.1.0"
382 - }
383 - },
384 - "crc32-stream": {
385 - "version": "2.0.0",
386 - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz",
387 - "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=",
388 - "requires": {
389 - "crc": "^3.4.4",
390 - "readable-stream": "^2.0.0"
391 - },
392 - "dependencies": {
393 - "readable-stream": {
394 - "version": "2.3.6",
395 - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
396 - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
397 - "requires": {
398 - "core-util-is": "~1.0.0",
399 - "inherits": "~2.0.3",
400 - "isarray": "~1.0.0",
401 - "process-nextick-args": "~2.0.0",
402 - "safe-buffer": "~5.1.1",
403 - "string_decoder": "~1.1.1",
404 - "util-deprecate": "~1.0.1"
405 - }
406 - },
407 - "string_decoder": {
408 - "version": "1.1.1",
409 - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
410 - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
411 - "requires": {
412 - "safe-buffer": "~5.1.0"
413 - }
414 - }
415 - }
416 - },
417 - "css": {
418 - "version": "2.2.4",
419 - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
420 - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
421 - "requires": {
422 - "inherits": "^2.0.3",
423 - "source-map": "^0.6.1",
424 - "source-map-resolve": "^0.5.2",
425 - "urix": "^0.1.0"
426 - }
427 - },
428 - "css-parse": {
429 - "version": "2.0.0",
430 - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz",
431 - "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=",
432 - "requires": {
433 - "css": "^2.0.0"
434 - }
435 - },
436 - "css-value": {
437 - "version": "0.0.1",
438 - "resolved": "https://registry.npmjs.org/css-value/-/css-value-0.0.1.tgz",
439 - "integrity": "sha1-Xv1sLupeof1rasV+wEJ7GEUkJOo="
440 - },
441 - "dashdash": {
442 - "version": "1.14.1",
443 - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
444 - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
445 - "requires": {
446 - "assert-plus": "^1.0.0"
447 - }
448 - },
449 - "decode-uri-component": {
450 - "version": "0.2.0",
451 - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
452 - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
453 - },
454 - "deepmerge": {
455 - "version": "2.0.1",
456 - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.0.1.tgz",
457 - "integrity": "sha512-VIPwiMJqJ13ZQfaCsIFnp5Me9tnjURiaIFxfz7EH0Ci0dTSQpZtSLrqOicXqEd/z2r+z+Klk9GzmnRsgpgbOsQ=="
458 - },
459 - "delayed-stream": {
460 - "version": "1.0.0",
461 - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
462 - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
463 - },
464 - "ecc-jsbn": {
465 - "version": "0.1.2",
466 - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
467 - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
468 - "requires": {
469 - "jsbn": "~0.1.0",
470 - "safer-buffer": "^2.1.0"
471 - }
472 - },
473 - "ejs": {
474 - "version": "2.5.9",
475 - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.9.tgz",
476 - "integrity": "sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ=="
477 - },
478 - "end-of-stream": {
479 - "version": "1.4.1",
480 - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
481 - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
482 - "requires": {
483 - "once": "^1.4.0"
484 - }
485 - },
486 - "es6-promise": {
487 - "version": "3.0.2",
488 - "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz",
489 - "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y="
490 - },
491 - "escape-string-regexp": {
492 - "version": "1.0.5",
493 - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
494 - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
495 - },
496 - "events": {
497 - "version": "3.0.0",
498 - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
499 - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA=="
500 - },
501 - "extend": {
502 - "version": "3.0.2",
503 - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
504 - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
505 - },
506 - "external-editor": {
507 - "version": "2.2.0",
508 - "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
509 - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
510 - "requires": {
511 - "chardet": "^0.4.0",
512 - "iconv-lite": "^0.4.17",
513 - "tmp": "^0.0.33"
514 - },
515 - "dependencies": {
516 - "tmp": {
517 - "version": "0.0.33",
518 - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
519 - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
520 - "requires": {
521 - "os-tmpdir": "~1.0.2"
522 - }
523 - }
524 - }
525 - },
526 - "extsprintf": {
527 - "version": "1.3.0",
528 - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
529 - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
530 - },
531 - "fast-deep-equal": {
532 - "version": "2.0.1",
533 - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
534 - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
535 - },
536 - "fast-json-stable-stringify": {
537 - "version": "2.0.0",
538 - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
539 - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
540 - },
541 - "figures": {
542 - "version": "2.0.0",
543 - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
544 - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
545 - "requires": {
546 - "escape-string-regexp": "^1.0.5"
547 - }
548 - },
549 - "forever-agent": {
550 - "version": "0.6.1",
551 - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
552 - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
553 - },
554 - "form-data": {
555 - "version": "2.3.3",
556 - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
557 - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
558 - "requires": {
559 - "asynckit": "^0.4.0",
560 - "combined-stream": "^1.0.6",
561 - "mime-types": "^2.1.12"
562 - }
563 - },
564 - "fs": {
565 - "version": "0.0.1-security",
566 - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
567 - "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ="
568 - },
569 - "fs-constants": {
570 - "version": "1.0.0",
571 - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
572 - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
573 - },
574 - "fs.realpath": {
575 - "version": "1.0.0",
576 - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
577 - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
578 - },
579 - "gaze": {
580 - "version": "1.1.3",
581 - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
582 - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
583 - "requires": {
584 - "globule": "^1.0.0"
585 - }
586 - },
587 - "getpass": {
588 - "version": "0.1.7",
589 - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
590 - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
591 - "requires": {
592 - "assert-plus": "^1.0.0"
593 - }
594 - },
595 - "glob": {
596 - "version": "7.1.3",
597 - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
598 - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
599 - "requires": {
600 - "fs.realpath": "^1.0.0",
601 - "inflight": "^1.0.4",
602 - "inherits": "2",
603 - "minimatch": "^3.0.4",
604 - "once": "^1.3.0",
605 - "path-is-absolute": "^1.0.0"
606 - }
607 - },
608 - "globule": {
609 - "version": "1.2.1",
610 - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
611 - "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
612 - "requires": {
613 - "glob": "~7.1.1",
614 - "lodash": "~4.17.10",
615 - "minimatch": "~3.0.2"
616 - }
617 - },
618 - "graceful-fs": {
619 - "version": "4.1.15",
620 - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
621 - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
622 - },
623 - "grapheme-splitter": {
624 - "version": "1.0.4",
625 - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
626 - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
627 - },
628 - "har-schema": {
629 - "version": "2.0.0",
630 - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
631 - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
632 - },
633 - "har-validator": {
634 - "version": "5.1.3",
635 - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
636 - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
637 - "requires": {
638 - "ajv": "^6.5.5",
639 - "har-schema": "^2.0.0"
640 - }
641 - },
642 - "has-flag": {
643 - "version": "3.0.0",
644 - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
645 - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
646 - },
647 - "http-signature": {
648 - "version": "1.2.0",
649 - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
650 - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
651 - "requires": {
652 - "assert-plus": "^1.0.0",
653 - "jsprim": "^1.2.2",
654 - "sshpk": "^1.7.0"
655 - }
656 - },
657 - "iconv-lite": {
658 - "version": "0.4.24",
659 - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
660 - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
661 - "requires": {
662 - "safer-buffer": ">= 2.1.2 < 3"
663 - }
664 - },
665 - "ieee754": {
666 - "version": "1.1.12",
667 - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
668 - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA=="
669 - },
670 - "immediate": {
671 - "version": "3.0.6",
672 - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
673 - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
674 - },
675 - "inflight": {
676 - "version": "1.0.6",
677 - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
678 - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
679 - "requires": {
680 - "once": "^1.3.0",
681 - "wrappy": "1"
682 - }
683 - },
684 - "inherits": {
685 - "version": "2.0.3",
686 - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
687 - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
688 - },
689 - "inquirer": {
690 - "version": "3.3.0",
691 - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
692 - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
693 - "requires": {
694 - "ansi-escapes": "^3.0.0",
695 - "chalk": "^2.0.0",
696 - "cli-cursor": "^2.1.0",
697 - "cli-width": "^2.0.0",
698 - "external-editor": "^2.0.4",
699 - "figures": "^2.0.0",
700 - "lodash": "^4.3.0",
701 - "mute-stream": "0.0.7",
702 - "run-async": "^2.2.0",
703 - "rx-lite": "^4.0.8",
704 - "rx-lite-aggregates": "^4.0.8",
705 - "string-width": "^2.1.0",
706 - "strip-ansi": "^4.0.0",
707 - "through": "^2.3.6"
708 - }
709 - },
710 - "is-fullwidth-code-point": {
711 - "version": "2.0.0",
712 - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
713 - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
714 - },
715 - "is-promise": {
716 - "version": "2.1.0",
717 - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
718 - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
719 - },
720 - "is-typedarray": {
721 - "version": "1.0.0",
722 - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
723 - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
724 - },
725 - "isarray": {
726 - "version": "1.0.0",
727 - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
728 - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
729 - },
730 - "isstream": {
731 - "version": "0.1.2",
732 - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
733 - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
734 - },
735 - "jason": {
736 - "version": "2.0.0",
737 - "resolved": "https://registry.npmjs.org/jason/-/jason-2.0.0.tgz",
738 - "integrity": "sha512-lN3tmB3sdm4+VAiBk4cjUaO97PlCGNA8aZb3tDYViQlkCrCllg9mPk0Sggjn8aABfiw9KdQ/C1axYCqffCAgnQ=="
739 - },
740 - "jsbn": {
741 - "version": "0.1.1",
742 - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
743 - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
744 - },
745 - "json": {
746 - "version": "9.0.6",
747 - "resolved": "https://registry.npmjs.org/json/-/json-9.0.6.tgz",
748 - "integrity": "sha1-eXLCpaSKQmeNsnMMfCxO5uTiRYU="
749 - },
750 - "json-schema": {
751 - "version": "0.2.3",
752 - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
753 - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
754 - },
755 - "json-schema-traverse": {
756 - "version": "0.4.1",
757 - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
758 - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
759 - },
760 - "json-stringify-safe": {
761 - "version": "5.0.1",
762 - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
763 - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
764 - },
765 - "jsprim": {
766 - "version": "1.4.1",
767 - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
768 - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
769 - "requires": {
770 - "assert-plus": "1.0.0",
771 - "extsprintf": "1.3.0",
772 - "json-schema": "0.2.3",
773 - "verror": "1.10.0"
774 - }
775 - },
776 - "jszip": {
777 - "version": "3.1.5",
778 - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz",
779 - "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==",
780 - "requires": {
781 - "core-js": "~2.3.0",
782 - "es6-promise": "~3.0.2",
783 - "lie": "~3.1.0",
784 - "pako": "~1.0.2",
785 - "readable-stream": "~2.0.6"
786 - }
787 - },
788 - "lazystream": {
789 - "version": "1.0.0",
790 - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
791 - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
792 - "requires": {
793 - "readable-stream": "^2.0.5"
794 - },
795 - "dependencies": {
796 - "readable-stream": {
797 - "version": "2.3.6",
798 - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
799 - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
800 - "requires": {
801 - "core-util-is": "~1.0.0",
802 - "inherits": "~2.0.3",
803 - "isarray": "~1.0.0",
804 - "process-nextick-args": "~2.0.0",
805 - "safe-buffer": "~5.1.1",
806 - "string_decoder": "~1.1.1",
807 - "util-deprecate": "~1.0.1"
808 - }
809 - },
810 - "string_decoder": {
811 - "version": "1.1.1",
812 - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
813 - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
814 - "requires": {
815 - "safe-buffer": "~5.1.0"
816 - }
817 - }
818 - }
819 - },
820 - "lie": {
821 - "version": "3.1.1",
822 - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
823 - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=",
824 - "requires": {
825 - "immediate": "~3.0.5"
826 - }
827 - },
828 - "lodash": {
829 - "version": "4.17.11",
830 - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
831 - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
832 - },
833 - "mime-db": {
834 - "version": "1.37.0",
835 - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
836 - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
837 - },
838 - "mime-types": {
839 - "version": "2.1.21",
840 - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
841 - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
842 - "requires": {
843 - "mime-db": "~1.37.0"
844 - }
845 - },
846 - "mimic-fn": {
847 - "version": "1.2.0",
848 - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
849 - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
850 - },
851 - "minimatch": {
852 - "version": "3.0.4",
853 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
854 - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
855 - "requires": {
856 - "brace-expansion": "^1.1.7"
857 - }
858 - },
859 - "mkdirp": {
860 - "version": "0.5.1",
861 - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
862 - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
863 - "requires": {
864 - "minimist": "0.0.8"
865 - },
866 - "dependencies": {
867 - "minimist": {
868 - "version": "0.0.8",
869 - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
870 - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
871 - }
872 - }
873 - },
874 - "mute-stream": {
875 - "version": "0.0.7",
876 - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
877 - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
878 - },
879 - "normalize-path": {
880 - "version": "2.1.1",
881 - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
882 - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
883 - "requires": {
884 - "remove-trailing-separator": "^1.0.1"
885 - }
886 - },
887 - "npm-install-package": {
888 - "version": "2.1.0",
889 - "resolved": "http://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz",
890 - "integrity": "sha1-1+/jz816sAYUuJbqUxGdyaslkSU="
891 - },
892 - "oauth-sign": {
893 - "version": "0.9.0",
894 - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
895 - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
896 - },
897 - "once": {
898 - "version": "1.4.0",
899 - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
900 - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
901 - "requires": {
902 - "wrappy": "1"
903 - }
904 - },
905 - "onetime": {
906 - "version": "2.0.1",
907 - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
908 - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
909 - "requires": {
910 - "mimic-fn": "^1.0.0"
911 - }
912 - },
913 - "optimist": {
914 - "version": "0.6.1",
915 - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
916 - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
917 - "requires": {
918 - "minimist": "~0.0.1",
919 - "wordwrap": "~0.0.2"
920 - },
921 - "dependencies": {
922 - "minimist": {
923 - "version": "0.0.10",
924 - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
925 - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8="
926 - }
927 - }
928 - },
929 - "os-tmpdir": {
930 - "version": "1.0.2",
931 - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
932 - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
933 - },
934 - "pako": {
935 - "version": "1.0.7",
936 - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.7.tgz",
937 - "integrity": "sha512-3HNK5tW4x8o5mO8RuHZp3Ydw9icZXx0RANAOMzlMzx7LVXhMJ4mo3MOBpzyd7r/+RUu8BmndP47LXT+vzjtWcQ=="
938 - },
939 - "path-is-absolute": {
940 - "version": "1.0.1",
941 - "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
942 - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
943 - },
944 - "performance-now": {
945 - "version": "2.1.0",
946 - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
947 - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
948 - },
949 - "process-nextick-args": {
950 - "version": "2.0.0",
951 - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
952 - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
953 - },
954 - "psl": {
955 - "version": "1.1.29",
956 - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
957 - "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ=="
958 - },
959 - "punycode": {
960 - "version": "2.1.1",
961 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
962 - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
963 - },
964 - "q": {
965 - "version": "1.5.1",
966 - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
967 - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
968 - },
969 - "qs": {
970 - "version": "6.5.2",
971 - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
972 - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
973 - },
974 - "querystring": {
975 - "version": "0.2.0",
976 - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
977 - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
978 - },
979 - "readable-stream": {
980 - "version": "2.0.6",
981 - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
982 - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
983 - "requires": {
984 - "core-util-is": "~1.0.0",
985 - "inherits": "~2.0.1",
986 - "isarray": "~1.0.0",
987 - "process-nextick-args": "~1.0.6",
988 - "string_decoder": "~0.10.x",
989 - "util-deprecate": "~1.0.1"
990 - },
991 - "dependencies": {
992 - "process-nextick-args": {
993 - "version": "1.0.7",
994 - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
995 - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
996 - }
997 - }
998 - },
999 - "regenerator-runtime": {
1000 - "version": "0.11.1",
1001 - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
1002 - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
1003 - },
1004 - "remove-trailing-separator": {
1005 - "version": "1.1.0",
1006 - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
1007 - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
1008 - },
1009 - "request": {
1010 - "version": "2.88.0",
1011 - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
1012 - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
1013 - "requires": {
1014 - "aws-sign2": "~0.7.0",
1015 - "aws4": "^1.8.0",
1016 - "caseless": "~0.12.0",
1017 - "combined-stream": "~1.0.6",
1018 - "extend": "~3.0.2",
1019 - "forever-agent": "~0.6.1",
1020 - "form-data": "~2.3.2",
1021 - "har-validator": "~5.1.0",
1022 - "http-signature": "~1.2.0",
1023 - "is-typedarray": "~1.0.0",
1024 - "isstream": "~0.1.2",
1025 - "json-stringify-safe": "~5.0.1",
1026 - "mime-types": "~2.1.19",
1027 - "oauth-sign": "~0.9.0",
1028 - "performance-now": "^2.1.0",
1029 - "qs": "~6.5.2",
1030 - "safe-buffer": "^5.1.2",
1031 - "tough-cookie": "~2.4.3",
1032 - "tunnel-agent": "^0.6.0",
1033 - "uuid": "^3.3.2"
1034 - },
1035 - "dependencies": {
1036 - "punycode": {
1037 - "version": "1.4.1",
1038 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
1039 - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
1040 - },
1041 - "tough-cookie": {
1042 - "version": "2.4.3",
1043 - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
1044 - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
1045 - "requires": {
1046 - "psl": "^1.1.24",
1047 - "punycode": "^1.4.1"
1048 - }
1049 - }
1050 - }
1051 - },
1052 - "resolve-url": {
1053 - "version": "0.2.1",
1054 - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
1055 - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
1056 - },
1057 - "restore-cursor": {
1058 - "version": "2.0.0",
1059 - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
1060 - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
1061 - "requires": {
1062 - "onetime": "^2.0.0",
1063 - "signal-exit": "^3.0.2"
1064 - }
1065 - },
1066 - "rgb2hex": {
1067 - "version": "0.1.9",
1068 - "resolved": "https://registry.npmjs.org/rgb2hex/-/rgb2hex-0.1.9.tgz",
1069 - "integrity": "sha512-32iuQzhOjyT+cv9aAFRBJ19JgHwzQwbjUhH3Fj2sWW2EEGAW8fpFrDFP5ndoKDxJaLO06x1hE3kyuIFrUQtybQ=="
1070 - },
1071 - "rimraf": {
1072 - "version": "2.6.2",
1073 - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
1074 - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
1075 - "requires": {
1076 - "glob": "^7.0.5"
1077 - }
1078 - },
1079 - "run-async": {
1080 - "version": "2.3.0",
1081 - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
1082 - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
1083 - "requires": {
1084 - "is-promise": "^2.1.0"
1085 - }
1086 - },
1087 - "rx-lite": {
1088 - "version": "4.0.8",
1089 - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
1090 - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ="
1091 - },
1092 - "rx-lite-aggregates": {
1093 - "version": "4.0.8",
1094 - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
1095 - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
1096 - "requires": {
1097 - "rx-lite": "*"
1098 - }
1099 - },
1100 - "safe-buffer": {
1101 - "version": "5.1.2",
1102 - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
1103 - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
1104 - },
1105 - "safer-buffer": {
1106 - "version": "2.1.2",
1107 - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1108 - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1109 - },
1110 - "sax": {
1111 - "version": "1.2.4",
1112 - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
1113 - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
1114 - },
1115 - "selenium-webdriver": {
1116 - "version": "3.6.0",
1117 - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz",
1118 - "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==",
1119 - "requires": {
1120 - "jszip": "^3.1.3",
1121 - "rimraf": "^2.5.4",
1122 - "tmp": "0.0.30",
1123 - "xml2js": "^0.4.17"
1124 - }
1125 - },
1126 - "signal-exit": {
1127 - "version": "3.0.2",
1128 - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
1129 - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
1130 - },
1131 - "source-map": {
1132 - "version": "0.6.1",
1133 - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1134 - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
1135 - },
1136 - "source-map-resolve": {
1137 - "version": "0.5.2",
1138 - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
1139 - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
1140 - "requires": {
1141 - "atob": "^2.1.1",
1142 - "decode-uri-component": "^0.2.0",
1143 - "resolve-url": "^0.2.1",
1144 - "source-map-url": "^0.4.0",
1145 - "urix": "^0.1.0"
1146 - }
1147 - },
1148 - "source-map-url": {
1149 - "version": "0.4.0",
1150 - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
1151 - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
1152 - },
1153 - "sshpk": {
1154 - "version": "1.15.2",
1155 - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
1156 - "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==",
1157 - "requires": {
1158 - "asn1": "~0.2.3",
1159 - "assert-plus": "^1.0.0",
1160 - "bcrypt-pbkdf": "^1.0.0",
1161 - "dashdash": "^1.12.0",
1162 - "ecc-jsbn": "~0.1.1",
1163 - "getpass": "^0.1.1",
1164 - "jsbn": "~0.1.0",
1165 - "safer-buffer": "^2.0.2",
1166 - "tweetnacl": "~0.14.0"
1167 - }
1168 - },
1169 - "string-width": {
1170 - "version": "2.1.1",
1171 - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
1172 - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
1173 - "requires": {
1174 - "is-fullwidth-code-point": "^2.0.0",
1175 - "strip-ansi": "^4.0.0"
1176 - }
1177 - },
1178 - "string_decoder": {
1179 - "version": "0.10.31",
1180 - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
1181 - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
1182 - },
1183 - "strip-ansi": {
1184 - "version": "4.0.0",
1185 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
1186 - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
1187 - "requires": {
1188 - "ansi-regex": "^3.0.0"
1189 - }
1190 - },
1191 - "supports-color": {
1192 - "version": "5.0.1",
1193 - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.0.1.tgz",
1194 - "integrity": "sha512-7FQGOlSQ+AQxBNXJpVDj8efTA/FtyB5wcNE1omXXJ0cq6jm1jjDwuROlYDbnzHqdNPqliWFhcioCWSyav+xBnA==",
1195 - "requires": {
1196 - "has-flag": "^2.0.0"
1197 - },
1198 - "dependencies": {
1199 - "has-flag": {
1200 - "version": "2.0.0",
1201 - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
1202 - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE="
1203 - }
1204 - }
1205 - },
1206 - "tar-stream": {
1207 - "version": "1.6.2",
1208 - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
1209 - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
1210 - "requires": {
1211 - "bl": "^1.0.0",
1212 - "buffer-alloc": "^1.2.0",
1213 - "end-of-stream": "^1.0.0",
1214 - "fs-constants": "^1.0.0",
1215 - "readable-stream": "^2.3.0",
1216 - "to-buffer": "^1.1.1",
1217 - "xtend": "^4.0.0"
1218 - },
1219 - "dependencies": {
1220 - "readable-stream": {
1221 - "version": "2.3.6",
1222 - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
1223 - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
1224 - "requires": {
1225 - "core-util-is": "~1.0.0",
1226 - "inherits": "~2.0.3",
1227 - "isarray": "~1.0.0",
1228 - "process-nextick-args": "~2.0.0",
1229 - "safe-buffer": "~5.1.1",
1230 - "string_decoder": "~1.1.1",
1231 - "util-deprecate": "~1.0.1"
1232 - }
1233 - },
1234 - "string_decoder": {
1235 - "version": "1.1.1",
1236 - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1237 - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1238 - "requires": {
1239 - "safe-buffer": "~5.1.0"
1240 - }
1241 - }
1242 - }
1243 - },
1244 - "through": {
1245 - "version": "2.3.8",
1246 - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
1247 - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
1248 - },
1249 - "tmp": {
1250 - "version": "0.0.30",
1251 - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz",
1252 - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=",
1253 - "requires": {
1254 - "os-tmpdir": "~1.0.1"
1255 - }
1256 - },
1257 - "to-buffer": {
1258 - "version": "1.1.1",
1259 - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
1260 - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg=="
1261 - },
1262 - "tunnel-agent": {
1263 - "version": "0.6.0",
1264 - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
1265 - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
1266 - "requires": {
1267 - "safe-buffer": "^5.0.1"
1268 - }
1269 - },
1270 - "tweetnacl": {
1271 - "version": "0.14.5",
1272 - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
1273 - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
1274 - },
1275 - "uri-js": {
1276 - "version": "4.2.2",
1277 - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
1278 - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
1279 - "requires": {
1280 - "punycode": "^2.1.0"
1281 - }
1282 - },
1283 - "urix": {
1284 - "version": "0.1.0",
1285 - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
1286 - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
1287 - },
1288 - "url": {
1289 - "version": "0.11.0",
1290 - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
1291 - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
1292 - "requires": {
1293 - "punycode": "1.3.2",
1294 - "querystring": "0.2.0"
1295 - },
1296 - "dependencies": {
1297 - "punycode": {
1298 - "version": "1.3.2",
1299 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
1300 - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
1301 - }
1302 - }
1303 - },
1304 - "util": {
1305 - "version": "0.11.1",
1306 - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
1307 - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
1308 - "requires": {
1309 - "inherits": "2.0.3"
1310 - }
1311 - },
1312 - "util-deprecate": {
1313 - "version": "1.0.2",
1314 - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1315 - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
1316 - },
1317 - "uuid": {
1318 - "version": "3.3.2",
1319 - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
1320 - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
1321 - },
1322 - "verror": {
1323 - "version": "1.10.0",
1324 - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
1325 - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
1326 - "requires": {
1327 - "assert-plus": "^1.0.0",
1328 - "core-util-is": "1.0.2",
1329 - "extsprintf": "^1.2.0"
1330 - }
1331 - },
1332 - "wdio-dot-reporter": {
1333 - "version": "0.0.10",
1334 - "resolved": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.10.tgz",
1335 - "integrity": "sha512-A0TCk2JdZEn3M1DSG9YYbNRcGdx/YRw19lTiRpgwzH4qqWkO/oRDZRmi3Snn4L2j54KKTfPalBhlOtc8fojVgg=="
1336 - },
1337 - "webdriverio": {
1338 - "version": "4.14.0",
1339 - "resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-4.14.0.tgz",
1340 - "integrity": "sha512-642Iqp9en2hvuVINkTfQvWoQCaLb6zJyLHgQFUFLx7s+8l8GnrHzMjkv5DbecZHwnBkhybpphbTW7k0B2ARH5A==",
1341 - "requires": {
1342 - "archiver": "~2.1.0",
1343 - "babel-runtime": "^6.26.0",
1344 - "css-parse": "^2.0.0",
1345 - "css-value": "~0.0.1",
1346 - "deepmerge": "~2.0.1",
1347 - "ejs": "~2.5.6",
1348 - "gaze": "~1.1.2",
1349 - "glob": "~7.1.1",
1350 - "grapheme-splitter": "^1.0.2",
1351 - "inquirer": "~3.3.0",
1352 - "json-stringify-safe": "~5.0.1",
1353 - "mkdirp": "~0.5.1",
1354 - "npm-install-package": "~2.1.0",
1355 - "optimist": "~0.6.1",
1356 - "q": "~1.5.0",
1357 - "request": "^2.83.0",
1358 - "rgb2hex": "^0.1.9",
1359 - "safe-buffer": "~5.1.1",
1360 - "supports-color": "~5.0.0",
1361 - "url": "~0.11.0",
1362 - "wdio-dot-reporter": "~0.0.8",
1363 - "wgxpath": "~1.0.0"
1364 - }
1365 - },
1366 - "wgxpath": {
1367 - "version": "1.0.0",
1368 - "resolved": "https://registry.npmjs.org/wgxpath/-/wgxpath-1.0.0.tgz",
1369 - "integrity": "sha1-7vikudVYzEla06mit1FZfs2a9pA="
1370 - },
1371 - "wordwrap": {
1372 - "version": "0.0.3",
1373 - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
1374 - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
1375 - },
1376 - "wrappy": {
1377 - "version": "1.0.2",
1378 - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1379 - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
1380 - },
1381 - "xml2js": {
1382 - "version": "0.4.19",
1383 - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
1384 - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
1385 - "requires": {
1386 - "sax": ">=0.6.0",
1387 - "xmlbuilder": "~9.0.1"
1388 - }
1389 - },
1390 - "xmlbuilder": {
1391 - "version": "9.0.7",
1392 - "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
1393 - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0="
1394 - },
1395 - "xtend": {
1396 - "version": "4.0.1",
1397 - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
1398 - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
1399 - },
1400 - "zip-stream": {
1401 - "version": "1.2.0",
1402 - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz",
1403 - "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=",
1404 - "requires": {
1405 - "archiver-utils": "^1.3.0",
1406 - "compress-commons": "^1.2.0",
1407 - "lodash": "^4.8.0",
1408 - "readable-stream": "^2.0.0"
1409 - },
1410 - "dependencies": {
1411 - "readable-stream": {
1412 - "version": "2.3.6",
1413 - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
1414 - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
1415 - "requires": {
1416 - "core-util-is": "~1.0.0",
1417 - "inherits": "~2.0.3",
1418 - "isarray": "~1.0.0",
1419 - "process-nextick-args": "~2.0.0",
1420 - "safe-buffer": "~5.1.1",
1421 - "string_decoder": "~1.1.1",
1422 - "util-deprecate": "~1.0.1"
1423 - }
1424 - },
1425 - "string_decoder": {
1426 - "version": "1.1.1",
1427 - "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1428 - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1429 - "requires": {
1430 - "safe-buffer": "~5.1.0"
1431 - }
1432 - }
1433 - }
1434 - }
1435 - }
1436 -}
1 -{
2 - "name": "cheerio",
3 - "version": "1.0.0",
4 - "description": "",
5 - "main": "practice.js",
6 - "scripts": {
7 - "test": "echo \"Error: no test specified\" && exit 1"
8 - },
9 - "author": "",
10 - "license": "ISC",
11 - "dependencies": {
12 - "async": "^2.6.1",
13 - "events": "^3.0.0",
14 - "fs": "0.0.1-security",
15 - "iconv-lite": "^0.4.24",
16 - "jason": "^2.0.0",
17 - "json": "^9.0.6",
18 - "selenium-webdriver": "^3.6.0",
19 - "util": "^0.11.1",
20 - "webdriverio": "^4.14.0"
21 - }
22 -}
1 -var async = require('async');
2 -var webdriver = require('selenium-webdriver');
3 -var options = {desiredCapabilities: {browserName: 'chrome'}};
4 -const {Builder, By, Key, until} = require('selenium-webdriver');
5 -
6 -var driver = new webdriver.Builder().
7 - withCapabilities(webdriver.Capabilities.chrome()).
8 - build();
9 -
10 - let url = 'https://people.search.naver.com/search.naver?where=nexearch&query=%EC%9C%A0%EC%9E%AC%EC%84%9D&sm=tab_etc&ie=utf8&key=PeopleService&os=94702';
11 -
12 - driver
13 - .get(url)
14 - .then(() => {
15 - driver
16 - .findElement(webdriver.By.id('pagination_76'))
17 - .then(paginationBtn => {
18 - paginationBtn.findElements(webdriver.By.className('bt_next'))
19 - .then(elemsBtn => {
20 - var cnt = 1;
21 -
22 - function getContentsAndClickNext (callback) {
23 - console.log('higetcontests', cnt);
24 - cnt++;
25 - driver
26 - .findElement(webdriver.By.id('listUI_76'))
27 - .then(contentsUI => {
28 - contentsUI
29 - .findElements(webdriver.By.tagName('li'))
30 - .then(elems => {
31 - elems.forEach(elem => {
32 - elem
33 - .getText()
34 - .then(text => {
35 - console.log(text);
36 - // 내 추측 : stale해지면, boolean 값으로 driver 어딘가에 true설정되는것 같아
37 - // wait이라는 함수를 써서, 이게 false 가 될 때까지 기다린 다음에 getText()를 해.
38 - // ok?
39 - })
40 - .catch(error => {
41 - // 문제가 있으면 이곳을 의심해볼것! 변수 error를 체크해보기!
42 - // console.log('really?? exception!');
43 - })
44 - })
45 -
46 - elemsBtn[0].click();
47 -
48 - sleep(50).then(() => {
49 - // Do something after the sleep!
50 - });
51 - callback();
52 - })
53 - .catch(error => {
54 - console.log("asdfasdf!!', e");
55 - })
56 - })
57 - .catch(error => {
58 - console.log('fuck!@#', error);
59 - })
60 - }
61 -
62 - async.whilst(
63 - function() {
64 - console.log('whilist result', cnt < 5);
65 - return cnt < 5;
66 - },
67 - getContentsAndClickNext,
68 - function(e) {
69 - console.log('Exception', e)
70 - }
71 - );
72 - })
73 - .catch(error => {
74 - console.log('Exception 4444', error);
75 - }); // 다음 컨텐츠로 가는 버튼(2개임. 하나는 평소용 두번째는 더이상 갈 페이지가 없을 때 쓰는 버튼)
76 - })
77 - .catch(error => {
78 - console.log('Exception 555', error);
79 - }); // 방송 컨텐츠 페이지네이션 버튼
80 -
81 -
82 - // sleep time expects milliseconds
83 - function sleep (time) {
84 - return new Promise((resolve) => setTimeout(resolve, time));
85 - }
86 -
87 - // Usage!
88 - sleep(8000).then(() => {
89 - // Do something after the sleep!
90 - });
91 -
92 - });
93 -
1 -var async = require('async');
2 -var webdriver = require('selenium-webdriver');
3 -//var options = {desiredCapabilities: {browserName: 'chrome'}};
4 -var chrome = require('selenium-webdriver/chrome')
5 -var Options = new chrome.Options();
6 -Options.addArguments('headless')
7 -Options.addArguments('disable-gpu')
8 -var test1 = require('./crawling_samename')
9 -const fs = require('fs')
10 -var util = require('util')
11 -var EventEmitter = require('events').EventEmitter;
12 -
13 -var next_link_Array = []
14 -var img_src_Array = []
15 -
16 -const {Builder, By, Key, until} = require('selenium-webdriver');
17 -var driver = new webdriver.Builder()
18 -.forBrowser('chrome')
19 -.withCapabilities(webdriver.Capabilities.chrome())
20 -.setChromeOptions(Options)
21 -.build();
22 -
23 -var First_Search = function(name) {
24 - var self=this;
25 - this.on('input', function() {
26 -
27 - if(fs.existsSync("./log/"+name+"_next_link.txt")) {
28 - const next_link = fs.readFileSync("./log/"+name+"_next_link.txt");
29 - const img_src = fs.readFileSync("./log/"+name+"_img_src.txt");
30 - next_link_Array = next_link.toString().split(',');
31 - img_src_Array = img_src.toString().split(',');
32 - driver.quit()
33 - console.log(next_link_Array)
34 - console.log(img_src_Array)
35 -
36 - setTimeout(function() {
37 - br_search.emit('click')
38 - },1000)
39 -
40 - }
41 - else {
42 - test1.first_search(driver,name,function() {
43 - const next_link = fs.readFileSync("./log/"+name+"_next_link.txt");
44 - const img_src = fs.readFileSync("./log/"+name+"_img_src.txt");
45 - next_link_Array = next_link.toString().split(',');
46 - img_src_Array = img_src.toString().split(',');
47 - br_search = new broadcasting_search(next_link_Array,"유재석",0)
48 - console.log(next_link_Array)
49 - console.log(img_src_Array)
50 - driver.quit()
51 - setTimeout(function() {
52 - br_search.emit('click')
53 - },1000)
54 - })
55 - }
56 - })
57 -}
58 -util.inherits(First_Search,EventEmitter);
59 -first_search1 = new First_Search("유재석")
60 -first_search1.emit('input')