From 5a52cbedc5a05b2fdc16d46baaac00ac5b8b496b Mon Sep 17 00:00:00 2001 From: Jonathan Davidoff Date: Mon, 31 Mar 2025 22:38:26 -0500 Subject: [PATCH 01/40] Add 2025 distribution locations folder with initial content --- 2025/distribution-locations/index.html | 64 ++++++++++++++++++++++ 2025/distribution-locations/main.js | 47 ++++++++++++++++ 2025/distribution-locations/meta_data.json | 4 ++ 3 files changed, 115 insertions(+) create mode 100644 2025/distribution-locations/index.html create mode 100644 2025/distribution-locations/main.js create mode 100644 2025/distribution-locations/meta_data.json diff --git a/2025/distribution-locations/index.html b/2025/distribution-locations/index.html new file mode 100644 index 00000000..35007a5b --- /dev/null +++ b/2025/distribution-locations/index.html @@ -0,0 +1,64 @@ + + + [PUT THE TITLE OF YOUR CHART HERE] + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js new file mode 100644 index 00000000..ac57251e --- /dev/null +++ b/2025/distribution-locations/main.js @@ -0,0 +1,47 @@ +// For API and chart documentation please look here: +// https://www.highcharts.com/demo +Highcharts.setOptions({ + chart: { + style: { + fontFamily: 'Georgia, serif' + } + } +}); + +Highcharts.chart('chart-div', { + // Setting default colors + colors: [ + '#800000', + '#FFA319', + '#C16622', + '#8F3931', + '#8A9045', + '#58593F', + '#155F83', + '#350E20', + '#47B5FF', + '#FF3399' + ], + + // All code for your chart goes here + title: { + text: '[TITLE]', + align: 'center' + }, + + plotOptions: { + series: { + // PUT PLOT CONFIG OPTIONS HERE SPACE FOR YOUR DATA + } + }, + + series: [ + { + name: '[DATA FIELD NAME]', + label: { + enabled: false + }, + data: [] + } + ] +}); diff --git a/2025/distribution-locations/meta_data.json b/2025/distribution-locations/meta_data.json new file mode 100644 index 00000000..291c7506 --- /dev/null +++ b/2025/distribution-locations/meta_data.json @@ -0,0 +1,4 @@ +{ + "description": "Describe your visual.", + "title": "Example Visual" +} From 82b205f8caa03f516dc3bf784814f1665795e051 Mon Sep 17 00:00:00 2001 From: Jonathan Davidoff Date: Mon, 31 Mar 2025 23:23:16 -0500 Subject: [PATCH 02/40] adding maroon-map --- maroon-map/package-lock.json | 765 +++++++++++++++++++++++++++++++++++ maroon-map/package.json | 16 + 2 files changed, 781 insertions(+) create mode 100644 maroon-map/package-lock.json create mode 100644 maroon-map/package.json diff --git a/maroon-map/package-lock.json b/maroon-map/package-lock.json new file mode 100644 index 00000000..97d8aeb3 --- /dev/null +++ b/maroon-map/package-lock.json @@ -0,0 +1,765 @@ +{ + "name": "maroon-map", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "maroon-map", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "csv-parser": "^3.2.0", + "express": "^5.1.0" + }, + "devDependencies": {} + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/csv-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/csv-parser/-/csv-parser-3.2.0.tgz", + "integrity": "sha512-fgKbp+AJbn1h2dcAHKIdKNSSjfp43BZZykXsCjzALjKy80VXQNHPFJ6T9Afwdzoj24aMkq8GwDS7KGcDPpejrA==", + "license": "MIT", + "bin": { + "csv-parser": "bin/csv-parser" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "engines": { + "node": ">=16" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.6.3", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + } + } +} diff --git a/maroon-map/package.json b/maroon-map/package.json new file mode 100644 index 00000000..48351683 --- /dev/null +++ b/maroon-map/package.json @@ -0,0 +1,16 @@ +{ + "name": "maroon-map", + "version": "1.0.0", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "csv-parser": "^3.2.0", + "express": "^5.1.0" + }, + "description": "" +} From 87407c90fa85d372552831c185bfcd626acfcc40 Mon Sep 17 00:00:00 2001 From: Jonathan Davidoff Date: Tue, 1 Apr 2025 15:36:57 -0500 Subject: [PATCH 03/40] updates to each file --- 2025/distribution-locations/index.html | 61 ++++++++++++++++------ 2025/distribution-locations/main.js | 46 ---------------- 2025/distribution-locations/meta_data.json | 4 +- 3 files changed, 48 insertions(+), 63 deletions(-) diff --git a/2025/distribution-locations/index.html b/2025/distribution-locations/index.html index 35007a5b..ac0bf6ad 100644 --- a/2025/distribution-locations/index.html +++ b/2025/distribution-locations/index.html @@ -1,12 +1,43 @@ - [PUT THE TITLE OF YOUR CHART HERE] + distribution-locations + + + + + Distribution Map + + + + +

Distribution Map

+ +
+ + + + + + + + + +
@@ -15,46 +46,46 @@ - + > --> - + > --> - + > --> - + > --> - + > --> - + > --> - + > --> diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index ac57251e..8b137891 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -1,47 +1 @@ -// For API and chart documentation please look here: -// https://www.highcharts.com/demo -Highcharts.setOptions({ - chart: { - style: { - fontFamily: 'Georgia, serif' - } - } -}); -Highcharts.chart('chart-div', { - // Setting default colors - colors: [ - '#800000', - '#FFA319', - '#C16622', - '#8F3931', - '#8A9045', - '#58593F', - '#155F83', - '#350E20', - '#47B5FF', - '#FF3399' - ], - - // All code for your chart goes here - title: { - text: '[TITLE]', - align: 'center' - }, - - plotOptions: { - series: { - // PUT PLOT CONFIG OPTIONS HERE SPACE FOR YOUR DATA - } - }, - - series: [ - { - name: '[DATA FIELD NAME]', - label: { - enabled: false - }, - data: [] - } - ] -}); diff --git a/2025/distribution-locations/meta_data.json b/2025/distribution-locations/meta_data.json index 291c7506..13737b80 100644 --- a/2025/distribution-locations/meta_data.json +++ b/2025/distribution-locations/meta_data.json @@ -1,4 +1,4 @@ { - "description": "Describe your visual.", - "title": "Example Visual" + "description": "An updated map of the Chicago Maroon's distribution locations", + "title": "Distribution Locations" } From dd358ebcc037dd15e3478150b2d3ccab7f9dafed Mon Sep 17 00:00:00 2001 From: Jonathan Davidoff Date: Tue, 1 Apr 2025 16:01:09 -0500 Subject: [PATCH 04/40] edits to index.html --- 2025/distribution-locations/index.html | 113 ++++++------------------- 1 file changed, 26 insertions(+), 87 deletions(-) diff --git a/2025/distribution-locations/index.html b/2025/distribution-locations/index.html index ac0bf6ad..0a04312e 100644 --- a/2025/distribution-locations/index.html +++ b/2025/distribution-locations/index.html @@ -1,95 +1,34 @@ - - distribution-locations - - - - - - - - - - - Distribution Map - + + Building Locations Map - - -

Distribution Map

