Compare commits

...

10 Commits

Author SHA1 Message Date
9ee5fa40b8
Test commit signing 3 2024-06-26 17:48:42 +02:00
0edeab8c1d
Test commit signing 2 2024-06-26 17:46:17 +02:00
9801f8a223
Test commit signing 2024-06-26 17:41:00 +02:00
7087cfc841
Bun executable 2024-06-26 17:36:42 +02:00
6db210554a
Alphabets package test 2023-05-05 12:39:27 +02:00
efb92dd11c
changes to flexrooster 2023-04-13 22:01:15 +02:00
5c10372d8a
flexroosterinschrijvingen 2023-04-13 17:59:34 +02:00
7ae80ae062
date diff 2023-04-13 17:20:49 +02:00
60d8d7501c
Mime types 2022-09-22 17:30:14 +02:00
2a6c25e69e
Tested Sharp 2022-09-13 15:35:42 +02:00
22 changed files with 4553 additions and 0 deletions

5
js/alphabets/index.js Normal file
View File

@ -0,0 +1,5 @@
// const ab = require('alphabets');
import ab from 'alphabets';
console.log(ab.ukrainian.join(''));
console.log(ab.latin.length);

17
js/alphabets/package-lock.json generated Normal file
View File

@ -0,0 +1,17 @@
{
"name": "alphabets",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"dependencies": {
"alphabets": "^2.0.2"
}
},
"node_modules/alphabets": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/alphabets/-/alphabets-2.0.2.tgz",
"integrity": "sha512-tgPLNXO8oZXK57/xDf6zmzp0rGYTeueB3YDHQBxGuUbDoWyJoxEuaHDnnWcz4PNFHHEAra0V7GaF7xjZFEgNvw=="
}
}
}

View File

@ -0,0 +1,6 @@
{
"dependencies": {
"alphabets": "^2.0.2"
},
"type": "module"
}

2
js/bun/executable.js Normal file
View File

@ -0,0 +1,2 @@
console.log('Hi!');

View File

@ -0,0 +1,10 @@
const differenceInCalendarDays = require('date-fns/differenceInCalendarDays');
const earlier = new Date(2023, 6, 31);
const later = new Date(2028, 6, 1);
const dif = differenceInCalendarDays(later, earlier);
console.log('from:', earlier.toLocaleDateString('en-GB', { dateStyle: 'full' }));
console.log('to:', later.toLocaleDateString('en-GB', { dateStyle: 'full' }));
console.log(dif);

31
js/date-difference/package-lock.json generated Normal file
View File

@ -0,0 +1,31 @@
{
"name": "date-difference",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"dependencies": {
"date-fns": "^2.29.3"
}
},
"node_modules/date-fns": {
"version": "2.29.3",
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz",
"integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==",
"engines": {
"node": ">=0.11"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/date-fns"
}
}
},
"dependencies": {
"date-fns": {
"version": "2.29.3",
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz",
"integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA=="
}
}
}

View File

@ -0,0 +1,5 @@
{
"dependencies": {
"date-fns": "^2.29.3"
}
}

View File

