├── Procfile ├── .gitignore ├── .github └── FUNDING.yml ├── public ├── js │ ├── .DS_Store │ ├── init.js │ └── skel.min.js ├── images │ ├── header.jpg │ ├── pic01.jpg │ ├── pic02.jpg │ ├── pic03.jpg │ └── wppb-share.jpg ├── css │ ├── images │ │ ├── overlay.png │ │ ├── xoverlay.png │ │ ├── bottom-1280.svg │ │ ├── bottom-1600.svg │ │ ├── bottom-3200.svg │ │ ├── top-1280.svg │ │ ├── top-1600.svg │ │ └── top-3200.svg │ ├── style-narrow.css │ ├── style-narrower.css │ ├── style-wide.css │ ├── style-mobilep.css │ ├── style-normal.css │ ├── ie │ │ ├── html5shiv.js │ │ ├── v8.css │ │ ├── backgroundsize.min.htc │ │ └── PIE.htc │ ├── style-mobile.css │ ├── skel.css │ ├── font-awesome.min.css │ └── style.css ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.ttf │ └── fontawesome-webfont.woff └── node.svg ├── app.json ├── .vscode └── launch.json ├── package.json ├── README.md ├── views └── index.ejs ├── server.js └── yarn.lock /Procfile: -------------------------------------------------------------------------------- 1 | web: node server.js 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | tmp 3 | source 4 | npm-debug.log 5 | .idea 6 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | patreon: tcoding 4 | -------------------------------------------------------------------------------- /public/js/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tmeister/wppb-gen-site/HEAD/public/js/.DS_Store -------------------------------------------------------------------------------- /public/images/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tmeister/wppb-gen-site/HEAD/public/images/header.jpg -------------------------------------------------------------------------------- /public/images/pic01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tmeister/wppb-gen-site/HEAD/public/images/pic01.jpg -------------------------------------------------------------------------------- /public/images/pic02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tmeister/wppb-gen-site/HEAD/public/images/pic02.jpg -------------------------------------------------------------------------------- /public/images/pic03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tmeister/wppb-gen-site/HEAD/public/images/pic03.jpg -------------------------------------------------------------------------------- /public/css/images/overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tmeister/wppb-gen-site/HEAD/public/css/images/overlay.png -------------------------------------------------------------------------------- /public/css/images/xoverlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tmeister/wppb-gen-site/HEAD/public/css/images/xoverlay.png -------------------------------------------------------------------------------- /public/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tmeister/wppb-gen-site/HEAD/public/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /public/images/wppb-share.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tmeister/wppb-gen-site/HEAD/public/images/wppb-share.jpg -------------------------------------------------------------------------------- /public/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tmeister/wppb-gen-site/HEAD/public/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /public/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tmeister/wppb-gen-site/HEAD/public/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /public/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tmeister/wppb-gen-site/HEAD/public/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Wppb Online Generator", 3 | "description": "A wppb online generator", 4 | "repository": "https://github.com/tmeister/wppb-gen", 5 | "logo": "http://node-js-sample.herokuapp.com/node.svg", 6 | "keywords": ["node", "express", "static"] 7 | } 8 | -------------------------------------------------------------------------------- /public/css/style-narrow.css: -------------------------------------------------------------------------------- 1 | /* 2 | Directive by HTML5 UP 3 | html5up.net | @n33co 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* Basic */ 8 | 9 | body, input, select, textarea { 10 | font-size: 12pt; 11 | } -------------------------------------------------------------------------------- /public/css/style-narrower.css: -------------------------------------------------------------------------------- 1 | /* 2 | Directive by HTML5 UP 3 | html5up.net | @n33co 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* Section/Article */ 8 | 9 | header.major { 10 | padding-left: 2em; 11 | padding-right: 2em; 12 | } 13 | 14 | footer.major { 15 | padding-left: 2em; 16 | padding-right: 2em; 17 | } -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 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": "node", 9 | "request": "launch", 10 | "name": "Launch Program", 11 | "program": "${workspaceFolder}/server.js" 12 | } 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /public/css/style-wide.css: -------------------------------------------------------------------------------- 1 | /* 2 | Directive by HTML5 UP 3 | html5up.net | @n33co 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* Basic */ 8 | 9 | body, input, select, textarea { 10 | font-size: 14pt; 11 | } 12 | 13 | h2 { 14 | font-size: 1.5em; 15 | } 16 | 17 | h3 { 18 | font-size: 1.25em; 19 | } 20 | 21 | /* Section/Article */ 22 | 23 | header.major p { 24 | font-size: 1.25em; 25 | } 26 | 27 | /* Header */ 28 | 29 | #header { 30 | padding: 8em 0 16em 0; 31 | } 32 | 33 | #header h1 { 34 | font-size: 2.25em; 35 | } 36 | 37 | #header p { 38 | font-size: 1.25em; 39 | line-height: 1.65em; 40 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "wppb-gen", 3 | "version": "0.1.0", 4 | "description": "wppb-gen", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "node index.js" 8 | }, 9 | "dependencies": { 10 | "body-parser": "^1.12.4", 11 | "cron": "^1.0.9", 12 | "easy-zip": "0.0.4", 13 | "ejs": "^2.3.1", 14 | "express": "4.16.4", 15 | "fs-extra": "7.0.1", 16 | "github-download": "0.5.0", 17 | "mime": "^2.4.0", 18 | "replace": "^1.1.0", 19 | "rimraf": "^2.4.0", 20 | "universal-analytics": "^0.4.20" 21 | }, 22 | "engines": { 23 | "node": "10.15.x" 24 | }, 25 | "repository": { 26 | "type": "git", 27 | "url": "https://github.com/tmeister/wppb-gen" 28 | }, 29 | "keywords": [ 30 | "node", 31 | "heroku", 32 | "express" 33 | ], 34 | "license": "MIT" 35 | } 36 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # IMPORTANT - This version is not used and maintained anymore 2 | 3 | The new generator site repo can be found at https://github.com/Tmeister/wppb-generator 4 | 5 | 6 | # WordPress Plugin Boilerplate Generator 7 | 8 | A Node.js small application to generate a custom zip file based on the WPPB by Tom McFarlin ( [wppb.io](http://wppb.io) ). 9 | 10 | This app will find and replace plugin-name, Plugin_Name, plugin_name and author information from the original code and will send a zip file with the new code, ready to use. 11 | 12 | ## Running Locally 13 | 14 | Make sure you have [Node.js](http://nodejs.org/) installed. 15 | 16 | ```sh 17 | $ git clone git@github.com:Tmeister/wppb-gen-site.git # or clone your own fork 18 | $ cd wppb-gen-site 19 | $ npm install 20 | $ node server 21 | ``` 22 | 23 | Your app should now be running on [localhost:3000](http://localhost:3000/). 24 | 25 | Comments and requests at [@tmeister](https://twitter.com/tmeister) or noone at tmeister dot net 26 | 27 | 28 | -------------------------------------------------------------------------------- /public/css/images/bottom-1280.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /public/css/images/bottom-1600.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /public/css/images/bottom-3200.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /public/css/images/top-1280.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /public/css/images/top-1600.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /public/css/images/top-3200.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /public/css/style-mobilep.css: -------------------------------------------------------------------------------- 1 | /* 2 | Directive by HTML5 UP 3 | html5up.net | @n33co 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* Section/Article */ 8 | 9 | header.major { 10 | padding-left: 1em; 11 | padding-right: 1em; 12 | } 13 | 14 | footer.major { 15 | padding-left: 1em; 16 | padding-right: 1em; 17 | } 18 | 19 | /* List */ 20 | 21 | ul.icons li { 22 | padding: 0.2em; 23 | } 24 | 25 | ul.actions li { 26 | display: block; 27 | padding: 15px 0 0 0; 28 | } 29 | 30 | ul.actions li:first-child { 31 | padding: 0; 32 | } 33 | 34 | /* Button */ 35 | 36 | input[type="submit"], 37 | input[type="reset"], 38 | input[type="button"], 39 | .button { 40 | display: block; 41 | width: 100%; 42 | } 43 | 44 | /* Box */ 45 | 46 | .box { 47 | padding: 2em 1em; 48 | } 49 | 50 | /* Feature */ 51 | 52 | .feature { 53 | margin-bottom: 1em; 54 | } 55 | 56 | .feature .content { 57 | padding: 2em 1em !important; 58 | } 59 | 60 | /* Main */ 61 | 62 | #main { 63 | padding-left: 1em; 64 | padding-right: 1em; 65 | } 66 | 67 | /* Footer */ 68 | 69 | #footer { 70 | margin-top: -100px; 71 | padding-left: 1em; 72 | padding-right: 1em; 73 | } 74 | 75 | #footer .copyright li { 76 | border: 0; 77 | display: block; 78 | margin: 0; 79 | padding: 0.75em 0 0 0; 80 | } 81 | 82 | /* Header */ 83 | 84 | #header { 85 | padding-left: 2em; 86 | padding-right: 2em; 87 | } 88 | 89 | #header br { 90 | display: none; 91 | } -------------------------------------------------------------------------------- /public/node.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 12 | 17 | 18 | -------------------------------------------------------------------------------- /public/css/style-normal.css: -------------------------------------------------------------------------------- 1 | /* 2 | Directive by HTML5 UP 3 | html5up.net | @n33co 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* Basic */ 8 | 9 | body, input, select, textarea { 10 | font-size: 13pt; 11 | } 12 | 13 | h2 { 14 | font-size: 1.35em; 15 | } 16 | 17 | h3 { 18 | font-size: 1.15em; 19 | } 20 | 21 | /* Section/Article */ 22 | 23 | header.major { 24 | margin-bottom: 4em; 25 | padding: 3em 0; 26 | } 27 | 28 | header.major p { 29 | font-size: 1.15em; 30 | } 31 | 32 | footer.major { 33 | margin-top: 4em; 34 | padding: 3em 0; 35 | } 36 | 37 | /* Box */ 38 | 39 | .box { 40 | padding: 2.5em; 41 | margin-bottom: 4em; 42 | } 43 | 44 | /* Feature */ 45 | 46 | .feature { 47 | height: 18em; 48 | } 49 | 50 | .feature .content { 51 | padding: 2.5em; 52 | } 53 | 54 | /* Header */ 55 | 56 | #header { 57 | background-attachment: scroll, scroll, scroll; 58 | background-image: url("images/top-1600.svg"), url("images/overlay.png"), url("../images/header.jpg"); 59 | background-size: 1600px 230px, auto, cover; 60 | padding: 6em 0 12em 0; 61 | } 62 | 63 | #header:before { 64 | height: calc(100% - 25px); 65 | } 66 | 67 | #header:after { 68 | height: 25px; 69 | } 70 | 71 | #header h1 { 72 | font-size: 2em; 73 | } 74 | 75 | #header p { 76 | font-size: 1.15em; 77 | } 78 | 79 | /* Footer */ 80 | 81 | #footer { 82 | background-image: url("images/bottom-1600.svg"); 83 | background-size: 1600px 230px; 84 | margin-top: -100px; 85 | padding: calc(230px + 4em) 0 6em 0; 86 | } 87 | 88 | #footer:before { 89 | height: calc(230px + 4em); 90 | } 91 | 92 | /* Main */ 93 | 94 | #main { 95 | padding: 4em 0 3em 0; 96 | } -------------------------------------------------------------------------------- /public/css/ie/html5shiv.js: -------------------------------------------------------------------------------- 1 | /* 2 | HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | */ 4 | (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); 5 | a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; 6 | c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| 7 | "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment(); 8 | for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d * { 106 | position: relative; 107 | z-index: 1; 108 | } 109 | 110 | #header .logo { 111 | -ms-behavior: url("css/ie/PIE.htc"); 112 | } 113 | 114 | /* Footer */ 115 | 116 | #footer { 117 | background-image: none !important; 118 | margin-top: 0 !important; 119 | padding: 4em 0 !important; 120 | color: white; 121 | } 122 | 123 | /* Main */ 124 | 125 | #main { 126 | padding: 4em 0; 127 | } -------------------------------------------------------------------------------- /public/css/style-mobile.css: -------------------------------------------------------------------------------- 1 | /* 2 | Directive by HTML5 UP 3 | html5up.net | @n33co 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* Basic */ 8 | 9 | h2 { 10 | font-size: 1em; 11 | } 12 | 13 | h3 { 14 | font-size: 1em; 15 | } 16 | 17 | /* Section/Article */ 18 | 19 | header p { 20 | font-size: 0.8em; 21 | } 22 | 23 | header.major { 24 | margin-bottom: 2em; 25 | } 26 | 27 | header.major br { 28 | display: none; 29 | } 30 | 31 | header.major p { 32 | font-size: 0.8em; 33 | } 34 | 35 | footer.major { 36 | margin-top: 2em; 37 | } 38 | 39 | footer.major br { 40 | display: none; 41 | } 42 | 43 | /* List */ 44 | 45 | ul.actions li { 46 | padding: 0 0 0 15px; 47 | } 48 | 49 | ul.actions.vertical li { 50 | padding: 15px 0 0 0; 51 | } 52 | 53 | /* Box */ 54 | 55 | .box { 56 | padding: 2em; 57 | margin-bottom: 2em; 58 | } 59 | 60 | /* Feature */ 61 | 62 | .feature { 63 | background: white; 64 | display: block; 65 | height: auto; 66 | margin-bottom: 2em; 67 | } 68 | 69 | .feature:last-child { 70 | margin-bottom: 0; 71 | } 72 | 73 | .feature:before, .feature:after { 74 | display: none; 75 | } 76 | 77 | .feature .image { 78 | float: none; 79 | height: 15em; 80 | width: 100%; 81 | } 82 | 83 | .feature .content { 84 | border: solid 1px rgba(224, 224, 224, 0.75); 85 | padding: 2em !important; 86 | text-align: center; 87 | width: 100%; 88 | } 89 | 90 | /* Header */ 91 | 92 | #header { 93 | background-image: url("images/top-1280.svg"), url("images/overlay.png"), url("../images/header.jpg"); 94 | background-size: 1280px 184px, auto, cover; 95 | padding: 3em 0 7em 0; 96 | } 97 | 98 | #header:before { 99 | height: calc(100% - 20px); 100 | } 101 | 102 | #header:after { 103 | height: 20px; 104 | } 105 | 106 | #header .logo { 107 | font-size: 1.5em; 108 | } 109 | 110 | #header h1 { 111 | font-size: 1.25em; 112 | } 113 | 114 | #header p { 115 | font-size: 1em; 116 | } 117 | 118 | /* Footer */ 119 | 120 | #footer { 121 | background-image: url("images/bottom-1280.svg"); 122 | background-size: 1280px 184px; 123 | margin-top: -75px; 124 | padding: calc(184px + 2em) 0 2em 0; 125 | } 126 | 127 | #footer:before { 128 | height: calc(184px + 2em); 129 | } 130 | 131 | #footer form { 132 | padding-bottom: 0; 133 | } 134 | 135 | /* Main */ 136 | 137 | #main { 138 | padding: 2em 0 2em 0; 139 | } -------------------------------------------------------------------------------- /public/css/ie/backgroundsize.min.htc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /public/js/init.js: -------------------------------------------------------------------------------- 1 | /* 2 | Directive by HTML5 UP 3 | html5up.net | @n33co 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | (function($) { 8 | 9 | skel.init({ 10 | reset: 'full', 11 | breakpoints: { 12 | global: { range: '*', href: 'css/style.css', containers: '51em', grid: { gutters: 30 } }, 13 | wide: { range: '-1680', href: 'css/style-wide.css' }, 14 | normal: { range: '-1280', href: 'css/style-normal.css', containers: '48em' }, 15 | narrow: { range: '-980', href: 'css/style-narrow.css', containers: '95%', grid: { gutters: 30 } }, 16 | narrower: { range: '-840', href: 'css/style-narrower.css', containers: '95%!', grid: { zoom: 2, gutters: 20 } }, 17 | mobile: { range: '-736', href: 'css/style-mobile.css', containers: '90%!', grid: { gutters: 20 }, viewport: { scalable: false } }, 18 | mobilep: { range: '-480', href: 'css/style-mobilep.css', containers: '100%!', grid: { zoom: 3 } } 19 | } 20 | }); 21 | 22 | $(function() { 23 | 24 | var $window = $(window), 25 | $body = $('body'); 26 | 27 | // Disable animations/transitions until the page has loaded. 28 | $body.addClass('is-loading'); 29 | 30 | $window.on('load', function() { 31 | $body.removeClass('is-loading'); 32 | }); 33 | 34 | // Forms (IE<10). 35 | var $form = $('form'); 36 | if ($form.length > 0) { 37 | 38 | $form.find('.form-button-submit') 39 | .on('click', function() { 40 | $(this).parents('form').submit(); 41 | return false; 42 | }); 43 | 44 | if (skel.vars.IEVersion < 10) { 45 | $.fn.n33_formerize=function(){var _fakes=new Array(),_form = $(this);_form.find('input[type=text],textarea').each(function() { var e = $(this); if (e.val() == '' || e.val() == e.attr('placeholder')) { e.addClass('formerize-placeholder'); e.val(e.attr('placeholder')); } }).blur(function() { var e = $(this); if (e.attr('name').match(/_fakeformerizefield$/)) return; if (e.val() == '') { e.addClass('formerize-placeholder'); e.val(e.attr('placeholder')); } }).focus(function() { var e = $(this); if (e.attr('name').match(/_fakeformerizefield$/)) return; if (e.val() == e.attr('placeholder')) { e.removeClass('formerize-placeholder'); e.val(''); } }); _form.find('input[type=password]').each(function() { var e = $(this); var x = $($('
').append(e.clone()).remove().html().replace(/type="password"/i, 'type="text"').replace(/type=password/i, 'type=text')); if (e.attr('id') != '') x.attr('id', e.attr('id') + '_fakeformerizefield'); if (e.attr('name') != '') x.attr('name', e.attr('name') + '_fakeformerizefield'); x.addClass('formerize-placeholder').val(x.attr('placeholder')).insertAfter(e); if (e.val() == '') e.hide(); else x.hide(); e.blur(function(event) { event.preventDefault(); var e = $(this); var x = e.parent().find('input[name=' + e.attr('name') + '_fakeformerizefield]'); if (e.val() == '') { e.hide(); x.show(); } }); x.focus(function(event) { event.preventDefault(); var x = $(this); var e = x.parent().find('input[name=' + x.attr('name').replace('_fakeformerizefield', '') + ']'); x.hide(); e.show().focus(); }); x.keypress(function(event) { event.preventDefault(); x.val(''); }); }); _form.submit(function() { $(this).find('input[type=text],input[type=password],textarea').each(function(event) { var e = $(this); if (e.attr('name').match(/_fakeformerizefield$/)) e.attr('name', ''); if (e.val() == e.attr('placeholder')) { e.removeClass('formerize-placeholder'); e.val(''); } }); }).bind("reset", function(event) { event.preventDefault(); $(this).find('select').val($('option:first').val()); $(this).find('input,textarea').each(function() { var e = $(this); var x; e.removeClass('formerize-placeholder'); switch (this.type) { case 'submit': case 'reset': break; case 'password': e.val(e.attr('defaultValue')); x = e.parent().find('input[name=' + e.attr('name') + '_fakeformerizefield]'); if (e.val() == '') { e.hide(); x.show(); } else { e.show(); x.hide(); } break; case 'checkbox': case 'radio': e.attr('checked', e.attr('defaultValue')); break; case 'text': case 'textarea': e.val(e.attr('defaultValue')); if (e.val() == '') { e.addClass('formerize-placeholder'); e.val(e.attr('placeholder')); } break; default: e.val(e.attr('defaultValue')); break; } }); window.setTimeout(function() { for (x in _fakes) _fakes[x].trigger('formerize_sync'); }, 10); }); return _form; }; 46 | $form.n33_formerize(); 47 | } 48 | 49 | } 50 | 51 | // Validate Form 52 | $.validate({ 53 | form : '#wppb-form' 54 | }); 55 | 56 | }); 57 | 58 | })(jQuery); -------------------------------------------------------------------------------- /views/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | WordPress Plugin Boilerplate Generator | Ready to use WordPress Plugin Boilerplate 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 27 | 28 | 29 | 30 | 31 | 32 | 40 | 41 | 42 |
43 | 44 |
45 |