- + + +
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - + + - - + + - - - - - + + + From 0fa214aa9dd3acd89b77c6c68dce0a44d166239a Mon Sep 17 00:00:00 2001 From: jdavidoff26 <146680538+jdavidoff26@users.noreply.github.com> Date: Tue, 1 Apr 2025 16:02:28 -0500 Subject: [PATCH 05/40] Add files via upload --- ...Distirbution of Maroon Papers - Sheet1.csv | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 2025/distribution-locations/Locations Of Distirbution of Maroon Papers - Sheet1.csv diff --git a/2025/distribution-locations/Locations Of Distirbution of Maroon Papers - Sheet1.csv b/2025/distribution-locations/Locations Of Distirbution of Maroon Papers - Sheet1.csv new file mode 100644 index 00000000..67bf1e97 --- /dev/null +++ b/2025/distribution-locations/Locations Of Distirbution of Maroon Papers - Sheet1.csv @@ -0,0 +1,36 @@ + Building Name,Address,Latitude,Longitude,General Notes +Arley D Cathey Dining Commons,"6025 S Ellis Ave, Chicago, IL 60637",41.78530807,-87.60038752, +Baker Dining Hall,"5501 S University Ave, Chicago, IL 60637",41.79460805,-87.59853524, +Bartlett Dining Hall,"Bartlett Dining Commons, Chicago, IL 60637",41.79209186,-87.59825325, +Cafe 53,"1369 E 53rd St, Chicago, IL 60615",41.79950073,-87.59241523, +Campus North Dormitory,"5500 S University Ave, Chicago, IL 60637",41.79472825,-87.59839296, +Center for Environmental and Urban Studies,"5848 S University Ave, Chicago, IL 60637",41.78855296,-87.59816399, +Chicago Maroon Office,"Ida Noyes Hall, 1212 E 59th St, Chicago, IL 60637",41.78813297,-87.59560119, +Cobb Hall,"5811 S Ellis Ave, Chicago, IL 60637",41.78912416,-87.60087036, +Crerar Library,"5730 S Ellis Ave, Chicago, IL 60637",41.79065996,-87.60287546, +Harper Library,"1116 E 59th St, Chicago, IL 60637",41.78809116,-87.59963425, +Hutchinson Commons,"Hutchinson Commons, Chicago, IL 60637",41.79133035,-87.59865383, +Hutchinson Commons,"Hutchinson Commons, Chicago, IL 60637",41.79136235,-87.5987182, +Ida Noyes Hall,"Ida Noyes Hall, 1212 E 59th St, Chicago, IL 60637",41.78812697,-87.59559407, +International House,"1414 E 59th St, Chicago, IL 60637",41.78861562,-87.591124, +Logan Center for the Arts,"915 E 60th St, Chicago, IL 60637",41.78572927,-87.6038694, +Max P Central,"1101 E 56th St, Chicago, IL 60637",41.79309676,-87.59989302,Central +Max P East,"1101 E 56th St, Chicago, IL 60637",41.79309676,-87.59989302,East +Max P West,"1101 E 56th St, Chicago, IL 60637",41.79309676,-87.59989302,West +Medici,"1327-1331, 1327 E 57th St, Chicago, IL 60637",41.79135596,-87.59369253, +Philz Coffee,"1425 E 53rd St, Chicago, IL 60615",41.79996809,-87.59056214, +Quadrangle Club,"1155 E 57th St, Chicago, IL 60637",41.79106705,-87.5976016, +Ratner Athletic Center,"5530 S Ellis Ave, Chicago, IL 60637",41.79425466,-87.60161306, +Regenstein Library,"1100 E 57th St, Chicago, IL 60637",41.79238296,-87.60003983, +Renee Granville-Grossman Residential Commons,"6031 S Ellis Ave, Chicago, IL 60637",41.78472557,-87.60040261, +Saieh Hall,"5757 S University Ave, Chicago, IL 60637",41.79000616,-87.59728728, +SemCoOp,"5751 S Woodlawn Ave, Chicago, IL 60637",41.79024926,-87.59614453, +Snell-Hitchcock,"1009 E 57th St, Chicago, IL 60637",41.79122476,-87.6005054, +Starbucks (53rd),"1530 E 53rd St, Chicago, IL 60615",41.80031839,-87.58764545, +Starbucks (55th),"1174 E 55th St, Chicago, IL 60615",41.79592543,-87.59605769, +Stuart Hall,"5835 S Greenwood Ave, Chicago, IL 60637",41.78856856,-87.59904566, +The Study UChicago,"1227 E 60th St, Chicago, IL 60637",41.78609407,-87.59516549, +UChicago Institute of Politics,"5707 S Woodlawn Ave, Chicago, IL 60637",41.79135305,-87.59618759, +Woodlawn Dining Commons,"University of Chicago, 1156 E 61st St, Chicago, IL 60637",41.78490417,-87.59720576, +Woodlawn Residential Commons,"1156 E 61st St, Chicago, IL 60637",41.78445557,-87.5971699, +Booth School of Business,"5807 S Woodlawn Ave, Chicago, IL 60637",41.78994463,-87.59632936, \ No newline at end of file From e6cef8f8992a582e4e846b60aca053fe51c93ce9 Mon Sep 17 00:00:00 2001 From: Jonathan Davidoff Date: Tue, 1 Apr 2025 16:07:12 -0500 Subject: [PATCH 06/40] renamed locations file --- 2025/distribution-locations/locations.csv | 36 +++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 2025/distribution-locations/locations.csv diff --git a/2025/distribution-locations/locations.csv b/2025/distribution-locations/locations.csv new file mode 100644 index 00000000..67bf1e97 --- /dev/null +++ b/2025/distribution-locations/locations.csv @@ -0,0 +1,36 @@ + Building Name,Address,Latitude,Longitude,General Notes +Arley D Cathey Dining Commons,"6025 S Ellis Ave, Chicago, IL 60637",41.78530807,-87.60038752, +Baker Dining Hall,"5501 S University Ave, Chicago, IL 60637",41.79460805,-87.59853524, +Bartlett Dining Hall,"Bartlett Dining Commons, Chicago, IL 60637",41.79209186,-87.59825325, +Cafe 53,"1369 E 53rd St, Chicago, IL 60615",41.79950073,-87.59241523, +Campus North Dormitory,"5500 S University Ave, Chicago, IL 60637",41.79472825,-87.59839296, +Center for Environmental and Urban Studies,"5848 S University Ave, Chicago, IL 60637",41.78855296,-87.59816399, +Chicago Maroon Office,"Ida Noyes Hall, 1212 E 59th St, Chicago, IL 60637",41.78813297,-87.59560119, +Cobb Hall,"5811 S Ellis Ave, Chicago, IL 60637",41.78912416,-87.60087036, +Crerar Library,"5730 S Ellis Ave, Chicago, IL 60637",41.79065996,-87.60287546, +Harper Library,"1116 E 59th St, Chicago, IL 60637",41.78809116,-87.59963425, +Hutchinson Commons,"Hutchinson Commons, Chicago, IL 60637",41.79133035,-87.59865383, +Hutchinson Commons,"Hutchinson Commons, Chicago, IL 60637",41.79136235,-87.5987182, +Ida Noyes Hall,"Ida Noyes Hall, 1212 E 59th St, Chicago, IL 60637",41.78812697,-87.59559407, +International House,"1414 E 59th St, Chicago, IL 60637",41.78861562,-87.591124, +Logan Center for the Arts,"915 E 60th St, Chicago, IL 60637",41.78572927,-87.6038694, +Max P Central,"1101 E 56th St, Chicago, IL 60637",41.79309676,-87.59989302,Central +Max P East,"1101 E 56th St, Chicago, IL 60637",41.79309676,-87.59989302,East +Max P West,"1101 E 56th St, Chicago, IL 60637",41.79309676,-87.59989302,West +Medici,"1327-1331, 1327 E 57th St, Chicago, IL 60637",41.79135596,-87.59369253, +Philz Coffee,"1425 E 53rd St, Chicago, IL 60615",41.79996809,-87.59056214, +Quadrangle Club,"1155 E 57th St, Chicago, IL 60637",41.79106705,-87.5976016, +Ratner Athletic Center,"5530 S Ellis Ave, Chicago, IL 60637",41.79425466,-87.60161306, +Regenstein Library,"1100 E 57th St, Chicago, IL 60637",41.79238296,-87.60003983, +Renee Granville-Grossman Residential Commons,"6031 S Ellis Ave, Chicago, IL 60637",41.78472557,-87.60040261, +Saieh Hall,"5757 S University Ave, Chicago, IL 60637",41.79000616,-87.59728728, +SemCoOp,"5751 S Woodlawn Ave, Chicago, IL 60637",41.79024926,-87.59614453, +Snell-Hitchcock,"1009 E 57th St, Chicago, IL 60637",41.79122476,-87.6005054, +Starbucks (53rd),"1530 E 53rd St, Chicago, IL 60615",41.80031839,-87.58764545, +Starbucks (55th),"1174 E 55th St, Chicago, IL 60615",41.79592543,-87.59605769, +Stuart Hall,"5835 S Greenwood Ave, Chicago, IL 60637",41.78856856,-87.59904566, +The Study UChicago,"1227 E 60th St, Chicago, IL 60637",41.78609407,-87.59516549, +UChicago Institute of Politics,"5707 S Woodlawn Ave, Chicago, IL 60637",41.79135305,-87.59618759, +Woodlawn Dining Commons,"University of Chicago, 1156 E 61st St, Chicago, IL 60637",41.78490417,-87.59720576, +Woodlawn Residential Commons,"1156 E 61st St, Chicago, IL 60637",41.78445557,-87.5971699, +Booth School of Business,"5807 S Woodlawn Ave, Chicago, IL 60637",41.78994463,-87.59632936, \ No newline at end of file From 9f0ce0c7093e22c30e0a35aa75ec25f16007330d Mon Sep 17 00:00:00 2001 From: Jonathan Davidoff Date: Tue, 1 Apr 2025 16:08:27 -0500 Subject: [PATCH 07/40] Rename CSV file to locations.csv --- ...Distirbution of Maroon Papers - Sheet1.csv | 36 ------------------- 1 file changed, 36 deletions(-) delete mode 100644 2025/distribution-locations/Locations Of Distirbution of Maroon Papers - Sheet1.csv diff --git a/2025/distribution-locations/Locations Of Distirbution of Maroon Papers - Sheet1.csv b/2025/distribution-locations/Locations Of Distirbution of Maroon Papers - Sheet1.csv deleted file mode 100644 index 67bf1e97..00000000 --- a/2025/distribution-locations/Locations Of Distirbution of Maroon Papers - Sheet1.csv +++ /dev/null @@ -1,36 +0,0 @@ - Building Name,Address,Latitude,Longitude,General Notes -Arley D Cathey Dining Commons,"6025 S Ellis Ave, Chicago, IL 60637",41.78530807,-87.60038752, -Baker Dining Hall,"5501 S University Ave, Chicago, IL 60637",41.79460805,-87.59853524, -Bartlett Dining Hall,"Bartlett Dining Commons, Chicago, IL 60637",41.79209186,-87.59825325, -Cafe 53,"1369 E 53rd St, Chicago, IL 60615",41.79950073,-87.59241523, -Campus North Dormitory,"5500 S University Ave, Chicago, IL 60637",41.79472825,-87.59839296, -Center for Environmental and Urban Studies,"5848 S University Ave, Chicago, IL 60637",41.78855296,-87.59816399, -Chicago Maroon Office,"Ida Noyes Hall, 1212 E 59th St, Chicago, IL 60637",41.78813297,-87.59560119, -Cobb Hall,"5811 S Ellis Ave, Chicago, IL 60637",41.78912416,-87.60087036, -Crerar Library,"5730 S Ellis Ave, Chicago, IL 60637",41.79065996,-87.60287546, -Harper Library,"1116 E 59th St, Chicago, IL 60637",41.78809116,-87.59963425, -Hutchinson Commons,"Hutchinson Commons, Chicago, IL 60637",41.79133035,-87.59865383, -Hutchinson Commons,"Hutchinson Commons, Chicago, IL 60637",41.79136235,-87.5987182, -Ida Noyes Hall,"Ida Noyes Hall, 1212 E 59th St, Chicago, IL 60637",41.78812697,-87.59559407, -International House,"1414 E 59th St, Chicago, IL 60637",41.78861562,-87.591124, -Logan Center for the Arts,"915 E 60th St, Chicago, IL 60637",41.78572927,-87.6038694, -Max P Central,"1101 E 56th St, Chicago, IL 60637",41.79309676,-87.59989302,Central -Max P East,"1101 E 56th St, Chicago, IL 60637",41.79309676,-87.59989302,East -Max P West,"1101 E 56th St, Chicago, IL 60637",41.79309676,-87.59989302,West -Medici,"1327-1331, 1327 E 57th St, Chicago, IL 60637",41.79135596,-87.59369253, -Philz Coffee,"1425 E 53rd St, Chicago, IL 60615",41.79996809,-87.59056214, -Quadrangle Club,"1155 E 57th St, Chicago, IL 60637",41.79106705,-87.5976016, -Ratner Athletic Center,"5530 S Ellis Ave, Chicago, IL 60637",41.79425466,-87.60161306, -Regenstein Library,"1100 E 57th St, Chicago, IL 60637",41.79238296,-87.60003983, -Renee Granville-Grossman Residential Commons,"6031 S Ellis Ave, Chicago, IL 60637",41.78472557,-87.60040261, -Saieh Hall,"5757 S University Ave, Chicago, IL 60637",41.79000616,-87.59728728, -SemCoOp,"5751 S Woodlawn Ave, Chicago, IL 60637",41.79024926,-87.59614453, -Snell-Hitchcock,"1009 E 57th St, Chicago, IL 60637",41.79122476,-87.6005054, -Starbucks (53rd),"1530 E 53rd St, Chicago, IL 60615",41.80031839,-87.58764545, -Starbucks (55th),"1174 E 55th St, Chicago, IL 60615",41.79592543,-87.59605769, -Stuart Hall,"5835 S Greenwood Ave, Chicago, IL 60637",41.78856856,-87.59904566, -The Study UChicago,"1227 E 60th St, Chicago, IL 60637",41.78609407,-87.59516549, -UChicago Institute of Politics,"5707 S Woodlawn Ave, Chicago, IL 60637",41.79135305,-87.59618759, -Woodlawn Dining Commons,"University of Chicago, 1156 E 61st St, Chicago, IL 60637",41.78490417,-87.59720576, -Woodlawn Residential Commons,"1156 E 61st St, Chicago, IL 60637",41.78445557,-87.5971699, -Booth School of Business,"5807 S Woodlawn Ave, Chicago, IL 60637",41.78994463,-87.59632936, \ No newline at end of file From 0ed2d036c4b5351086037dc3ae11742c94d82ddb Mon Sep 17 00:00:00 2001 From: Jonathan Davidoff Date: Tue, 1 Apr 2025 16:10:09 -0500 Subject: [PATCH 08/40] updates to both files --- 2025/distribution-locations/index.html | 2 +- 2025/distribution-locations/main.js | 51 ++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/2025/distribution-locations/index.html b/2025/distribution-locations/index.html index 0a04312e..5e800b46 100644 --- a/2025/distribution-locations/index.html +++ b/2025/distribution-locations/index.html @@ -22,7 +22,7 @@
- + diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index 8b137891..acf1d848 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -1 +1,52 @@ +// Global variables for map and infoWindow +let map; +let infoWindow; + +// Initialize the map +function initMap() { + // Create the map centered at an arbitrary location (update as needed) + map = new google.maps.Map(document.getElementById("map"), { + zoom: 14, + center: { lat: 41.79, lng: -87.59 }, + mapTypeId: "terrain" + }); + + // Create a single info window to be reused + infoWindow = new google.maps.InfoWindow(); + + // Parse the CSV file + Papa.parse("locations.csv", { + download: true, + header: true, // Use first row as header + complete: function(results) { + // Loop over each row in the CSV + results.data.forEach(row => { + // Convert latitude and longitude to float values + let lat = parseFloat(row["Latitude"]); + let lng = parseFloat(row["Longitude"]); + + // Create a marker for this location + let marker = new google.maps.Marker({ + position: { lat: lat, lng: lng }, + map: map, + title: row["Building Name"] + }); + + // Create the content for the info window with building name and address + let content = ` +
+

${row["Building Name"]}

+