@ -0,0 +1,768 @@
{
"123": "application/vnd.lotus-1-2-3",
"ez": "application/andrew-inset",
"aw": "application/applixware",
"atom": "application/atom+xml",
"atomcat": "application/atomcat+xml",
"atomsvc": "application/atomsvc+xml",
"ccxml": "application/ccxml+xml",
"cdmia": "application/cdmi-capability",
"cdmic": "application/cdmi-container",
"cdmid": "application/cdmi-domain",
"cdmio": "application/cdmi-object",
"cdmiq": "application/cdmi-queue",
"cu": "application/cu-seeme",
"davmount": "application/davmount+xml",
"dbk": "application/docbook+xml",
"dssc": "application/dssc+der",
"xdssc": "application/dssc+xml",
"ecma": "application/ecmascript",
"emma": "application/emma+xml",
"epub": "application/epub+zip",
"exi": "application/exi",
"pfr": "application/font-tdpfr",
"gml": "application/gml+xml",
"gpx": "application/gpx+xml",
"gxf": "application/gxf",
"stk": "application/hyperstudio",
"ink": "application/inkml+xml",
"ipfix": "application/ipfix",
"jar": "application/java-archive",
"ser": "application/java-serialized-object",
"class": "application/java-vm",
"json": "application/json",
"jsonml": "application/jsonml+json",
"lostxml": "application/lost+xml",
"hqx": "application/mac-binhex40",
"cpt": "application/mac-compactpro",
"mads": "application/mads+xml",
"mrc": "application/marc",
"mrcx": "application/marcxml+xml",
"ma": "application/mathematica",
"mathml": "application/mathml+xml",
"mbox": "application/mbox",
"mscml": "application/mediaservercontrol+xml",
"metalink": "application/metalink+xml",
"meta4": "application/metalink4+xml",
"mets": "application/mets+xml",
"mods": "application/mods+xml",
"m21": "application/mp21",
"mp4s": "application/mp4",
"doc": "application/msword",
"mxf": "application/mxf",
"bin": "application/octet-stream",
"oda": "application/oda",
"opf": "application/oebps-package+xml",
"ogx": "application/ogg",
"omdoc": "application/omdoc+xml",
"onetoc": "application/onenote",
"oxps": "application/oxps",
"xer": "application/patch-ops-error+xml",
"pdf": "application/pdf",
"pgp": "application/pgp-encrypted",
"asc": "application/pgp-signature",
"prf": "application/pics-rules",
"p10": "application/pkcs10",
"p7m": "application/pkcs7-mime",
"p7s": "application/pkcs7-signature",
"p8": "application/pkcs8",
"ac": "application/pkix-attr-cert",
"cer": "application/pkix-cert",
"crl": "application/pkix-crl",
"pkipath": "application/pkix-pkipath",
"pki": "application/pkixcmp",
"pls": "application/pls+xml",
"ai": "application/postscript",
"cww": "application/prs.cww",
"pskcxml": "application/pskc+xml",
"rdf": "application/rdf+xml",
"rif": "application/reginfo+xml",
"rnc": "application/relax-ng-compact-syntax",
"rl": "application/resource-lists+xml",
"rld": "application/resource-lists-diff+xml",
"rs": "application/rls-services+xml",
"gbr": "application/rpki-ghostbusters",
"mft": "application/rpki-manifest",
"roa": "application/rpki-roa",
"rsd": "application/rsd+xml",
"rss": "application/rss+xml",
"rtf": "application/rtf",
"sbml": "application/sbml+xml",
"scq": "application/scvp-cv-request",
"scs": "application/scvp-cv-response",
"spq": "application/scvp-vp-request",
"spp": "application/scvp-vp-response",
"sdp": "application/sdp",
"setpay": "application/set-payment-initiation",
"setreg": "application/set-registration-initiation",
"shf": "application/shf+xml",
"smi": "application/smil+xml",
"rq": "application/sparql-query",
"srx": "application/sparql-results+xml",
"gram": "application/srgs",
"grxml": "application/srgs+xml",
"sru": "application/sru+xml",
"ssdl": "application/ssdl+xml",
"ssml": "application/ssml+xml",
"tei": "application/tei+xml",
"tfi": "application/thraud+xml",
"tsd": "application/timestamped-data",
"plb": "application/vnd.3gpp.pic-bw-large",
"psb": "application/vnd.3gpp.pic-bw-small",
"pvb": "application/vnd.3gpp.pic-bw-var",
"tcap": "application/vnd.3gpp2.tcap",
"pwn": "application/vnd.3m.post-it-notes",
"aso": "application/vnd.accpac.simply.aso",
"imp": "application/vnd.accpac.simply.imp",
"acu": "application/vnd.acucobol",
"atc": "application/vnd.acucorp",
"air": "application/vnd.adobe.air-application-installer-package+zip",
"fcdt": "application/vnd.adobe.formscentral.fcdt",
"fxp": "application/vnd.adobe.fxp",
"xdp": "application/vnd.adobe.xdp+xml",
"xfdf": "application/vnd.adobe.xfdf",
"ahead": "application/vnd.ahead.space",
"azf": "application/vnd.airzip.filesecure.azf",
"azs": "application/vnd.airzip.filesecure.azs",
"azw": "application/vnd.amazon.ebook",
"acc": "application/vnd.americandynamics.acc",
"ami": "application/vnd.amiga.ami",
"apk": "application/vnd.android.package-archive",
"cii": "application/vnd.anser-web-certificate-issue-initiation",
"fti": "application/vnd.anser-web-funds-transfer-initiation",
"atx": "application/vnd.antix.game-component",
"mpkg": "application/vnd.apple.installer+xml",
"m3u8": "application/vnd.apple.mpegurl",
"swi": "application/vnd.aristanetworks.swi",
"iota": "application/vnd.astraea-software.iota",
"aep": "application/vnd.audiograph",
"mpm": "application/vnd.blueice.multipass",
"bmi": "application/vnd.bmi",
"rep": "application/vnd.businessobjects",
"cdxml": "application/vnd.chemdraw+xml",
"mmd": "application/vnd.chipnuts.karaoke-mmd",
"cdy": "application/vnd.cinderella",
"cla": "application/vnd.claymore",
"rp9": "application/vnd.cloanto.rp9",
"c4g": "application/vnd.clonk.c4group",
"c11amc": "application/vnd.cluetrust.cartomobile-config",
"c11amz": "application/vnd.cluetrust.cartomobile-config-pkg",
"csp": "application/vnd.commonspace",
"cdbcmsg": "application/vnd.contact.cmsg",
"cmc": "application/vnd.cosmocaller",
"clkx": "application/vnd.crick.clicker",
"clkk": "application/vnd.crick.clicker.keyboard",
"clkp": "application/vnd.crick.clicker.palette",
"clkt": "application/vnd.crick.clicker.template",
"clkw": "application/vnd.crick.clicker.wordbank",
"wbs": "application/vnd.criticaltools.wbs+xml",
"pml": "application/vnd.ctc-posml",
"ppd": "application/vnd.cups-ppd",
"car": "application/vnd.curl.car",
"pcurl": "application/vnd.curl.pcurl",
"dart": "application/vnd.dart",
"rdz": "application/vnd.data-vision.rdz",
"uvf": "application/vnd.dece.data",
"uvt": "application/vnd.dece.ttml+xml",
"uvx": "application/vnd.dece.unspecified",
"uvz": "application/vnd.dece.zip",
"fe_launch": "application/vnd.denovo.fcselayout-link",
"dna": "application/vnd.dna",
"mlp": "application/vnd.dolby.mlp",
"dpg": "application/vnd.dpgraph",
"dfac": "application/vnd.dreamfactory",
"kpxx": "application/vnd.ds-keypoint",
"ait": "application/vnd.dvb.ait",
"svc": "application/vnd.dvb.service",
"geo": "application/vnd.dynageo",
"mag": "application/vnd.ecowin.chart",
"nml": "application/vnd.enliven",
"esf": "application/vnd.epson.esf",
"msf": "application/vnd.epson.msf",
"qam": "application/vnd.epson.quickanime",
"slt": "application/vnd.epson.salt",
"ssf": "application/vnd.epson.ssf",
"es3": "application/vnd.eszigno3+xml",
"ez2": "application/vnd.ezpix-album",
"ez3": "application/vnd.ezpix-package",
"fdf": "application/vnd.fdf",
"mseed": "application/vnd.fdsn.mseed",
"seed": "application/vnd.fdsn.seed",
"gph": "application/vnd.flographit",
"ftc": "application/vnd.fluxtime.clip",
"fm": "application/vnd.framemaker",
"fnc": "application/vnd.frogans.fnc",
"ltf": "application/vnd.frogans.ltf",
"fsc": "application/vnd.fsc.weblaunch",
"oas": "application/vnd.fujitsu.oasys",
"oa2": "application/vnd.fujitsu.oasys2",
"oa3": "application/vnd.fujitsu.oasys3",
"fg5": "application/vnd.fujitsu.oasysgp",
"bh2": "application/vnd.fujitsu.oasysprs",
"ddd": "application/vnd.fujixerox.ddd",
"xdw": "application/vnd.fujixerox.docuworks",
"xbd": "application/vnd.fujixerox.docuworks.binder",
"fzs": "application/vnd.fuzzysheet",
"txd": "application/vnd.genomatix.tuxedo",
"ggb": "application/vnd.geogebra.file",
"ggt": "application/vnd.geogebra.tool",
"gex": "application/vnd.geometry-explorer",
"gxt": "application/vnd.geonext",
"g2w": "application/vnd.geoplan",
"g3w": "application/vnd.geospace",
"gmx": "application/vnd.gmx",
"kml": "application/vnd.google-earth.kml+xml",
"kmz": "application/vnd.google-earth.kmz",
"gqf": "application/vnd.grafeq",
"gac": "application/vnd.groove-account",
"ghf": "application/vnd.groove-help",
"gim": "application/vnd.groove-identity-message",
"grv": "application/vnd.groove-injector",
"gtm": "application/vnd.groove-tool-message",
"tpl": "application/vnd.groove-tool-template",
"vcg": "application/vnd.groove-vcard",
"hal": "application/vnd.hal+xml",
"zmm": "application/vnd.handheld-entertainment+xml",
"hbci": "application/vnd.hbci",
"les": "application/vnd.hhe.lesson-player",
"hpgl": "application/vnd.hp-hpgl",
"hpid": "application/vnd.hp-hpid",
"hps": "application/vnd.hp-hps",
"jlt": "application/vnd.hp-jlyt",
"pcl": "application/vnd.hp-pcl",
"pclxl": "application/vnd.hp-pclxl",
"sfd-hdstx": "application/vnd.hydrostatix.sof-data",
"mpy": "application/vnd.ibm.minipay",
"afp": "application/vnd.ibm.modcap",
"irm": "application/vnd.ibm.rights-management",
"sc": "application/vnd.ibm.secure-container",
"icc": "application/vnd.iccprofile",
"igl": "application/vnd.igloader",
"ivp": "application/vnd.immervision-ivp",
"ivu": "application/vnd.immervision-ivu",
"igm": "application/vnd.insors.igm",
"xpw": "application/vnd.intercon.formnet",
"i2g": "application/vnd.intergeo",
"qbo": "application/vnd.intu.qbo",
"qfx": "application/vnd.intu.qfx",
"rcprofile": "application/vnd.ipunplugged.rcprofile",
"irp": "application/vnd.irepository.package+xml",
"xpr": "application/vnd.is-xpr",
"fcs": "application/vnd.isac.fcs",
"jam": "application/vnd.jam",
"rms": "application/vnd.jcp.javame.midlet-rms",
"jisp": "application/vnd.jisp",
"joda": "application/vnd.joost.joda-archive",
"ktz": "application/vnd.kahootz",
"karbon": "application/vnd.kde.karbon",
"chrt": "application/vnd.kde.kchart",
"kfo": "application/vnd.kde.kformula",
"flw": "application/vnd.kde.kivio",
"kon": "application/vnd.kde.kontour",
"kpr": "application/vnd.kde.kpresenter",
"ksp": "application/vnd.kde.kspread",
"kwd": "application/vnd.kde.kword",
"htke": "application/vnd.kenameaapp",
"kia": "application/vnd.kidspiration",
"kne": "application/vnd.kinar",
"skp": "application/vnd.koan",
"sse": "application/vnd.kodak-descriptor",
"lasxml": "application/vnd.las.las+xml",
"lbd": "application/vnd.llamagraphics.life-balance.desktop",
"lbe": "application/vnd.llamagraphics.life-balance.exchange+xml",
"apr": "application/vnd.lotus-approach",
"pre": "application/vnd.lotus-freelance",
"nsf": "application/vnd.lotus-notes",
"org": "application/vnd.lotus-organizer",
"scm": "application/vnd.lotus-screencam",
"lwp": "application/vnd.lotus-wordpro",
"portpkg": "application/vnd.macports.portpkg",
"mcd": "application/vnd.mcd",
"mc1": "application/vnd.medcalcdata",
"cdkey": "application/vnd.mediastation.cdkey",
"mwf": "application/vnd.mfer",
"mfm": "application/vnd.mfmp",
"flo": "application/vnd.micrografx.flo",
"igx": "application/vnd.micrografx.igx",
"mif": "application/vnd.mif",
"daf": "application/vnd.mobius.daf",
"dis": "application/vnd.mobius.dis",
"mbk": "application/vnd.mobius.mbk",
"mqy": "application/vnd.mobius.mqy",
"msl": "application/vnd.mobius.msl",
"plc": "application/vnd.mobius.plc",
"txf": "application/vnd.mobius.txf",
"mpn": "application/vnd.mophun.application",
"mpc": "application/vnd.mophun.certificate",
"xul": "application/vnd.mozilla.xul+xml",
"cil": "application/vnd.ms-artgalry",
"cab": "application/vnd.ms-cab-compressed",
"xls": "application/vnd.ms-excel",
"xlam": "application/vnd.ms-excel.addin.macroenabled.12",
"xlsb": "application/vnd.ms-excel.sheet.binary.macroenabled.12",
"xlsm": "application/vnd.ms-excel.sheet.macroenabled.12",
"xltm": "application/vnd.ms-excel.template.macroenabled.12",
"eot": "application/vnd.ms-fontobject",
"chm": "application/vnd.ms-htmlhelp",
"ims": "application/vnd.ms-ims",
"lrm": "application/vnd.ms-lrm",
"thmx": "application/vnd.ms-officetheme",
"cat": "application/vnd.ms-pki.seccat",
"stl": "application/vnd.ms-pki.stl",
"ppt": "application/vnd.ms-powerpoint",
"ppam": "application/vnd.ms-powerpoint.addin.macroenabled.12",
"pptm": "application/vnd.ms-powerpoint.presentation.macroenabled.12",
"sldm": "application/vnd.ms-powerpoint.slide.macroenabled.12",
"ppsm": "application/vnd.ms-powerpoint.slideshow.macroenabled.12",
"potm": "application/vnd.ms-powerpoint.template.macroenabled.12",
"mpp": "application/vnd.ms-project",
"docm": "application/vnd.ms-word.document.macroenabled.12",
"dotm": "application/vnd.ms-word.template.macroenabled.12",
"wps": "application/vnd.ms-works",
"wpl": "application/vnd.ms-wpl",
"xps": "application/vnd.ms-xpsdocument",
"mseq": "application/vnd.mseq",
"mus": "application/vnd.musician",
"msty": "application/vnd.muvee.style",
"taglet": "application/vnd.mynfc",
"nlu": "application/vnd.neurolanguage.nlu",
"ntf": "application/vnd.nitf",
"nnd": "application/vnd.noblenet-directory",
"nns": "application/vnd.noblenet-sealer",
"nnw": "application/vnd.noblenet-web",
"ngdat": "application/vnd.nokia.n-gage.data",
"n-gage": "application/vnd.nokia.n-gage.symbian.install",
"rpst": "application/vnd.nokia.radio-preset",
"rpss": "application/vnd.nokia.radio-presets",
"edm": "application/vnd.novadigm.edm",
"edx": "application/vnd.novadigm.edx",
"ext": "application/vnd.novadigm.ext",
"odc": "application/vnd.oasis.opendocument.chart",
"otc": "application/vnd.oasis.opendocument.chart-template",
"odb": "application/vnd.oasis.opendocument.database",
"odf": "application/vnd.oasis.opendocument.formula",
"odft": "application/vnd.oasis.opendocument.formula-template",
"odg": "application/vnd.oasis.opendocument.graphics",
"otg": "application/vnd.oasis.opendocument.graphics-template",
"odi": "application/vnd.oasis.opendocument.image",
"oti": "application/vnd.oasis.opendocument.image-template",
"odp": "application/vnd.oasis.opendocument.presentation",
"otp": "application/vnd.oasis.opendocument.presentation-template",
"ods": "application/vnd.oasis.opendocument.spreadsheet",
"ots": "application/vnd.oasis.opendocument.spreadsheet-template",
"odt": "application/vnd.oasis.opendocument.text",
"odm": "application/vnd.oasis.opendocument.text-master",
"ott": "application/vnd.oasis.opendocument.text-template",
"oth": "application/vnd.oasis.opendocument.text-web",
"xo": "application/vnd.olpc-sugar",
"dd2": "application/vnd.oma.dd2+xml",
"oxt": "application/vnd.openofficeorg.extension",
"pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
"sldx": "application/vnd.openxmlformats-officedocument.presentationml.slide",
"ppsx": "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
"potx": "application/vnd.openxmlformats-officedocument.presentationml.template",
"xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"xltx": "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
"docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"dotx": "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
"mgp": "application/vnd.osgeo.mapguide.package",
"dp": "application/vnd.osgi.dp",
"esa": "application/vnd.osgi.subsystem",
"pdb": "application/vnd.palm",
"paw": "application/vnd.pawaafile",
"str": "application/vnd.pg.format",
"ei6": "application/vnd.pg.osasli",
"efif": "application/vnd.picsel",
"wg": "application/vnd.pmi.widget",
"plf": "application/vnd.pocketlearn",
"pbd": "application/vnd.powerbuilder6",
"box": "application/vnd.previewsystems.box",
"mgz": "application/vnd.proteus.magazine",
"qps": "application/vnd.publishare-delta-tree",
"ptid": "application/vnd.pvi.ptid1",
"qxd": "application/vnd.quark.quarkxpress",
"bed": "application/vnd.realvnc.bed",
"mxl": "application/vnd.recordare.musicxml",
"musicxml": "application/vnd.recordare.musicxml+xml",
"cryptonote": "application/vnd.rig.cryptonote",
"cod": "application/vnd.rim.cod",
"rm": "application/vnd.rn-realmedia",
"rmvb": "application/vnd.rn-realmedia-vbr",
"link66": "application/vnd.route66.link66+xml",
"st": "application/vnd.sailingtracker.track",
"see": "application/vnd.seemail",
"sema": "application/vnd.sema",
"semd": "application/vnd.semd",
"semf": "application/vnd.semf",
"ifm": "application/vnd.shana.informed.formdata",
"itp": "application/vnd.shana.informed.formtemplate",
"iif": "application/vnd.shana.informed.interchange",
"ipk": "application/vnd.shana.informed.package",
"twd": "application/vnd.simtech-mindmapper",
"mmf": "application/vnd.smaf",
"teacher": "application/vnd.smart.teacher",
"sdkm": "application/vnd.solent.sdkm+xml",
"dxp": "application/vnd.spotfire.dxp",
"sfs": "application/vnd.spotfire.sfs",
"sdc": "application/vnd.stardivision.calc",
"sda": "application/vnd.stardivision.draw",
"sdd": "application/vnd.stardivision.impress",
"smf": "application/vnd.stardivision.math",
"sdw": "application/vnd.stardivision.writer",
"sgl": "application/vnd.stardivision.writer-global",
"smzip": "application/vnd.stepmania.package",
"sm": "application/vnd.stepmania.stepchart",
"sxc": "application/vnd.sun.xml.calc",
"stc": "application/vnd.sun.xml.calc.template",
"sxd": "application/vnd.sun.xml.draw",
"std": "application/vnd.sun.xml.draw.template",
"sxi": "application/vnd.sun.xml.impress",
"sti": "application/vnd.sun.xml.impress.template",
"sxm": "application/vnd.sun.xml.math",
"sxw": "application/vnd.sun.xml.writer",
"sxg": "application/vnd.sun.xml.writer.global",
"stw": "application/vnd.sun.xml.writer.template",
"sus": "application/vnd.sus-calendar",
"svd": "application/vnd.svd",
"sis": "application/vnd.symbian.install",
"xsm": "application/vnd.syncml+xml",
"bdm": "application/vnd.syncml.dm+wbxml",
"xdm": "application/vnd.syncml.dm+xml",
"tao": "application/vnd.tao.intent-module-archive",
"pcap": "application/vnd.tcpdump.pcap",
"tmo": "application/vnd.tmobile-livetv",
"tpt": "application/vnd.trid.tpt",
"mxs": "application/vnd.triscape.mxs",
"tra": "application/vnd.trueapp",
"ufd": "application/vnd.ufdl",
"utz": "application/vnd.uiq.theme",
"umj": "application/vnd.umajin",
"unityweb": "application/vnd.unity",
"uoml": "application/vnd.uoml+xml",
"vcx": "application/vnd.vcx",
"vsd": "application/vnd.visio",
"vis": "application/vnd.visionary",
"vsf": "application/vnd.vsf",
"wbxml": "application/vnd.wap.wbxml",
"wmlc": "application/vnd.wap.wmlc",
"wmlsc": "application/vnd.wap.wmlscriptc",
"wtb": "application/vnd.webturbo",
"nbp": "application/vnd.wolfram.player",
"wpd": "application/vnd.wordperfect",
"wqd": "application/vnd.wqd",
"stf": "application/vnd.wt.stf",
"xar": "application/vnd.xara",
"xfdl": "application/vnd.xfdl",
"hvd": "application/vnd.yamaha.hv-dic",
"hvs": "application/vnd.yamaha.hv-script",
"hvp": "application/vnd.yamaha.hv-voice",
"osf": "application/vnd.yamaha.openscoreformat",
"osfpvg": "application/vnd.yamaha.openscoreformat.osfpvg+xml",
"saf": "application/vnd.yamaha.smaf-audio",
"spf": "application/vnd.yamaha.smaf-phrase",
"cmp": "application/vnd.yellowriver-custom-menu",
"zir": "application/vnd.zul",
"zaz": "application/vnd.zzazz.deck+xml",
"vxml": "application/voicexml+xml",
"wgt": "application/widget",
"hlp": "application/winhlp",
"wsdl": "application/wsdl+xml",
"wspolicy": "application/wspolicy+xml",
"7z": "application/x-7z-compressed",
"abw": "application/x-abiword",
"ace": "application/x-ace-compressed",
"dmg": "application/x-apple-diskimage",
"aab": "application/x-authorware-bin",
"aam": "application/x-authorware-map",
"aas": "application/x-authorware-seg",
"bcpio": "application/x-bcpio",
"torrent": "application/x-bittorrent",
"blb": "application/x-blorb",
"bz": "application/x-bzip",
"bz2": "application/x-bzip2",
"cbr": "application/x-cbr",
"vcd": "application/x-cdlink",
"cfs": "application/x-cfs-compressed",
"chat": "application/x-chat",
"pgn": "application/x-chess-pgn",
"nsc": "application/x-conference",
"cpio": "application/x-cpio",
"csh": "application/x-csh",
"deb": "application/x-debian-package",
"dgc": "application/x-dgc-compressed",
"dir": "application/x-director",
"wad": "application/x-doom",
"ncx": "application/x-dtbncx+xml",
"dtb": "application/x-dtbook+xml",
"res": "application/x-dtbresource+xml",
"dvi": "application/x-dvi",
"evy": "application/x-envoy",
"eva": "application/x-eva",
"bdf": "application/x-font-bdf",
"gsf": "application/x-font-ghostscript",
"psf": "application/x-font-linux-psf",
"pcf": "application/x-font-pcf",
"snf": "application/x-font-snf",
"pfa": "application/x-font-type1",
"arc": "application/x-freearc",
"spl": "application/x-futuresplash",
"gca": "application/x-gca-compressed",
"ulx": "application/x-glulx",
"gnumeric": "application/x-gnumeric",
"gramps": "application/x-gramps-xml",
"gtar": "application/x-gtar",
"hdf": "application/x-hdf",
"install": "application/x-install-instructions",
"iso": "application/x-iso9660-image",
"jnlp": "application/x-java-jnlp-file",
"latex": "application/x-latex",
"lzh": "application/x-lzh-compressed",
"mie": "application/x-mie",
"prc": "application/x-mobipocket-ebook",
"application": "application/x-ms-application",
"lnk": "application/x-ms-shortcut",
"wmd": "application/x-ms-wmd",
"wmz": "application/x-ms-wmz",
"xbap": "application/x-ms-xbap",
"mdb": "application/x-msaccess",
"obd": "application/x-msbinder",
"crd": "application/x-mscardfile",
"clp": "application/x-msclip",
"exe": "application/x-msdownload",
"mvb": "application/x-msmediaview",
"wmf": "application/x-msmetafile",
"mny": "application/x-msmoney",
"pub": "application/x-mspublisher",
"scd": "application/x-msschedule",
"trm": "application/x-msterminal",
"wri": "application/x-mswrite",
"nc": "application/x-netcdf",
"nzb": "application/x-nzb",
"p12": "application/x-pkcs12",
"p7b": "application/x-pkcs7-certificates",
"p7r": "application/x-pkcs7-certreqresp",
"rar": "application/x-rar-compressed",
"ris": "application/x-research-info-systems",
"sh": "application/x-sh",
"shar": "application/x-shar",
"swf": "application/x-shockwave-flash",
"xap": "application/x-silverlight-app",
"sql": "application/x-sql",
"sit": "application/x-stuffit",
"sitx": "application/x-stuffitx",
"srt": "application/x-subrip",
"sv4cpio": "application/x-sv4cpio",
"sv4crc": "application/x-sv4crc",
"t3": "application/x-t3vm-image",
"gam": "application/x-tads",
"tar": "application/x-tar",
"tcl": "application/x-tcl",
"tex": "application/x-tex",
"tfm": "application/x-tex-tfm",
"texinfo": "application/x-texinfo",
"obj": "application/x-tgif",
"ustar": "application/x-ustar",
"src": "application/x-wais-source",
"der": "application/x-x509-ca-cert",
"fig": "application/x-xfig",
"xlf": "application/x-xliff+xml",
"xpi": "application/x-xpinstall",
"xz": "application/x-xz",
"z1": "application/x-zmachine",
"xaml": "application/xaml+xml",
"xdf": "application/xcap-diff+xml",
"xenc": "application/xenc+xml",
"xhtml": "application/xhtml+xml",
"xml": "application/xml",
"dtd": "application/xml-dtd",
"xop": "application/xop+xml",
"xpl": "application/xproc+xml",
"xslt": "application/xslt+xml",
"xspf": "application/xspf+xml",
"mxml": "application/xv+xml",
"yang": "application/yang",
"yin": "application/yin+xml",
"zip": "application/zip",
"adp": "audio/adpcm",
"au": "audio/basic",
"mid": "audio/midi",
"m4a": "audio/mp4",
"mpga": "audio/mpeg",
"oga": "audio/ogg",
"s3m": "audio/s3m",
"sil": "audio/silk",
"uva": "audio/vnd.dece.audio",
"eol": "audio/vnd.digital-winds",
"dra": "audio/vnd.dra",
"dts": "audio/vnd.dts",
"dtshd": "audio/vnd.dts.hd",
"lvp": "audio/vnd.lucent.voice",
"pya": "audio/vnd.ms-playready.media.pya",
"ecelp4800": "audio/vnd.nuera.ecelp4800",
"ecelp7470": "audio/vnd.nuera.ecelp7470",
"ecelp9600": "audio/vnd.nuera.ecelp9600",
"rip": "audio/vnd.rip",
"weba": "audio/webm",
"aac": "audio/x-aac",
"aif": "audio/x-aiff",
"caf": "audio/x-caf",
"flac": "audio/x-flac",
"mka": "audio/x-matroska",
"m3u": "audio/x-mpegurl",
"wax": "audio/x-ms-wax",
"wma": "audio/x-ms-wma",
"ram": "audio/x-pn-realaudio",
"rmp": "audio/x-pn-realaudio-plugin",
"wav": "audio/x-wav",
"xm": "audio/xm",
"cdx": "chemical/x-cdx",
"cif": "chemical/x-cif",
"cmdf": "chemical/x-cmdf",
"cml": "chemical/x-cml",
"csml": "chemical/x-csml",
"xyz": "chemical/x-xyz",
"ttc": "font/collection",
"otf": "font/otf",
"ttf": "font/ttf",
"woff": "font/woff",
"woff2": "font/woff2",
"bmp": "image/bmp",
"cgm": "image/cgm",
"g3": "image/g3fax",
"gif": "image/gif",
"ief": "image/ief",
"jpeg": "image/jpeg",
"ktx": "image/ktx",
"png": "image/png",
"btif": "image/prs.btif",
"sgi": "image/sgi",
"svg": "image/svg+xml",
"tiff": "image/tiff",
"psd": "image/vnd.adobe.photoshop",
"uvi": "image/vnd.dece.graphic",
"djvu": "image/vnd.djvu",
"sub": "text/vnd.dvb.subtitle",
"dwg": "image/vnd.dwg",
"dxf": "image/vnd.dxf",
"fbs": "image/vnd.fastbidsheet",
"fpx": "image/vnd.fpx",
"fst": "image/vnd.fst",
"mmr": "image/vnd.fujixerox.edmics-mmr",
"rlc": "image/vnd.fujixerox.edmics-rlc",
"mdi": "image/vnd.ms-modi",
"wdp": "image/vnd.ms-photo",
"npx": "image/vnd.net-fpx",
"wbmp": "image/vnd.wap.wbmp",
"xif": "image/vnd.xiff",
"webp": "image/webp",
"3ds": "image/x-3ds",
"ras": "image/x-cmu-raster",
"cmx": "image/x-cmx",
"fh": "image/x-freehand",
"ico": "image/x-icon",
"sid": "image/x-mrsid-image",
"pcx": "image/x-pcx",
"pic": "image/x-pict",
"pnm": "image/x-portable-anymap",
"pbm": "image/x-portable-bitmap",
"pgm": "image/x-portable-graymap",
"ppm": "image/x-portable-pixmap",
"rgb": "image/x-rgb",
"tga": "image/x-tga",
"xbm": "image/x-xbitmap",
"xpm": "image/x-xpixmap",
"xwd": "image/x-xwindowdump",
"eml": "message/rfc822",
"igs": "model/iges",
"msh": "model/mesh",
"dae": "model/vnd.collada+xml",
"dwf": "model/vnd.dwf",
"gdl": "model/vnd.gdl",
"gtw": "model/vnd.gtw",
"mts": "model/vnd.mts",
"vtu": "model/vnd.vtu",
"wrl": "model/vrml",
"x3db": "model/x3d+binary",
"x3dv": "model/x3d+vrml",
"x3d": "model/x3d+xml",
"appcache": "text/cache-manifest",
"ics": "text/calendar",
"css": "text/css",
"csv": "text/csv",
"html": "text/html",
"js": "text/javascript",
"n3": "text/n3",
"txt": "text/plain",
"dsc": "text/prs.lines.tag",
"rtx": "text/richtext",
"sgml": "text/sgml",
"tsv": "text/tab-separated-values",
"t": "text/troff",
"ttl": "text/turtle",
"uri": "text/uri-list",
"vcard": "text/vcard",
"curl": "text/vnd.curl",
"dcurl": "text/vnd.curl.dcurl",
"mcurl": "text/vnd.curl.mcurl",
"scurl": "text/vnd.curl.scurl",
"fly": "text/vnd.fly",
"flx": "text/vnd.fmi.flexstor",
"gv": "text/vnd.graphviz",
"3dml": "text/vnd.in3d.3dml",
"spot": "text/vnd.in3d.spot",
"jad": "text/vnd.sun.j2me.app-descriptor",
"wml": "text/vnd.wap.wml",
"wmls": "text/vnd.wap.wmlscript",
"s": "text/x-asm",
"c": "text/x-c",
"f": "text/x-fortran",
"java": "text/x-java-source",
"nfo": "text/x-nfo",
"opml": "text/x-opml",
"p": "text/x-pascal",
"etx": "text/x-setext",
"sfv": "text/x-sfv",
"uu": "text/x-uuencode",
"vcs": "text/x-vcalendar",
"vcf": "text/x-vcard",
"3gp": "video/3gpp",
"3g2": "video/3gpp2",
"h261": "video/h261",
"h263": "video/h263",
"h264": "video/h264",
"jpgv": "video/jpeg",
"jpm": "video/jpm",
"mj2": "video/mj2",
"mp4": "video/mp4",
"mpeg": "video/mpeg",
"ogv": "video/ogg",
"qt": "video/quicktime",
"uvh": "video/vnd.dece.hd",
"uvm": "video/vnd.dece.mobile",
"uvp": "video/vnd.dece.pd",
"uvs": "video/vnd.dece.sd",
"uvv": "video/vnd.dece.video",
"dvb": "video/vnd.dvb.file",
"fvt": "video/vnd.fvt",
"mxu": "video/vnd.mpegurl",
"pyv": "video/vnd.ms-playready.media.pyv",
"uvu": "video/vnd.uvvu.mp4",
"viv": "video/vnd.vivo",
"webm": "video/webm",
"f4v": "video/x-f4v",
"fli": "video/x-fli",
"flv": "video/x-flv",
"m4v": "video/x-m4v",
"mkv": "video/x-matroska",
"mng": "video/x-mng",
"asf": "video/x-ms-asf",
"vob": "video/x-ms-vob",
"wm": "video/x-ms-wm",
"wmv": "video/x-ms-wmv",
"wmx": "video/x-ms-wmx",
"wvx": "video/x-ms-wvx",
"avi": "video/x-msvideo",
"movie": "video/x-sgi-movie",
"smv": "video/x-smv",
"ice": "x-conference/x-cooltalk"
}

