@contrast/agent 4.15.1 → 4.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/VERSION +1 -1
- package/bin/linux/contrast-service +0 -0
- package/bin/mac/contrast-service +0 -0
- package/bin/windows/contrast-service.exe +0 -0
- package/lib/assess/sinks/dynamo.js +87 -76
- package/lib/protect/errors/handler-async-errors.js +1 -1
- package/lib/protect/rules/cmd-injection/cmdinjection-rule.js +1 -1
- package/lib/protect/service.js +1 -1
- package/node_modules/async/CHANGELOG.md +13 -0
- package/node_modules/async/all.js +74 -9
- package/node_modules/async/allLimit.js +3 -3
- package/node_modules/async/allSeries.js +3 -3
- package/node_modules/async/any.js +75 -9
- package/node_modules/async/anyLimit.js +3 -3
- package/node_modules/async/anySeries.js +3 -3
- package/node_modules/async/applyEach.js +2 -2
- package/node_modules/async/applyEachSeries.js +2 -2
- package/node_modules/async/asyncify.js +3 -3
- package/node_modules/async/auto.js +81 -15
- package/node_modules/async/autoInject.js +30 -4
- package/node_modules/async/cargo.js +1 -1
- package/node_modules/async/cargoQueue.js +1 -1
- package/node_modules/async/compose.js +1 -1
- package/node_modules/async/concat.js +72 -4
- package/node_modules/async/concatLimit.js +3 -3
- package/node_modules/async/concatSeries.js +2 -2
- package/node_modules/async/detect.js +43 -8
- package/node_modules/async/detectLimit.js +3 -3
- package/node_modules/async/detectSeries.js +3 -3
- package/node_modules/async/dir.js +1 -1
- package/node_modules/async/dist/async.js +1379 -168
- package/node_modules/async/dist/async.min.js +1 -1
- package/node_modules/async/dist/async.mjs +1372 -161
- package/node_modules/async/doDuring.js +3 -3
- package/node_modules/async/doUntil.js +2 -2
- package/node_modules/async/doWhilst.js +3 -3
- package/node_modules/async/during.js +3 -3
- package/node_modules/async/each.js +69 -28
- package/node_modules/async/eachLimit.js +4 -4
- package/node_modules/async/eachOf.js +85 -16
- package/node_modules/async/eachOfLimit.js +3 -3
- package/node_modules/async/eachOfSeries.js +2 -2
- package/node_modules/async/eachSeries.js +2 -2
- package/node_modules/async/ensureAsync.js +2 -2
- package/node_modules/async/every.js +74 -9
- package/node_modules/async/everyLimit.js +3 -3
- package/node_modules/async/everySeries.js +3 -3
- package/node_modules/async/filter.js +49 -9
- package/node_modules/async/filterLimit.js +3 -3
- package/node_modules/async/filterSeries.js +3 -3
- package/node_modules/async/find.js +43 -8
- package/node_modules/async/findLimit.js +3 -3
- package/node_modules/async/findSeries.js +3 -3
- package/node_modules/async/flatMap.js +72 -4
- package/node_modules/async/flatMapLimit.js +3 -3
- package/node_modules/async/flatMapSeries.js +2 -2
- package/node_modules/async/foldl.js +87 -11
- package/node_modules/async/foldr.js +2 -2
- package/node_modules/async/forEach.js +69 -28
- package/node_modules/async/forEachLimit.js +4 -4
- package/node_modules/async/forEachOf.js +85 -16
- package/node_modules/async/forEachOfLimit.js +3 -3
- package/node_modules/async/forEachOfSeries.js +2 -2
- package/node_modules/async/forEachSeries.js +2 -2
- package/node_modules/async/forever.js +4 -4
- package/node_modules/async/groupBy.js +62 -8
- package/node_modules/async/groupByLimit.js +3 -3
- package/node_modules/async/groupBySeries.js +2 -2
- package/node_modules/async/inject.js +87 -11
- package/node_modules/async/internal/applyEach.js +2 -2
- package/node_modules/async/internal/asyncEachOfLimit.js +1 -1
- package/node_modules/async/internal/consoleFunc.js +5 -1
- package/node_modules/async/internal/createTester.js +2 -2
- package/node_modules/async/internal/eachOfLimit.js +6 -6
- package/node_modules/async/internal/filter.js +2 -2
- package/node_modules/async/internal/iterator.js +5 -2
- package/node_modules/async/internal/map.js +1 -1
- package/node_modules/async/internal/parallel.js +3 -3
- package/node_modules/async/internal/queue.js +4 -4
- package/node_modules/async/internal/reject.js +2 -2
- package/node_modules/async/internal/setImmediate.js +6 -2
- package/node_modules/async/internal/wrapAsync.js +1 -1
- package/node_modules/async/log.js +1 -1
- package/node_modules/async/map.js +86 -6
- package/node_modules/async/mapLimit.js +3 -3
- package/node_modules/async/mapSeries.js +3 -3
- package/node_modules/async/mapValues.js +102 -12
- package/node_modules/async/mapValuesLimit.js +4 -4
- package/node_modules/async/mapValuesSeries.js +1 -1
- package/node_modules/async/memoize.js +3 -3
- package/node_modules/async/nextTick.js +3 -3
- package/node_modules/async/package.json +4 -6
- package/node_modules/async/parallel.js +96 -7
- package/node_modules/async/parallelLimit.js +2 -2
- package/node_modules/async/priorityQueue.js +11 -4
- package/node_modules/async/queue.js +4 -4
- package/node_modules/async/race.js +3 -3
- package/node_modules/async/reduce.js +87 -11
- package/node_modules/async/reduceRight.js +2 -2
- package/node_modules/async/reflect.js +2 -2
- package/node_modules/async/reflectAll.js +1 -1
- package/node_modules/async/reject.js +44 -10
- package/node_modules/async/rejectLimit.js +3 -3
- package/node_modules/async/rejectSeries.js +3 -3
- package/node_modules/async/retry.js +2 -2
- package/node_modules/async/retryable.js +4 -4
- package/node_modules/async/select.js +49 -9
- package/node_modules/async/selectLimit.js +3 -3
- package/node_modules/async/selectSeries.js +3 -3
- package/node_modules/async/seq.js +4 -4
- package/node_modules/async/series.js +112 -12
- package/node_modules/async/setImmediate.js +1 -1
- package/node_modules/async/some.js +75 -9
- package/node_modules/async/someLimit.js +3 -3
- package/node_modules/async/someSeries.js +3 -3
- package/node_modules/async/sortBy.js +121 -19
- package/node_modules/async/timeout.js +2 -2
- package/node_modules/async/times.js +1 -1
- package/node_modules/async/timesLimit.js +3 -3
- package/node_modules/async/timesSeries.js +1 -1
- package/node_modules/async/transform.js +111 -19
- package/node_modules/async/tryEach.js +3 -3
- package/node_modules/async/until.js +3 -3
- package/node_modules/async/waterfall.js +4 -4
- package/node_modules/async/whilst.js +3 -3
- package/node_modules/async/wrapSync.js +3 -3
- package/node_modules/moment/CHANGELOG.md +6 -0
- package/node_modules/moment/dist/locale/ar-kw.js +4 -3
- package/node_modules/moment/dist/locale/ar-ly.js +1 -1
- package/node_modules/moment/dist/locale/ar-ma.js +4 -3
- package/node_modules/moment/dist/locale/ar-sa.js +4 -3
- package/node_modules/moment/dist/locale/ar-tn.js +4 -3
- package/node_modules/moment/dist/locale/az.js +4 -3
- package/node_modules/moment/dist/locale/be.js +10 -9
- package/node_modules/moment/dist/locale/bn-bd.js +4 -3
- package/node_modules/moment/dist/locale/bn.js +4 -3
- package/node_modules/moment/dist/locale/bo.js +8 -6
- package/node_modules/moment/dist/locale/br.js +6 -3
- package/node_modules/moment/dist/locale/bs.js +4 -3
- package/node_modules/moment/dist/locale/ca.js +12 -9
- package/node_modules/moment/dist/locale/cs.js +15 -6
- package/node_modules/moment/dist/locale/cv.js +4 -3
- package/node_modules/moment/dist/locale/cy.js +4 -3
- package/node_modules/moment/dist/locale/de-at.js +6 -6
- package/node_modules/moment/dist/locale/de-ch.js +6 -6
- package/node_modules/moment/dist/locale/de.js +6 -6
- package/node_modules/moment/dist/locale/el.js +8 -6
- package/node_modules/moment/dist/locale/es-do.js +10 -6
- package/node_modules/moment/dist/locale/es-mx.js +10 -6
- package/node_modules/moment/dist/locale/es-us.js +10 -6
- package/node_modules/moment/dist/locale/es.js +10 -6
- package/node_modules/moment/dist/locale/et.js +6 -6
- package/node_modules/moment/dist/locale/eu.js +8 -6
- package/node_modules/moment/dist/locale/fa.js +12 -9
- package/node_modules/moment/dist/locale/fi.js +12 -9
- package/node_modules/moment/dist/locale/fo.js +4 -3
- package/node_modules/moment/dist/locale/fr-ca.js +4 -3
- package/node_modules/moment/dist/locale/fr-ch.js +4 -3
- package/node_modules/moment/dist/locale/fr.js +10 -6
- package/node_modules/moment/dist/locale/fy.js +4 -6
- package/node_modules/moment/dist/locale/gl.js +4 -3
- package/node_modules/moment/dist/locale/gom-deva.js +8 -6
- package/node_modules/moment/dist/locale/gom-latn.js +6 -6
- package/node_modules/moment/dist/locale/gu.js +4 -3
- package/node_modules/moment/dist/locale/he.js +4 -4
- package/node_modules/moment/dist/locale/hi.js +14 -10
- package/node_modules/moment/dist/locale/hr.js +7 -5
- package/node_modules/moment/dist/locale/hu.js +6 -6
- package/node_modules/moment/dist/locale/hy-am.js +8 -6
- package/node_modules/moment/dist/locale/is.js +4 -3
- package/node_modules/moment/dist/locale/ka.js +10 -10
- package/node_modules/moment/dist/locale/km.js +4 -3
- package/node_modules/moment/dist/locale/kn.js +4 -3
- package/node_modules/moment/dist/locale/ku.js +6 -6
- package/node_modules/moment/dist/locale/lb.js +8 -6
- package/node_modules/moment/dist/locale/lo.js +4 -3
- package/node_modules/moment/dist/locale/lt.js +8 -6
- package/node_modules/moment/dist/locale/lv.js +4 -3
- package/node_modules/moment/dist/locale/me.js +2 -3
- package/node_modules/moment/dist/locale/mi.js +4 -3
- package/node_modules/moment/dist/locale/ml.js +8 -6
- package/node_modules/moment/dist/locale/mn.js +4 -3
- package/node_modules/moment/dist/locale/mr.js +4 -3
- package/node_modules/moment/dist/locale/mt.js +4 -3
- package/node_modules/moment/dist/locale/nb.js +2 -3
- package/node_modules/moment/dist/locale/ne.js +4 -3
- package/node_modules/moment/dist/locale/nl-be.js +12 -12
- package/node_modules/moment/dist/locale/nl.js +12 -12
- package/node_modules/moment/dist/locale/nn.js +2 -3
- package/node_modules/moment/dist/locale/oc-lnc.js +8 -6
- package/node_modules/moment/dist/locale/pa-in.js +4 -3
- package/node_modules/moment/dist/locale/pl.js +10 -9
- package/node_modules/moment/dist/locale/pt-br.js +4 -3
- package/node_modules/moment/dist/locale/pt.js +4 -3
- package/node_modules/moment/dist/locale/ro.js +4 -3
- package/node_modules/moment/dist/locale/ru.js +20 -13
- package/node_modules/moment/dist/locale/se.js +6 -6
- package/node_modules/moment/dist/locale/si.js +4 -3
- package/node_modules/moment/dist/locale/sk.js +4 -3
- package/node_modules/moment/dist/locale/sl.js +4 -3
- package/node_modules/moment/dist/locale/sr-cyrl.js +32 -22
- package/node_modules/moment/dist/locale/sr.js +32 -22
- package/node_modules/moment/dist/locale/ss.js +4 -3
- package/node_modules/moment/dist/locale/sw.js +4 -3
- package/node_modules/moment/dist/locale/ta.js +8 -6
- package/node_modules/moment/dist/locale/te.js +8 -6
- package/node_modules/moment/dist/locale/tg.js +4 -3
- package/node_modules/moment/dist/locale/th.js +4 -3
- package/node_modules/moment/dist/locale/tlh.js +8 -9
- package/node_modules/moment/dist/locale/tr.js +1 -1
- package/node_modules/moment/dist/locale/tzm-latn.js +4 -3
- package/node_modules/moment/dist/locale/tzm.js +4 -3
- package/node_modules/moment/dist/locale/ug-cn.js +4 -3
- package/node_modules/moment/dist/locale/uk.js +16 -12
- package/node_modules/moment/dist/locale/uz-latn.js +4 -3
- package/node_modules/moment/dist/locale/vi.js +4 -3
- package/node_modules/moment/dist/locale/x-pseudo.js +8 -6
- package/node_modules/moment/dist/moment.js +95 -80
- package/node_modules/moment/locale/ar-kw.js +4 -3
- package/node_modules/moment/locale/ar-ly.js +1 -1
- package/node_modules/moment/locale/ar-ma.js +4 -3
- package/node_modules/moment/locale/ar-sa.js +4 -3
- package/node_modules/moment/locale/ar-tn.js +4 -3
- package/node_modules/moment/locale/az.js +4 -3
- package/node_modules/moment/locale/be.js +10 -9
- package/node_modules/moment/locale/bn-bd.js +4 -3
- package/node_modules/moment/locale/bn.js +4 -3
- package/node_modules/moment/locale/bo.js +8 -6
- package/node_modules/moment/locale/br.js +6 -3
- package/node_modules/moment/locale/bs.js +4 -3
- package/node_modules/moment/locale/ca.js +12 -9
- package/node_modules/moment/locale/cs.js +15 -6
- package/node_modules/moment/locale/cv.js +4 -3
- package/node_modules/moment/locale/cy.js +4 -3
- package/node_modules/moment/locale/de-at.js +6 -6
- package/node_modules/moment/locale/de-ch.js +6 -6
- package/node_modules/moment/locale/de.js +6 -6
- package/node_modules/moment/locale/el.js +8 -6
- package/node_modules/moment/locale/es-do.js +10 -6
- package/node_modules/moment/locale/es-mx.js +10 -6
- package/node_modules/moment/locale/es-us.js +10 -6
- package/node_modules/moment/locale/es.js +10 -6
- package/node_modules/moment/locale/et.js +6 -6
- package/node_modules/moment/locale/eu.js +8 -6
- package/node_modules/moment/locale/fa.js +12 -9
- package/node_modules/moment/locale/fi.js +12 -9
- package/node_modules/moment/locale/fo.js +4 -3
- package/node_modules/moment/locale/fr-ca.js +4 -3
- package/node_modules/moment/locale/fr-ch.js +4 -3
- package/node_modules/moment/locale/fr.js +10 -6
- package/node_modules/moment/locale/fy.js +4 -6
- package/node_modules/moment/locale/gl.js +4 -3
- package/node_modules/moment/locale/gom-deva.js +8 -6
- package/node_modules/moment/locale/gom-latn.js +6 -6
- package/node_modules/moment/locale/gu.js +4 -3
- package/node_modules/moment/locale/he.js +4 -4
- package/node_modules/moment/locale/hi.js +14 -10
- package/node_modules/moment/locale/hr.js +7 -5
- package/node_modules/moment/locale/hu.js +6 -6
- package/node_modules/moment/locale/hy-am.js +8 -6
- package/node_modules/moment/locale/is.js +4 -3
- package/node_modules/moment/locale/ka.js +10 -10
- package/node_modules/moment/locale/km.js +4 -3
- package/node_modules/moment/locale/kn.js +4 -3
- package/node_modules/moment/locale/ku.js +6 -6
- package/node_modules/moment/locale/lb.js +8 -6
- package/node_modules/moment/locale/lo.js +4 -3
- package/node_modules/moment/locale/lt.js +8 -6
- package/node_modules/moment/locale/lv.js +4 -3
- package/node_modules/moment/locale/me.js +2 -3
- package/node_modules/moment/locale/mi.js +4 -3
- package/node_modules/moment/locale/ml.js +8 -6
- package/node_modules/moment/locale/mn.js +4 -3
- package/node_modules/moment/locale/mr.js +4 -3
- package/node_modules/moment/locale/mt.js +4 -3
- package/node_modules/moment/locale/nb.js +2 -3
- package/node_modules/moment/locale/ne.js +4 -3
- package/node_modules/moment/locale/nl-be.js +12 -12
- package/node_modules/moment/locale/nl.js +12 -12
- package/node_modules/moment/locale/nn.js +2 -3
- package/node_modules/moment/locale/oc-lnc.js +8 -6
- package/node_modules/moment/locale/pa-in.js +4 -3
- package/node_modules/moment/locale/pl.js +10 -9
- package/node_modules/moment/locale/pt-br.js +4 -3
- package/node_modules/moment/locale/pt.js +4 -3
- package/node_modules/moment/locale/ro.js +4 -3
- package/node_modules/moment/locale/ru.js +20 -13
- package/node_modules/moment/locale/se.js +6 -6
- package/node_modules/moment/locale/si.js +4 -3
- package/node_modules/moment/locale/sk.js +4 -3
- package/node_modules/moment/locale/sl.js +4 -3
- package/node_modules/moment/locale/sr-cyrl.js +32 -22
- package/node_modules/moment/locale/sr.js +32 -22
- package/node_modules/moment/locale/ss.js +4 -3
- package/node_modules/moment/locale/sw.js +4 -3
- package/node_modules/moment/locale/ta.js +8 -6
- package/node_modules/moment/locale/te.js +8 -6
- package/node_modules/moment/locale/tg.js +4 -3
- package/node_modules/moment/locale/th.js +4 -3
- package/node_modules/moment/locale/tlh.js +8 -9
- package/node_modules/moment/locale/tr.js +1 -1
- package/node_modules/moment/locale/tzm-latn.js +4 -3
- package/node_modules/moment/locale/tzm.js +4 -3
- package/node_modules/moment/locale/ug-cn.js +4 -3
- package/node_modules/moment/locale/uk.js +16 -12
- package/node_modules/moment/locale/uz-latn.js +4 -3
- package/node_modules/moment/locale/vi.js +4 -3
- package/node_modules/moment/locale/x-pseudo.js +8 -6
- package/node_modules/moment/min/locales.js +613 -474
- package/node_modules/moment/min/locales.min.js +1 -1
- package/node_modules/moment/min/locales.min.js.map +1 -1
- package/node_modules/moment/min/moment-with-locales.js +707 -553
- package/node_modules/moment/min/moment-with-locales.min.js +1 -1
- package/node_modules/moment/min/moment-with-locales.min.js.map +1 -1
- package/node_modules/moment/min/moment.min.js +1 -1
- package/node_modules/moment/min/moment.min.js.map +1 -1
- package/node_modules/moment/moment.js +95 -80
- package/node_modules/moment/package.json +4 -4
- package/node_modules/moment/src/lib/create/from-string-and-array.js +4 -3
- package/node_modules/moment/src/lib/create/from-string-and-format.js +4 -3
- package/node_modules/moment/src/lib/create/from-string.js +11 -7
- package/node_modules/moment/src/lib/duration/create.js +2 -1
- package/node_modules/moment/src/lib/duration/valid.js +3 -2
- package/node_modules/moment/src/lib/format/format.js +2 -1
- package/node_modules/moment/src/lib/locale/locales.js +7 -1
- package/node_modules/moment/src/lib/moment/constructor.js +6 -3
- package/node_modules/moment/src/lib/moment/get-set.js +3 -2
- package/node_modules/moment/src/lib/parse/regex.js +8 -10
- package/node_modules/moment/src/lib/parse/token.js +4 -2
- package/node_modules/moment/src/lib/units/day-of-week.js +2 -3
- package/node_modules/moment/src/lib/units/era.js +10 -12
- package/node_modules/moment/src/lib/units/month.js +6 -6
- package/node_modules/moment/src/lib/units/week-year.js +6 -8
- package/node_modules/moment/src/lib/units/week.js +6 -8
- package/node_modules/moment/src/lib/utils/deprecate.js +3 -2
- package/node_modules/moment/src/lib/utils/is-moment-input.js +3 -2
- package/node_modules/moment/src/lib/utils/map.js +3 -2
- package/node_modules/moment/src/locale/ar-kw.js +4 -3
- package/node_modules/moment/src/locale/ar-ly.js +1 -1
- package/node_modules/moment/src/locale/ar-ma.js +4 -3
- package/node_modules/moment/src/locale/ar-sa.js +4 -3
- package/node_modules/moment/src/locale/ar-tn.js +4 -3
- package/node_modules/moment/src/locale/az.js +4 -3
- package/node_modules/moment/src/locale/be.js +10 -9
- package/node_modules/moment/src/locale/bn-bd.js +4 -3
- package/node_modules/moment/src/locale/bn.js +4 -3
- package/node_modules/moment/src/locale/bo.js +8 -6
- package/node_modules/moment/src/locale/br.js +6 -3
- package/node_modules/moment/src/locale/bs.js +4 -3
- package/node_modules/moment/src/locale/ca.js +12 -9
- package/node_modules/moment/src/locale/cs.js +15 -6
- package/node_modules/moment/src/locale/cv.js +4 -3
- package/node_modules/moment/src/locale/cy.js +4 -3
- package/node_modules/moment/src/locale/de-at.js +6 -6
- package/node_modules/moment/src/locale/de-ch.js +6 -6
- package/node_modules/moment/src/locale/de.js +6 -6
- package/node_modules/moment/src/locale/el.js +8 -6
- package/node_modules/moment/src/locale/es-do.js +10 -6
- package/node_modules/moment/src/locale/es-mx.js +10 -6
- package/node_modules/moment/src/locale/es-us.js +10 -6
- package/node_modules/moment/src/locale/es.js +10 -6
- package/node_modules/moment/src/locale/et.js +6 -6
- package/node_modules/moment/src/locale/eu.js +8 -6
- package/node_modules/moment/src/locale/fa.js +12 -9
- package/node_modules/moment/src/locale/fi.js +12 -9
- package/node_modules/moment/src/locale/fo.js +4 -3
- package/node_modules/moment/src/locale/fr-ca.js +4 -3
- package/node_modules/moment/src/locale/fr-ch.js +4 -3
- package/node_modules/moment/src/locale/fr.js +10 -6
- package/node_modules/moment/src/locale/fy.js +4 -6
- package/node_modules/moment/src/locale/gl.js +4 -3
- package/node_modules/moment/src/locale/gom-deva.js +8 -6
- package/node_modules/moment/src/locale/gom-latn.js +6 -6
- package/node_modules/moment/src/locale/gu.js +4 -3
- package/node_modules/moment/src/locale/he.js +4 -4
- package/node_modules/moment/src/locale/hi.js +14 -10
- package/node_modules/moment/src/locale/hr.js +7 -5
- package/node_modules/moment/src/locale/hu.js +6 -6
- package/node_modules/moment/src/locale/hy-am.js +8 -6
- package/node_modules/moment/src/locale/is.js +4 -3
- package/node_modules/moment/src/locale/ka.js +10 -10
- package/node_modules/moment/src/locale/km.js +4 -3
- package/node_modules/moment/src/locale/kn.js +4 -3
- package/node_modules/moment/src/locale/ku.js +6 -6
- package/node_modules/moment/src/locale/lb.js +8 -6
- package/node_modules/moment/src/locale/lo.js +4 -3
- package/node_modules/moment/src/locale/lt.js +8 -6
- package/node_modules/moment/src/locale/lv.js +4 -3
- package/node_modules/moment/src/locale/me.js +2 -3
- package/node_modules/moment/src/locale/mi.js +4 -3
- package/node_modules/moment/src/locale/ml.js +8 -6
- package/node_modules/moment/src/locale/mn.js +4 -3
- package/node_modules/moment/src/locale/mr.js +4 -3
- package/node_modules/moment/src/locale/mt.js +4 -3
- package/node_modules/moment/src/locale/nb.js +2 -3
- package/node_modules/moment/src/locale/ne.js +4 -3
- package/node_modules/moment/src/locale/nl-be.js +12 -12
- package/node_modules/moment/src/locale/nl.js +12 -12
- package/node_modules/moment/src/locale/nn.js +2 -3
- package/node_modules/moment/src/locale/oc-lnc.js +8 -6
- package/node_modules/moment/src/locale/pa-in.js +4 -3
- package/node_modules/moment/src/locale/pl.js +10 -9
- package/node_modules/moment/src/locale/pt-br.js +4 -3
- package/node_modules/moment/src/locale/pt.js +4 -3
- package/node_modules/moment/src/locale/ro.js +4 -3
- package/node_modules/moment/src/locale/ru.js +20 -13
- package/node_modules/moment/src/locale/se.js +6 -6
- package/node_modules/moment/src/locale/si.js +4 -3
- package/node_modules/moment/src/locale/sk.js +4 -3
- package/node_modules/moment/src/locale/sl.js +4 -3
- package/node_modules/moment/src/locale/sr-cyrl.js +32 -22
- package/node_modules/moment/src/locale/sr.js +32 -22
- package/node_modules/moment/src/locale/ss.js +4 -3
- package/node_modules/moment/src/locale/sw.js +4 -3
- package/node_modules/moment/src/locale/ta.js +8 -6
- package/node_modules/moment/src/locale/te.js +8 -6
- package/node_modules/moment/src/locale/tg.js +4 -3
- package/node_modules/moment/src/locale/th.js +4 -3
- package/node_modules/moment/src/locale/tlh.js +8 -9
- package/node_modules/moment/src/locale/tr.js +1 -1
- package/node_modules/moment/src/locale/tzm-latn.js +4 -3
- package/node_modules/moment/src/locale/tzm.js +4 -3
- package/node_modules/moment/src/locale/ug-cn.js +4 -3
- package/node_modules/moment/src/locale/uk.js +16 -12
- package/node_modules/moment/src/locale/uz-latn.js +4 -3
- package/node_modules/moment/src/locale/vi.js +4 -3
- package/node_modules/moment/src/locale/x-pseudo.js +8 -6
- package/node_modules/moment/src/moment.js +2 -2
- package/node_modules/moment/ts3.1-typings/moment.d.ts +1 -1
- package/package.json +2 -2
|
@@ -5,19 +5,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = auto;
|
|
7
7
|
|
|
8
|
-
var _once = require('./internal/once');
|
|
8
|
+
var _once = require('./internal/once.js');
|
|
9
9
|
|
|
10
10
|
var _once2 = _interopRequireDefault(_once);
|
|
11
11
|
|
|
12
|
-
var _onlyOnce = require('./internal/onlyOnce');
|
|
12
|
+
var _onlyOnce = require('./internal/onlyOnce.js');
|
|
13
13
|
|
|
14
14
|
var _onlyOnce2 = _interopRequireDefault(_onlyOnce);
|
|
15
15
|
|
|
16
|
-
var _wrapAsync = require('./internal/wrapAsync');
|
|
16
|
+
var _wrapAsync = require('./internal/wrapAsync.js');
|
|
17
17
|
|
|
18
18
|
var _wrapAsync2 = _interopRequireDefault(_wrapAsync);
|
|
19
19
|
|
|
20
|
-
var _promiseCallback = require('./internal/promiseCallback');
|
|
20
|
+
var _promiseCallback = require('./internal/promiseCallback.js');
|
|
21
21
|
|
|
22
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
23
|
|
|
@@ -62,15 +62,40 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
62
62
|
* @returns {Promise} a promise, if a callback is not passed
|
|
63
63
|
* @example
|
|
64
64
|
*
|
|
65
|
+
* //Using Callbacks
|
|
65
66
|
* async.auto({
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
67
|
+
* get_data: function(callback) {
|
|
68
|
+
* // async code to get some data
|
|
69
|
+
* callback(null, 'data', 'converted to array');
|
|
70
|
+
* },
|
|
71
|
+
* make_folder: function(callback) {
|
|
72
|
+
* // async code to create a directory to store a file in
|
|
73
|
+
* // this is run at the same time as getting the data
|
|
74
|
+
* callback(null, 'folder');
|
|
75
|
+
* },
|
|
76
|
+
* write_file: ['get_data', 'make_folder', function(results, callback) {
|
|
77
|
+
* // once there is some data and the directory exists,
|
|
78
|
+
* // write the data to a file in the directory
|
|
79
|
+
* callback(null, 'filename');
|
|
80
|
+
* }],
|
|
81
|
+
* email_link: ['write_file', function(results, callback) {
|
|
82
|
+
* // once the file is written let's email a link to it...
|
|
83
|
+
* callback(null, {'file':results.write_file, 'email':'user@example.com'});
|
|
71
84
|
* }]
|
|
72
|
-
* },
|
|
85
|
+
* }, function(err, results) {
|
|
86
|
+
* if (err) {
|
|
87
|
+
* console.log('err = ', err);
|
|
88
|
+
* }
|
|
89
|
+
* console.log('results = ', results);
|
|
90
|
+
* // results = {
|
|
91
|
+
* // get_data: ['data', 'converted to array']
|
|
92
|
+
* // make_folder; 'folder',
|
|
93
|
+
* // write_file: 'filename'
|
|
94
|
+
* // email_link: { file: 'filename', email: 'user@example.com' }
|
|
95
|
+
* // }
|
|
96
|
+
* });
|
|
73
97
|
*
|
|
98
|
+
* //Using Promises
|
|
74
99
|
* async.auto({
|
|
75
100
|
* get_data: function(callback) {
|
|
76
101
|
* console.log('in get_data');
|
|
@@ -84,21 +109,62 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
84
109
|
* callback(null, 'folder');
|
|
85
110
|
* },
|
|
86
111
|
* write_file: ['get_data', 'make_folder', function(results, callback) {
|
|
87
|
-
* console.log('in write_file', JSON.stringify(results));
|
|
88
112
|
* // once there is some data and the directory exists,
|
|
89
113
|
* // write the data to a file in the directory
|
|
90
114
|
* callback(null, 'filename');
|
|
91
115
|
* }],
|
|
92
116
|
* email_link: ['write_file', function(results, callback) {
|
|
93
|
-
* console.log('in email_link', JSON.stringify(results));
|
|
94
117
|
* // once the file is written let's email a link to it...
|
|
95
|
-
* // results.write_file contains the filename returned by write_file.
|
|
96
118
|
* callback(null, {'file':results.write_file, 'email':'user@example.com'});
|
|
97
119
|
* }]
|
|
98
|
-
* }
|
|
99
|
-
* console.log('err = ', err);
|
|
120
|
+
* }).then(results => {
|
|
100
121
|
* console.log('results = ', results);
|
|
122
|
+
* // results = {
|
|
123
|
+
* // get_data: ['data', 'converted to array']
|
|
124
|
+
* // make_folder; 'folder',
|
|
125
|
+
* // write_file: 'filename'
|
|
126
|
+
* // email_link: { file: 'filename', email: 'user@example.com' }
|
|
127
|
+
* // }
|
|
128
|
+
* }).catch(err => {
|
|
129
|
+
* console.log('err = ', err);
|
|
101
130
|
* });
|
|
131
|
+
*
|
|
132
|
+
* //Using async/await
|
|
133
|
+
* async () => {
|
|
134
|
+
* try {
|
|
135
|
+
* let results = await async.auto({
|
|
136
|
+
* get_data: function(callback) {
|
|
137
|
+
* // async code to get some data
|
|
138
|
+
* callback(null, 'data', 'converted to array');
|
|
139
|
+
* },
|
|
140
|
+
* make_folder: function(callback) {
|
|
141
|
+
* // async code to create a directory to store a file in
|
|
142
|
+
* // this is run at the same time as getting the data
|
|
143
|
+
* callback(null, 'folder');
|
|
144
|
+
* },
|
|
145
|
+
* write_file: ['get_data', 'make_folder', function(results, callback) {
|
|
146
|
+
* // once there is some data and the directory exists,
|
|
147
|
+
* // write the data to a file in the directory
|
|
148
|
+
* callback(null, 'filename');
|
|
149
|
+
* }],
|
|
150
|
+
* email_link: ['write_file', function(results, callback) {
|
|
151
|
+
* // once the file is written let's email a link to it...
|
|
152
|
+
* callback(null, {'file':results.write_file, 'email':'user@example.com'});
|
|
153
|
+
* }]
|
|
154
|
+
* });
|
|
155
|
+
* console.log('results = ', results);
|
|
156
|
+
* // results = {
|
|
157
|
+
* // get_data: ['data', 'converted to array']
|
|
158
|
+
* // make_folder; 'folder',
|
|
159
|
+
* // write_file: 'filename'
|
|
160
|
+
* // email_link: { file: 'filename', email: 'user@example.com' }
|
|
161
|
+
* // }
|
|
162
|
+
* }
|
|
163
|
+
* catch (err) {
|
|
164
|
+
* console.log(err);
|
|
165
|
+
* }
|
|
166
|
+
* }
|
|
167
|
+
*
|
|
102
168
|
*/
|
|
103
169
|
function auto(tasks, concurrency, callback) {
|
|
104
170
|
if (typeof concurrency !== 'number') {
|
|
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = autoInject;
|
|
7
7
|
|
|
8
|
-
var _auto = require('./auto');
|
|
8
|
+
var _auto = require('./auto.js');
|
|
9
9
|
|
|
10
10
|
var _auto2 = _interopRequireDefault(_auto);
|
|
11
11
|
|
|
12
|
-
var _wrapAsync = require('./internal/wrapAsync');
|
|
12
|
+
var _wrapAsync = require('./internal/wrapAsync.js');
|
|
13
13
|
|
|
14
14
|
var _wrapAsync2 = _interopRequireDefault(_wrapAsync);
|
|
15
15
|
|
|
@@ -19,10 +19,36 @@ var FN_ARGS = /^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/;
|
|
|
19
19
|
var ARROW_FN_ARGS = /^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/;
|
|
20
20
|
var FN_ARG_SPLIT = /,/;
|
|
21
21
|
var FN_ARG = /(=.+)?(\s*)$/;
|
|
22
|
-
|
|
22
|
+
|
|
23
|
+
function stripComments(string) {
|
|
24
|
+
let stripped = '';
|
|
25
|
+
let index = 0;
|
|
26
|
+
let endBlockComment = string.indexOf('*/');
|
|
27
|
+
while (index < string.length) {
|
|
28
|
+
if (string[index] === '/' && string[index + 1] === '/') {
|
|
29
|
+
// inline comment
|
|
30
|
+
let endIndex = string.indexOf('\n', index);
|
|
31
|
+
index = endIndex === -1 ? string.length : endIndex;
|
|
32
|
+
} else if (endBlockComment !== -1 && string[index] === '/' && string[index + 1] === '*') {
|
|
33
|
+
// block comment
|
|
34
|
+
let endIndex = string.indexOf('*/', index);
|
|
35
|
+
if (endIndex !== -1) {
|
|
36
|
+
index = endIndex + 2;
|
|
37
|
+
endBlockComment = string.indexOf('*/', index);
|
|
38
|
+
} else {
|
|
39
|
+
stripped += string[index];
|
|
40
|
+
index++;
|
|
41
|
+
}
|
|
42
|
+
} else {
|
|
43
|
+
stripped += string[index];
|
|
44
|
+
index++;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return stripped;
|
|
48
|
+
}
|
|
23
49
|
|
|
24
50
|
function parseParams(func) {
|
|
25
|
-
const src = func.toString()
|
|
51
|
+
const src = stripComments(func.toString());
|
|
26
52
|
let match = src.match(FN_ARGS);
|
|
27
53
|
if (!match) {
|
|
28
54
|
match = src.match(ARROW_FN_ARGS);
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
|
|
7
|
-
var _concatLimit = require('./concatLimit');
|
|
7
|
+
var _concatLimit = require('./concatLimit.js');
|
|
8
8
|
|
|
9
9
|
var _concatLimit2 = _interopRequireDefault(_concatLimit);
|
|
10
10
|
|
|
11
|
-
var _awaitify = require('./internal/awaitify');
|
|
11
|
+
var _awaitify = require('./internal/awaitify.js');
|
|
12
12
|
|
|
13
13
|
var _awaitify2 = _interopRequireDefault(_awaitify);
|
|
14
14
|
|
|
@@ -36,9 +36,77 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
36
36
|
* @returns A Promise, if no callback is passed
|
|
37
37
|
* @example
|
|
38
38
|
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
39
|
+
* // dir1 is a directory that contains file1.txt, file2.txt
|
|
40
|
+
* // dir2 is a directory that contains file3.txt, file4.txt
|
|
41
|
+
* // dir3 is a directory that contains file5.txt
|
|
42
|
+
* // dir4 does not exist
|
|
43
|
+
*
|
|
44
|
+
* let directoryList = ['dir1','dir2','dir3'];
|
|
45
|
+
* let withMissingDirectoryList = ['dir1','dir2','dir3', 'dir4'];
|
|
46
|
+
*
|
|
47
|
+
* // Using callbacks
|
|
48
|
+
* async.concat(directoryList, fs.readdir, function(err, results) {
|
|
49
|
+
* if (err) {
|
|
50
|
+
* console.log(err);
|
|
51
|
+
* } else {
|
|
52
|
+
* console.log(results);
|
|
53
|
+
* // [ 'file1.txt', 'file2.txt', 'file3.txt', 'file4.txt', file5.txt ]
|
|
54
|
+
* }
|
|
55
|
+
* });
|
|
56
|
+
*
|
|
57
|
+
* // Error Handling
|
|
58
|
+
* async.concat(withMissingDirectoryList, fs.readdir, function(err, results) {
|
|
59
|
+
* if (err) {
|
|
60
|
+
* console.log(err);
|
|
61
|
+
* // [ Error: ENOENT: no such file or directory ]
|
|
62
|
+
* // since dir4 does not exist
|
|
63
|
+
* } else {
|
|
64
|
+
* console.log(results);
|
|
65
|
+
* }
|
|
66
|
+
* });
|
|
67
|
+
*
|
|
68
|
+
* // Using Promises
|
|
69
|
+
* async.concat(directoryList, fs.readdir)
|
|
70
|
+
* .then(results => {
|
|
71
|
+
* console.log(results);
|
|
72
|
+
* // [ 'file1.txt', 'file2.txt', 'file3.txt', 'file4.txt', file5.txt ]
|
|
73
|
+
* }).catch(err => {
|
|
74
|
+
* console.log(err);
|
|
41
75
|
* });
|
|
76
|
+
*
|
|
77
|
+
* // Error Handling
|
|
78
|
+
* async.concat(withMissingDirectoryList, fs.readdir)
|
|
79
|
+
* .then(results => {
|
|
80
|
+
* console.log(results);
|
|
81
|
+
* }).catch(err => {
|
|
82
|
+
* console.log(err);
|
|
83
|
+
* // [ Error: ENOENT: no such file or directory ]
|
|
84
|
+
* // since dir4 does not exist
|
|
85
|
+
* });
|
|
86
|
+
*
|
|
87
|
+
* // Using async/await
|
|
88
|
+
* async () => {
|
|
89
|
+
* try {
|
|
90
|
+
* let results = await async.concat(directoryList, fs.readdir);
|
|
91
|
+
* console.log(results);
|
|
92
|
+
* // [ 'file1.txt', 'file2.txt', 'file3.txt', 'file4.txt', file5.txt ]
|
|
93
|
+
* } catch (err) {
|
|
94
|
+
* console.log(err);
|
|
95
|
+
* }
|
|
96
|
+
* }
|
|
97
|
+
*
|
|
98
|
+
* // Error Handling
|
|
99
|
+
* async () => {
|
|
100
|
+
* try {
|
|
101
|
+
* let results = await async.concat(withMissingDirectoryList, fs.readdir);
|
|
102
|
+
* console.log(results);
|
|
103
|
+
* } catch (err) {
|
|
104
|
+
* console.log(err);
|
|
105
|
+
* // [ Error: ENOENT: no such file or directory ]
|
|
106
|
+
* // since dir4 does not exist
|
|
107
|
+
* }
|
|
108
|
+
* }
|
|
109
|
+
*
|
|
42
110
|
*/
|
|
43
111
|
function concat(coll, iteratee, callback) {
|
|
44
112
|
return (0, _concatLimit2.default)(coll, Infinity, iteratee, callback);
|
|
@@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
|
|
7
|
-
var _wrapAsync = require('./internal/wrapAsync');
|
|
7
|
+
var _wrapAsync = require('./internal/wrapAsync.js');
|
|
8
8
|
|
|
9
9
|
var _wrapAsync2 = _interopRequireDefault(_wrapAsync);
|
|
10
10
|
|
|
11
|
-
var _mapLimit = require('./mapLimit');
|
|
11
|
+
var _mapLimit = require('./mapLimit.js');
|
|
12
12
|
|
|
13
13
|
var _mapLimit2 = _interopRequireDefault(_mapLimit);
|
|
14
14
|
|
|
15
|
-
var _awaitify = require('./internal/awaitify');
|
|
15
|
+
var _awaitify = require('./internal/awaitify.js');
|
|
16
16
|
|
|
17
17
|
var _awaitify2 = _interopRequireDefault(_awaitify);
|
|
18
18
|
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
|
|
7
|
-
var _concatLimit = require('./concatLimit');
|
|
7
|
+
var _concatLimit = require('./concatLimit.js');
|
|
8
8
|
|
|
9
9
|
var _concatLimit2 = _interopRequireDefault(_concatLimit);
|
|
10
10
|
|
|
11
|
-
var _awaitify = require('./internal/awaitify');
|
|
11
|
+
var _awaitify = require('./internal/awaitify.js');
|
|
12
12
|
|
|
13
13
|
var _awaitify2 = _interopRequireDefault(_awaitify);
|
|
14
14
|
|
|
@@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
|
|
7
|
-
var _createTester = require('./internal/createTester');
|
|
7
|
+
var _createTester = require('./internal/createTester.js');
|
|
8
8
|
|
|
9
9
|
var _createTester2 = _interopRequireDefault(_createTester);
|
|
10
10
|
|
|
11
|
-
var _eachOf = require('./eachOf');
|
|
11
|
+
var _eachOf = require('./eachOf.js');
|
|
12
12
|
|
|
13
13
|
var _eachOf2 = _interopRequireDefault(_eachOf);
|
|
14
14
|
|
|
15
|
-
var _awaitify = require('./internal/awaitify');
|
|
15
|
+
var _awaitify = require('./internal/awaitify.js');
|
|
16
16
|
|
|
17
17
|
var _awaitify2 = _interopRequireDefault(_awaitify);
|
|
18
18
|
|
|
@@ -46,13 +46,48 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
46
46
|
* @returns A Promise, if no callback is passed
|
|
47
47
|
* @example
|
|
48
48
|
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
49
|
+
* // dir1 is a directory that contains file1.txt, file2.txt
|
|
50
|
+
* // dir2 is a directory that contains file3.txt, file4.txt
|
|
51
|
+
* // dir3 is a directory that contains file5.txt
|
|
52
|
+
*
|
|
53
|
+
* // asynchronous function that checks if a file exists
|
|
54
|
+
* function fileExists(file, callback) {
|
|
55
|
+
* fs.access(file, fs.constants.F_OK, (err) => {
|
|
56
|
+
* callback(null, !err);
|
|
57
|
+
* });
|
|
58
|
+
* }
|
|
59
|
+
*
|
|
60
|
+
* async.detect(['file3.txt','file2.txt','dir1/file1.txt'], fileExists,
|
|
61
|
+
* function(err, result) {
|
|
62
|
+
* console.log(result);
|
|
63
|
+
* // dir1/file1.txt
|
|
64
|
+
* // result now equals the first file in the list that exists
|
|
65
|
+
* }
|
|
66
|
+
*);
|
|
67
|
+
*
|
|
68
|
+
* // Using Promises
|
|
69
|
+
* async.detect(['file3.txt','file2.txt','dir1/file1.txt'], fileExists)
|
|
70
|
+
* .then(result => {
|
|
71
|
+
* console.log(result);
|
|
72
|
+
* // dir1/file1.txt
|
|
54
73
|
* // result now equals the first file in the list that exists
|
|
74
|
+
* }).catch(err => {
|
|
75
|
+
* console.log(err);
|
|
55
76
|
* });
|
|
77
|
+
*
|
|
78
|
+
* // Using async/await
|
|
79
|
+
* async () => {
|
|
80
|
+
* try {
|
|
81
|
+
* let result = await async.detect(['file3.txt','file2.txt','dir1/file1.txt'], fileExists);
|
|
82
|
+
* console.log(result);
|
|
83
|
+
* // dir1/file1.txt
|
|
84
|
+
* // result now equals the file in the list that exists
|
|
85
|
+
* }
|
|
86
|
+
* catch (err) {
|
|
87
|
+
* console.log(err);
|
|
88
|
+
* }
|
|
89
|
+
* }
|
|
90
|
+
*
|
|
56
91
|
*/
|
|
57
92
|
function detect(coll, iteratee, callback) {
|
|
58
93
|
return (0, _createTester2.default)(bool => bool, (res, item) => item)(_eachOf2.default, coll, iteratee, callback);
|
|
@@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
|
|
7
|
-
var _createTester = require('./internal/createTester');
|
|
7
|
+
var _createTester = require('./internal/createTester.js');
|
|
8
8
|
|
|
9
9
|
var _createTester2 = _interopRequireDefault(_createTester);
|
|
10
10
|
|
|
11
|
-
var _eachOfLimit = require('./internal/eachOfLimit');
|
|
11
|
+
var _eachOfLimit = require('./internal/eachOfLimit.js');
|
|
12
12
|
|
|
13
13
|
var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit);
|
|
14
14
|
|
|
15
|
-
var _awaitify = require('./internal/awaitify');
|
|
15
|
+
var _awaitify = require('./internal/awaitify.js');
|
|
16
16
|
|
|
17
17
|
var _awaitify2 = _interopRequireDefault(_awaitify);
|
|
18
18
|
|
|
@@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
|
|
7
|
-
var _createTester = require('./internal/createTester');
|
|
7
|
+
var _createTester = require('./internal/createTester.js');
|
|
8
8
|
|
|
9
9
|
var _createTester2 = _interopRequireDefault(_createTester);
|
|
10
10
|
|
|
11
|
-
var _eachOfLimit = require('./internal/eachOfLimit');
|
|
11
|
+
var _eachOfLimit = require('./internal/eachOfLimit.js');
|
|
12
12
|
|
|
13
13
|
var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit);
|
|
14
14
|
|
|
15
|
-
var _awaitify = require('./internal/awaitify');
|
|
15
|
+
var _awaitify = require('./internal/awaitify.js');
|
|
16
16
|
|
|
17
17
|
var _awaitify2 = _interopRequireDefault(_awaitify);
|
|
18
18
|
|