${row["Address"]}

+
+ `; + + // Add a click listener to show the info window when the marker is clicked + marker.addListener("click", function() { + infoWindow.setContent(content); + infoWindow.open(map, marker); + }); + }); + } + }); +} \ No newline at end of file From f52413d6a2d748d375d4587b9c00eb503884fb4c Mon Sep 17 00:00:00 2001 From: Jonathan Davidoff Date: Tue, 1 Apr 2025 16:12:39 -0500 Subject: [PATCH 09/40] styling updates --- 2025/distribution-locations/index.html | 61 +- 2025/distribution-locations/main.js | 75 +- maroon-map/package-lock.json | 1522 ++++++++++++------------ maroon-map/package.json | 28 +- 4 files changed, 844 insertions(+), 842 deletions(-) diff --git a/2025/distribution-locations/index.html b/2025/distribution-locations/index.html index 5e800b46..c531758a 100644 --- a/2025/distribution-locations/index.html +++ b/2025/distribution-locations/index.html @@ -1,34 +1,37 @@ - - Building Locations Map - - - - -
+ + Building Locations Map + + + + +
- - + + - - + + - - - + + + diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index acf1d848..7e1b2b0f 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -1,52 +1,51 @@ - // Global variables for map and infoWindow let map; let infoWindow; // Initialize the map function initMap() { - // Create the map centered at an arbitrary location (update as needed) - map = new google.maps.Map(document.getElementById("map"), { - zoom: 14, - center: { lat: 41.79, lng: -87.59 }, - mapTypeId: "terrain" - }); + // Create the map centered at an arbitrary location (update as needed) + map = new google.maps.Map(document.getElementById('map'), { + zoom: 14, + center: { lat: 41.79, lng: -87.59 }, + mapTypeId: 'terrain' + }); - // Create a single info window to be reused - infoWindow = new google.maps.InfoWindow(); + // Create a single info window to be reused + infoWindow = new google.maps.InfoWindow(); - // Parse the CSV file - Papa.parse("locations.csv", { - download: true, - header: true, // Use first row as header - complete: function(results) { - // Loop over each row in the CSV - results.data.forEach(row => { - // Convert latitude and longitude to float values - let lat = parseFloat(row["Latitude"]); - let lng = parseFloat(row["Longitude"]); + // Parse the CSV file + Papa.parse('locations.csv', { + download: true, + header: true, // Use first row as header + complete: function (results) { + // Loop over each row in the CSV + results.data.forEach((row) => { + // Convert latitude and longitude to float values + let lat = parseFloat(row['Latitude']); + let lng = parseFloat(row['Longitude']); - // Create a marker for this location - let marker = new google.maps.Marker({ - position: { lat: lat, lng: lng }, - map: map, - title: row["Building Name"] - }); + // Create a marker for this location + let marker = new google.maps.Marker({ + position: { lat: lat, lng: lng }, + map: map, + title: row['Building Name'] + }); - // Create the content for the info window with building name and address - let content = ` + // Create the content for the info window with building name and address + let content = `
-

${row["Building Name"]}

-

${row["Address"]}

+

${row['Building Name']}

+

${row['Address']}