View File

@ -0,0 +1,34 @@
'use strict';
const fs = require('fs/promises');
function swap(object) {
const swapped = {};
for (const key of Object.keys(object)) {
swapped[object[key]] = key;
}
return swapped;
}
(async () => {
const file = await fs.readFile(__dirname + '/apache-list.txt');
const lines = file
.toString()
.split('\n')
.filter((l) => l.charAt(0) !== '#')
.filter((l) => l.trim());
const entries = lines.map((l) => l.split(/\s+/));
const mimeMap = Object.fromEntries(entries);
const extMap = swap(mimeMap);
await fs.writeFile(
__dirname + '/apache-mime.json',
JSON.stringify(mimeMap, null, 2)
);
await fs.writeFile(
__dirname + '/apache-ext.json',
JSON.stringify(extMap, null, 2)
);
})();

1858
js/mimetypes/apache-list.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,769 @@
{
"application/andrew-inset": "ez",
"application/applixware": "aw",
"application/atom+xml": "atom",
"application/atomcat+xml": "atomcat",
"application/atomsvc+xml": "atomsvc",
"application/ccxml+xml": "ccxml",
"application/cdmi-capability": "cdmia",
"application/cdmi-container": "cdmic",
"application/cdmi-domain": "cdmid",
"application/cdmi-object": "cdmio",
"application/cdmi-queue": "cdmiq",
"application/cu-seeme": "cu",
"application/davmount+xml": "davmount",
"application/docbook+xml": "dbk",
"application/dssc+der": "dssc",
"application/dssc+xml": "xdssc",
"application/ecmascript": "ecma",
"application/emma+xml": "emma",
"application/epub+zip": "epub",
"application/exi": "exi",
"application/font-tdpfr": "pfr",
"application/gml+xml": "gml",
"application/gpx+xml": "gpx",
"application/gxf": "gxf",
"application/hyperstudio": "stk",
"application/inkml+xml": "ink",
"application/ipfix": "ipfix",
"application/java-archive": "jar",
"application/java-serialized-object": "ser",
"application/java-vm": "class",
"application/json": "json",
"application/jsonml+json": "jsonml",
"application/lost+xml": "lostxml",
"application/mac-binhex40": "hqx",
"application/mac-compactpro": "cpt",
"application/mads+xml": "mads",
"application/marc": "mrc",
"application/marcxml+xml": "mrcx",
"application/mathematica": "ma",
"application/mathml+xml": "mathml",
"application/mbox": "mbox",
"application/mediaservercontrol+xml": "mscml",
"application/metalink+xml": "metalink",
"application/metalink4+xml": "meta4",
"application/mets+xml": "mets",
"application/mods+xml": "mods",
"application/mp21": "m21",
"application/mp4": "mp4s",
"application/msword": "doc",
"application/mxf": "mxf",
"application/octet-stream": "bin",
"application/oda": "oda",
"application/oebps-package+xml": "opf",
"application/ogg": "ogx",
"application/omdoc+xml": "omdoc",
"application/onenote": "onetoc",
"application/oxps": "oxps",
"application/patch-ops-error+xml": "xer",
"application/pdf": "pdf",
"application/pgp-encrypted": "pgp",
"application/pgp-signature": "asc",
"application/pics-rules": "prf",
"application/pkcs10": "p10",
"application/pkcs7-mime": "p7m",
"application/pkcs7-signature": "p7s",
"application/pkcs8": "p8",
"application/pkix-attr-cert": "ac",
"application/pkix-cert": "cer",
"application/pkix-crl": "crl",
"application/pkix-pkipath": "pkipath",
"application/pkixcmp": "pki",
"application/pls+xml": "pls",
"application/postscript": "ai",
"application/prs.cww": "cww",
"application/pskc+xml": "pskcxml",
"application/rdf+xml": "rdf",
"application/reginfo+xml": "rif",
"application/relax-ng-compact-syntax": "rnc",
"application/resource-lists+xml": "rl",
"application/resource-lists-diff+xml": "rld",
"application/rls-services+xml": "rs",
"application/rpki-ghostbusters": "gbr",
"application/rpki-manifest": "mft",
"application/rpki-roa": "roa",
"application/rsd+xml": "rsd",
"application/rss+xml": "rss",
"application/rtf": "rtf",
"application/sbml+xml": "sbml",
"application/scvp-cv-request": "scq",
"application/scvp-cv-response": "scs",
"application/scvp-vp-request": "spq",
"application/scvp-vp-response": "spp",
"application/sdp": "sdp",
"application/set-payment-initiation": "setpay",
"application/set-registration-initiation": "setreg",
"application/shf+xml": "shf",
"application/smil+xml": "smi",
"application/sparql-query": "rq",
"application/sparql-results+xml": "srx",
"application/srgs": "gram",
"application/srgs+xml": "grxml",
"application/sru+xml": "sru",
"application/ssdl+xml": "ssdl",
"application/ssml+xml": "ssml",
"application/tei+xml": "tei",
"application/thraud+xml": "tfi",
"application/timestamped-data": "tsd",
"application/vnd.3gpp.pic-bw-large": "plb",
"application/vnd.3gpp.pic-bw-small": "psb",
"application/vnd.3gpp.pic-bw-var": "pvb",
"application/vnd.3gpp2.tcap": "tcap",
"application/vnd.3m.post-it-notes": "pwn",
"application/vnd.accpac.simply.aso": "aso",
"application/vnd.accpac.simply.imp": "imp",
"application/vnd.acucobol": "acu",
"application/vnd.acucorp": "atc",
"application/vnd.adobe.air-application-installer-package+zip": "air",
"application/vnd.adobe.formscentral.fcdt": "fcdt",
"application/vnd.adobe.fxp": "fxp",
"application/vnd.adobe.xdp+xml": "xdp",
"application/vnd.adobe.xfdf": "xfdf",
"application/vnd.ahead.space": "ahead",
"application/vnd.airzip.filesecure.azf": "azf",
"application/vnd.airzip.filesecure.azs": "azs",
"application/vnd.amazon.ebook": "azw",
"application/vnd.americandynamics.acc": "acc",
"application/vnd.amiga.ami": "ami",
"application/vnd.android.package-archive": "apk",
"application/vnd.anser-web-certificate-issue-initiation": "cii",
"application/vnd.anser-web-funds-transfer-initiation": "fti",
"application/vnd.antix.game-component": "atx",
"application/vnd.apple.installer+xml": "mpkg",
"application/vnd.apple.mpegurl": "m3u8",
"application/vnd.aristanetworks.swi": "swi",
"application/vnd.astraea-software.iota": "iota",
"application/vnd.audiograph": "aep",
"application/vnd.blueice.multipass": "mpm",
"application/vnd.bmi": "bmi",
"application/vnd.businessobjects": "rep",
"application/vnd.chemdraw+xml": "cdxml",
"application/vnd.chipnuts.karaoke-mmd": "mmd",
"application/vnd.cinderella": "cdy",
"application/vnd.claymore": "cla",
"application/vnd.cloanto.rp9": "rp9",
"application/vnd.clonk.c4group": "c4g",
"application/vnd.cluetrust.cartomobile-config": "c11amc",
"application/vnd.cluetrust.cartomobile-config-pkg": "c11amz",
"application/vnd.commonspace": "csp",
"application/vnd.contact.cmsg": "cdbcmsg",
"application/vnd.cosmocaller": "cmc",
"application/vnd.crick.clicker": "clkx",
"application/vnd.crick.clicker.keyboard": "clkk",
"application/vnd.crick.clicker.palette": "clkp",
"application/vnd.crick.clicker.template": "clkt",
"application/vnd.crick.clicker.wordbank": "clkw",
"application/vnd.criticaltools.wbs+xml": "wbs",
"application/vnd.ctc-posml": "pml",
"application/vnd.cups-ppd": "ppd",
"application/vnd.curl.car": "car",
"application/vnd.curl.pcurl": "pcurl",
"application/vnd.dart": "dart",
"application/vnd.data-vision.rdz": "rdz",
"application/vnd.dece.data": "uvf",
"application/vnd.dece.ttml+xml": "uvt",
"application/vnd.dece.unspecified": "uvx",
"application/vnd.dece.zip": "uvz",
"application/vnd.denovo.fcselayout-link": "fe_launch",
"application/vnd.dna": "dna",
"application/vnd.dolby.mlp": "mlp",
"application/vnd.dpgraph": "dpg",
"application/vnd.dreamfactory": "dfac",
"application/vnd.ds-keypoint": "kpxx",
"application/vnd.dvb.ait": "ait",
"application/vnd.dvb.service": "svc",
"application/vnd.dynageo": "geo",
"application/vnd.ecowin.chart": "mag",
"application/vnd.enliven": "nml",
"application/vnd.epson.esf": "esf",
"application/vnd.epson.msf": "msf",
"application/vnd.epson.quickanime": "qam",
"application/vnd.epson.salt": "slt",
"application/vnd.epson.ssf": "ssf",
"application/vnd.eszigno3+xml": "es3",
"application/vnd.ezpix-album": "ez2",
"application/vnd.ezpix-package": "ez3",
"application/vnd.fdf": "fdf",
"application/vnd.fdsn.mseed": "mseed",
"application/vnd.fdsn.seed": "seed",
"application/vnd.flographit": "gph",
"application/vnd.fluxtime.clip": "ftc",
"application/vnd.framemaker": "fm",
"application/vnd.frogans.fnc": "fnc",
"application/vnd.frogans.ltf": "ltf",
"application/vnd.fsc.weblaunch": "fsc",
"application/vnd.fujitsu.oasys": "oas",
"application/vnd.fujitsu.oasys2": "oa2",
"application/vnd.fujitsu.oasys3": "oa3",
"application/vnd.fujitsu.oasysgp": "fg5",
"application/vnd.fujitsu.oasysprs": "bh2",
"application/vnd.fujixerox.ddd": "ddd",
"application/vnd.fujixerox.docuworks": "xdw",
"application/vnd.fujixerox.docuworks.binder": "xbd",
"application/vnd.fuzzysheet": "fzs",
"application/vnd.genomatix.tuxedo": "txd",
"application/vnd.geogebra.file": "ggb",
"application/vnd.geogebra.tool": "ggt",
"application/vnd.geometry-explorer": "gex",
"application/vnd.geonext": "gxt",
"application/vnd.geoplan": "g2w",
"application/vnd.geospace": "g3w",
"application/vnd.gmx": "gmx",
"application/vnd.google-earth.kml+xml": "kml",
"application/vnd.google-earth.kmz": "kmz",
"application/vnd.grafeq": "gqf",
"application/vnd.groove-account": "gac",
"application/vnd.groove-help": "ghf",
"application/vnd.groove-identity-message": "gim",
"application/vnd.groove-injector": "grv",
"application/vnd.groove-tool-message": "gtm",
"application/vnd.groove-tool-template": "tpl",
"application/vnd.groove-vcard": "vcg",
"application/vnd.hal+xml": "hal",
"application/vnd.handheld-entertainment+xml": "zmm",
"application/vnd.hbci": "hbci",
"application/vnd.hhe.lesson-player": "les",
"application/vnd.hp-hpgl": "hpgl",
"application/vnd.hp-hpid": "hpid",
"application/vnd.hp-hps": "hps",
"application/vnd.hp-jlyt": "jlt",
"application/vnd.hp-pcl": "pcl",
"application/vnd.hp-pclxl": "pclxl",
"application/vnd.hydrostatix.sof-data": "sfd-hdstx",
"application/vnd.ibm.minipay": "mpy",
"application/vnd.ibm.modcap": "afp",
"application/vnd.ibm.rights-management": "irm",
"application/vnd.ibm.secure-container": "sc",
"application/vnd.iccprofile": "icc",
"application/vnd.igloader": "igl",
"application/vnd.immervision-ivp": "ivp",
"application/vnd.immervision-ivu": "ivu",
"application/vnd.insors.igm": "igm",
"application/vnd.intercon.formnet": "xpw",
"application/vnd.intergeo": "i2g",
"application/vnd.intu.qbo": "qbo",
"application/vnd.intu.qfx": "qfx",
"application/vnd.ipunplugged.rcprofile": "rcprofile",
"application/vnd.irepository.package+xml": "irp",
"application/vnd.is-xpr": "xpr",
"application/vnd.isac.fcs": "fcs",
"application/vnd.jam": "jam",
"application/vnd.jcp.javame.midlet-rms": "rms",
"application/vnd.jisp": "jisp",
"application/vnd.joost.joda-archive": "joda",
"application/vnd.kahootz": "ktz",
"application/vnd.kde.karbon": "karbon",
"application/vnd.kde.kchart": "chrt",
"application/vnd.kde.kformula": "kfo",
"application/vnd.kde.kivio": "flw",
"application/vnd.kde.kontour": "kon",
"application/vnd.kde.kpresenter": "kpr",
"application/vnd.kde.kspread": "ksp",
"application/vnd.kde.kword": "kwd",
"application/vnd.kenameaapp": "htke",
"application/vnd.kidspiration": "kia",
"application/vnd.kinar": "kne",
"application/vnd.koan": "skp",
"application/vnd.kodak-descriptor": "sse",
"application/vnd.las.las+xml": "lasxml",
"application/vnd.llamagraphics.life-balance.desktop": "lbd",
"application/vnd.llamagraphics.life-balance.exchange+xml": "lbe",
"application/vnd.lotus-1-2-3": "123",
"application/vnd.lotus-approach": "apr",
"application/vnd.lotus-freelance": "pre",
"application/vnd.lotus-notes": "nsf",
"application/vnd.lotus-organizer": "org",
"application/vnd.lotus-screencam": "scm",
"application/vnd.lotus-wordpro": "lwp",
"application/vnd.macports.portpkg": "portpkg",
"application/vnd.mcd": "mcd",
"application/vnd.medcalcdata": "mc1",
"application/vnd.mediastation.cdkey": "cdkey",
"application/vnd.mfer": "mwf",
"application/vnd.mfmp": "mfm",
"application/vnd.micrografx.flo": "flo",
"application/vnd.micrografx.igx": "igx",
"application/vnd.mif": "mif",
"application/vnd.mobius.daf": "daf",
"application/vnd.mobius.dis": "dis",
"application/vnd.mobius.mbk": "mbk",
"application/vnd.mobius.mqy": "mqy",
"application/vnd.mobius.msl": "msl",
"application/vnd.mobius.plc": "plc",
"application/vnd.mobius.txf": "txf",
"application/vnd.mophun.application": "mpn",
"application/vnd.mophun.certificate": "mpc",
"application/vnd.mozilla.xul+xml": "xul",
"application/vnd.ms-artgalry": "cil",
"application/vnd.ms-cab-compressed": "cab",
"application/vnd.ms-excel": "xls",
"application/vnd.ms-excel.addin.macroenabled.12": "xlam",
"application/vnd.ms-excel.sheet.binary.macroenabled.12": "xlsb",
"application/vnd.ms-excel.sheet.macroenabled.12": "xlsm",
"application/vnd.ms-excel.template.macroenabled.12": "xltm",
"application/vnd.ms-fontobject": "eot",
"application/vnd.ms-htmlhelp": "chm",
"application/vnd.ms-ims": "ims",
"application/vnd.ms-lrm": "lrm",
"application/vnd.ms-officetheme": "thmx",
"application/vnd.ms-pki.seccat": "cat",
"application/vnd.ms-pki.stl": "stl",
"application/vnd.ms-powerpoint": "ppt",
"application/vnd.ms-powerpoint.addin.macroenabled.12": "ppam",
"application/vnd.ms-powerpoint.presentation.macroenabled.12": "pptm",
"application/vnd.ms-powerpoint.slide.macroenabled.12": "sldm",
"application/vnd.ms-powerpoint.slideshow.macroenabled.12": "ppsm",
"application/vnd.ms-powerpoint.template.macroenabled.12": "potm",
"application/vnd.ms-project": "mpp",
"application/vnd.ms-word.document.macroenabled.12": "docm",
"application/vnd.ms-word.template.macroenabled.12": "dotm",
"application/vnd.ms-works": "wps",
"application/vnd.ms-wpl": "wpl",
"application/vnd.ms-xpsdocument": "xps",
"application/vnd.mseq": "mseq",
"application/vnd.musician": "mus",
"application/vnd.muvee.style": "msty",
"application/vnd.mynfc": "taglet",
"application/vnd.neurolanguage.nlu": "nlu",
"application/vnd.nitf": "ntf",
"application/vnd.noblenet-directory": "nnd",
"application/vnd.noblenet-sealer": "nns",
"application/vnd.noblenet-web": "nnw",
"application/vnd.nokia.n-gage.data": "ngdat",
"application/vnd.nokia.n-gage.symbian.install": "n-gage",
"application/vnd.nokia.radio-preset": "rpst",
"application/vnd.nokia.radio-presets": "rpss",
"application/vnd.novadigm.edm": "edm",
"application/vnd.novadigm.edx": "edx",
"application/vnd.novadigm.ext": "ext",
"application/vnd.oasis.opendocument.chart": "odc",
"application/vnd.oasis.opendocument.chart-template": "otc",
"application/vnd.oasis.opendocument.database": "odb",
"application/vnd.oasis.opendocument.formula": "odf",
"application/vnd.oasis.opendocument.formula-template": "odft",
"application/vnd.oasis.opendocument.graphics": "odg",
"application/vnd.oasis.opendocument.graphics-template": "otg",
"application/vnd.oasis.opendocument.image": "odi",
"application/vnd.oasis.opendocument.image-template": "oti",
"application/vnd.oasis.opendocument.presentation": "odp",
"application/vnd.oasis.opendocument.presentation-template": "otp",
"application/vnd.oasis.opendocument.spreadsheet": "ods",
"application/vnd.oasis.opendocument.spreadsheet-template": "ots",
"application/vnd.oasis.opendocument.text": "odt",
"application/vnd.oasis.opendocument.text-master": "odm",
"application/vnd.oasis.opendocument.text-template": "ott",
"application/vnd.oasis.opendocument.text-web": "oth",
"application/vnd.olpc-sugar": "xo",
"application/vnd.oma.dd2+xml": "dd2",
"application/vnd.openofficeorg.extension": "oxt",
"application/vnd.openxmlformats-officedocument.presentationml.presentation": "pptx",
"application/vnd.openxmlformats-officedocument.presentationml.slide": "sldx",
"application/vnd.openxmlformats-officedocument.presentationml.slideshow": "ppsx",
"application/vnd.openxmlformats-officedocument.presentationml.template": "potx",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "xlsx",
"application/vnd.openxmlformats-officedocument.spreadsheetml.template": "xltx",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "docx",
"application/vnd.openxmlformats-officedocument.wordprocessingml.template": "dotx",
"application/vnd.osgeo.mapguide.package": "mgp",
"application/vnd.osgi.dp": "dp",
"application/vnd.osgi.subsystem": "esa",
"application/vnd.palm": "pdb",
"application/vnd.pawaafile": "paw",
"application/vnd.pg.format": "str",
"application/vnd.pg.osasli": "ei6",
"application/vnd.picsel": "efif",
"application/vnd.pmi.widget": "wg",
"application/vnd.pocketlearn": "plf",
"application/vnd.powerbuilder6": "pbd",
"application/vnd.previewsystems.box": "box",
"application/vnd.proteus.magazine": "mgz",
"application/vnd.publishare-delta-tree": "qps",
"application/vnd.pvi.ptid1": "ptid",
"application/vnd.quark.quarkxpress": "qxd",
"application/vnd.realvnc.bed": "bed",
"application/vnd.recordare.musicxml": "mxl",
"application/vnd.recordare.musicxml+xml": "musicxml",
"application/vnd.rig.cryptonote": "cryptonote",
"application/vnd.rim.cod": "cod",
"application/vnd.rn-realmedia": "rm",
"application/vnd.rn-realmedia-vbr": "rmvb",
"application/vnd.route66.link66+xml": "link66",
"application/vnd.sailingtracker.track": "st",
"application/vnd.seemail": "see",
"application/vnd.sema": "sema",
"application/vnd.semd": "semd",
"application/vnd.semf": "semf",
"application/vnd.shana.informed.formdata": "ifm",
"application/vnd.shana.informed.formtemplate": "itp",
"application/vnd.shana.informed.interchange": "iif",
"application/vnd.shana.informed.package": "ipk",
"application/vnd.simtech-mindmapper": "twd",
"application/vnd.smaf": "mmf",
"application/vnd.smart.teacher": "teacher",
"application/vnd.solent.sdkm+xml": "sdkm",
"application/vnd.spotfire.dxp": "dxp",
"application/vnd.spotfire.sfs": "sfs",
"application/vnd.stardivision.calc": "sdc",
"application/vnd.stardivision.draw": "sda",
"application/vnd.stardivision.impress": "sdd",
"application/vnd.stardivision.math": "smf",
"application/vnd.stardivision.writer": "sdw",
"application/vnd.stardivision.writer-global": "sgl",
"application/vnd.stepmania.package": "smzip",
"application/vnd.stepmania.stepchart": "sm",
"application/vnd.sun.xml.calc": "sxc",
"application/vnd.sun.xml.calc.template": "stc",
"application/vnd.sun.xml.draw": "sxd",
"application/vnd.sun.xml.draw.template": "std",
"application/vnd.sun.xml.impress": "sxi",
"application/vnd.sun.xml.impress.template": "sti",
"application/vnd.sun.xml.math": "sxm",
"application/vnd.sun.xml.writer": "sxw",
"application/vnd.sun.xml.writer.global": "sxg",
"application/vnd.sun.xml.writer.template": "stw",
"application/vnd.sus-calendar": "sus",
"application/vnd.svd": "svd",
"application/vnd.symbian.install": "sis",
"application/vnd.syncml+xml": "xsm",
"application/vnd.syncml.dm+wbxml": "bdm",
"application/vnd.syncml.dm+xml": "xdm",
"application/vnd.tao.intent-module-archive": "tao",
"application/vnd.tcpdump.pcap": "pcap",
"application/vnd.tmobile-livetv": "tmo",
"application/vnd.trid.tpt": "tpt",
"application/vnd.triscape.mxs": "mxs",
"application/vnd.trueapp": "tra",
"application/vnd.ufdl": "ufd",
"application/vnd.uiq.theme": "utz",
"application/vnd.umajin": "umj",
"application/vnd.unity": "unityweb",
"application/vnd.uoml+xml": "uoml",
"application/vnd.vcx": "vcx",
"application/vnd.visio": "vsd",
"application/vnd.visionary": "vis",
"application/vnd.vsf": "vsf",
"application/vnd.wap.wbxml": "wbxml",
"application/vnd.wap.wmlc": "wmlc",
"application/vnd.wap.wmlscriptc": "wmlsc",
"application/vnd.webturbo": "wtb",
"application/vnd.wolfram.player": "nbp",
"application/vnd.wordperfect": "wpd",
"application/vnd.wqd": "wqd",
"application/vnd.wt.stf": "stf",
"application/vnd.xara": "xar",
"application/vnd.xfdl": "xfdl",
"application/vnd.yamaha.hv-dic": "hvd",
"application/vnd.yamaha.hv-script": "hvs",
"application/vnd.yamaha.hv-voice": "hvp",
"application/vnd.yamaha.openscoreformat": "osf",
"application/vnd.yamaha.openscoreformat.osfpvg+xml": "osfpvg",
"application/vnd.yamaha.smaf-audio": "saf",
"application/vnd.yamaha.smaf-phrase": "spf",
"application/vnd.yellowriver-custom-menu": "cmp",
"application/vnd.zul": "zir",
"application/vnd.zzazz.deck+xml": "zaz",
"application/voicexml+xml": "vxml",
"application/widget": "wgt",
"application/winhlp": "hlp",
"application/wsdl+xml": "wsdl",
"application/wspolicy+xml": "wspolicy",
"application/x-7z-compressed": "7z",
"application/x-abiword": "abw",
"application/x-ace-compressed": "ace",
"application/x-apple-diskimage": "dmg",
"application/x-authorware-bin": "aab",
"application/x-authorware-map": "aam",
"application/x-authorware-seg": "aas",
"application/x-bcpio": "bcpio",
"application/x-bittorrent": "torrent",
"application/x-blorb": "blb",
"application/x-bzip": "bz",
"application/x-bzip2": "bz2",
"application/x-cbr": "cbr",
"application/x-cdlink": "vcd",
"application/x-cfs-compressed": "cfs",
"application/x-chat": "chat",
"application/x-chess-pgn": "pgn",
"application/x-conference": "nsc",
"application/x-cpio": "cpio",
"application/x-csh": "csh",
"application/x-debian-package": "deb",
"application/x-dgc-compressed": "dgc",
"application/x-director": "dir",
"application/x-doom": "wad",
"application/x-dtbncx+xml": "ncx",
"application/x-dtbook+xml": "dtb",
"application/x-dtbresource+xml": "res",
"application/x-dvi": "dvi",
"application/x-envoy": "evy",
"application/x-eva": "eva",
"application/x-font-bdf": "bdf",
"application/x-font-ghostscript": "gsf",
"application/x-font-linux-psf": "psf",
"application/x-font-pcf": "pcf",
"application/x-font-snf": "snf",
"application/x-font-type1": "pfa",
"application/x-freearc": "arc",
"application/x-futuresplash": "spl",
"application/x-gca-compressed": "gca",
"application/x-glulx": "ulx",
"application/x-gnumeric": "gnumeric",
"application/x-gramps-xml": "gramps",
"application/x-gtar": "gtar",
"application/x-hdf": "hdf",
"application/x-install-instructions": "install",
"application/x-iso9660-image": "iso",
"application/x-java-jnlp-file": "jnlp",
"application/x-latex": "latex",
"application/x-lzh-compressed": "lzh",
"application/x-mie": "mie",
"application/x-mobipocket-ebook": "prc",
"application/x-ms-application": "application",
"application/x-ms-shortcut": "lnk",
"application/x-ms-wmd": "wmd",
"application/x-ms-wmz": "wmz",
"application/x-ms-xbap": "xbap",
"application/x-msaccess": "mdb",
"application/x-msbinder": "obd",
"application/x-mscardfile": "crd",
"application/x-msclip": "clp",
"application/x-msdownload": "exe",
"application/x-msmediaview": "mvb",
"application/x-msmetafile": "wmf",
"application/x-msmoney": "mny",
"application/x-mspublisher": "pub",
"application/x-msschedule": "scd",
"application/x-msterminal": "trm",
"application/x-mswrite": "wri",
"application/x-netcdf": "nc",
"application/x-nzb": "nzb",
"application/x-pkcs12": "p12",
"application/x-pkcs7-certificates": "p7b",
"application/x-pkcs7-certreqresp": "p7r",
"application/x-rar-compressed": "rar",
"application/x-research-info-systems": "ris",
"application/x-sh": "sh",
"application/x-shar": "shar",
"application/x-shockwave-flash": "swf",
"application/x-silverlight-app": "xap",
"application/x-sql": "sql",
"application/x-stuffit": "sit",
"application/x-stuffitx": "sitx",
"application/x-subrip": "srt",
"application/x-sv4cpio": "sv4cpio",
"application/x-sv4crc": "sv4crc",
"application/x-t3vm-image": "t3",
"application/x-tads": "gam",
"application/x-tar": "tar",
"application/x-tcl": "tcl",
"application/x-tex": "tex",
"application/x-tex-tfm": "tfm",
"application/x-texinfo": "texinfo",
"application/x-tgif": "obj",
"application/x-ustar": "ustar",
"application/x-wais-source": "src",
"application/x-x509-ca-cert": "der",
"application/x-xfig": "fig",
"application/x-xliff+xml": "xlf",
"application/x-xpinstall": "xpi",
"application/x-xz": "xz",
"application/x-zmachine": "z1",
"application/xaml+xml": "xaml",
"application/xcap-diff+xml": "xdf",
"application/xenc+xml": "xenc",
"application/xhtml+xml": "xhtml",
"application/xml": "xml",
"application/xml-dtd": "dtd",
"application/xop+xml": "xop",
"application/xproc+xml": "xpl",
"application/xslt+xml": "xslt",
"application/xspf+xml": "xspf",
"application/xv+xml": "mxml",
"application/yang": "yang",
"application/yin+xml": "yin",
"application/zip": "zip",
"audio/adpcm": "adp",
"audio/basic": "au",
"audio/midi": "mid",
"audio/mp4": "m4a",
"audio/mpeg": "mpga",
"audio/ogg": "oga",
"audio/s3m": "s3m",
"audio/silk": "sil",
"audio/vnd.dece.audio": "uva",
"audio/vnd.digital-winds": "eol",
"audio/vnd.dra": "dra",
"audio/vnd.dts": "dts",
"audio/vnd.dts.hd": "dtshd",
"audio/vnd.lucent.voice": "lvp",
"audio/vnd.ms-playready.media.pya": "pya",
"audio/vnd.nuera.ecelp4800": "ecelp4800",
"audio/vnd.nuera.ecelp7470": "ecelp7470",
"audio/vnd.nuera.ecelp9600": "ecelp9600",
"audio/vnd.rip": "rip",
"audio/webm": "weba",
"audio/x-aac": "aac",
"audio/x-aiff": "aif",
"audio/x-caf": "caf",
"audio/x-flac": "flac",
"audio/x-matroska": "mka",
"audio/x-mpegurl": "m3u",
"audio/x-ms-wax": "wax",
"audio/x-ms-wma": "wma",
"audio/x-pn-realaudio": "ram",
"audio/x-pn-realaudio-plugin": "rmp",
"audio/x-wav": "wav",
"audio/xm": "xm",
"chemical/x-cdx": "cdx",
"chemical/x-cif": "cif",
"chemical/x-cmdf": "cmdf",
"chemical/x-cml": "cml",
"chemical/x-csml": "csml",
"chemical/x-xyz": "xyz",
"font/collection": "ttc",
"font/otf": "otf",
"font/ttf": "ttf",
"font/woff": "woff",
"font/woff2": "woff2",
"image/bmp": "bmp",
"image/cgm": "cgm",
"image/g3fax": "g3",
"image/gif": "gif",
"image/ief": "ief",
"image/jpeg": "jpeg",
"image/ktx": "ktx",
"image/png": "png",
"image/prs.btif": "btif",
"image/sgi": "sgi",
"image/svg+xml": "svg",
"image/tiff": "tiff",
"image/vnd.adobe.photoshop": "psd",
"image/vnd.dece.graphic": "uvi",
"image/vnd.djvu": "djvu",
"image/vnd.dvb.subtitle": "sub",
"image/vnd.dwg": "dwg",
"image/vnd.dxf": "dxf",
"image/vnd.fastbidsheet": "fbs",
"image/vnd.fpx": "fpx",
"image/vnd.fst": "fst",
"image/vnd.fujixerox.edmics-mmr": "mmr",
"image/vnd.fujixerox.edmics-rlc": "rlc",
"image/vnd.ms-modi": "mdi",
"image/vnd.ms-photo": "wdp",
"image/vnd.net-fpx": "npx",
"image/vnd.wap.wbmp": "wbmp",
"image/vnd.xiff": "xif",
"image/webp": "webp",
"image/x-3ds": "3ds",
"image/x-cmu-raster": "ras",
"image/x-cmx": "cmx",
"image/x-freehand": "fh",
"image/x-icon": "ico",
"image/x-mrsid-image": "sid",
"image/x-pcx": "pcx",
"image/x-pict": "pic",
"image/x-portable-anymap": "pnm",
"image/x-portable-bitmap": "pbm",
"image/x-portable-graymap": "pgm",
"image/x-portable-pixmap": "ppm",
"image/x-rgb": "rgb",
"image/x-tga": "tga",
"image/x-xbitmap": "xbm",
"image/x-xpixmap": "xpm",
"image/x-xwindowdump": "xwd",
"message/rfc822": "eml",
"model/iges": "igs",
"model/mesh": "msh",
"model/vnd.collada+xml": "dae",
"model/vnd.dwf": "dwf",
"model/vnd.gdl": "gdl",
"model/vnd.gtw": "gtw",
"model/vnd.mts": "mts",
"model/vnd.vtu": "vtu",
"model/vrml": "wrl",
"model/x3d+binary": "x3db",
"model/x3d+vrml": "x3dv",
"model/x3d+xml": "x3d",
"text/cache-manifest": "appcache",
"text/calendar": "ics",
"text/css": "css",
"text/csv": "csv",
"text/html": "html",
"text/javascript": "js",
"text/n3": "n3",
"text/plain": "txt",
"text/prs.lines.tag": "dsc",
"text/richtext": "rtx",
"text/sgml": "sgml",
"text/tab-separated-values": "tsv",
"text/troff": "t",
"text/turtle": "ttl",
"text/uri-list": "uri",
"text/vcard": "vcard",
"text/vnd.curl": "curl",
"text/vnd.curl.dcurl": "dcurl",
"text/vnd.curl.mcurl": "mcurl",
"text/vnd.curl.scurl": "scurl",
"text/vnd.dvb.subtitle": "sub",
"text/vnd.fly": "fly",
"text/vnd.fmi.flexstor": "flx",
"text/vnd.graphviz": "gv",
"text/vnd.in3d.3dml": "3dml",
"text/vnd.in3d.spot": "spot",
"text/vnd.sun.j2me.app-descriptor": "jad",
"text/vnd.wap.wml": "wml",
"text/vnd.wap.wmlscript": "wmls",
"text/x-asm": "s",
"text/x-c": "c",
"text/x-fortran": "f",
"text/x-java-source": "java",
"text/x-nfo": "nfo",
"text/x-opml": "opml",
"text/x-pascal": "p",
"text/x-setext": "etx",
"text/x-sfv": "sfv",
"text/x-uuencode": "uu",
"text/x-vcalendar": "vcs",
"text/x-vcard": "vcf",
"video/3gpp": "3gp",
"video/3gpp2": "3g2",
"video/h261": "h261",
"video/h263": "h263",
"video/h264": "h264",
"video/jpeg": "jpgv",
"video/jpm": "jpm",
"video/mj2": "mj2",
"video/mp4": "mp4",
"video/mpeg": "mpeg",
"video/ogg": "ogv",
"video/quicktime": "qt",
"video/vnd.dece.hd": "uvh",
"video/vnd.dece.mobile": "uvm",
"video/vnd.dece.pd": "uvp",
"video/vnd.dece.sd": "uvs",
"video/vnd.dece.video": "uvv",
"video/vnd.dvb.file": "dvb",
"video/vnd.fvt": "fvt",
"video/vnd.mpegurl": "mxu",
"video/vnd.ms-playready.media.pyv": "pyv",
"video/vnd.uvvu.mp4": "uvu",
"video/vnd.vivo": "viv",
"video/webm": "webm",
"video/x-f4v": "f4v",
"video/x-fli": "fli",
"video/x-flv": "flv",
"video/x-m4v": "m4v",
"video/x-matroska": "mkv",
"video/x-mng": "mng",
"video/x-ms-asf": "asf",
"video/x-ms-vob": "vob",
"video/x-ms-wm": "wm",
"video/x-ms-wmv": "wmv",
"video/x-ms-wmx": "wmx",
"video/x-ms-wvx": "wvx",
"video/x-msvideo": "avi",
"video/x-sgi-movie": "movie",
"video/x-smv": "smv",
"x-conference/x-cooltalk": "ice"
}