You only need to type your plugin 46 |
47 | details in the form below 48 |
49 | and a zip file will be generated

50 |
51 | 52 |
53 |
54 |

Create your amazing wppb based plugin

55 |
56 |
57 |
58 |
59 |
60 | 61 | 62 |
63 |
64 | 65 | 66 |
67 |
68 |
69 |
70 | 71 | 72 |
73 |
74 |
75 |
76 | 77 | 78 |
79 |
80 | 81 | 82 |
83 |
84 |
85 |
86 | 87 | 88 |
89 |
90 |
91 |
92 |
    93 |
  • 94 |
  • 95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 | 105 | 106 |
107 |
108 |
109 | 110 | 111 | 123 | 133 | 134 | 135 | 136 | -------------------------------------------------------------------------------- /public/css/skel.css: -------------------------------------------------------------------------------- 1 | /* Resets (http://meyerweb.com/eric/tools/css/reset/ | v2.0 | 20110126 | License: none (public domain)) */ 2 | 3 | html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}body{-webkit-text-size-adjust:none} 4 | 5 | /* Box Model */ 6 | 7 | *, *:before, *:after { 8 | -moz-box-sizing: border-box; 9 | -webkit-box-sizing: border-box; 10 | box-sizing: border-box; 11 | } 12 | 13 | /* Container */ 14 | 15 | body { 16 | /* min-width: (containers) */ 17 | min-width: 51em; 18 | } 19 | 20 | .container { 21 | margin-left: auto; 22 | margin-right: auto; 23 | 24 | /* width: (containers) */ 25 | width: 51em; 26 | } 27 | 28 | /* Modifiers */ 29 | 30 | /* 125% */ 31 | .container.\31 25\25 { 32 | width: 100%; 33 | 34 | /* max-width: (containers * 1.25) */ 35 | max-width: 63.75em; 36 | 37 | /* min-width: (containers) */ 38 | min-width: 51em; 39 | } 40 | 41 | /* 75% */ 42 | .container.\37 5\25 { 43 | 44 | /* width: (containers * 0.75) */ 45 | width: 38.25em; 46 | 47 | } 48 | 49 | /* 50% */ 50 | .container.\35 0\25 { 51 | 52 | /* width: (containers * 0.50) */ 53 | width: 25.5em; 54 | 55 | } 56 | 57 | /* 25% */ 58 | .container.\32 5\25 { 59 | 60 | /* width: (containers * 0.25) */ 61 | width: 12.75em; 62 | 63 | } 64 | 65 | /* Grid */ 66 | 67 | .row { 68 | border-bottom: solid 1px transparent; 69 | } 70 | 71 | .row > * { 72 | float: left; 73 | } 74 | 75 | .row:after, .row:before { 76 | content: ''; 77 | display: block; 78 | clear: both; 79 | height: 0; 80 | } 81 | 82 | .row.uniform > * > :first-child { 83 | margin-top: 0; 84 | } 85 | 86 | .row.uniform > * > :last-child { 87 | margin-bottom: 0; 88 | } 89 | 90 | /* Gutters */ 91 | 92 | /* Normal */ 93 | 94 | .row > * { 95 | /* padding: (gutters.horizontal) 0 0 (gutters.vertical) */ 96 | padding: 30px 0 0 30px; 97 | } 98 | 99 | .row { 100 | /* margin: -(gutters.horizontal) 0 0 -(gutters.vertical) */ 101 | margin: -30px 0 0 -30px; 102 | } 103 | 104 | .row.uniform > * { 105 | /* padding: (gutters.vertical) 0 0 (gutters.vertical) */ 106 | padding: 30px 0 0 30px; 107 | } 108 | 109 | .row.uniform { 110 | /* margin: -(gutters.vertical) 0 0 -(gutters.vertical) */ 111 | margin: -30px 0 0 -30px; 112 | } 113 | 114 | /* 200% */ 115 | 116 | .row.\32 00\25 > * { 117 | /* padding: (gutters.horizontal) 0 0 (gutters.vertical) */ 118 | padding: 60px 0 0 60px; 119 | } 120 | 121 | .row.\32 00\25 { 122 | /* margin: -(gutters.horizontal) 0 0 -(gutters.vertical) */ 123 | margin: -60px 0 0 -60px; 124 | } 125 | 126 | .row.uniform.\32 00\25 > * { 127 | /* padding: (gutters.vertical) 0 0 (gutters.vertical) */ 128 | padding: 60px 0 0 60px; 129 | } 130 | 131 | .row.uniform.\32 00\25 { 132 | /* margin: -(gutters.vertical) 0 0 -(gutters.vertical) */ 133 | margin: -60px 0 0 -60px; 134 | } 135 | 136 | /* 150% */ 137 | 138 | .row.\31 50\25 > * { 139 | /* padding: (gutters.horizontal) 0 0 (gutters.vertical) */ 140 | padding: 45px 0 0 45px; 141 | } 142 | 143 | .row.\31 50\25 { 144 | /* margin: -(gutters.horizontal) 0 0 -(gutters.vertical) */ 145 | margin: -45px 0 0 -45px; 146 | } 147 | 148 | .row.uniform.\31 50\25 > * { 149 | /* padding: (gutters.vertical) 0 0 (gutters.vertical) */ 150 | padding: 45px 0 0 45px; 151 | } 152 | 153 | .row.uniform.\31 50\25 { 154 | /* margin: -(gutters.vertical) 0 0 -(gutters.vertical) */ 155 | margin: -45px 0 0 -45px; 156 | } 157 | 158 | /* 50% */ 159 | 160 | .row.\35 0\25 > * { 161 | /* padding: (gutters.horizontal) 0 0 (gutters.vertical) */ 162 | padding: 15px 0 0 15px; 163 | } 164 | 165 | .row.\35 0\25 { 166 | /* margin: -(gutters.horizontal) 0 0 -(gutters.vertical) */ 167 | margin: -15px 0 0 -15px; 168 | } 169 | 170 | .row.uniform.\35 0\25 > * { 171 | /* padding: (gutters.vertical) 0 0 (gutters.vertical) */ 172 | padding: 15px 0 0 15px; 173 | } 174 | 175 | .row.uniform.\35 0\25 { 176 | /* margin: -(gutters.vertical) 0 0 -(gutters.vertical) */ 177 | margin: -15px 0 0 -15px; 178 | } 179 | 180 | /* 25% */ 181 | 182 | .row.\32 5\25 > * { 183 | /* padding: (gutters.horizontal) 0 0 (gutters.vertical) */ 184 | padding: 7.5px 0 0 7.5px; 185 | } 186 | 187 | .row.\32 5\25 { 188 | /* margin: -(gutters.horizontal) 0 0 -(gutters.vertical) */ 189 | margin: -7.5px 0 0 -7.5px; 190 | } 191 | 192 | .row.uniform.\32 5\25 > * { 193 | /* padding: (gutters.vertical) 0 0 (gutters.vertical) */ 194 | padding: 7.5px 0 0 7.5px; 195 | } 196 | 197 | .row.uniform.\32 5\25 { 198 | /* margin: -(gutters.vertical) 0 0 -(gutters.vertical) */ 199 | margin: -7.5px 0 0 -7.5px; 200 | } 201 | 202 | /* 0% */ 203 | 204 | .row.\30 \25 > * { 205 | /* padding: (gutters.horizontal) 0 0 (gutters.vertical) */ 206 | padding: 0; 207 | } 208 | 209 | .row.\30 \25 { 210 | /* margin: -(gutters.horizontal) 0 0 -(gutters.vertical) */ 211 | margin: 0; 212 | } 213 | 214 | /* Cells */ 215 | 216 | .\31 2u, .\31 2u\24, .\31 2u\28 1\29, .\31 2u\24\28 1\29 { width: 100%; clear: none; } 217 | .\31 1u, .\31 1u\24, .\31 1u\28 1\29, .\31 1u\24\28 1\29 { width: 91.6666666667%; clear: none; } 218 | .\31 0u, .\31 0u\24, .\31 0u\28 1\29, .\31 0u\24\28 1\29 { width: 83.3333333333%; clear: none; } 219 | .\39 u, .\39 u\24, .\39 u\28 1\29, .\39 u\24\28 1\29 { width: 75%; clear: none; } 220 | .\38 u, .\38 u\24, .\38 u\28 1\29, .\38 u\24\28 1\29 { width: 66.6666666667%; clear: none; } 221 | .\37 u, .\37 u\24, .\37 u\28 1\29, .\37 u\24\28 1\29 { width: 58.3333333333%; clear: none; } 222 | .\36 u, .\36 u\24, .\36 u\28 1\29, .\36 u\24\28 1\29 { width: 50%; clear: none; } 223 | .\35 u, .\35 u\24, .\35 u\28 1\29, .\35 u\24\28 1\29 { width: 41.6666666667%; clear: none; } 224 | .\34 u, .\34 u\24, .\34 u\28 1\29, .\34 u\24\28 1\29 { width: 33.3333333333%; clear: none; } 225 | .\33 u, .\33 u\24, .\33 u\28 1\29, .\33 u\24\28 1\29 { width: 25%; clear: none; } 226 | .\32 u, .\32 u\24, .\32 u\28 1\29, .\32 u\24\28 1\29 { width: 16.6666666667%; clear: none; } 227 | .\31 u, .\31 u\24, .\31 u\28 1\29, .\31 u\24\28 1\29 { width: 8.3333333333%; clear: none; } 228 | 229 | .\31 2u\24 + *, .\31 2u\24\28 1\29 + *, 230 | .\31 1u\24 + *, .\31 1u\24\28 1\29 + *, 231 | .\31 0u\24 + *, .\31 0u\24\28 1\29 + *, 232 | .\39 u\24 + *, .\39 u\24\28 1\29 + *, 233 | .\38 u\24 + *, .\38 u\24\28 1\29 + *, 234 | .\37 u\24 + *, .\37 u\24\28 1\29 + *, 235 | .\36 u\24 + *, .\36 u\24\28 1\29 + *, 236 | .\35 u\24 + *, .\35 u\24\28 1\29 + *, 237 | .\34 u\24 + *, .\34 u\24\28 1\29 + *, 238 | .\33 u\24 + *, .\33 u\24\28 1\29 + *, 239 | .\32 u\24 + *, .\32 u\24\28 1\29 + *, 240 | .\31 u\24 + *, .\31 u\24\28 1\29 + * { 241 | clear: left; 242 | } 243 | 244 | .\-11u { margin-left: 91.6666666667% } 245 | .\-10u { margin-left: 83.3333333333% } 246 | .\-9u { margin-left: 75% } 247 | .\-8u { margin-left: 66.6666666667% } 248 | .\-7u { margin-left: 58.3333333333% } 249 | .\-6u { margin-left: 50% } 250 | .\-5u { margin-left: 41.6666666667% } 251 | .\-4u { margin-left: 33.3333333333% } 252 | .\-3u { margin-left: 25% } 253 | .\-2u { margin-left: 16.6666666667% } 254 | .\-1u { margin-left: 8.3333333333% } -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | /** 2 | * WPPB GENERATOR SITE 3 | * Author: Enrique Chavez 4 | * Author URI: http://enriquechavez.co 5 | */ 6 | 7 | var express = require('express'); 8 | var app = express(); 9 | var port = process.env.PORT || 3000; 10 | var path = require('path'); 11 | var ghdownload = require('github-download'); 12 | var rimraf = require('rimraf'); 13 | var fs = require('fs-extra'); 14 | var mime = require('mime'); 15 | var replace = require('replace'); 16 | var bodyParser = require('body-parser'); 17 | var EasyZip = require('easy-zip').EasyZip; 18 | var CronJob = require('cron').CronJob; 19 | var ua = require('universal-analytics'); 20 | 21 | app.set('port', port); 22 | app.set('view engine', 'ejs'); 23 | app.set('views', path.join(__dirname, 'views')); 24 | 25 | app.use(express.static(__dirname + '/public')); 26 | app.use(bodyParser.urlencoded({ extended: true })); 27 | 28 | app 29 | .route( 30 | '/.well-known/acme-challenge/miU-q9A8ox1btoayRB8tM6wcWPisl42aR4wnixiK2UU' 31 | ) 32 | .get(function(req, res) { 33 | res.send( 34 | 'miU-q9A8ox1btoayRB8tM6wcWPisl42aR4wnixiK2UU.9s9UoMhX5iRzhJpZG6oAd-7PRFIBTPxbwd7nVTPfGcM' 35 | ); 36 | }); 37 | 38 | app 39 | .route('/') 40 | //GET REQUEST DRAW THE HOME PAGE 41 | .get(function(req, res) { 42 | res.send('Please visit https://wppb.me'); 43 | //res.redirect('https://wppb.me'); 44 | }) // END GET ROUTE 45 | 46 | .post(function(req, res) { 47 | var origin = process.cwd() + '/source/'; 48 | var pluginSlug = ''; 49 | var pluginName = ''; 50 | var pluginURI = ''; 51 | var pluginAuthor = ''; 52 | var pluginAuthorURI = ''; 53 | var pluginDescription = ''; 54 | var pluginNamePackage = ''; 55 | var pluginNameInstance = ''; 56 | var pluginAuthorEmail = ''; 57 | var pluginAuthorFull = ''; 58 | var pluginNameVersion = ''; 59 | var destination = ''; 60 | var data = req.body; 61 | var visitor = ua('UA-56742268-1'); 62 | 63 | //Track Event 64 | visitor.event('build', 'click', 'download', 1).send(); 65 | // ALL FIELDS REQUIRED IF EMPTY SET DEFAULT VALUES 66 | pluginSlug = String(data.slug).length 67 | ? String(data.slug).toLowerCase() 68 | : 'amazing-plugin'; 69 | pluginName = String(data.name).length ? data.name : 'Amazing Plugin'; 70 | pluginURI = String(data.uri).length 71 | ? data.uri 72 | : 'http://example.com/amazing-plugin-uri/'; 73 | pluginAuthor = String(data.author.name).length 74 | ? data.author.name 75 | : 'Plugin Author'; 76 | pluginAuthorURI = String(data.author.uri).length 77 | ? data.author.uri 78 | : 'http://mydomain.tld'; 79 | pluginAuthorEmail = String(data.author.email).length 80 | ? data.author.email 81 | : 'my@email.tld'; 82 | pluginNamePackage = capitalize(pluginSlug); 83 | pluginNameInstance = pluginSlug.replace(/-/gi, '_'); 84 | pluginNameVersion = (pluginNameInstance + '_VERSION').toUpperCase(); 85 | pluginAuthorFull = pluginAuthor + ' <' + pluginAuthorEmail + '>'; 86 | 87 | destination = 88 | process.cwd() + '/tmp/' + pluginSlug + '-' + new Date().getTime(); 89 | 90 | fs.copy(origin, destination, function(err) { 91 | if (err) { 92 | console.error(err); 93 | 94 | return; 95 | } 96 | 97 | //RENAME THE MAIN PLUGIN DIRECTORY 98 | fs.renameSync( 99 | destination + '/plugin-name', 100 | destination + '/' + pluginSlug 101 | ); 102 | 103 | //FIND AND REPLACE FILES NAMES 104 | walker(destination + '/' + pluginSlug, function(err, files) { 105 | if (err) { 106 | console.error(err); 107 | 108 | return; 109 | } 110 | 111 | files.forEach(function(file) { 112 | var newName; 113 | var re = /plugin-name/gi; 114 | newName = file.replace(re, pluginSlug); 115 | fs.renameSync(file, newName); 116 | }); 117 | 118 | // Plugin URI 119 | replace({ 120 | regex: 'http://example.com/plugin-name-uri/', 121 | replacement: pluginURI, 122 | paths: [destination + '/' + pluginSlug + '/' + pluginSlug + '.php'], 123 | recursive: false, 124 | silent: true 125 | }); 126 | 127 | // Plugin Name 128 | replace({ 129 | regex: 'WordPress Plugin Boilerplate', 130 | replacement: pluginName, 131 | paths: [destination + '/' + pluginSlug + '/' + pluginSlug + '.php'], 132 | recursive: true, 133 | silent: true 134 | }); 135 | 136 | //Plugin URI 137 | replace({ 138 | regex: 'http://example.com/plugin-name-uri/', 139 | replacement: pluginURI, 140 | paths: [destination + '/' + pluginSlug + '/' + pluginSlug + '.php'], 141 | recursive: true, 142 | silent: true 143 | }); 144 | 145 | //find Plugin Author 146 | replace({ 147 | regex: 'Your Name or Your Company', 148 | replacement: pluginAuthor, 149 | paths: [destination + '/' + pluginSlug + '/' + pluginSlug + '.php'], 150 | recursive: true, 151 | silent: true 152 | }); 153 | 154 | //find Plugin Author Full 155 | replace({ 156 | regex: 'Your Name ', 157 | replacement: pluginAuthorFull, 158 | paths: [destination + '/' + pluginSlug], 159 | recursive: true, 160 | silent: true 161 | }); 162 | 163 | //find Plugin_Name 164 | replace({ 165 | regex: 'Plugin_Name', 166 | replacement: pluginNamePackage, 167 | paths: [destination + '/' + pluginSlug], 168 | recursive: true, 169 | silent: true 170 | }); 171 | 172 | //find Plugin slug 173 | replace({ 174 | regex: 'plugin-name', 175 | replacement: pluginSlug, 176 | paths: [destination + '/' + pluginSlug], 177 | recursive: true, 178 | silent: true 179 | }); 180 | 181 | //find Author URI 182 | replace({ 183 | regex: 'http://example.com/?', 184 | replacement: pluginAuthorURI, 185 | paths: [destination + '/' + pluginSlug], 186 | recursive: true, 187 | silent: true 188 | }); 189 | 190 | //find Plugin Version 191 | replace({ 192 | regex: 'PLUGIN_NAME_VERSION', 193 | replacement: pluginNameVersion, 194 | paths: [destination + '/' + pluginSlug], 195 | recursive: true, 196 | silent: true 197 | }); 198 | //find Author URI 199 | replace({ 200 | regex: 'plugin_name', 201 | replacement: pluginNameInstance, 202 | paths: [destination + '/' + pluginSlug + '/' + pluginSlug + '.php'], 203 | recursive: true, 204 | silent: true 205 | }); 206 | 207 | //Replace done ZIP it 208 | 209 | var zip = new EasyZip(); 210 | 211 | zip.zipFolder(destination + '/' + pluginSlug, function() { 212 | zip.writeToResponse(res, pluginSlug); 213 | }); 214 | }); 215 | }); 216 | }); //END ROUTE 217 | 218 | /** 219 | * CRON JOB TO GET NEW CODE FROM GITHUB EVERY DAY AT 1:30AM 220 | */ 221 | var job = new CronJob( 222 | '30 1 * * *', 223 | function() { 224 | //GET FRESH CODE 225 | getSourceCode(); 226 | }, 227 | true, 228 | 'America/Los_Angeles' 229 | ); 230 | 231 | job.start(); 232 | 233 | /** 234 | * CRON JOB TO CLEAN THE TMP FOLDER EVERY HOUR 235 | */ 236 | 237 | var clean = new CronJob( 238 | '0 * * * *', 239 | function() { 240 | var destination = process.cwd() + '/tmp/'; 241 | rimraf(destination, function() {}); 242 | }, 243 | true, 244 | 'America/Los_Angeles' 245 | ); 246 | 247 | clean.start(); 248 | 249 | /** 250 | * GET PLUGIN CODE FROM GITHUB 251 | */ 252 | var getSourceCode = function() { 253 | var repo = { 254 | user: 'DevinVinson', 255 | repo: 'WordPress-Plugin-Boilerplate', 256 | ref: 'master' 257 | }; 258 | 259 | var destination = process.cwd() + '/source/'; 260 | 261 | //DELETE OLD CODE 262 | rimraf(destination, function() {}); 263 | 264 | //GET THE NEW CODE FORM THE REPO 265 | ghdownload(repo, destination) 266 | .on('zip', function(zipUrl) { 267 | console.log('zip: ' + zipUrl); 268 | }) 269 | 270 | .on('error', function(err) { 271 | console.error('error ' + err); 272 | }) 273 | 274 | .on('end', function() { 275 | console.log('Finish Github Download '); 276 | }); 277 | }; 278 | 279 | /** 280 | * RECURSIVE WALKER TO GET ALL THE FILES IN DIRECTORY 281 | */ 282 | var walker = function(dir, done) { 283 | var results = []; 284 | 285 | fs.readdir(dir, function(err, list) { 286 | if (err) return done(err); 287 | 288 | var i = 0; 289 | 290 | (function next() { 291 | var file = list[i++]; 292 | 293 | if (!file) return done(null, results); 294 | 295 | file = dir + '/' + file; 296 | 297 | fs.stat(file, function(err, stat) { 298 | if (stat && stat.isDirectory()) { 299 | walker(file, function(err, res) { 300 | results = results.concat(res); 301 | 302 | next(); 303 | }); 304 | } else { 305 | results.push(file); 306 | 307 | next(); 308 | } 309 | }); 310 | })(); 311 | }); 312 | }; 313 | 314 | var capitalize = function(name) { 315 | var newName = ''; 316 | name = name.replace(/-/gi, ' '); 317 | pieces = name.split(' '); 318 | pieces.forEach(function(word) { 319 | newName += word.charAt(0).toUpperCase() + word.slice(1) + ' '; 320 | }); 321 | 322 | return newName.trim().replace(/ /gi, '_'); 323 | }; 324 | 325 | // On Init get initial code 326 | getSourceCode(); 327 | 328 | //Start web app. 329 | app.listen(app.get('port'), function() { 330 | console.log('Node app is running at localhost:' + app.get('port')); 331 | }); 332 | -------------------------------------------------------------------------------- /public/css/font-awesome.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"} -------------------------------------------------------------------------------- /public/js/skel.min.js: -------------------------------------------------------------------------------- 1 | /* skel.js v2.0.0 | (c) n33 | getskel.com | MIT licensed */ 2 | var skel=function(){var e="config",t="breakpoints",n="iterate",r="stateId",i="getElementsByClassName",s="elements",o="stateElements",u="getElementsByTagName",a=!1,f="length",l=" 0 0 ",c=null,h="viewport",p="getCachedElement",d="cacheNewElement",v="config_breakpoint",m="gutters",g="insertBefore",y="vars",b="}",w="newInline",E=!0,S="parentNode",x="locations",T="orientationChange",N="createElement",C="deviceType",k="className",L="substring",A="object",O="isArray",M="match",_="cache",D="replace",P="head",H="newElement",B="indexOf",j="+*,",F="_skel_isReversed",I="extend",q="push",R="matchesMedia",U="grid",z="containers",W="onorientationchange",X="maxGridZoom",V="lock",$="defaults",J="DOMReady",K="getComputedStyle",Q="addEventListener",G="^head",Y="{display:none!important}",Z="registerLocation",et="parseMeasurement",tt="events",nt="IEVersion",rt="placeholder",it="documentElement",st="attachElements",ot="plugins",ut="attachElement",at="DOMContentLoaded",ft="text/css",lt="device-height",ct="states",ht="device-width",pt="initial-scale=1",dt="_skel_attach",vt="removeEventListener",mt="previousSibling",gt="resize",yt="attached",bt="collapse",wt="normalize",Et="media",St="location",xt="(min-width: ",Tt="change",Nt="applyRowTransforms",Ct="split",kt="html",Lt="forceDefaultState",At="_skel_placeholder",Ot="firstChild",Mt="max-height",_t="min-height",Dt="querySelectorAll",Pt="max-width",Ht="min-width",Bt="prototype",jt="innerHTML",Ft="nextSibling",It="domready",qt="hasOwnProperty",Rt="readyState",Ut="href",zt="height=",Wt=".\\3$1 ",Xt="priority",Vt="isStatic",$t="zoom",Jt="onresize",Kt="android",Qt={breakpoints:[],breakpointList:[],cache:{elements:{},states:{},stateElements:{}},config:{breakpoints:{"*":{href:a,media:""}},containers:1140,defaultState:c,events:{},grid:{zoom:1,collapse:a,gutters:[40,0]},lock:{path:a,permanent:E},plugins:{},pollOnce:a,preload:a,reset:wt,RTL:a,viewport:{width:ht,height:lt,scalable:E}},css:{bm:"*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}",n:"html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}",r:"html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}body{-webkit-text-size-adjust:none}",gc:function(e){return".\\31 2u"+e+",.\\31 2u\\24"+e+"{width:100%;clear:none}"+".\\31 1u"+e+",.\\31 1u\\24"+e+"{width:91.6666666667%;clear:none}"+".\\31 0u"+e+",.\\31 0u\\24"+e+"{width:83.3333333333%;clear:none}"+".\\39 u"+e+",.\\39 u\\24"+e+"{width:75%;clear:none}"+".\\38 u"+e+",.\\38 u\\24"+e+"{width:66.6666666667%;clear:none}"+".\\37 u"+e+",.\\37 u\\24"+e+"{width:58.3333333333%;clear:none}"+".\\36 u"+e+",.\\36 u\\24"+e+"{width:50%;clear:none}"+".\\35 u"+e+",.\\35 u\\24"+e+"{width:41.6666666667%;clear:none}"+".\\34 u"+e+",.\\34 u\\24"+e+"{width:33.3333333333%; clear: none}"+".\\33 u"+e+",.\\33 u\\24"+e+"{width:25%;clear:none}"+".\\32 u"+e+",.\\32 u\\24"+e+"{width:16.6666666667%;clear:none}"+".\\31 u"+e+",.\\31 u\\24"+e+"{width:8.3333333333%;clear:none}"+".\\31 2u\\24"+e+j+".\\31 1u\\24"+e+j+".\\31 0u\\24"+e+j+".\\39 u\\24"+e+j+".\\38 u\\24"+e+j+".\\37 u\\24"+e+j+".\\36 u\\24"+e+j+".\\35 u\\24"+e+j+".\\34 u\\24"+e+j+".\\33 u\\24"+e+j+".\\32 u\\24"+e+"+*"+".\\31 u\\24"+e+"+*{"+"clear:left;"+b+".\\-11u{margin-left:91.6666666667%}"+".\\-10u{margin-left:83.3333333333%}"+".\\-9u{margin-left:75%}"+".\\-8u{margin-left:66.6666666667%}"+".\\-7u{margin-left:58.3333333333%}"+".\\-6u{margin-left:50%}"+".\\-5u{margin-left:41.6666666667%}"+".\\-4u{margin-left:33.3333333333%}"+".\\-3u{margin-left:25%}"+".\\-2u{margin-left:16.6666666667%}"+".\\-1u{margin-left:8.3333333333%}"}},defaults:{breakpoint:{config:c,elements:c,test:c},config_breakpoint:{containers:"100%",grid:{},href:a,media:"",viewport:{}}},events:[],forceDefaultState:a,isInit:a,isStatic:a,locations:{body:c,head:c,html:c},lcn:"_skel_lock",maxGridZoom:1,me:c,plugins:{},sd:"/",stateId:"",vars:{},DOMReady:c,getElementsByClassName:c,indexOf:c,isArray:c,iterate:c,matchesMedia:c,extend:function(e,t){var r;Qt[n](t,function(n){Qt[O](t[n])?(Qt[O](e[n])||(e[n]=[]),Qt[I](e[n],t[n])):typeof t[n]==A?(typeof e[n]!=A&&(e[n]={}),Qt[I](e[n],t[n])):e[n]=t[n]})},getArray:function(e){return Qt[O](e)?e:[e]},parseMeasurement:function(e){var t,n;if(typeof e!="string")t=[e,"px"];else if(e=="fluid")t=[100,"%"];else{var n;n=e[M](/([0-9\.]+)([^\s]*)/),n[f]<3||!n[2]?t=[parseFloat(e),"px"]:t=[parseFloat(n[1]),n[2]]}return t},canUse:function(e){return Qt[t][e]&&Qt[t][e].test()},hasActive:function(e){var t=a;return Qt[n](e,function(n){t=t||Qt.isActive(e[n])}),t},isActive:function(e){return Qt[B](Qt[r],Qt.sd+e)!==-1},isLocked:function(){return!!Qt[y][V]&&Qt[O](Qt[y][V])},lock:function(t,n){Qt[y][V]=[t,n],document.cookie=Qt.lcn+"="+Qt[y][V].join("_")+(Qt[e][V].path?";path="+Qt[e][V].path:"")+(Qt[e][V].permanent?";expires=Tue, 19 Jan 2038 03:14:07 GMT":""),window[St].reload()},unlock:function(){Qt[y][V]=c,document.cookie=Qt.lcn+"="+(Qt[e][V].path?";path="+Qt[e][V].path:"")+";expires=Thu, 01 Jan 1970 01:02:03 GMT",window[St].reload()},useActive:function(e){if(typeof e!==A)return e;var t=c;return Qt[n](e,function(n){if(t!==c)return;Qt.isActive(n)&&(t=e[n])}),t},wasActive:function(e){return Qt[B](Qt[y].lastStateId,Qt.sd+e)!==-1},applyRowTransforms:function(t){Qt[e].RTL&&(Qt.unreverseRows(),t[e][U][bt]&&Qt.reverseRows());var r="_skel_important",s=[],o,u;for(o=1;o<=Qt[X];o++)u=Qt[i]("important("+o+")"),Qt[n](u,function(e){s[q](u[e])});u=Qt[i]("important(collapse)"),Qt[n](u,function(e){s[q](u[e])}),Qt[n](s,function(n){if(n===f)return;var i=s[n],o=i[S],u,l=a,c,h;if(!o)return;if(!i[qt](r)||i[r]===a){t[e][U][bt]&&i[k][M](/important\(collapse\)/)?l="c":i[k][M](/important\(([0-9])\)/)&&(h=parseInt(RegExp.$1))<=t[e][U][$t]&&(l="z");if(!l)return;c=Qt[e].RTL?Ft:mt,u=i[c];while(u&&u.nodeName=="#text")u=u[c];if(!u)return;o[g](i,Qt[e].RTL&&l=="z"?o.lastChild:o[Ot]),i[r]={placeholder:u,mode:l,zoom:h}}else{u=i[r][rt],l=i[r].mode;if(l=="c"&&t[e][U][bt]||l=="z"&&i[r][$t]<=t[e][U][$t])return;o[g](i,Qt[e].RTL&&l=="z"?u[mt]:u[Ft]),i[r]=a}})},reverseRows:function(){var e=Qt[i]("row");Qt[n](e,function(t){if(t===f)return;var n=e[t];if(n[F])return;var r=n.children,i;for(i=1;i0&&Qt[J](function(){Qt[n](r,function(e){Qt[ut](r[e])})})},cacheElement:function(e){return Qt[_][s][e.id]=e,e},cacheNewElement:function(e,t,n,r){var i;return t[S]&&t[S].removeChild(t),i=Qt[H](e,t,n,r),Qt.cacheElement(i)},detachAllElements:function(e){var t,r,i={};Qt[n](e,function(t){i[e[t].id]=E}),Qt[n](Qt[_][s],function(e){if(e in i)return;Qt.detachElement(e)})},detachElement:function(e){var t=Qt[_][s][e],n;if(!t[yt])return;n=t[A];if(!n[S]||n[S]&&!n[S].tagName)return;n[S].removeChild(n),t[yt]=a,t.onDetach&&t.onDetach()},getCachedElement:function(e){return Qt[_][s][e]?Qt[_][s][e]:c},newElement:function(e,t,n,r){return{id:e,object:t,location:n,priority:r,attached:a}},changeState:function(i){var u,c,g,S,x,T,N,C,k;Qt[y].lastStateId=Qt[r],Qt[r]=i;if(!Qt[_][ct][Qt[r]]){Qt[_][ct][Qt[r]]={config:{},elements:[],values:{}},g=Qt[_][ct][Qt[r]],Qt[r]===Qt.sd?u=[]:u=Qt[r][L](1)[Ct](Qt.sd),Qt[I](g[e],Qt[$][v]),Qt[n](u,function(n){Qt[I](g[e],Qt[t][u[n]][e])}),N="mV"+Qt[r],g[e][h].content?C=g[e][h].content:Qt.isLocked()?(S=[],S[q]("user-scalable=yes"),Qt[y][V][0]&&S[q]("width="+Qt[y][V][0]),Qt[y][V][1]&&S[q](zt+Qt[y][V][1]),C=S.join(","),window.setTimeout(function(){Qt.poll()},0)):(S=[],S[q]("user-scalable="+(g[e][h].scalable?"yes":"no")),g[e][h].width&&S[q]("width="+g[e][h].width),g[e][h].height&&S[q](zt+g[e][h].height),g[e][h].width==ht&&g[e][h].height==lt&&S[q](pt),C=S.join(",")),(x=Qt[p](N))||(x=Qt[d](N,Qt.newMeta(h,C),G,4)),g[s][q](x);var A,O,M=a;S=Qt[et](g[e][z]),A=S[0],O=S[1],g.values[z]=A+O,N="iC"+g.values[z],O.substr(-1)=="!"&&(M=E,O=O.substr(0,O[f]-1)),(x=Qt[p](N))||(x=Qt[d](N,Qt[w]("body{min-width:"+A*1+O+b+".container{margin-left:auto;margin-right:auto;width:"+A*1+O+(M?"!important;max-width:none!important;min-width:0!important"+b:b+".container.\\31 25\\25{width:100%;max-width:"+A*1.25+O+";min-width:"+A+b+".container.\\37 5\\25{width:"+A*.75+O+b+".container.\\35 0\\25{width:"+A*.5+O+b+".container.\\32 5\\25{width:"+A*.25+O+b)),P,3)),g[s][q](x),N="iGG"+g[e][U][m][0]+"_"+g[e][U][m][1];if(!(x=Qt[p](N))){var H,j;S=Qt[et](g[e][U][m][0]),H=S[0],j=S[1];var F,R;S=Qt[et](g[e][U][m][1]),F=S[0],R=S[1],x=Qt[d]("iGG"+g[e][U][m][0]+"_"+g[e][U][m][1],Qt[w](".row>*{padding:"+F*1+R+l+H*1+j+b+".row{margin:"+F*-1+R+l+H*-1+j+b+".row.uniform>*{padding:"+H*1+j+l+H*1+j+b+".row.uniform{margin:"+H*-1+j+l+H*-1+j+b+".row.\\32 00\\25>*{padding:"+F*2+R+l+H*2+j+b+".row.\\32 00\\25{margin:"+F*-2+R+l+H*-2+j+b+".row.uniform.\\32 00\\25>*{padding:"+H*2+j+l+H*2+j+b+".row.uniform.\\32 00\\25{margin:"+H*-2+j+l+H*-2+j+b+".row.\\31 50\\25>*{padding:"+F*1.5+R+l+H*1.5+j+b+".row.\\31 50\\25{margin:"+F*-1.5+R+l+H*-1.5+j+b+".row.uniform.\\31 50\\25>*{padding:"+H*1.5+j+l+H*1.5+j+b+".row.uniform.\\31 50\\25{margin:"+H*-1.5+j+l+H*-1.5+j+b+".row.\\35 0\\25>*{padding:"+F*.5+R+l+H*.5+j+b+".row.\\35 0\\25{margin:"+F*-0.5+R+l+H*-0.5+j+b+".row.uniform.\\35 0\\25>*{padding:"+H*.5+j+l+H*.5+j+b+".row.uniform.\\35 0\\25{margin:"+H*-0.5+j+l+H*-0.5+j+b+".row.\\32 5\\25>*{padding:"+F*.25+R+l+H*.25+j+b+".row.\\32 5\\25{margin:"+F*-0.25+R+l+H*-0.25+j+b+".row.uniform.\\32 5\\25>*{padding:"+H*.25+j+l+H*.25+j+b+".row.uniform.\\32 5\\25{margin:"+H*-0.25+j+l+H*-0.25+j+b+".row.\\30 \\25>*{padding:0}"+".row.\\30 \\25{margin:0}"),P,3)}g[s][q](x),N="igZ"+g[e][U][$t];if(!(x=Qt[p](N))){C="";for(T=1;T<=g[e][U][$t];T++)C+=Qt.css.gc("\\28 "+T+"\\29");x=Qt[d](N,Qt[w](C),P,3)}g[s][q](x),g[e][U][bt]&&(N="igC"+g[e][z],(x=Qt[p](N))||(x=Qt[d](N,Qt[w](".row:not(.no-collapse)>*{width:100%!important;margin-left:0!important"+b),P,3)),g[s][q](x)),N="iCd"+Qt[r];if(!(x=Qt[p](N))){C=[],k=[],Qt[n](Qt[t],function(e){Qt[B](u,e)!==-1?C[q](".not-"+e):k[q](".only-"+e)});var W=(C[f]>0?C.join(",")+Y:"")+(k[f]>0?k.join(",")+Y:"");x=Qt[d](N,Qt[w](W[D](/\.([0-9])/,Wt)),P,3),g[s][q](x)}Qt[n](u,function(r){Qt[t][u[r]][e][Ut]&&(N="ss"+u[r],(x=Qt[p](N))||(x=Qt[d](N,Qt.newStyleSheet(Qt[t][u[r]][e][Ut]),P,5)),g[s][q](x)),Qt[t][u[r]][s][f]>0&&Qt[n](Qt[t][u[r]][s],function(e){g[s][q](Qt[t][u[r]][s][e])})}),Qt[_][o][Qt[r]]&&(Qt[n](Qt[_][o][Qt[r]],function(e){g[s][q](Qt[_][o][Qt[r]][e])}),Qt[_][o][Qt[r]]=[])}else g=Qt[_][ct][Qt[r]];Qt.detachAllElements(g[s]),Qt[st](g[s]),Qt[J](function(){Qt[Nt](g)}),Qt[y].state=Qt[_][ct][Qt[r]],Qt[y][r]=Qt[r],Qt.trigger(Tt)},getStateId:function(){if(Qt[Lt]&&Qt[e].defaultState)return Qt[e].defaultState;var r="";return Qt[n](Qt[t],function(e){Qt[t][e].test()&&(r+=Qt.sd+e)}),r},poll:function(){var e="";e=Qt.getStateId(),e===""&&(e=Qt.sd),e!==Qt[r]&&(Qt[Vt]?Qt.changeState(e):(Qt[x][kt][k]=Qt[x][kt][k][D](Qt[r][L](1)[D](new RegExp(Qt.sd,"g")," "),""),Qt.changeState(e),Qt[x][kt][k]=Qt[x][kt][k]+" "+Qt[r][L](1)[D](new RegExp(Qt.sd,"g")," "),Qt[x][kt][k].charAt(0)==" "&&(Qt[x][kt][k]=Qt[x][kt][k][L](1))))},updateState:function(){var e,i,u,a,l=[];if(Qt[r]==Qt.sd)return;e=Qt[r][L](1)[Ct](Qt.sd),Qt[n](e,function(o){i=Qt[t][e[o]];if(i[s][f]==0)return;Qt[n](i[s],function(e){Qt[_][ct][Qt[r]][s][q](i[s][e]),l[q](i[s][e])})}),Qt[_][o][Qt[r]]&&(Qt[n](Qt[_][o][Qt[r]],function(e){Qt[_][ct][Qt[r]][s][q](Qt[_][o][Qt[r]][e]),l[q](Qt[_][o][Qt[r]][e])}),Qt[_][o][Qt[r]]=[]),l[f]>0&&Qt[st](l)},newDiv:function(e){var t=document[N]("div");return t[jt]=e,t},newInline:function(e){var t;return t=document[N]("style"),t.type=ft,t[jt]=e,t},newMeta:function(e,t){var n=document[N]("meta");return n.name=e,n.content=t,n},newStyleSheet:function(e){var t=document[N]("link");return t.rel="stylesheet",t.type=ft,t[Ut]=e,t},initPlugin:function(t,n){typeof n==A&&Qt[I](t[e],n),t.init&&t.init()},registerPlugin:function(e,t){if(!t)return a;Qt[ot][e]=t,t._=this,t.register&&t.register()},init:function(t,r){Qt.initConfig(t),Qt.initElements(),Qt.initEvents(),Qt.poll(),r&&typeof r==A&&(Qt[e][ot]=r),Qt[n](Qt[ot],function(t){Qt.initPlugin(Qt[ot][t],t in Qt[e][ot]?Qt[e][ot][t]:c)}),Qt.isInit=E},initAPI:function(){var e,t,r=navigator.userAgent;Qt[y][nt]=99,e="other",r[M](/Firefox/)?e="firefox":r[M](/Chrome/)?e="chrome":r[M](/Safari/)&&!r[M](/Chrome/)?e="safari":r[M](/(OPR|Opera)/)?e="opera":r[M](/MSIE ([0-9]+)/)?(e="ie",Qt[y][nt]=RegExp.$1):r[M](/Trident\/.+rv:([0-9]+)/)&&(e="ie",Qt[y][nt]=RegExp.$1),Qt[y].browser=e,Qt[y][C]="other",t={ios:"(iPad|iPhone|iPod)",android:"Android",mac:"Macintosh",wp:"Windows Phone",windows:"Windows NT"},Qt[n](t,function(e){r[M](new RegExp(t[e],"g"))&&(Qt[y][C]=e)});switch(Qt[y][C]){case"ios":r[M](/([0-9_]+) like Mac OS X/),e=parseFloat(RegExp.$1[D]("_",".")[D]("_",""));break;case Kt:r[M](/Android ([0-9\.]+)/),e=parseFloat(RegExp.$1);break;case"mac":r[M](/Mac OS X ([0-9_]+)/),e=parseFloat(RegExp.$1[D]("_",".")[D]("_",""));break;case"wp":r[M](/IEMobile\/([0-9\.]+)/),e=parseFloat(RegExp.$1);break;case"windows":r[M](/Windows NT ([0-9\.]+)/),e=parseFloat(RegExp.$1);break;default:e=99}Qt[y].deviceVersion=e,Qt[y].isTouch=Qt[y][C]=="wp"?navigator.msMaxTouchPoints>0:"ontouchstart"in window,Qt[y].isMobile=Qt[y][C]=="wp"||Qt[y][C]==Kt||Qt[y][C]=="ios",e=document.cookie[Ct](";"),Qt[n](e,function(t){var n=e[t][Ct]("=");if(n[0][D](/^\s+|\s+$/g,"")==Qt.lcn&&n[1][f]>0){Qt[y][V]=n[1][Ct]("_");return}})},initConfig:function(r){var i=[],o=[];if(!r||!(t in r))Qt[Vt]=E,Qt[e][h].width="",Qt[e][h].height="",Qt[e][h].scalable=E;typeof r==A&&(r[t]&&(Qt[e][t]={}),Qt[I](Qt[e],r)),U in Qt[e]&&m in Qt[e][U]&&!Qt[O](Qt[e][U][m])&&(Qt[e][U][m]=[Qt[e][U][m],Qt[e][U][m]]),Qt[I](Qt[$][v][U],Qt[e][U]),Qt[X]=Math.max(Qt[X],Qt[e][U][$t]),Qt[I](Qt[$][v][h],Qt[e][h]),Qt[$][v][z]=Qt[e][z],Qt[n](Qt[e][t],function(n){var r,i={},u,a;Qt[I](i,Qt[e][t][n]),Ut in i||(i[Ut]=Qt[$][v][Ut]),Et in i||(i[Et]=Qt[$][v][Et]),"range"in i&&(u=i.range,u=="*"?a="":u.charAt(0)=="-"?a="(max-width: "+parseInt(u[L](1))+"px)":u.charAt(u[f]-1)=="-"?a=xt+parseInt(u[L](0,u[f]-1))+"px)":Qt[B](u,"-")!=-1&&(u=u[Ct]("-"),a=xt+parseInt(u[0])+"px) and (max-width: "+parseInt(u[1])+"px)"),i[Et]=a),U in i&&(m in i[U]&&!Qt[O](i[U][m])&&(i[U][m]=[i[U][m],i[U][m]]),$t in i[U]&&(Qt[X]=Math.max(Qt[X],i[U][$t]))),Qt[e][t][n]=i,r={},Qt[I](r,Qt[$].breakpoint),r[e]=Qt[e][t][n],r.test=function(){return Qt[R](i[Et])},r[s]=[],Qt[e].preload&&r[e][Ut]&&o[q](r[e][Ut]),Qt[t][n]=r,Qt.breakpointList[q](n)}),Qt[n](Qt[e][tt],function(t){Qt.bind(t,Qt[e][tt][t])}),o[f]>0&&window[St].protocol!="file:"&&Qt[J](function(){var e,t=document[u](P)[0],r=new XMLHttpRequest;Qt[n](o,function(e){r.open("GET",o[e],a),r.send("")})})},initElements:function(){var t=[];t[q](Qt[H]("mV",Qt.newMeta(h,pt),G,1));switch(Qt[e].reset){case"full":t[q](Qt[H]("iR",Qt[w](Qt.css.r),G,2));break;case wt:t[q](Qt[H]("iN",Qt[w](Qt.css.n),G,2))}t[q](Qt[H]("iBM",Qt[w](Qt.css.bm),G,1)),t[q](Qt[H]("iG",Qt[w]('.row{border-bottom:solid 1px transparent}.row>*{float:left}.row:after,.row:before{content:"";display:block;clear:both;height:0}.row.uniform>*>:first-child{margin-top:0}.row.uniform>*>:last-child{margin-bottom:0}'+Qt.css.gc("")),P,3)),Qt[st](t)},initEvents:function(){var t;!Qt[e].pollOnce&&!Qt[Vt]&&(Qt.bind(gt,function(){Qt.poll()}),Qt.bind(T,function(){Qt.poll()})),Qt[y][C]=="ios"&&Qt[J](function(){Qt.bind(T,function(){var e=document[u]("input");Qt[n](e,function(t){e[t][At]=e[t][rt],e[t][rt]=""}),window.setTimeout(function(){Qt[n](e,function(t){e[t][rt]=e[t][At]})},100)})}),window[Jt]&&Qt.bind(gt,window[Jt]),window[Jt]=function(){Qt.trigger(gt)},window[W]&&Qt.bind(T,window[W]),window[W]=function(){Qt.trigger(T)}},initUtilityMethods:function(){document[Q]?!function(e,t){Qt[J]=t()}(It,function(){function e(e){s=1;while(e=t.shift())e()}var t=[],n,r=document,i=at,s=/^loaded|^c/.test(r[Rt]);return r[Q](i,n=function(){r[vt](i,n),e()}),function(e){s?e():t[q](e)}}):!function(e,t){Qt[J]=t()}(It,function(e){function t(e){p=1;while(e=n.shift())e()}var n=[],r,i=!1,s=document,o=s[it],u=o.doScroll,a=at,f=Q,l="onreadystatechange",c=Rt,h=u?/^loaded|^c/:/^loaded|c/,p=h.test(s[c]);return s[f]&&s[f](a,r=function(){s[vt](a,r,i),t()},i),u&&s.attachEvent(l,r=function(){/^c/.test(s[c])&&(s.detachEvent(l,r),t())}),e=u?function(t){self!=top?p?t():n[q](t):function(){try{o.doScroll("left")}catch(n){return setTimeout(function(){e(t)},50)}t()}()}:function(e){p?e():n[q](e)}}),document[i]?Qt[i]=function(e){return document[i](e)}:Qt[i]=function(e){var t=document;return t[Dt]?t[Dt](("."+e[D](" "," ."))[D](/\.([0-9])/,Wt)):[]},Array[Bt][B]?Qt[B]=function(e,t){return e[B](t)}:Qt[B]=function(e,t){if(typeof e=="string")return e[B](t);var n,r=t?t:0,i;if(!this)throw new TypeError;i=this[f];if(i===0||r>=i)return-1;r<0&&(r=i-Math.abs(r));for(n=r;ns[Pt]||s[_t]!==c&&ls[Mt]?a:E})},preInit:function(){var e=document[u]("script");Qt.me=e[e[f]-1],Qt.initUtilityMethods(),Qt.initAPI(),Qt[Z](kt,document[u](kt)[0]),Qt[Z](P,document[u](P)[0]),Qt[J](function(){Qt[Z]("body",document[u]("body")[0])}),Qt[y][nt]>=10&&Qt[ut](Qt[H]("msie-viewport-fix",Qt[w]("@-ms-viewport{width:device-width;}"),G,1))}};return Qt.preInit(),Qt[y][nt]<9&&(Qt[Nt]=function(e){},Qt[w]=function(e){var t;return t=document[N]("span"),t[jt]=' ",t}),Qt}(); -------------------------------------------------------------------------------- /public/css/style.css: -------------------------------------------------------------------------------- 1 | @import url("font-awesome.min.css"); 2 | @import url("http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400,400italic,600,600italic,700,700italic"); 3 | 4 | /* 5 | Directive by HTML5 UP 6 | html5up.net | @n33co 7 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 8 | */ 9 | 10 | /* Basic */ 11 | 12 | html, body { 13 | height: 100%; 14 | } 15 | 16 | body { 17 | background: white; 18 | } 19 | 20 | body.is-loading * { 21 | -moz-transition: none !important; 22 | -webkit-transition: none !important; 23 | -o-transition: none !important; 24 | -ms-transition: none !important; 25 | transition: none !important; 26 | -moz-animation: none !important; 27 | -webkit-animation: none !important; 28 | -o-animation: none !important; 29 | -ms-animation: none !important; 30 | animation: none !important; 31 | } 32 | 33 | body, input, select, textarea { 34 | color: #6e6e6e; 35 | font-family: 'Source Sans Pro', sans-serif; 36 | font-size: 16pt; 37 | font-weight: 400; 38 | line-height: 1.75em; 39 | } 40 | 41 | a { 42 | -moz-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; 43 | -webkit-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; 44 | -o-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; 45 | -ms-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; 46 | transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out; 47 | border-bottom: dotted 1px; 48 | color: #4eb980; 49 | text-decoration: none; 50 | } 51 | 52 | a:hover { 53 | border-bottom-color: transparent; 54 | } 55 | 56 | strong, b { 57 | font-weight: 600; 58 | color: #5b5b5b; 59 | } 60 | 61 | em, i { 62 | font-style: italic; 63 | } 64 | 65 | p, ul, ol, dl, table, blockquote, form { 66 | margin: 0 0 2em 0; 67 | } 68 | 69 | h1, h2, h3, h4, h5, h6 { 70 | color: #5b5b5b; 71 | font-weight: 700; 72 | letter-spacing: 0.125em; 73 | line-height: 1.75em; 74 | margin-bottom: 1em; 75 | text-transform: uppercase; 76 | text-align: center; 77 | } 78 | 79 | h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { 80 | color: inherit; 81 | text-decoration: none; 82 | } 83 | 84 | h2 { 85 | font-size: 1.75em; 86 | } 87 | 88 | h3 { 89 | font-size: 1.5em; 90 | } 91 | 92 | sub { 93 | font-size: 0.8em; 94 | position: relative; 95 | top: 0.5em; 96 | } 97 | 98 | sup { 99 | font-size: 0.8em; 100 | position: relative; 101 | top: -0.5em; 102 | } 103 | 104 | hr { 105 | border: 0; 106 | border-top: solid 1px rgba(224, 224, 224, 0.75); 107 | margin-bottom: 1.5em; 108 | } 109 | 110 | blockquote { 111 | border-left: solid 0.5em rgba(224, 224, 224, 0.75); 112 | font-style: italic; 113 | padding: 1em 0 1em 2em; 114 | } 115 | 116 | /* Section/Article */ 117 | 118 | section.special, article.special { 119 | text-align: center; 120 | } 121 | 122 | header { 123 | text-align: center; 124 | } 125 | 126 | header p { 127 | position: relative; 128 | top: -1em; 129 | color: #888888; 130 | text-transform: uppercase; 131 | letter-spacing: 0.075em; 132 | } 133 | 134 | header.major { 135 | border-bottom-width: 1px; 136 | border-color: rgba(224, 224, 224, 0.75); 137 | border-style: solid; 138 | border-top-width: 1px; 139 | margin-bottom: 6em; 140 | padding: 4em 0; 141 | position: relative; 142 | } 143 | 144 | header.major:before, header.major:after { 145 | background: rgba(224, 224, 224, 0.75); 146 | content: ''; 147 | display: block; 148 | height: 1px; 149 | left: 0; 150 | position: absolute; 151 | width: 100%; 152 | } 153 | 154 | header.major:before { 155 | top: 10px; 156 | } 157 | 158 | header.major:after { 159 | bottom: 10px; 160 | } 161 | 162 | header.major h2 { 163 | margin: 0; 164 | } 165 | 166 | header.major p { 167 | top: 0; 168 | margin: 1.5em 0 0 0; 169 | padding: 1.5em 1.5em 0 1.5em; 170 | font-size: 1.5em; 171 | line-height: 1.75em; 172 | border-top: solid 1px rgba(224, 224, 224, 0.75); 173 | display: inline-block; 174 | } 175 | 176 | header.major.last { 177 | border-bottom: 0; 178 | margin-bottom: 0; 179 | padding-bottom: 0; 180 | } 181 | 182 | header.major.last:after { 183 | display: none; 184 | } 185 | 186 | header.major.last h2 { 187 | margin-bottom: 1em; 188 | } 189 | 190 | footer { 191 | text-align: center; 192 | } 193 | 194 | footer.major { 195 | border-bottom-width: 1px; 196 | border-color: rgba(224, 224, 224, 0.75); 197 | border-style: solid; 198 | border-top-width: 1px; 199 | margin-top: 6em; 200 | padding: 4em 0; 201 | position: relative; 202 | } 203 | 204 | footer.major:before, footer.major:after { 205 | background: rgba(224, 224, 224, 0.75); 206 | content: ''; 207 | display: block; 208 | height: 1px; 209 | left: 0; 210 | position: absolute; 211 | width: 100%; 212 | } 213 | 214 | footer.major:before { 215 | top: 10px; 216 | } 217 | 218 | footer.major:after { 219 | bottom: 10px; 220 | } 221 | 222 | /* Form */ 223 | 224 | label { 225 | display: block; 226 | color: #5b5b5b; 227 | font-size: 0.8em; 228 | font-weight: 700; 229 | letter-spacing: 0.125em; 230 | line-height: 1.75em; 231 | text-transform: uppercase; 232 | margin: 0 0 0.5em 0; 233 | } 234 | 235 | input[type="text"], 236 | input[type="password"], 237 | input[type="email"], 238 | select, 239 | textarea { 240 | -moz-appearance: none; 241 | -webkit-appearance: none; 242 | -o-appearance: none; 243 | -ms-appearance: none; 244 | appearance: none; 245 | -moz-transition: background-color 0.2s ease-in-out; 246 | -webkit-transition: background-color 0.2s ease-in-out; 247 | -o-transition: background-color 0.2s ease-in-out; 248 | -ms-transition: background-color 0.2s ease-in-out; 249 | transition: background-color 0.2s ease-in-out; 250 | background: none; 251 | border-radius: 4px; 252 | border: 0; 253 | border: solid 1px rgba(224, 224, 224, 0.75); 254 | color: inherit; 255 | display: block; 256 | outline: 0; 257 | padding: 0.75em; 258 | text-decoration: none; 259 | width: 100%; 260 | opacity: 1; 261 | } 262 | 263 | input[type="text"]:focus, 264 | input[type="password"]:focus, 265 | input[type="email"]:focus, 266 | select:focus, 267 | textarea:focus { 268 | background: rgba(224, 224, 224, 0.15); 269 | border-color: #4eb980; 270 | } 271 | 272 | input[type="text"], 273 | input[type="password"], 274 | input[type="email"], 275 | select { 276 | line-height: 1em; 277 | } 278 | 279 | textarea { 280 | padding: 0.5em 0.75em; 281 | } 282 | 283 | ::-webkit-input-placeholder { 284 | color: inherit; 285 | opacity: 0.5; 286 | position: relative; 287 | top: 3px; 288 | } 289 | 290 | :-moz-placeholder { 291 | color: inherit; 292 | opacity: 0.5; 293 | } 294 | 295 | ::-moz-placeholder { 296 | color: inherit; 297 | opacity: 0.5; 298 | } 299 | 300 | :-ms-input-placeholder { 301 | color: inherit; 302 | opacity: 0.5; 303 | } 304 | 305 | .formerize-placeholder { 306 | color: rgba(110, 110, 110, 0.5) !important; 307 | } 308 | 309 | .form-error{ 310 | color:red; 311 | } 312 | 313 | /* Image */ 314 | 315 | .image { 316 | border: 0; 317 | display: inline-block; 318 | position: relative; 319 | } 320 | 321 | .image:after { 322 | -moz-transition: opacity 0.25s ease-in-out; 323 | -webkit-transition: opacity 0.25s ease-in-out; 324 | -o-transition: opacity 0.25s ease-in-out; 325 | -ms-transition: opacity 0.25s ease-in-out; 326 | transition: opacity 0.25s ease-in-out; 327 | background-image: url("images/overlay.png"); 328 | content: ''; 329 | display: block; 330 | height: 100%; 331 | left: 0; 332 | opacity: 0.2; 333 | position: absolute; 334 | top: 0; 335 | width: 100%; 336 | } 337 | 338 | .image img { 339 | display: block; 340 | } 341 | 342 | .image.fit { 343 | display: block; 344 | } 345 | 346 | .image.fit img { 347 | display: block; 348 | width: 100%; 349 | } 350 | 351 | .image.feature { 352 | display: block; 353 | margin: 0 0 2em 0; 354 | } 355 | 356 | .image.feature img { 357 | display: block; 358 | width: 100%; 359 | } 360 | 361 | .image.icon { 362 | -moz-perspective: 500px; 363 | -webkit-perspective: 500px; 364 | -o-perspective: 500px; 365 | -ms-perspective: 500px; 366 | perspective: 500px; 367 | } 368 | 369 | .image.icon:before { 370 | -moz-transition: transform 0.1s ease-in-out, font-size 0.1s ease-in-out; 371 | -webkit-transition: transform 0.1s ease-in-out, font-size 0.1s ease-in-out; 372 | -o-transition: transform 0.1s ease-in-out, font-size 0.1s ease-in-out; 373 | -ms-transition: transform 0.1s ease-in-out, font-size 0.1s ease-in-out; 374 | transition: transform 0.1s ease-in-out, font-size 0.1s ease-in-out; 375 | color: #fff; 376 | font-size: 6em; 377 | height: 1em; 378 | left: 50%; 379 | line-height: 1em; 380 | margin: -0.5em 0 0 -0.5em; 381 | position: absolute; 382 | text-align: center; 383 | top: 50%; 384 | width: 1em; 385 | z-index: 1; 386 | } 387 | 388 | .image.icon:hover:before { 389 | -moz-transform: translateZ(1em); 390 | -webkit-transform: translateZ(1em); 391 | -o-transform: translateZ(1em); 392 | -ms-transform: translateZ(1em); 393 | transform: translateZ(1em); 394 | } 395 | 396 | .image.icon:hover:after { 397 | opacity: 1; 398 | } 399 | 400 | span.image.icon { 401 | cursor: default; 402 | } 403 | 404 | /* Icon */ 405 | 406 | .icon { 407 | text-decoration: none; 408 | border-bottom: none; 409 | position: relative; 410 | } 411 | 412 | .icon:before { 413 | -moz-osx-font-smoothing: grayscale; 414 | -webkit-font-smoothing: antialiased; 415 | font-family: FontAwesome; 416 | font-style: normal; 417 | font-weight: normal; 418 | text-transform: none !important; 419 | } 420 | 421 | .icon > .label { 422 | display: none; 423 | } 424 | 425 | /* List */ 426 | 427 | ol.default { 428 | list-style: decimal; 429 | padding-left: 1.25em; 430 | } 431 | 432 | ol.default li { 433 | padding-left: 0.25em; 434 | } 435 | 436 | ul.default { 437 | list-style: disc; 438 | padding-left: 1em; 439 | } 440 | 441 | ul.default li { 442 | padding-left: 0.5em; 443 | } 444 | 445 | ul.icons { 446 | cursor: default; 447 | } 448 | 449 | ul.icons li { 450 | display: inline-block; 451 | font-size: 1.25em; 452 | line-height: 1em; 453 | padding-left: 0.5em; 454 | } 455 | 456 | ul.icons li:first-child { 457 | padding-left: 0; 458 | } 459 | 460 | ul.icons li a, ul.icons li span { 461 | -moz-transition: background-color 0.2s ease-in-out; 462 | -webkit-transition: background-color 0.2s ease-in-out; 463 | -o-transition: background-color 0.2s ease-in-out; 464 | -ms-transition: background-color 0.2s ease-in-out; 465 | transition: background-color 0.2s ease-in-out; 466 | border-radius: 100%; 467 | border: solid 1px rgba(224, 224, 224, 0.75); 468 | display: inline-block; 469 | height: 2em; 470 | line-height: 2em; 471 | text-align: center; 472 | width: 2em; 473 | } 474 | 475 | ul.icons li a:hover, ul.icons li span:hover { 476 | background: rgba(224, 224, 224, 0.15); 477 | } 478 | 479 | ul.actions { 480 | cursor: default; 481 | text-align: center; 482 | } 483 | 484 | ul.actions:last-child { 485 | margin-bottom: 0; 486 | } 487 | 488 | ul.actions li { 489 | display: inline-block; 490 | padding: 0 0 0 1.5em; 491 | } 492 | 493 | ul.actions li:first-child { 494 | padding: 0; 495 | } 496 | 497 | ul.actions.vertical li { 498 | display: block; 499 | padding: 1.5em 0 0 0; 500 | } 501 | 502 | ul.actions.vertical li:first-child { 503 | padding: 0; 504 | } 505 | 506 | /* Table */ 507 | 508 | .table-wrapper { 509 | overflow-x: auto; 510 | -webkit-overflow-scrolling: touch; 511 | } 512 | 513 | table { 514 | width: 100%; 515 | } 516 | 517 | table.default { 518 | width: 100%; 519 | } 520 | 521 | table.default tbody tr { 522 | border-bottom: solid 1px rgba(224, 224, 224, 0.75); 523 | } 524 | 525 | table.default tbody tr:nth-child(2n - 1) { 526 | background: rgba(224, 224, 224, 0.15); 527 | } 528 | 529 | table.default td { 530 | padding: 0.5em 1em 0.5em 1em; 531 | } 532 | 533 | table.default th { 534 | color: #5b5b5b; 535 | font-size: 0.8em; 536 | font-weight: 700; 537 | letter-spacing: 0.125em; 538 | line-height: 1.75em; 539 | padding: 0.5em 1em 0.5em 1em; 540 | text-align: left; 541 | text-transform: uppercase; 542 | } 543 | 544 | table.default thead { 545 | border-bottom: solid 1px rgba(224, 224, 224, 0.75); 546 | } 547 | 548 | /* Button */ 549 | 550 | input[type="submit"], 551 | input[type="reset"], 552 | input[type="button"], 553 | .button { 554 | -moz-appearance: none; 555 | -webkit-appearance: none; 556 | -o-appearance: none; 557 | -ms-appearance: none; 558 | appearance: none; 559 | -moz-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; 560 | -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; 561 | -o-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; 562 | -ms-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; 563 | transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; 564 | background: #544d55; 565 | border-radius: 4px; 566 | border: 0; 567 | color: white; 568 | cursor: pointer; 569 | display: inline-block; 570 | font-size: 0.9em; 571 | font-weight: 700; 572 | letter-spacing: 0.125em; 573 | line-height: 3.25em; 574 | min-width: 15em; 575 | padding: 0 1.5em; 576 | text-align: center; 577 | text-decoration: none; 578 | text-transform: uppercase; 579 | } 580 | 581 | input[type="submit"]:hover, 582 | input[type="reset"]:hover, 583 | input[type="button"]:hover, 584 | .button:hover { 585 | background: #6e6570; 586 | } 587 | 588 | input[type="submit"]:active, 589 | input[type="reset"]:active, 590 | input[type="button"]:active, 591 | .button:active { 592 | background: #474148; 593 | } 594 | 595 | input[type="submit"].alt, 596 | input[type="reset"].alt, 597 | input[type="button"].alt, 598 | .button.alt { 599 | background: none; 600 | box-shadow: inset 0 0 0 1px rgba(224, 224, 224, 0.75); 601 | color: #544d55; 602 | } 603 | 604 | input[type="submit"].alt:hover, 605 | input[type="reset"].alt:hover, 606 | input[type="button"].alt:hover, 607 | .button.alt:hover { 608 | background: rgba(224, 224, 224, 0.15); 609 | } 610 | 611 | input[type="submit"].alt:active, 612 | input[type="reset"].alt:active, 613 | input[type="button"].alt:active, 614 | .button.alt:active { 615 | background: rgba(224, 224, 224, 0.35); 616 | } 617 | 618 | input[type="submit"].fit, 619 | input[type="reset"].fit, 620 | input[type="button"].fit, 621 | .button.fit { 622 | width: 100%; 623 | } 624 | 625 | input[type="submit"].small, 626 | input[type="reset"].small, 627 | input[type="button"].small, 628 | .button.small { 629 | font-size: 0.8em; 630 | } 631 | 632 | /* Box */ 633 | 634 | .box { 635 | background: white; 636 | border: solid 1px rgba(224, 224, 224, 0.75); 637 | margin-bottom: 6em; 638 | padding: 3.5em; 639 | } 640 | 641 | .box.alt { 642 | background: none; 643 | border: none; 644 | padding: 0; 645 | } 646 | 647 | /* Feature */ 648 | 649 | .feature { 650 | position: relative; 651 | height: 20em; 652 | } 653 | 654 | .feature:after { 655 | clear: both; 656 | content: ''; 657 | display: block; 658 | } 659 | 660 | .feature h3, .feature h4, .feature h5, .feature h6 { 661 | text-align: inherit; 662 | } 663 | 664 | .feature .image { 665 | display: inline-block; 666 | height: 100%; 667 | overflow: hidden; 668 | position: relative; 669 | width: 50%; 670 | } 671 | 672 | .feature .image img { 673 | display: block; 674 | min-height: 100%; 675 | min-width: 100%; 676 | position: absolute; 677 | } 678 | 679 | .feature:before { 680 | background: blue; 681 | content: ''; 682 | display: inline-block; 683 | height: 100%; 684 | vertical-align: middle; 685 | } 686 | 687 | .feature .content { 688 | display: inline-block; 689 | padding: 3.5em; 690 | vertical-align: middle; 691 | width: 48%; 692 | } 693 | 694 | .feature .content h3 { 695 | margin-bottom: 0.5em; 696 | } 697 | 698 | .feature .content :last-child { 699 | margin: 0; 700 | } 701 | 702 | .feature.left { 703 | text-align: left; 704 | } 705 | 706 | .feature.left .image { 707 | float: left; 708 | } 709 | 710 | .feature.left .image img { 711 | right: 0; 712 | top: 0; 713 | } 714 | 715 | .feature.left .content { 716 | padding-right: 0; 717 | } 718 | 719 | .feature.right { 720 | text-align: right; 721 | } 722 | 723 | .feature.right .image { 724 | float: right; 725 | } 726 | 727 | .feature.right .image img { 728 | left: 0; 729 | top: 0; 730 | } 731 | 732 | .feature.right .content { 733 | padding-left: 0; 734 | } 735 | 736 | .feature.long .content { 737 | padding-top: 0; 738 | } 739 | 740 | /* Header */ 741 | 742 | #header { 743 | background-attachment: scroll, scroll, fixed; 744 | background-image: url("images/top-3200.svg"), url("images/overlay.png"), url("../images/header.jpg"); 745 | background-position: bottom center, top left, center center; 746 | background-repeat: repeat-x, repeat, no-repeat; 747 | background-size: 3200px 460px, auto, cover; 748 | color: rgba(255, 255, 255, 0.8); 749 | padding: 10em 0 20em 0; 750 | position: relative; 751 | text-align: center; 752 | } 753 | 754 | #header:before, #header:after { 755 | background: rgba(224, 224, 224, 0.75); 756 | content: ''; 757 | left: 50%; 758 | position: absolute; 759 | width: 1px; 760 | z-index: 0; 761 | } 762 | 763 | #header:before { 764 | height: calc(100% - 50px); 765 | opacity: 0.15; 766 | top: 0; 767 | } 768 | 769 | #header:after { 770 | bottom: 0; 771 | height: 50px; 772 | } 773 | 774 | #header a { 775 | border-bottom-color: rgba(255, 255, 255, 0.35); 776 | color: rgba(255, 255, 255, 0.8); 777 | } 778 | 779 | #header a:hover { 780 | border-bottom-color: transparent; 781 | color: #4eb980; 782 | } 783 | 784 | #header strong, #header b { 785 | color: white; 786 | } 787 | 788 | #header h1, #header h2, #header h3, #header h4, #header h5, #header h6 { 789 | color: white; 790 | } 791 | 792 | #header input[type="submit"], 793 | #header input[type="reset"], 794 | #header input[type="button"], 795 | #header .button { 796 | background: white; 797 | color: #544d55; 798 | } 799 | 800 | #header .logo { 801 | background: #4eb980; 802 | border-radius: 100%; 803 | color: white; 804 | cursor: default; 805 | display: inline-block; 806 | font-size: 2.25em; 807 | height: 2.35em; 808 | line-height: 2.35em; 809 | margin: 0 0 0.75em 0; 810 | text-align: center; 811 | width: 2.35em; 812 | } 813 | 814 | #header .logo.fa-paper-plane-o:before { 815 | left: -0.075em; 816 | position: relative; 817 | } 818 | 819 | #header h1 { 820 | font-size: 2.5em; 821 | margin: 0; 822 | } 823 | 824 | #header p { 825 | font-size: 1.5em; 826 | line-height: 1.5em; 827 | margin: 0.25em 0 0 0; 828 | } 829 | 830 | /* Footer */ 831 | 832 | #footer { 833 | background-attachment: scroll; 834 | background-color: #4eb980; 835 | background-image: url("images/bottom-3200.svg"); 836 | background-position: top center; 837 | background-repeat: repeat-x; 838 | background-size: 3200px 460px; 839 | color: rgba(255, 255, 255, 0.8); 840 | /* 841 | Since the SVG background occupies a lot of vertical space, we'll 842 | add additional top padding (to move our content out of its way) 843 | and a negative margin (to move everything up a bit). 844 | */ 845 | margin-top: -260px; 846 | padding: calc(460px + 6em) 0 10em 0; 847 | position: relative; 848 | text-align: center; 849 | } 850 | 851 | #footer:before { 852 | background: rgba(224, 224, 224, 0.75); 853 | content: ''; 854 | height: calc(460px + 6em); 855 | left: 50%; 856 | position: absolute; 857 | top: 0; 858 | width: 1px; 859 | z-index: 0; 860 | } 861 | 862 | #footer a { 863 | color: white; 864 | } 865 | 866 | #footer strong, #footer b { 867 | color: white; 868 | } 869 | 870 | #footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6 { 871 | color: white; 872 | } 873 | 874 | #footer header p { 875 | color: rgba(255, 255, 255, 0.5); 876 | } 877 | 878 | #footer input[type="submit"], 879 | #footer input[type="reset"], 880 | #footer input[type="button"], 881 | #footer .button { 882 | background: white; 883 | box-shadow: inset 0 0 0 1px white; 884 | color: #4eb980; 885 | } 886 | 887 | #footer input[type="submit"]:hover, 888 | #footer input[type="reset"]:hover, 889 | #footer input[type="button"]:hover, 890 | #footer .button:hover { 891 | background: rgba(224, 224, 224, 0.15); 892 | color: white; 893 | } 894 | 895 | #footer input[type="text"]:focus, 896 | #footer input[type="password"]:focus, 897 | #footer input[type="email"]:focus, 898 | #footer select:focus, 899 | #footer textarea:focus { 900 | border-color: white; 901 | } 902 | 903 | #footer .formerize-placeholder { 904 | color: rgba(255, 255, 255, 0.3) !important; 905 | } 906 | 907 | #footer form { 908 | margin: 3em 0; 909 | } 910 | 911 | #footer .copyright { 912 | color: rgba(255, 255, 255, 0.5); 913 | font-size: 0.8em; 914 | line-height: 1em; 915 | margin: 3em 0 0 0; 916 | } 917 | 918 | #footer .copyright li { 919 | border-left: dotted 1px; 920 | display: inline-block; 921 | margin-left: 1em; 922 | padding-left: 1em; 923 | } 924 | 925 | #footer .copyright li:first-child { 926 | padding: 0; 927 | margin: 0; 928 | border: 0; 929 | } 930 | 931 | #footer .copyright li a, #footer .copyright li span { 932 | color: inherit; 933 | } 934 | 935 | #footer .copyright li a:hover, #footer .copyright li span:hover { 936 | color: white; 937 | } 938 | 939 | /* Main */ 940 | 941 | #main { 942 | padding: 6em 0 5em 0; 943 | position: relative; 944 | z-index: 1; 945 | } 946 | 947 | #main:before { 948 | background: rgba(224, 224, 224, 0.75); 949 | content: ''; 950 | height: 100%; 951 | left: 50%; 952 | position: absolute; 953 | top: 0; 954 | width: 1px; 955 | z-index: -1; 956 | } 957 | 958 | #main header.major, 959 | #main footer.major { 960 | background: white; 961 | } -------------------------------------------------------------------------------- /public/css/ie/PIE.htc: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 96 | 97 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | accepts@~1.3.5: 6 | version "1.3.5" 7 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" 8 | integrity sha1-63d99gEXI6OxTopywIBcjoZ0a9I= 9 | dependencies: 10 | mime-types "~2.1.18" 11 | negotiator "0.6.1" 12 | 13 | adm-zip@~0.4.3: 14 | version "0.4.13" 15 | resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.13.tgz#597e2f8cc3672151e1307d3e95cddbc75672314a" 16 | integrity sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw== 17 | 18 | ajv@^6.5.5: 19 | version "6.10.0" 20 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" 21 | integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== 22 | dependencies: 23 | fast-deep-equal "^2.0.1" 24 | fast-json-stable-stringify "^2.0.0" 25 | json-schema-traverse "^0.4.1" 26 | uri-js "^4.2.2" 27 | 28 | ansi-regex@^2.0.0: 29 | version "2.1.1" 30 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 31 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 32 | 33 | ansi-regex@^3.0.0: 34 | version "3.0.0" 35 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 36 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 37 | 38 | array-flatten@1.1.1: 39 | version "1.1.1" 40 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 41 | integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= 42 | 43 | asn1@~0.2.3: 44 | version "0.2.4" 45 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" 46 | integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== 47 | dependencies: 48 | safer-buffer "~2.1.0" 49 | 50 | assert-plus@1.0.0, assert-plus@^1.0.0: 51 | version "1.0.0" 52 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 53 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= 54 | 55 | async@latest: 56 | version "2.6.2" 57 | resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" 58 | integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== 59 | dependencies: 60 | lodash "^4.17.11" 61 | 62 | asynckit@^0.4.0: 63 | version "0.4.0" 64 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 65 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 66 | 67 | aws-sign2@~0.7.0: 68 | version "0.7.0" 69 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 70 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 71 | 72 | aws4@^1.8.0: 73 | version "1.8.0" 74 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" 75 | integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== 76 | 77 | balanced-match@^1.0.0: 78 | version "1.0.0" 79 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 80 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 81 | 82 | bcrypt-pbkdf@^1.0.0: 83 | version "1.0.2" 84 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 85 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= 86 | dependencies: 87 | tweetnacl "^0.14.3" 88 | 89 | body-parser@1.18.3, body-parser@^1.12.4: 90 | version "1.18.3" 91 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" 92 | integrity sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ= 93 | dependencies: 94 | bytes "3.0.0" 95 | content-type "~1.0.4" 96 | debug "2.6.9" 97 | depd "~1.1.2" 98 | http-errors "~1.6.3" 99 | iconv-lite "0.4.23" 100 | on-finished "~2.3.0" 101 | qs "6.5.2" 102 | raw-body "2.3.3" 103 | type-is "~1.6.16" 104 | 105 | brace-expansion@^1.1.7: 106 | version "1.1.11" 107 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 108 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 109 | dependencies: 110 | balanced-match "^1.0.0" 111 | concat-map "0.0.1" 112 | 113 | bytes@3.0.0: 114 | version "3.0.0" 115 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" 116 | integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= 117 | 118 | camelcase@^5.0.0: 119 | version "5.2.0" 120 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.2.0.tgz#e7522abda5ed94cc0489e1b8466610e88404cf45" 121 | integrity sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ== 122 | 123 | caseless@~0.12.0: 124 | version "0.12.0" 125 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 126 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= 127 | 128 | cliui@^4.0.0: 129 | version "4.1.0" 130 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" 131 | integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== 132 | dependencies: 133 | string-width "^2.1.1" 134 | strip-ansi "^4.0.0" 135 | wrap-ansi "^2.0.0" 136 | 137 | code-point-at@^1.0.0: 138 | version "1.1.0" 139 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 140 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 141 | 142 | colors@1.2.4: 143 | version "1.2.4" 144 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.4.tgz#e0cb41d3e4b20806b3bfc27f4559f01b94bc2f7c" 145 | integrity sha512-6Y+iBnWmXL+AWtlOp2Vr6R2w5MUlNJRwR0ShVFaAb1CqWzhPOpQg4L0jxD+xpw/Nc8QJwaq3KM79QUCriY8CWQ== 146 | 147 | combined-stream@^1.0.6, combined-stream@~1.0.6: 148 | version "1.0.7" 149 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" 150 | integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== 151 | dependencies: 152 | delayed-stream "~1.0.0" 153 | 154 | concat-map@0.0.1: 155 | version "0.0.1" 156 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 157 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 158 | 159 | content-disposition@0.5.2: 160 | version "0.5.2" 161 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" 162 | integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= 163 | 164 | content-type@~1.0.4: 165 | version "1.0.4" 166 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 167 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== 168 | 169 | cookie-signature@1.0.6: 170 | version "1.0.6" 171 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 172 | integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= 173 | 174 | cookie@0.3.1: 175 | version "0.3.1" 176 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" 177 | integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= 178 | 179 | core-util-is@1.0.2: 180 | version "1.0.2" 181 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 182 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 183 | 184 | cron@^1.0.9: 185 | version "1.6.0" 186 | resolved "https://registry.yarnpkg.com/cron/-/cron-1.6.0.tgz#15f92c1b5a930c5cdfcd53fe940064fa8ca2e72d" 187 | integrity sha512-8OkXbeK3qF42ndzkIkCo3zfCDg2TxGjQiCQqVE+ZFFHa4vAcw0PdBc5i/6aJ9FppLncyKZmDuZdJ9/uuXEYZaw== 188 | dependencies: 189 | moment-timezone "^0.5.x" 190 | 191 | cross-spawn@^6.0.0: 192 | version "6.0.5" 193 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 194 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 195 | dependencies: 196 | nice-try "^1.0.4" 197 | path-key "^2.0.1" 198 | semver "^5.5.0" 199 | shebang-command "^1.2.0" 200 | which "^1.2.9" 201 | 202 | dashdash@^1.12.0: 203 | version "1.14.1" 204 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 205 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= 206 | dependencies: 207 | assert-plus "^1.0.0" 208 | 209 | debug@2.6.9: 210 | version "2.6.9" 211 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 212 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 213 | dependencies: 214 | ms "2.0.0" 215 | 216 | debug@^3.0.0: 217 | version "3.2.6" 218 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 219 | integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== 220 | dependencies: 221 | ms "^2.1.1" 222 | 223 | decamelize@^1.2.0: 224 | version "1.2.0" 225 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 226 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 227 | 228 | delayed-stream@~1.0.0: 229 | version "1.0.0" 230 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 231 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 232 | 233 | depd@~1.1.2: 234 | version "1.1.2" 235 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 236 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 237 | 238 | destroy@~1.0.4: 239 | version "1.0.4" 240 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 241 | integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= 242 | 243 | easy-zip@0.0.4: 244 | version "0.0.4" 245 | resolved "https://registry.yarnpkg.com/easy-zip/-/easy-zip-0.0.4.tgz#b2da37d6750221860aaef0168de912ebfe957d93" 246 | integrity sha1-sto31nUCIYYKrvAWjekS6/6VfZM= 247 | dependencies: 248 | async latest 249 | 250 | ecc-jsbn@~0.1.1: 251 | version "0.1.2" 252 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 253 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= 254 | dependencies: 255 | jsbn "~0.1.0" 256 | safer-buffer "^2.1.0" 257 | 258 | ee-first@1.1.1: 259 | version "1.1.1" 260 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 261 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= 262 | 263 | ejs@^2.3.1: 264 | version "2.6.1" 265 | resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" 266 | integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ== 267 | 268 | encodeurl@~1.0.2: 269 | version "1.0.2" 270 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 271 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= 272 | 273 | end-of-stream@^1.1.0: 274 | version "1.4.1" 275 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 276 | integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== 277 | dependencies: 278 | once "^1.4.0" 279 | 280 | escape-html@~1.0.3: 281 | version "1.0.3" 282 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 283 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= 284 | 285 | etag@~1.8.1: 286 | version "1.8.1" 287 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 288 | integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= 289 | 290 | execa@^1.0.0: 291 | version "1.0.0" 292 | resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" 293 | integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== 294 | dependencies: 295 | cross-spawn "^6.0.0" 296 | get-stream "^4.0.0" 297 | is-stream "^1.1.0" 298 | npm-run-path "^2.0.0" 299 | p-finally "^1.0.0" 300 | signal-exit "^3.0.0" 301 | strip-eof "^1.0.0" 302 | 303 | express@4.16.4: 304 | version "4.16.4" 305 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" 306 | integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== 307 | dependencies: 308 | accepts "~1.3.5" 309 | array-flatten "1.1.1" 310 | body-parser "1.18.3" 311 | content-disposition "0.5.2" 312 | content-type "~1.0.4" 313 | cookie "0.3.1" 314 | cookie-signature "1.0.6" 315 | debug "2.6.9" 316 | depd "~1.1.2" 317 | encodeurl "~1.0.2" 318 | escape-html "~1.0.3" 319 | etag "~1.8.1" 320 | finalhandler "1.1.1" 321 | fresh "0.5.2" 322 | merge-descriptors "1.0.1" 323 | methods "~1.1.2" 324 | on-finished "~2.3.0" 325 | parseurl "~1.3.2" 326 | path-to-regexp "0.1.7" 327 | proxy-addr "~2.0.4" 328 | qs "6.5.2" 329 | range-parser "~1.2.0" 330 | safe-buffer "5.1.2" 331 | send "0.16.2" 332 | serve-static "1.13.2" 333 | setprototypeof "1.1.0" 334 | statuses "~1.4.0" 335 | type-is "~1.6.16" 336 | utils-merge "1.0.1" 337 | vary "~1.1.2" 338 | 339 | extend@~3.0.2: 340 | version "3.0.2" 341 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 342 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 343 | 344 | extsprintf@1.3.0: 345 | version "1.3.0" 346 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 347 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= 348 | 349 | extsprintf@^1.2.0: 350 | version "1.4.0" 351 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" 352 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= 353 | 354 | fast-deep-equal@^2.0.1: 355 | version "2.0.1" 356 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 357 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 358 | 359 | fast-json-stable-stringify@^2.0.0: 360 | version "2.0.0" 361 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 362 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 363 | 364 | finalhandler@1.1.1: 365 | version "1.1.1" 366 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" 367 | integrity sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg== 368 | dependencies: 369 | debug "2.6.9" 370 | encodeurl "~1.0.2" 371 | escape-html "~1.0.3" 372 | on-finished "~2.3.0" 373 | parseurl "~1.3.2" 374 | statuses "~1.4.0" 375 | unpipe "~1.0.0" 376 | 377 | find-up@^3.0.0: 378 | version "3.0.0" 379 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 380 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 381 | dependencies: 382 | locate-path "^3.0.0" 383 | 384 | forever-agent@~0.6.1: 385 | version "0.6.1" 386 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 387 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 388 | 389 | form-data@~2.3.2: 390 | version "2.3.3" 391 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 392 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 393 | dependencies: 394 | asynckit "^0.4.0" 395 | combined-stream "^1.0.6" 396 | mime-types "^2.1.12" 397 | 398 | forwarded@~0.1.2: 399 | version "0.1.2" 400 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" 401 | integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= 402 | 403 | fresh@0.5.2: 404 | version "0.5.2" 405 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 406 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= 407 | 408 | fs-extra@7.0.1: 409 | version "7.0.1" 410 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" 411 | integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== 412 | dependencies: 413 | graceful-fs "^4.1.2" 414 | jsonfile "^4.0.0" 415 | universalify "^0.1.0" 416 | 417 | fs-extra@^0.24.0: 418 | version "0.24.0" 419 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.24.0.tgz#d4e4342a96675cb7846633a6099249332b539952" 420 | integrity sha1-1OQ0KpZnXLeEZjOmCZJJMytTmVI= 421 | dependencies: 422 | graceful-fs "^4.1.2" 423 | jsonfile "^2.1.0" 424 | path-is-absolute "^1.0.0" 425 | rimraf "^2.2.8" 426 | 427 | fs.realpath@^1.0.0: 428 | version "1.0.0" 429 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 430 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 431 | 432 | get-caller-file@^1.0.1: 433 | version "1.0.3" 434 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" 435 | integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== 436 | 437 | get-stream@^4.0.0: 438 | version "4.1.0" 439 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 440 | integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 441 | dependencies: 442 | pump "^3.0.0" 443 | 444 | getpass@^0.1.1: 445 | version "0.1.7" 446 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 447 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= 448 | dependencies: 449 | assert-plus "^1.0.0" 450 | 451 | github-download@0.5.0: 452 | version "0.5.0" 453 | resolved "https://registry.yarnpkg.com/github-download/-/github-download-0.5.0.tgz#f7647a70aac4326fb091e5786c8f66ae157da51b" 454 | integrity sha1-92R6cKrEMm+wkeV4bI9mrhV9pRs= 455 | dependencies: 456 | adm-zip "~0.4.3" 457 | fs-extra "^0.24.0" 458 | request "^2.12.0" 459 | vcsurl "~0.1.0" 460 | 461 | glob@^7.1.3: 462 | version "7.1.3" 463 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 464 | integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== 465 | dependencies: 466 | fs.realpath "^1.0.0" 467 | inflight "^1.0.4" 468 | inherits "2" 469 | minimatch "^3.0.4" 470 | once "^1.3.0" 471 | path-is-absolute "^1.0.0" 472 | 473 | graceful-fs@^4.1.2, graceful-fs@^4.1.6: 474 | version "4.1.15" 475 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" 476 | integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== 477 | 478 | har-schema@^2.0.0: 479 | version "2.0.0" 480 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 481 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 482 | 483 | har-validator@~5.1.0: 484 | version "5.1.3" 485 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" 486 | integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== 487 | dependencies: 488 | ajv "^6.5.5" 489 | har-schema "^2.0.0" 490 | 491 | http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: 492 | version "1.6.3" 493 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" 494 | integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= 495 | dependencies: 496 | depd "~1.1.2" 497 | inherits "2.0.3" 498 | setprototypeof "1.1.0" 499 | statuses ">= 1.4.0 < 2" 500 | 501 | http-signature@~1.2.0: 502 | version "1.2.0" 503 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 504 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= 505 | dependencies: 506 | assert-plus "^1.0.0" 507 | jsprim "^1.2.2" 508 | sshpk "^1.7.0" 509 | 510 | iconv-lite@0.4.23: 511 | version "0.4.23" 512 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" 513 | integrity sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA== 514 | dependencies: 515 | safer-buffer ">= 2.1.2 < 3" 516 | 517 | inflight@^1.0.4: 518 | version "1.0.6" 519 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 520 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 521 | dependencies: 522 | once "^1.3.0" 523 | wrappy "1" 524 | 525 | inherits@2, inherits@2.0.3: 526 | version "2.0.3" 527 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 528 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 529 | 530 | invert-kv@^2.0.0: 531 | version "2.0.0" 532 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" 533 | integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== 534 | 535 | ipaddr.js@1.8.0: 536 | version "1.8.0" 537 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" 538 | integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4= 539 | 540 | is-fullwidth-code-point@^1.0.0: 541 | version "1.0.0" 542 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 543 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 544 | dependencies: 545 | number-is-nan "^1.0.0" 546 | 547 | is-fullwidth-code-point@^2.0.0: 548 | version "2.0.0" 549 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 550 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 551 | 552 | is-stream@^1.1.0: 553 | version "1.1.0" 554 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 555 | integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= 556 | 557 | is-typedarray@~1.0.0: 558 | version "1.0.0" 559 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 560 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 561 | 562 | isexe@^2.0.0: 563 | version "2.0.0" 564 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 565 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 566 | 567 | isstream@~0.1.2: 568 | version "0.1.2" 569 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 570 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= 571 | 572 | jsbn@~0.1.0: 573 | version "0.1.1" 574 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 575 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= 576 | 577 | json-schema-traverse@^0.4.1: 578 | version "0.4.1" 579 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 580 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 581 | 582 | json-schema@0.2.3: 583 | version "0.2.3" 584 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 585 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= 586 | 587 | json-stringify-safe@~5.0.1: 588 | version "5.0.1" 589 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 590 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 591 | 592 | jsonfile@^2.1.0: 593 | version "2.4.0" 594 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" 595 | integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug= 596 | optionalDependencies: 597 | graceful-fs "^4.1.6" 598 | 599 | jsonfile@^4.0.0: 600 | version "4.0.0" 601 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 602 | integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= 603 | optionalDependencies: 604 | graceful-fs "^4.1.6" 605 | 606 | jsprim@^1.2.2: 607 | version "1.4.1" 608 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 609 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= 610 | dependencies: 611 | assert-plus "1.0.0" 612 | extsprintf "1.3.0" 613 | json-schema "0.2.3" 614 | verror "1.10.0" 615 | 616 | lcid@^2.0.0: 617 | version "2.0.0" 618 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" 619 | integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== 620 | dependencies: 621 | invert-kv "^2.0.0" 622 | 623 | locate-path@^3.0.0: 624 | version "3.0.0" 625 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 626 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 627 | dependencies: 628 | p-locate "^3.0.0" 629 | path-exists "^3.0.0" 630 | 631 | lodash@^4.17.11: 632 | version "4.17.11" 633 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" 634 | integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== 635 | 636 | map-age-cleaner@^0.1.1: 637 | version "0.1.3" 638 | resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" 639 | integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== 640 | dependencies: 641 | p-defer "^1.0.0" 642 | 643 | media-typer@0.3.0: 644 | version "0.3.0" 645 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 646 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= 647 | 648 | mem@^4.0.0: 649 | version "4.1.0" 650 | resolved "https://registry.yarnpkg.com/mem/-/mem-4.1.0.tgz#aeb9be2d21f47e78af29e4ac5978e8afa2ca5b8a" 651 | integrity sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg== 652 | dependencies: 653 | map-age-cleaner "^0.1.1" 654 | mimic-fn "^1.0.0" 655 | p-is-promise "^2.0.0" 656 | 657 | merge-descriptors@1.0.1: 658 | version "1.0.1" 659 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 660 | integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= 661 | 662 | methods@~1.1.2: 663 | version "1.1.2" 664 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 665 | integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= 666 | 667 | mime-db@~1.38.0: 668 | version "1.38.0" 669 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad" 670 | integrity sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg== 671 | 672 | mime-types@^2.1.12, mime-types@~2.1.18, mime-types@~2.1.19: 673 | version "2.1.22" 674 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz#fe6b355a190926ab7698c9a0556a11199b2199bd" 675 | integrity sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog== 676 | dependencies: 677 | mime-db "~1.38.0" 678 | 679 | mime@1.4.1: 680 | version "1.4.1" 681 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" 682 | integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== 683 | 684 | mime@^2.4.0: 685 | version "2.4.0" 686 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.0.tgz#e051fd881358585f3279df333fe694da0bcffdd6" 687 | integrity sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w== 688 | 689 | mimic-fn@^1.0.0: 690 | version "1.2.0" 691 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 692 | integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== 693 | 694 | minimatch@3.0.4, minimatch@^3.0.4: 695 | version "3.0.4" 696 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 697 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 698 | dependencies: 699 | brace-expansion "^1.1.7" 700 | 701 | moment-timezone@^0.5.x: 702 | version "0.5.23" 703 | resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.23.tgz#7cbb00db2c14c71b19303cb47b0fb0a6d8651463" 704 | integrity sha512-WHFH85DkCfiNMDX5D3X7hpNH3/PUhjTGcD0U1SgfBGZxJ3qUmJh5FdvaFjcClxOvB3rzdfj4oRffbI38jEnC1w== 705 | dependencies: 706 | moment ">= 2.9.0" 707 | 708 | "moment@>= 2.9.0": 709 | version "2.24.0" 710 | resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" 711 | integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg== 712 | 713 | ms@2.0.0: 714 | version "2.0.0" 715 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 716 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 717 | 718 | ms@^2.1.1: 719 | version "2.1.1" 720 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 721 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 722 | 723 | negotiator@0.6.1: 724 | version "0.6.1" 725 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" 726 | integrity sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk= 727 | 728 | nice-try@^1.0.4: 729 | version "1.0.5" 730 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 731 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 732 | 733 | npm-run-path@^2.0.0: 734 | version "2.0.2" 735 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 736 | integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= 737 | dependencies: 738 | path-key "^2.0.0" 739 | 740 | number-is-nan@^1.0.0: 741 | version "1.0.1" 742 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 743 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 744 | 745 | oauth-sign@~0.9.0: 746 | version "0.9.0" 747 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 748 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== 749 | 750 | on-finished@~2.3.0: 751 | version "2.3.0" 752 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 753 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= 754 | dependencies: 755 | ee-first "1.1.1" 756 | 757 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 758 | version "1.4.0" 759 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 760 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 761 | dependencies: 762 | wrappy "1" 763 | 764 | os-locale@^3.0.0: 765 | version "3.1.0" 766 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" 767 | integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== 768 | dependencies: 769 | execa "^1.0.0" 770 | lcid "^2.0.0" 771 | mem "^4.0.0" 772 | 773 | p-defer@^1.0.0: 774 | version "1.0.0" 775 | resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" 776 | integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= 777 | 778 | p-finally@^1.0.0: 779 | version "1.0.0" 780 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 781 | integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= 782 | 783 | p-is-promise@^2.0.0: 784 | version "2.0.0" 785 | resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" 786 | integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== 787 | 788 | p-limit@^2.0.0: 789 | version "2.2.0" 790 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" 791 | integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== 792 | dependencies: 793 | p-try "^2.0.0" 794 | 795 | p-locate@^3.0.0: 796 | version "3.0.0" 797 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 798 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 799 | dependencies: 800 | p-limit "^2.0.0" 801 | 802 | p-try@^2.0.0: 803 | version "2.0.0" 804 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" 805 | integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== 806 | 807 | parseurl@~1.3.2: 808 | version "1.3.2" 809 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" 810 | integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= 811 | 812 | path-exists@^3.0.0: 813 | version "3.0.0" 814 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 815 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 816 | 817 | path-is-absolute@^1.0.0: 818 | version "1.0.1" 819 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 820 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 821 | 822 | path-key@^2.0.0, path-key@^2.0.1: 823 | version "2.0.1" 824 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 825 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 826 | 827 | path-to-regexp@0.1.7: 828 | version "0.1.7" 829 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 830 | integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= 831 | 832 | performance-now@^2.1.0: 833 | version "2.1.0" 834 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 835 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= 836 | 837 | proxy-addr@~2.0.4: 838 | version "2.0.4" 839 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" 840 | integrity sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA== 841 | dependencies: 842 | forwarded "~0.1.2" 843 | ipaddr.js "1.8.0" 844 | 845 | psl@^1.1.24: 846 | version "1.1.31" 847 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" 848 | integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== 849 | 850 | pump@^3.0.0: 851 | version "3.0.0" 852 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 853 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 854 | dependencies: 855 | end-of-stream "^1.1.0" 856 | once "^1.3.1" 857 | 858 | punycode@^1.4.1: 859 | version "1.4.1" 860 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 861 | integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= 862 | 863 | punycode@^2.1.0: 864 | version "2.1.1" 865 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 866 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 867 | 868 | qs@6.5.2, qs@~6.5.2: 869 | version "6.5.2" 870 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 871 | integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== 872 | 873 | range-parser@~1.2.0: 874 | version "1.2.0" 875 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" 876 | integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= 877 | 878 | raw-body@2.3.3: 879 | version "2.3.3" 880 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" 881 | integrity sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw== 882 | dependencies: 883 | bytes "3.0.0" 884 | http-errors "1.6.3" 885 | iconv-lite "0.4.23" 886 | unpipe "1.0.0" 887 | 888 | replace@^1.1.0: 889 | version "1.1.0" 890 | resolved "https://registry.yarnpkg.com/replace/-/replace-1.1.0.tgz#4cb04f138d14f37c47b9f2d214eb4a057bd94b22" 891 | integrity sha512-0k9rtPG0MUDfJj77XtMCSJKOPdzSwVwM79ZQ6lZuFjqqXrQAMKIMp0g7/8GDAzeERxdktV/LzqbMtJ3yxB23lg== 892 | dependencies: 893 | colors "1.2.4" 894 | minimatch "3.0.4" 895 | yargs "12.0.5" 896 | 897 | request@^2.12.0, request@^2.88.0: 898 | version "2.88.0" 899 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" 900 | integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== 901 | dependencies: 902 | aws-sign2 "~0.7.0" 903 | aws4 "^1.8.0" 904 | caseless "~0.12.0" 905 | combined-stream "~1.0.6" 906 | extend "~3.0.2" 907 | forever-agent "~0.6.1" 908 | form-data "~2.3.2" 909 | har-validator "~5.1.0" 910 | http-signature "~1.2.0" 911 | is-typedarray "~1.0.0" 912 | isstream "~0.1.2" 913 | json-stringify-safe "~5.0.1" 914 | mime-types "~2.1.19" 915 | oauth-sign "~0.9.0" 916 | performance-now "^2.1.0" 917 | qs "~6.5.2" 918 | safe-buffer "^5.1.2" 919 | tough-cookie "~2.4.3" 920 | tunnel-agent "^0.6.0" 921 | uuid "^3.3.2" 922 | 923 | require-directory@^2.1.1: 924 | version "2.1.1" 925 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 926 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 927 | 928 | require-main-filename@^1.0.1: 929 | version "1.0.1" 930 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 931 | integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= 932 | 933 | rimraf@^2.2.8, rimraf@^2.4.0: 934 | version "2.6.3" 935 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 936 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 937 | dependencies: 938 | glob "^7.1.3" 939 | 940 | safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.2: 941 | version "5.1.2" 942 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 943 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 944 | 945 | "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 946 | version "2.1.2" 947 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 948 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 949 | 950 | semver@^5.5.0: 951 | version "5.6.0" 952 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" 953 | integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== 954 | 955 | send@0.16.2: 956 | version "0.16.2" 957 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" 958 | integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== 959 | dependencies: 960 | debug "2.6.9" 961 | depd "~1.1.2" 962 | destroy "~1.0.4" 963 | encodeurl "~1.0.2" 964 | escape-html "~1.0.3" 965 | etag "~1.8.1" 966 | fresh "0.5.2" 967 | http-errors "~1.6.2" 968 | mime "1.4.1" 969 | ms "2.0.0" 970 | on-finished "~2.3.0" 971 | range-parser "~1.2.0" 972 | statuses "~1.4.0" 973 | 974 | serve-static@1.13.2: 975 | version "1.13.2" 976 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" 977 | integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== 978 | dependencies: 979 | encodeurl "~1.0.2" 980 | escape-html "~1.0.3" 981 | parseurl "~1.3.2" 982 | send "0.16.2" 983 | 984 | set-blocking@^2.0.0: 985 | version "2.0.0" 986 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 987 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 988 | 989 | setprototypeof@1.1.0: 990 | version "1.1.0" 991 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" 992 | integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== 993 | 994 | shebang-command@^1.2.0: 995 | version "1.2.0" 996 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 997 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 998 | dependencies: 999 | shebang-regex "^1.0.0" 1000 | 1001 | shebang-regex@^1.0.0: 1002 | version "1.0.0" 1003 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 1004 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 1005 | 1006 | signal-exit@^3.0.0: 1007 | version "3.0.2" 1008 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 1009 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 1010 | 1011 | sshpk@^1.7.0: 1012 | version "1.16.1" 1013 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" 1014 | integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== 1015 | dependencies: 1016 | asn1 "~0.2.3" 1017 | assert-plus "^1.0.0" 1018 | bcrypt-pbkdf "^1.0.0" 1019 | dashdash "^1.12.0" 1020 | ecc-jsbn "~0.1.1" 1021 | getpass "^0.1.1" 1022 | jsbn "~0.1.0" 1023 | safer-buffer "^2.0.2" 1024 | tweetnacl "~0.14.0" 1025 | 1026 | "statuses@>= 1.4.0 < 2": 1027 | version "1.5.0" 1028 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 1029 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 1030 | 1031 | statuses@~1.4.0: 1032 | version "1.4.0" 1033 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" 1034 | integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== 1035 | 1036 | string-width@^1.0.1: 1037 | version "1.0.2" 1038 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 1039 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 1040 | dependencies: 1041 | code-point-at "^1.0.0" 1042 | is-fullwidth-code-point "^1.0.0" 1043 | strip-ansi "^3.0.0" 1044 | 1045 | string-width@^2.0.0, string-width@^2.1.1: 1046 | version "2.1.1" 1047 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 1048 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 1049 | dependencies: 1050 | is-fullwidth-code-point "^2.0.0" 1051 | strip-ansi "^4.0.0" 1052 | 1053 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 1054 | version "3.0.1" 1055 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1056 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 1057 | dependencies: 1058 | ansi-regex "^2.0.0" 1059 | 1060 | strip-ansi@^4.0.0: 1061 | version "4.0.0" 1062 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 1063 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 1064 | dependencies: 1065 | ansi-regex "^3.0.0" 1066 | 1067 | strip-eof@^1.0.0: 1068 | version "1.0.0" 1069 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 1070 | integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= 1071 | 1072 | tough-cookie@~2.4.3: 1073 | version "2.4.3" 1074 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" 1075 | integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== 1076 | dependencies: 1077 | psl "^1.1.24" 1078 | punycode "^1.4.1" 1079 | 1080 | tunnel-agent@^0.6.0: 1081 | version "0.6.0" 1082 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 1083 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 1084 | dependencies: 1085 | safe-buffer "^5.0.1" 1086 | 1087 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 1088 | version "0.14.5" 1089 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 1090 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= 1091 | 1092 | type-is@~1.6.16: 1093 | version "1.6.16" 1094 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" 1095 | integrity sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q== 1096 | dependencies: 1097 | media-typer "0.3.0" 1098 | mime-types "~2.1.18" 1099 | 1100 | universal-analytics@^0.4.20: 1101 | version "0.4.20" 1102 | resolved "https://registry.yarnpkg.com/universal-analytics/-/universal-analytics-0.4.20.tgz#d6b64e5312bf74f7c368e3024a922135dbf24b03" 1103 | integrity sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw== 1104 | dependencies: 1105 | debug "^3.0.0" 1106 | request "^2.88.0" 1107 | uuid "^3.0.0" 1108 | 1109 | universalify@^0.1.0: 1110 | version "0.1.2" 1111 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 1112 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 1113 | 1114 | unpipe@1.0.0, unpipe@~1.0.0: 1115 | version "1.0.0" 1116 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1117 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= 1118 | 1119 | uri-js@^4.2.2: 1120 | version "4.2.2" 1121 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 1122 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 1123 | dependencies: 1124 | punycode "^2.1.0" 1125 | 1126 | utils-merge@1.0.1: 1127 | version "1.0.1" 1128 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1129 | integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= 1130 | 1131 | uuid@^3.0.0, uuid@^3.3.2: 1132 | version "3.3.2" 1133 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" 1134 | integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== 1135 | 1136 | vary@~1.1.2: 1137 | version "1.1.2" 1138 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1139 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= 1140 | 1141 | vcsurl@~0.1.0: 1142 | version "0.1.1" 1143 | resolved "https://registry.yarnpkg.com/vcsurl/-/vcsurl-0.1.1.tgz#5e00a109e7381b55b5d45b892533c8ec35c9320c" 1144 | integrity sha1-XgChCec4G1W11FuJJTPI7DXJMgw= 1145 | 1146 | verror@1.10.0: 1147 | version "1.10.0" 1148 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 1149 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= 1150 | dependencies: 1151 | assert-plus "^1.0.0" 1152 | core-util-is "1.0.2" 1153 | extsprintf "^1.2.0" 1154 | 1155 | which-module@^2.0.0: 1156 | version "2.0.0" 1157 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 1158 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 1159 | 1160 | which@^1.2.9: 1161 | version "1.3.1" 1162 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 1163 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 1164 | dependencies: 1165 | isexe "^2.0.0" 1166 | 1167 | wrap-ansi@^2.0.0: 1168 | version "2.1.0" 1169 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 1170 | integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= 1171 | dependencies: 1172 | string-width "^1.0.1" 1173 | strip-ansi "^3.0.1" 1174 | 1175 | wrappy@1: 1176 | version "1.0.2" 1177 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1178 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1179 | 1180 | "y18n@^3.2.1 || ^4.0.0": 1181 | version "4.0.0" 1182 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 1183 | integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== 1184 | 1185 | yargs-parser@^11.1.1: 1186 | version "11.1.1" 1187 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" 1188 | integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== 1189 | dependencies: 1190 | camelcase "^5.0.0" 1191 | decamelize "^1.2.0" 1192 | 1193 | yargs@12.0.5: 1194 | version "12.0.5" 1195 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" 1196 | integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== 1197 | dependencies: 1198 | cliui "^4.0.0" 1199 | decamelize "^1.2.0" 1200 | find-up "^3.0.0" 1201 | get-caller-file "^1.0.1" 1202 | os-locale "^3.0.0" 1203 | require-directory "^2.1.1" 1204 | require-main-filename "^1.0.1" 1205 | set-blocking "^2.0.0" 1206 | string-width "^2.0.0" 1207 | which-module "^2.0.0" 1208 | y18n "^3.2.1 || ^4.0.0" 1209 | yargs-parser "^11.1.1" 1210 | --------------------------------------------------------------------------------