`; - // Add a click listener to show the info window when the marker is clicked - marker.addListener("click", function() { - infoWindow.setContent(content); - infoWindow.open(map, marker); - }); - }); - } - }); -} \ No newline at end of file + // Add a click listener to show the info window when the marker is clicked + marker.addListener('click', function () { + infoWindow.setContent(content); + infoWindow.open(map, marker); + }); + }); + } + }); +} diff --git a/maroon-map/package-lock.json b/maroon-map/package-lock.json index 97d8aeb3..f55dc1b0 100644 --- a/maroon-map/package-lock.json +++ b/maroon-map/package-lock.json @@ -1,765 +1,765 @@ { - "name": "maroon-map", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "maroon-map", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "csv-parser": "^3.2.0", - "express": "^5.1.0" - }, - "devDependencies": {} - }, - "node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/body-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.0", - "http-errors": "^2.0.0", - "iconv-lite": "^0.6.3", - "on-finished": "^2.4.1", - "qs": "^6.14.0", - "raw-body": "^3.0.0", - "type-is": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/content-disposition": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - "engines": { - "node": ">=6.6.0" - } - }, - "node_modules/csv-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/csv-parser/-/csv-parser-3.2.0.tgz", - "integrity": "sha512-fgKbp+AJbn1h2dcAHKIdKNSSjfp43BZZykXsCjzALjKy80VXQNHPFJ6T9Afwdzoj24aMkq8GwDS7KGcDPpejrA==", - "license": "MIT", - "bin": { - "csv-parser": "bin/csv-parser" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", - "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", - "license": "MIT", - "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.0", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/finalhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", - "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", - "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-to-regexp": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", - "engines": { - "node": ">=16" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.6.3", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - "dependencies": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "name": "maroon-map", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "maroon-map", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "csv-parser": "^3.2.0", + "express": "^5.1.0" + }, + "devDependencies": {} + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/csv-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/csv-parser/-/csv-parser-3.2.0.tgz", + "integrity": "sha512-fgKbp+AJbn1h2dcAHKIdKNSSjfp43BZZykXsCjzALjKy80VXQNHPFJ6T9Afwdzoj24aMkq8GwDS7KGcDPpejrA==", + "license": "MIT", + "bin": { + "csv-parser": "bin/csv-parser" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "engines": { + "node": ">=16" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.6.3", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/send": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", - "dependencies": { - "debug": "^4.3.5", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "mime-types": "^3.0.1", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/serve-static": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", - "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", - "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" } - } } diff --git a/maroon-map/package.json b/maroon-map/package.json index 48351683..8cc79070 100644 --- a/maroon-map/package.json +++ b/maroon-map/package.json @@ -1,16 +1,16 @@ { - "name": "maroon-map", - "version": "1.0.0", - "main": "index.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "csv-parser": "^3.2.0", - "express": "^5.1.0" - }, - "description": "" + "name": "maroon-map", + "version": "1.0.0", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "csv-parser": "^3.2.0", + "express": "^5.1.0" + }, + "description": "" } From 54e7fda027ad40579f8a7f9a7d8c60517baea875 Mon Sep 17 00:00:00 2001 From: Jonathan Davidoff Date: Tue, 1 Apr 2025 16:15:16 -0500 Subject: [PATCH 10/40] html file created --- 2025/distribution-locations/distribution-locations.min.html | 1 + 1 file changed, 1 insertion(+) create mode 100644 2025/distribution-locations/distribution-locations.min.html diff --git a/2025/distribution-locations/distribution-locations.min.html b/2025/distribution-locations/distribution-locations.min.html new file mode 100644 index 00000000..ed9a22b3 --- /dev/null +++ b/2025/distribution-locations/distribution-locations.min.html @@ -0,0 +1 @@ +Building Locations Map
From a0cb24e37e573b99285d8a1f3e0e96b68b187b82 Mon Sep 17 00:00:00 2001 From: jdavidoff26 <146680538+jdavidoff26@users.noreply.github.com> Date: Tue, 1 Apr 2025 16:19:00 -0500 Subject: [PATCH 11/40] Update distribution-locations.min.html --- 2025/distribution-locations/distribution-locations.min.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2025/distribution-locations/distribution-locations.min.html b/2025/distribution-locations/distribution-locations.min.html index ed9a22b3..307534dc 100644 --- a/2025/distribution-locations/distribution-locations.min.html +++ b/2025/distribution-locations/distribution-locations.min.html @@ -1 +1 @@ -Building Locations Map
+Chicago Maroon Distribution Locations Map
From 9308107f68002c5e9026de990090e18aba965588 Mon Sep 17 00:00:00 2001 From: Jonathan Davidoff Date: Tue, 1 Apr 2025 16:24:12 -0500 Subject: [PATCH 12/40] updates --- 2025/distribution-locations/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index 7e1b2b0f..34912aa8 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -15,7 +15,7 @@ function initMap() { infoWindow = new google.maps.InfoWindow(); // Parse the CSV file - Papa.parse('locations.csv', { + Papa.parse('./distribution-locations/locations.csv', { download: true, header: true, // Use first row as header complete: function (results) { From bc1b55c40de26c2700f1695e5886b0eb280d267f Mon Sep 17 00:00:00 2001 From: Jonathan Davidoff Date: Tue, 1 Apr 2025 17:13:27 -0500 Subject: [PATCH 13/40] update --- 2025/distribution-locations/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index 34912aa8..7e1b2b0f 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -15,7 +15,7 @@ function initMap() { infoWindow = new google.maps.InfoWindow(); // Parse the CSV file - Papa.parse('./distribution-locations/locations.csv', { + Papa.parse('locations.csv', { download: true, header: true, // Use first row as header complete: function (results) { From 12821aada02d5d21d67dfa255cd768b86c6fe634 Mon Sep 17 00:00:00 2001 From: Jonathan Davidoff Date: Wed, 2 Apr 2025 14:00:45 -0500 Subject: [PATCH 14/40] edited CSV --- 2025/distribution-locations/locations.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2025/distribution-locations/locations.csv b/2025/distribution-locations/locations.csv index 67bf1e97..ecbf0298 100644 --- a/2025/distribution-locations/locations.csv +++ b/2025/distribution-locations/locations.csv @@ -1,4 +1,4 @@ - Building Name,Address,Latitude,Longitude,General Notes +Building Name,Address,Latitude,Longitude,General Notes Arley D Cathey Dining Commons,"6025 S Ellis Ave, Chicago, IL 60637",41.78530807,-87.60038752, Baker Dining Hall,"5501 S University Ave, Chicago, IL 60637",41.79460805,-87.59853524, Bartlett Dining Hall,"Bartlett Dining Commons, Chicago, IL 60637",41.79209186,-87.59825325, From 03cc9540ff38f3a173512e8a72e841496575e874 Mon Sep 17 00:00:00 2001 From: JJ Date: Fri, 4 Apr 2025 01:16:33 -0500 Subject: [PATCH 15/40] Title added to graphic --- 2025/distribution-locations/index.html | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/2025/distribution-locations/index.html b/2025/distribution-locations/index.html index c531758a..2200fe6e 100644 --- a/2025/distribution-locations/index.html +++ b/2025/distribution-locations/index.html @@ -2,20 +2,28 @@ Building Locations Map From f36ac682f4df000479c2f4acd7996269a01e7d30 Mon Sep 17 00:00:00 2001 From: jdavidoff26 <146680538+jdavidoff26@users.noreply.github.com> Date: Wed, 9 Apr 2025 15:52:11 -0500 Subject: [PATCH 16/40] Add files via upload --- ... Distribution Audit 2024-2025 - Sheet1.csv | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv diff --git a/2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv b/2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv new file mode 100644 index 00000000..464b1cd6 --- /dev/null +++ b/2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv @@ -0,0 +1,39 @@ +Name,Location ,Person,Date Checked,# of Issues Left,Notes,,Comment +Arley D Cathey Dining Commons,6031 S Ellis Ave,,,,,, +Baker Dining Hall,"5501 S University Ave, Chicago, IL 60637",,,,,, +Bartlett Dining Hall,"5640 S University, Chicago IL 60637",,,,,,Box in lobby +Cafe 53,"1369 E 53rd St, Chicago, IL 60615",,,,,,Lobby +Campus North Dormitory,"5500 S University Ave, Chicago, IL 60637",,,,,,Hand to Front Desk +Center for Environmental and Urban Studies,"1155 E 60th St, Chicago, IL 60637",,,,,,Lobby +Chicago Maroon Office,"1212 E 59th St Chicago IL 60637 (Basement, or leave with front desk)",,,,,,Lobby +Cobb Hall,"5811 S Ellis Ave, Chicago, IL 60637",,,,,,Lobby +Crerar Library,"5730 S Ellis Ave, Chicago IL 60637",,,,,,Box in lobby +Harper Library,"1116 E 59th St, Chicago, IL 60637",,,,,,Lobby +Hutchinson Commons,"5706 S University, Chicago IL 60636",,,,,,Box on first floor +Hutchinson Commons,"1226 E 53rd St, Chicago IL 60615",,,,,,Lobby +Ida Noyes Hall,"1212 E 59th St, Chicago IL 60637",,,,,,Box on 2nd floor +International House,"1414 E 59th St, Chicago IL 60637",,,,,,Lobby +Jimmy's Woodlawn Tap,"1519 E 55th St, Chicago IL 60637",,,,,,Lobby +Logan Center for the Arts,"915 E 60th St, Chicago IL 60637",,,,,,Lobby +Max P Central,"1101 E 56th St, Chicago, IL 60637",,,,,,Box in lobby +Max P East,"1101 E 56th St, Chicago, IL 60637",,,,,,Lobby +Max P West,"1101 E 56th St, Chicago, IL 60637",,,,,,Lobby +Medici,"1327 E 57th St, Chicago, IL 60637",,,,,,Store +Philz Coffee,1425 E 53rd St Chicago IL 60615,,,,,,Lobby +Quadrangle Club,"1155 E 57th St, Chicago IL 60637",,,,,,Wall-mounted box in Cafe +Ratner Athletic Center,"5530 S Ellis Ave, Chicago IL 60637",,,,,,Lobby +Regenstein Library ,"1100 E 57th St, Chicago, IL 60637",,,,,,Box in basement +Renee Granville-Grossman Residential Commons,6031 S Ellis Ave,,,,,,Lobby +Saieh Hall ,"5757 S University Ave, Chicago IL 60637",,1/17,42,,,Lobby +SemCoOp,"5751 S Woodlawn Ave, Chicago, IL 60637",,,,,,1st floor +Snell-Hitchcock,"1009 E 57th St, Chicago IL 60637",,,,,,Lobby +Starbucks (53rd),1530 E 53rd St Chicago IL 60615,,,,,, +Starbucks (55th),"1174 E 55th St, Chicago IL 60615",,,,,, +Stuart Hall,"5835 S Greenwood Ave, Chicago IL 60637",,,15,,, +The Study UChicago,1227 East 60th Street,,,,,, +Trader Joe's,"1528 E 55th St, Chicago IL 60615",,,,,, +UChicago Institute of Politics,"5707 S Woodlawn, Chicago IL 60637",,,,,, +Woodlawn Dining Commons,1156 E 61st Street Chicago IL 60615,,,,,, +Woodlawn Residential Commons,1156 E 61st Street Chicago IL 60615,,,,,, +Booth School of Business,"5807 S Woodlawn Ave, Chicago, IL 60637",,,,,, +Harris Cafe in The Keller Center,"1307 E 60th St Chicago, IL 60637",Nathan,1/16/24,0,"Need to recheck next issue, either all gone or none in the first place",, \ No newline at end of file From 05236e45954fcd6417fcde7ebe2c859f45f45f6b Mon Sep 17 00:00:00 2001 From: jdavidoff26 <146680538+jdavidoff26@users.noreply.github.com> Date: Wed, 9 Apr 2025 15:53:17 -0500 Subject: [PATCH 17/40] Update and rename Copy of Distribution Audit 2024-2025 - Sheet1.csv to locations_updated.csv --- ...ution Audit 2024-2025 - Sheet1.csv => locations_updated.csv} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename 2025/distribution-locations/{Copy of Distribution Audit 2024-2025 - Sheet1.csv => locations_updated.csv} (97%) diff --git a/2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv b/2025/distribution-locations/locations_updated.csv similarity index 97% rename from 2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv rename to 2025/distribution-locations/locations_updated.csv index 464b1cd6..47170b02 100644 --- a/2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv +++ b/2025/distribution-locations/locations_updated.csv @@ -36,4 +36,4 @@ UChicago Institute of Politics,"5707 S Woodlawn, Chicago IL 60637",,,,,, Woodlawn Dining Commons,1156 E 61st Street Chicago IL 60615,,,,,, Woodlawn Residential Commons,1156 E 61st Street Chicago IL 60615,,,,,, Booth School of Business,"5807 S Woodlawn Ave, Chicago, IL 60637",,,,,, -Harris Cafe in The Keller Center,"1307 E 60th St Chicago, IL 60637",Nathan,1/16/24,0,"Need to recheck next issue, either all gone or none in the first place",, \ No newline at end of file +Harris Cafe in The Keller Center,"1307 E 60th St Chicago, IL 60637",Nathan,1/16/24,0,"Need to recheck next issue, either all gone or none in the first place",, From 07c092f7a15126578d640e8e480f64fdf5f457b7 Mon Sep 17 00:00:00 2001 From: JJ Date: Wed, 9 Apr 2025 15:54:10 -0500 Subject: [PATCH 18/40] adding updated dist locations csv --- ... Distribution Audit 2024-2025 - Sheet1.csv | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv diff --git a/2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv b/2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv new file mode 100644 index 00000000..464b1cd6 --- /dev/null +++ b/2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv @@ -0,0 +1,39 @@ +Name,Location ,Person,Date Checked,# of Issues Left,Notes,,Comment +Arley D Cathey Dining Commons,6031 S Ellis Ave,,,,,, +Baker Dining Hall,"5501 S University Ave, Chicago, IL 60637",,,,,, +Bartlett Dining Hall,"5640 S University, Chicago IL 60637",,,,,,Box in lobby +Cafe 53,"1369 E 53rd St, Chicago, IL 60615",,,,,,Lobby +Campus North Dormitory,"5500 S University Ave, Chicago, IL 60637",,,,,,Hand to Front Desk +Center for Environmental and Urban Studies,"1155 E 60th St, Chicago, IL 60637",,,,,,Lobby +Chicago Maroon Office,"1212 E 59th St Chicago IL 60637 (Basement, or leave with front desk)",,,,,,Lobby +Cobb Hall,"5811 S Ellis Ave, Chicago, IL 60637",,,,,,Lobby +Crerar Library,"5730 S Ellis Ave, Chicago IL 60637",,,,,,Box in lobby +Harper Library,"1116 E 59th St, Chicago, IL 60637",,,,,,Lobby +Hutchinson Commons,"5706 S University, Chicago IL 60636",,,,,,Box on first floor +Hutchinson Commons,"1226 E 53rd St, Chicago IL 60615",,,,,,Lobby +Ida Noyes Hall,"1212 E 59th St, Chicago IL 60637",,,,,,Box on 2nd floor +International House,"1414 E 59th St, Chicago IL 60637",,,,,,Lobby +Jimmy's Woodlawn Tap,"1519 E 55th St, Chicago IL 60637",,,,,,Lobby +Logan Center for the Arts,"915 E 60th St, Chicago IL 60637",,,,,,Lobby +Max P Central,"1101 E 56th St, Chicago, IL 60637",,,,,,Box in lobby +Max P East,"1101 E 56th St, Chicago, IL 60637",,,,,,Lobby +Max P West,"1101 E 56th St, Chicago, IL 60637",,,,,,Lobby +Medici,"1327 E 57th St, Chicago, IL 60637",,,,,,Store +Philz Coffee,1425 E 53rd St Chicago IL 60615,,,,,,Lobby +Quadrangle Club,"1155 E 57th St, Chicago IL 60637",,,,,,Wall-mounted box in Cafe +Ratner Athletic Center,"5530 S Ellis Ave, Chicago IL 60637",,,,,,Lobby +Regenstein Library ,"1100 E 57th St, Chicago, IL 60637",,,,,,Box in basement +Renee Granville-Grossman Residential Commons,6031 S Ellis Ave,,,,,,Lobby +Saieh Hall ,"5757 S University Ave, Chicago IL 60637",,1/17,42,,,Lobby +SemCoOp,"5751 S Woodlawn Ave, Chicago, IL 60637",,,,,,1st floor +Snell-Hitchcock,"1009 E 57th St, Chicago IL 60637",,,,,,Lobby +Starbucks (53rd),1530 E 53rd St Chicago IL 60615,,,,,, +Starbucks (55th),"1174 E 55th St, Chicago IL 60615",,,,,, +Stuart Hall,"5835 S Greenwood Ave, Chicago IL 60637",,,15,,, +The Study UChicago,1227 East 60th Street,,,,,, +Trader Joe's,"1528 E 55th St, Chicago IL 60615",,,,,, +UChicago Institute of Politics,"5707 S Woodlawn, Chicago IL 60637",,,,,, +Woodlawn Dining Commons,1156 E 61st Street Chicago IL 60615,,,,,, +Woodlawn Residential Commons,1156 E 61st Street Chicago IL 60615,,,,,, +Booth School of Business,"5807 S Woodlawn Ave, Chicago, IL 60637",,,,,, +Harris Cafe in The Keller Center,"1307 E 60th St Chicago, IL 60637",Nathan,1/16/24,0,"Need to recheck next issue, either all gone or none in the first place",, \ No newline at end of file From 25b430e57ec25d8ae22aa1454df00c1fe9942468 Mon Sep 17 00:00:00 2001 From: JJ Date: Wed, 9 Apr 2025 16:03:17 -0500 Subject: [PATCH 19/40] added comments row in main.js --- ... Distribution Audit 2024-2025 - Sheet1.csv | 39 ------------------- 2025/distribution-locations/main.js | 5 ++- 2 files changed, 3 insertions(+), 41 deletions(-) delete mode 100644 2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv diff --git a/2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv b/2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv deleted file mode 100644 index 464b1cd6..00000000 --- a/2025/distribution-locations/Copy of Distribution Audit 2024-2025 - Sheet1.csv +++ /dev/null @@ -1,39 +0,0 @@ -Name,Location ,Person,Date Checked,# of Issues Left,Notes,,Comment -Arley D Cathey Dining Commons,6031 S Ellis Ave,,,,,, -Baker Dining Hall,"5501 S University Ave, Chicago, IL 60637",,,,,, -Bartlett Dining Hall,"5640 S University, Chicago IL 60637",,,,,,Box in lobby -Cafe 53,"1369 E 53rd St, Chicago, IL 60615",,,,,,Lobby -Campus North Dormitory,"5500 S University Ave, Chicago, IL 60637",,,,,,Hand to Front Desk -Center for Environmental and Urban Studies,"1155 E 60th St, Chicago, IL 60637",,,,,,Lobby -Chicago Maroon Office,"1212 E 59th St Chicago IL 60637 (Basement, or leave with front desk)",,,,,,Lobby -Cobb Hall,"5811 S Ellis Ave, Chicago, IL 60637",,,,,,Lobby -Crerar Library,"5730 S Ellis Ave, Chicago IL 60637",,,,,,Box in lobby -Harper Library,"1116 E 59th St, Chicago, IL 60637",,,,,,Lobby -Hutchinson Commons,"5706 S University, Chicago IL 60636",,,,,,Box on first floor -Hutchinson Commons,"1226 E 53rd St, Chicago IL 60615",,,,,,Lobby -Ida Noyes Hall,"1212 E 59th St, Chicago IL 60637",,,,,,Box on 2nd floor -International House,"1414 E 59th St, Chicago IL 60637",,,,,,Lobby -Jimmy's Woodlawn Tap,"1519 E 55th St, Chicago IL 60637",,,,,,Lobby -Logan Center for the Arts,"915 E 60th St, Chicago IL 60637",,,,,,Lobby -Max P Central,"1101 E 56th St, Chicago, IL 60637",,,,,,Box in lobby -Max P East,"1101 E 56th St, Chicago, IL 60637",,,,,,Lobby -Max P West,"1101 E 56th St, Chicago, IL 60637",,,,,,Lobby -Medici,"1327 E 57th St, Chicago, IL 60637",,,,,,Store -Philz Coffee,1425 E 53rd St Chicago IL 60615,,,,,,Lobby -Quadrangle Club,"1155 E 57th St, Chicago IL 60637",,,,,,Wall-mounted box in Cafe -Ratner Athletic Center,"5530 S Ellis Ave, Chicago IL 60637",,,,,,Lobby -Regenstein Library ,"1100 E 57th St, Chicago, IL 60637",,,,,,Box in basement -Renee Granville-Grossman Residential Commons,6031 S Ellis Ave,,,,,,Lobby -Saieh Hall ,"5757 S University Ave, Chicago IL 60637",,1/17,42,,,Lobby -SemCoOp,"5751 S Woodlawn Ave, Chicago, IL 60637",,,,,,1st floor -Snell-Hitchcock,"1009 E 57th St, Chicago IL 60637",,,,,,Lobby -Starbucks (53rd),1530 E 53rd St Chicago IL 60615,,,,,, -Starbucks (55th),"1174 E 55th St, Chicago IL 60615",,,,,, -Stuart Hall,"5835 S Greenwood Ave, Chicago IL 60637",,,15,,, -The Study UChicago,1227 East 60th Street,,,,,, -Trader Joe's,"1528 E 55th St, Chicago IL 60615",,,,,, -UChicago Institute of Politics,"5707 S Woodlawn, Chicago IL 60637",,,,,, -Woodlawn Dining Commons,1156 E 61st Street Chicago IL 60615,,,,,, -Woodlawn Residential Commons,1156 E 61st Street Chicago IL 60615,,,,,, -Booth School of Business,"5807 S Woodlawn Ave, Chicago, IL 60637",,,,,, -Harris Cafe in The Keller Center,"1307 E 60th St Chicago, IL 60637",Nathan,1/16/24,0,"Need to recheck next issue, either all gone or none in the first place",, \ No newline at end of file diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index 7e1b2b0f..b2b89e58 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -15,7 +15,7 @@ function initMap() { infoWindow = new google.maps.InfoWindow(); // Parse the CSV file - Papa.parse('locations.csv', { + Papa.parse('locations_updated.csv', { download: true, header: true, // Use first row as header complete: function (results) { @@ -36,7 +36,8 @@ function initMap() { let content = `