View File

@ -0,0 +1,35 @@
'use strict';
const fs = require('fs').promises;
const LESSON_COUNT = 35;
const LESSON_COUNT_ONE_SEGMENT = Math.floor(LESSON_COUNT / 3)
const LIKE = 'JA';
const DISLIKE = 'NEE';
const NOT_SPECIFIED = '-';
function generateRandomChoices() {
const choices = Array(LESSON_COUNT).fill(NOT_SPECIFIED);
let indexes = choices.map((_, i) => i);
for (let iter = 0; iter < LESSON_COUNT_ONE_SEGMENT; iter++) {
const index = indexes[Math.floor(Math.random() * indexes.length * 0.8)];
choices[index] = LIKE;
indexes = indexes.filter(x => x !== index);
}
for (let iter = 0; iter < LESSON_COUNT_ONE_SEGMENT; iter++) {
const index = indexes[Math.floor(Math.random() * indexes.length)];
choices[index] = DISLIKE;
indexes = indexes.filter(x => x !== index);
}
return choices;
}
const allChoices = Array(130).fill('')
.map(() => generateRandomChoices().join('\t'))
.join('\n');
fs.writeFile('flexrooster-inschrijvingen.tsv', allChoices + '\n');

View File

@ -0,0 +1,130 @@
NEE NEE - JA JA - - NEE - - JA NEE - - JA - NEE JA NEE JA JA JA JA - NEE NEE - JA JA - NEE NEE - NEE -
NEE NEE - - NEE - JA NEE JA JA - JA NEE JA JA JA - - JA JA - - NEE JA NEE - JA NEE NEE - - NEE NEE - -
NEE - - JA - JA JA JA NEE - JA - JA NEE - NEE NEE NEE JA JA - - NEE JA JA NEE - - JA - NEE NEE - - NEE
JA NEE - - JA NEE - - - JA NEE JA - - JA NEE JA JA JA - NEE NEE NEE NEE - JA JA JA NEE - - - NEE - NEE
JA JA NEE JA NEE - - JA - - JA - - - JA JA JA NEE JA NEE JA JA - NEE NEE - NEE NEE - NEE - - NEE - NEE
JA NEE - NEE - - NEE - NEE JA NEE NEE JA JA NEE - NEE NEE NEE JA JA JA JA - JA - JA - JA NEE - - - - -
JA - NEE JA NEE JA NEE JA - - - NEE - JA JA NEE - JA NEE NEE - JA - JA NEE NEE JA JA NEE - - - - - NEE
NEE - JA JA JA JA JA - - - - JA JA NEE NEE - NEE JA NEE - JA NEE JA - NEE JA NEE - NEE NEE - - - - NEE
NEE - - - JA NEE - NEE - NEE JA JA - JA - NEE JA JA - JA JA NEE - JA JA NEE NEE NEE JA NEE - - - - NEE
JA JA NEE - NEE JA - JA NEE NEE JA JA JA NEE - NEE NEE NEE JA - JA JA - JA NEE - NEE - - - NEE - - - -
JA NEE - NEE NEE NEE - JA JA JA JA NEE JA JA NEE JA JA - - - NEE - JA - - NEE JA NEE - - NEE - - - NEE
NEE JA - NEE NEE JA - NEE NEE - - JA - JA JA - - JA NEE NEE NEE NEE - JA JA JA JA - JA NEE - - - NEE -
NEE NEE JA - JA NEE NEE NEE - - JA - NEE - - JA - JA - NEE JA - JA - JA JA NEE JA NEE JA NEE - - - NEE
NEE JA JA - - JA - NEE NEE NEE JA JA - JA - NEE - - - JA - JA NEE - JA - JA JA - NEE NEE - NEE NEE NEE
- JA NEE JA JA JA - NEE - - JA NEE JA NEE - - JA JA - NEE JA - JA NEE NEE NEE JA - - - NEE NEE - - NEE
- NEE JA NEE - NEE - JA NEE JA JA - JA NEE JA JA NEE NEE JA NEE JA JA NEE - - - - - NEE JA NEE - - - -
JA - - JA JA NEE JA JA JA NEE - - - JA NEE JA - - NEE JA NEE - NEE JA NEE NEE - - JA - NEE - - NEE NEE
- JA JA JA NEE JA - NEE JA JA - JA NEE NEE NEE NEE JA - NEE JA - NEE - NEE - - JA - JA - - NEE - - NEE
JA JA - NEE NEE - - - - JA JA NEE - JA JA NEE JA - NEE - JA NEE JA NEE NEE - JA NEE JA - - - NEE - NEE
- - JA JA - JA JA JA NEE NEE JA - JA JA NEE - - - NEE NEE JA NEE NEE NEE NEE JA - JA - - NEE - - NEE -
- - - - - JA - - JA JA NEE - JA - - JA - JA JA JA NEE JA NEE NEE JA - NEE NEE NEE JA NEE NEE - NEE NEE
- NEE - JA JA - NEE NEE NEE JA JA NEE JA - - - JA NEE JA - NEE NEE JA JA - JA - JA - - NEE NEE - NEE -
JA JA - NEE JA NEE NEE - - - NEE JA JA - JA NEE NEE JA - - JA JA JA NEE NEE - - JA - NEE NEE NEE - - -
- JA - JA JA NEE - JA - NEE - JA - JA JA - NEE JA JA JA NEE - - NEE - JA - - - NEE NEE NEE NEE NEE NEE
JA - NEE JA JA NEE JA - JA JA JA NEE NEE JA - NEE JA NEE JA - - NEE JA NEE - - NEE - NEE - - - - - NEE
NEE NEE JA NEE NEE NEE JA NEE JA - - NEE JA JA - - JA JA - NEE NEE JA JA - JA - JA - NEE - NEE - - - -
NEE - - NEE JA JA JA - JA NEE - - - - - JA JA JA NEE JA - JA - NEE NEE JA NEE JA - NEE - NEE NEE NEE -
JA - NEE - JA - JA NEE - JA - - NEE JA NEE JA JA - - NEE JA JA NEE NEE NEE NEE JA - JA - NEE NEE - - -
JA NEE JA NEE JA - - - NEE - JA JA JA NEE JA JA NEE NEE JA JA - - NEE NEE NEE - - - JA - NEE - NEE - -
JA - NEE JA NEE - - - - - JA JA JA NEE NEE JA NEE JA - JA JA - - JA NEE NEE NEE JA - - NEE NEE NEE - -
NEE JA - JA NEE JA - JA - - - NEE NEE JA JA - NEE JA - JA NEE - JA - NEE - NEE JA JA NEE NEE - - - NEE
NEE - - JA NEE - JA JA JA - - - - - NEE NEE JA JA JA JA - JA NEE - NEE NEE JA NEE - JA - NEE NEE NEE -
- - JA NEE JA NEE JA NEE - - JA - - JA - JA - JA NEE NEE - JA JA JA NEE JA - NEE NEE - - NEE NEE - NEE
- - - JA - - NEE NEE JA NEE - NEE JA JA JA JA NEE - NEE JA JA - - JA - - JA NEE JA NEE NEE - NEE - NEE
- - JA NEE NEE NEE - JA JA - NEE - - NEE - JA JA - JA NEE NEE JA JA JA - JA JA NEE - NEE NEE - - - NEE
NEE NEE - JA - - JA JA - - - NEE JA JA - NEE NEE NEE - JA JA JA NEE NEE JA - - JA JA NEE - NEE NEE - -
JA JA JA JA JA JA NEE - NEE - JA JA NEE - NEE NEE - - - - JA - NEE - JA NEE NEE NEE - JA NEE - - - NEE
JA JA - NEE JA - - NEE JA JA NEE NEE - - JA JA NEE - NEE - JA JA - JA NEE NEE NEE JA - - - NEE - NEE -
- JA NEE JA JA NEE JA - JA NEE JA JA - - NEE NEE JA NEE NEE - NEE JA - JA - - - JA NEE - - - NEE - NEE
- JA - JA JA - JA NEE JA JA JA NEE - - NEE - - JA - JA JA NEE NEE NEE JA NEE - NEE - - NEE - - NEE NEE
NEE NEE NEE JA JA - - - JA - JA NEE JA - NEE JA - JA JA JA - JA NEE NEE - JA - - NEE NEE - NEE - - NEE
JA NEE JA NEE - JA JA NEE - NEE JA - NEE - JA - - NEE - JA NEE JA - - - JA JA NEE NEE JA - - - NEE NEE
- - JA NEE - JA NEE - NEE JA NEE JA JA JA - NEE NEE JA NEE NEE JA NEE - - JA NEE - JA - JA NEE - - - -
NEE NEE NEE JA - - - - JA - - JA JA JA JA JA NEE JA JA NEE NEE NEE JA - - - NEE JA - NEE NEE - NEE - -
NEE NEE NEE JA JA - JA JA NEE JA NEE JA NEE JA NEE - JA JA NEE NEE JA - - - JA - - - - NEE NEE - - - -
- NEE JA JA JA NEE - - JA NEE NEE JA - - NEE NEE - JA JA JA - JA JA - NEE JA - NEE NEE NEE NEE - - - -
- JA - NEE - JA JA - JA JA - JA - JA - JA JA JA JA - - NEE NEE NEE NEE - NEE - NEE NEE NEE NEE - - NEE
- - - JA - - NEE - JA JA JA JA JA NEE NEE - JA - NEE - NEE - JA - JA NEE NEE JA JA NEE - NEE - NEE NEE
- JA NEE JA JA JA NEE - NEE JA - NEE NEE NEE NEE JA - JA NEE JA JA - JA - - - - JA - - NEE - NEE NEE -
NEE NEE - NEE NEE JA NEE JA NEE - JA JA JA - JA NEE JA JA NEE - JA NEE - - NEE - - JA JA - - - NEE - -
NEE JA JA NEE JA NEE NEE NEE - JA - NEE NEE NEE NEE JA NEE - - - - JA JA JA JA - JA - JA NEE - - - - -
NEE NEE JA - - JA JA JA JA JA - NEE JA - JA - JA - - - - - JA JA - NEE NEE NEE NEE NEE - NEE - NEE NEE
- JA NEE - JA NEE - - - JA JA NEE JA NEE - JA - JA JA NEE NEE JA JA NEE - - - NEE NEE JA - NEE - NEE -
JA JA NEE JA JA - - JA JA JA - NEE NEE NEE NEE JA - NEE - NEE JA - - NEE JA - - JA NEE - - - NEE NEE -
JA - NEE NEE - JA JA NEE JA JA - - JA JA JA - NEE - NEE NEE JA NEE JA - NEE JA - - - NEE NEE - - - NEE
NEE JA - - JA JA - NEE - NEE JA NEE NEE - JA NEE - - JA JA JA NEE JA - NEE JA - - JA - NEE NEE - - NEE
JA - NEE - - NEE JA NEE - - - JA JA - JA NEE JA JA JA NEE NEE JA - NEE JA NEE JA - - - NEE NEE - - NEE
JA - NEE JA - JA - NEE NEE - JA - JA NEE NEE JA - - JA JA - JA JA NEE - - JA NEE NEE - NEE - - NEE NEE
- - JA JA NEE NEE - NEE JA NEE NEE NEE - - - JA JA - NEE NEE JA - - JA JA JA JA - JA - NEE - NEE - NEE
- JA JA - JA JA - - JA NEE - JA NEE - NEE NEE - JA JA - NEE NEE JA - NEE - JA JA - - NEE NEE - NEE NEE
JA JA NEE NEE - NEE NEE - JA NEE - NEE - - JA NEE NEE JA JA - NEE JA JA - - JA JA - JA NEE - - NEE - -
NEE JA - - - NEE - - JA JA JA NEE JA - JA NEE NEE NEE - NEE JA JA JA - - JA JA - NEE NEE - NEE - - NEE
- NEE NEE - - JA - JA JA - JA JA NEE NEE NEE NEE JA NEE JA NEE - - NEE JA - JA JA - JA - NEE NEE - - -
- - JA - - JA - - JA NEE NEE NEE - NEE JA - JA JA NEE JA JA - JA - NEE JA NEE NEE NEE JA NEE - - - NEE
JA - JA - JA NEE JA - JA NEE - NEE - NEE NEE - NEE - - JA JA JA JA - - JA NEE NEE JA - NEE - - NEE NEE
JA NEE JA - JA - JA NEE - NEE - NEE - - JA - NEE NEE NEE JA JA NEE JA NEE - JA - JA JA - - NEE - - NEE
NEE JA - JA - JA JA JA NEE JA NEE JA - - - - NEE JA NEE NEE NEE - JA JA NEE - - JA NEE - NEE - - NEE -
NEE - JA JA - - JA NEE NEE JA JA - - JA - JA JA NEE JA NEE JA NEE - NEE - - JA NEE NEE - - - NEE NEE -
NEE JA JA JA NEE JA - JA NEE - - JA JA JA NEE - JA - - - - JA NEE NEE NEE JA - - NEE NEE - - NEE - NEE
- JA - JA JA JA NEE JA - - - JA NEE NEE NEE JA - - - - JA - NEE JA JA NEE NEE - NEE JA NEE NEE NEE - -
JA - JA - - JA JA NEE - - JA - - JA JA NEE NEE JA - JA - - - JA JA NEE NEE NEE - NEE - NEE NEE NEE NEE
JA JA NEE NEE NEE NEE - NEE JA JA JA NEE - - JA JA NEE JA JA - - NEE JA - JA NEE - - - NEE - - NEE - -
- JA JA - - JA JA JA NEE JA NEE - - NEE JA NEE JA - NEE JA - - - JA NEE NEE - NEE JA - NEE - NEE NEE -
- NEE NEE JA JA JA JA - JA - - - JA NEE - JA NEE NEE - JA - NEE - - JA JA JA NEE - NEE NEE - - NEE NEE
JA - - JA NEE NEE JA NEE JA JA NEE NEE JA - - JA - JA - JA - NEE JA - - NEE - NEE JA NEE - - NEE NEE -
JA JA JA - NEE JA - - NEE NEE NEE - - NEE JA - - - NEE JA JA - JA NEE JA - JA JA - - NEE NEE NEE NEE -
- JA JA NEE JA - NEE NEE JA JA JA NEE - JA NEE JA NEE - - NEE JA - NEE - - - JA JA - - - - NEE NEE NEE
JA - NEE - JA - JA NEE JA - - NEE - NEE JA JA - - JA JA NEE - JA NEE NEE - - JA JA - NEE NEE - NEE NEE
- - NEE JA JA NEE NEE JA JA NEE NEE JA JA - JA NEE JA JA NEE JA NEE - JA - - - - NEE - NEE - - NEE - -
JA JA JA - - NEE - JA - JA NEE JA NEE JA - JA NEE JA JA NEE - - NEE NEE - - - JA - NEE - NEE - NEE NEE
JA NEE JA NEE - - JA - NEE - NEE JA - - NEE JA JA NEE NEE - - - JA - JA NEE NEE JA JA JA - NEE - - NEE
- JA - NEE - JA JA NEE NEE NEE - - NEE - JA NEE - JA - - JA JA - - - JA NEE JA JA JA - NEE NEE NEE NEE
NEE JA JA - NEE NEE - JA JA - - - JA NEE JA NEE NEE - JA - JA JA - JA - - JA NEE - NEE - - NEE NEE NEE
JA - - JA NEE - - JA NEE - NEE JA NEE NEE JA JA - JA - JA JA NEE JA - - JA - NEE NEE - - NEE NEE NEE -
JA JA - NEE JA JA JA NEE - NEE NEE - NEE JA - - NEE - - - JA JA NEE JA JA JA - - NEE NEE - - NEE - NEE
NEE JA - JA JA NEE - - - - JA JA - NEE JA - NEE - NEE JA JA - NEE NEE - JA JA JA - NEE NEE NEE NEE - -
- NEE JA NEE - - - JA NEE JA - JA JA - JA - NEE NEE NEE - JA JA - - JA JA - NEE NEE JA - NEE - NEE NEE
NEE NEE NEE JA NEE JA JA JA NEE NEE NEE - - - NEE - JA - JA - NEE - JA - JA JA - JA - JA - - NEE - NEE
JA NEE - JA - JA - NEE JA JA - NEE NEE NEE - JA - - NEE JA NEE - - NEE - JA JA JA JA - NEE NEE - - NEE
- JA NEE NEE - - - - - JA - NEE JA JA JA - JA JA NEE JA - JA - JA NEE JA NEE - NEE - NEE NEE - NEE NEE
- - JA NEE NEE - JA NEE - NEE NEE JA JA JA JA NEE - NEE NEE JA JA - JA JA - - NEE NEE JA NEE - - - - -
- JA NEE NEE NEE NEE NEE - NEE JA NEE NEE JA JA JA JA JA JA - JA JA - - - JA NEE - - - NEE NEE - - - -
- JA JA JA NEE - NEE JA - - JA - JA - NEE - JA NEE JA NEE - JA NEE - JA - JA - NEE - NEE NEE NEE NEE -
- NEE JA - JA NEE NEE - JA NEE JA NEE NEE JA - NEE NEE JA JA JA NEE - JA - - JA NEE - JA - - - - NEE -
JA JA - JA NEE - - JA - JA NEE JA JA JA NEE NEE - NEE JA - - NEE - JA - - JA NEE NEE NEE - - - NEE NEE
NEE NEE - NEE JA NEE - JA JA NEE JA NEE NEE - NEE NEE JA - JA - - JA JA - JA - JA JA - NEE - - - - NEE
NEE NEE - - JA NEE JA NEE JA JA - NEE JA NEE - - NEE JA - - JA - JA JA JA - - JA NEE - NEE NEE NEE - -
NEE NEE JA - NEE NEE - JA - JA - JA JA NEE - JA - JA JA - - - JA JA NEE JA NEE - NEE - - NEE NEE NEE -
NEE JA - NEE - JA JA - JA NEE JA JA NEE NEE - NEE - JA - NEE JA JA - NEE JA JA NEE - - - - NEE - - NEE
- - NEE - NEE - JA - NEE NEE NEE JA - JA - JA JA JA - JA NEE NEE JA JA JA NEE JA - NEE - NEE - NEE - -
NEE - JA - JA JA JA NEE NEE - - NEE NEE NEE - - NEE JA - NEE JA JA NEE JA JA - JA - JA NEE - - - - NEE
NEE - - NEE JA NEE - JA JA JA NEE NEE - - - - JA - JA JA - JA JA NEE - - JA - JA NEE - NEE NEE NEE NEE
NEE JA - - - JA - - JA JA - - JA JA NEE NEE - NEE - NEE JA JA JA NEE NEE - JA NEE JA NEE - NEE NEE - -
JA - - JA NEE - JA - NEE NEE JA JA JA JA JA - JA - - - - - JA NEE - NEE JA NEE NEE - - NEE NEE NEE NEE
- JA JA NEE JA JA - - - - NEE JA - JA - NEE JA NEE JA NEE - JA NEE NEE NEE JA - JA NEE - - NEE - NEE -
JA - JA NEE JA - JA NEE JA JA NEE - NEE JA NEE JA NEE NEE NEE - - - JA - JA - JA - NEE NEE - - NEE - -
NEE NEE NEE - JA JA JA JA - JA NEE JA JA - NEE - - NEE - - - - JA - JA JA NEE JA NEE - - NEE NEE NEE -
- - - JA JA NEE - NEE NEE NEE JA JA NEE JA NEE JA NEE - JA - JA NEE - - JA JA - - JA NEE NEE - NEE - -
JA NEE JA NEE - JA - JA JA JA JA JA - - NEE NEE - JA NEE NEE NEE - NEE - - - - JA JA - NEE NEE - NEE -
NEE - - NEE JA - NEE NEE JA JA NEE - JA JA - - JA JA NEE JA NEE JA - NEE - NEE JA - JA - - - NEE NEE -
NEE NEE - JA JA - - NEE JA - - - JA JA JA - NEE JA NEE - NEE NEE - NEE - JA JA JA - JA NEE NEE NEE - -
JA NEE - JA NEE - - JA JA - NEE - JA JA - - NEE NEE JA - JA JA - NEE JA - NEE NEE JA NEE - - NEE NEE -
- - JA NEE NEE - NEE - - NEE - NEE - JA JA JA - JA NEE JA JA NEE JA JA NEE JA JA - NEE NEE - - NEE - -
- NEE NEE JA JA NEE NEE - JA NEE NEE - NEE JA - - JA JA - NEE - JA NEE NEE JA - JA JA - JA - - NEE - -
- NEE JA - JA JA JA JA NEE JA JA - - NEE - JA - NEE - NEE - - - JA NEE NEE - JA NEE JA - NEE - NEE NEE
JA JA - JA JA JA JA - NEE - NEE JA NEE JA NEE JA NEE - JA NEE - - NEE - NEE - - JA - - - NEE NEE NEE -
- - NEE NEE - JA NEE - JA JA JA JA JA NEE - - JA - - JA NEE - JA NEE - - JA NEE NEE JA - NEE - NEE NEE
JA - - NEE JA - JA NEE JA NEE JA NEE JA - - JA - NEE - JA NEE JA NEE NEE JA NEE JA NEE - - - - - - NEE
NEE - JA JA NEE NEE NEE NEE - JA - - NEE JA - JA NEE - JA JA JA - JA JA NEE JA - NEE - NEE - - NEE - -
- NEE JA - - JA JA NEE JA - NEE - JA NEE - JA - NEE JA - JA - NEE JA - NEE JA JA - NEE - NEE NEE - NEE
JA JA JA - NEE - JA - - NEE - NEE JA - JA - JA JA JA NEE NEE NEE - NEE - JA NEE NEE JA NEE - - - - NEE
- - NEE - - JA JA JA - NEE - JA NEE NEE - JA - NEE NEE - JA JA - NEE JA JA JA JA NEE - - - NEE NEE NEE
NEE JA - JA - - JA JA - NEE - NEE JA NEE NEE JA JA NEE NEE JA JA NEE - NEE JA - NEE JA - - - - - NEE -
JA JA - JA - JA NEE JA JA NEE NEE - - JA NEE - JA NEE - NEE - - JA JA - - - JA NEE - NEE - NEE NEE NEE
NEE NEE NEE - - JA JA - JA NEE - NEE JA - NEE JA NEE - - NEE JA NEE NEE - JA JA JA JA JA - - - - - NEE
- NEE JA NEE JA NEE NEE - JA - JA NEE JA NEE JA - NEE JA JA NEE JA - NEE JA - JA - - - - - - - NEE NEE
- JA JA JA JA - JA JA NEE - - JA - NEE - NEE - JA NEE NEE - NEE JA - - NEE JA NEE JA - - - NEE NEE NEE
NEE JA JA JA - - - - NEE JA - - JA JA - - - - NEE NEE JA NEE JA JA JA NEE NEE JA NEE NEE - - - NEE NEE
JA NEE - NEE - JA NEE JA NEE NEE NEE - JA JA - JA JA JA - NEE JA - - JA - NEE - JA NEE - NEE NEE - - -
JA NEE NEE JA NEE - NEE - JA NEE JA - - - NEE JA - JA JA JA JA - - JA JA - - - NEE NEE - - NEE NEE NEE
1 NEE NEE - JA JA - - NEE - - JA NEE - - JA - NEE JA NEE JA JA JA JA - NEE NEE - JA JA - NEE NEE - NEE -
2 NEE NEE - - NEE - JA NEE JA JA - JA NEE JA JA JA - - JA JA - - NEE JA NEE - JA NEE NEE - - NEE NEE - -
3 NEE - - JA - JA JA JA NEE - JA - JA NEE - NEE NEE NEE JA JA - - NEE JA JA NEE - - JA - NEE NEE - - NEE
4 JA NEE - - JA NEE - - - JA NEE JA - - JA NEE JA JA JA - NEE NEE NEE NEE - JA JA JA NEE - - - NEE - NEE
5 JA JA NEE JA NEE - - JA - - JA - - - JA JA JA NEE JA NEE JA JA - NEE NEE - NEE NEE - NEE - - NEE - NEE
6 JA NEE - NEE - - NEE - NEE JA NEE NEE JA JA NEE - NEE NEE NEE JA JA JA JA - JA - JA - JA NEE - - - - -
7 JA - NEE JA NEE JA NEE JA - - - NEE - JA JA NEE - JA NEE NEE - JA - JA NEE NEE JA JA NEE - - - - - NEE
8 NEE - JA JA JA JA JA - - - - JA JA NEE NEE - NEE JA NEE - JA NEE JA - NEE JA NEE - NEE NEE - - - - NEE
9 NEE - - - JA NEE - NEE - NEE JA JA - JA - NEE JA JA - JA JA NEE - JA JA NEE NEE NEE JA NEE - - - - NEE
10 JA JA NEE - NEE JA - JA NEE NEE JA JA JA NEE - NEE NEE NEE JA - JA JA - JA NEE - NEE - - - NEE - - - -
11 JA NEE - NEE NEE NEE - JA JA JA JA NEE JA JA NEE JA JA - - - NEE - JA - - NEE JA NEE - - NEE - - - NEE
12 NEE JA - NEE NEE JA - NEE NEE - - JA - JA JA - - JA NEE NEE NEE NEE - JA JA JA JA - JA NEE - - - NEE -
13 NEE NEE JA - JA NEE NEE NEE - - JA - NEE - - JA - JA - NEE JA - JA - JA JA NEE JA NEE JA NEE - - - NEE
14 NEE JA JA - - JA - NEE NEE NEE JA JA - JA - NEE - - - JA - JA NEE - JA - JA JA - NEE NEE - NEE NEE NEE
15 - JA NEE JA JA JA - NEE - - JA NEE JA NEE - - JA JA - NEE JA - JA NEE NEE NEE JA - - - NEE NEE - - NEE
16 - NEE JA NEE - NEE - JA NEE JA JA - JA NEE JA JA NEE NEE JA NEE JA JA NEE - - - - - NEE JA NEE - - - -
17 JA - - JA JA NEE JA JA JA NEE - - - JA NEE JA - - NEE JA NEE - NEE JA NEE NEE - - JA - NEE - - NEE NEE
18 - JA JA JA NEE JA - NEE JA JA - JA NEE NEE NEE NEE JA - NEE JA - NEE - NEE - - JA - JA - - NEE - - NEE
19 JA JA - NEE NEE - - - - JA JA NEE - JA JA NEE JA - NEE - JA NEE JA NEE NEE - JA NEE JA - - - NEE - NEE
20 - - JA JA - JA JA JA NEE NEE JA - JA JA NEE - - - NEE NEE JA NEE NEE NEE NEE JA - JA - - NEE - - NEE -
21 - - - - - JA - - JA JA NEE - JA - - JA - JA JA JA NEE JA NEE NEE JA - NEE NEE NEE JA NEE NEE - NEE NEE
22 - NEE - JA JA - NEE NEE NEE JA JA NEE JA - - - JA NEE JA - NEE NEE JA JA - JA - JA - - NEE NEE - NEE -
23 JA JA - NEE JA NEE NEE - - - NEE JA JA - JA NEE NEE JA - - JA JA JA NEE NEE - - JA - NEE NEE NEE - - -
24 - JA - JA JA NEE - JA - NEE - JA - JA JA - NEE JA JA JA NEE - - NEE - JA - - - NEE NEE NEE NEE NEE NEE
25 JA - NEE JA JA NEE JA - JA JA JA NEE NEE JA - NEE JA NEE JA - - NEE JA NEE - - NEE - NEE - - - - - NEE
26 NEE NEE JA NEE NEE NEE JA NEE JA - - NEE JA JA - - JA JA - NEE NEE JA JA - JA - JA - NEE - NEE - - - -
27 NEE - - NEE JA JA JA - JA NEE - - - - - JA JA JA NEE JA - JA - NEE NEE JA NEE JA - NEE - NEE NEE NEE -
28 JA - NEE - JA - JA NEE - JA - - NEE JA NEE JA JA - - NEE JA JA NEE NEE NEE NEE JA - JA - NEE NEE - - -
29 JA NEE JA NEE JA - - - NEE - JA JA JA NEE JA JA NEE NEE JA JA - - NEE NEE NEE - - - JA - NEE - NEE - -
30 JA - NEE JA NEE - - - - - JA JA JA NEE NEE JA NEE JA - JA JA - - JA NEE NEE NEE JA - - NEE NEE NEE - -
31 NEE JA - JA NEE JA - JA - - - NEE NEE JA JA - NEE JA - JA NEE - JA - NEE - NEE JA JA NEE NEE - - - NEE
32 NEE - - JA NEE - JA JA JA - - - - - NEE NEE JA JA JA JA - JA NEE - NEE NEE JA NEE - JA - NEE NEE NEE -
33 - - JA NEE JA NEE JA NEE - - JA - - JA - JA - JA NEE NEE - JA JA JA NEE JA - NEE NEE - - NEE NEE - NEE
34 - - - JA - - NEE NEE JA NEE - NEE JA JA JA JA NEE - NEE JA JA - - JA - - JA NEE JA NEE NEE - NEE - NEE
35 - - JA NEE NEE NEE - JA JA - NEE - - NEE - JA JA - JA NEE NEE JA JA JA - JA JA NEE - NEE NEE - - - NEE
36 NEE NEE - JA - - JA JA - - - NEE JA JA - NEE NEE NEE - JA JA JA NEE NEE JA - - JA JA NEE - NEE NEE - -
37 JA JA JA JA JA JA NEE - NEE - JA JA NEE - NEE NEE - - - - JA - NEE - JA NEE NEE NEE - JA NEE - - - NEE
38 JA JA - NEE JA - - NEE JA JA NEE NEE - - JA JA NEE - NEE - JA JA - JA NEE NEE NEE JA - - - NEE - NEE -
39 - JA NEE JA JA NEE JA - JA NEE JA JA - - NEE NEE JA NEE NEE - NEE JA - JA - - - JA NEE - - - NEE - NEE
40 - JA - JA JA - JA NEE JA JA JA NEE - - NEE - - JA - JA JA NEE NEE NEE JA NEE - NEE - - NEE - - NEE NEE
41 NEE NEE NEE JA JA - - - JA - JA NEE JA - NEE JA - JA JA JA - JA NEE NEE - JA - - NEE NEE - NEE - - NEE
42 JA NEE JA NEE - JA JA NEE - NEE JA - NEE - JA - - NEE - JA NEE JA - - - JA JA NEE NEE JA - - - NEE NEE
43 - - JA NEE - JA NEE - NEE JA NEE JA JA JA - NEE NEE JA NEE NEE JA NEE - - JA NEE - JA - JA NEE - - - -
44 NEE NEE NEE JA - - - - JA - - JA JA JA JA JA NEE JA JA NEE NEE NEE JA - - - NEE JA - NEE NEE - NEE - -
45 NEE NEE NEE JA JA - JA JA NEE JA NEE JA NEE JA NEE - JA JA NEE NEE JA - - - JA - - - - NEE NEE - - - -
46 - NEE JA JA JA NEE - - JA NEE NEE JA - - NEE NEE - JA JA JA - JA JA - NEE JA - NEE NEE NEE NEE - - - -
47 - JA - NEE - JA JA - JA JA - JA - JA - JA JA JA JA - - NEE NEE NEE NEE - NEE - NEE NEE NEE NEE - - NEE
48 - - - JA - - NEE - JA JA JA JA JA NEE NEE - JA - NEE - NEE - JA - JA NEE NEE JA JA NEE - NEE - NEE NEE
49 - JA NEE JA JA JA NEE - NEE JA - NEE NEE NEE NEE JA - JA NEE JA JA - JA - - - - JA - - NEE - NEE NEE -
50 NEE NEE - NEE NEE JA NEE JA NEE - JA JA JA - JA NEE JA JA NEE - JA NEE - - NEE - - JA JA - - - NEE - -
51 NEE JA JA NEE JA NEE NEE NEE - JA - NEE NEE NEE NEE JA NEE - - - - JA JA JA JA - JA - JA NEE - - - - -
52 NEE NEE JA - - JA JA JA JA JA - NEE JA - JA - JA - - - - - JA JA - NEE NEE NEE NEE NEE - NEE - NEE NEE
53 - JA NEE - JA NEE - - - JA JA NEE JA NEE - JA - JA JA NEE NEE JA JA NEE - - - NEE NEE JA - NEE - NEE -
54 JA JA NEE JA JA - - JA JA JA - NEE NEE NEE NEE JA - NEE - NEE JA - - NEE JA - - JA NEE - - - NEE NEE -
55 JA - NEE NEE - JA JA NEE JA JA - - JA JA JA - NEE - NEE NEE JA NEE JA - NEE JA - - - NEE NEE - - - NEE
56 NEE JA - - JA JA - NEE - NEE JA NEE NEE - JA NEE - - JA JA JA NEE JA - NEE JA - - JA - NEE NEE - - NEE
57 JA - NEE - - NEE JA NEE - - - JA JA - JA NEE JA JA JA NEE NEE JA - NEE JA NEE JA - - - NEE NEE - - NEE
58 JA - NEE JA - JA - NEE NEE - JA - JA NEE NEE JA - - JA JA - JA JA NEE - - JA NEE NEE - NEE - - NEE NEE
59 - - JA JA NEE NEE - NEE JA NEE NEE NEE - - - JA JA - NEE NEE JA - - JA JA JA JA - JA - NEE - NEE - NEE
60 - JA JA - JA JA - - JA NEE - JA NEE - NEE NEE - JA JA - NEE NEE JA - NEE - JA JA - - NEE NEE - NEE NEE
61 JA JA NEE NEE - NEE NEE - JA NEE - NEE - - JA NEE NEE JA JA - NEE JA JA - - JA JA - JA NEE - - NEE - -
62 NEE JA - - - NEE - - JA JA JA NEE JA - JA NEE NEE NEE - NEE JA JA JA - - JA JA - NEE NEE - NEE - - NEE
63 - NEE NEE - - JA - JA JA - JA JA NEE NEE NEE NEE JA NEE JA NEE - - NEE JA - JA JA - JA - NEE NEE - - -
64 - - JA - - JA - - JA NEE NEE NEE - NEE JA - JA JA NEE JA JA - JA - NEE JA NEE NEE NEE JA NEE - - - NEE
65 JA - JA - JA NEE JA - JA NEE - NEE - NEE NEE - NEE - - JA JA JA JA - - JA NEE NEE JA - NEE - - NEE NEE
66 JA NEE JA - JA - JA NEE - NEE - NEE - - JA - NEE NEE NEE JA JA NEE JA NEE - JA - JA JA - - NEE - - NEE
67 NEE JA - JA - JA JA JA NEE JA NEE JA - - - - NEE JA NEE NEE NEE - JA JA NEE - - JA NEE - NEE - - NEE -
68 NEE - JA JA - - JA NEE NEE JA JA - - JA - JA JA NEE JA NEE JA NEE - NEE - - JA NEE NEE - - - NEE NEE -
69 NEE JA JA JA NEE JA - JA NEE - - JA JA JA NEE - JA - - - - JA NEE NEE NEE JA - - NEE NEE - - NEE - NEE
70 - JA - JA JA JA NEE JA - - - JA NEE NEE NEE JA - - - - JA - NEE JA JA NEE NEE - NEE JA NEE NEE NEE - -
71 JA - JA - - JA JA NEE - - JA - - JA JA NEE NEE JA - JA - - - JA JA NEE NEE NEE - NEE - NEE NEE NEE NEE
72 JA JA NEE NEE NEE NEE - NEE JA JA JA NEE - - JA JA NEE JA JA - - NEE JA - JA NEE - - - NEE - - NEE - -
73 - JA JA - - JA JA JA NEE JA NEE - - NEE JA NEE JA - NEE JA - - - JA NEE NEE - NEE JA - NEE - NEE NEE -
74 - NEE NEE JA JA JA JA - JA - - - JA NEE - JA NEE NEE - JA - NEE - - JA JA JA NEE - NEE NEE - - NEE NEE
75 JA - - JA NEE NEE JA NEE JA JA NEE NEE JA - - JA - JA - JA - NEE JA - - NEE - NEE JA NEE - - NEE NEE -
76 JA JA JA - NEE JA - - NEE NEE NEE - - NEE JA - - - NEE JA JA - JA NEE JA - JA JA - - NEE NEE NEE NEE -
77 - JA JA NEE JA - NEE NEE JA JA JA NEE - JA NEE JA NEE - - NEE JA - NEE - - - JA JA - - - - NEE NEE NEE
78 JA - NEE - JA - JA NEE JA - - NEE - NEE JA JA - - JA JA NEE - JA NEE NEE - - JA JA - NEE NEE - NEE NEE
79 - - NEE JA JA NEE NEE JA JA NEE NEE JA JA - JA NEE JA JA NEE JA NEE - JA - - - - NEE - NEE - - NEE - -
80 JA JA JA - - NEE - JA - JA NEE JA NEE JA - JA NEE JA JA NEE - - NEE NEE - - - JA - NEE - NEE - NEE NEE
81 JA NEE JA NEE - - JA - NEE - NEE JA - - NEE JA JA NEE NEE - - - JA - JA NEE NEE JA JA JA - NEE - - NEE
82 - JA - NEE - JA JA NEE NEE NEE - - NEE - JA NEE - JA - - JA JA - - - JA NEE JA JA JA - NEE NEE NEE NEE
83 NEE JA JA - NEE NEE - JA JA - - - JA NEE JA NEE NEE - JA - JA JA - JA - - JA NEE - NEE - - NEE NEE NEE
84 JA - - JA NEE - - JA NEE - NEE JA NEE NEE JA JA - JA - JA JA NEE JA - - JA - NEE NEE - - NEE NEE NEE -
85 JA JA - NEE JA JA JA NEE - NEE NEE - NEE JA - - NEE - - - JA JA NEE JA JA JA - - NEE NEE - - NEE - NEE
86 NEE JA - JA JA NEE - - - - JA JA - NEE JA - NEE - NEE JA JA - NEE NEE - JA JA JA - NEE NEE NEE NEE - -
87 - NEE JA NEE - - - JA NEE JA - JA JA - JA - NEE NEE NEE - JA JA - - JA JA - NEE NEE JA - NEE - NEE NEE
88 NEE NEE NEE JA NEE JA JA JA NEE NEE NEE - - - NEE - JA - JA - NEE - JA - JA JA - JA - JA - - NEE - NEE
89 JA NEE - JA - JA - NEE JA JA - NEE NEE NEE - JA - - NEE JA NEE - - NEE - JA JA JA JA - NEE NEE - - NEE
90 - JA NEE NEE - - - - - JA - NEE JA JA JA - JA JA NEE JA - JA - JA NEE JA NEE - NEE - NEE NEE - NEE NEE
91 - - JA NEE NEE - JA NEE - NEE NEE JA JA JA JA NEE - NEE NEE JA JA - JA JA - - NEE NEE JA NEE - - - - -
92 - JA NEE NEE NEE NEE NEE - NEE JA NEE NEE JA JA JA JA JA JA - JA JA - - - JA NEE - - - NEE NEE - - - -
93 - JA JA JA NEE - NEE JA - - JA - JA - NEE - JA NEE JA NEE - JA NEE - JA - JA - NEE - NEE NEE NEE NEE -
94 - NEE JA - JA NEE NEE - JA NEE JA NEE NEE JA - NEE NEE JA JA JA NEE - JA - - JA NEE - JA - - - - NEE -
95 JA JA - JA NEE - - JA - JA NEE JA JA JA NEE NEE - NEE JA - - NEE - JA - - JA NEE NEE NEE - - - NEE NEE
96 NEE NEE - NEE JA NEE - JA JA NEE JA NEE NEE - NEE NEE JA - JA - - JA JA - JA - JA JA - NEE - - - - NEE
97 NEE NEE - - JA NEE JA NEE JA JA - NEE JA NEE - - NEE JA - - JA - JA JA JA - - JA NEE - NEE NEE NEE - -
98 NEE NEE JA - NEE NEE - JA - JA - JA JA NEE - JA - JA JA - - - JA JA NEE JA NEE - NEE - - NEE NEE NEE -
99 NEE JA - NEE - JA JA - JA NEE JA JA NEE NEE - NEE - JA - NEE JA JA - NEE JA JA NEE - - - - NEE - - NEE
100 - - NEE - NEE - JA - NEE NEE NEE JA - JA - JA JA JA - JA NEE NEE JA JA JA NEE JA - NEE - NEE - NEE - -
101 NEE - JA - JA JA JA NEE NEE - - NEE NEE NEE - - NEE JA - NEE JA JA NEE JA JA - JA - JA NEE - - - - NEE
102 NEE - - NEE JA NEE - JA JA JA NEE NEE - - - - JA - JA JA - JA JA NEE - - JA - JA NEE - NEE NEE NEE NEE
103 NEE JA - - - JA - - JA JA - - JA JA NEE NEE - NEE - NEE JA JA JA NEE NEE - JA NEE JA NEE - NEE NEE - -
104 JA - - JA NEE - JA - NEE NEE JA JA JA JA JA - JA - - - - - JA NEE - NEE JA NEE NEE - - NEE NEE NEE NEE
105 - JA JA NEE JA JA - - - - NEE JA - JA - NEE JA NEE JA NEE - JA NEE NEE NEE JA - JA NEE - - NEE - NEE -
106 JA - JA NEE JA - JA NEE JA JA NEE - NEE JA NEE JA NEE NEE NEE - - - JA - JA - JA - NEE NEE - - NEE - -
107 NEE NEE NEE - JA JA JA JA - JA NEE JA JA - NEE - - NEE - - - - JA - JA JA NEE JA NEE - - NEE NEE NEE -
108 - - - JA JA NEE - NEE NEE NEE JA JA NEE JA NEE JA NEE - JA - JA NEE - - JA JA - - JA NEE NEE - NEE - -
109 JA NEE JA NEE - JA - JA JA JA JA JA - - NEE NEE - JA NEE NEE NEE - NEE - - - - JA JA - NEE NEE - NEE -
110 NEE - - NEE JA - NEE NEE JA JA NEE - JA JA - - JA JA NEE JA NEE JA - NEE - NEE JA - JA - - - NEE NEE -
111 NEE NEE - JA JA - - NEE JA - - - JA JA JA - NEE JA NEE - NEE NEE - NEE - JA JA JA - JA NEE NEE NEE - -
112 JA NEE - JA NEE - - JA JA - NEE - JA JA - - NEE NEE JA - JA JA - NEE JA - NEE NEE JA NEE - - NEE NEE -
113 - - JA NEE NEE - NEE - - NEE - NEE - JA JA JA - JA NEE JA JA NEE JA JA NEE JA JA - NEE NEE - - NEE - -
114 - NEE NEE JA JA NEE NEE - JA NEE NEE - NEE JA - - JA JA - NEE - JA NEE NEE JA - JA JA - JA - - NEE - -
115 - NEE JA - JA JA JA JA NEE JA JA - - NEE - JA - NEE - NEE - - - JA NEE NEE - JA NEE JA - NEE - NEE NEE
116 JA JA - JA JA JA JA - NEE - NEE JA NEE JA NEE JA NEE - JA NEE - - NEE - NEE - - JA - - - NEE NEE NEE -
117 - - NEE NEE - JA NEE - JA JA JA JA JA NEE - - JA - - JA NEE - JA NEE - - JA NEE NEE JA - NEE - NEE NEE
118 JA - - NEE JA - JA NEE JA NEE JA NEE JA - - JA - NEE - JA NEE JA NEE NEE JA NEE JA NEE - - - - - - NEE
119 NEE - JA JA NEE NEE NEE NEE - JA - - NEE JA - JA NEE - JA JA JA - JA JA NEE JA - NEE - NEE - - NEE - -
120 - NEE JA - - JA JA NEE JA - NEE - JA NEE - JA - NEE JA - JA - NEE JA - NEE JA JA - NEE - NEE NEE - NEE
121 JA JA JA - NEE - JA - - NEE - NEE JA - JA - JA JA JA NEE NEE NEE - NEE - JA NEE NEE JA NEE - - - - NEE
122 - - NEE - - JA JA JA - NEE - JA NEE NEE - JA - NEE NEE - JA JA - NEE JA JA JA JA NEE - - - NEE NEE NEE
123 NEE JA - JA - - JA JA - NEE - NEE JA NEE NEE JA JA NEE NEE JA JA NEE - NEE JA - NEE JA - - - - - NEE -
124 JA JA - JA - JA NEE JA JA NEE NEE - - JA NEE - JA NEE - NEE - - JA JA - - - JA NEE - NEE - NEE NEE NEE
125 NEE NEE NEE - - JA JA - JA NEE - NEE JA - NEE JA NEE - - NEE JA NEE NEE - JA JA JA JA JA - - - - - NEE
126 - NEE JA NEE JA NEE NEE - JA - JA NEE JA NEE JA - NEE JA JA NEE JA - NEE JA - JA - - - - - - - NEE NEE
127 - JA JA JA JA - JA JA NEE - - JA - NEE - NEE - JA NEE NEE - NEE JA - - NEE JA NEE JA - - - NEE NEE NEE
128 NEE JA JA JA - - - - NEE JA - - JA JA - - - - NEE NEE JA NEE JA JA JA NEE NEE JA NEE NEE - - - NEE NEE
129 JA NEE - NEE - JA NEE JA NEE NEE NEE - JA JA - JA JA JA - NEE JA - - JA - NEE - JA NEE - NEE NEE - - -
130 JA NEE NEE JA NEE - NEE - JA NEE JA - - - NEE JA - JA JA JA JA - - JA JA - - - NEE NEE - - NEE NEE NEE