${row['Building Name']}

-

${row['Address']}

+

Address: ${row['Address']}

+

Comment: ${row['Comment']}

`; From e95c3378cf994362ea279bdd3cb0aeab9b908fb0 Mon Sep 17 00:00:00 2001 From: jdavidoff26 <146680538+jdavidoff26@users.noreply.github.com> Date: Wed, 9 Apr 2025 16:26:26 -0500 Subject: [PATCH 20/40] New updated locations file --- .../locations_updated.csv | 77 +++++++++---------- 1 file changed, 38 insertions(+), 39 deletions(-) diff --git a/2025/distribution-locations/locations_updated.csv b/2025/distribution-locations/locations_updated.csv index 47170b02..b312c2ff 100644 --- a/2025/distribution-locations/locations_updated.csv +++ b/2025/distribution-locations/locations_updated.csv @@ -1,39 +1,38 @@ -Name,Location ,Person,Date Checked,# of Issues Left,Notes,,Comment -Arley D Cathey Dining Commons,6031 S Ellis Ave,,,,,, -Baker Dining Hall,"5501 S University Ave, Chicago, IL 60637",,,,,, -Bartlett Dining Hall,"5640 S University, Chicago IL 60637",,,,,,Box in lobby -Cafe 53,"1369 E 53rd St, Chicago, IL 60615",,,,,,Lobby -Campus North Dormitory,"5500 S University Ave, Chicago, IL 60637",,,,,,Hand to Front Desk -Center for Environmental and Urban Studies,"1155 E 60th St, Chicago, IL 60637",,,,,,Lobby -Chicago Maroon Office,"1212 E 59th St Chicago IL 60637 (Basement, or leave with front desk)",,,,,,Lobby -Cobb Hall,"5811 S Ellis Ave, Chicago, IL 60637",,,,,,Lobby -Crerar Library,"5730 S Ellis Ave, Chicago IL 60637",,,,,,Box in lobby -Harper Library,"1116 E 59th St, Chicago, IL 60637",,,,,,Lobby -Hutchinson Commons,"5706 S University, Chicago IL 60636",,,,,,Box on first floor -Hutchinson Commons,"1226 E 53rd St, Chicago IL 60615",,,,,,Lobby -Ida Noyes Hall,"1212 E 59th St, Chicago IL 60637",,,,,,Box on 2nd floor -International House,"1414 E 59th St, Chicago IL 60637",,,,,,Lobby -Jimmy's Woodlawn Tap,"1519 E 55th St, Chicago IL 60637",,,,,,Lobby -Logan Center for the Arts,"915 E 60th St, Chicago IL 60637",,,,,,Lobby -Max P Central,"1101 E 56th St, Chicago, IL 60637",,,,,,Box in lobby -Max P East,"1101 E 56th St, Chicago, IL 60637",,,,,,Lobby -Max P West,"1101 E 56th St, Chicago, IL 60637",,,,,,Lobby -Medici,"1327 E 57th St, Chicago, IL 60637",,,,,,Store -Philz Coffee,1425 E 53rd St Chicago IL 60615,,,,,,Lobby -Quadrangle Club,"1155 E 57th St, Chicago IL 60637",,,,,,Wall-mounted box in Cafe -Ratner Athletic Center,"5530 S Ellis Ave, Chicago IL 60637",,,,,,Lobby -Regenstein Library ,"1100 E 57th St, Chicago, IL 60637",,,,,,Box in basement -Renee Granville-Grossman Residential Commons,6031 S Ellis Ave,,,,,,Lobby -Saieh Hall ,"5757 S University Ave, Chicago IL 60637",,1/17,42,,,Lobby -SemCoOp,"5751 S Woodlawn Ave, Chicago, IL 60637",,,,,,1st floor -Snell-Hitchcock,"1009 E 57th St, Chicago IL 60637",,,,,,Lobby -Starbucks (53rd),1530 E 53rd St Chicago IL 60615,,,,,, -Starbucks (55th),"1174 E 55th St, Chicago IL 60615",,,,,, -Stuart Hall,"5835 S Greenwood Ave, Chicago IL 60637",,,15,,, -The Study UChicago,1227 East 60th Street,,,,,, -Trader Joe's,"1528 E 55th St, Chicago IL 60615",,,,,, -UChicago Institute of Politics,"5707 S Woodlawn, Chicago IL 60637",,,,,, -Woodlawn Dining Commons,1156 E 61st Street Chicago IL 60615,,,,,, -Woodlawn Residential Commons,1156 E 61st Street Chicago IL 60615,,,,,, -Booth School of Business,"5807 S Woodlawn Ave, Chicago, IL 60637",,,,,, -Harris Cafe in The Keller Center,"1307 E 60th St Chicago, IL 60637",Nathan,1/16/24,0,"Need to recheck next issue, either all gone or none in the first place",, +Name,Location ,Person,Date Checked,Latitude,Longitude,,Comment +Arley D Cathey Dining Commons,"6031 S Ellis Ave, Chicago, IL 60637",,,41.78530807,-87.60038752,, +Baker Dining Hall,"5501 S University Ave, Chicago, IL 60637",,,41.79460805,-87.59853524,, +Bartlett Dining Hall,"5640 S University, Chicago, IL 60637",,,41.79209186,-87.59825325,,Box in lobby +Cafe 53,"1369 E 53rd St, Chicago, IL 60615",,,41.79950073,-87.59241523,,Lobby +Campus North Dormitory,"5500 S University Ave, Chicago, IL 60637",,,41.79472825,-87.59839296,,Hand to Front Desk +Center for Environmental and Urban Studies,"1155 E 60th St, Chicago, IL 60637",,,41.78855296,-87.59816399,,Lobby +Chicago Maroon Office,"1212 E 59th St, Chicago, IL 60637",,,41.78813297,-87.59560119,,Lobby +Cobb Hall,"5811 S Ellis Ave, Chicago, IL 60637",,,41.78912416,-87.60087036,,Lobby +Crerar Library,"5730 S Ellis Ave, Chicago, IL 60637",,,41.79065996,-87.60287546,,Box in lobby +Harper Library,"1116 E 59th St, Chicago, IL 60637",,,41.78809116,-87.59963425,,Lobby +Hutchinson Commons,"5706 S University, Chicago, IL 60636",,,41.79133035,-87.59865383,,Box on first floor +Ida Noyes Hall,"1212 E 59th St, Chicago, IL 60637",,,41.78812697,-87.59559407,,Box on 2nd floor +International House,"1414 E 59th St, Chicago, IL 60637",,,41.78861562,-87.591124,,Lobby +Jimmy's Woodlawn Tap,"1172 E 55th St, Chicago, IL 60615",,,41.795191,-87.596835,,Lobby +Logan Center for the Arts,"915 E 60th St, Chicago, IL 60637",,,41.78572927,-87.6038694,,Lobby +Max P Central,"1101 E 56th St, Chicago, IL 60637",,,41.79309676,-87.59989302,,Box in lobby +Max P East,"1101 E 56th St, Chicago, IL 60637",,,41.79309676,-87.59989302,,Lobby +Max P West,"1101 E 56th St, Chicago, IL 60637",,,41.79309676,-87.59989302,,Lobby +Medici,"1327 E 57th St, Chicago, IL 60637",,,41.79135596,-87.59369253,,Store +Philz Coffee,"1425 E 53rd St Chicago, IL 60615",,,41.79996809,-87.59056214,,Lobby +Quadrangle Club,"1155 E 57th St, Chicago, IL 60637",,,41.79106705,-87.5976016,,Wall-mounted box in Cafe +Ratner Athletic Center,"5530 S Ellis Ave, Chicago, IL 60637",,,41.79425466,-87.60161306,,Lobby +Regenstein Library ,"1100 E 57th St, Chicago, IL 60637",,,41.79238296,-87.60003983,,Box in basement +Renee Granville-Grossman Residential Commons,"6031 S Ellis Ave, Chicago, IL 60637",,,41.78472557,-87.60040261,,Lobby +Saieh Hall ,"5757 S University Ave, Chicago, IL 60637",,17-Jan,41.79000616,-87.59728728,,Lobby +Seminary Co-Op,"5751 S Woodlawn Ave, Chicago, IL 60637",,,41.79024926,-87.59614453,,1st floor +Snell-Hitchcock,"1009 E 57th St, Chicago, IL 60637",,,41.79122476,-87.6005054,,Lobby +Starbucks (53rd),"1530 E 53rd St, Chicago, IL 60615",,,41.80031839,-87.58764545,, +Starbucks (55th),"1174 E 55th St, Chicago, IL 60615",,,41.79592543,-87.59605769,, +Stuart Hall,"5835 S Greenwood Ave, Chicago, IL 60637",,,41.78856856,-87.59904566,, +The Study UChicago,"1227 East 60th Street, Chicago, IL 60637",,,41.78609407,-87.59516549,, +Trader Joe's,"1528 E 55th St, Chicago, IL 60615",,,41.796506,-87.588394,, +UChicago Institute of Politics,"5707 S Woodlawn, Chicago, IL 60637",,,41.79135305,-87.59618759,, +Woodlawn Dining Commons,"1156 E 61st Street Chicago, IL 60615",,,41.78490417,-87.59720576,, +Woodlawn Residential Commons,"1156 E 61st Street Chicago, IL 60615",,,41.78445557,-87.5971699,, +Booth School of Business,"5807 S Woodlawn Ave, Chicago, IL 60637",,,41.78994463,-87.59632936,, +Harris Cafe in The Keller Center,"1307 E 60th St, Chicago, IL 60637",Nathan,1/16/24,41.785689,-87.594053,, \ No newline at end of file From 1f7ff1beed5af94c2d886f4779a7e6bbfa5cb0f7 Mon Sep 17 00:00:00 2001 From: JJ Date: Wed, 9 Apr 2025 16:29:01 -0500 Subject: [PATCH 21/40] updated locations.csv --- .../locations_updated.csv | 77 +++++++++---------- 1 file changed, 38 insertions(+), 39 deletions(-) diff --git a/2025/distribution-locations/locations_updated.csv b/2025/distribution-locations/locations_updated.csv index 47170b02..b312c2ff 100644 --- a/2025/distribution-locations/locations_updated.csv +++ b/2025/distribution-locations/locations_updated.csv @@ -1,39 +1,38 @@ -Name,Location ,Person,Date Checked,# of Issues Left,Notes,,Comment -Arley D Cathey Dining Commons,6031 S Ellis Ave,,,,,, -Baker Dining Hall,"5501 S University Ave, Chicago, IL 60637",,,,,, -Bartlett Dining Hall,"5640 S University, Chicago IL 60637",,,,,,Box in lobby -Cafe 53,"1369 E 53rd St, Chicago, IL 60615",,,,,,Lobby -Campus North Dormitory,"5500 S University Ave, Chicago, IL 60637",,,,,,Hand to Front Desk -Center for Environmental and Urban Studies,"1155 E 60th St, Chicago, IL 60637",,,,,,Lobby -Chicago Maroon Office,"1212 E 59th St Chicago IL 60637 (Basement, or leave with front desk)",,,,,,Lobby -Cobb Hall,"5811 S Ellis Ave, Chicago, IL 60637",,,,,,Lobby -Crerar Library,"5730 S Ellis Ave, Chicago IL 60637",,,,,,Box in lobby -Harper Library,"1116 E 59th St, Chicago, IL 60637",,,,,,Lobby -Hutchinson Commons,"5706 S University, Chicago IL 60636",,,,,,Box on first floor -Hutchinson Commons,"1226 E 53rd St, Chicago IL 60615",,,,,,Lobby -Ida Noyes Hall,"1212 E 59th St, Chicago IL 60637",,,,,,Box on 2nd floor -International House,"1414 E 59th St, Chicago IL 60637",,,,,,Lobby -Jimmy's Woodlawn Tap,"1519 E 55th St, Chicago IL 60637",,,,,,Lobby -Logan Center for the Arts,"915 E 60th St, Chicago IL 60637",,,,,,Lobby -Max P Central,"1101 E 56th St, Chicago, IL 60637",,,,,,Box in lobby -Max P East,"1101 E 56th St, Chicago, IL 60637",,,,,,Lobby -Max P West,"1101 E 56th St, Chicago, IL 60637",,,,,,Lobby -Medici,"1327 E 57th St, Chicago, IL 60637",,,,,,Store -Philz Coffee,1425 E 53rd St Chicago IL 60615,,,,,,Lobby -Quadrangle Club,"1155 E 57th St, Chicago IL 60637",,,,,,Wall-mounted box in Cafe -Ratner Athletic Center,"5530 S Ellis Ave, Chicago IL 60637",,,,,,Lobby -Regenstein Library ,"1100 E 57th St, Chicago, IL 60637",,,,,,Box in basement -Renee Granville-Grossman Residential Commons,6031 S Ellis Ave,,,,,,Lobby -Saieh Hall ,"5757 S University Ave, Chicago IL 60637",,1/17,42,,,Lobby -SemCoOp,"5751 S Woodlawn Ave, Chicago, IL 60637",,,,,,1st floor -Snell-Hitchcock,"1009 E 57th St, Chicago IL 60637",,,,,,Lobby -Starbucks (53rd),1530 E 53rd St Chicago IL 60615,,,,,, -Starbucks (55th),"1174 E 55th St, Chicago IL 60615",,,,,, -Stuart Hall,"5835 S Greenwood Ave, Chicago IL 60637",,,15,,, -The Study UChicago,1227 East 60th Street,,,,,, -Trader Joe's,"1528 E 55th St, Chicago IL 60615",,,,,, -UChicago Institute of Politics,"5707 S Woodlawn, Chicago IL 60637",,,,,, -Woodlawn Dining Commons,1156 E 61st Street Chicago IL 60615,,,,,, -Woodlawn Residential Commons,1156 E 61st Street Chicago IL 60615,,,,,, -Booth School of Business,"5807 S Woodlawn Ave, Chicago, IL 60637",,,,,, -Harris Cafe in The Keller Center,"1307 E 60th St Chicago, IL 60637",Nathan,1/16/24,0,"Need to recheck next issue, either all gone or none in the first place",, +Name,Location ,Person,Date Checked,Latitude,Longitude,,Comment +Arley D Cathey Dining Commons,"6031 S Ellis Ave, Chicago, IL 60637",,,41.78530807,-87.60038752,, +Baker Dining Hall,"5501 S University Ave, Chicago, IL 60637",,,41.79460805,-87.59853524,, +Bartlett Dining Hall,"5640 S University, Chicago, IL 60637",,,41.79209186,-87.59825325,,Box in lobby +Cafe 53,"1369 E 53rd St, Chicago, IL 60615",,,41.79950073,-87.59241523,,Lobby +Campus North Dormitory,"5500 S University Ave, Chicago, IL 60637",,,41.79472825,-87.59839296,,Hand to Front Desk +Center for Environmental and Urban Studies,"1155 E 60th St, Chicago, IL 60637",,,41.78855296,-87.59816399,,Lobby +Chicago Maroon Office,"1212 E 59th St, Chicago, IL 60637",,,41.78813297,-87.59560119,,Lobby +Cobb Hall,"5811 S Ellis Ave, Chicago, IL 60637",,,41.78912416,-87.60087036,,Lobby +Crerar Library,"5730 S Ellis Ave, Chicago, IL 60637",,,41.79065996,-87.60287546,,Box in lobby +Harper Library,"1116 E 59th St, Chicago, IL 60637",,,41.78809116,-87.59963425,,Lobby +Hutchinson Commons,"5706 S University, Chicago, IL 60636",,,41.79133035,-87.59865383,,Box on first floor +Ida Noyes Hall,"1212 E 59th St, Chicago, IL 60637",,,41.78812697,-87.59559407,,Box on 2nd floor +International House,"1414 E 59th St, Chicago, IL 60637",,,41.78861562,-87.591124,,Lobby +Jimmy's Woodlawn Tap,"1172 E 55th St, Chicago, IL 60615",,,41.795191,-87.596835,,Lobby +Logan Center for the Arts,"915 E 60th St, Chicago, IL 60637",,,41.78572927,-87.6038694,,Lobby +Max P Central,"1101 E 56th St, Chicago, IL 60637",,,41.79309676,-87.59989302,,Box in lobby +Max P East,"1101 E 56th St, Chicago, IL 60637",,,41.79309676,-87.59989302,,Lobby +Max P West,"1101 E 56th St, Chicago, IL 60637",,,41.79309676,-87.59989302,,Lobby +Medici,"1327 E 57th St, Chicago, IL 60637",,,41.79135596,-87.59369253,,Store +Philz Coffee,"1425 E 53rd St Chicago, IL 60615",,,41.79996809,-87.59056214,,Lobby +Quadrangle Club,"1155 E 57th St, Chicago, IL 60637",,,41.79106705,-87.5976016,,Wall-mounted box in Cafe +Ratner Athletic Center,"5530 S Ellis Ave, Chicago, IL 60637",,,41.79425466,-87.60161306,,Lobby +Regenstein Library ,"1100 E 57th St, Chicago, IL 60637",,,41.79238296,-87.60003983,,Box in basement +Renee Granville-Grossman Residential Commons,"6031 S Ellis Ave, Chicago, IL 60637",,,41.78472557,-87.60040261,,Lobby +Saieh Hall ,"5757 S University Ave, Chicago, IL 60637",,17-Jan,41.79000616,-87.59728728,,Lobby +Seminary Co-Op,"5751 S Woodlawn Ave, Chicago, IL 60637",,,41.79024926,-87.59614453,,1st floor +Snell-Hitchcock,"1009 E 57th St, Chicago, IL 60637",,,41.79122476,-87.6005054,,Lobby +Starbucks (53rd),"1530 E 53rd St, Chicago, IL 60615",,,41.80031839,-87.58764545,, +Starbucks (55th),"1174 E 55th St, Chicago, IL 60615",,,41.79592543,-87.59605769,, +Stuart Hall,"5835 S Greenwood Ave, Chicago, IL 60637",,,41.78856856,-87.59904566,, +The Study UChicago,"1227 East 60th Street, Chicago, IL 60637",,,41.78609407,-87.59516549,, +Trader Joe's,"1528 E 55th St, Chicago, IL 60615",,,41.796506,-87.588394,, +UChicago Institute of Politics,"5707 S Woodlawn, Chicago, IL 60637",,,41.79135305,-87.59618759,, +Woodlawn Dining Commons,"1156 E 61st Street Chicago, IL 60615",,,41.78490417,-87.59720576,, +Woodlawn Residential Commons,"1156 E 61st Street Chicago, IL 60615",,,41.78445557,-87.5971699,, +Booth School of Business,"5807 S Woodlawn Ave, Chicago, IL 60637",,,41.78994463,-87.59632936,, +Harris Cafe in The Keller Center,"1307 E 60th St, Chicago, IL 60637",Nathan,1/16/24,41.785689,-87.594053,, \ No newline at end of file From 160ea34c5bb4b8aee7ec802e8439dee22aa3ded1 Mon Sep 17 00:00:00 2001 From: JJ Date: Wed, 9 Apr 2025 16:34:39 -0500 Subject: [PATCH 22/40] changes to main.js --- 2025/distribution-locations/main.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index b2b89e58..eb26dbb7 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -29,14 +29,14 @@ function initMap() { let marker = new google.maps.Marker({ position: { lat: lat, lng: lng }, map: map, - title: row['Building Name'] + title: row['Name'] }); // Create the content for the info window with building name and address let content = `
-

${row['Building Name']}

-

Address: ${row['Address']}

+

${row['Name']}

+

Address: ${row['Location']}

Comment: ${row['Comment']}

`; From 7d402550055a8053a0cbf4c417e3179592d84c9c Mon Sep 17 00:00:00 2001 From: JJ Date: Wed, 9 Apr 2025 16:38:38 -0500 Subject: [PATCH 23/40] main.js updated --- 2025/distribution-locations/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index eb26dbb7..c8d714de 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -37,7 +37,7 @@ function initMap() {

${row['Name']}

Address: ${row['Location']}

-

Comment: ${row['Comment']}

+

${row['Comment']}

`; From cf2c4c8bdd02a8c7426e58a5a0f96ac326791bbc Mon Sep 17 00:00:00 2001 From: JJ Date: Wed, 9 Apr 2025 16:42:59 -0500 Subject: [PATCH 24/40] updated main.js --- 2025/distribution-locations/main.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index c8d714de..4a79fe0b 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -34,11 +34,11 @@ function initMap() { // Create the content for the info window with building name and address let content = ` -
-

${row['Name']}

+
+

${row['Name']}

Address: ${row['Location']}

-

${row['Comment']}

-
+ ${row['Comment'] ? `

Pick-Up Notes: ${row['Comment']}

` : ''} +
`; // Add a click listener to show the info window when the marker is clicked From 05526a79e5afb74d9f7bc149974da3ec2a49d458 Mon Sep 17 00:00:00 2001 From: JJ Date: Wed, 9 Apr 2025 16:45:15 -0500 Subject: [PATCH 25/40] fixed updated csv --- 2025/distribution-locations/locations_updated.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2025/distribution-locations/locations_updated.csv b/2025/distribution-locations/locations_updated.csv index b312c2ff..54e7dfd2 100644 --- a/2025/distribution-locations/locations_updated.csv +++ b/2025/distribution-locations/locations_updated.csv @@ -1,4 +1,4 @@ -Name,Location ,Person,Date Checked,Latitude,Longitude,,Comment +Name,Location,Person,Date Checked,Latitude,Longitude,,Comment Arley D Cathey Dining Commons,"6031 S Ellis Ave, Chicago, IL 60637",,,41.78530807,-87.60038752,, Baker Dining Hall,"5501 S University Ave, Chicago, IL 60637",,,41.79460805,-87.59853524,, Bartlett Dining Hall,"5640 S University, Chicago, IL 60637",,,41.79209186,-87.59825325,,Box in lobby From 2b85bf877d5363936383c97667923b3f9a9d0aea Mon Sep 17 00:00:00 2001 From: JJ Date: Wed, 9 Apr 2025 16:55:08 -0500 Subject: [PATCH 26/40] ran prettier --- 2025/distribution-locations/index.html | 3 ++- 2025/distribution-locations/main.js | 6 +++++- package-lock.json | 3 ++- package.json | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/2025/distribution-locations/index.html b/2025/distribution-locations/index.html index 2200fe6e..2baa0548 100644 --- a/2025/distribution-locations/index.html +++ b/2025/distribution-locations/index.html @@ -2,7 +2,8 @@ Building Locations Map -
- - + Google Maps API + --> - + - - + + + + + + + + + + Building Locations Map + + + +
+ + + + + + + + + + diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index 0f5bc1b6..51c1cd4c 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -1,63 +1,129 @@ // Global variables for map and infoWindow -let map; -let infoWindow; +// let map; +// let infoWindow; // Initialize the map -function initMap() { - // Create the map centered at an arbitrary location (update as needed) - map = new google.maps.Map(document.getElementById('map'), { - zoom: 14, - center: { lat: 41.79, lng: -87.59 }, - mapTypeId: 'terrain' - }); +// function initMap() { +// // Create the map centered at an arbitrary location (update as needed) +// map = new google.maps.Map(document.getElementById('map'), { +// zoom: 14, +// center: { lat: 41.79, lng: -87.59 }, +// mapId: "43d4870cba142ed7", // Replace this with your actual Map ID +// mapTypeId: 'terrain' +// }); + +// // Create a single info window to be reused +// infoWindow = new google.maps.InfoWindow(); + +// // Parse the CSV file +// Papa.parse('locations.csv', { +// download: true, + // header: true, // Use first row as header + // complete: function (results) { + // // Loop over each row in the CSV + // results.data.forEach((row) => { + // // Convert latitude and longitude to float values + // let lat = parseFloat(row['Latitude']); + // let lng = parseFloat(row['Longitude']); + + // // Create an element for the SVG + // const img = document.createElement('img'); + // img.src = 'maroon_logo_m_black.svg'; + // img.style.width = '32px'; + // img.style.height = '32px'; + + // // Create an AdvancedMarkerElement using the image + // const marker = new google.maps.marker.AdvancedMarkerElement({ + // position: { lat: lat, lng: lng }, + // map: map, +// title: row['Name'], +// content: img +// }); - // Create a single info window to be reused - infoWindow = new google.maps.InfoWindow(); - - // Parse the CSV file - Papa.parse('locations.csv', { - download: true, - header: true, // Use first row as header - complete: function (results) { - // Loop over each row in the CSV - results.data.forEach((row) => { - // Convert latitude and longitude to float values - let lat = parseFloat(row['Latitude']); - let lng = parseFloat(row['Longitude']); - - // Create an element for the SVG - const img = document.createElement('img'); - img.src = 'maroon_logo_m_black.svg'; - img.style.width = '32px'; - img.style.height = '32px'; - - // Create an AdvancedMarkerElement using the image - const marker = new google.maps.marker.AdvancedMarkerElement({ - position: { lat: lat, lng: lng }, - map: map, - title: row['Name'], - content: img - }); - - // Create the content for the info window with building name and address - let content = ` -
-

${row['Name']}

-

Address: ${row['Location']}

- ${ - row['Comment'] - ? `

Pick-Up Notes: ${row['Comment']}

` - : '' - } -
- `; - - // Add a click listener to show the info window when the marker is clicked - marker.addListener('click', function () { - infoWindow.setContent(content); - infoWindow.open(map, marker); - }); - }); - } +// // Create the content for the info window with building name and address +// let content = ` +//
+//

${row['Name']}

+//

Address: ${row['Location']}

+// ${ +// row['Comment'] +// ? `

Pick-Up Notes: ${row['Comment']}

` +// : '' +// } +// //
+// // `; + +// // Add a click listener to show the info window when the marker is clicked +// marker.addListener('gmp-click', function () { +// infoWindow.setContent(content); +// infoWindow.open(map, marker); +// }); +// }); +// } +// }); +// } + + +// main.js (module) +async function initMap() { + const { Map } = await google.maps.importLibrary("maps"); + const { AdvancedMarkerElement } = await google.maps.importLibrary("marker"); + + const map = new Map(document.getElementById("map"), { + center: { lat: 41.79, lng: -87.59 }, + zoom: 14, + mapId: "43d4870cba142ed7", // Replace this with your actual Map ID + mapTypeId: "terrain" + }); + + const infoWindow = new google.maps.InfoWindow(); + + Papa.parse("locations.csv", { + download: true, + header: true, + complete: function (results) { + results.data.forEach((row) => { + const lat = parseFloat(row["Latitude"]); + const lng = parseFloat(row["Longitude"]); + if (isNaN(lat) || isNaN(lng)) return; + + const container = document.createElement("div"); + container.style.width = "32px"; + container.style.height = "32px"; + container.style.pointerEvents = "auto"; + + const img = document.createElement("img"); + img.src = "maroon_logo_m_black.svg"; + img.style.width = "32px"; + img.style.height = "32px"; + img.style.pointerEvents = "auto"; + container.appendChild(img); + const marker = new AdvancedMarkerElement({ + map, + position: { lat, lng }, + title: row["Name"], + content: container +}); + + const content = ` +
+

${row["Name"]}

+

Address: ${row["Location"]}

+ ${ + row["Comment"] + ? `

Pick-Up Notes: ${row["Comment"]}

` + : "" + } +
+ `; + + marker.addEventListener("gmp-click", () => { + infoWindow.setContent(content); + infoWindow.open(map, marker); + }); + }); + } }); -} + } + + initMap(); \ No newline at end of file From 728f2cc64ada9ca7046d34c17d8176bec2f8592d Mon Sep 17 00:00:00 2001 From: JJ Date: Fri, 11 Apr 2025 11:55:00 -0500 Subject: [PATCH 35/40] fixed window listener --- 2025/distribution-locations/main.js | 61 +++++++++++++++++++---------- 1 file changed, 41 insertions(+), 20 deletions(-) diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index 51c1cd4c..0ff9408c 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -105,25 +105,46 @@ async function initMap() { content: container }); - const content = ` -
-

${row["Name"]}

-

Address: ${row["Location"]}

- ${ - row["Comment"] - ? `

Pick-Up Notes: ${row["Comment"]}

` - : "" - } -
- `; + // const content = ` + //
+ //

${row["Name"]}

+ //

Address: ${row["Location"]}

+ // ${ + // row["Comment"] + // ? `

Pick-Up Notes: ${row["Comment"]}

` + // : "" + // } + //
+ // `; - marker.addEventListener("gmp-click", () => { - infoWindow.setContent(content); - infoWindow.open(map, marker); - }); - }); - } - }); - } + // marker.addEventListener("gmp-click", () => { + // infoWindow.setContent(content); + // infoWindow.open(map, marker); + // }); + // }); + // } + // }); + // } - initMap(); \ No newline at end of file + // initMap(); + + // Create the content for the info window with building name and address + let content = ` +
+