2
js/sharp/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
/in/
/out/

11
js/sharp/clahe.js Normal file
View File

@ -0,0 +1,11 @@
'use strict';
const sharp = require('sharp');
sharp('in/marmot.jpg')
.clahe({ width: 1000, height: 1000 })
.toFile('out/clahe-marmot.jpg');
sharp('in/ducks.jpg')
.clahe({ width: 1000, height: 1000 })
.toFile('out/clahe-ducks.jpg');

11
js/sharp/flatten.js Normal file
View File

@ -0,0 +1,11 @@
'use strict';
const sharp = require('sharp');
sharp('in/marmot.jpg')
.flatten({ background: '#000000' })
.toFile('out/flattened-marmot.jpg');
sharp('in/ducks.jpg')
.flatten({ background: '#0000AA' })
.toFile('out/flattened-ducks.jpg');

6
js/sharp/greyscale.js Normal file
View File

@ -0,0 +1,6 @@
'use strict';
const sharp = require('sharp');
sharp('in/marmot.jpg').greyscale().toFile('out/greyscale-marmot.jpg');
sharp('in/ducks.jpg').greyscale().toFile('out/greyscale-ducks.jpg');

13
js/sharp/negate.js Normal file
View File

@ -0,0 +1,13 @@
'use strict';
const sharp = require('sharp');
sharp('in/marmot.jpg').negate().toFile('out/negated-marmot.jpg');
sharp('in/marmot.jpg')
.negate({ alpha: false })
.toFile('out/negated-marmot-no-alpha.jpg');
sharp('in/ducks.jpg').negate().toFile('out/negated-ducks.jpg');
sharp('in/ducks.jpg')
.negate({ alpha: false })
.toFile('out/negated-ducks-no-alpha.jpg');