${row['Name']}

+

Address: ${row['Location']}

+ ${row['Comment'] ? `

Pick-Up Notes: ${row['Comment']}

` : ''} +
+`; + + // Add a click listener to show the info window when the marker is clicked + marker.addListener('gmp-click', function () { + infoWindow.setContent(content); + infoWindow.open(map, marker); + }); + }); + } + }); +} + +initMap(); \ No newline at end of file From 3d5e6ccce26875b5333206a8216decfd81a57c87 Mon Sep 17 00:00:00 2001 From: JJ Date: Fri, 11 Apr 2025 14:40:33 -0500 Subject: [PATCH 36/40] updates to image and js file --- 2025/distribution-locations/index.html | 53 ------------------- .../distribution-locations/maroon_map_pin.svg | 1 + 2 files changed, 1 insertion(+), 53 deletions(-) create mode 100644 2025/distribution-locations/maroon_map_pin.svg diff --git a/2025/distribution-locations/index.html b/2025/distribution-locations/index.html index b49230c8..df2d8482 100644 --- a/2025/distribution-locations/index.html +++ b/2025/distribution-locations/index.html @@ -1,56 +1,3 @@ - - - - - - - - - - - - - - - diff --git a/2025/distribution-locations/maroon_map_pin.svg b/2025/distribution-locations/maroon_map_pin.svg new file mode 100644 index 00000000..cd8c8317 --- /dev/null +++ b/2025/distribution-locations/maroon_map_pin.svg @@ -0,0 +1 @@ + \ No newline at end of file From ee62aefa9cfd21fc28becfd5bae52a464b3365ee Mon Sep 17 00:00:00 2001 From: JJ Date: Fri, 11 Apr 2025 14:43:16 -0500 Subject: [PATCH 37/40] ran prettier --- 2025/distribution-locations/index.html | 47 +++---- 2025/distribution-locations/main.js | 167 +++++++++++++------------ 2 files changed, 109 insertions(+), 105 deletions(-) diff --git a/2025/distribution-locations/index.html b/2025/distribution-locations/index.html index df2d8482..905680c6 100644 --- a/2025/distribution-locations/index.html +++ b/2025/distribution-locations/index.html @@ -1,29 +1,30 @@ - - Building Locations Map - - - -
+ + Building Locations Map + + + +
- - + + - - + + - - - + + + diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index 0ff9408c..00769267 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -18,24 +18,24 @@ // // Parse the CSV file // Papa.parse('locations.csv', { // download: true, - // header: true, // Use first row as header - // complete: function (results) { - // // Loop over each row in the CSV - // results.data.forEach((row) => { - // // Convert latitude and longitude to float values - // let lat = parseFloat(row['Latitude']); - // let lng = parseFloat(row['Longitude']); - - // // Create an element for the SVG - // const img = document.createElement('img'); - // img.src = 'maroon_logo_m_black.svg'; - // img.style.width = '32px'; - // img.style.height = '32px'; - - // // Create an AdvancedMarkerElement using the image - // const marker = new google.maps.marker.AdvancedMarkerElement({ - // position: { lat: lat, lng: lng }, - // map: map, +// header: true, // Use first row as header +// complete: function (results) { +// // Loop over each row in the CSV +// results.data.forEach((row) => { +// // Convert latitude and longitude to float values +// let lat = parseFloat(row['Latitude']); +// let lng = parseFloat(row['Longitude']); + +// // Create an element for the SVG +// const img = document.createElement('img'); +// img.src = 'maroon_logo_m_black.svg'; +// img.style.width = '32px'; +// img.style.height = '32px'; + +// // Create an AdvancedMarkerElement using the image +// const marker = new google.maps.marker.AdvancedMarkerElement({ +// position: { lat: lat, lng: lng }, +// map: map, // title: row['Name'], // content: img // }); @@ -63,77 +63,80 @@ // }); // } - // main.js (module) async function initMap() { - const { Map } = await google.maps.importLibrary("maps"); - const { AdvancedMarkerElement } = await google.maps.importLibrary("marker"); - - const map = new Map(document.getElementById("map"), { - center: { lat: 41.79, lng: -87.59 }, - zoom: 14, - mapId: "43d4870cba142ed7", // Replace this with your actual Map ID - mapTypeId: "terrain" + const { Map } = await google.maps.importLibrary('maps'); + const { AdvancedMarkerElement } = await google.maps.importLibrary('marker'); + + const map = new Map(document.getElementById('map'), { + center: { lat: 41.79, lng: -87.59 }, + zoom: 14, + mapId: '43d4870cba142ed7', // Replace this with your actual Map ID + mapTypeId: 'terrain' }); - + const infoWindow = new google.maps.InfoWindow(); - - Papa.parse("locations.csv", { - download: true, - header: true, - complete: function (results) { - results.data.forEach((row) => { - const lat = parseFloat(row["Latitude"]); - const lng = parseFloat(row["Longitude"]); - if (isNaN(lat) || isNaN(lng)) return; - - const container = document.createElement("div"); - container.style.width = "32px"; - container.style.height = "32px"; - container.style.pointerEvents = "auto"; - - const img = document.createElement("img"); - img.src = "maroon_logo_m_black.svg"; - img.style.width = "32px"; - img.style.height = "32px"; - img.style.pointerEvents = "auto"; - container.appendChild(img); - const marker = new AdvancedMarkerElement({ - map, - position: { lat, lng }, - title: row["Name"], - content: container -}); - - // const content = ` - //
- //

${row["Name"]}

- //

Address: ${row["Location"]}

- // ${ - // row["Comment"] - // ? `

Pick-Up Notes: ${row["Comment"]}

` - // : "" - // } - //
- // `; - - // marker.addEventListener("gmp-click", () => { - // infoWindow.setContent(content); - // infoWindow.open(map, marker); - // }); - // }); - // } - // }); - // } - - // initMap(); - - // Create the content for the info window with building name and address + + Papa.parse('locations.csv', { + download: true, + header: true, + complete: function (results) { + results.data.forEach((row) => { + const lat = parseFloat(row['Latitude']); + const lng = parseFloat(row['Longitude']); + if (isNaN(lat) || isNaN(lng)) return; + + const container = document.createElement('div'); + container.style.width = '32px'; + container.style.height = '32px'; + container.style.pointerEvents = 'auto'; + + const img = document.createElement('img'); + img.src = 'maroon_logo_m_black.svg'; + img.style.width = '32px'; + img.style.height = '32px'; + img.style.pointerEvents = 'auto'; + container.appendChild(img); + const marker = new AdvancedMarkerElement({ + map, + position: { lat, lng }, + title: row['Name'], + content: container + }); + + // const content = ` + //
+ //

${row["Name"]}

+ //

Address: ${row["Location"]}

+ // ${ + // row["Comment"] + // ? `

Pick-Up Notes: ${row["Comment"]}

` + // : "" + // } + //
+ // `; + + // marker.addEventListener("gmp-click", () => { + // infoWindow.setContent(content); + // infoWindow.open(map, marker); + // }); + // }); + // } + // }); + // } + + // initMap(); + + // Create the content for the info window with building name and address let content = `

${row['Name']}

Address: ${row['Location']}

- ${row['Comment'] ? `

Pick-Up Notes: ${row['Comment']}

` : ''} + ${ + row['Comment'] + ? `

Pick-Up Notes: ${row['Comment']}

` + : '' + }
`; @@ -147,4 +150,4 @@ async function initMap() { }); } -initMap(); \ No newline at end of file +initMap(); From 819d8b9d18cd9c5a67236c385e200278e289ced4 Mon Sep 17 00:00:00 2001 From: JJ Date: Fri, 11 Apr 2025 14:47:25 -0500 Subject: [PATCH 38/40] running prettier --- 2025/distribution-locations/main.js | 173 +++++++--------------------- 1 file changed, 41 insertions(+), 132 deletions(-) diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index 00769267..91e6c1e9 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -1,142 +1,51 @@ -// Global variables for map and infoWindow -// let map; -// let infoWindow; - -// Initialize the map -// function initMap() { -// // Create the map centered at an arbitrary location (update as needed) -// map = new google.maps.Map(document.getElementById('map'), { -// zoom: 14, -// center: { lat: 41.79, lng: -87.59 }, -// mapId: "43d4870cba142ed7", // Replace this with your actual Map ID -// mapTypeId: 'terrain' -// }); - -// // Create a single info window to be reused -// infoWindow = new google.maps.InfoWindow(); - -// // Parse the CSV file -// Papa.parse('locations.csv', { -// download: true, -// header: true, // Use first row as header -// complete: function (results) { -// // Loop over each row in the CSV -// results.data.forEach((row) => { -// // Convert latitude and longitude to float values -// let lat = parseFloat(row['Latitude']); -// let lng = parseFloat(row['Longitude']); - -// // Create an element for the SVG -// const img = document.createElement('img'); -// img.src = 'maroon_logo_m_black.svg'; -// img.style.width = '32px'; -// img.style.height = '32px'; - -// // Create an AdvancedMarkerElement using the image -// const marker = new google.maps.marker.AdvancedMarkerElement({ -// position: { lat: lat, lng: lng }, -// map: map, -// title: row['Name'], -// content: img -// }); - -// // Create the content for the info window with building name and address -// let content = ` -//
-//

${row['Name']}

-//

Address: ${row['Location']}

-// ${ -// row['Comment'] -// ? `

Pick-Up Notes: ${row['Comment']}

` -// : '' -// } -// //
-// // `; - -// // Add a click listener to show the info window when the marker is clicked -// marker.addListener('gmp-click', function () { -// infoWindow.setContent(content); -// infoWindow.open(map, marker); -// }); -// }); -// } -// }); -// } // main.js (module) async function initMap() { - const { Map } = await google.maps.importLibrary('maps'); - const { AdvancedMarkerElement } = await google.maps.importLibrary('marker'); - - const map = new Map(document.getElementById('map'), { - center: { lat: 41.79, lng: -87.59 }, - zoom: 14, - mapId: '43d4870cba142ed7', // Replace this with your actual Map ID - mapTypeId: 'terrain' + const { Map } = await google.maps.importLibrary("maps"); + const { AdvancedMarkerElement } = await google.maps.importLibrary("marker"); + + const map = new Map(document.getElementById("map"), { + center: { lat: 41.79, lng: -87.59 }, + zoom: 14, + mapId: "43d4870cba142ed7", // Replace this with your actual Map ID + mapTypeId: "terrain" }); - + const infoWindow = new google.maps.InfoWindow(); - - Papa.parse('locations.csv', { - download: true, - header: true, - complete: function (results) { - results.data.forEach((row) => { - const lat = parseFloat(row['Latitude']); - const lng = parseFloat(row['Longitude']); - if (isNaN(lat) || isNaN(lng)) return; - - const container = document.createElement('div'); - container.style.width = '32px'; - container.style.height = '32px'; - container.style.pointerEvents = 'auto'; - - const img = document.createElement('img'); - img.src = 'maroon_logo_m_black.svg'; - img.style.width = '32px'; - img.style.height = '32px'; - img.style.pointerEvents = 'auto'; - container.appendChild(img); - const marker = new AdvancedMarkerElement({ - map, - position: { lat, lng }, - title: row['Name'], - content: container - }); - - // const content = ` - //
- //

${row["Name"]}

- //

Address: ${row["Location"]}

- // ${ - // row["Comment"] - // ? `

Pick-Up Notes: ${row["Comment"]}

` - // : "" - // } - //
- // `; - - // marker.addEventListener("gmp-click", () => { - // infoWindow.setContent(content); - // infoWindow.open(map, marker); - // }); - // }); - // } - // }); - // } - - // initMap(); - - // Create the content for the info window with building name and address + + Papa.parse("locations.csv", { + download: true, + header: true, + complete: function (results) { + results.data.forEach((row) => { + const lat = parseFloat(row["Latitude"]); + const lng = parseFloat(row["Longitude"]); + if (isNaN(lat) || isNaN(lng)) return; + + const container = document.createElement("div"); + container.style.width = "32px"; + container.style.height = "32px"; + container.style.pointerEvents = "auto"; + + const img = document.createElement("img"); + img.src = "maroon_logo_m_black.svg"; + img.style.width = "32px"; + img.style.height = "32px"; + img.style.pointerEvents = "auto"; + container.appendChild(img); + const marker = new AdvancedMarkerElement({ + map, + position: { lat, lng }, + title: row["Name"], + content: container +}); + + // Create the content for the info window with building name and address let content = ` -
+

${row['Name']}

Address: ${row['Location']}

- ${ - row['Comment'] - ? `

Pick-Up Notes: ${row['Comment']}

` - : '' - } + ${row['Comment'] ? `

Pick-Up Notes: ${row['Comment']}

` : ''}
`; @@ -150,4 +59,4 @@ async function initMap() { }); } -initMap(); +initMap(); \ No newline at end of file From fb9693ac3ef91038c7a68731a2385e406754ec88 Mon Sep 17 00:00:00 2001 From: Nik4002 Date: Fri, 11 Apr 2025 14:56:40 -0500 Subject: [PATCH 39/40] Fix map pin bug --- 2025/distribution-locations/main.js | 8 +++++--- 2025/distribution-locations/maroon_map_pin.svg | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/2025/distribution-locations/main.js b/2025/distribution-locations/main.js index 00769267..5f178101 100644 --- a/2025/distribution-locations/main.js +++ b/2025/distribution-locations/main.js @@ -92,9 +92,11 @@ async function initMap() { container.style.pointerEvents = 'auto'; const img = document.createElement('img'); - img.src = 'maroon_logo_m_black.svg'; - img.style.width = '32px'; - img.style.height = '32px'; + // img.src = 'maroon_logo_m_black.svg'; + // img.src = 'Maroon Map Pin (2).svg'; + img.src = 'maroon_map_pin.svg'; + img.style.width = '50px'; + img.style.height = '50px'; img.style.pointerEvents = 'auto'; container.appendChild(img); const marker = new AdvancedMarkerElement({ diff --git a/2025/distribution-locations/maroon_map_pin.svg b/2025/distribution-locations/maroon_map_pin.svg index cd8c8317..1d380391 100644 --- a/2025/distribution-locations/maroon_map_pin.svg +++ b/2025/distribution-locations/maroon_map_pin.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 3fccc5c83034d562a251d103cabb4c7003a063e3 Mon Sep 17 00:00:00 2001 From: JJ Date: Fri, 11 Apr 2025 18:15:19 -0500 Subject: [PATCH 40/40] changed CEGU coordinates --- 2025/distribution-locations/locations.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2025/distribution-locations/locations.csv b/2025/distribution-locations/locations.csv index 54e7dfd2..70892856 100644 --- a/2025/distribution-locations/locations.csv +++ b/2025/distribution-locations/locations.csv @@ -4,7 +4,7 @@ Baker Dining Hall,"5501 S University Ave, Chicago, IL 60637",,,41.79460805,-87.5 Bartlett Dining Hall,"5640 S University, Chicago, IL 60637",,,41.79209186,-87.59825325,,Box in lobby Cafe 53,"1369 E 53rd St, Chicago, IL 60615",,,41.79950073,-87.59241523,,Lobby Campus North Dormitory,"5500 S University Ave, Chicago, IL 60637",,,41.79472825,-87.59839296,,Hand to Front Desk -Center for Environmental and Urban Studies,"1155 E 60th St, Chicago, IL 60637",,,41.78855296,-87.59816399,,Lobby +Center for Environmental and Urban Studies,"1155 E 60th St, Chicago, IL 60637",,,41.785594, -87.597118,,Lobby Chicago Maroon Office,"1212 E 59th St, Chicago, IL 60637",,,41.78813297,-87.59560119,,Lobby Cobb Hall,"5811 S Ellis Ave, Chicago, IL 60637",,,41.78912416,-87.60087036,,Lobby Crerar Library,"5730 S Ellis Ave, Chicago, IL 60637",,,41.79065996,-87.60287546,,Box in lobby