823
js/sharp/package-lock.json generated Normal file
View File

@ -0,0 +1,823 @@
{
"name": "sharp",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"dependencies": {
"sharp": "^0.31.0"
}
},
"node_modules/base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"dependencies": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"node_modules/buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"node_modules/chownr": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
},
"node_modules/color": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
"integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
"dependencies": {
"color-convert": "^2.0.1",
"color-string": "^1.9.0"
},
"engines": {
"node": ">=12.5.0"
}
},
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"node_modules/color-string": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
"integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
"dependencies": {
"color-name": "^1.0.0",
"simple-swizzle": "^0.2.2"
}
},
"node_modules/decompress-response": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
"integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
"dependencies": {
"mimic-response": "^3.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/deep-extend": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/detect-libc": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
"integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
"engines": {
"node": ">=8"
}
},
"node_modules/end-of-stream": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"dependencies": {
"once": "^1.4.0"
}
},
"node_modules/expand-template": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
"integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
"engines": {
"node": ">=6"
}
},
"node_modules/fs-constants": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
},
"node_modules/github-from-package": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
"integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw=="
},
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/ini": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
},
"node_modules/is-arrayish": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
},
"node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/mimic-response": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
"integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
},
"node_modules/mkdirp-classic": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
},
"node_modules/napi-build-utils": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
"integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg=="
},
"node_modules/node-abi": {
"version": "3.24.0",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.24.0.tgz",
"integrity": "sha512-YPG3Co0luSu6GwOBsmIdGW6Wx0NyNDLg/hriIyDllVsNwnI6UeqaWShxC3lbH4LtEQUgoLP3XR1ndXiDAWvmRw==",
"dependencies": {
"semver": "^7.3.5"
},
"engines": {
"node": ">=10"
}
},
"node_modules/node-addon-api": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz",
"integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA=="
},
"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/prebuild-install": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
"integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
"dependencies": {
"detect-libc": "^2.0.0",
"expand-template": "^2.0.3",
"github-from-package": "0.0.0",
"minimist": "^1.2.3",
"mkdirp-classic": "^0.5.3",
"napi-build-utils": "^1.0.1",
"node-abi": "^3.3.0",
"pump": "^3.0.0",
"rc": "^1.2.7",
"simple-get": "^4.0.0",
"tar-fs": "^2.0.0",
"tunnel-agent": "^0.6.0"
},
"bin": {
"prebuild-install": "bin.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
"node_modules/rc": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"dependencies": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
"minimist": "^1.2.0",
"strip-json-comments": "~2.0.1"
},
"bin": {
"rc": "cli.js"
}
},
"node_modules/readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/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/semver": {
"version": "7.3.7",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/sharp": {
"version": "0.31.0",
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.31.0.tgz",
"integrity": "sha512-ft96f8WzGxavg0rkLpMw90MTPMUZDyf0tHjPPh8Ob59xt6KzX8EqtotcqZGUm7kwqpX2pmYiyYX2LL0IZ/FDEw==",
"hasInstallScript": true,
"dependencies": {
"color": "^4.2.3",
"detect-libc": "^2.0.1",
"node-addon-api": "^5.0.0",
"prebuild-install": "^7.1.1",
"semver": "^7.3.7",
"simple-get": "^4.0.1",
"tar-fs": "^2.1.1",
"tunnel-agent": "^0.6.0"
},
"engines": {
"node": ">=14.15.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/simple-concat": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
"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/simple-get": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
"integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"dependencies": {
"decompress-response": "^6.0.0",
"once": "^1.3.1",
"simple-concat": "^1.0.0"
}
},
"node_modules/simple-swizzle": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
"integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
"dependencies": {
"is-arrayish": "^0.3.1"
}
},
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dependencies": {
"safe-buffer": "~5.2.0"
}
},
"node_modules/strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/tar-fs": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
"integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
"dependencies": {
"chownr": "^1.1.1",
"mkdirp-classic": "^0.5.2",
"pump": "^3.0.0",
"tar-stream": "^2.1.4"
}
},
"node_modules/tar-stream": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
"integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"dependencies": {
"bl": "^4.0.3",
"end-of-stream": "^1.4.1",
"fs-constants": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1"
},
"engines": {
"node": ">=6"
}
},
"node_modules/tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
"dependencies": {
"safe-buffer": "^5.0.1"
},
"engines": {
"node": "*"
}
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"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/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
}
},
"dependencies": {
"base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
},
"bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"requires": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"requires": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"chownr": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
},
"color": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
"integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
"requires": {
"color-convert": "^2.0.1",
"color-string": "^1.9.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"color-string": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
"integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
"requires": {
"color-name": "^1.0.0",
"simple-swizzle": "^0.2.2"
}
},
"decompress-response": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
"integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
"requires": {
"mimic-response": "^3.1.0"
}
},
"deep-extend": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
},
"detect-libc": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
"integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w=="
},
"end-of-stream": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"requires": {
"once": "^1.4.0"
}
},
"expand-template": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
"integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="
},
"fs-constants": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
},
"github-from-package": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
"integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw=="
},
"ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"ini": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
},
"is-arrayish": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
},
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"requires": {
"yallist": "^4.0.0"
}
},
"mimic-response": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
"integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="
},
"minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
},
"mkdirp-classic": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
},
"napi-build-utils": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
"integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg=="
},
"node-abi": {
"version": "3.24.0",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.24.0.tgz",
"integrity": "sha512-YPG3Co0luSu6GwOBsmIdGW6Wx0NyNDLg/hriIyDllVsNwnI6UeqaWShxC3lbH4LtEQUgoLP3XR1ndXiDAWvmRw==",
"requires": {
"semver": "^7.3.5"
}
},
"node-addon-api": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz",
"integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA=="
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"requires": {
"wrappy": "1"
}
},
"prebuild-install": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
"integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
"requires": {
"detect-libc": "^2.0.0",
"expand-template": "^2.0.3",
"github-from-package": "0.0.0",
"minimist": "^1.2.3",
"mkdirp-classic": "^0.5.3",
"napi-build-utils": "^1.0.1",
"node-abi": "^3.3.0",
"pump": "^3.0.0",
"rc": "^1.2.7",
"simple-get": "^4.0.0",
"tar-fs": "^2.0.0",
"tunnel-agent": "^0.6.0"
}
},
"pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"requires": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
"rc": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"requires": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
"minimist": "^1.2.0",
"strip-json-comments": "~2.0.1"
}
},
"readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
},
"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=="
},
"semver": {
"version": "7.3.7",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
"integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
"requires": {
"lru-cache": "^6.0.0"
}
},
"sharp": {
"version": "0.31.0",
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.31.0.tgz",
"integrity": "sha512-ft96f8WzGxavg0rkLpMw90MTPMUZDyf0tHjPPh8Ob59xt6KzX8EqtotcqZGUm7kwqpX2pmYiyYX2LL0IZ/FDEw==",
"requires": {
"color": "^4.2.3",
"detect-libc": "^2.0.1",
"node-addon-api": "^5.0.0",
"prebuild-install": "^7.1.1",
"semver": "^7.3.7",
"simple-get": "^4.0.1",
"tar-fs": "^2.1.1",
"tunnel-agent": "^0.6.0"
}
},
"simple-concat": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
},
"simple-get": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
"integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
"requires": {
"decompress-response": "^6.0.0",
"once": "^1.3.1",
"simple-concat": "^1.0.0"
}
},
"simple-swizzle": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
"integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
"requires": {
"is-arrayish": "^0.3.1"
}
},
"string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"requires": {
"safe-buffer": "~5.2.0"
}
},
"strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="
},
"tar-fs": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz",
"integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
"requires": {
"chownr": "^1.1.1",
"mkdirp-classic": "^0.5.2",
"pump": "^3.0.0",
"tar-stream": "^2.1.4"
}
},
"tar-stream": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
"integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"requires": {
"bl": "^4.0.3",
"end-of-stream": "^1.4.1",
"fs-constants": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1"
}
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
"requires": {
"safe-buffer": "^5.0.1"
}
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
},
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
}
}
}

5
js/sharp/package.json Normal file
View File

@ -0,0 +1,5 @@
{
"dependencies": {
"sharp": "^0.31.0"
}
}

6
js/sharp/remove-alpha.js Normal file
View File

@ -0,0 +1,6 @@
'use strict';
const sharp = require('sharp');
sharp('in/marmot.jpg').removeAlpha().toFile('out/no-alpha-marmot.jpg');
sharp('in/ducks.jpg').removeAlpha().toFile('out/no-alpha-ducks.jpg');

6
js/sharp/tint.js Normal file
View File

@ -0,0 +1,6 @@
'use strict';
const sharp = require('sharp');
sharp('in/marmot.jpg').tint('#ff5500').toFile('out/coloured-marmot.jpg');
sharp('in/ducks.jpg').tint('#6666ff').toFile('out/coloured-ducks.jpg');