From 148883f259bcab72690efef7d96e23f6b877813d Mon Sep 17 00:00:00 2001 From: <> Date: Wed, 7 Feb 2024 18:58:23 +0000 Subject: [PATCH] Deployed 6706f11 with MkDocs version: 1.5.3 --- .nojekyll | 0 1.0-geometry-type/index.html | 2132 +++++ 404.html | 2064 +++++ CNAME | 1 + JSON-format/index.html | 2449 +++++ aardvark-fgdc-iso-crosswalk/index.html | 2387 +++++ aardvark-gbl-1-crosswalk/index.html | 2507 +++++ about-ogm-aardvark/index.html | 2498 +++++ about-ogm-repositories/index.html | 2222 +++++ applications/index.html | 2179 +++++ assets/images/favicon.png | Bin 0 -> 1870 bytes assets/javascripts/bundle.0e2aa882.min.js | 3 + assets/javascripts/lunr/min/lunr.ar.min.js | 1 + assets/javascripts/lunr/min/lunr.da.min.js | 18 + assets/javascripts/lunr/min/lunr.de.min.js | 18 + assets/javascripts/lunr/min/lunr.du.min.js | 18 + assets/javascripts/lunr/min/lunr.el.min.js | 1 + assets/javascripts/lunr/min/lunr.es.min.js | 18 + assets/javascripts/lunr/min/lunr.fi.min.js | 18 + assets/javascripts/lunr/min/lunr.fr.min.js | 18 + assets/javascripts/lunr/min/lunr.he.min.js | 1 + assets/javascripts/lunr/min/lunr.hi.min.js | 1 + assets/javascripts/lunr/min/lunr.hu.min.js | 18 + assets/javascripts/lunr/min/lunr.hy.min.js | 1 + assets/javascripts/lunr/min/lunr.it.min.js | 18 + assets/javascripts/lunr/min/lunr.ja.min.js | 1 + assets/javascripts/lunr/min/lunr.jp.min.js | 1 + assets/javascripts/lunr/min/lunr.kn.min.js | 1 + assets/javascripts/lunr/min/lunr.ko.min.js | 1 + assets/javascripts/lunr/min/lunr.multi.min.js | 1 + assets/javascripts/lunr/min/lunr.nl.min.js | 18 + assets/javascripts/lunr/min/lunr.no.min.js | 18 + assets/javascripts/lunr/min/lunr.pt.min.js | 18 + assets/javascripts/lunr/min/lunr.ro.min.js | 18 + assets/javascripts/lunr/min/lunr.ru.min.js | 18 + assets/javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + assets/javascripts/lunr/min/lunr.sv.min.js | 18 + assets/javascripts/lunr/min/lunr.ta.min.js | 1 + assets/javascripts/lunr/min/lunr.te.min.js | 1 + assets/javascripts/lunr/min/lunr.th.min.js | 1 + assets/javascripts/lunr/min/lunr.tr.min.js | 18 + assets/javascripts/lunr/min/lunr.vi.min.js | 1 + assets/javascripts/lunr/min/lunr.zh.min.js | 1 + assets/javascripts/lunr/tinyseg.js | 206 + assets/javascripts/lunr/wordcut.js | 6708 ++++++++++++++ .../workers/search.1e90e0fb.min.js | 2 + assets/stylesheets/main.ede334a4.min.css | 1 + assets/stylesheets/palette.ab4e12ef.min.css | 1 + configure-references-links/index.html | 2306 +++++ create-metadata/index.html | 2306 +++++ custom-fields/index.html | 2162 +++++ explanation/index.html | 2139 +++++ further-reading/index.html | 2233 +++++ gbl-0.5/index.html | 2308 +++++ gbl-1.0/index.html | 3892 ++++++++ gbl1-fgdc-iso-crosswalk/index.html | 2307 +++++ harvest-ogm/index.html | 2207 +++++ how-to-guides/index.html | 2136 +++++ images/ISO-GBL.jpg | Bin 0 -> 278948 bytes images/ISO_snippet.png | Bin 0 -> 135235 bytes images/aardvark.png | Bin 0 -> 10714 bytes images/aardvark2.png | Bin 0 -> 6517 bytes images/aardvark3-border-5pt.png | Bin 0 -> 4063 bytes images/aardvark3-border-7pt.png | Bin 0 -> 4213 bytes images/aardvark3-border-fill.png | Bin 0 -> 4146 bytes images/aardvark3.png | Bin 0 -> 6678 bytes images/geoblacklight-150.png | Bin 0 -> 9293 bytes images/geoblacklight-72.png | Bin 0 -> 16952 bytes images/geoblacklight-border-150.png | Bin 0 -> 11164 bytes images/geoblacklight-border-72.png | Bin 0 -> 17630 bytes images/github-black-border.png | Bin 0 -> 5218 bytes images/github-black.png | Bin 0 -> 4114 bytes images/github-mark.png | Bin 0 -> 10330 bytes images/github.png | Bin 0 -> 144101 bytes images/metadata_workflow.png | Bin 0 -> 67634 bytes images/ogm-150.png | Bin 0 -> 22215 bytes images/ogm-72.png | Bin 0 -> 16293 bytes images/ogm-border-150.png | Bin 0 -> 31985 bytes images/ogm-border-72.png | Bin 0 -> 16598 bytes images/rel-belongs-collection.png | Bin 0 -> 11446 bytes images/rel-collection-records.png | Bin 0 -> 28313 bytes images/rel-derived-records.png | Bin 0 -> 25598 bytes images/rel-has-part.png | Bin 0 -> 22763 bytes images/rel-has-version2.png | Bin 0 -> 12558 bytes images/rel-is-part-of.png | Bin 0 -> 10777 bytes images/rel-is-replaced-by.png | Bin 0 -> 10528 bytes images/rel-is-version-of2.png | Bin 0 -> 10621 bytes images/rel-related-record-link.png | Bin 0 -> 12781 bytes images/rel-related-record-source.png | Bin 0 -> 10806 bytes images/rel-replaces.png | Bin 0 -> 9215 bytes images/rel-source-records.png | Bin 0 -> 9315 bytes images/transform-option1.png | Bin 0 -> 173869 bytes images/transform-option2.png | Bin 0 -> 179600 bytes images/transform-option3.png | Bin 0 -> 217826 bytes index-in-solr/index.html | 2223 +++++ index.html | 2147 +++++ javascripts/tablesort.js | 6 + json-schema/index.html | 2214 +++++ ogm-aardvark/access-rights.csv | 13 + ogm-aardvark/alternative-title.csv | 13 + ogm-aardvark/bounding-box.csv | 13 + ogm-aardvark/centroid.csv | 13 + ogm-aardvark/controlled-values.csv | 12 + ogm-aardvark/creator.csv | 13 + ogm-aardvark/date-issued.csv | 13 + ogm-aardvark/date-range.csv | 13 + ogm-aardvark/description.csv | 13 + ogm-aardvark/display-note.csv | 13 + ogm-aardvark/file-size.csv | 13 + ogm-aardvark/format.csv | 13 + ogm-aardvark/geometry.csv | 13 + ogm-aardvark/georeferenced.csv | 13 + ogm-aardvark/id.csv | 13 + ogm-aardvark/identifier.csv | 13 + ogm-aardvark/index-year.csv | 13 + ogm-aardvark/index.html | 8104 +++++++++++++++++ ogm-aardvark/is-part-of.csv | 13 + ogm-aardvark/is-replaced-by.csv | 13 + ogm-aardvark/is-version-of.csv | 13 + ogm-aardvark/keyword.csv | 13 + ogm-aardvark/language-vocabulary.csv | 567 ++ ogm-aardvark/language.csv | 13 + ogm-aardvark/license.csv | 13 + ogm-aardvark/member-of.csv | 13 + ogm-aardvark/metadata-version.csv | 13 + ogm-aardvark/modified.csv | 13 + ogm-aardvark/provider.csv | 13 + ogm-aardvark/publisher.csv | 13 + ogm-aardvark/references.csv | 13 + ogm-aardvark/relation.csv | 13 + ogm-aardvark/replaces.csv | 13 + ogm-aardvark/resource-class.csv | 13 + ogm-aardvark/resource-type-vocabulary-loc.csv | 68 + ogm-aardvark/resource-type-vocabulary-ogm.csv | 15 + ogm-aardvark/resource-type.csv | 13 + ogm-aardvark/rights-holder.csv | 13 + ogm-aardvark/rights.csv | 13 + ogm-aardvark/source.csv | 13 + ogm-aardvark/spatial-coverage.csv | 13 + ogm-aardvark/subject.csv | 13 + ogm-aardvark/suppressed.csv | 13 + ogm-aardvark/temporal-coverage.csv | 13 + ogm-aardvark/theme-vocabulary.csv | 22 + ogm-aardvark/theme.csv | 13 + ogm-aardvark/title.csv | 13 + ogm-aardvark/wxs-identifier.csv | 13 + reference-uris/index.html | 2351 +++++ reference/index.html | 2138 +++++ relations-fields/index.html | 2392 +++++ schema/geoblacklight-schema-1.0.json | 214 + schema/geoblacklight-schema-aardvark.json | 197 + scripts/index.html | 2202 +++++ search/search_index.json | 1 + share-on-ogm/index.html | 2416 +++++ sitemap.xml | 3 + sitemap.xml.gz | Bin 0 -> 127 bytes solr-field-suffixes/index.html | 2220 +++++ spatial-fields/index.html | 2171 +++++ stylesheets/extra.css | 118 + tables/applications.csv | 4 + tables/gbl1-fgdc-iso.csv | 28 + tables/ogm-aardvark-fields.csv | 43 + tables/ogm-accessRights.csv | 12 + tables/ogm-fgdc-iso.csv | 44 + tables/ogm-gbl1.csv | 45 + tables/scripts.csv | 7 + temporal-fields/index.html | 2290 +++++ upgrade-metadata/index.html | 2392 +++++ validate-metadata/index.html | 2158 +++++ view-solr-metadata/index.html | 2278 +++++ 171 files changed, 91291 insertions(+) create mode 100644 .nojekyll create mode 100644 1.0-geometry-type/index.html create mode 100644 404.html create mode 100644 CNAME create mode 100644 JSON-format/index.html create mode 100644 aardvark-fgdc-iso-crosswalk/index.html create mode 100644 aardvark-gbl-1-crosswalk/index.html create mode 100644 about-ogm-aardvark/index.html create mode 100644 about-ogm-repositories/index.html create mode 100644 applications/index.html create mode 100644 assets/images/favicon.png create mode 100644 assets/javascripts/bundle.0e2aa882.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 assets/javascripts/lunr/min/lunr.el.min.js create mode 100644 assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.he.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 assets/javascripts/lunr/tinyseg.js create mode 100644 assets/javascripts/lunr/wordcut.js create mode 100644 assets/javascripts/workers/search.1e90e0fb.min.js create mode 100644 assets/stylesheets/main.ede334a4.min.css create mode 100644 assets/stylesheets/palette.ab4e12ef.min.css create mode 100644 configure-references-links/index.html create mode 100644 create-metadata/index.html create mode 100644 custom-fields/index.html create mode 100644 explanation/index.html create mode 100644 further-reading/index.html create mode 100644 gbl-0.5/index.html create mode 100644 gbl-1.0/index.html create mode 100644 gbl1-fgdc-iso-crosswalk/index.html create mode 100644 harvest-ogm/index.html create mode 100644 how-to-guides/index.html create mode 100644 images/ISO-GBL.jpg create mode 100644 images/ISO_snippet.png create mode 100644 images/aardvark.png create mode 100644 images/aardvark2.png create mode 100644 images/aardvark3-border-5pt.png create mode 100644 images/aardvark3-border-7pt.png create mode 100644 images/aardvark3-border-fill.png create mode 100644 images/aardvark3.png create mode 100644 images/geoblacklight-150.png create mode 100644 images/geoblacklight-72.png create mode 100644 images/geoblacklight-border-150.png create mode 100644 images/geoblacklight-border-72.png create mode 100644 images/github-black-border.png create mode 100644 images/github-black.png create mode 100644 images/github-mark.png create mode 100644 images/github.png create mode 100644 images/metadata_workflow.png create mode 100644 images/ogm-150.png create mode 100644 images/ogm-72.png create mode 100644 images/ogm-border-150.png create mode 100644 images/ogm-border-72.png create mode 100644 images/rel-belongs-collection.png create mode 100644 images/rel-collection-records.png create mode 100644 images/rel-derived-records.png create mode 100644 images/rel-has-part.png create mode 100644 images/rel-has-version2.png create mode 100644 images/rel-is-part-of.png create mode 100644 images/rel-is-replaced-by.png create mode 100644 images/rel-is-version-of2.png create mode 100644 images/rel-related-record-link.png create mode 100644 images/rel-related-record-source.png create mode 100644 images/rel-replaces.png create mode 100644 images/rel-source-records.png create mode 100644 images/transform-option1.png create mode 100644 images/transform-option2.png create mode 100644 images/transform-option3.png create mode 100644 index-in-solr/index.html create mode 100644 index.html create mode 100644 javascripts/tablesort.js create mode 100644 json-schema/index.html create mode 100644 ogm-aardvark/access-rights.csv create mode 100644 ogm-aardvark/alternative-title.csv create mode 100644 ogm-aardvark/bounding-box.csv create mode 100644 ogm-aardvark/centroid.csv create mode 100644 ogm-aardvark/controlled-values.csv create mode 100644 ogm-aardvark/creator.csv create mode 100644 ogm-aardvark/date-issued.csv create mode 100644 ogm-aardvark/date-range.csv create mode 100644 ogm-aardvark/description.csv create mode 100644 ogm-aardvark/display-note.csv create mode 100644 ogm-aardvark/file-size.csv create mode 100644 ogm-aardvark/format.csv create mode 100644 ogm-aardvark/geometry.csv create mode 100644 ogm-aardvark/georeferenced.csv create mode 100644 ogm-aardvark/id.csv create mode 100644 ogm-aardvark/identifier.csv create mode 100644 ogm-aardvark/index-year.csv create mode 100644 ogm-aardvark/index.html create mode 100644 ogm-aardvark/is-part-of.csv create mode 100644 ogm-aardvark/is-replaced-by.csv create mode 100644 ogm-aardvark/is-version-of.csv create mode 100644 ogm-aardvark/keyword.csv create mode 100644 ogm-aardvark/language-vocabulary.csv create mode 100644 ogm-aardvark/language.csv create mode 100644 ogm-aardvark/license.csv create mode 100644 ogm-aardvark/member-of.csv create mode 100644 ogm-aardvark/metadata-version.csv create mode 100644 ogm-aardvark/modified.csv create mode 100644 ogm-aardvark/provider.csv create mode 100644 ogm-aardvark/publisher.csv create mode 100644 ogm-aardvark/references.csv create mode 100644 ogm-aardvark/relation.csv create mode 100644 ogm-aardvark/replaces.csv create mode 100644 ogm-aardvark/resource-class.csv create mode 100644 ogm-aardvark/resource-type-vocabulary-loc.csv create mode 100644 ogm-aardvark/resource-type-vocabulary-ogm.csv create mode 100644 ogm-aardvark/resource-type.csv create mode 100644 ogm-aardvark/rights-holder.csv create mode 100644 ogm-aardvark/rights.csv create mode 100644 ogm-aardvark/source.csv create mode 100644 ogm-aardvark/spatial-coverage.csv create mode 100644 ogm-aardvark/subject.csv create mode 100644 ogm-aardvark/suppressed.csv create mode 100644 ogm-aardvark/temporal-coverage.csv create mode 100644 ogm-aardvark/theme-vocabulary.csv create mode 100644 ogm-aardvark/theme.csv create mode 100644 ogm-aardvark/title.csv create mode 100644 ogm-aardvark/wxs-identifier.csv create mode 100644 reference-uris/index.html create mode 100644 reference/index.html create mode 100644 relations-fields/index.html create mode 100644 schema/geoblacklight-schema-1.0.json create mode 100644 schema/geoblacklight-schema-aardvark.json create mode 100644 scripts/index.html create mode 100644 search/search_index.json create mode 100644 share-on-ogm/index.html create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz create mode 100644 solr-field-suffixes/index.html create mode 100644 spatial-fields/index.html create mode 100644 stylesheets/extra.css create mode 100644 tables/applications.csv create mode 100644 tables/gbl1-fgdc-iso.csv create mode 100644 tables/ogm-aardvark-fields.csv create mode 100644 tables/ogm-accessRights.csv create mode 100644 tables/ogm-fgdc-iso.csv create mode 100644 tables/ogm-gbl1.csv create mode 100644 tables/scripts.csv create mode 100644 temporal-fields/index.html create mode 100644 upgrade-metadata/index.html create mode 100644 validate-metadata/index.html create mode 100644 view-solr-metadata/index.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/1.0-geometry-type/index.html b/1.0-geometry-type/index.html new file mode 100644 index 00000000..8b480eea --- /dev/null +++ b/1.0-geometry-type/index.html @@ -0,0 +1,2132 @@ + + + + + + + + + + + + + + + + + + + + + + Geometry Type - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + +
+ + + + + +

Geometry Type

+

GeoBlacklight 1.0 Geometry Type Vocabulary

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelIcon LinkDefinition
PointIconGeospatial dataset made up of pairs of x,y coordinates
LineIconGeospatial dataset made up of straight or curved connected x,y coordinates
PolygonIconGeospatial dataset made up of closed connections of x,y coordinates
ImageIconStatic born-digital maps and scanned map images
RasterIconGeospatial dataset that is presented as an array of cells comprised of single or multiple bands
MixedIconGeospatial dataset with multiple geometry types
TableIconNonspatial dataset as a text file with delimiter separated values
+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/404.html b/404.html new file mode 100644 index 00000000..ebdf4d47 --- /dev/null +++ b/404.html @@ -0,0 +1,2064 @@ + + + + + + + + + + + + + + + + + + + + + + OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + +
+ +

404 - Not found

+ +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..f3a77434 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +opengeometadata.org \ No newline at end of file diff --git a/JSON-format/index.html b/JSON-format/index.html new file mode 100644 index 00000000..aa93d505 --- /dev/null +++ b/JSON-format/index.html @@ -0,0 +1,2449 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + JSON Format - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + + + +
+ + + + + + + +

JSON Format

+ +

OGM metadata is formatted as flat JSON files.

+

Terms to know

+

Key:value pairs

+
    +
  • the key is either a metadata field name or an external reference URI
  • +
  • the value is the string, array, boolean, integer, etc. that goes in the field
  • +
  • strings are surrounded by 'single' or "double" quotation marks
  • +
+
"dct_identifier_sm": "http://purl.stanford.edu/dp018hs9766"
+
+

Objects

+
    +
  • consist of key:value pairs inside {curly brackets}
  • +
  • brackets are often put on a separate line to aid in readability
  • +
+
{
+  "geoblacklight_version": "1.0",
+  "dc_identifier_s": "https://cugir.library.cornell.edu/catalog/cugir-007950"
+}
+
+

Arrays

+
    +
  • ordered collections of items
  • +
  • surrounded by [square brackets]
  • +
  • used for fields that can have multiple values, such as dct_subject_sm or multiple download links within the dct_references_s element.
  • +
+
{
+  "dct_subject_sm": [
+    "Continental margins",
+    "Multibeam mapping",
+    "Elevation",
+    "Imagery and Base Maps",
+    "Inland Waters"
+  ]
+}
+
+

Escaped characters

+
    +
  • certain characters are reserved for the JSON format, including double quotations "
  • +
  • if these characters are present in a string, they must be preceded by a backslash \ in order for the JSON to function properly
  • +
  • double quotations " within strings must be escaped with a backslash \
  • +
+
{
+  "dct_references_s": "{\"http://schema.org/url\":\"http://purl.stanford.edu/dp018hs9766\",\"http://schema.org/downloadUrl\":\"http://stacks.stanford.edu/file/druid:dp018hs9766/data.zip\"}"
+}
+
+

"Stringified JSON"

+
    +
  • the dct_references_s field in the GeoBlacklight JSON is sometimes referred to as "stringified JSON"; it looks like an object, but it is actually a string
  • +
  • the backslash \ in the example above is an indication that this value is stringified JSON
  • +
+

Example

+

This is an example of a complete OGM Aardvark JSON file. Note that it contains a custom (local) field, b1g_code_s, which is documented on the BTAA Geospatial Information Network Metadata handbook at https://geobtaa.github.io/metadata/b1g-custom-elements/#code

+
{
+  "dct_title_s": "Racial Covenants [Hennepin County, Minnesota] (1910-1955)",
+  "dct_alternative_sm": [
+    "Racial Covenants in Hennepin County"
+  ],
+  "dct_description_sm": [
+    "This data was compiled by the Mapping Prejudice Project and shows the location of racial covenants recorded in Hennepin County between 1910 and 1955. Racial covenants were legal clauses embedded in property records that restricted ownership and occupancy of land parcels based on race. These covenants dramatically reshaped the demographic landscape of Hennepin County in the first half of the twentieth century. In 1948, the United States Supreme Court ruled racial covenants to be legally unenforceable in the Shelly v. Kraemer decision. Racial covenants continued to be inserted into property records, however, prompting the Minnesota state legislature to outlaw the recording of new racial covenants in 1953. The same legislative body made covenants illegal in 1962. The practice was formally ended nationally with the passage of the Fair Housing Act in 1968."
+  ],
+  "dct_language_sm": [
+    "eng"
+  ],
+  "dct_creator_sm": [
+    "Ehrman-Solberg, Kevin",
+    "Petersen, Penny",
+    "Mills, Marguerite",
+    "Delegard, Kirsten",
+    "Mattke, Ryan"
+  ],
+  "dct_publisher_sm": [
+    "University of Minnesota Mapping Prejudice Project"
+  ],
+  "schema_provider_s": "University of Minnesota",
+  "gbl_resourceClass_sm": [
+    "Datasets",
+    "Web services"
+  ],
+  "gbl_resourceType_sm": [
+    "Polygon data",
+    "Vector data"
+  ],
+  "dcat_theme_sm": [
+    "Society"
+  ],
+  "dcat_keyword_sm": [
+    "Minneapolis",
+    "racial covenants",
+    "segregation",
+    "redlining",
+    "real estate"
+  ],
+  "dct_temporal_sm": [
+    "1910-1955"
+  ],
+  "dct_issued_s": "2020-12",
+  "gbl_indexYear_im": [
+    "1910"
+  ],
+  "gbl_dateRange_drsim": [
+    "[1910 TO 1955]"
+  ],
+  "dct_spatial_sm": [
+    "Bloomington, Minnesota",
+    "Brooklyn Center, Minnesota",
+    "Brooklyn Park, Minnesota",
+    "Champlin, Minnesota",
+    "Crystal, Minnesota",
+    "Deephaven, Minnesota",
+    "Eden Prairie, Minnesota",
+    "Edina, Minnesota",
+    "Golden Valley, Minnesota",
+    "Greenwood, Minnesota",
+    "Hopkins, Minnesota",
+    "Maple Grove, Minnesota",
+    "Maple Plain, Minnesota",
+    "Medina, Minnesota",
+    "Minneapolis, Minnesota",
+    "Minnetonka, Minnesota",
+    "Minnetonka Beach, Minnesota",
+    "Minnetrista, Minnesota",
+    "Mound, Minnesota",
+    "Orono, Minnesota",
+    "Osseo, Minnesota",
+    "Plymouth, Minnesota",
+    "Rays Lynnhurst, Minnesota",
+    "Richfield, Minnesota",
+    "Robbinsdale, Minnesota",
+    "Shorewood, Minnesota",
+    "St. Anthony, Minnesota",
+    "St. Louis Park, Minnesota",
+    "Tonka Bay, Minnesota",
+    "Wayzata, Minnesota",
+    "Woodland, Minnesota",
+    "Hennepin County, Minnesota",
+    "Minnesota"
+  ],
+  "locn_geometry": "POLYGON((-93.77 45.24, -93.17 45.24, -93.17 44.78, -93.77 44.78, -93.77 45.24))",
+  "dcat_bbox": "ENVELOPE(-93.77,-93.17,45.24,44.78)",
+  "dcat_centroid": "45.01,-93.47",
+  "pcdm_memberOf_sm": [
+    "dc8c18df-7d64-4ff4-a754-d18d0891187d"
+  ],
+  "dct_isPartOf_sm": [
+    "05d-12",
+    "05d-03"
+  ],
+  "dct_rights_sm": [
+    "Content distributed via the University of Minnesota's Digital Conservancy may be subject to additional license and use restrictions applied by the depositor."
+  ],
+  "dct_license_sm": [
+    "http://creativecommons.org/licenses/by-nc/3.0/us/"
+  ],
+  "dct_accessRights_s": "Public",
+  "dct_format_s": "Shapefile",
+  "dct_references_s": "{\"http://schema.org/url\":\"https://doi.org/10.13020/a88t-yb14\",\"http://lccn.loc.gov/sh85035852\":\"https://conservancy.umn.edu/bitstream/handle/11299/217209/Hennepin_County_Racial_Covenants_Codebook.txt\",\"urn:x-esri:serviceType:ArcGIS#FeatureLayer\":\"https://services.arcgis.com/8df8p0NlLFEShl0r/ArcGIS/rest/services/Hennepin_County_Racial_Covenants/FeatureServer/0\",\"http://schema.org/downloadUrl\":[{\"label\":\"covenants shapefile (4.554Mb)\",\"url\":\"https://conservancy.umn.edu/bitstream/handle/11299/217209/Hennepin_County_Racial_Covenants.zip\"},{\"label\":\"covenants CSV (9.925Mb)\",\"url\":\"https://conservancy.umn.edu/bitstream/handle/11299/217209/Hennepin_County_Racial_Covenants_Table.csv\"}]}",
+  "id": "0455d309-e4e9-473e-8c3f-b42a6a2e16fc",
+  "dct_identifier_sm": [
+    "https://doi.org/10.13020/a88t-yb14"
+  ],
+  "gbl_mdModified_dt": "2022-09-14T20:18:27Z",
+  "gbl_mdVersion_s": "Aardvark",
+  "b1g_code_s": "05d-03"
+}
+
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/aardvark-fgdc-iso-crosswalk/index.html b/aardvark-fgdc-iso-crosswalk/index.html new file mode 100644 index 00000000..cc26af67 --- /dev/null +++ b/aardvark-fgdc-iso-crosswalk/index.html @@ -0,0 +1,2387 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Aardvark to FGDC and ISO - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + + + +
+ + + + + + + +

Aardvark to FGDC and ISO

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OGM AardvarkFGDC CSDGMISO 19139
dct_accessRights_sidinfo/acconstMD_DataIdentification/resourceConstraints/MD_LegalConstraints/accessConstraints
dct_alternative_sm--
dcat_bboxidinfo/spdom/bounding/westbc AND eastbc AND northbc AND southbcMD_DataIdentification/extent/EX_Extent/geographicElement/EX_GeographicBoundingBox/west AND south AND east AND north
dcat_centroid--
dct_creator_smidinfo/citation/citeinfo/originatorMD_DataIdentification/citation/CI_Citation/citation/citedResponsibleParty/CI_ResponsibleParty/individualName OR organsationName (@type = originator)
dct_issued_sidinfo/citation/citeinfo/pubdateMD_DataIdentification/citation/CI_Citation/citation/CI_Date/date
gbl_dateRange_drsimidinfo/timeperd/timeinfo/rngdates/begdate and idinfo/timeperd/timeinfo/rngdates/enddate-
dct_description_smdescript/abstractMD_DataIdentification/abstract
gbl_fileSize_sdistinfo/stdorder/digform/digtinfo/transize-
dct_format_sspdoinfo/directMD_Distribution/distributionFormat/MD_Format/name
locn_geometryidinfo/spdom/bounding/westbc AND eastbc AND northbc AND southbc-
gbl_georeferenced_b--
idnot applicablenot applicable
dct_identifier_sm-MD_DataIdentification/citation/CI_Citation/citation/MD_Identifier/code
gbl_indexYear_imidinfo/timeprd/timeinfo/sngdate/caldate and idinfo/timeperd/timeinfo/mdattim/sngdate/caldate and idinfo/timeperd/timeinfo/rngdates/begdate and idinfo/keywords/temporal/tempkeyMD_DataIdentification/extent/EX_Extent/EX_TemporalExtent/extent/TimePeriod OR TimeInstant [YYYY]
dct_isPartOf_sm--
idinfo/citation/citeinfo/lworkcit/citeinfo/titleMD_AggregateInformation/aggregateDataSetName/CI_Citation/title-
dct_isReplacedBy_sm--
dcat_keyword_sm--
dct_language_sm-MD_DataIdentification/language
dct_license_sm--
pcdm_memberOf_sm--
gbl_mdVersion_s--
gbl_mdModified_dtmetainfo/metd-
schema_provider_sdistinfo/distrib/cntinfo/cntorgp/cntorgMD_Distributor/CI_ResponsibleParty/organisationName
dct_publisher_smidinfo/citation/citeinfo/pubinfo/publisherMD_DataIdentification/citation/CI_Citation/citation/citedResponsibleParty/CI_ResponsibleParty/individualName OR organsationName (@type = publisher)
dct_references_snot applicablenot applicable
dct_relation_sm--
dct_replaces_sm--
gbl_resourceClass_smidinfo/citation/citeinfo/geoform-
gbl_resourceType_smspdoinfo/ptvctinf/sdtsterm/sdtstype, idinfo/keywords/theme/themekeyMD_GeometricObjectTypeCode
dct_rights_smidinfo/useconst, idinfo/useconst, idinfo/acconst-
dct_rightsHolder_sm--
dct_source_smdataqual/lineage/srcinfo/srccite/citeinfo/titleDQ_DataQuality/lineage/LI_Lineage/source/LI_Source/sourceCitation/CI_Citation/title
dct_spatial_smidinfo/keywords/placeMD_DataIdentification/descriptiveKeywords/MD_Keywords/keyword (@type='place')
dct_subject_smidinfo/keywords/theme/themekeyMD_DataIdentification/descriptiveKeywords/MD_Keywords/keyword (@type='theme') AND MD_DataIdentification/topicCategory/MD_TopicCategoryCode
gbl_suppressed_bnot applicablenot applicable
dct_temporal_smidinfo/timeprd/timeinfo/sngdate/caldate and idinfo/timeperd/timeinfo/mdattim/sngdate and idinfo/timeperd/timeinfo/rngdates and idinfo/keywords/temporal/tempkeyMD_DataIdentification/extent/EX_Extent/EX_TemporalExtent/extent/TimePeriod OR TimeInstant
dcat_theme_sm--
dct_title_sidinfo/citation/citeinfo/titleMD_DataIdentification/citation/CI_Citation/title
hierarchyLevelName--
dct_isVersionOf_sm--
gbl_wxsIdentifier_snot applicablenot applicable
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/aardvark-gbl-1-crosswalk/index.html b/aardvark-gbl-1-crosswalk/index.html new file mode 100644 index 00000000..232332ab --- /dev/null +++ b/aardvark-gbl-1-crosswalk/index.html @@ -0,0 +1,2507 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Aardvark to GBL 1.0 - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Aardvark to GBL 1.0

+ +

The following chart shows the full Aardvark schema and which GBL 1.0 fields can be directly mapped.

+

Crosswalk table

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Aardvark LabelOGM AardvarkGBL 1.0Note
Access Rightsdct_accessRights_sdc_rights_snew field name
Alternative Titledct_alternative_sm-new field
Bounding Boxdcat_bboxsolr_geomnew field
Centroiddcat_centroid-new field
Creatordct_creator_smdc_creator_smnew namespace
Date Issueddct_issued_sdct_issued_sno change
Date Rangegbl_dateRange_drsim-new field
Descriptiondct_description_smdc_description_snew namespace; single to multi-valued
File Sizegbl_fileSize_s-new field
Formatdct_format_sdc_format_snew namespace
Geometrylocn_geometrysolr_geomnew field
Georeferencedgbl_georeferenced_b-new field
IDidlayer_slug_snew field name
Identifierdct_identifier_smdc_identifier_snew namespace; single to multi-valued
Index Yeargbl_indexYear_imsolr_year_inew field name; single to multi-valued
Is Part Ofdct_isPartOf_sm-new value type (see Elements without a crosswalk)
Is Replaced Bydct_isReplacedBy_sm-new field
Keyworddcat_keyword_sm-new field
Languagedct_language_smdc_language_s or _smnew namespace; single to multi-valued
Licensedct_license_sm-new field
Member Ofpcdm_memberOf_sm-new field
Metadata Versiongbl_mdVersion_sgeoblacklight_versionnew field name
Modifiedgbl_mdModified_dtlayer_modified_dtnew field name
Providerschema_provider_sdct_provenance_snew field name
Publisherdct_publisher_smdc_publisher_snew namespace; single to multi-valued
Referencesdct_references_sdct_references_sno change
Relationdct_relation_sm-new field
Replacesdct_replaces_sm-new field
Resource Classgbl_resourceClass_sm-new field
Resource Typegbl_resourceType_sm-new field
Rightsdct_rights_sm-new field
Rights Holderdct_rightsHolder_sm-new field
Sourcedct_source_smdc_source_smnew namespace
Spatial Coveragedct_spatial_smdct_spatial_smno change
Subjectdct_subject_smdc_subject_smnew namespace
Suppressedgbl_suppressed_bsuppressed_bnew namespace
Temporal Coveragedct_temporal_smdct_temporal_smno change
Themedcat_theme_sm-new field
Titledct_title_sdc_title_snew namespace
Versiondct_isVersionOf_sm-new field
WxS Identifiergbl_wxsIdentifier_slayer_id_snew field name
--dc_type_sdeprecated field
--layer_geom_type_sdeprecated field
--dc_isPartOf_smdeprecated literal field, replaced by nonliteral dct_isPartOf_sm,, which takes an ID
+

Elements without a crosswalk

+

Most of the elements from GBL 1.0 can be crosswalked directly into OGM Aardvark. The values for these elements are the same - only the field name has changed or the field has been converted to an array.

+

However, there are three elements in GBL 1.0 that do not directly translate into OGM Aardvark. While they have been replaced with similar fields in OGM Aardvark, the values themselves would need to be altered during crosswalking.

+

Type (dc_type_s)

+
    +
  • GBL 1.0 Description: This single-valued GBL 1.0 field observes the Dublin Core controlled vocabulary for Type, including Dataset, Image, Collection, Interactive Resource, or Physical Object.
  • +
  • Similar Aardvark element: This has been replaced in Aardvark with the multi-valued Resource Class, which uses a custom controlled vocabulary of Collections, Datasets, Imagery, Maps, Web services, and/or Other.
  • +
+

Geometry Type (layer_geom_type_s)

+
    +
  • GBL 1.0 Description: This single-valued GBL 1.0 field differentiates between vector (Point, Line, Polygon), raster (Raster, Image), non-spatial formats (Table), or a combination (Mixed).
  • +
  • Similar Aardvark element: This has been replaced in Aardvark with the multi-valued Resource Type, which uses a controlled vocabulary drawn from Library of Congress cartographic genres and GIS geometries.
  • +
+

Is Part Of (dct_isPartOf_sm)

+
    +
  • GBL 1.0 Description: This multi-valued GBL 1.0 plain text field is for writing out the name of a collection. Example: dct_isPartOf_sm:"Village Maps of India"
  • +
  • Similar Aardvark element: The field name is the same in Aardvark, but it is now a non-literal field. The value must be one or more IDs that reference another record within the system. Example: dct_isPartOf_sm:"princeton-z603r079s"
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/about-ogm-aardvark/index.html b/about-ogm-aardvark/index.html new file mode 100644 index 00000000..af0012eb --- /dev/null +++ b/about-ogm-aardvark/index.html @@ -0,0 +1,2498 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + About OGM Aardvark - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

About OGM Aardvark

+

Details about the OpenGeoMetadata metadata schema, OGM Aardvark

+
+

Summary

+
    +
  • Based on Dublin Core, with custom elements added for spatial values.
  • +
  • Designed for discovery - to help users find items.
  • +
  • Not designed for complete technical documentation, such as a GIS dataset's processing history.
  • +
  • Includes elements for external links, such as downloads, web services, or supplemental metadata.
  • +
  • Requires records to be formatted as JSON files (learn more here).
  • +
+
+

Terminology

+
    +
  • GBL 1.0: The legacy metadata schema designed for GeoBlacklight versions 2.0-3.7. The schema is documented on this Legacy page.
  • +
  • OGM Aardvark: The new metadata schema that is compatible with GeoBlacklight version 4.0.
  • +
  • GeoBlacklight: When spelled out, GeoBlacklight refers to the application itself, not its namesake legacy metadata schema, GBL 1.0.
  • +
  • Field name: This is the name we give to the metadata element itself. For example, the field name for the Subject field is dct_subject_sm.
  • +
  • Namespace: This is how we signify which family of standards or schemas an element belongs to. For the GeoBlacklight schema, this takes the form of the field name's prefix. For dct_subject_sm, dct_ is the prefix and signifies that this element is from Dublin Core.
  • +
  • Solr field type: This is the suffix appended to the field name and indicates what kind of Solr field should be indexed. For dct_subject_sm, the _sm stands for String Multiple. It indicates that the field type is a string and that it can have multiple values.
  • +
  • Value: This is the information that is entered in a field. It may be free text (literal value) or a URI/code (nonliteral value).
  • +
+

OGM Aardvark is a discovery metadata schema for geospatial resources. It was intentionally developed with cross-application in mind and can be used to describe geospatial assets of all kinds.

+

It is also the newest metadata application profile schema for GeoBlacklight. Launched in 2021, it replaces the GeoBlacklight metadata schema version 1.0 (GBL 1.0). Compared to GBL 1.0, Aardvark incorporates additional fields for better descriptions of a wider range of resources, as well as syntactical updates in order to improve interoperability between institutions and between schemas. For GeoBlacklight users, it is the recommended schema for installations starting with GeoBlacklight version 4.0.

+

For more information, see the Upgrade Guide.

+
+

Background

+

Why is this called Aardvark?

+

The term “aardvark” represents a new naming convention to specify metadata schema versions. This convention is intended to reduce confusion between the metadata schema version and GeoBlacklight software versions, which uses numerical-based indicators.

+

Why do we need an updated schema?

+

GeoBlacklight and its original metadata application schema (1.0) are well-suited to describing single layers of GIS data served out as OGC web services and documented with supplemental metadata, such as ISO 19115 (19139). Since that time, the growing community of GeoBlacklight adopters has introduced new use cases and institutional requirements. This growth brought several challenges to the metadata application schema as it was originally conceived including:

+
    +
  • a lack of fields for statements about rights
  • +
  • a lack of clarity around how to define relationships between items
  • +
  • few options for describing other types of resources, such as scanned maps, collections, and websites
  • +
  • mandatory fields that did not have applicable values (i.e. Geometry Type)
  • +
  • single-valued fields that could have multiple values (i.e. Language, Publisher)
  • +
  • fields with names that were not intuitive for new users
  • +
+

The minimal nature of the original GeoBlacklight schema combined with the growing environment of customized local fields has presented obstacles for new adopters. Instead of being able to rely on the official application schema to meet all or most of their needs, they must develop local solutions. Ultimately, in order to use GeoBlacklight, many adopters implemented custom fields. A review of extant custom fields in 2020 revealed that at least six institutions had added or altered fields in the GeoBlacklight schema. Altogether, over 20 custom fields were in use. The result of these custom fields was metadata that was not fully interoperable across institutions. For example, three schools had implemented three different fields for indicating rights or licenses.

+

What changed?

+

What are the differences between GBL 1.0 and OGM Aardvark?

+

New elements for rights

+

The new set of rights elements are:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelField NameDescription and Entry Guidelines
Access Rightsdct_accessRights_sOne of two possible values, "Public" or "Restricted"; controls whether a user can preview or download an item. This element replaces dc_rights_s.
Rightsdct_rights_smFree-text field for generic, catch-all access and usage rights. Can include clickable links.
Licensedct_license_smField for one or more URIs. Recommended sources are Creative Commons or Open Data Commons.
Rights Holderdct_rightsHolder_smFree-text field for the person or organization owning or managing rights over the resource.
+

New elements for item relations

+

The new schema includes seven relationship fields. The value for each field should be the ID (slug) of the related item.

+

GeoBlacklight version 3.4 and earlier has an Item Relations widget that displays items identified in the Source field. Beginning with version 4, this has been updated to use the same widget for each of these fields

+

The new set of relationship elements are:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelField NameDescription and Entry Guidelines
Sourcedct_source_smFor items that have been derived from another item (e.g. a digitized shapefile from a historical map).
Is Part Ofdct_isPartOf_smFor items that are a subset of another item (e.g. a page in a book). This value type is changing from free-text in Version 1.0 to an ID (slug) in the new schema.
Member Ofpcdm_memberOf_smFor items in a collection.
Replacesdct_replaces_smTo refer to an item that has been deprecated.
Is Replaced Bydct_isReplacedBy_smTo point the user to a new item.
Versiondct_isVersionOf_smTo indicate that an item is part of a series of resources that are updated or altered.
Relationdct_relation_smFor a general purpose relation.
+

Consistent namespaces for all metadata element field names

+

OGM Aardvark gives preference to elements found in established schemas over custom fields.

+
    +
  • dct_: This signifies that the field is part of the Dublin Core Metadata Initiative (DCMI) Metadata Terms. Any Dublin Core fields from GBL 1.0 were updated to use the dct_ namespace, instead of dc_.
  • +
  • dcat_: This signifies that the field is from the Data Catalog Vocabulary (DCAT) Version 2.
  • +
  • pcdm_: This refers to the Portland Common Data Model, which is a framework for many digital repository systems. We drew from it to establish one of the item relationship fields.
  • +
  • gbl_: This stands for GeoBlacklight and is used for any field that is application-specific or has no analogous term in other schemas.
  • +
+

Multivalued elements whenever possible

+

The original schema features several descriptive metadata fields that only accept one value. The new schema expands many of these to multiple. This changes the field name suffix from _s to_sm. Although it will not affect the GeoBlacklight functionality, this practice may conflict with indexing, as Solr will treat dct_publisher_s as a different field than dct_publisher_sm.

+

More intuitive name for unique key

+

Metadata for GeoBlacklight instances is stored and indexed in Solr, which uses a "Unique Key Field" as the identifier for each document. The OGM Aardvark schema uses the straightforward id as the Unique Key Field (in GBL 1.0, this field was called layer_slug_s).

+

Will Aardvark work with my GeoBlacklight installation?

+

You will need to upgrade to at least GeoBlacklight version 3.3 to test out Aardvark. All previously hardcoded field names were removed in GeoBlacklight version 3.3 (see this pull request for more information). This means that field names are defined in the settings.yml file and can be configured to use Aardvark. However, only the fields in the crosswalk will have display, facet, or other functionality enabled by default in version 3.3.

+

Some of the new fields in Aardvark will be tied to default application functionality beginning with Version 4.0. We plan to include item relation widgets for the new relationships (such as Member Of and Is Version Of) and reorganize the facets to include the new categories (such as Resource Class and Resource Type).

+

Credits

+

Who came up with the schema?

+

The GeoBlacklight Metadata Schema Workgroup consisted of 16 people from 12 institutions. The workgroup formed during the Summer Community Sprint in August 2020 and met every three weeks thereafter through January 2021. The group wrapped up after the Winter Community Sprint in February 2021, during which time they consulted with application developers and finalized the recommendations for Aardvark.

+

Workgroup Goals

+
    +
  1. Systematically assess and evaluate the GeoBlacklight Schema 1.0
  2. +
  3. Develop a new GeoBlacklight Metadata Schema that features:
      +
    • improved interoperability with DCAT and Dublin Core-based schemas
    • +
    • new fields for rights
    • +
    • new fields for item relations
    • +
    • new recommendations for controlled vocabularies and values
    • +
    +
  4. +
  5. Develop a new Metadata Application Profile (MAP) for GeoBlacklight
  6. +
+

Workgroup Constraints & Considerations

+
    +
  • The GeoBlacklight schema was designed as an application-specific schema purely for discovery. It should not be a replacement for a full-fledged geospatial standard, such as ISO 19139.
  • +
  • Elements that drive the functionality of GeoBlacklight should be examined cautiously, as changes to the schema for these elements will require new application development time to implement.
  • +
  • New elements that are optional and additive are easier to adopt than ones that are syntactical replacements of existing fields.
  • +
  • Although backward compatibility is usually preferred, it may not be possible to accommodate both schemas within a single application. Any breaking changes must be clearly stated and documented.
  • +
+

Workgroup Members

+
    +
  • Abigail Pennington (UC San Diego)
  • +
  • Adi Ranganath (New York University)
  • +
  • Amy Work (UC San Diego)
  • +
  • Andrew Battista (New York University)
  • +
  • Diane Fritz (Auraria Library)
  • +
  • Karen Majewicz (University of Minnesota/BTAA)
  • +
  • Keith Jenkins (Cornell University)
  • +
  • Kimberly Durante (Stanford University)
  • +
  • Lena Denis (Johns Hopkins University)
  • +
  • Mara Blake (Johns Hopkins University)
  • +
  • Marc McGee (Harvard University)
  • +
  • Margaret Mering (University of Nebraska-Lincoln)
  • +
  • Michelle Janowiecki (Johns Hopkins University)
  • +
  • Stephen Appel (University of Wisconsin-Milwaukee)
  • +
  • Susan Powell (UC Berkeley)
  • +
  • Tom Brittnacher (UC Santa Barbara)
  • +
+

Metadata Interest Group Members +Refinements to OpenGeoMetadata have continued through the work of the ongoing Metadata Interest Group, which formed after the Workgroup sunsetted:

+
    +
  • Karen Majewicz (University of Minnesota/BTAA)
  • +
  • Keith Jenkins (Cornell University)
  • +
  • Lena Denis (Johns Hopkins University)
  • +
  • Marc McGee (Harvard University)
  • +
  • Rebecca Seifried (UMass Amherst)
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/about-ogm-repositories/index.html b/about-ogm-repositories/index.html new file mode 100644 index 00000000..d41acacf --- /dev/null +++ b/about-ogm-repositories/index.html @@ -0,0 +1,2222 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + About OGM Repositories - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

About OpenGeoMetadata Repositories

+

OpenGeoMetadata is a federated metadata-sharing community. The goal of participating in OpenGeoMetadata is to enable other institutions to find and use your institution’s metadata in their own local repositories, increasing the visibility and discoverability of your geospatial assets.

+

View our GitHub repositories

+

Each collaborating institution creates and maintains its own geospatial metadata repository within the OpenGeoMetadata GitHub organization. This ensures that each institution has a unique namespace and can manage its own internal users who can collaborate on their metadata, while still enabling machine-harvestable metadata under a common organization. It also means that each institution is responsible for enforcing its own metadata standards.

+

Metadata standards

+

Many different metadata standards and schemas can be shared in OpenGeoMetadata. A common approach is to share JSON files in a lightweight metadata schema (documented on this site) that was designed especially for the discovery platform GeoBlacklight. These files can be ingested into any GeoBlacklight instance, and the harvesting process can be done manually or with the help of GeoCombine, a Ruby-based toolkit designed to automate the harvesting process.

+

Institutions may prefer to use other geospatial metadata standards in addition to – or instead of – the GeoBlacklight schema, such as ISO 19115 or the FGDC Content Standard for Digital Geospatial Metadata. Traditional library catalogs may use general purpose standards, such as MARC or MODS. Any institution is welcome to maintain an OpenGeoMetadata repository even if they do not use GeoBlacklight.

+

History

+

The OpenGeoMetadata initiative was launched in 2015 as a collaboration between MIT, Princeton, and Stanford, and it has grown to include over 20 contributing organizations. It is a sister initiative to GeoBlacklight, an open-source Ruby on Rails software application for discovering geospatial content, and supports that work by providing a space to share GeoBlacklight-compliant metadata.

+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/applications/index.html b/applications/index.html new file mode 100644 index 00000000..54f8e064 --- /dev/null +++ b/applications/index.html @@ -0,0 +1,2179 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Applications - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Metadata applications

+

These tools were built as part of automated workflows for specific repositories. Click the links to visit the code repositories.

+ + + + + + + + + + + + + + + + + + + + + +
NameOverview
GeoDataLoaderA custom tool with a built-in metadata editor that can load information directly into Geoserver. Can accept templates if multiple uploads are needed.
FiggyA digital repository application in use at Princeton University Library for storing and managing digital representations of manuscripts, ephemera, vector, and raster data for export into a variety of front-end displays.
GEOMGA custom tool that functions as a backend metadata editor and manager for the GeoBlacklight application.
+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..1cf13b9f9d978896599290a74f77d5dbe7d1655c GIT binary patch literal 1870 zcmV-U2eJ5xP)Gc)JR9QMau)O=X#!i9;T z37kk-upj^(fsR36MHs_+1RCI)NNu9}lD0S{B^g8PN?Ww(5|~L#Ng*g{WsqleV}|#l zz8@ri&cTzw_h33bHI+12+kK6WN$h#n5cD8OQt`5kw6p~9H3()bUQ8OS4Q4HTQ=1Ol z_JAocz`fLbT2^{`8n~UAo=#AUOf=SOq4pYkt;XbC&f#7lb$*7=$na!mWCQ`dBQsO0 zLFBSPj*N?#u5&pf2t4XjEGH|=pPQ8xh7tpx;US5Cx_Ju;!O`ya-yF`)b%TEt5>eP1ZX~}sjjA%FJF?h7cX8=b!DZl<6%Cv z*G0uvvU+vmnpLZ2paivG-(cd*y3$hCIcsZcYOGh{$&)A6*XX&kXZd3G8m)G$Zz-LV z^GF3VAW^Mdv!)4OM8EgqRiz~*Cji;uzl2uC9^=8I84vNp;ltJ|q-*uQwGp2ma6cY7 z;`%`!9UXO@fr&Ebapfs34OmS9^u6$)bJxrucutf>`dKPKT%%*d3XlFVKunp9 zasduxjrjs>f8V=D|J=XNZp;_Zy^WgQ$9WDjgY=z@stwiEBm9u5*|34&1Na8BMjjgf3+SHcr`5~>oz1Y?SW^=K z^bTyO6>Gar#P_W2gEMwq)ot3; zREHn~U&Dp0l6YT0&k-wLwYjb?5zGK`W6S2v+K>AM(95m2C20L|3m~rN8dprPr@t)5lsk9Hu*W z?pS990s;Ez=+Rj{x7p``4>+c0G5^pYnB1^!TL=(?HLHZ+HicG{~4F1d^5Awl_2!1jICM-!9eoLhbbT^;yHcefyTAaqRcY zmuctDopPT!%k+}x%lZRKnzykr2}}XfG_ne?nRQO~?%hkzo;@RN{P6o`&mMUWBYMTe z6i8ChtjX&gXl`nvrU>jah)2iNM%JdjqoaeaU%yVn!^70x-flljp6Q5tK}5}&X8&&G zX3fpb3E(!rH=zVI_9Gjl45w@{(ITqngWFe7@9{mX;tO25Z_8 zQHEpI+FkTU#4xu>RkN>b3Tnc3UpWzPXWm#o55GKF09j^Mh~)K7{QqbO_~(@CVq! zS<8954|P8mXN2MRs86xZ&Q4EfM@JB94b=(YGuk)s&^jiSF=t3*oNK3`rD{H`yQ?d; ztE=laAUoZx5?RC8*WKOj`%LXEkgDd>&^Q4M^z`%u0rg-It=hLCVsq!Z%^6eB-OvOT zFZ28TN&cRmgU}Elrnk43)!>Z1FCPL2K$7}gwzIc48NX}#!A1BpJP?#v5wkNprhV** z?Cpalt1oH&{r!o3eSKc&ap)iz2BTn_VV`4>9M^b3;(YY}4>#ML6{~(4mH+?%07*qo IM6N<$f(jP3KmY&$ literal 0 HcmV?d00001 diff --git a/assets/javascripts/bundle.0e2aa882.min.js b/assets/javascripts/bundle.0e2aa882.min.js new file mode 100644 index 00000000..9eb7c347 --- /dev/null +++ b/assets/javascripts/bundle.0e2aa882.min.js @@ -0,0 +1,3 @@ +"use strict";(()=>{var Bi=Object.create;var _r=Object.defineProperty;var Gi=Object.getOwnPropertyDescriptor;var Ji=Object.getOwnPropertyNames,Bt=Object.getOwnPropertySymbols,Xi=Object.getPrototypeOf,Ar=Object.prototype.hasOwnProperty,ho=Object.prototype.propertyIsEnumerable;var uo=(e,t,r)=>t in e?_r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,k=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&uo(e,r,t[r]);if(Bt)for(var r of Bt(t))ho.call(t,r)&&uo(e,r,t[r]);return e};var bo=(e,t)=>{var r={};for(var o in e)Ar.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Bt)for(var o of Bt(e))t.indexOf(o)<0&&ho.call(e,o)&&(r[o]=e[o]);return r};var Cr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Zi=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ji(t))!Ar.call(e,n)&&n!==r&&_r(e,n,{get:()=>t[n],enumerable:!(o=Gi(t,n))||o.enumerable});return e};var Gt=(e,t,r)=>(r=e!=null?Bi(Xi(e)):{},Zi(t||!e||!e.__esModule?_r(r,"default",{value:e,enumerable:!0}):r,e));var vo=(e,t,r)=>new Promise((o,n)=>{var i=c=>{try{a(r.next(c))}catch(p){n(p)}},s=c=>{try{a(r.throw(c))}catch(p){n(p)}},a=c=>c.done?o(c.value):Promise.resolve(c.value).then(i,s);a((r=r.apply(e,t)).next())});var xo=Cr((Hr,go)=>{(function(e,t){typeof Hr=="object"&&typeof go!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(Hr,function(){"use strict";function e(r){var o=!0,n=!1,i=null,s={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function a(H){return!!(H&&H!==document&&H.nodeName!=="HTML"&&H.nodeName!=="BODY"&&"classList"in H&&"contains"in H.classList)}function c(H){var mt=H.type,Fe=H.tagName;return!!(Fe==="INPUT"&&s[mt]&&!H.readOnly||Fe==="TEXTAREA"&&!H.readOnly||H.isContentEditable)}function p(H){H.classList.contains("focus-visible")||(H.classList.add("focus-visible"),H.setAttribute("data-focus-visible-added",""))}function l(H){H.hasAttribute("data-focus-visible-added")&&(H.classList.remove("focus-visible"),H.removeAttribute("data-focus-visible-added"))}function f(H){H.metaKey||H.altKey||H.ctrlKey||(a(r.activeElement)&&p(r.activeElement),o=!0)}function u(H){o=!1}function d(H){a(H.target)&&(o||c(H.target))&&p(H.target)}function g(H){a(H.target)&&(H.target.classList.contains("focus-visible")||H.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(H.target))}function M(H){document.visibilityState==="hidden"&&(n&&(o=!0),ee())}function ee(){document.addEventListener("mousemove",Z),document.addEventListener("mousedown",Z),document.addEventListener("mouseup",Z),document.addEventListener("pointermove",Z),document.addEventListener("pointerdown",Z),document.addEventListener("pointerup",Z),document.addEventListener("touchmove",Z),document.addEventListener("touchstart",Z),document.addEventListener("touchend",Z)}function ne(){document.removeEventListener("mousemove",Z),document.removeEventListener("mousedown",Z),document.removeEventListener("mouseup",Z),document.removeEventListener("pointermove",Z),document.removeEventListener("pointerdown",Z),document.removeEventListener("pointerup",Z),document.removeEventListener("touchmove",Z),document.removeEventListener("touchstart",Z),document.removeEventListener("touchend",Z)}function Z(H){H.target.nodeName&&H.target.nodeName.toLowerCase()==="html"||(o=!1,ne())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",M,!0),ee(),r.addEventListener("focus",d,!0),r.addEventListener("blur",g,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var ao=Cr((Vt,io)=>{(function(t,r){typeof Vt=="object"&&typeof io=="object"?io.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Vt=="object"?Vt.ClipboardJS=r():t.ClipboardJS=r()})(Vt,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return Yi}});var s=i(279),a=i.n(s),c=i(370),p=i.n(c),l=i(817),f=i.n(l);function u(z){try{return document.execCommand(z)}catch(A){return!1}}var d=function(A){var L=f()(A);return u("cut"),L},g=d;function M(z){var A=document.documentElement.getAttribute("dir")==="rtl",L=document.createElement("textarea");L.style.fontSize="12pt",L.style.border="0",L.style.padding="0",L.style.margin="0",L.style.position="absolute",L.style[A?"right":"left"]="-9999px";var D=window.pageYOffset||document.documentElement.scrollTop;return L.style.top="".concat(D,"px"),L.setAttribute("readonly",""),L.value=z,L}var ee=function(A,L){var D=M(A);L.container.appendChild(D);var N=f()(D);return u("copy"),D.remove(),N},ne=function(A){var L=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},D="";return typeof A=="string"?D=ee(A,L):A instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(A==null?void 0:A.type)?D=ee(A.value,L):(D=f()(A),u("copy")),D},Z=ne;function H(z){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?H=function(L){return typeof L}:H=function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},H(z)}var mt=function(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},L=A.action,D=L===void 0?"copy":L,N=A.container,G=A.target,We=A.text;if(D!=="copy"&&D!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(G!==void 0)if(G&&H(G)==="object"&&G.nodeType===1){if(D==="copy"&&G.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(D==="cut"&&(G.hasAttribute("readonly")||G.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(We)return Z(We,{container:N});if(G)return D==="cut"?g(G):Z(G,{container:N})},Fe=mt;function P(z){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?P=function(L){return typeof L}:P=function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},P(z)}function se(z,A){if(!(z instanceof A))throw new TypeError("Cannot call a class as a function")}function ce(z,A){for(var L=0;L0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof N.action=="function"?N.action:this.defaultAction,this.target=typeof N.target=="function"?N.target:this.defaultTarget,this.text=typeof N.text=="function"?N.text:this.defaultText,this.container=P(N.container)==="object"?N.container:document.body}},{key:"listenClick",value:function(N){var G=this;this.listener=p()(N,"click",function(We){return G.onClick(We)})}},{key:"onClick",value:function(N){var G=N.delegateTarget||N.currentTarget,We=this.action(G)||"copy",Yt=Fe({action:We,container:this.container,target:this.target(G),text:this.text(G)});this.emit(Yt?"success":"error",{action:We,text:Yt,trigger:G,clearSelection:function(){G&&G.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(N){return Lr("action",N)}},{key:"defaultTarget",value:function(N){var G=Lr("target",N);if(G)return document.querySelector(G)}},{key:"defaultText",value:function(N){return Lr("text",N)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(N){var G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return Z(N,G)}},{key:"cut",value:function(N){return g(N)}},{key:"isSupported",value:function(){var N=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],G=typeof N=="string"?[N]:N,We=!!document.queryCommandSupported;return G.forEach(function(Yt){We=We&&!!document.queryCommandSupported(Yt)}),We}}]),L}(a()),Yi=Qi},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function s(a,c){for(;a&&a.nodeType!==n;){if(typeof a.matches=="function"&&a.matches(c))return a;a=a.parentNode}}o.exports=s},438:function(o,n,i){var s=i(828);function a(l,f,u,d,g){var M=p.apply(this,arguments);return l.addEventListener(u,M,g),{destroy:function(){l.removeEventListener(u,M,g)}}}function c(l,f,u,d,g){return typeof l.addEventListener=="function"?a.apply(null,arguments):typeof u=="function"?a.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(M){return a(M,f,u,d,g)}))}function p(l,f,u,d){return function(g){g.delegateTarget=s(g.target,f),g.delegateTarget&&d.call(l,g)}}o.exports=c},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var s=Object.prototype.toString.call(i);return i!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var s=Object.prototype.toString.call(i);return s==="[object Function]"}},370:function(o,n,i){var s=i(879),a=i(438);function c(u,d,g){if(!u&&!d&&!g)throw new Error("Missing required arguments");if(!s.string(d))throw new TypeError("Second argument must be a String");if(!s.fn(g))throw new TypeError("Third argument must be a Function");if(s.node(u))return p(u,d,g);if(s.nodeList(u))return l(u,d,g);if(s.string(u))return f(u,d,g);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function p(u,d,g){return u.addEventListener(d,g),{destroy:function(){u.removeEventListener(d,g)}}}function l(u,d,g){return Array.prototype.forEach.call(u,function(M){M.addEventListener(d,g)}),{destroy:function(){Array.prototype.forEach.call(u,function(M){M.removeEventListener(d,g)})}}}function f(u,d,g){return a(document.body,u,d,g)}o.exports=c},817:function(o){function n(i){var s;if(i.nodeName==="SELECT")i.focus(),s=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var a=i.hasAttribute("readonly");a||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),a||i.removeAttribute("readonly"),s=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var c=window.getSelection(),p=document.createRange();p.selectNodeContents(i),c.removeAllRanges(),c.addRange(p),s=c.toString()}return s}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,s,a){var c=this.e||(this.e={});return(c[i]||(c[i]=[])).push({fn:s,ctx:a}),this},once:function(i,s,a){var c=this;function p(){c.off(i,p),s.apply(a,arguments)}return p._=s,this.on(i,p,a)},emit:function(i){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[i]||[]).slice(),c=0,p=a.length;for(c;c{"use strict";var ms=/["'&<>]/;di.exports=fs;function fs(e){var t=""+e,r=ms.exec(t);if(!r)return t;var o,n="",i=0,s=0;for(i=r.index;i0&&i[i.length-1])&&(p[0]===6||p[0]===2)){r=0;continue}if(p[0]===3&&(!i||p[1]>i[0]&&p[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function K(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],s;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(a){s={error:a}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(s)throw s.error}}return i}function Y(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o1||a(u,d)})})}function a(u,d){try{c(o[u](d))}catch(g){f(i[0][3],g)}}function c(u){u.value instanceof ft?Promise.resolve(u.value.v).then(p,l):f(i[0][2],u)}function p(u){a("next",u)}function l(u){a("throw",u)}function f(u,d){u(d),i.shift(),i.length&&a(i[0][0],i[0][1])}}function wo(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof Oe=="function"?Oe(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(s){return new Promise(function(a,c){s=e[i](s),n(a,c,s.done,s.value)})}}function n(i,s,a,c){Promise.resolve(c).then(function(p){i({value:p,done:a})},s)}}function I(e){return typeof e=="function"}function gt(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var Xt=gt(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(o,n){return n+1+") "+o.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}});function Je(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var ze=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=Oe(s),c=a.next();!c.done;c=a.next()){var p=c.value;p.remove(this)}}catch(M){t={error:M}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var l=this.initialTeardown;if(I(l))try{l()}catch(M){i=M instanceof Xt?M.errors:[M]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=Oe(f),d=u.next();!d.done;d=u.next()){var g=d.value;try{To(g)}catch(M){i=i!=null?i:[],M instanceof Xt?i=Y(Y([],K(i)),K(M.errors)):i.push(M)}}}catch(M){o={error:M}}finally{try{d&&!d.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new Xt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)To(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Je(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Je(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var kr=ze.EMPTY;function Zt(e){return e instanceof ze||e&&"closed"in e&&I(e.remove)&&I(e.add)&&I(e.unsubscribe)}function To(e){I(e)?e():e.unsubscribe()}var Ue={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var xt={setTimeout:function(e,t){for(var r=[],o=2;o0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,s=n.isStopped,a=n.observers;return i||s?kr:(this.currentObservers=null,a.push(r),new ze(function(){o.currentObservers=null,Je(a,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,s=o.isStopped;n?r.error(i):s&&r.complete()},t.prototype.asObservable=function(){var r=new j;return r.source=this,r},t.create=function(r,o){return new Ho(r,o)},t}(j);var Ho=function(e){ie(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:kr},t}(w);var jr=function(e){ie(t,e);function t(r){var o=e.call(this)||this;return o._value=r,o}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(r){var o=e.prototype._subscribe.call(this,r);return!o.closed&&r.next(this._value),o},t.prototype.getValue=function(){var r=this,o=r.hasError,n=r.thrownError,i=r._value;if(o)throw n;return this._throwIfClosed(),i},t.prototype.next=function(r){e.prototype.next.call(this,this._value=r)},t}(w);var Pt={now:function(){return(Pt.delegate||Date).now()},delegate:void 0};var It=function(e){ie(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=Pt);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,s=o._infiniteTimeWindow,a=o._timestampProvider,c=o._windowTime;n||(i.push(r),!s&&i.push(a.now()+c)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,s=n._buffer,a=s.slice(),c=0;c0?e.prototype.schedule.call(this,r,o):(this.delay=o,this.state=r,this.scheduler.flush(this),this)},t.prototype.execute=function(r,o){return o>0||this.closed?e.prototype.execute.call(this,r,o):this._execute(r,o)},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.flush(this),0)},t}(Tt);var Ro=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(St);var Dr=new Ro(ko);var Po=function(e){ie(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!==null&&n>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=wt.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var s=r.actions;o!=null&&((i=s[s.length-1])===null||i===void 0?void 0:i.id)!==o&&(wt.cancelAnimationFrame(o),r._scheduled=void 0)},t}(Tt);var Io=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o=this._scheduled;this._scheduled=void 0;var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t}(St);var ge=new Io(Po);var x=new j(function(e){return e.complete()});function rr(e){return e&&I(e.schedule)}function Nr(e){return e[e.length-1]}function st(e){return I(Nr(e))?e.pop():void 0}function Ie(e){return rr(Nr(e))?e.pop():void 0}function or(e,t){return typeof Nr(e)=="number"?e.pop():t}var Ot=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function nr(e){return I(e==null?void 0:e.then)}function ir(e){return I(e[Et])}function ar(e){return Symbol.asyncIterator&&I(e==null?void 0:e[Symbol.asyncIterator])}function sr(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function ca(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var cr=ca();function pr(e){return I(e==null?void 0:e[cr])}function lr(e){return Eo(this,arguments,function(){var r,o,n,i;return Jt(this,function(s){switch(s.label){case 0:r=e.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,ft(r.read())];case 3:return o=s.sent(),n=o.value,i=o.done,i?[4,ft(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,ft(n)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function mr(e){return I(e==null?void 0:e.getReader)}function W(e){if(e instanceof j)return e;if(e!=null){if(ir(e))return pa(e);if(Ot(e))return la(e);if(nr(e))return ma(e);if(ar(e))return Fo(e);if(pr(e))return fa(e);if(mr(e))return ua(e)}throw sr(e)}function pa(e){return new j(function(t){var r=e[Et]();if(I(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function la(e){return new j(function(t){for(var r=0;r=2;return function(o){return o.pipe(e?v(function(n,i){return e(n,i,o)}):be,ye(1),r?tt(t):en(function(){return new ur}))}}function Yr(e){return e<=0?function(){return x}:y(function(t,r){var o=[];t.subscribe(E(r,function(n){o.push(n),e=2,!0))}function le(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new w}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,s=i===void 0?!0:i,a=e.resetOnRefCountZero,c=a===void 0?!0:a;return function(p){var l,f,u,d=0,g=!1,M=!1,ee=function(){f==null||f.unsubscribe(),f=void 0},ne=function(){ee(),l=u=void 0,g=M=!1},Z=function(){var H=l;ne(),H==null||H.unsubscribe()};return y(function(H,mt){d++,!M&&!g&&ee();var Fe=u=u!=null?u:r();mt.add(function(){d--,d===0&&!M&&!g&&(f=Br(Z,c))}),Fe.subscribe(mt),!l&&d>0&&(l=new dt({next:function(P){return Fe.next(P)},error:function(P){M=!0,ee(),f=Br(ne,n,P),Fe.error(P)},complete:function(){g=!0,ee(),f=Br(ne,s),Fe.complete()}}),W(H).subscribe(l))})(p)}}function Br(e,t){for(var r=[],o=2;oe.next(document)),e}function C(e,t=document){return Array.from(t.querySelectorAll(e))}function F(e,t=document){let r=fe(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function fe(e,t=document){return t.querySelector(e)||void 0}function Ve(){var e,t,r,o;return(o=(r=(t=(e=document.activeElement)==null?void 0:e.shadowRoot)==null?void 0:t.activeElement)!=null?r:document.activeElement)!=null?o:void 0}var Ha=T(h(document.body,"focusin"),h(document.body,"focusout")).pipe(Ae(1),q(void 0),m(()=>Ve()||document.body),X(1));function Ke(e){return Ha.pipe(m(t=>e.contains(t)),Q())}function ot(e,t){return $(()=>T(h(e,"mouseenter").pipe(m(()=>!0)),h(e,"mouseleave").pipe(m(()=>!1))).pipe(t?jt(r=>He(+!r*t)):be,q(e.matches(":hover"))))}function an(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)an(e,r)}function O(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)an(o,n);return o}function br(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function _t(e){let t=O("script",{src:e});return $(()=>(document.head.appendChild(t),T(h(t,"load"),h(t,"error").pipe(b(()=>Vr(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),_(()=>document.head.removeChild(t)),ye(1))))}var sn=new w,$a=$(()=>typeof ResizeObserver=="undefined"?_t("https://unpkg.com/resize-observer-polyfill"):R(void 0)).pipe(m(()=>new ResizeObserver(e=>e.forEach(t=>sn.next(t)))),b(e=>T(Ze,R(e)).pipe(_(()=>e.disconnect()))),X(1));function ue(e){return{width:e.offsetWidth,height:e.offsetHeight}}function we(e){let t=e;for(;t.clientWidth===0&&t.parentElement;)t=t.parentElement;return $a.pipe(S(r=>r.observe(t)),b(r=>sn.pipe(v(o=>o.target===t),_(()=>r.unobserve(t)))),m(()=>ue(e)),q(ue(e)))}function At(e){return{width:e.scrollWidth,height:e.scrollHeight}}function vr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}function cn(e){let t=[],r=e.parentElement;for(;r;)(e.clientWidth>r.clientWidth||e.clientHeight>r.clientHeight)&&t.push(r),r=(e=r).parentElement;return t.length===0&&t.push(document.body),t}function Qe(e){return{x:e.offsetLeft,y:e.offsetTop}}function pn(e){let t=e.getBoundingClientRect();return{x:t.x+window.scrollX,y:t.y+window.scrollY}}function Zr(e){return T(h(window,"load"),h(window,"resize")).pipe($e(0,ge),m(()=>Qe(e)),q(Qe(e)))}function ln(e){return T(Zr(e),we(document.body)).pipe(m(()=>pn(e)),q(pn(e)))}function gr(e){return{x:e.scrollLeft,y:e.scrollTop}}function Ye(e){return T(h(e,"scroll"),h(window,"resize")).pipe($e(0,ge),m(()=>gr(e)),q(gr(e)))}var mn=new w,ka=$(()=>R(new IntersectionObserver(e=>{for(let t of e)mn.next(t)},{threshold:0}))).pipe(b(e=>T(Ze,R(e)).pipe(_(()=>e.disconnect()))),X(1));function Ct(e){return ka.pipe(S(t=>t.observe(e)),b(t=>mn.pipe(v(({target:r})=>r===e),_(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function fn(e,t=16){return Ye(e).pipe(m(({y:r})=>{let o=ue(e),n=At(e);return r>=n.height-o.height-t}),Q())}var xr={drawer:F("[data-md-toggle=drawer]"),search:F("[data-md-toggle=search]")};function un(e){return xr[e].checked}function nt(e,t){xr[e].checked!==t&&xr[e].click()}function Be(e){let t=xr[e];return h(t,"change").pipe(m(()=>t.checked),q(t.checked))}function Ra(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function Pa(){return T(h(window,"compositionstart").pipe(m(()=>!0)),h(window,"compositionend").pipe(m(()=>!1))).pipe(q(!1))}function dn(){let e=h(window,"keydown").pipe(v(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:un("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),v(({mode:t,type:r})=>{if(t==="global"){let o=Ve();if(typeof o!="undefined")return!Ra(o,r)}return!0}),le());return Pa().pipe(b(t=>t?x:e))}function Ee(){return new URL(location.href)}function it(e,t=!1){if(B("navigation.instant")&&!t){let r=O("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function hn(){return new w}function bn(){return location.hash.slice(1)}function vn(e){let t=O("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function eo(e){return T(h(window,"hashchange"),e).pipe(m(bn),q(bn()),v(t=>t.length>0),X(1))}function gn(e){return eo(e).pipe(m(t=>fe(`[id="${t}"]`)),v(t=>typeof t!="undefined"))}function Ut(e){let t=matchMedia(e);return dr(r=>t.addListener(()=>r(t.matches))).pipe(q(t.matches))}function xn(){let e=matchMedia("print");return T(h(window,"beforeprint").pipe(m(()=>!0)),h(window,"afterprint").pipe(m(()=>!1))).pipe(q(e.matches))}function to(e,t){return e.pipe(b(r=>r?t():x))}function ro(e,t){return new j(r=>{let o=new XMLHttpRequest;return o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network error"))}),o.addEventListener("abort",()=>{r.complete()}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{var i;if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let s=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+s*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function Ge(e,t){return ro(e,t).pipe(b(r=>r.text()),m(r=>JSON.parse(r)),X(1))}function yr(e,t){let r=new DOMParser;return ro(e,t).pipe(b(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),X(1))}function yn(e,t){let r=new DOMParser;return ro(e,t).pipe(b(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),X(1))}function En(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function wn(){return T(h(window,"scroll",{passive:!0}),h(window,"resize",{passive:!0})).pipe(m(En),q(En()))}function Tn(){return{width:innerWidth,height:innerHeight}}function Sn(){return h(window,"resize",{passive:!0}).pipe(m(Tn),q(Tn()))}function On(){return V([wn(),Sn()]).pipe(m(([e,t])=>({offset:e,size:t})),X(1))}function Er(e,{viewport$:t,header$:r}){let o=t.pipe(re("size")),n=V([o,r]).pipe(m(()=>Qe(e)));return V([r,t,n]).pipe(m(([{height:i},{offset:s,size:a},{x:c,y:p}])=>({offset:{x:s.x-c,y:s.y-p+i},size:a})))}function Ia(e){return h(e,"message",t=>t.data)}function Fa(e){let t=new w;return t.subscribe(r=>e.postMessage(r)),t}function Mn(e,t=new Worker(e)){let r=Ia(t),o=Fa(t),n=new w;n.subscribe(o);let i=o.pipe(te(),ae(!0));return n.pipe(te(),Ne(r.pipe(U(i))),le())}var ja=F("#__config"),Ht=JSON.parse(ja.textContent);Ht.base=`${new URL(Ht.base,Ee())}`;function Te(){return Ht}function B(e){return Ht.features.includes(e)}function Le(e,t){return typeof t!="undefined"?Ht.translations[e].replace("#",t.toString()):Ht.translations[e]}function Ce(e,t=document){return F(`[data-md-component=${e}]`,t)}function me(e,t=document){return C(`[data-md-component=${e}]`,t)}function Wa(e){let t=F(".md-typeset > :first-child",e);return h(t,"click",{once:!0}).pipe(m(()=>F(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function Ln(e){if(!B("announce.dismiss")||!e.childElementCount)return x;if(!e.hidden){let t=F(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return $(()=>{let t=new w;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),Wa(e).pipe(S(r=>t.next(r)),_(()=>t.complete()),m(r=>k({ref:e},r)))})}function Ua(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function _n(e,t){let r=new w;return r.subscribe(({hidden:o})=>{e.hidden=o}),Ua(e,t).pipe(S(o=>r.next(o)),_(()=>r.complete()),m(o=>k({ref:e},o)))}function Dt(e,t){return t==="inline"?O("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},O("div",{class:"md-tooltip__inner md-typeset"})):O("div",{class:"md-tooltip",id:e,role:"tooltip"},O("div",{class:"md-tooltip__inner md-typeset"}))}function wr(...e){return O("div",{class:"md-tooltip2",role:"dialog"},O("div",{class:"md-tooltip2__inner md-typeset"},e))}function An(...e){return O("div",{class:"md-tooltip2",role:"tooltip"},O("div",{class:"md-tooltip2__inner md-typeset"},e))}function Cn(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return O("aside",{class:"md-annotation",tabIndex:0},Dt(t),O("a",{href:r,class:"md-annotation__index",tabIndex:-1},O("span",{"data-md-annotation-id":e})))}else return O("aside",{class:"md-annotation",tabIndex:0},Dt(t),O("span",{class:"md-annotation__index",tabIndex:-1},O("span",{"data-md-annotation-id":e})))}function Hn(e){return O("button",{class:"md-code__button",title:Le("clipboard.copy"),"data-clipboard-target":`#${e} > code`,"data-md-type":"copy"})}function $n(){return O("button",{class:"md-code__button",title:"Toggle line selection","data-md-type":"select"})}function kn(){return O("nav",{class:"md-code__nav"})}function oo(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(c=>!e.terms[c]).reduce((c,p)=>[...c,O("del",null,p)," "],[]).slice(0,-1),i=Te(),s=new URL(e.location,i.base);B("search.highlight")&&s.searchParams.set("h",Object.entries(e.terms).filter(([,c])=>c).reduce((c,[p])=>`${c} ${p}`.trim(),""));let{tags:a}=Te();return O("a",{href:`${s}`,class:"md-search-result__link",tabIndex:-1},O("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&O("div",{class:"md-search-result__icon md-icon"}),r>0&&O("h1",null,e.title),r<=0&&O("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&e.tags.map(c=>{let p=a?c in a?`md-tag-icon md-tag--${a[c]}`:"md-tag-icon":"";return O("span",{class:`md-tag ${p}`},c)}),o>0&&n.length>0&&O("p",{class:"md-search-result__terms"},Le("search.result.term.missing"),": ",...n)))}function Rn(e){let t=e[0].score,r=[...e],o=Te(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),s=r.findIndex(l=>l.scoreoo(l,1)),...c.length?[O("details",{class:"md-search-result__more"},O("summary",{tabIndex:-1},O("div",null,c.length>0&&c.length===1?Le("search.result.more.one"):Le("search.result.more.other",c.length))),...c.map(l=>oo(l,1)))]:[]];return O("li",{class:"md-search-result__item"},p)}function Pn(e){return O("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>O("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?br(r):r)))}function no(e){let t=`tabbed-control tabbed-control--${e}`;return O("div",{class:t,hidden:!0},O("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function In(e){return O("div",{class:"md-typeset__scrollwrap"},O("div",{class:"md-typeset__table"},e))}function Da(e){let t=Te(),r=new URL(`../${e.version}/`,t.base);return O("li",{class:"md-version__item"},O("a",{href:`${r}`,class:"md-version__link"},e.title))}function Fn(e,t){return O("div",{class:"md-version"},O("button",{class:"md-version__current","aria-label":Le("select.version")},t.title),O("ul",{class:"md-version__list"},e.map(Da)))}var Na=0;function Va(e){let t=V([Ke(e),ot(e,250)]).pipe(m(([o,n])=>o||n),Q()),r=$(()=>cn(e)).pipe(J(Ye),vt(1),b(()=>ln(e)));return t.pipe(ke(o=>o),b(()=>V([t,r])),m(([o,n])=>({active:o,offset:n})),le())}function Nt(e,t){let{content$:r,viewport$:o}=t,n=`__tooltip2_${Na++}`;return $(()=>{let i=new w,s=new jr(!1);i.pipe(te(),ae(!1)).subscribe(s);let a=s.pipe(jt(p=>He(+!p*250,Dr)),Q(),b(p=>p?r:x),S(p=>p.id=n),le());V([i.pipe(m(({active:p})=>p)),a.pipe(b(p=>ot(p,250)),q(!1))]).pipe(m(p=>p.some(l=>l))).subscribe(s);let c=s.pipe(v(p=>p),oe(a,o),m(([p,l,{size:f}])=>{let u=e.getBoundingClientRect(),d=u.width/2;if(l.role==="tooltip")return{x:d,y:8+u.height};if(u.y>=f.height/2){let{height:g}=ue(l);return{x:d,y:-16-g}}else return{x:d,y:16+u.height}}));return V([a,i,c]).subscribe(([p,{offset:l},f])=>{p.style.setProperty("--md-tooltip-host-x",`${l.x}px`),p.style.setProperty("--md-tooltip-host-y",`${l.y}px`),p.style.setProperty("--md-tooltip-x",`${f.x}px`),p.style.setProperty("--md-tooltip-y",`${f.y}px`),p.classList.toggle("md-tooltip2--top",f.y<0),p.classList.toggle("md-tooltip2--bottom",f.y>=0)}),s.pipe(v(p=>p),oe(a,(p,l)=>l),v(p=>p.role==="tooltip")).subscribe(p=>{let l=ue(F(":scope > *",p));p.style.setProperty("--md-tooltip-width",`${l.width}px`),p.style.setProperty("--md-tooltip-tail","0px")}),s.pipe(Q(),xe(ge),oe(a)).subscribe(([p,l])=>{l.classList.toggle("md-tooltip2--active",p)}),V([s.pipe(v(p=>p)),a]).subscribe(([p,l])=>{l.role==="dialog"?(e.setAttribute("aria-controls",n),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("aria-describedby",n)}),s.pipe(v(p=>!p)).subscribe(()=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-describedby"),e.removeAttribute("aria-haspopup")}),Va(e).pipe(S(p=>i.next(p)),_(()=>i.complete()),m(p=>k({ref:e},p)))})}function za(e,t){let r=$(()=>V([Zr(e),Ye(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:s,height:a}=ue(e);return{x:o-i.x+s/2,y:n-i.y+a/2}}));return Ke(e).pipe(b(o=>r.pipe(m(n=>({active:o,offset:n})),ye(+!o||1/0))))}function jn(e,t,{target$:r}){let[o,n]=Array.from(e.children);return $(()=>{let i=new w,s=i.pipe(te(),ae(!0));return i.subscribe({next({offset:a}){e.style.setProperty("--md-tooltip-x",`${a.x}px`),e.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),Ct(e).pipe(U(s)).subscribe(a=>{e.toggleAttribute("data-md-visible",a)}),T(i.pipe(v(({active:a})=>a)),i.pipe(Ae(250),v(({active:a})=>!a))).subscribe({next({active:a}){a?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe($e(16,ge)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(vt(125,ge),v(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?e.style.setProperty("--md-tooltip-0",`${-a}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),h(n,"click").pipe(U(s),v(a=>!(a.metaKey||a.ctrlKey))).subscribe(a=>{a.stopPropagation(),a.preventDefault()}),h(n,"mousedown").pipe(U(s),oe(i)).subscribe(([a,{active:c}])=>{var p;if(a.button!==0||a.metaKey||a.ctrlKey)a.preventDefault();else if(c){a.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(p=Ve())==null||p.blur()}}),r.pipe(U(s),v(a=>a===o),rt(125)).subscribe(()=>e.focus()),za(e,t).pipe(S(a=>i.next(a)),_(()=>i.complete()),m(a=>k({ref:e},a)))})}function qa(e){let t=Te();if(e.tagName!=="CODE")return[e];let r=[".c",".c1",".cm"];if(typeof t.annotate!="undefined"){let o=e.closest("[class|=language]");if(o)for(let n of Array.from(o.classList)){if(!n.startsWith("language-"))continue;let[,i]=n.split("-");i in t.annotate&&r.push(...t.annotate[i])}}return C(r.join(", "),e)}function Ka(e){let t=[];for(let r of qa(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let s;for(;s=/(\(\d+\))(!)?/.exec(i.textContent);){let[,a,c]=s;if(typeof c=="undefined"){let p=i.splitText(s.index);i=p.splitText(a.length),t.push(p)}else{i.textContent=a,t.push(i);break}}}}return t}function Wn(e,t){t.append(...Array.from(e.childNodes))}function Tr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,s=new Map;for(let a of Ka(t)){let[,c]=a.textContent.match(/\((\d+)\)/);fe(`:scope > li:nth-child(${c})`,e)&&(s.set(c,Cn(c,i)),a.replaceWith(s.get(c)))}return s.size===0?x:$(()=>{let a=new w,c=a.pipe(te(),ae(!0)),p=[];for(let[l,f]of s)p.push([F(".md-typeset",f),F(`:scope > li:nth-child(${l})`,e)]);return o.pipe(U(c)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of p)l?Wn(f,u):Wn(u,f)}),T(...[...s].map(([,l])=>jn(l,t,{target$:r}))).pipe(_(()=>a.complete()),le())})}function Un(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return Un(t)}}function Dn(e,t){return $(()=>{let r=Un(e);return typeof r!="undefined"?Tr(r,e,t):x})}var Vn=Gt(ao());var Qa=0;function Ya(e,t){document.body.append(e);let{width:r}=ue(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=vr(t),n=typeof o!="undefined"?Ye(o):R({x:0,y:0}),i=T(Ke(t),ot(t)).pipe(Q());return V([i,n]).pipe(m(([s,a])=>{let{x:c,y:p}=Qe(t),l=ue(t),f=t.closest("table");return f&&t.parentElement&&(c+=f.offsetLeft+t.parentElement.offsetLeft,p+=f.offsetTop+t.parentElement.offsetTop),{active:s,offset:{x:c-a.x+l.width/2-r/2,y:p-a.y+l.height+8}}}))}function pt(e){let t=e.title;if(!t.length)return x;let r=`__tooltip_${Qa++}`,o=Dt(r,"inline"),n=F(".md-typeset",o);return n.innerHTML=t,$(()=>{let i=new w;return i.subscribe({next({offset:s}){o.style.setProperty("--md-tooltip-x",`${s.x}px`),o.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),T(i.pipe(v(({active:s})=>s)),i.pipe(Ae(250),v(({active:s})=>!s))).subscribe({next({active:s}){s?(e.insertAdjacentElement("afterend",o),e.setAttribute("aria-describedby",r),e.removeAttribute("title")):(o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t))},complete(){o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t)}}),i.pipe($e(16,ge)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(vt(125,ge),v(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?o.style.setProperty("--md-tooltip-0",`${-s}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),Ya(o,e).pipe(S(s=>i.next(s)),_(()=>i.complete()),m(s=>k({ref:e},s)))}).pipe(Xe(pe))}var Ba=0,Nn=T(h(window,"keydown").pipe(m(()=>!0)),T(h(window,"keyup"),h(window,"contextmenu")).pipe(m(()=>!1))).pipe(q(!1),X(1));function zn(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return zn(t)}}function Ga(e){return we(e).pipe(m(({width:t})=>({scrollable:At(e).width>t})),re("scrollable"))}function qn(e,t){let{matches:r}=matchMedia("(hover)"),o=$(()=>{let n=new w,i=n.pipe(Yr(1));n.subscribe(({scrollable:d})=>{d&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let s=[],a=e.closest("pre"),c=a.closest("[id]"),p=c?c.id:Ba++;a.id=`__code_${p}`;let l=[],f=e.closest(".highlight");if(f instanceof HTMLElement){let d=zn(f);if(typeof d!="undefined"&&(f.classList.contains("annotate")||B("content.code.annotate"))){let g=Tr(d,e,t);l.push(we(f).pipe(U(i),m(({width:M,height:ee})=>M&&ee),Q(),b(M=>M?g:x)))}}let u=C(":scope > span[id]",e);if(u.length&&(e.classList.add("md-code__content"),e.closest(".select")||B("content.code.select")&&!e.closest(".no-select"))){let d=+u[0].id.split("-").pop(),g=$n();s.push(g),B("content.tooltips")&&l.push(pt(g));let M=h(g,"click").pipe(Wt(P=>!P,!1),S(()=>g.blur()),le());M.subscribe(P=>{g.classList.toggle("md-code__button--active",P)});let ee=de(u).pipe(J(P=>ot(P).pipe(m(se=>[P,se]))));M.pipe(b(P=>P?ee:x)).subscribe(([P,se])=>{let ce=fe(".hll.select",P);if(ce&&!se)ce.replaceWith(...Array.from(ce.childNodes));else if(!ce&&se){let he=document.createElement("span");he.className="hll select",he.append(...Array.from(P.childNodes).slice(1)),P.append(he)}});let ne=de(u).pipe(J(P=>h(P,"mousedown").pipe(S(se=>se.preventDefault()),m(()=>P)))),Z=M.pipe(b(P=>P?ne:x),oe(Nn),m(([P,se])=>{var he;let ce=u.indexOf(P)+d;if(se===!1)return[ce,ce];{let Se=C(".hll",e).map(je=>u.indexOf(je.parentElement)+d);return(he=window.getSelection())==null||he.removeAllRanges(),[Math.min(ce,...Se),Math.max(ce,...Se)]}})),H=eo(x).pipe(v(P=>P.startsWith(`__codelineno-${p}-`)));H.subscribe(P=>{let[,,se]=P.split("-"),ce=se.split(":").map(Se=>+Se-d+1);ce.length===1&&ce.push(ce[0]);for(let Se of C(".hll:not(.select)",e))Se.replaceWith(...Array.from(Se.childNodes));let he=u.slice(ce[0]-1,ce[1]);for(let Se of he){let je=document.createElement("span");je.className="hll",je.append(...Array.from(Se.childNodes).slice(1)),Se.append(je)}}),H.pipe(ye(1),xe(pe)).subscribe(P=>{if(P.includes(":")){let se=document.getElementById(P.split(":")[0]);se&&setTimeout(()=>{let ce=se,he=-64;for(;ce!==document.body;)he+=ce.offsetTop,ce=ce.offsetParent;window.scrollTo({top:he})},1)}});let Fe=de(C('a[href^="#__codelineno"]',f)).pipe(J(P=>h(P,"click").pipe(S(se=>se.preventDefault()),m(()=>P)))).pipe(U(i),oe(Nn),m(([P,se])=>{let he=+F(`[id="${P.hash.slice(1)}"]`).parentElement.id.split("-").pop();if(se===!1)return[he,he];{let Se=C(".hll",e).map(je=>+je.parentElement.id.split("-").pop());return[Math.min(he,...Se),Math.max(he,...Se)]}}));T(Z,Fe).subscribe(P=>{let se=`#__codelineno-${p}-`;P[0]===P[1]?se+=P[0]:se+=`${P[0]}:${P[1]}`,history.replaceState({},"",se),window.dispatchEvent(new HashChangeEvent("hashchange",{newURL:window.location.origin+window.location.pathname+se,oldURL:window.location.href}))})}if(Vn.default.isSupported()&&(e.closest(".copy")||B("content.code.copy")&&!e.closest(".no-copy"))){let d=Hn(a.id);s.push(d),B("content.tooltips")&&l.push(pt(d))}if(s.length){let d=kn();d.append(...s),a.insertBefore(d,e)}return Ga(e).pipe(S(d=>n.next(d)),_(()=>n.complete()),m(d=>k({ref:e},d)),Ne(T(...l).pipe(U(i))))});return B("content.lazy")?Ct(e).pipe(v(n=>n),ye(1),b(()=>o)):o}function Ja(e,{target$:t,print$:r}){let o=!0;return T(t.pipe(m(n=>n.closest("details:not([open])")),v(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(v(n=>n||!o),S(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function Kn(e,t){return $(()=>{let r=new w;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),Ja(e,t).pipe(S(o=>r.next(o)),_(()=>r.complete()),m(o=>k({ref:e},o)))})}function Xa(e){let t=document.createElement("h3");t.innerHTML=e.innerHTML;let r=[t],o=e.nextElementSibling;for(;o&&!(o instanceof HTMLHeadingElement);)r.push(o),o=o.nextElementSibling;return r}function Qn(e,t){let{sitemap$:r}=t;if(!(e instanceof HTMLAnchorElement))return x;if(e.pathname===location.pathname)return x;if(!(B("navigation.instant.preview")||e.hasAttribute("data-preview")))return x;let o=V([Ke(e),ot(e)]).pipe(m(([i,s])=>i||s),Q(),v(i=>i));return ht([r,o]).pipe(b(([i])=>{let s=new URL(e.href);return s.search=s.hash="",i.has(`${s}`)?R(s):x}),b(i=>yr(i)),b(i=>{let s=e.hash?`article [id="${e.hash.slice(1)}"]`:"article h1",a=fe(s,i);return typeof a=="undefined"?x:R(Xa(a))})).pipe(b(i=>{let s=new j(a=>{let c=wr(...i);return a.next(c),document.body.append(c),()=>c.remove()});return Nt(e,k({content$:s},t))}))}var Yn=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel rect,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel rect{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color);stroke-width:.05rem}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs #classDiagram-compositionEnd,defs #classDiagram-compositionStart,defs #classDiagram-dependencyEnd,defs #classDiagram-dependencyStart,defs #classDiagram-extensionEnd,defs #classDiagram-extensionStart{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs #classDiagram-aggregationEnd,defs #classDiagram-aggregationStart{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}.attributeBoxEven,.attributeBoxOdd{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityBox{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityLabel{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.relationshipLabelBox{fill:var(--md-mermaid-label-bg-color);fill-opacity:1;background-color:var(--md-mermaid-label-bg-color);opacity:1}.relationshipLabel{fill:var(--md-mermaid-label-fg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs #ONE_OR_MORE_END *,defs #ONE_OR_MORE_START *,defs #ONLY_ONE_END *,defs #ONLY_ONE_START *,defs #ZERO_OR_MORE_END *,defs #ZERO_OR_MORE_START *,defs #ZERO_OR_ONE_END *,defs #ZERO_OR_ONE_START *{stroke:var(--md-mermaid-edge-color)!important}defs #ZERO_OR_MORE_END circle,defs #ZERO_OR_MORE_START circle{fill:var(--md-mermaid-label-bg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var so,es=0;function ts(){return typeof mermaid=="undefined"||mermaid instanceof Element?_t("https://unpkg.com/mermaid@10.7.0/dist/mermaid.min.js"):R(void 0)}function Bn(e){return e.classList.remove("mermaid"),so||(so=ts().pipe(S(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Yn,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),X(1))),so.subscribe(()=>vo(this,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${es++}`,r=O("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),s=r.attachShadow({mode:"closed"});s.innerHTML=n,e.replaceWith(r),i==null||i(s)})),so.pipe(m(()=>({ref:e})))}var Gn=O("table");function Jn(e){return e.replaceWith(Gn),Gn.replaceWith(In(e)),R({ref:e})}function rs(e){let t=e.find(r=>r.checked)||e[0];return T(...e.map(r=>h(r,"change").pipe(m(()=>F(`label[for="${r.id}"]`))))).pipe(q(F(`label[for="${t.id}"]`)),m(r=>({active:r})))}function Xn(e,{viewport$:t,target$:r}){let o=F(".tabbed-labels",e),n=C(":scope > input",e),i=no("prev");e.append(i);let s=no("next");return e.append(s),$(()=>{let a=new w,c=a.pipe(te(),ae(!0));V([a,we(e)]).pipe(U(c),$e(1,ge)).subscribe({next([{active:p},l]){let f=Qe(p),{width:u}=ue(p);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let d=gr(o);(f.xd.x+l.width)&&o.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),V([Ye(o),we(o)]).pipe(U(c)).subscribe(([p,l])=>{let f=At(o);i.hidden=p.x<16,s.hidden=p.x>f.width-l.width-16}),T(h(i,"click").pipe(m(()=>-1)),h(s,"click").pipe(m(()=>1))).pipe(U(c)).subscribe(p=>{let{width:l}=ue(o);o.scrollBy({left:l*p,behavior:"smooth"})}),r.pipe(U(c),v(p=>n.includes(p))).subscribe(p=>p.click()),o.classList.add("tabbed-labels--linked");for(let p of n){let l=F(`label[for="${p.id}"]`);l.replaceChildren(O("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),h(l.firstElementChild,"click").pipe(U(c),v(f=>!(f.metaKey||f.ctrlKey)),S(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return B("content.tabs.link")&&a.pipe(Re(1),oe(t)).subscribe(([{active:p},{offset:l}])=>{let f=p.innerText.trim();if(p.hasAttribute("data-md-switching"))p.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let g of C("[data-tabs]"))for(let M of C(":scope > input",g)){let ee=F(`label[for="${M.id}"]`);if(ee!==p&&ee.innerText.trim()===f){ee.setAttribute("data-md-switching",""),M.click();break}}window.scrollTo({top:e.offsetTop-u});let d=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...d])])}}),a.pipe(U(c)).subscribe(()=>{for(let p of C("audio, video",e))p.pause()}),rs(n).pipe(S(p=>a.next(p)),_(()=>a.complete()),m(p=>k({ref:e},p)))}).pipe(Xe(pe))}function Zn(e,t){let{viewport$:r,target$:o,print$:n}=t;return T(...C(".annotate:not(.highlight)",e).map(i=>Dn(i,{target$:o,print$:n})),...C("pre:not(.mermaid) > code",e).map(i=>qn(i,{target$:o,print$:n})),...C("a:not([title])",e).map(i=>Qn(i,t)),...C("pre.mermaid",e).map(i=>Bn(i)),...C("table:not([class])",e).map(i=>Jn(i)),...C("details",e).map(i=>Kn(i,{target$:o,print$:n})),...C("[data-tabs]",e).map(i=>Xn(i,{viewport$:r,target$:o})),...C("[title]",e).filter(()=>B("content.tooltips")).map(i=>Nt(i,k({content$:new j(s=>{let a=i.title,c=An(a);return s.next(c),i.removeAttribute("title"),document.body.append(c),()=>{c.remove(),i.setAttribute("title",a)}})},t))),...C(".footnote-ref",e).filter(()=>B("content.footnote.tooltips")).map(i=>Nt(i,k({content$:new j(s=>{let a=new URL(i.href).hash.slice(1),c=Array.from(document.getElementById(a).cloneNode(!0).children),p=wr(...c);return s.next(p),document.body.append(p),()=>p.remove()})},t))))}function os(e,{alert$:t}){return t.pipe(b(r=>T(R(!0),R(!1).pipe(rt(2e3))).pipe(m(o=>({message:r,active:o})))))}function ei(e,t){let r=F(".md-typeset",e);return $(()=>{let o=new w;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),os(e,t).pipe(S(n=>o.next(n)),_(()=>o.complete()),m(n=>k({ref:e},n)))})}function ns({viewport$:e}){if(!B("header.autohide"))return R(!1);let t=e.pipe(m(({offset:{y:n}})=>n),et(2,1),m(([n,i])=>[nMath.abs(i-n.y)>100),m(([,[n]])=>n),Q()),o=Be("search");return V([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),Q(),b(n=>n?r:R(!1)),q(!1))}function ti(e,t){return $(()=>V([we(e),ns(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),Q((r,o)=>r.height===o.height&&r.hidden===o.hidden),X(1))}function ri(e,{header$:t,main$:r}){return $(()=>{let o=new w,n=o.pipe(te(),ae(!0));o.pipe(re("active"),De(t)).subscribe(([{active:s},{hidden:a}])=>{e.classList.toggle("md-header--shadow",s&&!a),e.hidden=a});let i=de(C("[title]",e)).pipe(v(()=>B("content.tooltips")),J(s=>pt(s)));return r.subscribe(o),t.pipe(U(n),m(s=>k({ref:e},s)),Ne(i.pipe(U(n))))})}function is(e,{viewport$:t,header$:r}){return Er(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=ue(e);return{active:o>=n}}),re("active"))}function oi(e,t){return $(()=>{let r=new w;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=fe(".md-content h1");return typeof o=="undefined"?x:is(o,t).pipe(S(n=>r.next(n)),_(()=>r.complete()),m(n=>k({ref:e},n)))})}function ni(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),Q()),n=o.pipe(b(()=>we(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),re("bottom"))));return V([o,n,t]).pipe(m(([i,{top:s,bottom:a},{offset:{y:c},size:{height:p}}])=>(p=Math.max(0,p-Math.max(0,s-c,i)-Math.max(0,p+c-a)),{offset:s-i,height:p,active:s-i<=c})),Q((i,s)=>i.offset===s.offset&&i.height===s.height&&i.active===s.active))}function as(e){let t=__md_get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return R(...e).pipe(J(o=>h(o,"change").pipe(m(()=>o))),q(e[r]),m(o=>({index:e.indexOf(o),color:{media:o.getAttribute("data-md-color-media"),scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),X(1))}function ii(e){let t=C("input",e),r=O("meta",{name:"theme-color"});document.head.appendChild(r);let o=O("meta",{name:"color-scheme"});document.head.appendChild(o);let n=Ut("(prefers-color-scheme: light)");return $(()=>{let i=new w;return i.subscribe(s=>{if(document.body.setAttribute("data-md-color-switching",""),s.color.media==="(prefers-color-scheme)"){let a=matchMedia("(prefers-color-scheme: light)"),c=document.querySelector(a.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");s.color.scheme=c.getAttribute("data-md-color-scheme"),s.color.primary=c.getAttribute("data-md-color-primary"),s.color.accent=c.getAttribute("data-md-color-accent")}for(let[a,c]of Object.entries(s.color))document.body.setAttribute(`data-md-color-${a}`,c);for(let a=0;a{let s=Ce("header"),a=window.getComputedStyle(s);return o.content=a.colorScheme,a.backgroundColor.match(/\d+/g).map(c=>(+c).toString(16).padStart(2,"0")).join("")})).subscribe(s=>r.content=`#${s}`),i.pipe(xe(pe)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),as(t).pipe(U(n.pipe(Re(1))),bt(),S(s=>i.next(s)),_(()=>i.complete()),m(s=>k({ref:e},s)))})}function ai(e,{progress$:t}){return $(()=>{let r=new w;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(S(o=>r.next({value:o})),_(()=>r.complete()),m(o=>({ref:e,value:o})))})}function si(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function ss(e,t){let r=new Map;for(let o of C("url",e)){let n=F("loc",o),i=[si(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let s of C("[rel=alternate]",o)){let a=s.getAttribute("href");a!=null&&i.push(si(new URL(a),t))}}return r}function $t(e){return yn(new URL("sitemap.xml",e)).pipe(m(t=>ss(t,new URL(e))),Me(()=>R(new Map)),le())}function ci({document$:e}){let t=new Map;e.pipe(b(()=>C("link[rel=alternate]")),m(r=>new URL(r.href)),v(r=>!t.has(r.toString())),J(r=>$t(r).pipe(m(o=>[r,o])))).subscribe(([r,o])=>{t.set(r.toString().replace(/\/$/,""),o)}),h(document.body,"click").pipe(v(r=>!r.metaKey&&!r.ctrlKey),b(r=>{if(r.target instanceof Element){let o=r.target.closest("a");if(o&&!o.target){let n=[...t].find(([f])=>o.href.startsWith(f));if(typeof n=="undefined")return x;let[i,s]=n,a=Ee();if(a.href.startsWith(i))return x;let c=Te(),p=a.href.replace(c.base,"");p=`${i}/${p}`;let l=s.has(p.split("#")[0])?new URL(p,c.base):new URL(i);return r.preventDefault(),R(l)}}return x})).subscribe(r=>it(r,!0))}var co=Gt(ao());function cs(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function pi({alert$:e}){co.default.isSupported()&&new j(t=>{new co.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||cs(F(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(S(t=>{t.trigger.focus()}),m(()=>Le("clipboard.copied"))).subscribe(e)}function li(e,t){if(!(e.target instanceof Element))return x;let r=e.target.closest("a");if(r===null)return x;if(r.target||e.metaKey||e.ctrlKey)return x;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),R(r)):x}function mi(e){let t=new Map;for(let r of C(":scope > *",e.head))t.set(r.outerHTML,r);return t}function fi(e){for(let t of C("[href], [src]",e))for(let r of["href","src"]){let o=t.getAttribute(r);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){t[r]=t[r];break}}return R(e)}function ps(e){for(let o of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...B("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=fe(o),i=fe(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=mi(document);for(let[o,n]of mi(e))t.has(o)?t.delete(o):document.head.appendChild(n);for(let o of t.values())o.remove();let r=Ce("container");return qe(C("script",r)).pipe(b(o=>{let n=e.createElement("script");if(o.src){for(let i of o.getAttributeNames())n.setAttribute(i,o.getAttribute(i));return o.replaceWith(n),new j(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),x}),te(),ae(e))}function ui({sitemap$:e,location$:t,viewport$:r,progress$:o}){if(location.protocol==="file:")return x;R(document).subscribe(fi);let n=h(document.body,"click").pipe(De(e),b(([a,c])=>li(a,c)),m(({href:a})=>new URL(a)),le()),i=h(window,"popstate").pipe(m(Ee),le());n.pipe(oe(r)).subscribe(([a,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",a)}),T(n,i).subscribe(t);let s=t.pipe(re("pathname"),b(a=>yr(a,{progress$:o}).pipe(Me(()=>(it(a,!0),x)))),b(fi),b(ps),le());return T(s.pipe(oe(t,(a,c)=>c)),t.pipe(re("pathname"),b(()=>t),re("hash")),t.pipe(Q((a,c)=>a.pathname===c.pathname&&a.hash===c.hash),b(()=>n),S(()=>history.back()))).subscribe(a=>{var c,p;history.state!==null||!a.hash?window.scrollTo(0,(p=(c=history.state)==null?void 0:c.y)!=null?p:0):(history.scrollRestoration="auto",vn(a.hash),history.scrollRestoration="manual")}),t.subscribe(()=>{history.scrollRestoration="manual"}),h(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),r.pipe(re("offset"),Ae(100)).subscribe(({offset:a})=>{history.replaceState(a,"")}),B("navigation.instant.prefetch")&&T(h(document.body,"mousemove"),h(document.body,"focusin")).pipe(De(e),b(([a,c])=>li(a,c)),Ae(25),Qr(({href:a})=>a),hr(a=>{let c=document.createElement("link");return c.rel="prefetch",c.href=a.toString(),document.head.appendChild(c),h(c,"load").pipe(m(()=>c),ye(1))})).subscribe(a=>a.remove()),s}var bi=Gt(hi());function vi(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,s)=>`${i}${s}`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return s=>(0,bi.default)(s).replace(i,o).replace(/<\/mark>(\s+)]*>/img,"$1")}}function zt(e){return e.type===1}function Sr(e){return e.type===3}function gi(e,t){let r=Mn(e);return T(R(location.protocol!=="file:"),Be("search")).pipe(ke(o=>o),b(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:B("search.suggest")}}})),r}function xi({document$:e}){let t=Te(),r=Ge(new URL("../versions.json",t.base)).pipe(Me(()=>x)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:s,aliases:a})=>s===i||a.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),b(n=>h(document.body,"click").pipe(v(i=>!i.metaKey&&!i.ctrlKey),oe(o),b(([i,s])=>{if(i.target instanceof Element){let a=i.target.closest("a");if(a&&!a.target&&n.has(a.href)){let c=a.href;return!i.target.closest(".md-version")&&n.get(c)===s?x:(i.preventDefault(),R(c))}}return x}),b(i=>{let{version:s}=n.get(i);return $t(new URL(i)).pipe(m(a=>{let p=Ee().href.replace(t.base,"");return a.has(p.split("#")[0])?new URL(`../${s}/${p}`,t.base):new URL(i)}))})))).subscribe(n=>it(n,!0)),V([r,o]).subscribe(([n,i])=>{F(".md-header__topic").appendChild(Fn(n,i))}),e.pipe(b(()=>o)).subscribe(n=>{var s;let i=__md_get("__outdated",sessionStorage);if(i===null){i=!0;let a=((s=t.version)==null?void 0:s.default)||"latest";Array.isArray(a)||(a=[a]);e:for(let c of a)for(let p of n.aliases.concat(n.version))if(new RegExp(c,"i").test(p)){i=!1;break e}__md_set("__outdated",i,sessionStorage)}if(i)for(let a of me("outdated"))a.hidden=!1})}function ds(e,{worker$:t}){let{searchParams:r}=Ee();r.has("q")&&(nt("search",!0),e.value=r.get("q"),e.focus(),Be("search").pipe(ke(i=>!i)).subscribe(()=>{let i=Ee();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=Ke(e),n=T(t.pipe(ke(zt)),h(e,"keyup"),o).pipe(m(()=>e.value),Q());return V([n,o]).pipe(m(([i,s])=>({value:i,focus:s})),X(1))}function yi(e,{worker$:t}){let r=new w,o=r.pipe(te(),ae(!0));V([t.pipe(ke(zt)),r],(i,s)=>s).pipe(re("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(re("focus")).subscribe(({focus:i})=>{i&&nt("search",i)}),h(e.form,"reset").pipe(U(o)).subscribe(()=>e.focus());let n=F("header [for=__search]");return h(n,"click").subscribe(()=>e.focus()),ds(e,{worker$:t}).pipe(S(i=>r.next(i)),_(()=>r.complete()),m(i=>k({ref:e},i)),X(1))}function Ei(e,{worker$:t,query$:r}){let o=new w,n=fn(e.parentElement).pipe(v(Boolean)),i=e.parentElement,s=F(":scope > :first-child",e),a=F(":scope > :last-child",e);Be("search").subscribe(l=>a.setAttribute("role",l?"list":"presentation")),o.pipe(oe(r),Gr(t.pipe(ke(zt)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:s.textContent=f.length?Le("search.result.none"):Le("search.result.placeholder");break;case 1:s.textContent=Le("search.result.one");break;default:let u=br(l.length);s.textContent=Le("search.result.other",u)}});let c=o.pipe(S(()=>a.innerHTML=""),b(({items:l})=>T(R(...l.slice(0,10)),R(...l.slice(10)).pipe(et(4),Xr(n),b(([f])=>f)))),m(Rn),le());return c.subscribe(l=>a.appendChild(l)),c.pipe(J(l=>{let f=fe("details",l);return typeof f=="undefined"?x:h(f,"toggle").pipe(U(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(v(Sr),m(({data:l})=>l)).pipe(S(l=>o.next(l)),_(()=>o.complete()),m(l=>k({ref:e},l)))}function hs(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=Ee();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function wi(e,t){let r=new w,o=r.pipe(te(),ae(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),h(e,"click").pipe(U(o)).subscribe(n=>n.preventDefault()),hs(e,t).pipe(S(n=>r.next(n)),_(()=>r.complete()),m(n=>k({ref:e},n)))}function Ti(e,{worker$:t,keyboard$:r}){let o=new w,n=Ce("search-query"),i=T(h(n,"keydown"),h(n,"focus")).pipe(xe(pe),m(()=>n.value),Q());return o.pipe(De(i),m(([{suggest:a},c])=>{let p=c.split(/([\s-]+)/);if(a!=null&&a.length&&p[p.length-1]){let l=a[a.length-1];l.startsWith(p[p.length-1])&&(p[p.length-1]=l)}else p.length=0;return p})).subscribe(a=>e.innerHTML=a.join("").replace(/\s/g," ")),r.pipe(v(({mode:a})=>a==="search")).subscribe(a=>{switch(a.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(v(Sr),m(({data:a})=>a)).pipe(S(a=>o.next(a)),_(()=>o.complete()),m(()=>({ref:e})))}function Si(e,{index$:t,keyboard$:r}){let o=Te();try{let n=gi(o.search,t),i=Ce("search-query",e),s=Ce("search-result",e);h(e,"click").pipe(v(({target:c})=>c instanceof Element&&!!c.closest("a"))).subscribe(()=>nt("search",!1)),r.pipe(v(({mode:c})=>c==="search")).subscribe(c=>{let p=Ve();switch(c.type){case"Enter":if(p===i){let l=new Map;for(let f of C(":first-child [href]",s)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,d])=>d-u);f.click()}c.claim()}break;case"Escape":case"Tab":nt("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof p=="undefined")i.focus();else{let l=[i,...C(":not(details) > [href], summary, details[open] [href]",s)],f=Math.max(0,(Math.max(0,l.indexOf(p))+l.length+(c.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}c.claim();break;default:i!==Ve()&&i.focus()}}),r.pipe(v(({mode:c})=>c==="global")).subscribe(c=>{switch(c.type){case"f":case"s":case"/":i.focus(),i.select(),c.claim();break}});let a=yi(i,{worker$:n});return T(a,Ei(s,{worker$:n,query$:a})).pipe(Ne(...me("search-share",e).map(c=>wi(c,{query$:a})),...me("search-suggest",e).map(c=>Ti(c,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,Ze}}function Oi(e,{index$:t,location$:r}){return V([t,r.pipe(q(Ee()),v(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>vi(o.config)(n.searchParams.get("h"))),m(o=>{var s;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let a=i.nextNode();a;a=i.nextNode())if((s=a.parentElement)!=null&&s.offsetHeight){let c=a.textContent,p=o(c);p.length>c.length&&n.set(a,p)}for(let[a,c]of n){let{childNodes:p}=O("span",null,c);a.replaceWith(...Array.from(p))}return{ref:e,nodes:n}}))}function bs(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return V([r,t]).pipe(m(([{offset:i,height:s},{offset:{y:a}}])=>(s=s+Math.min(n,Math.max(0,a-i))-n,{height:s,locked:a>=i+n})),Q((i,s)=>i.height===s.height&&i.locked===s.locked))}function po(e,o){var n=o,{header$:t}=n,r=bo(n,["header$"]);let i=F(".md-sidebar__scrollwrap",e),{y:s}=Qe(i);return $(()=>{let a=new w,c=a.pipe(te(),ae(!0)),p=a.pipe($e(0,ge));return p.pipe(oe(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*s}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),p.pipe(ke()).subscribe(()=>{for(let l of C(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=ue(f);f.scrollTo({top:u-d/2})}}}),de(C("label[tabindex]",e)).pipe(J(l=>h(l,"click").pipe(xe(pe),m(()=>l),U(c)))).subscribe(l=>{let f=F(`[id="${l.htmlFor}"]`);F(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),bs(e,r).pipe(S(l=>a.next(l)),_(()=>a.complete()),m(l=>k({ref:e},l)))})}function Mi(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return ht(Ge(`${r}/releases/latest`).pipe(Me(()=>x),m(o=>({version:o.tag_name})),tt({})),Ge(r).pipe(Me(()=>x),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),tt({}))).pipe(m(([o,n])=>k(k({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return Ge(r).pipe(m(o=>({repositories:o.public_repos})),tt({}))}}function Li(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Ge(r).pipe(Me(()=>x),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),tt({}))}function _i(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return Mi(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return Li(r,o)}return x}var vs;function gs(e){return vs||(vs=$(()=>{let t=__md_get("__source",sessionStorage);if(t)return R(t);if(me("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return x}return _i(e.href).pipe(S(o=>__md_set("__source",o,sessionStorage)))}).pipe(Me(()=>x),v(t=>Object.keys(t).length>0),m(t=>({facts:t})),X(1)))}function Ai(e){let t=F(":scope > :last-child",e);return $(()=>{let r=new w;return r.subscribe(({facts:o})=>{t.appendChild(Pn(o)),t.classList.add("md-source__repository--active")}),gs(e).pipe(S(o=>r.next(o)),_(()=>r.complete()),m(o=>k({ref:e},o)))})}function xs(e,{viewport$:t,header$:r}){return we(document.body).pipe(b(()=>Er(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),re("hidden"))}function Ci(e,t){return $(()=>{let r=new w;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(B("navigation.tabs.sticky")?R({hidden:!1}):xs(e,t)).pipe(S(o=>r.next(o)),_(()=>r.complete()),m(o=>k({ref:e},o)))})}function ys(e,{viewport$:t,header$:r}){let o=new Map,n=C(".md-nav__link",e);for(let a of n){let c=decodeURIComponent(a.hash.substring(1)),p=fe(`[id="${c}"]`);typeof p!="undefined"&&o.set(a,p)}let i=r.pipe(re("height"),m(({height:a})=>{let c=Ce("main"),p=F(":scope > :first-child",c);return a+.8*(p.offsetTop-c.offsetTop)}),le());return we(document.body).pipe(re("height"),b(a=>$(()=>{let c=[];return R([...o].reduce((p,[l,f])=>{for(;c.length&&o.get(c[c.length-1]).tagName>=f.tagName;)c.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let d=f.offsetParent;for(;d;d=d.offsetParent)u+=d.offsetTop;return p.set([...c=[...c,l]].reverse(),u)},new Map))}).pipe(m(c=>new Map([...c].sort(([,p],[,l])=>p-l))),De(i),b(([c,p])=>t.pipe(Wt(([l,f],{offset:{y:u},size:d})=>{let g=u+d.height>=Math.floor(a.height);for(;f.length;){let[,M]=f[0];if(M-p=u&&!g)f=[l.pop(),...f];else break}return[l,f]},[[],[...c]]),Q((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([a,c])=>({prev:a.map(([p])=>p),next:c.map(([p])=>p)})),q({prev:[],next:[]}),et(2,1),m(([a,c])=>a.prev.length{let i=new w,s=i.pipe(te(),ae(!0));if(i.subscribe(({prev:a,next:c})=>{for(let[p]of c)p.classList.remove("md-nav__link--passed"),p.classList.remove("md-nav__link--active");for(let[p,[l]]of a.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",p===a.length-1)}),B("toc.follow")){let a=T(t.pipe(Ae(1),m(()=>{})),t.pipe(Ae(250),m(()=>"smooth")));i.pipe(v(({prev:c})=>c.length>0),De(o.pipe(xe(pe))),oe(a)).subscribe(([[{prev:c}],p])=>{let[l]=c[c.length-1];if(l.offsetHeight){let f=vr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=ue(f);f.scrollTo({top:u-d/2,behavior:p})}}})}return B("navigation.tracking")&&t.pipe(U(s),re("offset"),Ae(250),Re(1),U(n.pipe(Re(1))),bt({delay:250}),oe(i)).subscribe(([,{prev:a}])=>{let c=Ee(),p=a[a.length-1];if(p&&p.length){let[l]=p,{hash:f}=new URL(l.href);c.hash!==f&&(c.hash=f,history.replaceState({},"",`${c}`))}else c.hash="",history.replaceState({},"",`${c}`)}),ys(e,{viewport$:t,header$:r}).pipe(S(a=>i.next(a)),_(()=>i.complete()),m(a=>k({ref:e},a)))})}function Es(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:s}})=>s),et(2,1),m(([s,a])=>s>a&&a>0),Q()),i=r.pipe(m(({active:s})=>s));return V([i,n]).pipe(m(([s,a])=>!(s&&a)),Q(),U(o.pipe(Re(1))),ae(!0),bt({delay:250}),m(s=>({hidden:s})))}function $i(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new w,s=i.pipe(te(),ae(!0));return i.subscribe({next({hidden:a}){e.hidden=a,a?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(U(s),re("height")).subscribe(({height:a})=>{e.style.top=`${a+16}px`}),h(e,"click").subscribe(a=>{a.preventDefault(),window.scrollTo({top:0})}),Es(e,{viewport$:t,main$:o,target$:n}).pipe(S(a=>i.next(a)),_(()=>i.complete()),m(a=>k({ref:e},a)))}function ki({document$:e}){e.pipe(b(()=>C(".md-ellipsis")),J(t=>Ct(t).pipe(U(e.pipe(Re(1))),v(r=>r),m(()=>t),ye(1))),v(t=>t.offsetWidth{let r=t.innerText,o=t.closest("a")||t;return o.title=r,pt(o).pipe(U(e.pipe(Re(1))),_(()=>o.removeAttribute("title")))})).subscribe(),e.pipe(b(()=>C(".md-status")),J(t=>pt(t))).subscribe()}function Ri({document$:e,tablet$:t}){e.pipe(b(()=>C(".md-toggle--indeterminate")),S(r=>{r.indeterminate=!0,r.checked=!1}),J(r=>h(r,"change").pipe(Jr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),oe(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function ws(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Pi({document$:e}){e.pipe(b(()=>C("[data-md-scrollfix]")),S(t=>t.removeAttribute("data-md-scrollfix")),v(ws),J(t=>h(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function Ii({viewport$:e,tablet$:t}){V([Be("search"),t]).pipe(m(([r,o])=>r&&!o),b(r=>R(r).pipe(rt(r?400:100))),oe(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function Ts(){return location.protocol==="file:"?_t(`${new URL("search/search_index.js",Or.base)}`).pipe(m(()=>__index),X(1)):Ge(new URL("search/search_index.json",Or.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var at=nn(),Kt=hn(),kt=gn(Kt),lo=dn(),Pe=On(),Mr=Ut("(min-width: 960px)"),ji=Ut("(min-width: 1220px)"),Wi=xn(),Or=Te(),Ui=document.forms.namedItem("search")?Ts():Ze,mo=new w;pi({alert$:mo});ci({document$:at});var fo=new w,Di=$t(Or.base);B("navigation.instant")&&ui({sitemap$:Di,location$:Kt,viewport$:Pe,progress$:fo}).subscribe(at);var Fi;((Fi=Or.version)==null?void 0:Fi.provider)==="mike"&&xi({document$:at});T(Kt,kt).pipe(rt(125)).subscribe(()=>{nt("drawer",!1),nt("search",!1)});lo.pipe(v(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=fe("link[rel=prev]");typeof t!="undefined"&&it(t);break;case"n":case".":let r=fe("link[rel=next]");typeof r!="undefined"&&it(r);break;case"Enter":let o=Ve();o instanceof HTMLLabelElement&&o.click()}});ki({document$:at});Ri({document$:at,tablet$:Mr});Pi({document$:at});Ii({viewport$:Pe,tablet$:Mr});var lt=ti(Ce("header"),{viewport$:Pe}),qt=at.pipe(m(()=>Ce("main")),b(e=>ni(e,{viewport$:Pe,header$:lt})),X(1)),Ss=T(...me("consent").map(e=>_n(e,{target$:kt})),...me("dialog").map(e=>ei(e,{alert$:mo})),...me("header").map(e=>ri(e,{viewport$:Pe,header$:lt,main$:qt})),...me("palette").map(e=>ii(e)),...me("progress").map(e=>ai(e,{progress$:fo})),...me("search").map(e=>Si(e,{index$:Ui,keyboard$:lo})),...me("source").map(e=>Ai(e))),Os=$(()=>T(...me("announce").map(e=>Ln(e)),...me("content").map(e=>Zn(e,{sitemap$:Di,viewport$:Pe,target$:kt,print$:Wi})),...me("content").map(e=>B("search.highlight")?Oi(e,{index$:Ui,location$:Kt}):x),...me("header-title").map(e=>oi(e,{viewport$:Pe,header$:lt})),...me("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?to(ji,()=>po(e,{viewport$:Pe,header$:lt,main$:qt})):to(Mr,()=>po(e,{viewport$:Pe,header$:lt,main$:qt}))),...me("tabs").map(e=>Ci(e,{viewport$:Pe,header$:lt})),...me("toc").map(e=>Hi(e,{viewport$:Pe,header$:lt,main$:qt,target$:kt})),...me("top").map(e=>$i(e,{viewport$:Pe,header$:lt,main$:qt,target$:kt})))),Ni=at.pipe(b(()=>Os),Ne(Ss),X(1));Ni.subscribe();window.document$=at;window.location$=Kt;window.target$=kt;window.keyboard$=lo;window.viewport$=Pe;window.tablet$=Mr;window.screen$=ji;window.print$=Wi;window.alert$=mo;window.progress$=fo;window.component$=Ni;})(); diff --git a/assets/javascripts/lunr/min/lunr.ar.min.js b/assets/javascripts/lunr/min/lunr.ar.min.js new file mode 100644 index 00000000..9b06c26c --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.ar.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ar=function(){this.pipeline.reset(),this.pipeline.add(e.ar.trimmer,e.ar.stopWordFilter,e.ar.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ar.stemmer))},e.ar.wordCharacters="ء-ٛٱـ",e.ar.trimmer=e.trimmerSupport.generateTrimmer(e.ar.wordCharacters),e.Pipeline.registerFunction(e.ar.trimmer,"trimmer-ar"),e.ar.stemmer=function(){var e=this;return e.result=!1,e.preRemoved=!1,e.sufRemoved=!1,e.pre={pre1:"ف ك ب و س ل ن ا ي ت",pre2:"ال لل",pre3:"بال وال فال تال كال ولل",pre4:"فبال كبال وبال وكال"},e.suf={suf1:"ه ك ت ن ا ي",suf2:"نك نه ها وك يا اه ون ين تن تم نا وا ان كم كن ني نن ما هم هن تك ته ات يه",suf3:"تين كهم نيه نهم ونه وها يهم ونا ونك وني وهم تكم تنا تها تني تهم كما كها ناه نكم هنا تان يها",suf4:"كموه ناها ونني ونهم تكما تموه تكاه كماه ناكم ناهم نيها وننا"},e.patterns=JSON.parse('{"pt43":[{"pt":[{"c":"ا","l":1}]},{"pt":[{"c":"ا,ت,ن,ي","l":0}],"mPt":[{"c":"ف","l":0,"m":1},{"c":"ع","l":1,"m":2},{"c":"ل","l":2,"m":3}]},{"pt":[{"c":"و","l":2}],"mPt":[{"c":"ف","l":0,"m":0},{"c":"ع","l":1,"m":1},{"c":"ل","l":2,"m":3}]},{"pt":[{"c":"ا","l":2}]},{"pt":[{"c":"ي","l":2}],"mPt":[{"c":"ف","l":0,"m":0},{"c":"ع","l":1,"m":1},{"c":"ا","l":2},{"c":"ل","l":3,"m":3}]},{"pt":[{"c":"م","l":0}]}],"pt53":[{"pt":[{"c":"ت","l":0},{"c":"ا","l":2}]},{"pt":[{"c":"ا,ن,ت,ي","l":0},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ت","l":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"ا","l":0},{"c":"ا","l":2}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ع","l":2,"m":3},{"c":"ل","l":3,"m":4},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"ا","l":0},{"c":"ا","l":3}],"mPt":[{"c":"ف","l":0,"m":1},{"c":"ع","l":1,"m":2},{"c":"ل","l":2,"m":4}]},{"pt":[{"c":"ا","l":3},{"c":"ن","l":4}]},{"pt":[{"c":"ت","l":0},{"c":"ي","l":3}]},{"pt":[{"c":"م","l":0},{"c":"و","l":3}]},{"pt":[{"c":"ا","l":1},{"c":"و","l":3}]},{"pt":[{"c":"و","l":1},{"c":"ا","l":2}]},{"pt":[{"c":"م","l":0},{"c":"ا","l":3}]},{"pt":[{"c":"م","l":0},{"c":"ي","l":3}]},{"pt":[{"c":"ا","l":2},{"c":"ن","l":3}]},{"pt":[{"c":"م","l":0},{"c":"ن","l":1}],"mPt":[{"c":"ا","l":0},{"c":"ن","l":1},{"c":"ف","l":2,"m":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"م","l":0},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ت","l":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"م","l":0},{"c":"ا","l":2}]},{"pt":[{"c":"م","l":1},{"c":"ا","l":3}]},{"pt":[{"c":"ي,ت,ا,ن","l":0},{"c":"ت","l":1}],"mPt":[{"c":"ف","l":0,"m":2},{"c":"ع","l":1,"m":3},{"c":"ا","l":2},{"c":"ل","l":3,"m":4}]},{"pt":[{"c":"ت,ي,ا,ن","l":0},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ت","l":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"ا","l":2},{"c":"ي","l":3}]},{"pt":[{"c":"ا,ي,ت,ن","l":0},{"c":"ن","l":1}],"mPt":[{"c":"ا","l":0},{"c":"ن","l":1},{"c":"ف","l":2,"m":2},{"c":"ع","l":3,"m":3},{"c":"ا","l":4},{"c":"ل","l":5,"m":4}]},{"pt":[{"c":"ا","l":3},{"c":"ء","l":4}]}],"pt63":[{"pt":[{"c":"ا","l":0},{"c":"ت","l":2},{"c":"ا","l":4}]},{"pt":[{"c":"ا,ت,ن,ي","l":0},{"c":"س","l":1},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"س","l":1},{"c":"ت","l":2},{"c":"ف","l":3,"m":3},{"c":"ع","l":4,"m":4},{"c":"ا","l":5},{"c":"ل","l":6,"m":5}]},{"pt":[{"c":"ا,ن,ت,ي","l":0},{"c":"و","l":3}]},{"pt":[{"c":"م","l":0},{"c":"س","l":1},{"c":"ت","l":2}],"mPt":[{"c":"ا","l":0},{"c":"س","l":1},{"c":"ت","l":2},{"c":"ف","l":3,"m":3},{"c":"ع","l":4,"m":4},{"c":"ا","l":5},{"c":"ل","l":6,"m":5}]},{"pt":[{"c":"ي","l":1},{"c":"ي","l":3},{"c":"ا","l":4},{"c":"ء","l":5}]},{"pt":[{"c":"ا","l":0},{"c":"ن","l":1},{"c":"ا","l":4}]}],"pt54":[{"pt":[{"c":"ت","l":0}]},{"pt":[{"c":"ا,ي,ت,ن","l":0}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ع","l":2,"m":2},{"c":"ل","l":3,"m":3},{"c":"ر","l":4,"m":4},{"c":"ا","l":5},{"c":"ر","l":6,"m":4}]},{"pt":[{"c":"م","l":0}],"mPt":[{"c":"ا","l":0},{"c":"ف","l":1,"m":1},{"c":"ع","l":2,"m":2},{"c":"ل","l":3,"m":3},{"c":"ر","l":4,"m":4},{"c":"ا","l":5},{"c":"ر","l":6,"m":4}]},{"pt":[{"c":"ا","l":2}]},{"pt":[{"c":"ا","l":0},{"c":"ن","l":2}]}],"pt64":[{"pt":[{"c":"ا","l":0},{"c":"ا","l":4}]},{"pt":[{"c":"م","l":0},{"c":"ت","l":1}]}],"pt73":[{"pt":[{"c":"ا","l":0},{"c":"س","l":1},{"c":"ت","l":2},{"c":"ا","l":5}]}],"pt75":[{"pt":[{"c":"ا","l":0},{"c":"ا","l":5}]}]}'),e.execArray=["cleanWord","removeDiacritics","cleanAlef","removeStopWords","normalizeHamzaAndAlef","removeStartWaw","removePre432","removeEndTaa","wordCheck"],e.stem=function(){var r=0;for(e.result=!1,e.preRemoved=!1,e.sufRemoved=!1;r=0)return!0},e.normalizeHamzaAndAlef=function(){return e.word=e.word.replace("ؤ","ء"),e.word=e.word.replace("ئ","ء"),e.word=e.word.replace(/([\u0627])\1+/gi,"ا"),!1},e.removeEndTaa=function(){return!(e.word.length>2)||(e.word=e.word.replace(/[\u0627]$/,""),e.word=e.word.replace("ة",""),!1)},e.removeStartWaw=function(){return e.word.length>3&&"و"==e.word[0]&&"و"==e.word[1]&&(e.word=e.word.slice(1)),!1},e.removePre432=function(){var r=e.word;if(e.word.length>=7){var t=new RegExp("^("+e.pre.pre4.split(" ").join("|")+")");e.word=e.word.replace(t,"")}if(e.word==r&&e.word.length>=6){var c=new RegExp("^("+e.pre.pre3.split(" ").join("|")+")");e.word=e.word.replace(c,"")}if(e.word==r&&e.word.length>=5){var l=new RegExp("^("+e.pre.pre2.split(" ").join("|")+")");e.word=e.word.replace(l,"")}return r!=e.word&&(e.preRemoved=!0),!1},e.patternCheck=function(r){for(var t=0;t3){var t=new RegExp("^("+e.pre.pre1.split(" ").join("|")+")");e.word=e.word.replace(t,"")}return r!=e.word&&(e.preRemoved=!0),!1},e.removeSuf1=function(){var r=e.word;if(0==e.sufRemoved&&e.word.length>3){var t=new RegExp("("+e.suf.suf1.split(" ").join("|")+")$");e.word=e.word.replace(t,"")}return r!=e.word&&(e.sufRemoved=!0),!1},e.removeSuf432=function(){var r=e.word;if(e.word.length>=6){var t=new RegExp("("+e.suf.suf4.split(" ").join("|")+")$");e.word=e.word.replace(t,"")}if(e.word==r&&e.word.length>=5){var c=new RegExp("("+e.suf.suf3.split(" ").join("|")+")$");e.word=e.word.replace(c,"")}if(e.word==r&&e.word.length>=4){var l=new RegExp("("+e.suf.suf2.split(" ").join("|")+")$");e.word=e.word.replace(l,"")}return r!=e.word&&(e.sufRemoved=!0),!1},e.wordCheck=function(){for(var r=(e.word,[e.removeSuf432,e.removeSuf1,e.removePre1]),t=0,c=!1;e.word.length>=7&&!e.result&&t=f.limit)return;f.cursor++}for(;!f.out_grouping(w,97,248);){if(f.cursor>=f.limit)return;f.cursor++}d=f.cursor,d=d&&(r=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,e=f.find_among_b(c,32),f.limit_backward=r,e))switch(f.bra=f.cursor,e){case 1:f.slice_del();break;case 2:f.in_grouping_b(p,97,229)&&f.slice_del()}}function t(){var e,r=f.limit-f.cursor;f.cursor>=d&&(e=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,f.find_among_b(l,4)?(f.bra=f.cursor,f.limit_backward=e,f.cursor=f.limit-r,f.cursor>f.limit_backward&&(f.cursor--,f.bra=f.cursor,f.slice_del())):f.limit_backward=e)}function s(){var e,r,i,n=f.limit-f.cursor;if(f.ket=f.cursor,f.eq_s_b(2,"st")&&(f.bra=f.cursor,f.eq_s_b(2,"ig")&&f.slice_del()),f.cursor=f.limit-n,f.cursor>=d&&(r=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,e=f.find_among_b(m,5),f.limit_backward=r,e))switch(f.bra=f.cursor,e){case 1:f.slice_del(),i=f.limit-f.cursor,t(),f.cursor=f.limit-i;break;case 2:f.slice_from("løs")}}function o(){var e;f.cursor>=d&&(e=f.limit_backward,f.limit_backward=d,f.ket=f.cursor,f.out_grouping_b(w,97,248)?(f.bra=f.cursor,u=f.slice_to(u),f.limit_backward=e,f.eq_v_b(u)&&f.slice_del()):f.limit_backward=e)}var a,d,u,c=[new r("hed",-1,1),new r("ethed",0,1),new r("ered",-1,1),new r("e",-1,1),new r("erede",3,1),new r("ende",3,1),new r("erende",5,1),new r("ene",3,1),new r("erne",3,1),new r("ere",3,1),new r("en",-1,1),new r("heden",10,1),new r("eren",10,1),new r("er",-1,1),new r("heder",13,1),new r("erer",13,1),new r("s",-1,2),new r("heds",16,1),new r("es",16,1),new r("endes",18,1),new r("erendes",19,1),new r("enes",18,1),new r("ernes",18,1),new r("eres",18,1),new r("ens",16,1),new r("hedens",24,1),new r("erens",24,1),new r("ers",16,1),new r("ets",16,1),new r("erets",28,1),new r("et",-1,1),new r("eret",30,1)],l=[new r("gd",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1)],m=[new r("ig",-1,1),new r("lig",0,1),new r("elig",1,1),new r("els",-1,1),new r("løst",-1,2)],w=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],p=[239,254,42,3,0,0,0,0,0,0,0,0,0,0,0,0,16],f=new i;this.setCurrent=function(e){f.setCurrent(e)},this.getCurrent=function(){return f.getCurrent()},this.stem=function(){var r=f.cursor;return e(),f.limit_backward=r,f.cursor=f.limit,n(),f.cursor=f.limit,t(),f.cursor=f.limit,s(),f.cursor=f.limit,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.da.stemmer,"stemmer-da"),e.da.stopWordFilter=e.generateStopWordFilter("ad af alle alt anden at blev blive bliver da de dem den denne der deres det dette dig din disse dog du efter eller en end er et for fra ham han hans har havde have hende hendes her hos hun hvad hvis hvor i ikke ind jeg jer jo kunne man mange med meget men mig min mine mit mod ned noget nogle nu når og også om op os over på selv sig sin sine sit skal skulle som sådan thi til ud under var vi vil ville vor være været".split(" ")),e.Pipeline.registerFunction(e.da.stopWordFilter,"stopWordFilter-da")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.de.min.js b/assets/javascripts/lunr/min/lunr.de.min.js new file mode 100644 index 00000000..f3b5c108 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.de.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `German` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.de=function(){this.pipeline.reset(),this.pipeline.add(e.de.trimmer,e.de.stopWordFilter,e.de.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.de.stemmer))},e.de.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.de.trimmer=e.trimmerSupport.generateTrimmer(e.de.wordCharacters),e.Pipeline.registerFunction(e.de.trimmer,"trimmer-de"),e.de.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){function e(e,r,n){return!(!v.eq_s(1,e)||(v.ket=v.cursor,!v.in_grouping(p,97,252)))&&(v.slice_from(r),v.cursor=n,!0)}function i(){for(var r,n,i,s,t=v.cursor;;)if(r=v.cursor,v.bra=r,v.eq_s(1,"ß"))v.ket=v.cursor,v.slice_from("ss");else{if(r>=v.limit)break;v.cursor=r+1}for(v.cursor=t;;)for(n=v.cursor;;){if(i=v.cursor,v.in_grouping(p,97,252)){if(s=v.cursor,v.bra=s,e("u","U",i))break;if(v.cursor=s,e("y","Y",i))break}if(i>=v.limit)return void(v.cursor=n);v.cursor=i+1}}function s(){for(;!v.in_grouping(p,97,252);){if(v.cursor>=v.limit)return!0;v.cursor++}for(;!v.out_grouping(p,97,252);){if(v.cursor>=v.limit)return!0;v.cursor++}return!1}function t(){m=v.limit,l=m;var e=v.cursor+3;0<=e&&e<=v.limit&&(d=e,s()||(m=v.cursor,m=v.limit)return;v.cursor++}}}function c(){return m<=v.cursor}function u(){return l<=v.cursor}function a(){var e,r,n,i,s=v.limit-v.cursor;if(v.ket=v.cursor,(e=v.find_among_b(w,7))&&(v.bra=v.cursor,c()))switch(e){case 1:v.slice_del();break;case 2:v.slice_del(),v.ket=v.cursor,v.eq_s_b(1,"s")&&(v.bra=v.cursor,v.eq_s_b(3,"nis")&&v.slice_del());break;case 3:v.in_grouping_b(g,98,116)&&v.slice_del()}if(v.cursor=v.limit-s,v.ket=v.cursor,(e=v.find_among_b(f,4))&&(v.bra=v.cursor,c()))switch(e){case 1:v.slice_del();break;case 2:if(v.in_grouping_b(k,98,116)){var t=v.cursor-3;v.limit_backward<=t&&t<=v.limit&&(v.cursor=t,v.slice_del())}}if(v.cursor=v.limit-s,v.ket=v.cursor,(e=v.find_among_b(_,8))&&(v.bra=v.cursor,u()))switch(e){case 1:v.slice_del(),v.ket=v.cursor,v.eq_s_b(2,"ig")&&(v.bra=v.cursor,r=v.limit-v.cursor,v.eq_s_b(1,"e")||(v.cursor=v.limit-r,u()&&v.slice_del()));break;case 2:n=v.limit-v.cursor,v.eq_s_b(1,"e")||(v.cursor=v.limit-n,v.slice_del());break;case 3:if(v.slice_del(),v.ket=v.cursor,i=v.limit-v.cursor,!v.eq_s_b(2,"er")&&(v.cursor=v.limit-i,!v.eq_s_b(2,"en")))break;v.bra=v.cursor,c()&&v.slice_del();break;case 4:v.slice_del(),v.ket=v.cursor,e=v.find_among_b(b,2),e&&(v.bra=v.cursor,u()&&1==e&&v.slice_del())}}var d,l,m,h=[new r("",-1,6),new r("U",0,2),new r("Y",0,1),new r("ä",0,3),new r("ö",0,4),new r("ü",0,5)],w=[new r("e",-1,2),new r("em",-1,1),new r("en",-1,2),new r("ern",-1,1),new r("er",-1,1),new r("s",-1,3),new r("es",5,2)],f=[new r("en",-1,1),new r("er",-1,1),new r("st",-1,2),new r("est",2,1)],b=[new r("ig",-1,1),new r("lich",-1,1)],_=[new r("end",-1,1),new r("ig",-1,2),new r("ung",-1,1),new r("lich",-1,3),new r("isch",-1,2),new r("ik",-1,2),new r("heit",-1,3),new r("keit",-1,4)],p=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32,8],g=[117,30,5],k=[117,30,4],v=new n;this.setCurrent=function(e){v.setCurrent(e)},this.getCurrent=function(){return v.getCurrent()},this.stem=function(){var e=v.cursor;return i(),v.cursor=e,t(),v.limit_backward=e,v.cursor=v.limit,a(),v.cursor=v.limit_backward,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.de.stemmer,"stemmer-de"),e.de.stopWordFilter=e.generateStopWordFilter("aber alle allem allen aller alles als also am an ander andere anderem anderen anderer anderes anderm andern anderr anders auch auf aus bei bin bis bist da damit dann das dasselbe dazu daß dein deine deinem deinen deiner deines dem demselben den denn denselben der derer derselbe derselben des desselben dessen dich die dies diese dieselbe dieselben diesem diesen dieser dieses dir doch dort du durch ein eine einem einen einer eines einig einige einigem einigen einiger einiges einmal er es etwas euch euer eure eurem euren eurer eures für gegen gewesen hab habe haben hat hatte hatten hier hin hinter ich ihm ihn ihnen ihr ihre ihrem ihren ihrer ihres im in indem ins ist jede jedem jeden jeder jedes jene jenem jenen jener jenes jetzt kann kein keine keinem keinen keiner keines können könnte machen man manche manchem manchen mancher manches mein meine meinem meinen meiner meines mich mir mit muss musste nach nicht nichts noch nun nur ob oder ohne sehr sein seine seinem seinen seiner seines selbst sich sie sind so solche solchem solchen solcher solches soll sollte sondern sonst um und uns unse unsem unsen unser unses unter viel vom von vor war waren warst was weg weil weiter welche welchem welchen welcher welches wenn werde werden wie wieder will wir wird wirst wo wollen wollte während würde würden zu zum zur zwar zwischen über".split(" ")),e.Pipeline.registerFunction(e.de.stopWordFilter,"stopWordFilter-de")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.du.min.js b/assets/javascripts/lunr/min/lunr.du.min.js new file mode 100644 index 00000000..49a0f3f0 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.du.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Dutch` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");console.warn('[Lunr Languages] Please use the "nl" instead of the "du". The "nl" code is the standard code for Dutch language, and "du" will be removed in the next major versions.'),e.du=function(){this.pipeline.reset(),this.pipeline.add(e.du.trimmer,e.du.stopWordFilter,e.du.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.du.stemmer))},e.du.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.du.trimmer=e.trimmerSupport.generateTrimmer(e.du.wordCharacters),e.Pipeline.registerFunction(e.du.trimmer,"trimmer-du"),e.du.stemmer=function(){var r=e.stemmerSupport.Among,i=e.stemmerSupport.SnowballProgram,n=new function(){function e(){for(var e,r,i,o=C.cursor;;){if(C.bra=C.cursor,e=C.find_among(b,11))switch(C.ket=C.cursor,e){case 1:C.slice_from("a");continue;case 2:C.slice_from("e");continue;case 3:C.slice_from("i");continue;case 4:C.slice_from("o");continue;case 5:C.slice_from("u");continue;case 6:if(C.cursor>=C.limit)break;C.cursor++;continue}break}for(C.cursor=o,C.bra=o,C.eq_s(1,"y")?(C.ket=C.cursor,C.slice_from("Y")):C.cursor=o;;)if(r=C.cursor,C.in_grouping(q,97,232)){if(i=C.cursor,C.bra=i,C.eq_s(1,"i"))C.ket=C.cursor,C.in_grouping(q,97,232)&&(C.slice_from("I"),C.cursor=r);else if(C.cursor=i,C.eq_s(1,"y"))C.ket=C.cursor,C.slice_from("Y"),C.cursor=r;else if(n(r))break}else if(n(r))break}function n(e){return C.cursor=e,e>=C.limit||(C.cursor++,!1)}function o(){_=C.limit,f=_,t()||(_=C.cursor,_<3&&(_=3),t()||(f=C.cursor))}function t(){for(;!C.in_grouping(q,97,232);){if(C.cursor>=C.limit)return!0;C.cursor++}for(;!C.out_grouping(q,97,232);){if(C.cursor>=C.limit)return!0;C.cursor++}return!1}function s(){for(var e;;)if(C.bra=C.cursor,e=C.find_among(p,3))switch(C.ket=C.cursor,e){case 1:C.slice_from("y");break;case 2:C.slice_from("i");break;case 3:if(C.cursor>=C.limit)return;C.cursor++}}function u(){return _<=C.cursor}function c(){return f<=C.cursor}function a(){var e=C.limit-C.cursor;C.find_among_b(g,3)&&(C.cursor=C.limit-e,C.ket=C.cursor,C.cursor>C.limit_backward&&(C.cursor--,C.bra=C.cursor,C.slice_del()))}function l(){var e;w=!1,C.ket=C.cursor,C.eq_s_b(1,"e")&&(C.bra=C.cursor,u()&&(e=C.limit-C.cursor,C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-e,C.slice_del(),w=!0,a())))}function m(){var e;u()&&(e=C.limit-C.cursor,C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-e,C.eq_s_b(3,"gem")||(C.cursor=C.limit-e,C.slice_del(),a())))}function d(){var e,r,i,n,o,t,s=C.limit-C.cursor;if(C.ket=C.cursor,e=C.find_among_b(h,5))switch(C.bra=C.cursor,e){case 1:u()&&C.slice_from("heid");break;case 2:m();break;case 3:u()&&C.out_grouping_b(z,97,232)&&C.slice_del()}if(C.cursor=C.limit-s,l(),C.cursor=C.limit-s,C.ket=C.cursor,C.eq_s_b(4,"heid")&&(C.bra=C.cursor,c()&&(r=C.limit-C.cursor,C.eq_s_b(1,"c")||(C.cursor=C.limit-r,C.slice_del(),C.ket=C.cursor,C.eq_s_b(2,"en")&&(C.bra=C.cursor,m())))),C.cursor=C.limit-s,C.ket=C.cursor,e=C.find_among_b(k,6))switch(C.bra=C.cursor,e){case 1:if(c()){if(C.slice_del(),i=C.limit-C.cursor,C.ket=C.cursor,C.eq_s_b(2,"ig")&&(C.bra=C.cursor,c()&&(n=C.limit-C.cursor,!C.eq_s_b(1,"e")))){C.cursor=C.limit-n,C.slice_del();break}C.cursor=C.limit-i,a()}break;case 2:c()&&(o=C.limit-C.cursor,C.eq_s_b(1,"e")||(C.cursor=C.limit-o,C.slice_del()));break;case 3:c()&&(C.slice_del(),l());break;case 4:c()&&C.slice_del();break;case 5:c()&&w&&C.slice_del()}C.cursor=C.limit-s,C.out_grouping_b(j,73,232)&&(t=C.limit-C.cursor,C.find_among_b(v,4)&&C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-t,C.ket=C.cursor,C.cursor>C.limit_backward&&(C.cursor--,C.bra=C.cursor,C.slice_del())))}var f,_,w,b=[new r("",-1,6),new r("á",0,1),new r("ä",0,1),new r("é",0,2),new r("ë",0,2),new r("í",0,3),new r("ï",0,3),new r("ó",0,4),new r("ö",0,4),new r("ú",0,5),new r("ü",0,5)],p=[new r("",-1,3),new r("I",0,2),new r("Y",0,1)],g=[new r("dd",-1,-1),new r("kk",-1,-1),new r("tt",-1,-1)],h=[new r("ene",-1,2),new r("se",-1,3),new r("en",-1,2),new r("heden",2,1),new r("s",-1,3)],k=[new r("end",-1,1),new r("ig",-1,2),new r("ing",-1,1),new r("lijk",-1,3),new r("baar",-1,4),new r("bar",-1,5)],v=[new r("aa",-1,-1),new r("ee",-1,-1),new r("oo",-1,-1),new r("uu",-1,-1)],q=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],j=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],z=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],C=new i;this.setCurrent=function(e){C.setCurrent(e)},this.getCurrent=function(){return C.getCurrent()},this.stem=function(){var r=C.cursor;return e(),C.cursor=r,o(),C.limit_backward=r,C.cursor=C.limit,d(),C.cursor=C.limit_backward,s(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.du.stemmer,"stemmer-du"),e.du.stopWordFilter=e.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),e.Pipeline.registerFunction(e.du.stopWordFilter,"stopWordFilter-du")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.el.min.js b/assets/javascripts/lunr/min/lunr.el.min.js new file mode 100644 index 00000000..ace017bd --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.el.min.js @@ -0,0 +1 @@ +!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.el=function(){this.pipeline.reset(),void 0===this.searchPipeline&&this.pipeline.add(e.el.trimmer,e.el.normilizer),this.pipeline.add(e.el.stopWordFilter,e.el.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.el.stemmer))},e.el.wordCharacters="A-Za-zΑαΒβΓγΔδΕεΖζΗηΘθΙιΚκΛλΜμΝνΞξΟοΠπΡρΣσςΤτΥυΦφΧχΨψΩωΆάΈέΉήΊίΌόΎύΏώΪΐΫΰΐΰ",e.el.trimmer=e.trimmerSupport.generateTrimmer(e.el.wordCharacters),e.Pipeline.registerFunction(e.el.trimmer,"trimmer-el"),e.el.stemmer=function(){function e(e){return s.test(e)}function t(e){return/[ΑΕΗΙΟΥΩ]$/.test(e)}function r(e){return/[ΑΕΗΙΟΩ]$/.test(e)}function n(n){var s=n;if(n.length<3)return s;if(!e(n))return s;if(i.indexOf(n)>=0)return s;var u=new RegExp("(.*)("+Object.keys(l).join("|")+")$"),o=u.exec(s);return null!==o&&(s=o[1]+l[o[2]]),null!==(o=/^(.+?)(ΑΔΕΣ|ΑΔΩΝ)$/.exec(s))&&(s=o[1],/(ΟΚ|ΜΑΜ|ΜΑΝ|ΜΠΑΜΠ|ΠΑΤΕΡ|ΓΙΑΓΙ|ΝΤΑΝΤ|ΚΥΡ|ΘΕΙ|ΠΕΘΕΡ|ΜΟΥΣΑΜ|ΚΑΠΛΑΜ|ΠΑΡ|ΨΑΡ|ΤΖΟΥΡ|ΤΑΜΠΟΥΡ|ΓΑΛΑΤ|ΦΑΦΛΑΤ)$/.test(o[1])||(s+="ΑΔ")),null!==(o=/^(.+?)(ΕΔΕΣ|ΕΔΩΝ)$/.exec(s))&&(s=o[1],/(ΟΠ|ΙΠ|ΕΜΠ|ΥΠ|ΓΗΠ|ΔΑΠ|ΚΡΑΣΠ|ΜΙΛ)$/.test(o[1])&&(s+="ΕΔ")),null!==(o=/^(.+?)(ΟΥΔΕΣ|ΟΥΔΩΝ)$/.exec(s))&&(s=o[1],/(ΑΡΚ|ΚΑΛΙΑΚ|ΠΕΤΑΛ|ΛΙΧ|ΠΛΕΞ|ΣΚ|Σ|ΦΛ|ΦΡ|ΒΕΛ|ΛΟΥΛ|ΧΝ|ΣΠ|ΤΡΑΓ|ΦΕ)$/.test(o[1])&&(s+="ΟΥΔ")),null!==(o=/^(.+?)(ΕΩΣ|ΕΩΝ|ΕΑΣ|ΕΑ)$/.exec(s))&&(s=o[1],/^(Θ|Δ|ΕΛ|ΓΑΛ|Ν|Π|ΙΔ|ΠΑΡ|ΣΤΕΡ|ΟΡΦ|ΑΝΔΡ|ΑΝΤΡ)$/.test(o[1])&&(s+="Ε")),null!==(o=/^(.+?)(ΕΙΟ|ΕΙΟΣ|ΕΙΟΙ|ΕΙΑ|ΕΙΑΣ|ΕΙΕΣ|ΕΙΟΥ|ΕΙΟΥΣ|ΕΙΩΝ)$/.exec(s))&&o[1].length>4&&(s=o[1]),null!==(o=/^(.+?)(ΙΟΥΣ|ΙΑΣ|ΙΕΣ|ΙΟΣ|ΙΟΥ|ΙΟΙ|ΙΩΝ|ΙΟΝ|ΙΑ|ΙΟ)$/.exec(s))&&(s=o[1],(t(s)||s.length<2||/^(ΑΓ|ΑΓΓΕΛ|ΑΓΡ|ΑΕΡ|ΑΘΛ|ΑΚΟΥΣ|ΑΞ|ΑΣ|Β|ΒΙΒΛ|ΒΥΤ|Γ|ΓΙΑΓ|ΓΩΝ|Δ|ΔΑΝ|ΔΗΛ|ΔΗΜ|ΔΟΚΙΜ|ΕΛ|ΖΑΧΑΡ|ΗΛ|ΗΠ|ΙΔ|ΙΣΚ|ΙΣΤ|ΙΟΝ|ΙΩΝ|ΚΙΜΩΛ|ΚΟΛΟΝ|ΚΟΡ|ΚΤΗΡ|ΚΥΡ|ΛΑΓ|ΛΟΓ|ΜΑΓ|ΜΠΑΝ|ΜΠΡ|ΝΑΥΤ|ΝΟΤ|ΟΠΑΛ|ΟΞ|ΟΡ|ΟΣ|ΠΑΝΑΓ|ΠΑΤΡ|ΠΗΛ|ΠΗΝ|ΠΛΑΙΣ|ΠΟΝΤ|ΡΑΔ|ΡΟΔ|ΣΚ|ΣΚΟΡΠ|ΣΟΥΝ|ΣΠΑΝ|ΣΤΑΔ|ΣΥΡ|ΤΗΛ|ΤΙΜ|ΤΟΚ|ΤΟΠ|ΤΡΟΧ|ΦΙΛ|ΦΩΤ|Χ|ΧΙΛ|ΧΡΩΜ|ΧΩΡ)$/.test(o[1]))&&(s+="Ι"),/^(ΠΑΛ)$/.test(o[1])&&(s+="ΑΙ")),null!==(o=/^(.+?)(ΙΚΟΣ|ΙΚΟΝ|ΙΚΕΙΣ|ΙΚΟΙ|ΙΚΕΣ|ΙΚΟΥΣ|ΙΚΗ|ΙΚΗΣ|ΙΚΟ|ΙΚΑ|ΙΚΟΥ|ΙΚΩΝ|ΙΚΩΣ)$/.exec(s))&&(s=o[1],(t(s)||/^(ΑΔ|ΑΛ|ΑΜΑΝ|ΑΜΕΡ|ΑΜΜΟΧΑΛ|ΑΝΗΘ|ΑΝΤΙΔ|ΑΠΛ|ΑΤΤ|ΑΦΡ|ΒΑΣ|ΒΡΩΜ|ΓΕΝ|ΓΕΡ|Δ|ΔΙΚΑΝ|ΔΥΤ|ΕΙΔ|ΕΝΔ|ΕΞΩΔ|ΗΘ|ΘΕΤ|ΚΑΛΛΙΝ|ΚΑΛΠ|ΚΑΤΑΔ|ΚΟΥΖΙΝ|ΚΡ|ΚΩΔ|ΛΟΓ|Μ|ΜΕΡ|ΜΟΝΑΔ|ΜΟΥΛ|ΜΟΥΣ|ΜΠΑΓΙΑΤ|ΜΠΑΝ|ΜΠΟΛ|ΜΠΟΣ|ΜΥΣΤ|Ν|ΝΙΤ|ΞΙΚ|ΟΠΤ|ΠΑΝ|ΠΕΤΣ|ΠΙΚΑΝΤ|ΠΙΤΣ|ΠΛΑΣΤ|ΠΛΙΑΤΣ|ΠΟΝΤ|ΠΟΣΤΕΛΝ|ΠΡΩΤΟΔ|ΣΕΡΤ|ΣΗΜΑΝΤ|ΣΤΑΤ|ΣΥΝΑΔ|ΣΥΝΟΜΗΛ|ΤΕΛ|ΤΕΧΝ|ΤΡΟΠ|ΤΣΑΜ|ΥΠΟΔ|Φ|ΦΙΛΟΝ|ΦΥΛΟΔ|ΦΥΣ|ΧΑΣ)$/.test(o[1])||/(ΦΟΙΝ)$/.test(o[1]))&&(s+="ΙΚ")),"ΑΓΑΜΕ"===s&&(s="ΑΓΑΜ"),null!==(o=/^(.+?)(ΑΓΑΜΕ|ΗΣΑΜΕ|ΟΥΣΑΜΕ|ΗΚΑΜΕ|ΗΘΗΚΑΜΕ)$/.exec(s))&&(s=o[1]),null!==(o=/^(.+?)(ΑΜΕ)$/.exec(s))&&(s=o[1],/^(ΑΝΑΠ|ΑΠΟΘ|ΑΠΟΚ|ΑΠΟΣΤ|ΒΟΥΒ|ΞΕΘ|ΟΥΛ|ΠΕΘ|ΠΙΚΡ|ΠΟΤ|ΣΙΧ|Χ)$/.test(o[1])&&(s+="ΑΜ")),null!==(o=/^(.+?)(ΑΓΑΝΕ|ΗΣΑΝΕ|ΟΥΣΑΝΕ|ΙΟΝΤΑΝΕ|ΙΟΤΑΝΕ|ΙΟΥΝΤΑΝΕ|ΟΝΤΑΝΕ|ΟΤΑΝΕ|ΟΥΝΤΑΝΕ|ΗΚΑΝΕ|ΗΘΗΚΑΝΕ)$/.exec(s))&&(s=o[1],/^(ΤΡ|ΤΣ)$/.test(o[1])&&(s+="ΑΓΑΝ")),null!==(o=/^(.+?)(ΑΝΕ)$/.exec(s))&&(s=o[1],(r(s)||/^(ΒΕΤΕΡ|ΒΟΥΛΚ|ΒΡΑΧΜ|Γ|ΔΡΑΔΟΥΜ|Θ|ΚΑΛΠΟΥΖ|ΚΑΣΤΕΛ|ΚΟΡΜΟΡ|ΛΑΟΠΛ|ΜΩΑΜΕΘ|Μ|ΜΟΥΣΟΥΛΜΑΝ|ΟΥΛ|Π|ΠΕΛΕΚ|ΠΛ|ΠΟΛΙΣ|ΠΟΡΤΟΛ|ΣΑΡΑΚΑΤΣ|ΣΟΥΛΤ|ΤΣΑΡΛΑΤ|ΟΡΦ|ΤΣΙΓΓ|ΤΣΟΠ|ΦΩΤΟΣΤΕΦ|Χ|ΨΥΧΟΠΛ|ΑΓ|ΟΡΦ|ΓΑΛ|ΓΕΡ|ΔΕΚ|ΔΙΠΛ|ΑΜΕΡΙΚΑΝ|ΟΥΡ|ΠΙΘ|ΠΟΥΡΙΤ|Σ|ΖΩΝΤ|ΙΚ|ΚΑΣΤ|ΚΟΠ|ΛΙΧ|ΛΟΥΘΗΡ|ΜΑΙΝΤ|ΜΕΛ|ΣΙΓ|ΣΠ|ΣΤΕΓ|ΤΡΑΓ|ΤΣΑΓ|Φ|ΕΡ|ΑΔΑΠ|ΑΘΙΓΓ|ΑΜΗΧ|ΑΝΙΚ|ΑΝΟΡΓ|ΑΠΗΓ|ΑΠΙΘ|ΑΤΣΙΓΓ|ΒΑΣ|ΒΑΣΚ|ΒΑΘΥΓΑΛ|ΒΙΟΜΗΧ|ΒΡΑΧΥΚ|ΔΙΑΤ|ΔΙΑΦ|ΕΝΟΡΓ|ΘΥΣ|ΚΑΠΝΟΒΙΟΜΗΧ|ΚΑΤΑΓΑΛ|ΚΛΙΒ|ΚΟΙΛΑΡΦ|ΛΙΒ|ΜΕΓΛΟΒΙΟΜΗΧ|ΜΙΚΡΟΒΙΟΜΗΧ|ΝΤΑΒ|ΞΗΡΟΚΛΙΒ|ΟΛΙΓΟΔΑΜ|ΟΛΟΓΑΛ|ΠΕΝΤΑΡΦ|ΠΕΡΗΦ|ΠΕΡΙΤΡ|ΠΛΑΤ|ΠΟΛΥΔΑΠ|ΠΟΛΥΜΗΧ|ΣΤΕΦ|ΤΑΒ|ΤΕΤ|ΥΠΕΡΗΦ|ΥΠΟΚΟΠ|ΧΑΜΗΛΟΔΑΠ|ΨΗΛΟΤΑΒ)$/.test(o[1]))&&(s+="ΑΝ")),null!==(o=/^(.+?)(ΗΣΕΤΕ)$/.exec(s))&&(s=o[1]),null!==(o=/^(.+?)(ΕΤΕ)$/.exec(s))&&(s=o[1],(r(s)||/(ΟΔ|ΑΙΡ|ΦΟΡ|ΤΑΘ|ΔΙΑΘ|ΣΧ|ΕΝΔ|ΕΥΡ|ΤΙΘ|ΥΠΕΡΘ|ΡΑΘ|ΕΝΘ|ΡΟΘ|ΣΘ|ΠΥΡ|ΑΙΝ|ΣΥΝΔ|ΣΥΝ|ΣΥΝΘ|ΧΩΡ|ΠΟΝ|ΒΡ|ΚΑΘ|ΕΥΘ|ΕΚΘ|ΝΕΤ|ΡΟΝ|ΑΡΚ|ΒΑΡ|ΒΟΛ|ΩΦΕΛ)$/.test(o[1])||/^(ΑΒΑΡ|ΒΕΝ|ΕΝΑΡ|ΑΒΡ|ΑΔ|ΑΘ|ΑΝ|ΑΠΛ|ΒΑΡΟΝ|ΝΤΡ|ΣΚ|ΚΟΠ|ΜΠΟΡ|ΝΙΦ|ΠΑΓ|ΠΑΡΑΚΑΛ|ΣΕΡΠ|ΣΚΕΛ|ΣΥΡΦ|ΤΟΚ|Υ|Δ|ΕΜ|ΘΑΡΡ|Θ)$/.test(o[1]))&&(s+="ΕΤ")),null!==(o=/^(.+?)(ΟΝΤΑΣ|ΩΝΤΑΣ)$/.exec(s))&&(s=o[1],/^ΑΡΧ$/.test(o[1])&&(s+="ΟΝΤ"),/ΚΡΕ$/.test(o[1])&&(s+="ΩΝΤ")),null!==(o=/^(.+?)(ΟΜΑΣΤΕ|ΙΟΜΑΣΤΕ)$/.exec(s))&&(s=o[1],/^ΟΝ$/.test(o[1])&&(s+="ΟΜΑΣΤ")),null!==(o=/^(.+?)(ΙΕΣΤΕ)$/.exec(s))&&(s=o[1],/^(Π|ΑΠ|ΣΥΜΠ|ΑΣΥΜΠ|ΑΚΑΤΑΠ|ΑΜΕΤΑΜΦ)$/.test(o[1])&&(s+="ΙΕΣΤ")),null!==(o=/^(.+?)(ΕΣΤΕ)$/.exec(s))&&(s=o[1],/^(ΑΛ|ΑΡ|ΕΚΤΕΛ|Ζ|Μ|Ξ|ΠΑΡΑΚΑΛ|ΠΡΟ|ΝΙΣ)$/.test(o[1])&&(s+="ΕΣΤ")),null!==(o=/^(.+?)(ΗΘΗΚΑ|ΗΘΗΚΕΣ|ΗΘΗΚΕ)$/.exec(s))&&(s=o[1]),null!==(o=/^(.+?)(ΗΚΑ|ΗΚΕΣ|ΗΚΕ)$/.exec(s))&&(s=o[1],(/(ΣΚΩΛ|ΣΚΟΥΛ|ΝΑΡΘ|ΣΦ|ΟΘ|ΠΙΘ)$/.test(o[1])||/^(ΔΙΑΘ|Θ|ΠΑΡΑΚΑΤΑΘ|ΠΡΟΣΘ|ΣΥΝΘ)$/.test(o[1]))&&(s+="ΗΚ")),null!==(o=/^(.+?)(ΟΥΣΑ|ΟΥΣΕΣ|ΟΥΣΕ)$/.exec(s))&&(s=o[1],(t(s)||/^(ΦΑΡΜΑΚ|ΧΑΔ|ΑΓΚ|ΑΝΑΡΡ|ΒΡΟΜ|ΕΚΛΙΠ|ΛΑΜΠΙΔ|ΛΕΧ|Μ|ΠΑΤ|Ρ|Λ|ΜΕΔ|ΜΕΣΑΖ|ΥΠΟΤΕΙΝ|ΑΜ|ΑΙΘ|ΑΝΗΚ|ΔΕΣΠΟΖ|ΕΝΔΙΑΦΕΡ)$/.test(o[1])||/(ΠΟΔΑΡ|ΒΛΕΠ|ΠΑΝΤΑΧ|ΦΡΥΔ|ΜΑΝΤΙΛ|ΜΑΛΛ|ΚΥΜΑΤ|ΛΑΧ|ΛΗΓ|ΦΑΓ|ΟΜ|ΠΡΩΤ)$/.test(o[1]))&&(s+="ΟΥΣ")),null!==(o=/^(.+?)(ΑΓΑ|ΑΓΕΣ|ΑΓΕ)$/.exec(s))&&(s=o[1],(/^(ΑΒΑΣΤ|ΠΟΛΥΦ|ΑΔΗΦ|ΠΑΜΦ|Ρ|ΑΣΠ|ΑΦ|ΑΜΑΛ|ΑΜΑΛΛΙ|ΑΝΥΣΤ|ΑΠΕΡ|ΑΣΠΑΡ|ΑΧΑΡ|ΔΕΡΒΕΝ|ΔΡΟΣΟΠ|ΞΕΦ|ΝΕΟΠ|ΝΟΜΟΤ|ΟΛΟΠ|ΟΜΟΤ|ΠΡΟΣΤ|ΠΡΟΣΩΠΟΠ|ΣΥΜΠ|ΣΥΝΤ|Τ|ΥΠΟΤ|ΧΑΡ|ΑΕΙΠ|ΑΙΜΟΣΤ|ΑΝΥΠ|ΑΠΟΤ|ΑΡΤΙΠ|ΔΙΑΤ|ΕΝ|ΕΠΙΤ|ΚΡΟΚΑΛΟΠ|ΣΙΔΗΡΟΠ|Λ|ΝΑΥ|ΟΥΛΑΜ|ΟΥΡ|Π|ΤΡ|Μ)$/.test(o[1])||/(ΟΦ|ΠΕΛ|ΧΟΡΤ|ΛΛ|ΣΦ|ΡΠ|ΦΡ|ΠΡ|ΛΟΧ|ΣΜΗΝ)$/.test(o[1])&&!/^(ΨΟΦ|ΝΑΥΛΟΧ)$/.test(o[1])||/(ΚΟΛΛ)$/.test(o[1]))&&(s+="ΑΓ")),null!==(o=/^(.+?)(ΗΣΕ|ΗΣΟΥ|ΗΣΑ)$/.exec(s))&&(s=o[1],/^(Ν|ΧΕΡΣΟΝ|ΔΩΔΕΚΑΝ|ΕΡΗΜΟΝ|ΜΕΓΑΛΟΝ|ΕΠΤΑΝ|Ι)$/.test(o[1])&&(s+="ΗΣ")),null!==(o=/^(.+?)(ΗΣΤΕ)$/.exec(s))&&(s=o[1],/^(ΑΣΒ|ΣΒ|ΑΧΡ|ΧΡ|ΑΠΛ|ΑΕΙΜΝ|ΔΥΣΧΡ|ΕΥΧΡ|ΚΟΙΝΟΧΡ|ΠΑΛΙΜΨ)$/.test(o[1])&&(s+="ΗΣΤ")),null!==(o=/^(.+?)(ΟΥΝΕ|ΗΣΟΥΝΕ|ΗΘΟΥΝΕ)$/.exec(s))&&(s=o[1],/^(Ν|Ρ|ΣΠΙ|ΣΤΡΑΒΟΜΟΥΤΣ|ΚΑΚΟΜΟΥΤΣ|ΕΞΩΝ)$/.test(o[1])&&(s+="ΟΥΝ")),null!==(o=/^(.+?)(ΟΥΜΕ|ΗΣΟΥΜΕ|ΗΘΟΥΜΕ)$/.exec(s))&&(s=o[1],/^(ΠΑΡΑΣΟΥΣ|Φ|Χ|ΩΡΙΟΠΛ|ΑΖ|ΑΛΛΟΣΟΥΣ|ΑΣΟΥΣ)$/.test(o[1])&&(s+="ΟΥΜ")),null!=(o=/^(.+?)(ΜΑΤΟΙ|ΜΑΤΟΥΣ|ΜΑΤΟ|ΜΑΤΑ|ΜΑΤΩΣ|ΜΑΤΩΝ|ΜΑΤΟΣ|ΜΑΤΕΣ|ΜΑΤΗ|ΜΑΤΗΣ|ΜΑΤΟΥ)$/.exec(s))&&(s=o[1]+"Μ",/^(ΓΡΑΜ)$/.test(o[1])?s+="Α":/^(ΓΕ|ΣΤΑ)$/.test(o[1])&&(s+="ΑΤ")),null!==(o=/^(.+?)(ΟΥΑ)$/.exec(s))&&(s=o[1]+"ΟΥ"),n.length===s.length&&null!==(o=/^(.+?)(Α|ΑΓΑΤΕ|ΑΓΑΝ|ΑΕΙ|ΑΜΑΙ|ΑΝ|ΑΣ|ΑΣΑΙ|ΑΤΑΙ|ΑΩ|Ε|ΕΙ|ΕΙΣ|ΕΙΤΕ|ΕΣΑΙ|ΕΣ|ΕΤΑΙ|Ι|ΙΕΜΑΙ|ΙΕΜΑΣΤΕ|ΙΕΤΑΙ|ΙΕΣΑΙ|ΙΕΣΑΣΤΕ|ΙΟΜΑΣΤΑΝ|ΙΟΜΟΥΝ|ΙΟΜΟΥΝΑ|ΙΟΝΤΑΝ|ΙΟΝΤΟΥΣΑΝ|ΙΟΣΑΣΤΑΝ|ΙΟΣΑΣΤΕ|ΙΟΣΟΥΝ|ΙΟΣΟΥΝΑ|ΙΟΤΑΝ|ΙΟΥΜΑ|ΙΟΥΜΑΣΤΕ|ΙΟΥΝΤΑΙ|ΙΟΥΝΤΑΝ|Η|ΗΔΕΣ|ΗΔΩΝ|ΗΘΕΙ|ΗΘΕΙΣ|ΗΘΕΙΤΕ|ΗΘΗΚΑΤΕ|ΗΘΗΚΑΝ|ΗΘΟΥΝ|ΗΘΩ|ΗΚΑΤΕ|ΗΚΑΝ|ΗΣ|ΗΣΑΝ|ΗΣΑΤΕ|ΗΣΕΙ|ΗΣΕΣ|ΗΣΟΥΝ|ΗΣΩ|Ο|ΟΙ|ΟΜΑΙ|ΟΜΑΣΤΑΝ|ΟΜΟΥΝ|ΟΜΟΥΝΑ|ΟΝΤΑΙ|ΟΝΤΑΝ|ΟΝΤΟΥΣΑΝ|ΟΣ|ΟΣΑΣΤΑΝ|ΟΣΑΣΤΕ|ΟΣΟΥΝ|ΟΣΟΥΝΑ|ΟΤΑΝ|ΟΥ|ΟΥΜΑΙ|ΟΥΜΑΣΤΕ|ΟΥΝ|ΟΥΝΤΑΙ|ΟΥΝΤΑΝ|ΟΥΣ|ΟΥΣΑΝ|ΟΥΣΑΤΕ|Υ||ΥΑ|ΥΣ|Ω|ΩΝ|ΟΙΣ)$/.exec(s))&&(s=o[1]),null!=(o=/^(.+?)(ΕΣΤΕΡ|ΕΣΤΑΤ|ΟΤΕΡ|ΟΤΑΤ|ΥΤΕΡ|ΥΤΑΤ|ΩΤΕΡ|ΩΤΑΤ)$/.exec(s))&&(/^(ΕΞ|ΕΣ|ΑΝ|ΚΑΤ|Κ|ΠΡ)$/.test(o[1])||(s=o[1]),/^(ΚΑ|Μ|ΕΛΕ|ΛΕ|ΔΕ)$/.test(o[1])&&(s+="ΥΤ")),s}var l={"ΦΑΓΙΑ":"ΦΑ","ΦΑΓΙΟΥ":"ΦΑ","ΦΑΓΙΩΝ":"ΦΑ","ΣΚΑΓΙΑ":"ΣΚΑ","ΣΚΑΓΙΟΥ":"ΣΚΑ","ΣΚΑΓΙΩΝ":"ΣΚΑ","ΣΟΓΙΟΥ":"ΣΟ","ΣΟΓΙΑ":"ΣΟ","ΣΟΓΙΩΝ":"ΣΟ","ΤΑΤΟΓΙΑ":"ΤΑΤΟ","ΤΑΤΟΓΙΟΥ":"ΤΑΤΟ","ΤΑΤΟΓΙΩΝ":"ΤΑΤΟ","ΚΡΕΑΣ":"ΚΡΕ","ΚΡΕΑΤΟΣ":"ΚΡΕ","ΚΡΕΑΤΑ":"ΚΡΕ","ΚΡΕΑΤΩΝ":"ΚΡΕ","ΠΕΡΑΣ":"ΠΕΡ","ΠΕΡΑΤΟΣ":"ΠΕΡ","ΠΕΡΑΤΑ":"ΠΕΡ","ΠΕΡΑΤΩΝ":"ΠΕΡ","ΤΕΡΑΣ":"ΤΕΡ","ΤΕΡΑΤΟΣ":"ΤΕΡ","ΤΕΡΑΤΑ":"ΤΕΡ","ΤΕΡΑΤΩΝ":"ΤΕΡ","ΦΩΣ":"ΦΩ","ΦΩΤΟΣ":"ΦΩ","ΦΩΤΑ":"ΦΩ","ΦΩΤΩΝ":"ΦΩ","ΚΑΘΕΣΤΩΣ":"ΚΑΘΕΣΤ","ΚΑΘΕΣΤΩΤΟΣ":"ΚΑΘΕΣΤ","ΚΑΘΕΣΤΩΤΑ":"ΚΑΘΕΣΤ","ΚΑΘΕΣΤΩΤΩΝ":"ΚΑΘΕΣΤ","ΓΕΓΟΝΟΣ":"ΓΕΓΟΝ","ΓΕΓΟΝΟΤΟΣ":"ΓΕΓΟΝ","ΓΕΓΟΝΟΤΑ":"ΓΕΓΟΝ","ΓΕΓΟΝΟΤΩΝ":"ΓΕΓΟΝ","ΕΥΑ":"ΕΥ"},i=["ΑΚΡΙΒΩΣ","ΑΛΑ","ΑΛΛΑ","ΑΛΛΙΩΣ","ΑΛΛΟΤΕ","ΑΜΑ","ΑΝΩ","ΑΝΑ","ΑΝΑΜΕΣΑ","ΑΝΑΜΕΤΑΞΥ","ΑΝΕΥ","ΑΝΤΙ","ΑΝΤΙΠΕΡΑ","ΑΝΤΙΟ","ΑΞΑΦΝΑ","ΑΠΟ","ΑΠΟΨΕ","ΑΡΑ","ΑΡΑΓΕ","ΑΥΡΙΟ","ΑΦΟΙ","ΑΦΟΥ","ΑΦΟΤΟΥ","ΒΡΕ","ΓΕΙΑ","ΓΙΑ","ΓΙΑΤΙ","ΓΡΑΜΜΑ","ΔΕΗ","ΔΕΝ","ΔΗΛΑΔΗ","ΔΙΧΩΣ","ΔΥΟ","ΕΑΝ","ΕΓΩ","ΕΔΩ","ΕΔΑ","ΕΙΘΕ","ΕΙΜΑΙ","ΕΙΜΑΣΤΕ","ΕΙΣΑΙ","ΕΙΣΑΣΤΕ","ΕΙΝΑΙ","ΕΙΣΤΕ","ΕΙΤΕ","ΕΚΕΙ","ΕΚΟ","ΕΛΑ","ΕΜΑΣ","ΕΜΕΙΣ","ΕΝΤΕΛΩΣ","ΕΝΤΟΣ","ΕΝΤΩΜΕΤΑΞΥ","ΕΝΩ","ΕΞΙ","ΕΞΙΣΟΥ","ΕΞΗΣ","ΕΞΩ","ΕΟΚ","ΕΠΑΝΩ","ΕΠΕΙΔΗ","ΕΠΕΙΤΑ","ΕΠΙ","ΕΠΙΣΗΣ","ΕΠΟΜΕΝΩΣ","ΕΠΤΑ","ΕΣΑΣ","ΕΣΕΙΣ","ΕΣΤΩ","ΕΣΥ","ΕΣΩ","ΕΤΣΙ","ΕΥΓΕ","ΕΦΕ","ΕΦΕΞΗΣ","ΕΧΤΕΣ","ΕΩΣ","ΗΔΗ","ΗΜΙ","ΗΠΑ","ΗΤΟΙ","ΘΕΣ","ΙΔΙΩΣ","ΙΔΗ","ΙΚΑ","ΙΣΩΣ","ΚΑΘΕ","ΚΑΘΕΤΙ","ΚΑΘΟΛΟΥ","ΚΑΘΩΣ","ΚΑΙ","ΚΑΝ","ΚΑΠΟΤΕ","ΚΑΠΟΥ","ΚΑΤΑ","ΚΑΤΙ","ΚΑΤΟΠΙΝ","ΚΑΤΩ","ΚΕΙ","ΚΙΧ","ΚΚΕ","ΚΟΛΑΝ","ΚΥΡΙΩΣ","ΚΩΣ","ΜΑΚΑΡΙ","ΜΑΛΙΣΤΑ","ΜΑΛΛΟΝ","ΜΑΙ","ΜΑΟ","ΜΑΟΥΣ","ΜΑΣ","ΜΕΘΑΥΡΙΟ","ΜΕΣ","ΜΕΣΑ","ΜΕΤΑ","ΜΕΤΑΞΥ","ΜΕΧΡΙ","ΜΗΔΕ","ΜΗΝ","ΜΗΠΩΣ","ΜΗΤΕ","ΜΙΑ","ΜΙΑΣ","ΜΙΣ","ΜΜΕ","ΜΟΛΟΝΟΤΙ","ΜΟΥ","ΜΠΑ","ΜΠΑΣ","ΜΠΟΥΦΑΝ","ΜΠΡΟΣ","ΝΑΙ","ΝΕΣ","ΝΤΑ","ΝΤΕ","ΞΑΝΑ","ΟΗΕ","ΟΚΤΩ","ΟΜΩΣ","ΟΝΕ","ΟΠΑ","ΟΠΟΥ","ΟΠΩΣ","ΟΣΟ","ΟΤΑΝ","ΟΤΕ","ΟΤΙ","ΟΥΤΕ","ΟΧΙ","ΠΑΛΙ","ΠΑΝ","ΠΑΝΟ","ΠΑΝΤΟΤΕ","ΠΑΝΤΟΥ","ΠΑΝΤΩΣ","ΠΑΝΩ","ΠΑΡΑ","ΠΕΡΑ","ΠΕΡΙ","ΠΕΡΙΠΟΥ","ΠΙΑ","ΠΙΟ","ΠΙΣΩ","ΠΛΑΙ","ΠΛΕΟΝ","ΠΛΗΝ","ΠΟΤΕ","ΠΟΥ","ΠΡΟ","ΠΡΟΣ","ΠΡΟΧΤΕΣ","ΠΡΟΧΘΕΣ","ΡΟΔΙ","ΠΩΣ","ΣΑΙ","ΣΑΣ","ΣΑΝ","ΣΕΙΣ","ΣΙΑ","ΣΚΙ","ΣΟΙ","ΣΟΥ","ΣΡΙ","ΣΥΝ","ΣΥΝΑΜΑ","ΣΧΕΔΟΝ","ΤΑΔΕ","ΤΑΞΙ","ΤΑΧΑ","ΤΕΙ","ΤΗΝ","ΤΗΣ","ΤΙΠΟΤΑ","ΤΙΠΟΤΕ","ΤΙΣ","ΤΟΝ","ΤΟΤΕ","ΤΟΥ","ΤΟΥΣ","ΤΣΑ","ΤΣΕ","ΤΣΙ","ΤΣΟΥ","ΤΩΝ","ΥΠΟ","ΥΠΟΨΗ","ΥΠΟΨΙΝ","ΥΣΤΕΡΑ","ΦΕΤΟΣ","ΦΙΣ","ΦΠΑ","ΧΑΦ","ΧΘΕΣ","ΧΤΕΣ","ΧΩΡΙΣ","ΩΣ","ΩΣΑΝ","ΩΣΟΤΟΥ","ΩΣΠΟΥ","ΩΣΤΕ","ΩΣΤΟΣΟ"],s=new RegExp("^[ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ]+$");return function(e){return"function"==typeof e.update?e.update(function(e){return n(e.toUpperCase()).toLowerCase()}):n(e.toUpperCase()).toLowerCase()}}(),e.Pipeline.registerFunction(e.el.stemmer,"stemmer-el"),e.el.stopWordFilter=e.generateStopWordFilter("αλλα αν αντι απο αυτα αυτεσ αυτη αυτο αυτοι αυτοσ αυτουσ αυτων για δε δεν εαν ειμαι ειμαστε ειναι εισαι ειστε εκεινα εκεινεσ εκεινη εκεινο εκεινοι εκεινοσ εκεινουσ εκεινων ενω επι η θα ισωσ κ και κατα κι μα με μετα μη μην να ο οι ομωσ οπωσ οσο οτι παρα ποια ποιεσ ποιο ποιοι ποιοσ ποιουσ ποιων που προσ πωσ σε στη στην στο στον τα την τησ το τον τοτε του των ωσ".split(" ")),e.Pipeline.registerFunction(e.el.stopWordFilter,"stopWordFilter-el"),e.el.normilizer=function(){var e={"Ά":"Α","ά":"α","Έ":"Ε","έ":"ε","Ή":"Η","ή":"η","Ί":"Ι","ί":"ι","Ό":"Ο","ο":"ο","Ύ":"Υ","ύ":"υ","Ώ":"Ω","ώ":"ω","Ϊ":"Ι","ϊ":"ι","Ϋ":"Υ","ϋ":"υ","ΐ":"ι","ΰ":"υ"};return function(t){if("function"==typeof t.update)return t.update(function(t){for(var r="",n=0;n=A.limit)return!0;A.cursor++}return!1}return!0}function n(){if(A.in_grouping(x,97,252)){var s=A.cursor;if(e()){if(A.cursor=s,!A.in_grouping(x,97,252))return!0;for(;!A.out_grouping(x,97,252);){if(A.cursor>=A.limit)return!0;A.cursor++}}return!1}return!0}function i(){var s,r=A.cursor;if(n()){if(A.cursor=r,!A.out_grouping(x,97,252))return;if(s=A.cursor,e()){if(A.cursor=s,!A.in_grouping(x,97,252)||A.cursor>=A.limit)return;A.cursor++}}g=A.cursor}function a(){for(;!A.in_grouping(x,97,252);){if(A.cursor>=A.limit)return!1;A.cursor++}for(;!A.out_grouping(x,97,252);){if(A.cursor>=A.limit)return!1;A.cursor++}return!0}function t(){var e=A.cursor;g=A.limit,p=g,v=g,i(),A.cursor=e,a()&&(p=A.cursor,a()&&(v=A.cursor))}function o(){for(var e;;){if(A.bra=A.cursor,e=A.find_among(k,6))switch(A.ket=A.cursor,e){case 1:A.slice_from("a");continue;case 2:A.slice_from("e");continue;case 3:A.slice_from("i");continue;case 4:A.slice_from("o");continue;case 5:A.slice_from("u");continue;case 6:if(A.cursor>=A.limit)break;A.cursor++;continue}break}}function u(){return g<=A.cursor}function w(){return p<=A.cursor}function c(){return v<=A.cursor}function m(){var e;if(A.ket=A.cursor,A.find_among_b(y,13)&&(A.bra=A.cursor,(e=A.find_among_b(q,11))&&u()))switch(e){case 1:A.bra=A.cursor,A.slice_from("iendo");break;case 2:A.bra=A.cursor,A.slice_from("ando");break;case 3:A.bra=A.cursor,A.slice_from("ar");break;case 4:A.bra=A.cursor,A.slice_from("er");break;case 5:A.bra=A.cursor,A.slice_from("ir");break;case 6:A.slice_del();break;case 7:A.eq_s_b(1,"u")&&A.slice_del()}}function l(e,s){if(!c())return!0;A.slice_del(),A.ket=A.cursor;var r=A.find_among_b(e,s);return r&&(A.bra=A.cursor,1==r&&c()&&A.slice_del()),!1}function d(e){return!c()||(A.slice_del(),A.ket=A.cursor,A.eq_s_b(2,e)&&(A.bra=A.cursor,c()&&A.slice_del()),!1)}function b(){var e;if(A.ket=A.cursor,e=A.find_among_b(S,46)){switch(A.bra=A.cursor,e){case 1:if(!c())return!1;A.slice_del();break;case 2:if(d("ic"))return!1;break;case 3:if(!c())return!1;A.slice_from("log");break;case 4:if(!c())return!1;A.slice_from("u");break;case 5:if(!c())return!1;A.slice_from("ente");break;case 6:if(!w())return!1;A.slice_del(),A.ket=A.cursor,e=A.find_among_b(C,4),e&&(A.bra=A.cursor,c()&&(A.slice_del(),1==e&&(A.ket=A.cursor,A.eq_s_b(2,"at")&&(A.bra=A.cursor,c()&&A.slice_del()))));break;case 7:if(l(P,3))return!1;break;case 8:if(l(F,3))return!1;break;case 9:if(d("at"))return!1}return!0}return!1}function f(){var e,s;if(A.cursor>=g&&(s=A.limit_backward,A.limit_backward=g,A.ket=A.cursor,e=A.find_among_b(W,12),A.limit_backward=s,e)){if(A.bra=A.cursor,1==e){if(!A.eq_s_b(1,"u"))return!1;A.slice_del()}return!0}return!1}function _(){var e,s,r,n;if(A.cursor>=g&&(s=A.limit_backward,A.limit_backward=g,A.ket=A.cursor,e=A.find_among_b(L,96),A.limit_backward=s,e))switch(A.bra=A.cursor,e){case 1:r=A.limit-A.cursor,A.eq_s_b(1,"u")?(n=A.limit-A.cursor,A.eq_s_b(1,"g")?A.cursor=A.limit-n:A.cursor=A.limit-r):A.cursor=A.limit-r,A.bra=A.cursor;case 2:A.slice_del()}}function h(){var e,s;if(A.ket=A.cursor,e=A.find_among_b(z,8))switch(A.bra=A.cursor,e){case 1:u()&&A.slice_del();break;case 2:u()&&(A.slice_del(),A.ket=A.cursor,A.eq_s_b(1,"u")&&(A.bra=A.cursor,s=A.limit-A.cursor,A.eq_s_b(1,"g")&&(A.cursor=A.limit-s,u()&&A.slice_del())))}}var v,p,g,k=[new s("",-1,6),new s("á",0,1),new s("é",0,2),new s("í",0,3),new s("ó",0,4),new s("ú",0,5)],y=[new s("la",-1,-1),new s("sela",0,-1),new s("le",-1,-1),new s("me",-1,-1),new s("se",-1,-1),new s("lo",-1,-1),new s("selo",5,-1),new s("las",-1,-1),new s("selas",7,-1),new s("les",-1,-1),new s("los",-1,-1),new s("selos",10,-1),new s("nos",-1,-1)],q=[new s("ando",-1,6),new s("iendo",-1,6),new s("yendo",-1,7),new s("ándo",-1,2),new s("iéndo",-1,1),new s("ar",-1,6),new s("er",-1,6),new s("ir",-1,6),new s("ár",-1,3),new s("ér",-1,4),new s("ír",-1,5)],C=[new s("ic",-1,-1),new s("ad",-1,-1),new s("os",-1,-1),new s("iv",-1,1)],P=[new s("able",-1,1),new s("ible",-1,1),new s("ante",-1,1)],F=[new s("ic",-1,1),new s("abil",-1,1),new s("iv",-1,1)],S=[new s("ica",-1,1),new s("ancia",-1,2),new s("encia",-1,5),new s("adora",-1,2),new s("osa",-1,1),new s("ista",-1,1),new s("iva",-1,9),new s("anza",-1,1),new s("logía",-1,3),new s("idad",-1,8),new s("able",-1,1),new s("ible",-1,1),new s("ante",-1,2),new s("mente",-1,7),new s("amente",13,6),new s("ación",-1,2),new s("ución",-1,4),new s("ico",-1,1),new s("ismo",-1,1),new s("oso",-1,1),new s("amiento",-1,1),new s("imiento",-1,1),new s("ivo",-1,9),new s("ador",-1,2),new s("icas",-1,1),new s("ancias",-1,2),new s("encias",-1,5),new s("adoras",-1,2),new s("osas",-1,1),new s("istas",-1,1),new s("ivas",-1,9),new s("anzas",-1,1),new s("logías",-1,3),new s("idades",-1,8),new s("ables",-1,1),new s("ibles",-1,1),new s("aciones",-1,2),new s("uciones",-1,4),new s("adores",-1,2),new s("antes",-1,2),new s("icos",-1,1),new s("ismos",-1,1),new s("osos",-1,1),new s("amientos",-1,1),new s("imientos",-1,1),new s("ivos",-1,9)],W=[new s("ya",-1,1),new s("ye",-1,1),new s("yan",-1,1),new s("yen",-1,1),new s("yeron",-1,1),new s("yendo",-1,1),new s("yo",-1,1),new s("yas",-1,1),new s("yes",-1,1),new s("yais",-1,1),new s("yamos",-1,1),new s("yó",-1,1)],L=[new s("aba",-1,2),new s("ada",-1,2),new s("ida",-1,2),new s("ara",-1,2),new s("iera",-1,2),new s("ía",-1,2),new s("aría",5,2),new s("ería",5,2),new s("iría",5,2),new s("ad",-1,2),new s("ed",-1,2),new s("id",-1,2),new s("ase",-1,2),new s("iese",-1,2),new s("aste",-1,2),new s("iste",-1,2),new s("an",-1,2),new s("aban",16,2),new s("aran",16,2),new s("ieran",16,2),new s("ían",16,2),new s("arían",20,2),new s("erían",20,2),new s("irían",20,2),new s("en",-1,1),new s("asen",24,2),new s("iesen",24,2),new s("aron",-1,2),new s("ieron",-1,2),new s("arán",-1,2),new s("erán",-1,2),new s("irán",-1,2),new s("ado",-1,2),new s("ido",-1,2),new s("ando",-1,2),new s("iendo",-1,2),new s("ar",-1,2),new s("er",-1,2),new s("ir",-1,2),new s("as",-1,2),new s("abas",39,2),new s("adas",39,2),new s("idas",39,2),new s("aras",39,2),new s("ieras",39,2),new s("ías",39,2),new s("arías",45,2),new s("erías",45,2),new s("irías",45,2),new s("es",-1,1),new s("ases",49,2),new s("ieses",49,2),new s("abais",-1,2),new s("arais",-1,2),new s("ierais",-1,2),new s("íais",-1,2),new s("aríais",55,2),new s("eríais",55,2),new s("iríais",55,2),new s("aseis",-1,2),new s("ieseis",-1,2),new s("asteis",-1,2),new s("isteis",-1,2),new s("áis",-1,2),new s("éis",-1,1),new s("aréis",64,2),new s("eréis",64,2),new s("iréis",64,2),new s("ados",-1,2),new s("idos",-1,2),new s("amos",-1,2),new s("ábamos",70,2),new s("áramos",70,2),new s("iéramos",70,2),new s("íamos",70,2),new s("aríamos",74,2),new s("eríamos",74,2),new s("iríamos",74,2),new s("emos",-1,1),new s("aremos",78,2),new s("eremos",78,2),new s("iremos",78,2),new s("ásemos",78,2),new s("iésemos",78,2),new s("imos",-1,2),new s("arás",-1,2),new s("erás",-1,2),new s("irás",-1,2),new s("ís",-1,2),new s("ará",-1,2),new s("erá",-1,2),new s("irá",-1,2),new s("aré",-1,2),new s("eré",-1,2),new s("iré",-1,2),new s("ió",-1,2)],z=[new s("a",-1,1),new s("e",-1,2),new s("o",-1,1),new s("os",-1,1),new s("á",-1,1),new s("é",-1,2),new s("í",-1,1),new s("ó",-1,1)],x=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,4,10],A=new r;this.setCurrent=function(e){A.setCurrent(e)},this.getCurrent=function(){return A.getCurrent()},this.stem=function(){var e=A.cursor;return t(),A.limit_backward=e,A.cursor=A.limit,m(),A.cursor=A.limit,b()||(A.cursor=A.limit,f()||(A.cursor=A.limit,_())),A.cursor=A.limit,h(),A.cursor=A.limit_backward,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.es.stemmer,"stemmer-es"),e.es.stopWordFilter=e.generateStopWordFilter("a al algo algunas algunos ante antes como con contra cual cuando de del desde donde durante e el ella ellas ellos en entre era erais eran eras eres es esa esas ese eso esos esta estaba estabais estaban estabas estad estada estadas estado estados estamos estando estar estaremos estará estarán estarás estaré estaréis estaría estaríais estaríamos estarían estarías estas este estemos esto estos estoy estuve estuviera estuvierais estuvieran estuvieras estuvieron estuviese estuvieseis estuviesen estuvieses estuvimos estuviste estuvisteis estuviéramos estuviésemos estuvo está estábamos estáis están estás esté estéis estén estés fue fuera fuerais fueran fueras fueron fuese fueseis fuesen fueses fui fuimos fuiste fuisteis fuéramos fuésemos ha habida habidas habido habidos habiendo habremos habrá habrán habrás habré habréis habría habríais habríamos habrían habrías habéis había habíais habíamos habían habías han has hasta hay haya hayamos hayan hayas hayáis he hemos hube hubiera hubierais hubieran hubieras hubieron hubiese hubieseis hubiesen hubieses hubimos hubiste hubisteis hubiéramos hubiésemos hubo la las le les lo los me mi mis mucho muchos muy más mí mía mías mío míos nada ni no nos nosotras nosotros nuestra nuestras nuestro nuestros o os otra otras otro otros para pero poco por porque que quien quienes qué se sea seamos sean seas seremos será serán serás seré seréis sería seríais seríamos serían serías seáis sido siendo sin sobre sois somos son soy su sus suya suyas suyo suyos sí también tanto te tendremos tendrá tendrán tendrás tendré tendréis tendría tendríais tendríamos tendrían tendrías tened tenemos tenga tengamos tengan tengas tengo tengáis tenida tenidas tenido tenidos teniendo tenéis tenía teníais teníamos tenían tenías ti tiene tienen tienes todo todos tu tus tuve tuviera tuvierais tuvieran tuvieras tuvieron tuviese tuvieseis tuviesen tuvieses tuvimos tuviste tuvisteis tuviéramos tuviésemos tuvo tuya tuyas tuyo tuyos tú un una uno unos vosotras vosotros vuestra vuestras vuestro vuestros y ya yo él éramos".split(" ")),e.Pipeline.registerFunction(e.es.stopWordFilter,"stopWordFilter-es")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.fi.min.js b/assets/javascripts/lunr/min/lunr.fi.min.js new file mode 100644 index 00000000..29f5dfce --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.fi.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Finnish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(i,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():e()(i.lunr)}(this,function(){return function(i){if(void 0===i)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===i.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");i.fi=function(){this.pipeline.reset(),this.pipeline.add(i.fi.trimmer,i.fi.stopWordFilter,i.fi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(i.fi.stemmer))},i.fi.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",i.fi.trimmer=i.trimmerSupport.generateTrimmer(i.fi.wordCharacters),i.Pipeline.registerFunction(i.fi.trimmer,"trimmer-fi"),i.fi.stemmer=function(){var e=i.stemmerSupport.Among,r=i.stemmerSupport.SnowballProgram,n=new function(){function i(){f=A.limit,d=f,n()||(f=A.cursor,n()||(d=A.cursor))}function n(){for(var i;;){if(i=A.cursor,A.in_grouping(W,97,246))break;if(A.cursor=i,i>=A.limit)return!0;A.cursor++}for(A.cursor=i;!A.out_grouping(W,97,246);){if(A.cursor>=A.limit)return!0;A.cursor++}return!1}function t(){return d<=A.cursor}function s(){var i,e;if(A.cursor>=f)if(e=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,i=A.find_among_b(h,10)){switch(A.bra=A.cursor,A.limit_backward=e,i){case 1:if(!A.in_grouping_b(x,97,246))return;break;case 2:if(!t())return}A.slice_del()}else A.limit_backward=e}function o(){var i,e,r;if(A.cursor>=f)if(e=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,i=A.find_among_b(v,9))switch(A.bra=A.cursor,A.limit_backward=e,i){case 1:r=A.limit-A.cursor,A.eq_s_b(1,"k")||(A.cursor=A.limit-r,A.slice_del());break;case 2:A.slice_del(),A.ket=A.cursor,A.eq_s_b(3,"kse")&&(A.bra=A.cursor,A.slice_from("ksi"));break;case 3:A.slice_del();break;case 4:A.find_among_b(p,6)&&A.slice_del();break;case 5:A.find_among_b(g,6)&&A.slice_del();break;case 6:A.find_among_b(j,2)&&A.slice_del()}else A.limit_backward=e}function l(){return A.find_among_b(q,7)}function a(){return A.eq_s_b(1,"i")&&A.in_grouping_b(L,97,246)}function u(){var i,e,r;if(A.cursor>=f)if(e=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,i=A.find_among_b(C,30)){switch(A.bra=A.cursor,A.limit_backward=e,i){case 1:if(!A.eq_s_b(1,"a"))return;break;case 2:case 9:if(!A.eq_s_b(1,"e"))return;break;case 3:if(!A.eq_s_b(1,"i"))return;break;case 4:if(!A.eq_s_b(1,"o"))return;break;case 5:if(!A.eq_s_b(1,"ä"))return;break;case 6:if(!A.eq_s_b(1,"ö"))return;break;case 7:if(r=A.limit-A.cursor,!l()&&(A.cursor=A.limit-r,!A.eq_s_b(2,"ie"))){A.cursor=A.limit-r;break}if(A.cursor=A.limit-r,A.cursor<=A.limit_backward){A.cursor=A.limit-r;break}A.cursor--,A.bra=A.cursor;break;case 8:if(!A.in_grouping_b(W,97,246)||!A.out_grouping_b(W,97,246))return}A.slice_del(),k=!0}else A.limit_backward=e}function c(){var i,e,r;if(A.cursor>=d)if(e=A.limit_backward,A.limit_backward=d,A.ket=A.cursor,i=A.find_among_b(P,14)){if(A.bra=A.cursor,A.limit_backward=e,1==i){if(r=A.limit-A.cursor,A.eq_s_b(2,"po"))return;A.cursor=A.limit-r}A.slice_del()}else A.limit_backward=e}function m(){var i;A.cursor>=f&&(i=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,A.find_among_b(F,2)?(A.bra=A.cursor,A.limit_backward=i,A.slice_del()):A.limit_backward=i)}function w(){var i,e,r,n,t,s;if(A.cursor>=f){if(e=A.limit_backward,A.limit_backward=f,A.ket=A.cursor,A.eq_s_b(1,"t")&&(A.bra=A.cursor,r=A.limit-A.cursor,A.in_grouping_b(W,97,246)&&(A.cursor=A.limit-r,A.slice_del(),A.limit_backward=e,n=A.limit-A.cursor,A.cursor>=d&&(A.cursor=d,t=A.limit_backward,A.limit_backward=A.cursor,A.cursor=A.limit-n,A.ket=A.cursor,i=A.find_among_b(S,2))))){if(A.bra=A.cursor,A.limit_backward=t,1==i){if(s=A.limit-A.cursor,A.eq_s_b(2,"po"))return;A.cursor=A.limit-s}return void A.slice_del()}A.limit_backward=e}}function _(){var i,e,r,n;if(A.cursor>=f){for(i=A.limit_backward,A.limit_backward=f,e=A.limit-A.cursor,l()&&(A.cursor=A.limit-e,A.ket=A.cursor,A.cursor>A.limit_backward&&(A.cursor--,A.bra=A.cursor,A.slice_del())),A.cursor=A.limit-e,A.ket=A.cursor,A.in_grouping_b(y,97,228)&&(A.bra=A.cursor,A.out_grouping_b(W,97,246)&&A.slice_del()),A.cursor=A.limit-e,A.ket=A.cursor,A.eq_s_b(1,"j")&&(A.bra=A.cursor,r=A.limit-A.cursor,A.eq_s_b(1,"o")?A.slice_del():(A.cursor=A.limit-r,A.eq_s_b(1,"u")&&A.slice_del())),A.cursor=A.limit-e,A.ket=A.cursor,A.eq_s_b(1,"o")&&(A.bra=A.cursor,A.eq_s_b(1,"j")&&A.slice_del()),A.cursor=A.limit-e,A.limit_backward=i;;){if(n=A.limit-A.cursor,A.out_grouping_b(W,97,246)){A.cursor=A.limit-n;break}if(A.cursor=A.limit-n,A.cursor<=A.limit_backward)return;A.cursor--}A.ket=A.cursor,A.cursor>A.limit_backward&&(A.cursor--,A.bra=A.cursor,b=A.slice_to(),A.eq_v_b(b)&&A.slice_del())}}var k,b,d,f,h=[new e("pa",-1,1),new e("sti",-1,2),new e("kaan",-1,1),new e("han",-1,1),new e("kin",-1,1),new e("hän",-1,1),new e("kään",-1,1),new e("ko",-1,1),new e("pä",-1,1),new e("kö",-1,1)],p=[new e("lla",-1,-1),new e("na",-1,-1),new e("ssa",-1,-1),new e("ta",-1,-1),new e("lta",3,-1),new e("sta",3,-1)],g=[new e("llä",-1,-1),new e("nä",-1,-1),new e("ssä",-1,-1),new e("tä",-1,-1),new e("ltä",3,-1),new e("stä",3,-1)],j=[new e("lle",-1,-1),new e("ine",-1,-1)],v=[new e("nsa",-1,3),new e("mme",-1,3),new e("nne",-1,3),new e("ni",-1,2),new e("si",-1,1),new e("an",-1,4),new e("en",-1,6),new e("än",-1,5),new e("nsä",-1,3)],q=[new e("aa",-1,-1),new e("ee",-1,-1),new e("ii",-1,-1),new e("oo",-1,-1),new e("uu",-1,-1),new e("ää",-1,-1),new e("öö",-1,-1)],C=[new e("a",-1,8),new e("lla",0,-1),new e("na",0,-1),new e("ssa",0,-1),new e("ta",0,-1),new e("lta",4,-1),new e("sta",4,-1),new e("tta",4,9),new e("lle",-1,-1),new e("ine",-1,-1),new e("ksi",-1,-1),new e("n",-1,7),new e("han",11,1),new e("den",11,-1,a),new e("seen",11,-1,l),new e("hen",11,2),new e("tten",11,-1,a),new e("hin",11,3),new e("siin",11,-1,a),new e("hon",11,4),new e("hän",11,5),new e("hön",11,6),new e("ä",-1,8),new e("llä",22,-1),new e("nä",22,-1),new e("ssä",22,-1),new e("tä",22,-1),new e("ltä",26,-1),new e("stä",26,-1),new e("ttä",26,9)],P=[new e("eja",-1,-1),new e("mma",-1,1),new e("imma",1,-1),new e("mpa",-1,1),new e("impa",3,-1),new e("mmi",-1,1),new e("immi",5,-1),new e("mpi",-1,1),new e("impi",7,-1),new e("ejä",-1,-1),new e("mmä",-1,1),new e("immä",10,-1),new e("mpä",-1,1),new e("impä",12,-1)],F=[new e("i",-1,-1),new e("j",-1,-1)],S=[new e("mma",-1,1),new e("imma",0,-1)],y=[17,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8],W=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],L=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],x=[17,97,24,1,0,0,0,0,0,0,0,0,0,0,0,0,8,0,32],A=new r;this.setCurrent=function(i){A.setCurrent(i)},this.getCurrent=function(){return A.getCurrent()},this.stem=function(){var e=A.cursor;return i(),k=!1,A.limit_backward=e,A.cursor=A.limit,s(),A.cursor=A.limit,o(),A.cursor=A.limit,u(),A.cursor=A.limit,c(),A.cursor=A.limit,k?(m(),A.cursor=A.limit):(A.cursor=A.limit,w(),A.cursor=A.limit),_(),!0}};return function(i){return"function"==typeof i.update?i.update(function(i){return n.setCurrent(i),n.stem(),n.getCurrent()}):(n.setCurrent(i),n.stem(),n.getCurrent())}}(),i.Pipeline.registerFunction(i.fi.stemmer,"stemmer-fi"),i.fi.stopWordFilter=i.generateStopWordFilter("ei eivät emme en et ette että he heidän heidät heihin heille heillä heiltä heissä heistä heitä hän häneen hänelle hänellä häneltä hänen hänessä hänestä hänet häntä itse ja johon joiden joihin joiksi joilla joille joilta joina joissa joista joita joka joksi jolla jolle jolta jona jonka jos jossa josta jota jotka kanssa keiden keihin keiksi keille keillä keiltä keinä keissä keistä keitä keneen keneksi kenelle kenellä keneltä kenen kenenä kenessä kenestä kenet ketkä ketkä ketä koska kuin kuka kun me meidän meidät meihin meille meillä meiltä meissä meistä meitä mihin miksi mikä mille millä miltä minkä minkä minua minulla minulle minulta minun minussa minusta minut minuun minä minä missä mistä mitkä mitä mukaan mutta ne niiden niihin niiksi niille niillä niiltä niin niin niinä niissä niistä niitä noiden noihin noiksi noilla noille noilta noin noina noissa noista noita nuo nyt näiden näihin näiksi näille näillä näiltä näinä näissä näistä näitä nämä ole olemme olen olet olette oli olimme olin olisi olisimme olisin olisit olisitte olisivat olit olitte olivat olla olleet ollut on ovat poikki se sekä sen siihen siinä siitä siksi sille sillä sillä siltä sinua sinulla sinulle sinulta sinun sinussa sinusta sinut sinuun sinä sinä sitä tai te teidän teidät teihin teille teillä teiltä teissä teistä teitä tuo tuohon tuoksi tuolla tuolle tuolta tuon tuona tuossa tuosta tuota tähän täksi tälle tällä tältä tämä tämän tänä tässä tästä tätä vaan vai vaikka yli".split(" ")),i.Pipeline.registerFunction(i.fi.stopWordFilter,"stopWordFilter-fi")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.fr.min.js b/assets/javascripts/lunr/min/lunr.fr.min.js new file mode 100644 index 00000000..68cd0094 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.fr.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `French` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.fr=function(){this.pipeline.reset(),this.pipeline.add(e.fr.trimmer,e.fr.stopWordFilter,e.fr.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.fr.stemmer))},e.fr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.fr.trimmer=e.trimmerSupport.generateTrimmer(e.fr.wordCharacters),e.Pipeline.registerFunction(e.fr.trimmer,"trimmer-fr"),e.fr.stemmer=function(){var r=e.stemmerSupport.Among,s=e.stemmerSupport.SnowballProgram,i=new function(){function e(e,r,s){return!(!W.eq_s(1,e)||(W.ket=W.cursor,!W.in_grouping(F,97,251)))&&(W.slice_from(r),W.cursor=s,!0)}function i(e,r,s){return!!W.eq_s(1,e)&&(W.ket=W.cursor,W.slice_from(r),W.cursor=s,!0)}function n(){for(var r,s;;){if(r=W.cursor,W.in_grouping(F,97,251)){if(W.bra=W.cursor,s=W.cursor,e("u","U",r))continue;if(W.cursor=s,e("i","I",r))continue;if(W.cursor=s,i("y","Y",r))continue}if(W.cursor=r,W.bra=r,!e("y","Y",r)){if(W.cursor=r,W.eq_s(1,"q")&&(W.bra=W.cursor,i("u","U",r)))continue;if(W.cursor=r,r>=W.limit)return;W.cursor++}}}function t(){for(;!W.in_grouping(F,97,251);){if(W.cursor>=W.limit)return!0;W.cursor++}for(;!W.out_grouping(F,97,251);){if(W.cursor>=W.limit)return!0;W.cursor++}return!1}function u(){var e=W.cursor;if(q=W.limit,g=q,p=q,W.in_grouping(F,97,251)&&W.in_grouping(F,97,251)&&W.cursor=W.limit){W.cursor=q;break}W.cursor++}while(!W.in_grouping(F,97,251))}q=W.cursor,W.cursor=e,t()||(g=W.cursor,t()||(p=W.cursor))}function o(){for(var e,r;;){if(r=W.cursor,W.bra=r,!(e=W.find_among(h,4)))break;switch(W.ket=W.cursor,e){case 1:W.slice_from("i");break;case 2:W.slice_from("u");break;case 3:W.slice_from("y");break;case 4:if(W.cursor>=W.limit)return;W.cursor++}}}function c(){return q<=W.cursor}function a(){return g<=W.cursor}function l(){return p<=W.cursor}function w(){var e,r;if(W.ket=W.cursor,e=W.find_among_b(C,43)){switch(W.bra=W.cursor,e){case 1:if(!l())return!1;W.slice_del();break;case 2:if(!l())return!1;W.slice_del(),W.ket=W.cursor,W.eq_s_b(2,"ic")&&(W.bra=W.cursor,l()?W.slice_del():W.slice_from("iqU"));break;case 3:if(!l())return!1;W.slice_from("log");break;case 4:if(!l())return!1;W.slice_from("u");break;case 5:if(!l())return!1;W.slice_from("ent");break;case 6:if(!c())return!1;if(W.slice_del(),W.ket=W.cursor,e=W.find_among_b(z,6))switch(W.bra=W.cursor,e){case 1:l()&&(W.slice_del(),W.ket=W.cursor,W.eq_s_b(2,"at")&&(W.bra=W.cursor,l()&&W.slice_del()));break;case 2:l()?W.slice_del():a()&&W.slice_from("eux");break;case 3:l()&&W.slice_del();break;case 4:c()&&W.slice_from("i")}break;case 7:if(!l())return!1;if(W.slice_del(),W.ket=W.cursor,e=W.find_among_b(y,3))switch(W.bra=W.cursor,e){case 1:l()?W.slice_del():W.slice_from("abl");break;case 2:l()?W.slice_del():W.slice_from("iqU");break;case 3:l()&&W.slice_del()}break;case 8:if(!l())return!1;if(W.slice_del(),W.ket=W.cursor,W.eq_s_b(2,"at")&&(W.bra=W.cursor,l()&&(W.slice_del(),W.ket=W.cursor,W.eq_s_b(2,"ic")))){W.bra=W.cursor,l()?W.slice_del():W.slice_from("iqU");break}break;case 9:W.slice_from("eau");break;case 10:if(!a())return!1;W.slice_from("al");break;case 11:if(l())W.slice_del();else{if(!a())return!1;W.slice_from("eux")}break;case 12:if(!a()||!W.out_grouping_b(F,97,251))return!1;W.slice_del();break;case 13:return c()&&W.slice_from("ant"),!1;case 14:return c()&&W.slice_from("ent"),!1;case 15:return r=W.limit-W.cursor,W.in_grouping_b(F,97,251)&&c()&&(W.cursor=W.limit-r,W.slice_del()),!1}return!0}return!1}function f(){var e,r;if(W.cursor=q){if(s=W.limit_backward,W.limit_backward=q,W.ket=W.cursor,e=W.find_among_b(P,7))switch(W.bra=W.cursor,e){case 1:if(l()){if(i=W.limit-W.cursor,!W.eq_s_b(1,"s")&&(W.cursor=W.limit-i,!W.eq_s_b(1,"t")))break;W.slice_del()}break;case 2:W.slice_from("i");break;case 3:W.slice_del();break;case 4:W.eq_s_b(2,"gu")&&W.slice_del()}W.limit_backward=s}}function b(){var e=W.limit-W.cursor;W.find_among_b(U,5)&&(W.cursor=W.limit-e,W.ket=W.cursor,W.cursor>W.limit_backward&&(W.cursor--,W.bra=W.cursor,W.slice_del()))}function d(){for(var e,r=1;W.out_grouping_b(F,97,251);)r--;if(r<=0){if(W.ket=W.cursor,e=W.limit-W.cursor,!W.eq_s_b(1,"é")&&(W.cursor=W.limit-e,!W.eq_s_b(1,"è")))return;W.bra=W.cursor,W.slice_from("e")}}function k(){if(!w()&&(W.cursor=W.limit,!f()&&(W.cursor=W.limit,!m())))return W.cursor=W.limit,void _();W.cursor=W.limit,W.ket=W.cursor,W.eq_s_b(1,"Y")?(W.bra=W.cursor,W.slice_from("i")):(W.cursor=W.limit,W.eq_s_b(1,"ç")&&(W.bra=W.cursor,W.slice_from("c")))}var p,g,q,v=[new r("col",-1,-1),new r("par",-1,-1),new r("tap",-1,-1)],h=[new r("",-1,4),new r("I",0,1),new r("U",0,2),new r("Y",0,3)],z=[new r("iqU",-1,3),new r("abl",-1,3),new r("Ièr",-1,4),new r("ièr",-1,4),new r("eus",-1,2),new r("iv",-1,1)],y=[new r("ic",-1,2),new r("abil",-1,1),new r("iv",-1,3)],C=[new r("iqUe",-1,1),new r("atrice",-1,2),new r("ance",-1,1),new r("ence",-1,5),new r("logie",-1,3),new r("able",-1,1),new r("isme",-1,1),new r("euse",-1,11),new r("iste",-1,1),new r("ive",-1,8),new r("if",-1,8),new r("usion",-1,4),new r("ation",-1,2),new r("ution",-1,4),new r("ateur",-1,2),new r("iqUes",-1,1),new r("atrices",-1,2),new r("ances",-1,1),new r("ences",-1,5),new r("logies",-1,3),new r("ables",-1,1),new r("ismes",-1,1),new r("euses",-1,11),new r("istes",-1,1),new r("ives",-1,8),new r("ifs",-1,8),new r("usions",-1,4),new r("ations",-1,2),new r("utions",-1,4),new r("ateurs",-1,2),new r("ments",-1,15),new r("ements",30,6),new r("issements",31,12),new r("ités",-1,7),new r("ment",-1,15),new r("ement",34,6),new r("issement",35,12),new r("amment",34,13),new r("emment",34,14),new r("aux",-1,10),new r("eaux",39,9),new r("eux",-1,1),new r("ité",-1,7)],x=[new r("ira",-1,1),new r("ie",-1,1),new r("isse",-1,1),new r("issante",-1,1),new r("i",-1,1),new r("irai",4,1),new r("ir",-1,1),new r("iras",-1,1),new r("ies",-1,1),new r("îmes",-1,1),new r("isses",-1,1),new r("issantes",-1,1),new r("îtes",-1,1),new r("is",-1,1),new r("irais",13,1),new r("issais",13,1),new r("irions",-1,1),new r("issions",-1,1),new r("irons",-1,1),new r("issons",-1,1),new r("issants",-1,1),new r("it",-1,1),new r("irait",21,1),new r("issait",21,1),new r("issant",-1,1),new r("iraIent",-1,1),new r("issaIent",-1,1),new r("irent",-1,1),new r("issent",-1,1),new r("iront",-1,1),new r("ît",-1,1),new r("iriez",-1,1),new r("issiez",-1,1),new r("irez",-1,1),new r("issez",-1,1)],I=[new r("a",-1,3),new r("era",0,2),new r("asse",-1,3),new r("ante",-1,3),new r("ée",-1,2),new r("ai",-1,3),new r("erai",5,2),new r("er",-1,2),new r("as",-1,3),new r("eras",8,2),new r("âmes",-1,3),new r("asses",-1,3),new r("antes",-1,3),new r("âtes",-1,3),new r("ées",-1,2),new r("ais",-1,3),new r("erais",15,2),new r("ions",-1,1),new r("erions",17,2),new r("assions",17,3),new r("erons",-1,2),new r("ants",-1,3),new r("és",-1,2),new r("ait",-1,3),new r("erait",23,2),new r("ant",-1,3),new r("aIent",-1,3),new r("eraIent",26,2),new r("èrent",-1,2),new r("assent",-1,3),new r("eront",-1,2),new r("ât",-1,3),new r("ez",-1,2),new r("iez",32,2),new r("eriez",33,2),new r("assiez",33,3),new r("erez",32,2),new r("é",-1,2)],P=[new r("e",-1,3),new r("Ière",0,2),new r("ière",0,2),new r("ion",-1,1),new r("Ier",-1,2),new r("ier",-1,2),new r("ë",-1,4)],U=[new r("ell",-1,-1),new r("eill",-1,-1),new r("enn",-1,-1),new r("onn",-1,-1),new r("ett",-1,-1)],F=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,128,130,103,8,5],S=[1,65,20,0,0,0,0,0,0,0,0,0,0,0,0,0,128],W=new s;this.setCurrent=function(e){W.setCurrent(e)},this.getCurrent=function(){return W.getCurrent()},this.stem=function(){var e=W.cursor;return n(),W.cursor=e,u(),W.limit_backward=e,W.cursor=W.limit,k(),W.cursor=W.limit,b(),W.cursor=W.limit,d(),W.cursor=W.limit_backward,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.fr.stemmer,"stemmer-fr"),e.fr.stopWordFilter=e.generateStopWordFilter("ai aie aient aies ait as au aura aurai auraient aurais aurait auras aurez auriez aurions aurons auront aux avaient avais avait avec avez aviez avions avons ayant ayez ayons c ce ceci celà ces cet cette d dans de des du elle en es est et eu eue eues eurent eus eusse eussent eusses eussiez eussions eut eux eûmes eût eûtes furent fus fusse fussent fusses fussiez fussions fut fûmes fût fûtes ici il ils j je l la le les leur leurs lui m ma mais me mes moi mon même n ne nos notre nous on ont ou par pas pour qu que quel quelle quelles quels qui s sa sans se sera serai seraient serais serait seras serez seriez serions serons seront ses soi soient sois soit sommes son sont soyez soyons suis sur t ta te tes toi ton tu un une vos votre vous y à étaient étais était étant étiez étions été étée étées étés êtes".split(" ")),e.Pipeline.registerFunction(e.fr.stopWordFilter,"stopWordFilter-fr")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.he.min.js b/assets/javascripts/lunr/min/lunr.he.min.js new file mode 100644 index 00000000..b863d3ea --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.he.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.he=function(){this.pipeline.reset(),this.pipeline.add(e.he.trimmer,e.he.stopWordFilter,e.he.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.he.stemmer))},e.he.wordCharacters="֑-״א-תa-zA-Za-zA-Z0-90-9",e.he.trimmer=e.trimmerSupport.generateTrimmer(e.he.wordCharacters),e.Pipeline.registerFunction(e.he.trimmer,"trimmer-he"),e.he.stemmer=function(){var e=this;return e.result=!1,e.preRemoved=!1,e.sufRemoved=!1,e.pre={pre1:"ה ו י ת",pre2:"ב כ ל מ ש כש",pre3:"הב הכ הל המ הש בש לכ",pre4:"וב וכ ול ומ וש",pre5:"מה שה כל",pre6:"מב מכ מל ממ מש",pre7:"בה בו בי בת כה כו כי כת לה לו לי לת",pre8:"ובה ובו ובי ובת וכה וכו וכי וכת ולה ולו ולי ולת"},e.suf={suf1:"ך כ ם ן נ",suf2:"ים ות וך וכ ום ון ונ הם הן יכ יך ינ ים",suf3:"תי תך תכ תם תן תנ",suf4:"ותי ותך ותכ ותם ותן ותנ",suf5:"נו כם כן הם הן",suf6:"ונו וכם וכן והם והן",suf7:"תכם תכן תנו תהם תהן",suf8:"הוא היא הם הן אני אתה את אנו אתם אתן",suf9:"ני נו כי כו כם כן תי תך תכ תם תן",suf10:"י ך כ ם ן נ ת"},e.patterns=JSON.parse('{"hebrewPatterns": [{"pt1": [{"c": "ה", "l": 0}]}, {"pt2": [{"c": "ו", "l": 0}]}, {"pt3": [{"c": "י", "l": 0}]}, {"pt4": [{"c": "ת", "l": 0}]}, {"pt5": [{"c": "מ", "l": 0}]}, {"pt6": [{"c": "ל", "l": 0}]}, {"pt7": [{"c": "ב", "l": 0}]}, {"pt8": [{"c": "כ", "l": 0}]}, {"pt9": [{"c": "ש", "l": 0}]}, {"pt10": [{"c": "כש", "l": 0}]}, {"pt11": [{"c": "בה", "l": 0}]}, {"pt12": [{"c": "וב", "l": 0}]}, {"pt13": [{"c": "וכ", "l": 0}]}, {"pt14": [{"c": "ול", "l": 0}]}, {"pt15": [{"c": "ומ", "l": 0}]}, {"pt16": [{"c": "וש", "l": 0}]}, {"pt17": [{"c": "הב", "l": 0}]}, {"pt18": [{"c": "הכ", "l": 0}]}, {"pt19": [{"c": "הל", "l": 0}]}, {"pt20": [{"c": "המ", "l": 0}]}, {"pt21": [{"c": "הש", "l": 0}]}, {"pt22": [{"c": "מה", "l": 0}]}, {"pt23": [{"c": "שה", "l": 0}]}, {"pt24": [{"c": "כל", "l": 0}]}]}'),e.execArray=["cleanWord","removeDiacritics","removeStopWords","normalizeHebrewCharacters"],e.stem=function(){var r=0;for(e.result=!1,e.preRemoved=!1,e.sufRemoved=!1;r=0)return!0},e.normalizeHebrewCharacters=function(){return e.word=e.word.replace("ך","כ"),e.word=e.word.replace("ם","מ"),e.word=e.word.replace("ן","נ"),e.word=e.word.replace("ף","פ"),e.word=e.word.replace("ץ","צ"),!1},function(r){return"function"==typeof r.update?r.update(function(r){return e.setCurrent(r),e.stem(),e.getCurrent()}):(e.setCurrent(r),e.stem(),e.getCurrent())}}(),e.Pipeline.registerFunction(e.he.stemmer,"stemmer-he"),e.he.stopWordFilter=e.generateStopWordFilter("אבל או אולי אותו אותי אותך אותם אותן אותנו אז אחר אחרות אחרי אחריכן אחרים אחרת אי איזה איך אין איפה אל אלה אלו אם אנחנו אני אף אפשר את אתה אתכם אתכן אתם אתן באיזה באיזו בגלל בין בלבד בעבור בעזרת בכל בכן בלי במידה במקום שבו ברוב בשביל בשעה ש בתוך גם דרך הוא היא היה היי היכן היתה היתי הם הן הנה הסיבה שבגללה הרי ואילו ואת זאת זה זות יהיה יוכל יוכלו יותר מדי יכול יכולה יכולות יכולים יכל יכלה יכלו יש כאן כאשר כולם כולן כזה כי כיצד כך כל כלל כמו כן כפי כש לא לאו לאיזותך לאן לבין לה להיות להם להן לו לזה לזות לי לך לכם לכן למה למעלה למעלה מ למטה למטה מ למעט למקום שבו למרות לנו לעבר לעיכן לפיכך לפני מאד מאחורי מאיזו סיבה מאין מאיפה מבלי מבעד מדוע מה מהיכן מול מחוץ מי מידע מכאן מכל מכן מלבד מן מנין מסוגל מעט מעטים מעל מצד מקום בו מתחת מתי נגד נגר נו עד עז על עלי עליו עליה עליהם עליך עלינו עם עצמה עצמהם עצמהן עצמו עצמי עצמם עצמן עצמנו פה רק שוב של שלה שלהם שלהן שלו שלי שלך שלכה שלכם שלכן שלנו שם תהיה תחת".split(" ")),e.Pipeline.registerFunction(e.he.stopWordFilter,"stopWordFilter-he")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.hi.min.js b/assets/javascripts/lunr/min/lunr.hi.min.js new file mode 100644 index 00000000..7dbc4140 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.hi.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hi=function(){this.pipeline.reset(),this.pipeline.add(e.hi.trimmer,e.hi.stopWordFilter,e.hi.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hi.stemmer))},e.hi.wordCharacters="ऀ-ःऄ-एऐ-टठ-यर-िी-ॏॐ-य़ॠ-९॰-ॿa-zA-Za-zA-Z0-90-9",e.hi.trimmer=e.trimmerSupport.generateTrimmer(e.hi.wordCharacters),e.Pipeline.registerFunction(e.hi.trimmer,"trimmer-hi"),e.hi.stopWordFilter=e.generateStopWordFilter("अत अपना अपनी अपने अभी अंदर आदि आप इत्यादि इन इनका इन्हीं इन्हें इन्हों इस इसका इसकी इसके इसमें इसी इसे उन उनका उनकी उनके उनको उन्हीं उन्हें उन्हों उस उसके उसी उसे एक एवं एस ऐसे और कई कर करता करते करना करने करें कहते कहा का काफ़ी कि कितना किन्हें किन्हों किया किर किस किसी किसे की कुछ कुल के को कोई कौन कौनसा गया घर जब जहाँ जा जितना जिन जिन्हें जिन्हों जिस जिसे जीधर जैसा जैसे जो तक तब तरह तिन तिन्हें तिन्हों तिस तिसे तो था थी थे दबारा दिया दुसरा दूसरे दो द्वारा न नके नहीं ना निहायत नीचे ने पर पहले पूरा पे फिर बनी बही बहुत बाद बाला बिलकुल भी भीतर मगर मानो मे में यदि यह यहाँ यही या यिह ये रखें रहा रहे ऱ्वासा लिए लिये लेकिन व वग़ैरह वर्ग वह वहाँ वहीं वाले वुह वे वो सकता सकते सबसे सभी साथ साबुत साभ सारा से सो संग ही हुआ हुई हुए है हैं हो होता होती होते होना होने".split(" ")),e.hi.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var r=e.wordcut;r.init(),e.hi.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(r){return isLunr2?new e.Token(r.toLowerCase()):r.toLowerCase()});var t=i.toString().toLowerCase().replace(/^\s+/,"");return r.cut(t).split("|")},e.Pipeline.registerFunction(e.hi.stemmer,"stemmer-hi"),e.Pipeline.registerFunction(e.hi.stopWordFilter,"stopWordFilter-hi")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.hu.min.js b/assets/javascripts/lunr/min/lunr.hu.min.js new file mode 100644 index 00000000..ed9d909f --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.hu.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Hungarian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hu=function(){this.pipeline.reset(),this.pipeline.add(e.hu.trimmer,e.hu.stopWordFilter,e.hu.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.hu.stemmer))},e.hu.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.hu.trimmer=e.trimmerSupport.generateTrimmer(e.hu.wordCharacters),e.Pipeline.registerFunction(e.hu.trimmer,"trimmer-hu"),e.hu.stemmer=function(){var n=e.stemmerSupport.Among,r=e.stemmerSupport.SnowballProgram,i=new function(){function e(){var e,n=L.cursor;if(d=L.limit,L.in_grouping(W,97,252))for(;;){if(e=L.cursor,L.out_grouping(W,97,252))return L.cursor=e,L.find_among(g,8)||(L.cursor=e,e=L.limit)return void(d=e);L.cursor++}if(L.cursor=n,L.out_grouping(W,97,252)){for(;!L.in_grouping(W,97,252);){if(L.cursor>=L.limit)return;L.cursor++}d=L.cursor}}function i(){return d<=L.cursor}function a(){var e;if(L.ket=L.cursor,(e=L.find_among_b(h,2))&&(L.bra=L.cursor,i()))switch(e){case 1:L.slice_from("a");break;case 2:L.slice_from("e")}}function t(){var e=L.limit-L.cursor;return!!L.find_among_b(p,23)&&(L.cursor=L.limit-e,!0)}function s(){if(L.cursor>L.limit_backward){L.cursor--,L.ket=L.cursor;var e=L.cursor-1;L.limit_backward<=e&&e<=L.limit&&(L.cursor=e,L.bra=e,L.slice_del())}}function c(){var e;if(L.ket=L.cursor,(e=L.find_among_b(_,2))&&(L.bra=L.cursor,i())){if((1==e||2==e)&&!t())return;L.slice_del(),s()}}function o(){L.ket=L.cursor,L.find_among_b(v,44)&&(L.bra=L.cursor,i()&&(L.slice_del(),a()))}function w(){var e;if(L.ket=L.cursor,(e=L.find_among_b(z,3))&&(L.bra=L.cursor,i()))switch(e){case 1:L.slice_from("e");break;case 2:case 3:L.slice_from("a")}}function l(){var e;if(L.ket=L.cursor,(e=L.find_among_b(y,6))&&(L.bra=L.cursor,i()))switch(e){case 1:case 2:L.slice_del();break;case 3:L.slice_from("a");break;case 4:L.slice_from("e")}}function u(){var e;if(L.ket=L.cursor,(e=L.find_among_b(j,2))&&(L.bra=L.cursor,i())){if((1==e||2==e)&&!t())return;L.slice_del(),s()}}function m(){var e;if(L.ket=L.cursor,(e=L.find_among_b(C,7))&&(L.bra=L.cursor,i()))switch(e){case 1:L.slice_from("a");break;case 2:L.slice_from("e");break;case 3:case 4:case 5:case 6:case 7:L.slice_del()}}function k(){var e;if(L.ket=L.cursor,(e=L.find_among_b(P,12))&&(L.bra=L.cursor,i()))switch(e){case 1:case 4:case 7:case 9:L.slice_del();break;case 2:case 5:case 8:L.slice_from("e");break;case 3:case 6:L.slice_from("a")}}function f(){var e;if(L.ket=L.cursor,(e=L.find_among_b(F,31))&&(L.bra=L.cursor,i()))switch(e){case 1:case 4:case 7:case 8:case 9:case 12:case 13:case 16:case 17:case 18:L.slice_del();break;case 2:case 5:case 10:case 14:case 19:L.slice_from("a");break;case 3:case 6:case 11:case 15:case 20:L.slice_from("e")}}function b(){var e;if(L.ket=L.cursor,(e=L.find_among_b(S,42))&&(L.bra=L.cursor,i()))switch(e){case 1:case 4:case 5:case 6:case 9:case 10:case 11:case 14:case 15:case 16:case 17:case 20:case 21:case 24:case 25:case 26:case 29:L.slice_del();break;case 2:case 7:case 12:case 18:case 22:case 27:L.slice_from("a");break;case 3:case 8:case 13:case 19:case 23:case 28:L.slice_from("e")}}var d,g=[new n("cs",-1,-1),new n("dzs",-1,-1),new n("gy",-1,-1),new n("ly",-1,-1),new n("ny",-1,-1),new n("sz",-1,-1),new n("ty",-1,-1),new n("zs",-1,-1)],h=[new n("á",-1,1),new n("é",-1,2)],p=[new n("bb",-1,-1),new n("cc",-1,-1),new n("dd",-1,-1),new n("ff",-1,-1),new n("gg",-1,-1),new n("jj",-1,-1),new n("kk",-1,-1),new n("ll",-1,-1),new n("mm",-1,-1),new n("nn",-1,-1),new n("pp",-1,-1),new n("rr",-1,-1),new n("ccs",-1,-1),new n("ss",-1,-1),new n("zzs",-1,-1),new n("tt",-1,-1),new n("vv",-1,-1),new n("ggy",-1,-1),new n("lly",-1,-1),new n("nny",-1,-1),new n("tty",-1,-1),new n("ssz",-1,-1),new n("zz",-1,-1)],_=[new n("al",-1,1),new n("el",-1,2)],v=[new n("ba",-1,-1),new n("ra",-1,-1),new n("be",-1,-1),new n("re",-1,-1),new n("ig",-1,-1),new n("nak",-1,-1),new n("nek",-1,-1),new n("val",-1,-1),new n("vel",-1,-1),new n("ul",-1,-1),new n("nál",-1,-1),new n("nél",-1,-1),new n("ból",-1,-1),new n("ról",-1,-1),new n("tól",-1,-1),new n("bõl",-1,-1),new n("rõl",-1,-1),new n("tõl",-1,-1),new n("ül",-1,-1),new n("n",-1,-1),new n("an",19,-1),new n("ban",20,-1),new n("en",19,-1),new n("ben",22,-1),new n("képpen",22,-1),new n("on",19,-1),new n("ön",19,-1),new n("képp",-1,-1),new n("kor",-1,-1),new n("t",-1,-1),new n("at",29,-1),new n("et",29,-1),new n("ként",29,-1),new n("anként",32,-1),new n("enként",32,-1),new n("onként",32,-1),new n("ot",29,-1),new n("ért",29,-1),new n("öt",29,-1),new n("hez",-1,-1),new n("hoz",-1,-1),new n("höz",-1,-1),new n("vá",-1,-1),new n("vé",-1,-1)],z=[new n("án",-1,2),new n("én",-1,1),new n("ánként",-1,3)],y=[new n("stul",-1,2),new n("astul",0,1),new n("ástul",0,3),new n("stül",-1,2),new n("estül",3,1),new n("éstül",3,4)],j=[new n("á",-1,1),new n("é",-1,2)],C=[new n("k",-1,7),new n("ak",0,4),new n("ek",0,6),new n("ok",0,5),new n("ák",0,1),new n("ék",0,2),new n("ök",0,3)],P=[new n("éi",-1,7),new n("áéi",0,6),new n("ééi",0,5),new n("é",-1,9),new n("ké",3,4),new n("aké",4,1),new n("eké",4,1),new n("oké",4,1),new n("áké",4,3),new n("éké",4,2),new n("öké",4,1),new n("éé",3,8)],F=[new n("a",-1,18),new n("ja",0,17),new n("d",-1,16),new n("ad",2,13),new n("ed",2,13),new n("od",2,13),new n("ád",2,14),new n("éd",2,15),new n("öd",2,13),new n("e",-1,18),new n("je",9,17),new n("nk",-1,4),new n("unk",11,1),new n("ánk",11,2),new n("énk",11,3),new n("ünk",11,1),new n("uk",-1,8),new n("juk",16,7),new n("ájuk",17,5),new n("ük",-1,8),new n("jük",19,7),new n("éjük",20,6),new n("m",-1,12),new n("am",22,9),new n("em",22,9),new n("om",22,9),new n("ám",22,10),new n("ém",22,11),new n("o",-1,18),new n("á",-1,19),new n("é",-1,20)],S=[new n("id",-1,10),new n("aid",0,9),new n("jaid",1,6),new n("eid",0,9),new n("jeid",3,6),new n("áid",0,7),new n("éid",0,8),new n("i",-1,15),new n("ai",7,14),new n("jai",8,11),new n("ei",7,14),new n("jei",10,11),new n("ái",7,12),new n("éi",7,13),new n("itek",-1,24),new n("eitek",14,21),new n("jeitek",15,20),new n("éitek",14,23),new n("ik",-1,29),new n("aik",18,26),new n("jaik",19,25),new n("eik",18,26),new n("jeik",21,25),new n("áik",18,27),new n("éik",18,28),new n("ink",-1,20),new n("aink",25,17),new n("jaink",26,16),new n("eink",25,17),new n("jeink",28,16),new n("áink",25,18),new n("éink",25,19),new n("aitok",-1,21),new n("jaitok",32,20),new n("áitok",-1,22),new n("im",-1,5),new n("aim",35,4),new n("jaim",36,1),new n("eim",35,4),new n("jeim",38,1),new n("áim",35,2),new n("éim",35,3)],W=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,1,17,52,14],L=new r;this.setCurrent=function(e){L.setCurrent(e)},this.getCurrent=function(){return L.getCurrent()},this.stem=function(){var n=L.cursor;return e(),L.limit_backward=n,L.cursor=L.limit,c(),L.cursor=L.limit,o(),L.cursor=L.limit,w(),L.cursor=L.limit,l(),L.cursor=L.limit,u(),L.cursor=L.limit,k(),L.cursor=L.limit,f(),L.cursor=L.limit,b(),L.cursor=L.limit,m(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.hu.stemmer,"stemmer-hu"),e.hu.stopWordFilter=e.generateStopWordFilter("a abban ahhoz ahogy ahol aki akik akkor alatt amely amelyek amelyekben amelyeket amelyet amelynek ami amikor amit amolyan amíg annak arra arról az azok azon azonban azt aztán azután azzal azért be belül benne bár cikk cikkek cikkeket csak de e ebben eddig egy egyes egyetlen egyik egyre egyéb egész ehhez ekkor el ellen elsõ elég elõ elõször elõtt emilyen ennek erre ez ezek ezen ezt ezzel ezért fel felé hanem hiszen hogy hogyan igen ill ill. illetve ilyen ilyenkor ismét ison itt jobban jó jól kell kellett keressünk keresztül ki kívül között közül legalább legyen lehet lehetett lenne lenni lesz lett maga magát majd majd meg mellett mely melyek mert mi mikor milyen minden mindenki mindent mindig mint mintha mit mivel miért most már más másik még míg nagy nagyobb nagyon ne nekem neki nem nincs néha néhány nélkül olyan ott pedig persze rá s saját sem semmi sok sokat sokkal szemben szerint szinte számára talán tehát teljes tovább továbbá több ugyanis utolsó után utána vagy vagyis vagyok valaki valami valamint való van vannak vele vissza viszont volna volt voltak voltam voltunk által általában át én éppen és így õ õk õket össze úgy új újabb újra".split(" ")),e.Pipeline.registerFunction(e.hu.stopWordFilter,"stopWordFilter-hu")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.hy.min.js b/assets/javascripts/lunr/min/lunr.hy.min.js new file mode 100644 index 00000000..b37f7929 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.hy.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.hy=function(){this.pipeline.reset(),this.pipeline.add(e.hy.trimmer,e.hy.stopWordFilter)},e.hy.wordCharacters="[A-Za-z԰-֏ff-ﭏ]",e.hy.trimmer=e.trimmerSupport.generateTrimmer(e.hy.wordCharacters),e.Pipeline.registerFunction(e.hy.trimmer,"trimmer-hy"),e.hy.stopWordFilter=e.generateStopWordFilter("դու և եք էիր էիք հետո նաև նրանք որը վրա է որ պիտի են այս մեջ ն իր ու ի այդ որոնք այն կամ էր մի ես համար այլ իսկ էին ենք հետ ին թ էինք մենք նրա նա դուք եմ էի ըստ որպես ում".split(" ")),e.Pipeline.registerFunction(e.hy.stopWordFilter,"stopWordFilter-hy"),e.hy.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}(),e.Pipeline.registerFunction(e.hy.stemmer,"stemmer-hy")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.it.min.js b/assets/javascripts/lunr/min/lunr.it.min.js new file mode 100644 index 00000000..344b6a3c --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.it.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Italian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.it=function(){this.pipeline.reset(),this.pipeline.add(e.it.trimmer,e.it.stopWordFilter,e.it.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.it.stemmer))},e.it.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.it.trimmer=e.trimmerSupport.generateTrimmer(e.it.wordCharacters),e.Pipeline.registerFunction(e.it.trimmer,"trimmer-it"),e.it.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){function e(e,r,n){return!(!x.eq_s(1,e)||(x.ket=x.cursor,!x.in_grouping(L,97,249)))&&(x.slice_from(r),x.cursor=n,!0)}function i(){for(var r,n,i,o,t=x.cursor;;){if(x.bra=x.cursor,r=x.find_among(h,7))switch(x.ket=x.cursor,r){case 1:x.slice_from("à");continue;case 2:x.slice_from("è");continue;case 3:x.slice_from("ì");continue;case 4:x.slice_from("ò");continue;case 5:x.slice_from("ù");continue;case 6:x.slice_from("qU");continue;case 7:if(x.cursor>=x.limit)break;x.cursor++;continue}break}for(x.cursor=t;;)for(n=x.cursor;;){if(i=x.cursor,x.in_grouping(L,97,249)){if(x.bra=x.cursor,o=x.cursor,e("u","U",i))break;if(x.cursor=o,e("i","I",i))break}if(x.cursor=i,x.cursor>=x.limit)return void(x.cursor=n);x.cursor++}}function o(e){if(x.cursor=e,!x.in_grouping(L,97,249))return!1;for(;!x.out_grouping(L,97,249);){if(x.cursor>=x.limit)return!1;x.cursor++}return!0}function t(){if(x.in_grouping(L,97,249)){var e=x.cursor;if(x.out_grouping(L,97,249)){for(;!x.in_grouping(L,97,249);){if(x.cursor>=x.limit)return o(e);x.cursor++}return!0}return o(e)}return!1}function s(){var e,r=x.cursor;if(!t()){if(x.cursor=r,!x.out_grouping(L,97,249))return;if(e=x.cursor,x.out_grouping(L,97,249)){for(;!x.in_grouping(L,97,249);){if(x.cursor>=x.limit)return x.cursor=e,void(x.in_grouping(L,97,249)&&x.cursor=x.limit)return;x.cursor++}k=x.cursor}function a(){for(;!x.in_grouping(L,97,249);){if(x.cursor>=x.limit)return!1;x.cursor++}for(;!x.out_grouping(L,97,249);){if(x.cursor>=x.limit)return!1;x.cursor++}return!0}function u(){var e=x.cursor;k=x.limit,p=k,g=k,s(),x.cursor=e,a()&&(p=x.cursor,a()&&(g=x.cursor))}function c(){for(var e;;){if(x.bra=x.cursor,!(e=x.find_among(q,3)))break;switch(x.ket=x.cursor,e){case 1:x.slice_from("i");break;case 2:x.slice_from("u");break;case 3:if(x.cursor>=x.limit)return;x.cursor++}}}function w(){return k<=x.cursor}function l(){return p<=x.cursor}function m(){return g<=x.cursor}function f(){var e;if(x.ket=x.cursor,x.find_among_b(C,37)&&(x.bra=x.cursor,(e=x.find_among_b(z,5))&&w()))switch(e){case 1:x.slice_del();break;case 2:x.slice_from("e")}}function v(){var e;if(x.ket=x.cursor,!(e=x.find_among_b(S,51)))return!1;switch(x.bra=x.cursor,e){case 1:if(!m())return!1;x.slice_del();break;case 2:if(!m())return!1;x.slice_del(),x.ket=x.cursor,x.eq_s_b(2,"ic")&&(x.bra=x.cursor,m()&&x.slice_del());break;case 3:if(!m())return!1;x.slice_from("log");break;case 4:if(!m())return!1;x.slice_from("u");break;case 5:if(!m())return!1;x.slice_from("ente");break;case 6:if(!w())return!1;x.slice_del();break;case 7:if(!l())return!1;x.slice_del(),x.ket=x.cursor,e=x.find_among_b(P,4),e&&(x.bra=x.cursor,m()&&(x.slice_del(),1==e&&(x.ket=x.cursor,x.eq_s_b(2,"at")&&(x.bra=x.cursor,m()&&x.slice_del()))));break;case 8:if(!m())return!1;x.slice_del(),x.ket=x.cursor,e=x.find_among_b(F,3),e&&(x.bra=x.cursor,1==e&&m()&&x.slice_del());break;case 9:if(!m())return!1;x.slice_del(),x.ket=x.cursor,x.eq_s_b(2,"at")&&(x.bra=x.cursor,m()&&(x.slice_del(),x.ket=x.cursor,x.eq_s_b(2,"ic")&&(x.bra=x.cursor,m()&&x.slice_del())))}return!0}function b(){var e,r;x.cursor>=k&&(r=x.limit_backward,x.limit_backward=k,x.ket=x.cursor,e=x.find_among_b(W,87),e&&(x.bra=x.cursor,1==e&&x.slice_del()),x.limit_backward=r)}function d(){var e=x.limit-x.cursor;if(x.ket=x.cursor,x.in_grouping_b(y,97,242)&&(x.bra=x.cursor,w()&&(x.slice_del(),x.ket=x.cursor,x.eq_s_b(1,"i")&&(x.bra=x.cursor,w()))))return void x.slice_del();x.cursor=x.limit-e}function _(){d(),x.ket=x.cursor,x.eq_s_b(1,"h")&&(x.bra=x.cursor,x.in_grouping_b(U,99,103)&&w()&&x.slice_del())}var g,p,k,h=[new r("",-1,7),new r("qu",0,6),new r("á",0,1),new r("é",0,2),new r("í",0,3),new r("ó",0,4),new r("ú",0,5)],q=[new r("",-1,3),new r("I",0,1),new r("U",0,2)],C=[new r("la",-1,-1),new r("cela",0,-1),new r("gliela",0,-1),new r("mela",0,-1),new r("tela",0,-1),new r("vela",0,-1),new r("le",-1,-1),new r("cele",6,-1),new r("gliele",6,-1),new r("mele",6,-1),new r("tele",6,-1),new r("vele",6,-1),new r("ne",-1,-1),new r("cene",12,-1),new r("gliene",12,-1),new r("mene",12,-1),new r("sene",12,-1),new r("tene",12,-1),new r("vene",12,-1),new r("ci",-1,-1),new r("li",-1,-1),new r("celi",20,-1),new r("glieli",20,-1),new r("meli",20,-1),new r("teli",20,-1),new r("veli",20,-1),new r("gli",20,-1),new r("mi",-1,-1),new r("si",-1,-1),new r("ti",-1,-1),new r("vi",-1,-1),new r("lo",-1,-1),new r("celo",31,-1),new r("glielo",31,-1),new r("melo",31,-1),new r("telo",31,-1),new r("velo",31,-1)],z=[new r("ando",-1,1),new r("endo",-1,1),new r("ar",-1,2),new r("er",-1,2),new r("ir",-1,2)],P=[new r("ic",-1,-1),new r("abil",-1,-1),new r("os",-1,-1),new r("iv",-1,1)],F=[new r("ic",-1,1),new r("abil",-1,1),new r("iv",-1,1)],S=[new r("ica",-1,1),new r("logia",-1,3),new r("osa",-1,1),new r("ista",-1,1),new r("iva",-1,9),new r("anza",-1,1),new r("enza",-1,5),new r("ice",-1,1),new r("atrice",7,1),new r("iche",-1,1),new r("logie",-1,3),new r("abile",-1,1),new r("ibile",-1,1),new r("usione",-1,4),new r("azione",-1,2),new r("uzione",-1,4),new r("atore",-1,2),new r("ose",-1,1),new r("ante",-1,1),new r("mente",-1,1),new r("amente",19,7),new r("iste",-1,1),new r("ive",-1,9),new r("anze",-1,1),new r("enze",-1,5),new r("ici",-1,1),new r("atrici",25,1),new r("ichi",-1,1),new r("abili",-1,1),new r("ibili",-1,1),new r("ismi",-1,1),new r("usioni",-1,4),new r("azioni",-1,2),new r("uzioni",-1,4),new r("atori",-1,2),new r("osi",-1,1),new r("anti",-1,1),new r("amenti",-1,6),new r("imenti",-1,6),new r("isti",-1,1),new r("ivi",-1,9),new r("ico",-1,1),new r("ismo",-1,1),new r("oso",-1,1),new r("amento",-1,6),new r("imento",-1,6),new r("ivo",-1,9),new r("ità",-1,8),new r("istà",-1,1),new r("istè",-1,1),new r("istì",-1,1)],W=[new r("isca",-1,1),new r("enda",-1,1),new r("ata",-1,1),new r("ita",-1,1),new r("uta",-1,1),new r("ava",-1,1),new r("eva",-1,1),new r("iva",-1,1),new r("erebbe",-1,1),new r("irebbe",-1,1),new r("isce",-1,1),new r("ende",-1,1),new r("are",-1,1),new r("ere",-1,1),new r("ire",-1,1),new r("asse",-1,1),new r("ate",-1,1),new r("avate",16,1),new r("evate",16,1),new r("ivate",16,1),new r("ete",-1,1),new r("erete",20,1),new r("irete",20,1),new r("ite",-1,1),new r("ereste",-1,1),new r("ireste",-1,1),new r("ute",-1,1),new r("erai",-1,1),new r("irai",-1,1),new r("isci",-1,1),new r("endi",-1,1),new r("erei",-1,1),new r("irei",-1,1),new r("assi",-1,1),new r("ati",-1,1),new r("iti",-1,1),new r("eresti",-1,1),new r("iresti",-1,1),new r("uti",-1,1),new r("avi",-1,1),new r("evi",-1,1),new r("ivi",-1,1),new r("isco",-1,1),new r("ando",-1,1),new r("endo",-1,1),new r("Yamo",-1,1),new r("iamo",-1,1),new r("avamo",-1,1),new r("evamo",-1,1),new r("ivamo",-1,1),new r("eremo",-1,1),new r("iremo",-1,1),new r("assimo",-1,1),new r("ammo",-1,1),new r("emmo",-1,1),new r("eremmo",54,1),new r("iremmo",54,1),new r("immo",-1,1),new r("ano",-1,1),new r("iscano",58,1),new r("avano",58,1),new r("evano",58,1),new r("ivano",58,1),new r("eranno",-1,1),new r("iranno",-1,1),new r("ono",-1,1),new r("iscono",65,1),new r("arono",65,1),new r("erono",65,1),new r("irono",65,1),new r("erebbero",-1,1),new r("irebbero",-1,1),new r("assero",-1,1),new r("essero",-1,1),new r("issero",-1,1),new r("ato",-1,1),new r("ito",-1,1),new r("uto",-1,1),new r("avo",-1,1),new r("evo",-1,1),new r("ivo",-1,1),new r("ar",-1,1),new r("ir",-1,1),new r("erà",-1,1),new r("irà",-1,1),new r("erò",-1,1),new r("irò",-1,1)],L=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2,1],y=[17,65,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128,8,2],U=[17],x=new n;this.setCurrent=function(e){x.setCurrent(e)},this.getCurrent=function(){return x.getCurrent()},this.stem=function(){var e=x.cursor;return i(),x.cursor=e,u(),x.limit_backward=e,x.cursor=x.limit,f(),x.cursor=x.limit,v()||(x.cursor=x.limit,b()),x.cursor=x.limit,_(),x.cursor=x.limit_backward,c(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.it.stemmer,"stemmer-it"),e.it.stopWordFilter=e.generateStopWordFilter("a abbia abbiamo abbiano abbiate ad agl agli ai al all alla alle allo anche avemmo avendo avesse avessero avessi avessimo aveste avesti avete aveva avevamo avevano avevate avevi avevo avrai avranno avrebbe avrebbero avrei avremmo avremo avreste avresti avrete avrà avrò avuta avute avuti avuto c che chi ci coi col come con contro cui da dagl dagli dai dal dall dalla dalle dallo degl degli dei del dell della delle dello di dov dove e ebbe ebbero ebbi ed era erano eravamo eravate eri ero essendo faccia facciamo facciano facciate faccio facemmo facendo facesse facessero facessi facessimo faceste facesti faceva facevamo facevano facevate facevi facevo fai fanno farai faranno farebbe farebbero farei faremmo faremo fareste faresti farete farà farò fece fecero feci fosse fossero fossi fossimo foste fosti fu fui fummo furono gli ha hai hanno ho i il in io l la le lei li lo loro lui ma mi mia mie miei mio ne negl negli nei nel nell nella nelle nello noi non nostra nostre nostri nostro o per perché più quale quanta quante quanti quanto quella quelle quelli quello questa queste questi questo sarai saranno sarebbe sarebbero sarei saremmo saremo sareste saresti sarete sarà sarò se sei si sia siamo siano siate siete sono sta stai stando stanno starai staranno starebbe starebbero starei staremmo staremo stareste staresti starete starà starò stava stavamo stavano stavate stavi stavo stemmo stesse stessero stessi stessimo steste stesti stette stettero stetti stia stiamo stiano stiate sto su sua sue sugl sugli sui sul sull sulla sulle sullo suo suoi ti tra tu tua tue tuo tuoi tutti tutto un una uno vi voi vostra vostre vostri vostro è".split(" ")),e.Pipeline.registerFunction(e.it.stopWordFilter,"stopWordFilter-it")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.ja.min.js b/assets/javascripts/lunr/min/lunr.ja.min.js new file mode 100644 index 00000000..5f254ebe --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.ja.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.ja=function(){this.pipeline.reset(),this.pipeline.add(e.ja.trimmer,e.ja.stopWordFilter,e.ja.stemmer),r?this.tokenizer=e.ja.tokenizer:(e.tokenizer&&(e.tokenizer=e.ja.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.ja.tokenizer))};var t=new e.TinySegmenter;e.ja.tokenizer=function(i){var n,o,s,p,a,u,m,l,c,f;if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t.toLowerCase()):t.toLowerCase()});for(o=i.toString().toLowerCase().replace(/^\s+/,""),n=o.length-1;n>=0;n--)if(/\S/.test(o.charAt(n))){o=o.substring(0,n+1);break}for(a=[],s=o.length,c=0,l=0;c<=s;c++)if(u=o.charAt(c),m=c-l,u.match(/\s/)||c==s){if(m>0)for(p=t.segment(o.slice(l,c)).filter(function(e){return!!e}),f=l,n=0;n=C.limit)break;C.cursor++;continue}break}for(C.cursor=o,C.bra=o,C.eq_s(1,"y")?(C.ket=C.cursor,C.slice_from("Y")):C.cursor=o;;)if(e=C.cursor,C.in_grouping(q,97,232)){if(i=C.cursor,C.bra=i,C.eq_s(1,"i"))C.ket=C.cursor,C.in_grouping(q,97,232)&&(C.slice_from("I"),C.cursor=e);else if(C.cursor=i,C.eq_s(1,"y"))C.ket=C.cursor,C.slice_from("Y"),C.cursor=e;else if(n(e))break}else if(n(e))break}function n(r){return C.cursor=r,r>=C.limit||(C.cursor++,!1)}function o(){_=C.limit,d=_,t()||(_=C.cursor,_<3&&(_=3),t()||(d=C.cursor))}function t(){for(;!C.in_grouping(q,97,232);){if(C.cursor>=C.limit)return!0;C.cursor++}for(;!C.out_grouping(q,97,232);){if(C.cursor>=C.limit)return!0;C.cursor++}return!1}function s(){for(var r;;)if(C.bra=C.cursor,r=C.find_among(p,3))switch(C.ket=C.cursor,r){case 1:C.slice_from("y");break;case 2:C.slice_from("i");break;case 3:if(C.cursor>=C.limit)return;C.cursor++}}function u(){return _<=C.cursor}function c(){return d<=C.cursor}function a(){var r=C.limit-C.cursor;C.find_among_b(g,3)&&(C.cursor=C.limit-r,C.ket=C.cursor,C.cursor>C.limit_backward&&(C.cursor--,C.bra=C.cursor,C.slice_del()))}function l(){var r;w=!1,C.ket=C.cursor,C.eq_s_b(1,"e")&&(C.bra=C.cursor,u()&&(r=C.limit-C.cursor,C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-r,C.slice_del(),w=!0,a())))}function m(){var r;u()&&(r=C.limit-C.cursor,C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-r,C.eq_s_b(3,"gem")||(C.cursor=C.limit-r,C.slice_del(),a())))}function f(){var r,e,i,n,o,t,s=C.limit-C.cursor;if(C.ket=C.cursor,r=C.find_among_b(h,5))switch(C.bra=C.cursor,r){case 1:u()&&C.slice_from("heid");break;case 2:m();break;case 3:u()&&C.out_grouping_b(j,97,232)&&C.slice_del()}if(C.cursor=C.limit-s,l(),C.cursor=C.limit-s,C.ket=C.cursor,C.eq_s_b(4,"heid")&&(C.bra=C.cursor,c()&&(e=C.limit-C.cursor,C.eq_s_b(1,"c")||(C.cursor=C.limit-e,C.slice_del(),C.ket=C.cursor,C.eq_s_b(2,"en")&&(C.bra=C.cursor,m())))),C.cursor=C.limit-s,C.ket=C.cursor,r=C.find_among_b(k,6))switch(C.bra=C.cursor,r){case 1:if(c()){if(C.slice_del(),i=C.limit-C.cursor,C.ket=C.cursor,C.eq_s_b(2,"ig")&&(C.bra=C.cursor,c()&&(n=C.limit-C.cursor,!C.eq_s_b(1,"e")))){C.cursor=C.limit-n,C.slice_del();break}C.cursor=C.limit-i,a()}break;case 2:c()&&(o=C.limit-C.cursor,C.eq_s_b(1,"e")||(C.cursor=C.limit-o,C.slice_del()));break;case 3:c()&&(C.slice_del(),l());break;case 4:c()&&C.slice_del();break;case 5:c()&&w&&C.slice_del()}C.cursor=C.limit-s,C.out_grouping_b(z,73,232)&&(t=C.limit-C.cursor,C.find_among_b(v,4)&&C.out_grouping_b(q,97,232)&&(C.cursor=C.limit-t,C.ket=C.cursor,C.cursor>C.limit_backward&&(C.cursor--,C.bra=C.cursor,C.slice_del())))}var d,_,w,b=[new e("",-1,6),new e("á",0,1),new e("ä",0,1),new e("é",0,2),new e("ë",0,2),new e("í",0,3),new e("ï",0,3),new e("ó",0,4),new e("ö",0,4),new e("ú",0,5),new e("ü",0,5)],p=[new e("",-1,3),new e("I",0,2),new e("Y",0,1)],g=[new e("dd",-1,-1),new e("kk",-1,-1),new e("tt",-1,-1)],h=[new e("ene",-1,2),new e("se",-1,3),new e("en",-1,2),new e("heden",2,1),new e("s",-1,3)],k=[new e("end",-1,1),new e("ig",-1,2),new e("ing",-1,1),new e("lijk",-1,3),new e("baar",-1,4),new e("bar",-1,5)],v=[new e("aa",-1,-1),new e("ee",-1,-1),new e("oo",-1,-1),new e("uu",-1,-1)],q=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],z=[1,0,0,17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],j=[17,67,16,1,0,0,0,0,0,0,0,0,0,0,0,0,128],C=new i;this.setCurrent=function(r){C.setCurrent(r)},this.getCurrent=function(){return C.getCurrent()},this.stem=function(){var e=C.cursor;return r(),C.cursor=e,o(),C.limit_backward=e,C.cursor=C.limit,f(),C.cursor=C.limit_backward,s(),!0}};return function(r){return"function"==typeof r.update?r.update(function(r){return n.setCurrent(r),n.stem(),n.getCurrent()}):(n.setCurrent(r),n.stem(),n.getCurrent())}}(),r.Pipeline.registerFunction(r.nl.stemmer,"stemmer-nl"),r.nl.stopWordFilter=r.generateStopWordFilter(" aan al alles als altijd andere ben bij daar dan dat de der deze die dit doch doen door dus een eens en er ge geen geweest haar had heb hebben heeft hem het hier hij hoe hun iemand iets ik in is ja je kan kon kunnen maar me meer men met mij mijn moet na naar niet niets nog nu of om omdat onder ons ook op over reeds te tegen toch toen tot u uit uw van veel voor want waren was wat werd wezen wie wil worden wordt zal ze zelf zich zij zijn zo zonder zou".split(" ")),r.Pipeline.registerFunction(r.nl.stopWordFilter,"stopWordFilter-nl")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.no.min.js b/assets/javascripts/lunr/min/lunr.no.min.js new file mode 100644 index 00000000..92bc7e4e --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.no.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Norwegian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.no=function(){this.pipeline.reset(),this.pipeline.add(e.no.trimmer,e.no.stopWordFilter,e.no.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.no.stemmer))},e.no.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.no.trimmer=e.trimmerSupport.generateTrimmer(e.no.wordCharacters),e.Pipeline.registerFunction(e.no.trimmer,"trimmer-no"),e.no.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,i=new function(){function e(){var e,r=w.cursor+3;if(a=w.limit,0<=r||r<=w.limit){for(s=r;;){if(e=w.cursor,w.in_grouping(d,97,248)){w.cursor=e;break}if(e>=w.limit)return;w.cursor=e+1}for(;!w.out_grouping(d,97,248);){if(w.cursor>=w.limit)return;w.cursor++}a=w.cursor,a=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(m,29),w.limit_backward=r,e))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:n=w.limit-w.cursor,w.in_grouping_b(c,98,122)?w.slice_del():(w.cursor=w.limit-n,w.eq_s_b(1,"k")&&w.out_grouping_b(d,97,248)&&w.slice_del());break;case 3:w.slice_from("er")}}function t(){var e,r=w.limit-w.cursor;w.cursor>=a&&(e=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,w.find_among_b(u,2)?(w.bra=w.cursor,w.limit_backward=e,w.cursor=w.limit-r,w.cursor>w.limit_backward&&(w.cursor--,w.bra=w.cursor,w.slice_del())):w.limit_backward=e)}function o(){var e,r;w.cursor>=a&&(r=w.limit_backward,w.limit_backward=a,w.ket=w.cursor,e=w.find_among_b(l,11),e?(w.bra=w.cursor,w.limit_backward=r,1==e&&w.slice_del()):w.limit_backward=r)}var s,a,m=[new r("a",-1,1),new r("e",-1,1),new r("ede",1,1),new r("ande",1,1),new r("ende",1,1),new r("ane",1,1),new r("ene",1,1),new r("hetene",6,1),new r("erte",1,3),new r("en",-1,1),new r("heten",9,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",12,1),new r("s",-1,2),new r("as",14,1),new r("es",14,1),new r("edes",16,1),new r("endes",16,1),new r("enes",16,1),new r("hetenes",19,1),new r("ens",14,1),new r("hetens",21,1),new r("ers",14,1),new r("ets",14,1),new r("et",-1,1),new r("het",25,1),new r("ert",-1,3),new r("ast",-1,1)],u=[new r("dt",-1,-1),new r("vt",-1,-1)],l=[new r("leg",-1,1),new r("eleg",0,1),new r("ig",-1,1),new r("eig",2,1),new r("lig",2,1),new r("elig",4,1),new r("els",-1,1),new r("lov",-1,1),new r("elov",7,1),new r("slov",7,1),new r("hetslov",9,1)],d=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,48,0,128],c=[119,125,149,1],w=new n;this.setCurrent=function(e){w.setCurrent(e)},this.getCurrent=function(){return w.getCurrent()},this.stem=function(){var r=w.cursor;return e(),w.limit_backward=r,w.cursor=w.limit,i(),w.cursor=w.limit,t(),w.cursor=w.limit,o(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return i.setCurrent(e),i.stem(),i.getCurrent()}):(i.setCurrent(e),i.stem(),i.getCurrent())}}(),e.Pipeline.registerFunction(e.no.stemmer,"stemmer-no"),e.no.stopWordFilter=e.generateStopWordFilter("alle at av bare begge ble blei bli blir blitt både båe da de deg dei deim deira deires dem den denne der dere deres det dette di din disse ditt du dykk dykkar då eg ein eit eitt eller elles en enn er et ett etter for fordi fra før ha hadde han hans har hennar henne hennes her hjå ho hoe honom hoss hossen hun hva hvem hver hvilke hvilken hvis hvor hvordan hvorfor i ikke ikkje ikkje ingen ingi inkje inn inni ja jeg kan kom korleis korso kun kunne kva kvar kvarhelst kven kvi kvifor man mange me med medan meg meget mellom men mi min mine mitt mot mykje ned no noe noen noka noko nokon nokor nokre nå når og også om opp oss over på samme seg selv si si sia sidan siden sin sine sitt sjøl skal skulle slik so som som somme somt så sånn til um upp ut uten var vart varte ved vere verte vi vil ville vore vors vort vår være være vært å".split(" ")),e.Pipeline.registerFunction(e.no.stopWordFilter,"stopWordFilter-no")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.pt.min.js b/assets/javascripts/lunr/min/lunr.pt.min.js new file mode 100644 index 00000000..6c16996d --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.pt.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Portuguese` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.pt=function(){this.pipeline.reset(),this.pipeline.add(e.pt.trimmer,e.pt.stopWordFilter,e.pt.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.pt.stemmer))},e.pt.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.pt.trimmer=e.trimmerSupport.generateTrimmer(e.pt.wordCharacters),e.Pipeline.registerFunction(e.pt.trimmer,"trimmer-pt"),e.pt.stemmer=function(){var r=e.stemmerSupport.Among,s=e.stemmerSupport.SnowballProgram,n=new function(){function e(){for(var e;;){if(z.bra=z.cursor,e=z.find_among(k,3))switch(z.ket=z.cursor,e){case 1:z.slice_from("a~");continue;case 2:z.slice_from("o~");continue;case 3:if(z.cursor>=z.limit)break;z.cursor++;continue}break}}function n(){if(z.out_grouping(y,97,250)){for(;!z.in_grouping(y,97,250);){if(z.cursor>=z.limit)return!0;z.cursor++}return!1}return!0}function i(){if(z.in_grouping(y,97,250))for(;!z.out_grouping(y,97,250);){if(z.cursor>=z.limit)return!1;z.cursor++}return g=z.cursor,!0}function o(){var e,r,s=z.cursor;if(z.in_grouping(y,97,250))if(e=z.cursor,n()){if(z.cursor=e,i())return}else g=z.cursor;if(z.cursor=s,z.out_grouping(y,97,250)){if(r=z.cursor,n()){if(z.cursor=r,!z.in_grouping(y,97,250)||z.cursor>=z.limit)return;z.cursor++}g=z.cursor}}function t(){for(;!z.in_grouping(y,97,250);){if(z.cursor>=z.limit)return!1;z.cursor++}for(;!z.out_grouping(y,97,250);){if(z.cursor>=z.limit)return!1;z.cursor++}return!0}function a(){var e=z.cursor;g=z.limit,b=g,h=g,o(),z.cursor=e,t()&&(b=z.cursor,t()&&(h=z.cursor))}function u(){for(var e;;){if(z.bra=z.cursor,e=z.find_among(q,3))switch(z.ket=z.cursor,e){case 1:z.slice_from("ã");continue;case 2:z.slice_from("õ");continue;case 3:if(z.cursor>=z.limit)break;z.cursor++;continue}break}}function w(){return g<=z.cursor}function m(){return b<=z.cursor}function c(){return h<=z.cursor}function l(){var e;if(z.ket=z.cursor,!(e=z.find_among_b(F,45)))return!1;switch(z.bra=z.cursor,e){case 1:if(!c())return!1;z.slice_del();break;case 2:if(!c())return!1;z.slice_from("log");break;case 3:if(!c())return!1;z.slice_from("u");break;case 4:if(!c())return!1;z.slice_from("ente");break;case 5:if(!m())return!1;z.slice_del(),z.ket=z.cursor,e=z.find_among_b(j,4),e&&(z.bra=z.cursor,c()&&(z.slice_del(),1==e&&(z.ket=z.cursor,z.eq_s_b(2,"at")&&(z.bra=z.cursor,c()&&z.slice_del()))));break;case 6:if(!c())return!1;z.slice_del(),z.ket=z.cursor,e=z.find_among_b(C,3),e&&(z.bra=z.cursor,1==e&&c()&&z.slice_del());break;case 7:if(!c())return!1;z.slice_del(),z.ket=z.cursor,e=z.find_among_b(P,3),e&&(z.bra=z.cursor,1==e&&c()&&z.slice_del());break;case 8:if(!c())return!1;z.slice_del(),z.ket=z.cursor,z.eq_s_b(2,"at")&&(z.bra=z.cursor,c()&&z.slice_del());break;case 9:if(!w()||!z.eq_s_b(1,"e"))return!1;z.slice_from("ir")}return!0}function f(){var e,r;if(z.cursor>=g){if(r=z.limit_backward,z.limit_backward=g,z.ket=z.cursor,e=z.find_among_b(S,120))return z.bra=z.cursor,1==e&&z.slice_del(),z.limit_backward=r,!0;z.limit_backward=r}return!1}function d(){var e;z.ket=z.cursor,(e=z.find_among_b(W,7))&&(z.bra=z.cursor,1==e&&w()&&z.slice_del())}function v(e,r){if(z.eq_s_b(1,e)){z.bra=z.cursor;var s=z.limit-z.cursor;if(z.eq_s_b(1,r))return z.cursor=z.limit-s,w()&&z.slice_del(),!1}return!0}function p(){var e;if(z.ket=z.cursor,e=z.find_among_b(L,4))switch(z.bra=z.cursor,e){case 1:w()&&(z.slice_del(),z.ket=z.cursor,z.limit-z.cursor,v("u","g")&&v("i","c"));break;case 2:z.slice_from("c")}}function _(){if(!l()&&(z.cursor=z.limit,!f()))return z.cursor=z.limit,void d();z.cursor=z.limit,z.ket=z.cursor,z.eq_s_b(1,"i")&&(z.bra=z.cursor,z.eq_s_b(1,"c")&&(z.cursor=z.limit,w()&&z.slice_del()))}var h,b,g,k=[new r("",-1,3),new r("ã",0,1),new r("õ",0,2)],q=[new r("",-1,3),new r("a~",0,1),new r("o~",0,2)],j=[new r("ic",-1,-1),new r("ad",-1,-1),new r("os",-1,-1),new r("iv",-1,1)],C=[new r("ante",-1,1),new r("avel",-1,1),new r("ível",-1,1)],P=[new r("ic",-1,1),new r("abil",-1,1),new r("iv",-1,1)],F=[new r("ica",-1,1),new r("ância",-1,1),new r("ência",-1,4),new r("ira",-1,9),new r("adora",-1,1),new r("osa",-1,1),new r("ista",-1,1),new r("iva",-1,8),new r("eza",-1,1),new r("logía",-1,2),new r("idade",-1,7),new r("ante",-1,1),new r("mente",-1,6),new r("amente",12,5),new r("ável",-1,1),new r("ível",-1,1),new r("ución",-1,3),new r("ico",-1,1),new r("ismo",-1,1),new r("oso",-1,1),new r("amento",-1,1),new r("imento",-1,1),new r("ivo",-1,8),new r("aça~o",-1,1),new r("ador",-1,1),new r("icas",-1,1),new r("ências",-1,4),new r("iras",-1,9),new r("adoras",-1,1),new r("osas",-1,1),new r("istas",-1,1),new r("ivas",-1,8),new r("ezas",-1,1),new r("logías",-1,2),new r("idades",-1,7),new r("uciones",-1,3),new r("adores",-1,1),new r("antes",-1,1),new r("aço~es",-1,1),new r("icos",-1,1),new r("ismos",-1,1),new r("osos",-1,1),new r("amentos",-1,1),new r("imentos",-1,1),new r("ivos",-1,8)],S=[new r("ada",-1,1),new r("ida",-1,1),new r("ia",-1,1),new r("aria",2,1),new r("eria",2,1),new r("iria",2,1),new r("ara",-1,1),new r("era",-1,1),new r("ira",-1,1),new r("ava",-1,1),new r("asse",-1,1),new r("esse",-1,1),new r("isse",-1,1),new r("aste",-1,1),new r("este",-1,1),new r("iste",-1,1),new r("ei",-1,1),new r("arei",16,1),new r("erei",16,1),new r("irei",16,1),new r("am",-1,1),new r("iam",20,1),new r("ariam",21,1),new r("eriam",21,1),new r("iriam",21,1),new r("aram",20,1),new r("eram",20,1),new r("iram",20,1),new r("avam",20,1),new r("em",-1,1),new r("arem",29,1),new r("erem",29,1),new r("irem",29,1),new r("assem",29,1),new r("essem",29,1),new r("issem",29,1),new r("ado",-1,1),new r("ido",-1,1),new r("ando",-1,1),new r("endo",-1,1),new r("indo",-1,1),new r("ara~o",-1,1),new r("era~o",-1,1),new r("ira~o",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("ir",-1,1),new r("as",-1,1),new r("adas",47,1),new r("idas",47,1),new r("ias",47,1),new r("arias",50,1),new r("erias",50,1),new r("irias",50,1),new r("aras",47,1),new r("eras",47,1),new r("iras",47,1),new r("avas",47,1),new r("es",-1,1),new r("ardes",58,1),new r("erdes",58,1),new r("irdes",58,1),new r("ares",58,1),new r("eres",58,1),new r("ires",58,1),new r("asses",58,1),new r("esses",58,1),new r("isses",58,1),new r("astes",58,1),new r("estes",58,1),new r("istes",58,1),new r("is",-1,1),new r("ais",71,1),new r("eis",71,1),new r("areis",73,1),new r("ereis",73,1),new r("ireis",73,1),new r("áreis",73,1),new r("éreis",73,1),new r("íreis",73,1),new r("ásseis",73,1),new r("ésseis",73,1),new r("ísseis",73,1),new r("áveis",73,1),new r("íeis",73,1),new r("aríeis",84,1),new r("eríeis",84,1),new r("iríeis",84,1),new r("ados",-1,1),new r("idos",-1,1),new r("amos",-1,1),new r("áramos",90,1),new r("éramos",90,1),new r("íramos",90,1),new r("ávamos",90,1),new r("íamos",90,1),new r("aríamos",95,1),new r("eríamos",95,1),new r("iríamos",95,1),new r("emos",-1,1),new r("aremos",99,1),new r("eremos",99,1),new r("iremos",99,1),new r("ássemos",99,1),new r("êssemos",99,1),new r("íssemos",99,1),new r("imos",-1,1),new r("armos",-1,1),new r("ermos",-1,1),new r("irmos",-1,1),new r("ámos",-1,1),new r("arás",-1,1),new r("erás",-1,1),new r("irás",-1,1),new r("eu",-1,1),new r("iu",-1,1),new r("ou",-1,1),new r("ará",-1,1),new r("erá",-1,1),new r("irá",-1,1)],W=[new r("a",-1,1),new r("i",-1,1),new r("o",-1,1),new r("os",-1,1),new r("á",-1,1),new r("í",-1,1),new r("ó",-1,1)],L=[new r("e",-1,1),new r("ç",-1,2),new r("é",-1,1),new r("ê",-1,1)],y=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,3,19,12,2],z=new s;this.setCurrent=function(e){z.setCurrent(e)},this.getCurrent=function(){return z.getCurrent()},this.stem=function(){var r=z.cursor;return e(),z.cursor=r,a(),z.limit_backward=r,z.cursor=z.limit,_(),z.cursor=z.limit,p(),z.cursor=z.limit_backward,u(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.pt.stemmer,"stemmer-pt"),e.pt.stopWordFilter=e.generateStopWordFilter("a ao aos aquela aquelas aquele aqueles aquilo as até com como da das de dela delas dele deles depois do dos e ela elas ele eles em entre era eram essa essas esse esses esta estamos estas estava estavam este esteja estejam estejamos estes esteve estive estivemos estiver estivera estiveram estiverem estivermos estivesse estivessem estivéramos estivéssemos estou está estávamos estão eu foi fomos for fora foram forem formos fosse fossem fui fôramos fôssemos haja hajam hajamos havemos hei houve houvemos houver houvera houveram houverei houverem houveremos houveria houveriam houvermos houverá houverão houveríamos houvesse houvessem houvéramos houvéssemos há hão isso isto já lhe lhes mais mas me mesmo meu meus minha minhas muito na nas nem no nos nossa nossas nosso nossos num numa não nós o os ou para pela pelas pelo pelos por qual quando que quem se seja sejam sejamos sem serei seremos seria seriam será serão seríamos seu seus somos sou sua suas são só também te tem temos tenha tenham tenhamos tenho terei teremos teria teriam terá terão teríamos teu teus teve tinha tinham tive tivemos tiver tivera tiveram tiverem tivermos tivesse tivessem tivéramos tivéssemos tu tua tuas tém tínhamos um uma você vocês vos à às éramos".split(" ")),e.Pipeline.registerFunction(e.pt.stopWordFilter,"stopWordFilter-pt")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.ro.min.js b/assets/javascripts/lunr/min/lunr.ro.min.js new file mode 100644 index 00000000..72771401 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.ro.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Romanian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ro=function(){this.pipeline.reset(),this.pipeline.add(e.ro.trimmer,e.ro.stopWordFilter,e.ro.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ro.stemmer))},e.ro.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.ro.trimmer=e.trimmerSupport.generateTrimmer(e.ro.wordCharacters),e.Pipeline.registerFunction(e.ro.trimmer,"trimmer-ro"),e.ro.stemmer=function(){var i=e.stemmerSupport.Among,r=e.stemmerSupport.SnowballProgram,n=new function(){function e(e,i){L.eq_s(1,e)&&(L.ket=L.cursor,L.in_grouping(W,97,259)&&L.slice_from(i))}function n(){for(var i,r;;){if(i=L.cursor,L.in_grouping(W,97,259)&&(r=L.cursor,L.bra=r,e("u","U"),L.cursor=r,e("i","I")),L.cursor=i,L.cursor>=L.limit)break;L.cursor++}}function t(){if(L.out_grouping(W,97,259)){for(;!L.in_grouping(W,97,259);){if(L.cursor>=L.limit)return!0;L.cursor++}return!1}return!0}function a(){if(L.in_grouping(W,97,259))for(;!L.out_grouping(W,97,259);){if(L.cursor>=L.limit)return!0;L.cursor++}return!1}function o(){var e,i,r=L.cursor;if(L.in_grouping(W,97,259)){if(e=L.cursor,!t())return void(h=L.cursor);if(L.cursor=e,!a())return void(h=L.cursor)}L.cursor=r,L.out_grouping(W,97,259)&&(i=L.cursor,t()&&(L.cursor=i,L.in_grouping(W,97,259)&&L.cursor=L.limit)return!1;L.cursor++}for(;!L.out_grouping(W,97,259);){if(L.cursor>=L.limit)return!1;L.cursor++}return!0}function c(){var e=L.cursor;h=L.limit,k=h,g=h,o(),L.cursor=e,u()&&(k=L.cursor,u()&&(g=L.cursor))}function s(){for(var e;;){if(L.bra=L.cursor,e=L.find_among(z,3))switch(L.ket=L.cursor,e){case 1:L.slice_from("i");continue;case 2:L.slice_from("u");continue;case 3:if(L.cursor>=L.limit)break;L.cursor++;continue}break}}function w(){return h<=L.cursor}function m(){return k<=L.cursor}function l(){return g<=L.cursor}function f(){var e,i;if(L.ket=L.cursor,(e=L.find_among_b(C,16))&&(L.bra=L.cursor,m()))switch(e){case 1:L.slice_del();break;case 2:L.slice_from("a");break;case 3:L.slice_from("e");break;case 4:L.slice_from("i");break;case 5:i=L.limit-L.cursor,L.eq_s_b(2,"ab")||(L.cursor=L.limit-i,L.slice_from("i"));break;case 6:L.slice_from("at");break;case 7:L.slice_from("aţi")}}function p(){var e,i=L.limit-L.cursor;if(L.ket=L.cursor,(e=L.find_among_b(P,46))&&(L.bra=L.cursor,m())){switch(e){case 1:L.slice_from("abil");break;case 2:L.slice_from("ibil");break;case 3:L.slice_from("iv");break;case 4:L.slice_from("ic");break;case 5:L.slice_from("at");break;case 6:L.slice_from("it")}return _=!0,L.cursor=L.limit-i,!0}return!1}function d(){var e,i;for(_=!1;;)if(i=L.limit-L.cursor,!p()){L.cursor=L.limit-i;break}if(L.ket=L.cursor,(e=L.find_among_b(F,62))&&(L.bra=L.cursor,l())){switch(e){case 1:L.slice_del();break;case 2:L.eq_s_b(1,"ţ")&&(L.bra=L.cursor,L.slice_from("t"));break;case 3:L.slice_from("ist")}_=!0}}function b(){var e,i,r;if(L.cursor>=h){if(i=L.limit_backward,L.limit_backward=h,L.ket=L.cursor,e=L.find_among_b(q,94))switch(L.bra=L.cursor,e){case 1:if(r=L.limit-L.cursor,!L.out_grouping_b(W,97,259)&&(L.cursor=L.limit-r,!L.eq_s_b(1,"u")))break;case 2:L.slice_del()}L.limit_backward=i}}function v(){var e;L.ket=L.cursor,(e=L.find_among_b(S,5))&&(L.bra=L.cursor,w()&&1==e&&L.slice_del())}var _,g,k,h,z=[new i("",-1,3),new i("I",0,1),new i("U",0,2)],C=[new i("ea",-1,3),new i("aţia",-1,7),new i("aua",-1,2),new i("iua",-1,4),new i("aţie",-1,7),new i("ele",-1,3),new i("ile",-1,5),new i("iile",6,4),new i("iei",-1,4),new i("atei",-1,6),new i("ii",-1,4),new i("ului",-1,1),new i("ul",-1,1),new i("elor",-1,3),new i("ilor",-1,4),new i("iilor",14,4)],P=[new i("icala",-1,4),new i("iciva",-1,4),new i("ativa",-1,5),new i("itiva",-1,6),new i("icale",-1,4),new i("aţiune",-1,5),new i("iţiune",-1,6),new i("atoare",-1,5),new i("itoare",-1,6),new i("ătoare",-1,5),new i("icitate",-1,4),new i("abilitate",-1,1),new i("ibilitate",-1,2),new i("ivitate",-1,3),new i("icive",-1,4),new i("ative",-1,5),new i("itive",-1,6),new i("icali",-1,4),new i("atori",-1,5),new i("icatori",18,4),new i("itori",-1,6),new i("ători",-1,5),new i("icitati",-1,4),new i("abilitati",-1,1),new i("ivitati",-1,3),new i("icivi",-1,4),new i("ativi",-1,5),new i("itivi",-1,6),new i("icităi",-1,4),new i("abilităi",-1,1),new i("ivităi",-1,3),new i("icităţi",-1,4),new i("abilităţi",-1,1),new i("ivităţi",-1,3),new i("ical",-1,4),new i("ator",-1,5),new i("icator",35,4),new i("itor",-1,6),new i("ător",-1,5),new i("iciv",-1,4),new i("ativ",-1,5),new i("itiv",-1,6),new i("icală",-1,4),new i("icivă",-1,4),new i("ativă",-1,5),new i("itivă",-1,6)],F=[new i("ica",-1,1),new i("abila",-1,1),new i("ibila",-1,1),new i("oasa",-1,1),new i("ata",-1,1),new i("ita",-1,1),new i("anta",-1,1),new i("ista",-1,3),new i("uta",-1,1),new i("iva",-1,1),new i("ic",-1,1),new i("ice",-1,1),new i("abile",-1,1),new i("ibile",-1,1),new i("isme",-1,3),new i("iune",-1,2),new i("oase",-1,1),new i("ate",-1,1),new i("itate",17,1),new i("ite",-1,1),new i("ante",-1,1),new i("iste",-1,3),new i("ute",-1,1),new i("ive",-1,1),new i("ici",-1,1),new i("abili",-1,1),new i("ibili",-1,1),new i("iuni",-1,2),new i("atori",-1,1),new i("osi",-1,1),new i("ati",-1,1),new i("itati",30,1),new i("iti",-1,1),new i("anti",-1,1),new i("isti",-1,3),new i("uti",-1,1),new i("işti",-1,3),new i("ivi",-1,1),new i("ităi",-1,1),new i("oşi",-1,1),new i("ităţi",-1,1),new i("abil",-1,1),new i("ibil",-1,1),new i("ism",-1,3),new i("ator",-1,1),new i("os",-1,1),new i("at",-1,1),new i("it",-1,1),new i("ant",-1,1),new i("ist",-1,3),new i("ut",-1,1),new i("iv",-1,1),new i("ică",-1,1),new i("abilă",-1,1),new i("ibilă",-1,1),new i("oasă",-1,1),new i("ată",-1,1),new i("ită",-1,1),new i("antă",-1,1),new i("istă",-1,3),new i("ută",-1,1),new i("ivă",-1,1)],q=[new i("ea",-1,1),new i("ia",-1,1),new i("esc",-1,1),new i("ăsc",-1,1),new i("ind",-1,1),new i("ând",-1,1),new i("are",-1,1),new i("ere",-1,1),new i("ire",-1,1),new i("âre",-1,1),new i("se",-1,2),new i("ase",10,1),new i("sese",10,2),new i("ise",10,1),new i("use",10,1),new i("âse",10,1),new i("eşte",-1,1),new i("ăşte",-1,1),new i("eze",-1,1),new i("ai",-1,1),new i("eai",19,1),new i("iai",19,1),new i("sei",-1,2),new i("eşti",-1,1),new i("ăşti",-1,1),new i("ui",-1,1),new i("ezi",-1,1),new i("âi",-1,1),new i("aşi",-1,1),new i("seşi",-1,2),new i("aseşi",29,1),new i("seseşi",29,2),new i("iseşi",29,1),new i("useşi",29,1),new i("âseşi",29,1),new i("işi",-1,1),new i("uşi",-1,1),new i("âşi",-1,1),new i("aţi",-1,2),new i("eaţi",38,1),new i("iaţi",38,1),new i("eţi",-1,2),new i("iţi",-1,2),new i("âţi",-1,2),new i("arăţi",-1,1),new i("serăţi",-1,2),new i("aserăţi",45,1),new i("seserăţi",45,2),new i("iserăţi",45,1),new i("userăţi",45,1),new i("âserăţi",45,1),new i("irăţi",-1,1),new i("urăţi",-1,1),new i("ârăţi",-1,1),new i("am",-1,1),new i("eam",54,1),new i("iam",54,1),new i("em",-1,2),new i("asem",57,1),new i("sesem",57,2),new i("isem",57,1),new i("usem",57,1),new i("âsem",57,1),new i("im",-1,2),new i("âm",-1,2),new i("ăm",-1,2),new i("arăm",65,1),new i("serăm",65,2),new i("aserăm",67,1),new i("seserăm",67,2),new i("iserăm",67,1),new i("userăm",67,1),new i("âserăm",67,1),new i("irăm",65,1),new i("urăm",65,1),new i("ârăm",65,1),new i("au",-1,1),new i("eau",76,1),new i("iau",76,1),new i("indu",-1,1),new i("ându",-1,1),new i("ez",-1,1),new i("ească",-1,1),new i("ară",-1,1),new i("seră",-1,2),new i("aseră",84,1),new i("seseră",84,2),new i("iseră",84,1),new i("useră",84,1),new i("âseră",84,1),new i("iră",-1,1),new i("ură",-1,1),new i("âră",-1,1),new i("ează",-1,1)],S=[new i("a",-1,1),new i("e",-1,1),new i("ie",1,1),new i("i",-1,1),new i("ă",-1,1)],W=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,2,32,0,0,4],L=new r;this.setCurrent=function(e){L.setCurrent(e)},this.getCurrent=function(){return L.getCurrent()},this.stem=function(){var e=L.cursor;return n(),L.cursor=e,c(),L.limit_backward=e,L.cursor=L.limit,f(),L.cursor=L.limit,d(),L.cursor=L.limit,_||(L.cursor=L.limit,b(),L.cursor=L.limit),v(),L.cursor=L.limit_backward,s(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return n.setCurrent(e),n.stem(),n.getCurrent()}):(n.setCurrent(e),n.stem(),n.getCurrent())}}(),e.Pipeline.registerFunction(e.ro.stemmer,"stemmer-ro"),e.ro.stopWordFilter=e.generateStopWordFilter("acea aceasta această aceea acei aceia acel acela acele acelea acest acesta aceste acestea aceşti aceştia acolo acord acum ai aia aibă aici al ale alea altceva altcineva am ar are asemenea asta astea astăzi asupra au avea avem aveţi azi aş aşadar aţi bine bucur bună ca care caut ce cel ceva chiar cinci cine cineva contra cu cum cumva curând curînd când cât câte câtva câţi cînd cît cîte cîtva cîţi că căci cărei căror cărui către da dacă dar datorită dată dau de deci deja deoarece departe deşi din dinaintea dintr- dintre doi doilea două drept după dă ea ei el ele eram este eu eşti face fata fi fie fiecare fii fim fiu fiţi frumos fără graţie halbă iar ieri la le li lor lui lângă lîngă mai mea mei mele mereu meu mi mie mine mult multă mulţi mulţumesc mâine mîine mă ne nevoie nici nicăieri nimeni nimeri nimic nişte noastre noastră noi noroc nostru nouă noştri nu opt ori oricare orice oricine oricum oricând oricât oricînd oricît oriunde patra patru patrulea pe pentru peste pic poate pot prea prima primul prin puţin puţina puţină până pînă rog sa sale sau se spate spre sub sunt suntem sunteţi sută sînt sîntem sînteţi să săi său ta tale te timp tine toate toată tot totuşi toţi trei treia treilea tu tăi tău un una unde undeva unei uneia unele uneori unii unor unora unu unui unuia unul vi voastre voastră voi vostru vouă voştri vreme vreo vreun vă zece zero zi zice îi îl îmi împotriva în înainte înaintea încotro încât încît între întrucât întrucît îţi ăla ălea ăsta ăstea ăştia şapte şase şi ştiu ţi ţie".split(" ")),e.Pipeline.registerFunction(e.ro.stopWordFilter,"stopWordFilter-ro")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.ru.min.js b/assets/javascripts/lunr/min/lunr.ru.min.js new file mode 100644 index 00000000..186cc485 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.ru.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Russian` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,n){"function"==typeof define&&define.amd?define(n):"object"==typeof exports?module.exports=n():n()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ru=function(){this.pipeline.reset(),this.pipeline.add(e.ru.trimmer,e.ru.stopWordFilter,e.ru.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ru.stemmer))},e.ru.wordCharacters="Ѐ-҄҇-ԯᴫᵸⷠ-ⷿꙀ-ꚟ︮︯",e.ru.trimmer=e.trimmerSupport.generateTrimmer(e.ru.wordCharacters),e.Pipeline.registerFunction(e.ru.trimmer,"trimmer-ru"),e.ru.stemmer=function(){var n=e.stemmerSupport.Among,r=e.stemmerSupport.SnowballProgram,t=new function(){function e(){for(;!W.in_grouping(S,1072,1103);){if(W.cursor>=W.limit)return!1;W.cursor++}return!0}function t(){for(;!W.out_grouping(S,1072,1103);){if(W.cursor>=W.limit)return!1;W.cursor++}return!0}function w(){b=W.limit,_=b,e()&&(b=W.cursor,t()&&e()&&t()&&(_=W.cursor))}function i(){return _<=W.cursor}function u(e,n){var r,t;if(W.ket=W.cursor,r=W.find_among_b(e,n)){switch(W.bra=W.cursor,r){case 1:if(t=W.limit-W.cursor,!W.eq_s_b(1,"а")&&(W.cursor=W.limit-t,!W.eq_s_b(1,"я")))return!1;case 2:W.slice_del()}return!0}return!1}function o(){return u(h,9)}function s(e,n){var r;return W.ket=W.cursor,!!(r=W.find_among_b(e,n))&&(W.bra=W.cursor,1==r&&W.slice_del(),!0)}function c(){return s(g,26)}function m(){return!!c()&&(u(C,8),!0)}function f(){return s(k,2)}function l(){return u(P,46)}function a(){s(v,36)}function p(){var e;W.ket=W.cursor,(e=W.find_among_b(F,2))&&(W.bra=W.cursor,i()&&1==e&&W.slice_del())}function d(){var e;if(W.ket=W.cursor,e=W.find_among_b(q,4))switch(W.bra=W.cursor,e){case 1:if(W.slice_del(),W.ket=W.cursor,!W.eq_s_b(1,"н"))break;W.bra=W.cursor;case 2:if(!W.eq_s_b(1,"н"))break;case 3:W.slice_del()}}var _,b,h=[new n("в",-1,1),new n("ив",0,2),new n("ыв",0,2),new n("вши",-1,1),new n("ивши",3,2),new n("ывши",3,2),new n("вшись",-1,1),new n("ившись",6,2),new n("ывшись",6,2)],g=[new n("ее",-1,1),new n("ие",-1,1),new n("ое",-1,1),new n("ые",-1,1),new n("ими",-1,1),new n("ыми",-1,1),new n("ей",-1,1),new n("ий",-1,1),new n("ой",-1,1),new n("ый",-1,1),new n("ем",-1,1),new n("им",-1,1),new n("ом",-1,1),new n("ым",-1,1),new n("его",-1,1),new n("ого",-1,1),new n("ему",-1,1),new n("ому",-1,1),new n("их",-1,1),new n("ых",-1,1),new n("ею",-1,1),new n("ою",-1,1),new n("ую",-1,1),new n("юю",-1,1),new n("ая",-1,1),new n("яя",-1,1)],C=[new n("ем",-1,1),new n("нн",-1,1),new n("вш",-1,1),new n("ивш",2,2),new n("ывш",2,2),new n("щ",-1,1),new n("ющ",5,1),new n("ующ",6,2)],k=[new n("сь",-1,1),new n("ся",-1,1)],P=[new n("ла",-1,1),new n("ила",0,2),new n("ыла",0,2),new n("на",-1,1),new n("ена",3,2),new n("ете",-1,1),new n("ите",-1,2),new n("йте",-1,1),new n("ейте",7,2),new n("уйте",7,2),new n("ли",-1,1),new n("или",10,2),new n("ыли",10,2),new n("й",-1,1),new n("ей",13,2),new n("уй",13,2),new n("л",-1,1),new n("ил",16,2),new n("ыл",16,2),new n("ем",-1,1),new n("им",-1,2),new n("ым",-1,2),new n("н",-1,1),new n("ен",22,2),new n("ло",-1,1),new n("ило",24,2),new n("ыло",24,2),new n("но",-1,1),new n("ено",27,2),new n("нно",27,1),new n("ет",-1,1),new n("ует",30,2),new n("ит",-1,2),new n("ыт",-1,2),new n("ют",-1,1),new n("уют",34,2),new n("ят",-1,2),new n("ны",-1,1),new n("ены",37,2),new n("ть",-1,1),new n("ить",39,2),new n("ыть",39,2),new n("ешь",-1,1),new n("ишь",-1,2),new n("ю",-1,2),new n("ую",44,2)],v=[new n("а",-1,1),new n("ев",-1,1),new n("ов",-1,1),new n("е",-1,1),new n("ие",3,1),new n("ье",3,1),new n("и",-1,1),new n("еи",6,1),new n("ии",6,1),new n("ами",6,1),new n("ями",6,1),new n("иями",10,1),new n("й",-1,1),new n("ей",12,1),new n("ией",13,1),new n("ий",12,1),new n("ой",12,1),new n("ам",-1,1),new n("ем",-1,1),new n("ием",18,1),new n("ом",-1,1),new n("ям",-1,1),new n("иям",21,1),new n("о",-1,1),new n("у",-1,1),new n("ах",-1,1),new n("ях",-1,1),new n("иях",26,1),new n("ы",-1,1),new n("ь",-1,1),new n("ю",-1,1),new n("ию",30,1),new n("ью",30,1),new n("я",-1,1),new n("ия",33,1),new n("ья",33,1)],F=[new n("ост",-1,1),new n("ость",-1,1)],q=[new n("ейше",-1,1),new n("н",-1,2),new n("ейш",-1,1),new n("ь",-1,3)],S=[33,65,8,232],W=new r;this.setCurrent=function(e){W.setCurrent(e)},this.getCurrent=function(){return W.getCurrent()},this.stem=function(){return w(),W.cursor=W.limit,!(W.cursor=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor++,!0}return!1},in_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e<=s&&e>=i&&(e-=i,t[e>>3]&1<<(7&e)))return this.cursor--,!0}return!1},out_grouping:function(t,i,s){if(this.cursors||e>3]&1<<(7&e)))return this.cursor++,!0}return!1},out_grouping_b:function(t,i,s){if(this.cursor>this.limit_backward){var e=r.charCodeAt(this.cursor-1);if(e>s||e>3]&1<<(7&e)))return this.cursor--,!0}return!1},eq_s:function(t,i){if(this.limit-this.cursor>1),f=0,l=o0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n+_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n+_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},find_among_b:function(t,i){for(var s=0,e=i,n=this.cursor,u=this.limit_backward,o=0,h=0,c=!1;;){for(var a=s+(e-s>>1),f=0,l=o=0;m--){if(n-l==u){f=-1;break}if(f=r.charCodeAt(n-1-l)-_.s[m])break;l++}if(f<0?(e=a,h=l):(s=a,o=l),e-s<=1){if(s>0||e==s||c)break;c=!0}}for(;;){var _=t[s];if(o>=_.s_size){if(this.cursor=n-_.s_size,!_.method)return _.result;var b=_.method();if(this.cursor=n-_.s_size,b)return _.result}if((s=_.substring_i)<0)return 0}},replace_s:function(t,i,s){var e=s.length-(i-t),n=r.substring(0,t),u=r.substring(i);return r=n+s+u,this.limit+=e,this.cursor>=i?this.cursor+=e:this.cursor>t&&(this.cursor=t),e},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>r.length)throw"faulty slice operation"},slice_from:function(r){this.slice_check(),this.replace_s(this.bra,this.ket,r)},slice_del:function(){this.slice_from("")},insert:function(r,t,i){var s=this.replace_s(r,t,i);r<=this.bra&&(this.bra+=s),r<=this.ket&&(this.ket+=s)},slice_to:function(){return this.slice_check(),r.substring(this.bra,this.ket)},eq_v_b:function(r){return this.eq_s_b(r.length,r)}}}},r.trimmerSupport={generateTrimmer:function(r){var t=new RegExp("^[^"+r+"]+"),i=new RegExp("[^"+r+"]+$");return function(r){return"function"==typeof r.update?r.update(function(r){return r.replace(t,"").replace(i,"")}):r.replace(t,"").replace(i,"")}}}}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.sv.min.js b/assets/javascripts/lunr/min/lunr.sv.min.js new file mode 100644 index 00000000..3e5eb640 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.sv.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Swedish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.sv=function(){this.pipeline.reset(),this.pipeline.add(e.sv.trimmer,e.sv.stopWordFilter,e.sv.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.sv.stemmer))},e.sv.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",e.sv.trimmer=e.trimmerSupport.generateTrimmer(e.sv.wordCharacters),e.Pipeline.registerFunction(e.sv.trimmer,"trimmer-sv"),e.sv.stemmer=function(){var r=e.stemmerSupport.Among,n=e.stemmerSupport.SnowballProgram,t=new function(){function e(){var e,r=w.cursor+3;if(o=w.limit,0<=r||r<=w.limit){for(a=r;;){if(e=w.cursor,w.in_grouping(l,97,246)){w.cursor=e;break}if(w.cursor=e,w.cursor>=w.limit)return;w.cursor++}for(;!w.out_grouping(l,97,246);){if(w.cursor>=w.limit)return;w.cursor++}o=w.cursor,o=o&&(w.limit_backward=o,w.cursor=w.limit,w.ket=w.cursor,e=w.find_among_b(u,37),w.limit_backward=r,e))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:w.in_grouping_b(d,98,121)&&w.slice_del()}}function i(){var e=w.limit_backward;w.cursor>=o&&(w.limit_backward=o,w.cursor=w.limit,w.find_among_b(c,7)&&(w.cursor=w.limit,w.ket=w.cursor,w.cursor>w.limit_backward&&(w.bra=--w.cursor,w.slice_del())),w.limit_backward=e)}function s(){var e,r;if(w.cursor>=o){if(r=w.limit_backward,w.limit_backward=o,w.cursor=w.limit,w.ket=w.cursor,e=w.find_among_b(m,5))switch(w.bra=w.cursor,e){case 1:w.slice_del();break;case 2:w.slice_from("lös");break;case 3:w.slice_from("full")}w.limit_backward=r}}var a,o,u=[new r("a",-1,1),new r("arna",0,1),new r("erna",0,1),new r("heterna",2,1),new r("orna",0,1),new r("ad",-1,1),new r("e",-1,1),new r("ade",6,1),new r("ande",6,1),new r("arne",6,1),new r("are",6,1),new r("aste",6,1),new r("en",-1,1),new r("anden",12,1),new r("aren",12,1),new r("heten",12,1),new r("ern",-1,1),new r("ar",-1,1),new r("er",-1,1),new r("heter",18,1),new r("or",-1,1),new r("s",-1,2),new r("as",21,1),new r("arnas",22,1),new r("ernas",22,1),new r("ornas",22,1),new r("es",21,1),new r("ades",26,1),new r("andes",26,1),new r("ens",21,1),new r("arens",29,1),new r("hetens",29,1),new r("erns",21,1),new r("at",-1,1),new r("andet",-1,1),new r("het",-1,1),new r("ast",-1,1)],c=[new r("dd",-1,-1),new r("gd",-1,-1),new r("nn",-1,-1),new r("dt",-1,-1),new r("gt",-1,-1),new r("kt",-1,-1),new r("tt",-1,-1)],m=[new r("ig",-1,1),new r("lig",0,1),new r("els",-1,1),new r("fullt",-1,3),new r("löst",-1,2)],l=[17,65,16,1,0,0,0,0,0,0,0,0,0,0,0,0,24,0,32],d=[119,127,149],w=new n;this.setCurrent=function(e){w.setCurrent(e)},this.getCurrent=function(){return w.getCurrent()},this.stem=function(){var r=w.cursor;return e(),w.limit_backward=r,w.cursor=w.limit,t(),w.cursor=w.limit,i(),w.cursor=w.limit,s(),!0}};return function(e){return"function"==typeof e.update?e.update(function(e){return t.setCurrent(e),t.stem(),t.getCurrent()}):(t.setCurrent(e),t.stem(),t.getCurrent())}}(),e.Pipeline.registerFunction(e.sv.stemmer,"stemmer-sv"),e.sv.stopWordFilter=e.generateStopWordFilter("alla allt att av blev bli blir blivit de dem den denna deras dess dessa det detta dig din dina ditt du där då efter ej eller en er era ert ett från för ha hade han hans har henne hennes hon honom hur här i icke ingen inom inte jag ju kan kunde man med mellan men mig min mina mitt mot mycket ni nu när någon något några och om oss på samma sedan sig sin sina sitta själv skulle som så sådan sådana sådant till under upp ut utan vad var vara varför varit varje vars vart vem vi vid vilka vilkas vilken vilket vår våra vårt än är åt över".split(" ")),e.Pipeline.registerFunction(e.sv.stopWordFilter,"stopWordFilter-sv")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.ta.min.js b/assets/javascripts/lunr/min/lunr.ta.min.js new file mode 100644 index 00000000..a644bed2 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.ta.min.js @@ -0,0 +1 @@ +!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.ta=function(){this.pipeline.reset(),this.pipeline.add(e.ta.trimmer,e.ta.stopWordFilter,e.ta.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.ta.stemmer))},e.ta.wordCharacters="஀-உஊ-ஏஐ-ஙச-ட஠-னப-யர-ஹ஺-ிீ-௉ொ-௏ௐ-௙௚-௟௠-௩௪-௯௰-௹௺-௿a-zA-Za-zA-Z0-90-9",e.ta.trimmer=e.trimmerSupport.generateTrimmer(e.ta.wordCharacters),e.Pipeline.registerFunction(e.ta.trimmer,"trimmer-ta"),e.ta.stopWordFilter=e.generateStopWordFilter("அங்கு அங்கே அது அதை அந்த அவர் அவர்கள் அவள் அவன் அவை ஆக ஆகவே ஆகையால் ஆதலால் ஆதலினால் ஆனாலும் ஆனால் இங்கு இங்கே இது இதை இந்த இப்படி இவர் இவர்கள் இவள் இவன் இவை இவ்வளவு உனக்கு உனது உன் உன்னால் எங்கு எங்கே எது எதை எந்த எப்படி எவர் எவர்கள் எவள் எவன் எவை எவ்வளவு எனக்கு எனது எனவே என் என்ன என்னால் ஏது ஏன் தனது தன்னால் தானே தான் நாங்கள் நாம் நான் நீ நீங்கள்".split(" ")),e.ta.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var t=e.wordcut;t.init(),e.ta.tokenizer=function(r){if(!arguments.length||null==r||void 0==r)return[];if(Array.isArray(r))return r.map(function(t){return isLunr2?new e.Token(t.toLowerCase()):t.toLowerCase()});var i=r.toString().toLowerCase().replace(/^\s+/,"");return t.cut(i).split("|")},e.Pipeline.registerFunction(e.ta.stemmer,"stemmer-ta"),e.Pipeline.registerFunction(e.ta.stopWordFilter,"stopWordFilter-ta")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.te.min.js b/assets/javascripts/lunr/min/lunr.te.min.js new file mode 100644 index 00000000..9fa7a93b --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.te.min.js @@ -0,0 +1 @@ +!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():t()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.te=function(){this.pipeline.reset(),this.pipeline.add(e.te.trimmer,e.te.stopWordFilter,e.te.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(e.te.stemmer))},e.te.wordCharacters="ఀ-ఄఅ-ఔక-హా-ౌౕ-ౖౘ-ౚౠ-ౡౢ-ౣ౦-౯౸-౿఼ఽ్ౝ౷౤౥",e.te.trimmer=e.trimmerSupport.generateTrimmer(e.te.wordCharacters),e.Pipeline.registerFunction(e.te.trimmer,"trimmer-te"),e.te.stopWordFilter=e.generateStopWordFilter("అందరూ అందుబాటులో అడగండి అడగడం అడ్డంగా అనుగుణంగా అనుమతించు అనుమతిస్తుంది అయితే ఇప్పటికే ఉన్నారు ఎక్కడైనా ఎప్పుడు ఎవరైనా ఎవరో ఏ ఏదైనా ఏమైనప్పటికి ఒక ఒకరు కనిపిస్తాయి కాదు కూడా గా గురించి చుట్టూ చేయగలిగింది తగిన తర్వాత దాదాపు దూరంగా నిజంగా పై ప్రకారం ప్రక్కన మధ్య మరియు మరొక మళ్ళీ మాత్రమే మెచ్చుకో వద్ద వెంట వేరుగా వ్యతిరేకంగా సంబంధం".split(" ")),e.te.stemmer=function(){return function(e){return"function"==typeof e.update?e.update(function(e){return e}):e}}();var t=e.wordcut;t.init(),e.te.tokenizer=function(r){if(!arguments.length||null==r||void 0==r)return[];if(Array.isArray(r))return r.map(function(t){return isLunr2?new e.Token(t.toLowerCase()):t.toLowerCase()});var i=r.toString().toLowerCase().replace(/^\s+/,"");return t.cut(i).split("|")},e.Pipeline.registerFunction(e.te.stemmer,"stemmer-te"),e.Pipeline.registerFunction(e.te.stopWordFilter,"stopWordFilter-te")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.th.min.js b/assets/javascripts/lunr/min/lunr.th.min.js new file mode 100644 index 00000000..dee3aac6 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.th.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var r="2"==e.version[0];e.th=function(){this.pipeline.reset(),this.pipeline.add(e.th.trimmer),r?this.tokenizer=e.th.tokenizer:(e.tokenizer&&(e.tokenizer=e.th.tokenizer),this.tokenizerFn&&(this.tokenizerFn=e.th.tokenizer))},e.th.wordCharacters="[฀-๿]",e.th.trimmer=e.trimmerSupport.generateTrimmer(e.th.wordCharacters),e.Pipeline.registerFunction(e.th.trimmer,"trimmer-th");var t=e.wordcut;t.init(),e.th.tokenizer=function(i){if(!arguments.length||null==i||void 0==i)return[];if(Array.isArray(i))return i.map(function(t){return r?new e.Token(t):t});var n=i.toString().replace(/^\s+/,"");return t.cut(n).split("|")}}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.tr.min.js b/assets/javascripts/lunr/min/lunr.tr.min.js new file mode 100644 index 00000000..563f6ec1 --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.tr.min.js @@ -0,0 +1,18 @@ +/*! + * Lunr languages, `Turkish` language + * https://github.com/MihaiValentin/lunr-languages + * + * Copyright 2014, Mihai Valentin + * http://www.mozilla.org/MPL/ + */ +/*! + * based on + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +!function(r,i){"function"==typeof define&&define.amd?define(i):"object"==typeof exports?module.exports=i():i()(r.lunr)}(this,function(){return function(r){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");r.tr=function(){this.pipeline.reset(),this.pipeline.add(r.tr.trimmer,r.tr.stopWordFilter,r.tr.stemmer),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add(r.tr.stemmer))},r.tr.wordCharacters="A-Za-zªºÀ-ÖØ-öø-ʸˠ-ˤᴀ-ᴥᴬ-ᵜᵢ-ᵥᵫ-ᵷᵹ-ᶾḀ-ỿⁱⁿₐ-ₜKÅℲⅎⅠ-ↈⱠ-ⱿꜢ-ꞇꞋ-ꞭꞰ-ꞷꟷ-ꟿꬰ-ꭚꭜ-ꭤff-stA-Za-z",r.tr.trimmer=r.trimmerSupport.generateTrimmer(r.tr.wordCharacters),r.Pipeline.registerFunction(r.tr.trimmer,"trimmer-tr"),r.tr.stemmer=function(){var i=r.stemmerSupport.Among,e=r.stemmerSupport.SnowballProgram,n=new function(){function r(r,i,e){for(;;){var n=Dr.limit-Dr.cursor;if(Dr.in_grouping_b(r,i,e)){Dr.cursor=Dr.limit-n;break}if(Dr.cursor=Dr.limit-n,Dr.cursor<=Dr.limit_backward)return!1;Dr.cursor--}return!0}function n(){var i,e;i=Dr.limit-Dr.cursor,r(Wr,97,305);for(var n=0;nDr.limit_backward&&(Dr.cursor--,e=Dr.limit-Dr.cursor,i()))?(Dr.cursor=Dr.limit-e,!0):(Dr.cursor=Dr.limit-n,r()?(Dr.cursor=Dr.limit-n,!1):(Dr.cursor=Dr.limit-n,!(Dr.cursor<=Dr.limit_backward)&&(Dr.cursor--,!!i()&&(Dr.cursor=Dr.limit-n,!0))))}function u(r){return t(r,function(){return Dr.in_grouping_b(Wr,97,305)})}function o(){return u(function(){return Dr.eq_s_b(1,"n")})}function s(){return u(function(){return Dr.eq_s_b(1,"s")})}function c(){return u(function(){return Dr.eq_s_b(1,"y")})}function l(){return t(function(){return Dr.in_grouping_b(Lr,105,305)},function(){return Dr.out_grouping_b(Wr,97,305)})}function a(){return Dr.find_among_b(ur,10)&&l()}function m(){return n()&&Dr.in_grouping_b(Lr,105,305)&&s()}function d(){return Dr.find_among_b(or,2)}function f(){return n()&&Dr.in_grouping_b(Lr,105,305)&&c()}function b(){return n()&&Dr.find_among_b(sr,4)}function w(){return n()&&Dr.find_among_b(cr,4)&&o()}function _(){return n()&&Dr.find_among_b(lr,2)&&c()}function k(){return n()&&Dr.find_among_b(ar,2)}function p(){return n()&&Dr.find_among_b(mr,4)}function g(){return n()&&Dr.find_among_b(dr,2)}function y(){return n()&&Dr.find_among_b(fr,4)}function z(){return n()&&Dr.find_among_b(br,2)}function v(){return n()&&Dr.find_among_b(wr,2)&&c()}function h(){return Dr.eq_s_b(2,"ki")}function q(){return n()&&Dr.find_among_b(_r,2)&&o()}function C(){return n()&&Dr.find_among_b(kr,4)&&c()}function P(){return n()&&Dr.find_among_b(pr,4)}function F(){return n()&&Dr.find_among_b(gr,4)&&c()}function S(){return Dr.find_among_b(yr,4)}function W(){return n()&&Dr.find_among_b(zr,2)}function L(){return n()&&Dr.find_among_b(vr,4)}function x(){return n()&&Dr.find_among_b(hr,8)}function A(){return Dr.find_among_b(qr,2)}function E(){return n()&&Dr.find_among_b(Cr,32)&&c()}function j(){return Dr.find_among_b(Pr,8)&&c()}function T(){return n()&&Dr.find_among_b(Fr,4)&&c()}function Z(){return Dr.eq_s_b(3,"ken")&&c()}function B(){var r=Dr.limit-Dr.cursor;return!(T()||(Dr.cursor=Dr.limit-r,E()||(Dr.cursor=Dr.limit-r,j()||(Dr.cursor=Dr.limit-r,Z()))))}function D(){if(A()){var r=Dr.limit-Dr.cursor;if(S()||(Dr.cursor=Dr.limit-r,W()||(Dr.cursor=Dr.limit-r,C()||(Dr.cursor=Dr.limit-r,P()||(Dr.cursor=Dr.limit-r,F()||(Dr.cursor=Dr.limit-r))))),T())return!1}return!0}function G(){if(W()){Dr.bra=Dr.cursor,Dr.slice_del();var r=Dr.limit-Dr.cursor;return Dr.ket=Dr.cursor,x()||(Dr.cursor=Dr.limit-r,E()||(Dr.cursor=Dr.limit-r,j()||(Dr.cursor=Dr.limit-r,T()||(Dr.cursor=Dr.limit-r)))),nr=!1,!1}return!0}function H(){if(!L())return!0;var r=Dr.limit-Dr.cursor;return!E()&&(Dr.cursor=Dr.limit-r,!j())}function I(){var r,i=Dr.limit-Dr.cursor;return!(S()||(Dr.cursor=Dr.limit-i,F()||(Dr.cursor=Dr.limit-i,P()||(Dr.cursor=Dr.limit-i,C()))))||(Dr.bra=Dr.cursor,Dr.slice_del(),r=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,T()||(Dr.cursor=Dr.limit-r),!1)}function J(){var r,i=Dr.limit-Dr.cursor;if(Dr.ket=Dr.cursor,nr=!0,B()&&(Dr.cursor=Dr.limit-i,D()&&(Dr.cursor=Dr.limit-i,G()&&(Dr.cursor=Dr.limit-i,H()&&(Dr.cursor=Dr.limit-i,I()))))){if(Dr.cursor=Dr.limit-i,!x())return;Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,r=Dr.limit-Dr.cursor,S()||(Dr.cursor=Dr.limit-r,W()||(Dr.cursor=Dr.limit-r,C()||(Dr.cursor=Dr.limit-r,P()||(Dr.cursor=Dr.limit-r,F()||(Dr.cursor=Dr.limit-r))))),T()||(Dr.cursor=Dr.limit-r)}Dr.bra=Dr.cursor,Dr.slice_del()}function K(){var r,i,e,n;if(Dr.ket=Dr.cursor,h()){if(r=Dr.limit-Dr.cursor,p())return Dr.bra=Dr.cursor,Dr.slice_del(),i=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,W()?(Dr.bra=Dr.cursor,Dr.slice_del(),K()):(Dr.cursor=Dr.limit-i,a()&&(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K()))),!0;if(Dr.cursor=Dr.limit-r,w()){if(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,e=Dr.limit-Dr.cursor,d())Dr.bra=Dr.cursor,Dr.slice_del();else{if(Dr.cursor=Dr.limit-e,Dr.ket=Dr.cursor,!a()&&(Dr.cursor=Dr.limit-e,!m()&&(Dr.cursor=Dr.limit-e,!K())))return!0;Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K())}return!0}if(Dr.cursor=Dr.limit-r,g()){if(n=Dr.limit-Dr.cursor,d())Dr.bra=Dr.cursor,Dr.slice_del();else if(Dr.cursor=Dr.limit-n,m())Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K());else if(Dr.cursor=Dr.limit-n,!K())return!1;return!0}}return!1}function M(r){if(Dr.ket=Dr.cursor,!g()&&(Dr.cursor=Dr.limit-r,!k()))return!1;var i=Dr.limit-Dr.cursor;if(d())Dr.bra=Dr.cursor,Dr.slice_del();else if(Dr.cursor=Dr.limit-i,m())Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K());else if(Dr.cursor=Dr.limit-i,!K())return!1;return!0}function N(r){if(Dr.ket=Dr.cursor,!z()&&(Dr.cursor=Dr.limit-r,!b()))return!1;var i=Dr.limit-Dr.cursor;return!(!m()&&(Dr.cursor=Dr.limit-i,!d()))&&(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K()),!0)}function O(){var r,i=Dr.limit-Dr.cursor;return Dr.ket=Dr.cursor,!(!w()&&(Dr.cursor=Dr.limit-i,!v()))&&(Dr.bra=Dr.cursor,Dr.slice_del(),r=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,!(!W()||(Dr.bra=Dr.cursor,Dr.slice_del(),!K()))||(Dr.cursor=Dr.limit-r,Dr.ket=Dr.cursor,!(a()||(Dr.cursor=Dr.limit-r,m()||(Dr.cursor=Dr.limit-r,K())))||(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K()),!0)))}function Q(){var r,i,e=Dr.limit-Dr.cursor;if(Dr.ket=Dr.cursor,!p()&&(Dr.cursor=Dr.limit-e,!f()&&(Dr.cursor=Dr.limit-e,!_())))return!1;if(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,r=Dr.limit-Dr.cursor,a())Dr.bra=Dr.cursor,Dr.slice_del(),i=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,W()||(Dr.cursor=Dr.limit-i);else if(Dr.cursor=Dr.limit-r,!W())return!0;return Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,K(),!0}function R(){var r,i,e=Dr.limit-Dr.cursor;if(Dr.ket=Dr.cursor,W())return Dr.bra=Dr.cursor,Dr.slice_del(),void K();if(Dr.cursor=Dr.limit-e,Dr.ket=Dr.cursor,q())if(Dr.bra=Dr.cursor,Dr.slice_del(),r=Dr.limit-Dr.cursor,Dr.ket=Dr.cursor,d())Dr.bra=Dr.cursor,Dr.slice_del();else{if(Dr.cursor=Dr.limit-r,Dr.ket=Dr.cursor,!a()&&(Dr.cursor=Dr.limit-r,!m())){if(Dr.cursor=Dr.limit-r,Dr.ket=Dr.cursor,!W())return;if(Dr.bra=Dr.cursor,Dr.slice_del(),!K())return}Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K())}else if(Dr.cursor=Dr.limit-e,!M(e)&&(Dr.cursor=Dr.limit-e,!N(e))){if(Dr.cursor=Dr.limit-e,Dr.ket=Dr.cursor,y())return Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,i=Dr.limit-Dr.cursor,void(a()?(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K())):(Dr.cursor=Dr.limit-i,W()?(Dr.bra=Dr.cursor,Dr.slice_del(),K()):(Dr.cursor=Dr.limit-i,K())));if(Dr.cursor=Dr.limit-e,!O()){if(Dr.cursor=Dr.limit-e,d())return Dr.bra=Dr.cursor,void Dr.slice_del();Dr.cursor=Dr.limit-e,K()||(Dr.cursor=Dr.limit-e,Q()||(Dr.cursor=Dr.limit-e,Dr.ket=Dr.cursor,(a()||(Dr.cursor=Dr.limit-e,m()))&&(Dr.bra=Dr.cursor,Dr.slice_del(),Dr.ket=Dr.cursor,W()&&(Dr.bra=Dr.cursor,Dr.slice_del(),K()))))}}}function U(){var r;if(Dr.ket=Dr.cursor,r=Dr.find_among_b(Sr,4))switch(Dr.bra=Dr.cursor,r){case 1:Dr.slice_from("p");break;case 2:Dr.slice_from("ç");break;case 3:Dr.slice_from("t");break;case 4:Dr.slice_from("k")}}function V(){for(;;){var r=Dr.limit-Dr.cursor;if(Dr.in_grouping_b(Wr,97,305)){Dr.cursor=Dr.limit-r;break}if(Dr.cursor=Dr.limit-r,Dr.cursor<=Dr.limit_backward)return!1;Dr.cursor--}return!0}function X(r,i,e){if(Dr.cursor=Dr.limit-r,V()){var n=Dr.limit-Dr.cursor;if(!Dr.eq_s_b(1,i)&&(Dr.cursor=Dr.limit-n,!Dr.eq_s_b(1,e)))return!0;Dr.cursor=Dr.limit-r;var t=Dr.cursor;return Dr.insert(Dr.cursor,Dr.cursor,e),Dr.cursor=t,!1}return!0}function Y(){var r=Dr.limit-Dr.cursor;(Dr.eq_s_b(1,"d")||(Dr.cursor=Dr.limit-r,Dr.eq_s_b(1,"g")))&&X(r,"a","ı")&&X(r,"e","i")&&X(r,"o","u")&&X(r,"ö","ü")}function $(){for(var r,i=Dr.cursor,e=2;;){for(r=Dr.cursor;!Dr.in_grouping(Wr,97,305);){if(Dr.cursor>=Dr.limit)return Dr.cursor=r,!(e>0)&&(Dr.cursor=i,!0);Dr.cursor++}e--}}function rr(r,i,e){for(;!Dr.eq_s(i,e);){if(Dr.cursor>=Dr.limit)return!0;Dr.cursor++}return(tr=i)!=Dr.limit||(Dr.cursor=r,!1)}function ir(){var r=Dr.cursor;return!rr(r,2,"ad")||(Dr.cursor=r,!rr(r,5,"soyad"))}function er(){var r=Dr.cursor;return!ir()&&(Dr.limit_backward=r,Dr.cursor=Dr.limit,Y(),Dr.cursor=Dr.limit,U(),!0)}var nr,tr,ur=[new i("m",-1,-1),new i("n",-1,-1),new i("miz",-1,-1),new i("niz",-1,-1),new i("muz",-1,-1),new i("nuz",-1,-1),new i("müz",-1,-1),new i("nüz",-1,-1),new i("mız",-1,-1),new i("nız",-1,-1)],or=[new i("leri",-1,-1),new i("ları",-1,-1)],sr=[new i("ni",-1,-1),new i("nu",-1,-1),new i("nü",-1,-1),new i("nı",-1,-1)],cr=[new i("in",-1,-1),new i("un",-1,-1),new i("ün",-1,-1),new i("ın",-1,-1)],lr=[new i("a",-1,-1),new i("e",-1,-1)],ar=[new i("na",-1,-1),new i("ne",-1,-1)],mr=[new i("da",-1,-1),new i("ta",-1,-1),new i("de",-1,-1),new i("te",-1,-1)],dr=[new i("nda",-1,-1),new i("nde",-1,-1)],fr=[new i("dan",-1,-1),new i("tan",-1,-1),new i("den",-1,-1),new i("ten",-1,-1)],br=[new i("ndan",-1,-1),new i("nden",-1,-1)],wr=[new i("la",-1,-1),new i("le",-1,-1)],_r=[new i("ca",-1,-1),new i("ce",-1,-1)],kr=[new i("im",-1,-1),new i("um",-1,-1),new i("üm",-1,-1),new i("ım",-1,-1)],pr=[new i("sin",-1,-1),new i("sun",-1,-1),new i("sün",-1,-1),new i("sın",-1,-1)],gr=[new i("iz",-1,-1),new i("uz",-1,-1),new i("üz",-1,-1),new i("ız",-1,-1)],yr=[new i("siniz",-1,-1),new i("sunuz",-1,-1),new i("sünüz",-1,-1),new i("sınız",-1,-1)],zr=[new i("lar",-1,-1),new i("ler",-1,-1)],vr=[new i("niz",-1,-1),new i("nuz",-1,-1),new i("nüz",-1,-1),new i("nız",-1,-1)],hr=[new i("dir",-1,-1),new i("tir",-1,-1),new i("dur",-1,-1),new i("tur",-1,-1),new i("dür",-1,-1),new i("tür",-1,-1),new i("dır",-1,-1),new i("tır",-1,-1)],qr=[new i("casına",-1,-1),new i("cesine",-1,-1)],Cr=[new i("di",-1,-1),new i("ti",-1,-1),new i("dik",-1,-1),new i("tik",-1,-1),new i("duk",-1,-1),new i("tuk",-1,-1),new i("dük",-1,-1),new i("tük",-1,-1),new i("dık",-1,-1),new i("tık",-1,-1),new i("dim",-1,-1),new i("tim",-1,-1),new i("dum",-1,-1),new i("tum",-1,-1),new i("düm",-1,-1),new i("tüm",-1,-1),new i("dım",-1,-1),new i("tım",-1,-1),new i("din",-1,-1),new i("tin",-1,-1),new i("dun",-1,-1),new i("tun",-1,-1),new i("dün",-1,-1),new i("tün",-1,-1),new i("dın",-1,-1),new i("tın",-1,-1),new i("du",-1,-1),new i("tu",-1,-1),new i("dü",-1,-1),new i("tü",-1,-1),new i("dı",-1,-1),new i("tı",-1,-1)],Pr=[new i("sa",-1,-1),new i("se",-1,-1),new i("sak",-1,-1),new i("sek",-1,-1),new i("sam",-1,-1),new i("sem",-1,-1),new i("san",-1,-1),new i("sen",-1,-1)],Fr=[new i("miş",-1,-1),new i("muş",-1,-1),new i("müş",-1,-1),new i("mış",-1,-1)],Sr=[new i("b",-1,1),new i("c",-1,2),new i("d",-1,3),new i("ğ",-1,4)],Wr=[17,65,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,8,0,0,0,0,0,0,1],Lr=[1,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,1],xr=[1,64,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],Ar=[17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130],Er=[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],jr=[17],Tr=[65],Zr=[65],Br=[["a",xr,97,305],["e",Ar,101,252],["ı",Er,97,305],["i",jr,101,105],["o",Tr,111,117],["ö",Zr,246,252],["u",Tr,111,117]],Dr=new e;this.setCurrent=function(r){Dr.setCurrent(r)},this.getCurrent=function(){return Dr.getCurrent()},this.stem=function(){return!!($()&&(Dr.limit_backward=Dr.cursor,Dr.cursor=Dr.limit,J(),Dr.cursor=Dr.limit,nr&&(R(),Dr.cursor=Dr.limit_backward,er())))}};return function(r){return"function"==typeof r.update?r.update(function(r){return n.setCurrent(r),n.stem(),n.getCurrent()}):(n.setCurrent(r),n.stem(),n.getCurrent())}}(),r.Pipeline.registerFunction(r.tr.stemmer,"stemmer-tr"),r.tr.stopWordFilter=r.generateStopWordFilter("acaba altmış altı ama ancak arada aslında ayrıca bana bazı belki ben benden beni benim beri beş bile bin bir biri birkaç birkez birçok birşey birşeyi biz bizden bize bizi bizim bu buna bunda bundan bunlar bunları bunların bunu bunun burada böyle böylece da daha dahi de defa değil diye diğer doksan dokuz dolayı dolayısıyla dört edecek eden ederek edilecek ediliyor edilmesi ediyor elli en etmesi etti ettiği ettiğini eğer gibi göre halen hangi hatta hem henüz hep hepsi her herhangi herkesin hiç hiçbir iki ile ilgili ise itibaren itibariyle için işte kadar karşın katrilyon kendi kendilerine kendini kendisi kendisine kendisini kez ki kim kimden kime kimi kimse kırk milyar milyon mu mü mı nasıl ne neden nedenle nerde nerede nereye niye niçin o olan olarak oldu olduklarını olduğu olduğunu olmadı olmadığı olmak olması olmayan olmaz olsa olsun olup olur olursa oluyor on ona ondan onlar onlardan onları onların onu onun otuz oysa pek rağmen sadece sanki sekiz seksen sen senden seni senin siz sizden sizi sizin tarafından trilyon tüm var vardı ve veya ya yani yapacak yapmak yaptı yaptıkları yaptığı yaptığını yapılan yapılması yapıyor yedi yerine yetmiş yine yirmi yoksa yüz zaten çok çünkü öyle üzere üç şey şeyden şeyi şeyler şu şuna şunda şundan şunları şunu şöyle".split(" ")),r.Pipeline.registerFunction(r.tr.stopWordFilter,"stopWordFilter-tr")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.vi.min.js b/assets/javascripts/lunr/min/lunr.vi.min.js new file mode 100644 index 00000000..22aed28c --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.vi.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r():r()(e.lunr)}(this,function(){return function(e){if(void 0===e)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===e.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");e.vi=function(){this.pipeline.reset(),this.pipeline.add(e.vi.stopWordFilter,e.vi.trimmer)},e.vi.wordCharacters="[A-Za-ẓ̀͐́͑̉̃̓ÂâÊêÔôĂ-ăĐ-đƠ-ơƯ-ư]",e.vi.trimmer=e.trimmerSupport.generateTrimmer(e.vi.wordCharacters),e.Pipeline.registerFunction(e.vi.trimmer,"trimmer-vi"),e.vi.stopWordFilter=e.generateStopWordFilter("là cái nhưng mà".split(" "))}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/min/lunr.zh.min.js b/assets/javascripts/lunr/min/lunr.zh.min.js new file mode 100644 index 00000000..fda66e9c --- /dev/null +++ b/assets/javascripts/lunr/min/lunr.zh.min.js @@ -0,0 +1 @@ +!function(e,r){"function"==typeof define&&define.amd?define(r):"object"==typeof exports?module.exports=r(require("@node-rs/jieba")):r()(e.lunr)}(this,function(e){return function(r,t){if(void 0===r)throw new Error("Lunr is not present. Please include / require Lunr before this script.");if(void 0===r.stemmerSupport)throw new Error("Lunr stemmer support is not present. Please include / require Lunr stemmer support before this script.");var i="2"==r.version[0];r.zh=function(){this.pipeline.reset(),this.pipeline.add(r.zh.trimmer,r.zh.stopWordFilter,r.zh.stemmer),i?this.tokenizer=r.zh.tokenizer:(r.tokenizer&&(r.tokenizer=r.zh.tokenizer),this.tokenizerFn&&(this.tokenizerFn=r.zh.tokenizer))},r.zh.tokenizer=function(n){if(!arguments.length||null==n||void 0==n)return[];if(Array.isArray(n))return n.map(function(e){return i?new r.Token(e.toLowerCase()):e.toLowerCase()});t&&e.load(t);var o=n.toString().trim().toLowerCase(),s=[];e.cut(o,!0).forEach(function(e){s=s.concat(e.split(" "))}),s=s.filter(function(e){return!!e});var u=0;return s.map(function(e,t){if(i){var n=o.indexOf(e,u),s={};return s.position=[n,e.length],s.index=t,u=n,new r.Token(e,s)}return e})},r.zh.wordCharacters="\\w一-龥",r.zh.trimmer=r.trimmerSupport.generateTrimmer(r.zh.wordCharacters),r.Pipeline.registerFunction(r.zh.trimmer,"trimmer-zh"),r.zh.stemmer=function(){return function(e){return e}}(),r.Pipeline.registerFunction(r.zh.stemmer,"stemmer-zh"),r.zh.stopWordFilter=r.generateStopWordFilter("的 一 不 在 人 有 是 为 為 以 于 於 上 他 而 后 後 之 来 來 及 了 因 下 可 到 由 这 這 与 與 也 此 但 并 並 个 個 其 已 无 無 小 我 们 們 起 最 再 今 去 好 只 又 或 很 亦 某 把 那 你 乃 它 吧 被 比 别 趁 当 當 从 從 得 打 凡 儿 兒 尔 爾 该 該 各 给 給 跟 和 何 还 還 即 几 幾 既 看 据 據 距 靠 啦 另 么 麽 每 嘛 拿 哪 您 凭 憑 且 却 卻 让 讓 仍 啥 如 若 使 谁 誰 虽 雖 随 隨 同 所 她 哇 嗡 往 些 向 沿 哟 喲 用 咱 则 則 怎 曾 至 致 着 著 诸 諸 自".split(" ")),r.Pipeline.registerFunction(r.zh.stopWordFilter,"stopWordFilter-zh")}}); \ No newline at end of file diff --git a/assets/javascripts/lunr/tinyseg.js b/assets/javascripts/lunr/tinyseg.js new file mode 100644 index 00000000..167fa6dd --- /dev/null +++ b/assets/javascripts/lunr/tinyseg.js @@ -0,0 +1,206 @@ +/** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ +;(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like environments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + factory()(root.lunr); + } +}(this, function () { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + + return function(lunr) { + // TinySegmenter 0.1 -- Super compact Japanese tokenizer in Javascript + // (c) 2008 Taku Kudo + // TinySegmenter is freely distributable under the terms of a new BSD licence. + // For details, see http://chasen.org/~taku/software/TinySegmenter/LICENCE.txt + + function TinySegmenter() { + var patterns = { + "[一二三四五六七八九十百千万億兆]":"M", + "[一-龠々〆ヵヶ]":"H", + "[ぁ-ん]":"I", + "[ァ-ヴーア-ン゙ー]":"K", + "[a-zA-Za-zA-Z]":"A", + "[0-90-9]":"N" + } + this.chartype_ = []; + for (var i in patterns) { + var regexp = new RegExp(i); + this.chartype_.push([regexp, patterns[i]]); + } + + this.BIAS__ = -332 + this.BC1__ = {"HH":6,"II":2461,"KH":406,"OH":-1378}; + this.BC2__ = {"AA":-3267,"AI":2744,"AN":-878,"HH":-4070,"HM":-1711,"HN":4012,"HO":3761,"IA":1327,"IH":-1184,"II":-1332,"IK":1721,"IO":5492,"KI":3831,"KK":-8741,"MH":-3132,"MK":3334,"OO":-2920}; + this.BC3__ = {"HH":996,"HI":626,"HK":-721,"HN":-1307,"HO":-836,"IH":-301,"KK":2762,"MK":1079,"MM":4034,"OA":-1652,"OH":266}; + this.BP1__ = {"BB":295,"OB":304,"OO":-125,"UB":352}; + this.BP2__ = {"BO":60,"OO":-1762}; + this.BQ1__ = {"BHH":1150,"BHM":1521,"BII":-1158,"BIM":886,"BMH":1208,"BNH":449,"BOH":-91,"BOO":-2597,"OHI":451,"OIH":-296,"OKA":1851,"OKH":-1020,"OKK":904,"OOO":2965}; + this.BQ2__ = {"BHH":118,"BHI":-1159,"BHM":466,"BIH":-919,"BKK":-1720,"BKO":864,"OHH":-1139,"OHM":-181,"OIH":153,"UHI":-1146}; + this.BQ3__ = {"BHH":-792,"BHI":2664,"BII":-299,"BKI":419,"BMH":937,"BMM":8335,"BNN":998,"BOH":775,"OHH":2174,"OHM":439,"OII":280,"OKH":1798,"OKI":-793,"OKO":-2242,"OMH":-2402,"OOO":11699}; + this.BQ4__ = {"BHH":-3895,"BIH":3761,"BII":-4654,"BIK":1348,"BKK":-1806,"BMI":-3385,"BOO":-12396,"OAH":926,"OHH":266,"OHK":-2036,"ONN":-973}; + this.BW1__ = {",と":660,",同":727,"B1あ":1404,"B1同":542,"、と":660,"、同":727,"」と":1682,"あっ":1505,"いう":1743,"いっ":-2055,"いる":672,"うし":-4817,"うん":665,"から":3472,"がら":600,"こう":-790,"こと":2083,"こん":-1262,"さら":-4143,"さん":4573,"した":2641,"して":1104,"すで":-3399,"そこ":1977,"それ":-871,"たち":1122,"ため":601,"った":3463,"つい":-802,"てい":805,"てき":1249,"でき":1127,"です":3445,"では":844,"とい":-4915,"とみ":1922,"どこ":3887,"ない":5713,"なっ":3015,"など":7379,"なん":-1113,"にし":2468,"には":1498,"にも":1671,"に対":-912,"の一":-501,"の中":741,"ませ":2448,"まで":1711,"まま":2600,"まる":-2155,"やむ":-1947,"よっ":-2565,"れた":2369,"れで":-913,"をし":1860,"を見":731,"亡く":-1886,"京都":2558,"取り":-2784,"大き":-2604,"大阪":1497,"平方":-2314,"引き":-1336,"日本":-195,"本当":-2423,"毎日":-2113,"目指":-724,"B1あ":1404,"B1同":542,"」と":1682}; + this.BW2__ = {"..":-11822,"11":-669,"――":-5730,"−−":-13175,"いう":-1609,"うか":2490,"かし":-1350,"かも":-602,"から":-7194,"かれ":4612,"がい":853,"がら":-3198,"きた":1941,"くな":-1597,"こと":-8392,"この":-4193,"させ":4533,"され":13168,"さん":-3977,"しい":-1819,"しか":-545,"した":5078,"して":972,"しな":939,"その":-3744,"たい":-1253,"たた":-662,"ただ":-3857,"たち":-786,"たと":1224,"たは":-939,"った":4589,"って":1647,"っと":-2094,"てい":6144,"てき":3640,"てく":2551,"ては":-3110,"ても":-3065,"でい":2666,"でき":-1528,"でし":-3828,"です":-4761,"でも":-4203,"とい":1890,"とこ":-1746,"とと":-2279,"との":720,"とみ":5168,"とも":-3941,"ない":-2488,"なが":-1313,"など":-6509,"なの":2614,"なん":3099,"にお":-1615,"にし":2748,"にな":2454,"によ":-7236,"に対":-14943,"に従":-4688,"に関":-11388,"のか":2093,"ので":-7059,"のに":-6041,"のの":-6125,"はい":1073,"はが":-1033,"はず":-2532,"ばれ":1813,"まし":-1316,"まで":-6621,"まれ":5409,"めて":-3153,"もい":2230,"もの":-10713,"らか":-944,"らし":-1611,"らに":-1897,"りし":651,"りま":1620,"れた":4270,"れて":849,"れば":4114,"ろう":6067,"われ":7901,"を通":-11877,"んだ":728,"んな":-4115,"一人":602,"一方":-1375,"一日":970,"一部":-1051,"上が":-4479,"会社":-1116,"出て":2163,"分の":-7758,"同党":970,"同日":-913,"大阪":-2471,"委員":-1250,"少な":-1050,"年度":-8669,"年間":-1626,"府県":-2363,"手権":-1982,"新聞":-4066,"日新":-722,"日本":-7068,"日米":3372,"曜日":-601,"朝鮮":-2355,"本人":-2697,"東京":-1543,"然と":-1384,"社会":-1276,"立て":-990,"第に":-1612,"米国":-4268,"11":-669}; + this.BW3__ = {"あた":-2194,"あり":719,"ある":3846,"い.":-1185,"い。":-1185,"いい":5308,"いえ":2079,"いく":3029,"いた":2056,"いっ":1883,"いる":5600,"いわ":1527,"うち":1117,"うと":4798,"えと":1454,"か.":2857,"か。":2857,"かけ":-743,"かっ":-4098,"かに":-669,"から":6520,"かり":-2670,"が,":1816,"が、":1816,"がき":-4855,"がけ":-1127,"がっ":-913,"がら":-4977,"がり":-2064,"きた":1645,"けど":1374,"こと":7397,"この":1542,"ころ":-2757,"さい":-714,"さを":976,"し,":1557,"し、":1557,"しい":-3714,"した":3562,"して":1449,"しな":2608,"しま":1200,"す.":-1310,"す。":-1310,"する":6521,"ず,":3426,"ず、":3426,"ずに":841,"そう":428,"た.":8875,"た。":8875,"たい":-594,"たの":812,"たり":-1183,"たる":-853,"だ.":4098,"だ。":4098,"だっ":1004,"った":-4748,"って":300,"てい":6240,"てお":855,"ても":302,"です":1437,"でに":-1482,"では":2295,"とう":-1387,"とし":2266,"との":541,"とも":-3543,"どう":4664,"ない":1796,"なく":-903,"など":2135,"に,":-1021,"に、":-1021,"にし":1771,"にな":1906,"には":2644,"の,":-724,"の、":-724,"の子":-1000,"は,":1337,"は、":1337,"べき":2181,"まし":1113,"ます":6943,"まっ":-1549,"まで":6154,"まれ":-793,"らし":1479,"られ":6820,"るる":3818,"れ,":854,"れ、":854,"れた":1850,"れて":1375,"れば":-3246,"れる":1091,"われ":-605,"んだ":606,"んで":798,"カ月":990,"会議":860,"入り":1232,"大会":2217,"始め":1681,"市":965,"新聞":-5055,"日,":974,"日、":974,"社会":2024,"カ月":990}; + this.TC1__ = {"AAA":1093,"HHH":1029,"HHM":580,"HII":998,"HOH":-390,"HOM":-331,"IHI":1169,"IOH":-142,"IOI":-1015,"IOM":467,"MMH":187,"OOI":-1832}; + this.TC2__ = {"HHO":2088,"HII":-1023,"HMM":-1154,"IHI":-1965,"KKH":703,"OII":-2649}; + this.TC3__ = {"AAA":-294,"HHH":346,"HHI":-341,"HII":-1088,"HIK":731,"HOH":-1486,"IHH":128,"IHI":-3041,"IHO":-1935,"IIH":-825,"IIM":-1035,"IOI":-542,"KHH":-1216,"KKA":491,"KKH":-1217,"KOK":-1009,"MHH":-2694,"MHM":-457,"MHO":123,"MMH":-471,"NNH":-1689,"NNO":662,"OHO":-3393}; + this.TC4__ = {"HHH":-203,"HHI":1344,"HHK":365,"HHM":-122,"HHN":182,"HHO":669,"HIH":804,"HII":679,"HOH":446,"IHH":695,"IHO":-2324,"IIH":321,"III":1497,"IIO":656,"IOO":54,"KAK":4845,"KKA":3386,"KKK":3065,"MHH":-405,"MHI":201,"MMH":-241,"MMM":661,"MOM":841}; + this.TQ1__ = {"BHHH":-227,"BHHI":316,"BHIH":-132,"BIHH":60,"BIII":1595,"BNHH":-744,"BOHH":225,"BOOO":-908,"OAKK":482,"OHHH":281,"OHIH":249,"OIHI":200,"OIIH":-68}; + this.TQ2__ = {"BIHH":-1401,"BIII":-1033,"BKAK":-543,"BOOO":-5591}; + this.TQ3__ = {"BHHH":478,"BHHM":-1073,"BHIH":222,"BHII":-504,"BIIH":-116,"BIII":-105,"BMHI":-863,"BMHM":-464,"BOMH":620,"OHHH":346,"OHHI":1729,"OHII":997,"OHMH":481,"OIHH":623,"OIIH":1344,"OKAK":2792,"OKHH":587,"OKKA":679,"OOHH":110,"OOII":-685}; + this.TQ4__ = {"BHHH":-721,"BHHM":-3604,"BHII":-966,"BIIH":-607,"BIII":-2181,"OAAA":-2763,"OAKK":180,"OHHH":-294,"OHHI":2446,"OHHO":480,"OHIH":-1573,"OIHH":1935,"OIHI":-493,"OIIH":626,"OIII":-4007,"OKAK":-8156}; + this.TW1__ = {"につい":-4681,"東京都":2026}; + this.TW2__ = {"ある程":-2049,"いった":-1256,"ころが":-2434,"しょう":3873,"その後":-4430,"だって":-1049,"ていた":1833,"として":-4657,"ともに":-4517,"もので":1882,"一気に":-792,"初めて":-1512,"同時に":-8097,"大きな":-1255,"対して":-2721,"社会党":-3216}; + this.TW3__ = {"いただ":-1734,"してい":1314,"として":-4314,"につい":-5483,"にとっ":-5989,"に当た":-6247,"ので,":-727,"ので、":-727,"のもの":-600,"れから":-3752,"十二月":-2287}; + this.TW4__ = {"いう.":8576,"いう。":8576,"からな":-2348,"してい":2958,"たが,":1516,"たが、":1516,"ている":1538,"という":1349,"ました":5543,"ません":1097,"ようと":-4258,"よると":5865}; + this.UC1__ = {"A":484,"K":93,"M":645,"O":-505}; + this.UC2__ = {"A":819,"H":1059,"I":409,"M":3987,"N":5775,"O":646}; + this.UC3__ = {"A":-1370,"I":2311}; + this.UC4__ = {"A":-2643,"H":1809,"I":-1032,"K":-3450,"M":3565,"N":3876,"O":6646}; + this.UC5__ = {"H":313,"I":-1238,"K":-799,"M":539,"O":-831}; + this.UC6__ = {"H":-506,"I":-253,"K":87,"M":247,"O":-387}; + this.UP1__ = {"O":-214}; + this.UP2__ = {"B":69,"O":935}; + this.UP3__ = {"B":189}; + this.UQ1__ = {"BH":21,"BI":-12,"BK":-99,"BN":142,"BO":-56,"OH":-95,"OI":477,"OK":410,"OO":-2422}; + this.UQ2__ = {"BH":216,"BI":113,"OK":1759}; + this.UQ3__ = {"BA":-479,"BH":42,"BI":1913,"BK":-7198,"BM":3160,"BN":6427,"BO":14761,"OI":-827,"ON":-3212}; + this.UW1__ = {",":156,"、":156,"「":-463,"あ":-941,"う":-127,"が":-553,"き":121,"こ":505,"で":-201,"と":-547,"ど":-123,"に":-789,"の":-185,"は":-847,"も":-466,"や":-470,"よ":182,"ら":-292,"り":208,"れ":169,"を":-446,"ん":-137,"・":-135,"主":-402,"京":-268,"区":-912,"午":871,"国":-460,"大":561,"委":729,"市":-411,"日":-141,"理":361,"生":-408,"県":-386,"都":-718,"「":-463,"・":-135}; + this.UW2__ = {",":-829,"、":-829,"〇":892,"「":-645,"」":3145,"あ":-538,"い":505,"う":134,"お":-502,"か":1454,"が":-856,"く":-412,"こ":1141,"さ":878,"ざ":540,"し":1529,"す":-675,"せ":300,"そ":-1011,"た":188,"だ":1837,"つ":-949,"て":-291,"で":-268,"と":-981,"ど":1273,"な":1063,"に":-1764,"の":130,"は":-409,"ひ":-1273,"べ":1261,"ま":600,"も":-1263,"や":-402,"よ":1639,"り":-579,"る":-694,"れ":571,"を":-2516,"ん":2095,"ア":-587,"カ":306,"キ":568,"ッ":831,"三":-758,"不":-2150,"世":-302,"中":-968,"主":-861,"事":492,"人":-123,"会":978,"保":362,"入":548,"初":-3025,"副":-1566,"北":-3414,"区":-422,"大":-1769,"天":-865,"太":-483,"子":-1519,"学":760,"実":1023,"小":-2009,"市":-813,"年":-1060,"強":1067,"手":-1519,"揺":-1033,"政":1522,"文":-1355,"新":-1682,"日":-1815,"明":-1462,"最":-630,"朝":-1843,"本":-1650,"東":-931,"果":-665,"次":-2378,"民":-180,"気":-1740,"理":752,"発":529,"目":-1584,"相":-242,"県":-1165,"立":-763,"第":810,"米":509,"自":-1353,"行":838,"西":-744,"見":-3874,"調":1010,"議":1198,"込":3041,"開":1758,"間":-1257,"「":-645,"」":3145,"ッ":831,"ア":-587,"カ":306,"キ":568}; + this.UW3__ = {",":4889,"1":-800,"−":-1723,"、":4889,"々":-2311,"〇":5827,"」":2670,"〓":-3573,"あ":-2696,"い":1006,"う":2342,"え":1983,"お":-4864,"か":-1163,"が":3271,"く":1004,"け":388,"げ":401,"こ":-3552,"ご":-3116,"さ":-1058,"し":-395,"す":584,"せ":3685,"そ":-5228,"た":842,"ち":-521,"っ":-1444,"つ":-1081,"て":6167,"で":2318,"と":1691,"ど":-899,"な":-2788,"に":2745,"の":4056,"は":4555,"ひ":-2171,"ふ":-1798,"へ":1199,"ほ":-5516,"ま":-4384,"み":-120,"め":1205,"も":2323,"や":-788,"よ":-202,"ら":727,"り":649,"る":5905,"れ":2773,"わ":-1207,"を":6620,"ん":-518,"ア":551,"グ":1319,"ス":874,"ッ":-1350,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278,"・":-3794,"一":-1619,"下":-1759,"世":-2087,"両":3815,"中":653,"主":-758,"予":-1193,"二":974,"人":2742,"今":792,"他":1889,"以":-1368,"低":811,"何":4265,"作":-361,"保":-2439,"元":4858,"党":3593,"全":1574,"公":-3030,"六":755,"共":-1880,"円":5807,"再":3095,"分":457,"初":2475,"別":1129,"前":2286,"副":4437,"力":365,"動":-949,"務":-1872,"化":1327,"北":-1038,"区":4646,"千":-2309,"午":-783,"協":-1006,"口":483,"右":1233,"各":3588,"合":-241,"同":3906,"和":-837,"員":4513,"国":642,"型":1389,"場":1219,"外":-241,"妻":2016,"学":-1356,"安":-423,"実":-1008,"家":1078,"小":-513,"少":-3102,"州":1155,"市":3197,"平":-1804,"年":2416,"広":-1030,"府":1605,"度":1452,"建":-2352,"当":-3885,"得":1905,"思":-1291,"性":1822,"戸":-488,"指":-3973,"政":-2013,"教":-1479,"数":3222,"文":-1489,"新":1764,"日":2099,"旧":5792,"昨":-661,"時":-1248,"曜":-951,"最":-937,"月":4125,"期":360,"李":3094,"村":364,"東":-805,"核":5156,"森":2438,"業":484,"氏":2613,"民":-1694,"決":-1073,"法":1868,"海":-495,"無":979,"物":461,"特":-3850,"生":-273,"用":914,"町":1215,"的":7313,"直":-1835,"省":792,"県":6293,"知":-1528,"私":4231,"税":401,"立":-960,"第":1201,"米":7767,"系":3066,"約":3663,"級":1384,"統":-4229,"総":1163,"線":1255,"者":6457,"能":725,"自":-2869,"英":785,"見":1044,"調":-562,"財":-733,"費":1777,"車":1835,"軍":1375,"込":-1504,"通":-1136,"選":-681,"郎":1026,"郡":4404,"部":1200,"金":2163,"長":421,"開":-1432,"間":1302,"関":-1282,"雨":2009,"電":-1045,"非":2066,"駅":1620,"1":-800,"」":2670,"・":-3794,"ッ":-1350,"ア":551,"グ":1319,"ス":874,"ト":521,"ム":1109,"ル":1591,"ロ":2201,"ン":278}; + this.UW4__ = {",":3930,".":3508,"―":-4841,"、":3930,"。":3508,"〇":4999,"「":1895,"」":3798,"〓":-5156,"あ":4752,"い":-3435,"う":-640,"え":-2514,"お":2405,"か":530,"が":6006,"き":-4482,"ぎ":-3821,"く":-3788,"け":-4376,"げ":-4734,"こ":2255,"ご":1979,"さ":2864,"し":-843,"じ":-2506,"す":-731,"ず":1251,"せ":181,"そ":4091,"た":5034,"だ":5408,"ち":-3654,"っ":-5882,"つ":-1659,"て":3994,"で":7410,"と":4547,"な":5433,"に":6499,"ぬ":1853,"ね":1413,"の":7396,"は":8578,"ば":1940,"ひ":4249,"び":-4134,"ふ":1345,"へ":6665,"べ":-744,"ほ":1464,"ま":1051,"み":-2082,"む":-882,"め":-5046,"も":4169,"ゃ":-2666,"や":2795,"ょ":-1544,"よ":3351,"ら":-2922,"り":-9726,"る":-14896,"れ":-2613,"ろ":-4570,"わ":-1783,"を":13150,"ん":-2352,"カ":2145,"コ":1789,"セ":1287,"ッ":-724,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637,"・":-4371,"ー":-11870,"一":-2069,"中":2210,"予":782,"事":-190,"井":-1768,"人":1036,"以":544,"会":950,"体":-1286,"作":530,"側":4292,"先":601,"党":-2006,"共":-1212,"内":584,"円":788,"初":1347,"前":1623,"副":3879,"力":-302,"動":-740,"務":-2715,"化":776,"区":4517,"協":1013,"参":1555,"合":-1834,"和":-681,"員":-910,"器":-851,"回":1500,"国":-619,"園":-1200,"地":866,"場":-1410,"塁":-2094,"士":-1413,"多":1067,"大":571,"子":-4802,"学":-1397,"定":-1057,"寺":-809,"小":1910,"屋":-1328,"山":-1500,"島":-2056,"川":-2667,"市":2771,"年":374,"庁":-4556,"後":456,"性":553,"感":916,"所":-1566,"支":856,"改":787,"政":2182,"教":704,"文":522,"方":-856,"日":1798,"時":1829,"最":845,"月":-9066,"木":-485,"来":-442,"校":-360,"業":-1043,"氏":5388,"民":-2716,"気":-910,"沢":-939,"済":-543,"物":-735,"率":672,"球":-1267,"生":-1286,"産":-1101,"田":-2900,"町":1826,"的":2586,"目":922,"省":-3485,"県":2997,"空":-867,"立":-2112,"第":788,"米":2937,"系":786,"約":2171,"経":1146,"統":-1169,"総":940,"線":-994,"署":749,"者":2145,"能":-730,"般":-852,"行":-792,"規":792,"警":-1184,"議":-244,"谷":-1000,"賞":730,"車":-1481,"軍":1158,"輪":-1433,"込":-3370,"近":929,"道":-1291,"選":2596,"郎":-4866,"都":1192,"野":-1100,"銀":-2213,"長":357,"間":-2344,"院":-2297,"際":-2604,"電":-878,"領":-1659,"題":-792,"館":-1984,"首":1749,"高":2120,"「":1895,"」":3798,"・":-4371,"ッ":-724,"ー":-11870,"カ":2145,"コ":1789,"セ":1287,"ト":-403,"メ":-1635,"ラ":-881,"リ":-541,"ル":-856,"ン":-3637}; + this.UW5__ = {",":465,".":-299,"1":-514,"E2":-32768,"]":-2762,"、":465,"。":-299,"「":363,"あ":1655,"い":331,"う":-503,"え":1199,"お":527,"か":647,"が":-421,"き":1624,"ぎ":1971,"く":312,"げ":-983,"さ":-1537,"し":-1371,"す":-852,"だ":-1186,"ち":1093,"っ":52,"つ":921,"て":-18,"で":-850,"と":-127,"ど":1682,"な":-787,"に":-1224,"の":-635,"は":-578,"べ":1001,"み":502,"め":865,"ゃ":3350,"ょ":854,"り":-208,"る":429,"れ":504,"わ":419,"を":-1264,"ん":327,"イ":241,"ル":451,"ン":-343,"中":-871,"京":722,"会":-1153,"党":-654,"務":3519,"区":-901,"告":848,"員":2104,"大":-1296,"学":-548,"定":1785,"嵐":-1304,"市":-2991,"席":921,"年":1763,"思":872,"所":-814,"挙":1618,"新":-1682,"日":218,"月":-4353,"査":932,"格":1356,"機":-1508,"氏":-1347,"田":240,"町":-3912,"的":-3149,"相":1319,"省":-1052,"県":-4003,"研":-997,"社":-278,"空":-813,"統":1955,"者":-2233,"表":663,"語":-1073,"議":1219,"選":-1018,"郎":-368,"長":786,"間":1191,"題":2368,"館":-689,"1":-514,"E2":-32768,"「":363,"イ":241,"ル":451,"ン":-343}; + this.UW6__ = {",":227,".":808,"1":-270,"E1":306,"、":227,"。":808,"あ":-307,"う":189,"か":241,"が":-73,"く":-121,"こ":-200,"じ":1782,"す":383,"た":-428,"っ":573,"て":-1014,"で":101,"と":-105,"な":-253,"に":-149,"の":-417,"は":-236,"も":-206,"り":187,"る":-135,"を":195,"ル":-673,"ン":-496,"一":-277,"中":201,"件":-800,"会":624,"前":302,"区":1792,"員":-1212,"委":798,"学":-960,"市":887,"広":-695,"後":535,"業":-697,"相":753,"社":-507,"福":974,"空":-822,"者":1811,"連":463,"郎":1082,"1":-270,"E1":306,"ル":-673,"ン":-496}; + + return this; + } + TinySegmenter.prototype.ctype_ = function(str) { + for (var i in this.chartype_) { + if (str.match(this.chartype_[i][0])) { + return this.chartype_[i][1]; + } + } + return "O"; + } + + TinySegmenter.prototype.ts_ = function(v) { + if (v) { return v; } + return 0; + } + + TinySegmenter.prototype.segment = function(input) { + if (input == null || input == undefined || input == "") { + return []; + } + var result = []; + var seg = ["B3","B2","B1"]; + var ctype = ["O","O","O"]; + var o = input.split(""); + for (i = 0; i < o.length; ++i) { + seg.push(o[i]); + ctype.push(this.ctype_(o[i])) + } + seg.push("E1"); + seg.push("E2"); + seg.push("E3"); + ctype.push("O"); + ctype.push("O"); + ctype.push("O"); + var word = seg[3]; + var p1 = "U"; + var p2 = "U"; + var p3 = "U"; + for (var i = 4; i < seg.length - 3; ++i) { + var score = this.BIAS__; + var w1 = seg[i-3]; + var w2 = seg[i-2]; + var w3 = seg[i-1]; + var w4 = seg[i]; + var w5 = seg[i+1]; + var w6 = seg[i+2]; + var c1 = ctype[i-3]; + var c2 = ctype[i-2]; + var c3 = ctype[i-1]; + var c4 = ctype[i]; + var c5 = ctype[i+1]; + var c6 = ctype[i+2]; + score += this.ts_(this.UP1__[p1]); + score += this.ts_(this.UP2__[p2]); + score += this.ts_(this.UP3__[p3]); + score += this.ts_(this.BP1__[p1 + p2]); + score += this.ts_(this.BP2__[p2 + p3]); + score += this.ts_(this.UW1__[w1]); + score += this.ts_(this.UW2__[w2]); + score += this.ts_(this.UW3__[w3]); + score += this.ts_(this.UW4__[w4]); + score += this.ts_(this.UW5__[w5]); + score += this.ts_(this.UW6__[w6]); + score += this.ts_(this.BW1__[w2 + w3]); + score += this.ts_(this.BW2__[w3 + w4]); + score += this.ts_(this.BW3__[w4 + w5]); + score += this.ts_(this.TW1__[w1 + w2 + w3]); + score += this.ts_(this.TW2__[w2 + w3 + w4]); + score += this.ts_(this.TW3__[w3 + w4 + w5]); + score += this.ts_(this.TW4__[w4 + w5 + w6]); + score += this.ts_(this.UC1__[c1]); + score += this.ts_(this.UC2__[c2]); + score += this.ts_(this.UC3__[c3]); + score += this.ts_(this.UC4__[c4]); + score += this.ts_(this.UC5__[c5]); + score += this.ts_(this.UC6__[c6]); + score += this.ts_(this.BC1__[c2 + c3]); + score += this.ts_(this.BC2__[c3 + c4]); + score += this.ts_(this.BC3__[c4 + c5]); + score += this.ts_(this.TC1__[c1 + c2 + c3]); + score += this.ts_(this.TC2__[c2 + c3 + c4]); + score += this.ts_(this.TC3__[c3 + c4 + c5]); + score += this.ts_(this.TC4__[c4 + c5 + c6]); + // score += this.ts_(this.TC5__[c4 + c5 + c6]); + score += this.ts_(this.UQ1__[p1 + c1]); + score += this.ts_(this.UQ2__[p2 + c2]); + score += this.ts_(this.UQ3__[p3 + c3]); + score += this.ts_(this.BQ1__[p2 + c2 + c3]); + score += this.ts_(this.BQ2__[p2 + c3 + c4]); + score += this.ts_(this.BQ3__[p3 + c2 + c3]); + score += this.ts_(this.BQ4__[p3 + c3 + c4]); + score += this.ts_(this.TQ1__[p2 + c1 + c2 + c3]); + score += this.ts_(this.TQ2__[p2 + c2 + c3 + c4]); + score += this.ts_(this.TQ3__[p3 + c1 + c2 + c3]); + score += this.ts_(this.TQ4__[p3 + c2 + c3 + c4]); + var p = "O"; + if (score > 0) { + result.push(word); + word = ""; + p = "B"; + } + p1 = p2; + p2 = p3; + p3 = p; + word += seg[i]; + } + result.push(word); + + return result; + } + + lunr.TinySegmenter = TinySegmenter; + }; + +})); \ No newline at end of file diff --git a/assets/javascripts/lunr/wordcut.js b/assets/javascripts/lunr/wordcut.js new file mode 100644 index 00000000..0d898c9e --- /dev/null +++ b/assets/javascripts/lunr/wordcut.js @@ -0,0 +1,6708 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}(g.lunr || (g.lunr = {})).wordcut = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 1; + }) + this.addWords(words, false) + } + if(finalize){ + this.finalizeDict(); + } + }, + + dictSeek: function (l, r, ch, strOffset, pos) { + var ans = null; + while (l <= r) { + var m = Math.floor((l + r) / 2), + dict_item = this.dict[m], + len = dict_item.length; + if (len <= strOffset) { + l = m + 1; + } else { + var ch_ = dict_item[strOffset]; + if (ch_ < ch) { + l = m + 1; + } else if (ch_ > ch) { + r = m - 1; + } else { + ans = m; + if (pos == LEFT) { + r = m - 1; + } else { + l = m + 1; + } + } + } + } + return ans; + }, + + isFinal: function (acceptor) { + return this.dict[acceptor.l].length == acceptor.strOffset; + }, + + createAcceptor: function () { + return { + l: 0, + r: this.dict.length - 1, + strOffset: 0, + isFinal: false, + dict: this, + transit: function (ch) { + return this.dict.transit(this, ch); + }, + isError: false, + tag: "DICT", + w: 1, + type: "DICT" + }; + }, + + transit: function (acceptor, ch) { + var l = this.dictSeek(acceptor.l, + acceptor.r, + ch, + acceptor.strOffset, + LEFT); + if (l !== null) { + var r = this.dictSeek(l, + acceptor.r, + ch, + acceptor.strOffset, + RIGHT); + acceptor.l = l; + acceptor.r = r; + acceptor.strOffset++; + acceptor.isFinal = this.isFinal(acceptor); + } else { + acceptor.isError = true; + } + return acceptor; + }, + + sortuniq: function(a){ + return a.sort().filter(function(item, pos, arr){ + return !pos || item != arr[pos - 1]; + }) + }, + + flatten: function(a){ + //[[1,2],[3]] -> [1,2,3] + return [].concat.apply([], a); + } +}; +module.exports = WordcutDict; + +}).call(this,"/dist/tmp") +},{"glob":16,"path":22}],3:[function(require,module,exports){ +var WordRule = { + createAcceptor: function(tag) { + if (tag["WORD_RULE"]) + return null; + + return {strOffset: 0, + isFinal: false, + transit: function(ch) { + var lch = ch.toLowerCase(); + if (lch >= "a" && lch <= "z") { + this.isFinal = true; + this.strOffset++; + } else { + this.isError = true; + } + return this; + }, + isError: false, + tag: "WORD_RULE", + type: "WORD_RULE", + w: 1}; + } +}; + +var NumberRule = { + createAcceptor: function(tag) { + if (tag["NUMBER_RULE"]) + return null; + + return {strOffset: 0, + isFinal: false, + transit: function(ch) { + if (ch >= "0" && ch <= "9") { + this.isFinal = true; + this.strOffset++; + } else { + this.isError = true; + } + return this; + }, + isError: false, + tag: "NUMBER_RULE", + type: "NUMBER_RULE", + w: 1}; + } +}; + +var SpaceRule = { + tag: "SPACE_RULE", + createAcceptor: function(tag) { + + if (tag["SPACE_RULE"]) + return null; + + return {strOffset: 0, + isFinal: false, + transit: function(ch) { + if (ch == " " || ch == "\t" || ch == "\r" || ch == "\n" || + ch == "\u00A0" || ch=="\u2003"//nbsp and emsp + ) { + this.isFinal = true; + this.strOffset++; + } else { + this.isError = true; + } + return this; + }, + isError: false, + tag: SpaceRule.tag, + w: 1, + type: "SPACE_RULE"}; + } +} + +var SingleSymbolRule = { + tag: "SINSYM", + createAcceptor: function(tag) { + return {strOffset: 0, + isFinal: false, + transit: function(ch) { + if (this.strOffset == 0 && ch.match(/^[\@\(\)\/\,\-\."`]$/)) { + this.isFinal = true; + this.strOffset++; + } else { + this.isError = true; + } + return this; + }, + isError: false, + tag: "SINSYM", + w: 1, + type: "SINSYM"}; + } +} + + +var LatinRules = [WordRule, SpaceRule, SingleSymbolRule, NumberRule]; + +module.exports = LatinRules; + +},{}],4:[function(require,module,exports){ +var _ = require("underscore") + , WordcutCore = require("./wordcut_core"); +var PathInfoBuilder = { + + /* + buildByPartAcceptors: function(path, acceptors, i) { + var + var genInfos = partAcceptors.reduce(function(genInfos, acceptor) { + + }, []); + + return genInfos; + } + */ + + buildByAcceptors: function(path, finalAcceptors, i) { + var self = this; + var infos = finalAcceptors.map(function(acceptor) { + var p = i - acceptor.strOffset + 1 + , _info = path[p]; + + var info = {p: p, + mw: _info.mw + (acceptor.mw === undefined ? 0 : acceptor.mw), + w: acceptor.w + _info.w, + unk: (acceptor.unk ? acceptor.unk : 0) + _info.unk, + type: acceptor.type}; + + if (acceptor.type == "PART") { + for(var j = p + 1; j <= i; j++) { + path[j].merge = p; + } + info.merge = p; + } + + return info; + }); + return infos.filter(function(info) { return info; }); + }, + + fallback: function(path, leftBoundary, text, i) { + var _info = path[leftBoundary]; + if (text[i].match(/[\u0E48-\u0E4E]/)) { + if (leftBoundary != 0) + leftBoundary = path[leftBoundary].p; + return {p: leftBoundary, + mw: 0, + w: 1 + _info.w, + unk: 1 + _info.unk, + type: "UNK"}; +/* } else if(leftBoundary > 0 && path[leftBoundary].type !== "UNK") { + leftBoundary = path[leftBoundary].p; + return {p: leftBoundary, + w: 1 + _info.w, + unk: 1 + _info.unk, + type: "UNK"}; */ + } else { + return {p: leftBoundary, + mw: _info.mw, + w: 1 + _info.w, + unk: 1 + _info.unk, + type: "UNK"}; + } + }, + + build: function(path, finalAcceptors, i, leftBoundary, text) { + var basicPathInfos = this.buildByAcceptors(path, finalAcceptors, i); + if (basicPathInfos.length > 0) { + return basicPathInfos; + } else { + return [this.fallback(path, leftBoundary, text, i)]; + } + } +}; + +module.exports = function() { + return _.clone(PathInfoBuilder); +} + +},{"./wordcut_core":8,"underscore":25}],5:[function(require,module,exports){ +var _ = require("underscore"); + + +var PathSelector = { + selectPath: function(paths) { + var path = paths.reduce(function(selectedPath, path) { + if (selectedPath == null) { + return path; + } else { + if (path.unk < selectedPath.unk) + return path; + if (path.unk == selectedPath.unk) { + if (path.mw < selectedPath.mw) + return path + if (path.mw == selectedPath.mw) { + if (path.w < selectedPath.w) + return path; + } + } + return selectedPath; + } + }, null); + return path; + }, + + createPath: function() { + return [{p:null, w:0, unk:0, type: "INIT", mw:0}]; + } +}; + +module.exports = function() { + return _.clone(PathSelector); +}; + +},{"underscore":25}],6:[function(require,module,exports){ +function isMatch(pat, offset, ch) { + if (pat.length <= offset) + return false; + var _ch = pat[offset]; + return _ch == ch || + (_ch.match(/[กข]/) && ch.match(/[ก-ฮ]/)) || + (_ch.match(/[มบ]/) && ch.match(/[ก-ฮ]/)) || + (_ch.match(/\u0E49/) && ch.match(/[\u0E48-\u0E4B]/)); +} + +var Rule0 = { + pat: "เหก็ม", + createAcceptor: function(tag) { + return {strOffset: 0, + isFinal: false, + transit: function(ch) { + if (isMatch(Rule0.pat, this.strOffset,ch)) { + this.isFinal = (this.strOffset + 1 == Rule0.pat.length); + this.strOffset++; + } else { + this.isError = true; + } + return this; + }, + isError: false, + tag: "THAI_RULE", + type: "THAI_RULE", + w: 1}; + } +}; + +var PartRule = { + createAcceptor: function(tag) { + return {strOffset: 0, + patterns: [ + "แก", "เก", "ก้", "กก์", "กา", "กี", "กิ", "กืก" + ], + isFinal: false, + transit: function(ch) { + var offset = this.strOffset; + this.patterns = this.patterns.filter(function(pat) { + return isMatch(pat, offset, ch); + }); + + if (this.patterns.length > 0) { + var len = 1 + offset; + this.isFinal = this.patterns.some(function(pat) { + return pat.length == len; + }); + this.strOffset++; + } else { + this.isError = true; + } + return this; + }, + isError: false, + tag: "PART", + type: "PART", + unk: 1, + w: 1}; + } +}; + +var ThaiRules = [Rule0, PartRule]; + +module.exports = ThaiRules; + +},{}],7:[function(require,module,exports){ +var sys = require("sys") + , WordcutDict = require("./dict") + , WordcutCore = require("./wordcut_core") + , PathInfoBuilder = require("./path_info_builder") + , PathSelector = require("./path_selector") + , Acceptors = require("./acceptors") + , latinRules = require("./latin_rules") + , thaiRules = require("./thai_rules") + , _ = require("underscore"); + + +var Wordcut = Object.create(WordcutCore); +Wordcut.defaultPathInfoBuilder = PathInfoBuilder; +Wordcut.defaultPathSelector = PathSelector; +Wordcut.defaultAcceptors = Acceptors; +Wordcut.defaultLatinRules = latinRules; +Wordcut.defaultThaiRules = thaiRules; +Wordcut.defaultDict = WordcutDict; + + +Wordcut.initNoDict = function(dict_path) { + var self = this; + self.pathInfoBuilder = new self.defaultPathInfoBuilder; + self.pathSelector = new self.defaultPathSelector; + self.acceptors = new self.defaultAcceptors; + self.defaultLatinRules.forEach(function(rule) { + self.acceptors.creators.push(rule); + }); + self.defaultThaiRules.forEach(function(rule) { + self.acceptors.creators.push(rule); + }); +}; + +Wordcut.init = function(dict_path, withDefault, additionalWords) { + withDefault = withDefault || false; + this.initNoDict(); + var dict = _.clone(this.defaultDict); + dict.init(dict_path, withDefault, additionalWords); + this.acceptors.creators.push(dict); +}; + +module.exports = Wordcut; + +},{"./acceptors":1,"./dict":2,"./latin_rules":3,"./path_info_builder":4,"./path_selector":5,"./thai_rules":6,"./wordcut_core":8,"sys":28,"underscore":25}],8:[function(require,module,exports){ +var WordcutCore = { + + buildPath: function(text) { + var self = this + , path = self.pathSelector.createPath() + , leftBoundary = 0; + self.acceptors.reset(); + for (var i = 0; i < text.length; i++) { + var ch = text[i]; + self.acceptors.transit(ch); + + var possiblePathInfos = self + .pathInfoBuilder + .build(path, + self.acceptors.getFinalAcceptors(), + i, + leftBoundary, + text); + var selectedPath = self.pathSelector.selectPath(possiblePathInfos) + + path.push(selectedPath); + if (selectedPath.type !== "UNK") { + leftBoundary = i; + } + } + return path; + }, + + pathToRanges: function(path) { + var e = path.length - 1 + , ranges = []; + + while (e > 0) { + var info = path[e] + , s = info.p; + + if (info.merge !== undefined && ranges.length > 0) { + var r = ranges[ranges.length - 1]; + r.s = info.merge; + s = r.s; + } else { + ranges.push({s:s, e:e}); + } + e = s; + } + return ranges.reverse(); + }, + + rangesToText: function(text, ranges, delimiter) { + return ranges.map(function(r) { + return text.substring(r.s, r.e); + }).join(delimiter); + }, + + cut: function(text, delimiter) { + var path = this.buildPath(text) + , ranges = this.pathToRanges(path); + return this + .rangesToText(text, ranges, + (delimiter === undefined ? "|" : delimiter)); + }, + + cutIntoRanges: function(text, noText) { + var path = this.buildPath(text) + , ranges = this.pathToRanges(path); + + if (!noText) { + ranges.forEach(function(r) { + r.text = text.substring(r.s, r.e); + }); + } + return ranges; + }, + + cutIntoArray: function(text) { + var path = this.buildPath(text) + , ranges = this.pathToRanges(path); + + return ranges.map(function(r) { + return text.substring(r.s, r.e) + }); + } +}; + +module.exports = WordcutCore; + +},{}],9:[function(require,module,exports){ +// http://wiki.commonjs.org/wiki/Unit_Testing/1.0 +// +// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8! +// +// Originally from narwhal.js (http://narwhaljs.org) +// Copyright (c) 2009 Thomas Robinson <280north.com> +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the 'Software'), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +// when used in node, this will actually load the util module we depend on +// versus loading the builtin util module as happens otherwise +// this is a bug in node module loading as far as I am concerned +var util = require('util/'); + +var pSlice = Array.prototype.slice; +var hasOwn = Object.prototype.hasOwnProperty; + +// 1. The assert module provides functions that throw +// AssertionError's when particular conditions are not met. The +// assert module must conform to the following interface. + +var assert = module.exports = ok; + +// 2. The AssertionError is defined in assert. +// new assert.AssertionError({ message: message, +// actual: actual, +// expected: expected }) + +assert.AssertionError = function AssertionError(options) { + this.name = 'AssertionError'; + this.actual = options.actual; + this.expected = options.expected; + this.operator = options.operator; + if (options.message) { + this.message = options.message; + this.generatedMessage = false; + } else { + this.message = getMessage(this); + this.generatedMessage = true; + } + var stackStartFunction = options.stackStartFunction || fail; + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, stackStartFunction); + } + else { + // non v8 browsers so we can have a stacktrace + var err = new Error(); + if (err.stack) { + var out = err.stack; + + // try to strip useless frames + var fn_name = stackStartFunction.name; + var idx = out.indexOf('\n' + fn_name); + if (idx >= 0) { + // once we have located the function frame + // we need to strip out everything before it (and its line) + var next_line = out.indexOf('\n', idx + 1); + out = out.substring(next_line + 1); + } + + this.stack = out; + } + } +}; + +// assert.AssertionError instanceof Error +util.inherits(assert.AssertionError, Error); + +function replacer(key, value) { + if (util.isUndefined(value)) { + return '' + value; + } + if (util.isNumber(value) && !isFinite(value)) { + return value.toString(); + } + if (util.isFunction(value) || util.isRegExp(value)) { + return value.toString(); + } + return value; +} + +function truncate(s, n) { + if (util.isString(s)) { + return s.length < n ? s : s.slice(0, n); + } else { + return s; + } +} + +function getMessage(self) { + return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' + + self.operator + ' ' + + truncate(JSON.stringify(self.expected, replacer), 128); +} + +// At present only the three keys mentioned above are used and +// understood by the spec. Implementations or sub modules can pass +// other keys to the AssertionError's constructor - they will be +// ignored. + +// 3. All of the following functions must throw an AssertionError +// when a corresponding condition is not met, with a message that +// may be undefined if not provided. All assertion methods provide +// both the actual and expected values to the assertion error for +// display purposes. + +function fail(actual, expected, message, operator, stackStartFunction) { + throw new assert.AssertionError({ + message: message, + actual: actual, + expected: expected, + operator: operator, + stackStartFunction: stackStartFunction + }); +} + +// EXTENSION! allows for well behaved errors defined elsewhere. +assert.fail = fail; + +// 4. Pure assertion tests whether a value is truthy, as determined +// by !!guard. +// assert.ok(guard, message_opt); +// This statement is equivalent to assert.equal(true, !!guard, +// message_opt);. To test strictly for the value true, use +// assert.strictEqual(true, guard, message_opt);. + +function ok(value, message) { + if (!value) fail(value, true, message, '==', assert.ok); +} +assert.ok = ok; + +// 5. The equality assertion tests shallow, coercive equality with +// ==. +// assert.equal(actual, expected, message_opt); + +assert.equal = function equal(actual, expected, message) { + if (actual != expected) fail(actual, expected, message, '==', assert.equal); +}; + +// 6. The non-equality assertion tests for whether two objects are not equal +// with != assert.notEqual(actual, expected, message_opt); + +assert.notEqual = function notEqual(actual, expected, message) { + if (actual == expected) { + fail(actual, expected, message, '!=', assert.notEqual); + } +}; + +// 7. The equivalence assertion tests a deep equality relation. +// assert.deepEqual(actual, expected, message_opt); + +assert.deepEqual = function deepEqual(actual, expected, message) { + if (!_deepEqual(actual, expected)) { + fail(actual, expected, message, 'deepEqual', assert.deepEqual); + } +}; + +function _deepEqual(actual, expected) { + // 7.1. All identical values are equivalent, as determined by ===. + if (actual === expected) { + return true; + + } else if (util.isBuffer(actual) && util.isBuffer(expected)) { + if (actual.length != expected.length) return false; + + for (var i = 0; i < actual.length; i++) { + if (actual[i] !== expected[i]) return false; + } + + return true; + + // 7.2. If the expected value is a Date object, the actual value is + // equivalent if it is also a Date object that refers to the same time. + } else if (util.isDate(actual) && util.isDate(expected)) { + return actual.getTime() === expected.getTime(); + + // 7.3 If the expected value is a RegExp object, the actual value is + // equivalent if it is also a RegExp object with the same source and + // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`). + } else if (util.isRegExp(actual) && util.isRegExp(expected)) { + return actual.source === expected.source && + actual.global === expected.global && + actual.multiline === expected.multiline && + actual.lastIndex === expected.lastIndex && + actual.ignoreCase === expected.ignoreCase; + + // 7.4. Other pairs that do not both pass typeof value == 'object', + // equivalence is determined by ==. + } else if (!util.isObject(actual) && !util.isObject(expected)) { + return actual == expected; + + // 7.5 For all other Object pairs, including Array objects, equivalence is + // determined by having the same number of owned properties (as verified + // with Object.prototype.hasOwnProperty.call), the same set of keys + // (although not necessarily the same order), equivalent values for every + // corresponding key, and an identical 'prototype' property. Note: this + // accounts for both named and indexed properties on Arrays. + } else { + return objEquiv(actual, expected); + } +} + +function isArguments(object) { + return Object.prototype.toString.call(object) == '[object Arguments]'; +} + +function objEquiv(a, b) { + if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b)) + return false; + // an identical 'prototype' property. + if (a.prototype !== b.prototype) return false; + // if one is a primitive, the other must be same + if (util.isPrimitive(a) || util.isPrimitive(b)) { + return a === b; + } + var aIsArgs = isArguments(a), + bIsArgs = isArguments(b); + if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs)) + return false; + if (aIsArgs) { + a = pSlice.call(a); + b = pSlice.call(b); + return _deepEqual(a, b); + } + var ka = objectKeys(a), + kb = objectKeys(b), + key, i; + // having the same number of owned properties (keys incorporates + // hasOwnProperty) + if (ka.length != kb.length) + return false; + //the same set of keys (although not necessarily the same order), + ka.sort(); + kb.sort(); + //~~~cheap key test + for (i = ka.length - 1; i >= 0; i--) { + if (ka[i] != kb[i]) + return false; + } + //equivalent values for every corresponding key, and + //~~~possibly expensive deep test + for (i = ka.length - 1; i >= 0; i--) { + key = ka[i]; + if (!_deepEqual(a[key], b[key])) return false; + } + return true; +} + +// 8. The non-equivalence assertion tests for any deep inequality. +// assert.notDeepEqual(actual, expected, message_opt); + +assert.notDeepEqual = function notDeepEqual(actual, expected, message) { + if (_deepEqual(actual, expected)) { + fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual); + } +}; + +// 9. The strict equality assertion tests strict equality, as determined by ===. +// assert.strictEqual(actual, expected, message_opt); + +assert.strictEqual = function strictEqual(actual, expected, message) { + if (actual !== expected) { + fail(actual, expected, message, '===', assert.strictEqual); + } +}; + +// 10. The strict non-equality assertion tests for strict inequality, as +// determined by !==. assert.notStrictEqual(actual, expected, message_opt); + +assert.notStrictEqual = function notStrictEqual(actual, expected, message) { + if (actual === expected) { + fail(actual, expected, message, '!==', assert.notStrictEqual); + } +}; + +function expectedException(actual, expected) { + if (!actual || !expected) { + return false; + } + + if (Object.prototype.toString.call(expected) == '[object RegExp]') { + return expected.test(actual); + } else if (actual instanceof expected) { + return true; + } else if (expected.call({}, actual) === true) { + return true; + } + + return false; +} + +function _throws(shouldThrow, block, expected, message) { + var actual; + + if (util.isString(expected)) { + message = expected; + expected = null; + } + + try { + block(); + } catch (e) { + actual = e; + } + + message = (expected && expected.name ? ' (' + expected.name + ').' : '.') + + (message ? ' ' + message : '.'); + + if (shouldThrow && !actual) { + fail(actual, expected, 'Missing expected exception' + message); + } + + if (!shouldThrow && expectedException(actual, expected)) { + fail(actual, expected, 'Got unwanted exception' + message); + } + + if ((shouldThrow && actual && expected && + !expectedException(actual, expected)) || (!shouldThrow && actual)) { + throw actual; + } +} + +// 11. Expected to throw an error: +// assert.throws(block, Error_opt, message_opt); + +assert.throws = function(block, /*optional*/error, /*optional*/message) { + _throws.apply(this, [true].concat(pSlice.call(arguments))); +}; + +// EXTENSION! This is annoying to write outside this module. +assert.doesNotThrow = function(block, /*optional*/message) { + _throws.apply(this, [false].concat(pSlice.call(arguments))); +}; + +assert.ifError = function(err) { if (err) {throw err;}}; + +var objectKeys = Object.keys || function (obj) { + var keys = []; + for (var key in obj) { + if (hasOwn.call(obj, key)) keys.push(key); + } + return keys; +}; + +},{"util/":28}],10:[function(require,module,exports){ +'use strict'; +module.exports = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); + + var r = range(a, b, str); + + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; +} + +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; +} + +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; + + if (ai >= 0 && bi > 0) { + begs = []; + left = str.length; + + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } + + bi = str.indexOf(b, i + 1); + } + + i = ai < bi && ai >= 0 ? ai : bi; + } + + if (begs.length) { + result = [ left, right ]; + } + } + + return result; +} + +},{}],11:[function(require,module,exports){ +var concatMap = require('concat-map'); +var balanced = require('balanced-match'); + +module.exports = expandTop; + +var escSlash = '\0SLASH'+Math.random()+'\0'; +var escOpen = '\0OPEN'+Math.random()+'\0'; +var escClose = '\0CLOSE'+Math.random()+'\0'; +var escComma = '\0COMMA'+Math.random()+'\0'; +var escPeriod = '\0PERIOD'+Math.random()+'\0'; + +function numeric(str) { + return parseInt(str, 10) == str + ? parseInt(str, 10) + : str.charCodeAt(0); +} + +function escapeBraces(str) { + return str.split('\\\\').join(escSlash) + .split('\\{').join(escOpen) + .split('\\}').join(escClose) + .split('\\,').join(escComma) + .split('\\.').join(escPeriod); +} + +function unescapeBraces(str) { + return str.split(escSlash).join('\\') + .split(escOpen).join('{') + .split(escClose).join('}') + .split(escComma).join(',') + .split(escPeriod).join('.'); +} + + +// Basically just str.split(","), but handling cases +// where we have nested braced sections, which should be +// treated as individual members, like {a,{b,c},d} +function parseCommaParts(str) { + if (!str) + return ['']; + + var parts = []; + var m = balanced('{', '}', str); + + if (!m) + return str.split(','); + + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(','); + + p[p.length-1] += '{' + body + '}'; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length-1] += postParts.shift(); + p.push.apply(p, postParts); + } + + parts.push.apply(parts, p); + + return parts; +} + +function expandTop(str) { + if (!str) + return []; + + // I don't know why Bash 4.3 does this, but it does. + // Anything starting with {} will have the first two bytes preserved + // but *only* at the top level, so {},a}b will not expand to anything, + // but a{},b}c will be expanded to [a}c,abc]. + // One could argue that this is a bug in Bash, but since the goal of + // this module is to match Bash's rules, we escape a leading {} + if (str.substr(0, 2) === '{}') { + str = '\\{\\}' + str.substr(2); + } + + return expand(escapeBraces(str), true).map(unescapeBraces); +} + +function identity(e) { + return e; +} + +function embrace(str) { + return '{' + str + '}'; +} +function isPadded(el) { + return /^-?0\d/.test(el); +} + +function lte(i, y) { + return i <= y; +} +function gte(i, y) { + return i >= y; +} + +function expand(str, isTop) { + var expansions = []; + + var m = balanced('{', '}', str); + if (!m || /\$$/.test(m.pre)) return [str]; + + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(',') >= 0; + if (!isSequence && !isOptions) { + // {a},b} + if (m.post.match(/,.*\}/)) { + str = m.pre + '{' + m.body + escClose + m.post; + return expand(str); + } + return [str]; + } + + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + // x{{a,b}}y ==> x{a}y x{b}y + n = expand(n[0], false).map(embrace); + if (n.length === 1) { + var post = m.post.length + ? expand(m.post, false) + : ['']; + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } + } + } + + // at this point, n is the parts, and we know it's not a comma set + // with a single entry. + + // no need to expand pre, since it is guaranteed to be free of brace-sets + var pre = m.pre; + var post = m.post.length + ? expand(m.post, false) + : ['']; + + var N; + + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length) + var incr = n.length == 3 + ? Math.abs(numeric(n[2])) + : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte; + } + var pad = n.some(isPadded); + + N = []; + + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === '\\') + c = ''; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join('0'); + if (i < 0) + c = '-' + z + c.slice(1); + else + c = z + c; + } + } + } + N.push(c); + } + } else { + N = concatMap(n, function(el) { return expand(el, false) }); + } + + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } + } + + return expansions; +} + + +},{"balanced-match":10,"concat-map":13}],12:[function(require,module,exports){ + +},{}],13:[function(require,module,exports){ +module.exports = function (xs, fn) { + var res = []; + for (var i = 0; i < xs.length; i++) { + var x = fn(xs[i], i); + if (isArray(x)) res.push.apply(res, x); + else res.push(x); + } + return res; +}; + +var isArray = Array.isArray || function (xs) { + return Object.prototype.toString.call(xs) === '[object Array]'; +}; + +},{}],14:[function(require,module,exports){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +function EventEmitter() { + this._events = this._events || {}; + this._maxListeners = this._maxListeners || undefined; +} +module.exports = EventEmitter; + +// Backwards-compat with node 0.10.x +EventEmitter.EventEmitter = EventEmitter; + +EventEmitter.prototype._events = undefined; +EventEmitter.prototype._maxListeners = undefined; + +// By default EventEmitters will print a warning if more than 10 listeners are +// added to it. This is a useful default which helps finding memory leaks. +EventEmitter.defaultMaxListeners = 10; + +// Obviously not all Emitters should be limited to 10. This function allows +// that to be increased. Set to zero for unlimited. +EventEmitter.prototype.setMaxListeners = function(n) { + if (!isNumber(n) || n < 0 || isNaN(n)) + throw TypeError('n must be a positive number'); + this._maxListeners = n; + return this; +}; + +EventEmitter.prototype.emit = function(type) { + var er, handler, len, args, i, listeners; + + if (!this._events) + this._events = {}; + + // If there is no 'error' event listener then throw. + if (type === 'error') { + if (!this._events.error || + (isObject(this._events.error) && !this._events.error.length)) { + er = arguments[1]; + if (er instanceof Error) { + throw er; // Unhandled 'error' event + } + throw TypeError('Uncaught, unspecified "error" event.'); + } + } + + handler = this._events[type]; + + if (isUndefined(handler)) + return false; + + if (isFunction(handler)) { + switch (arguments.length) { + // fast cases + case 1: + handler.call(this); + break; + case 2: + handler.call(this, arguments[1]); + break; + case 3: + handler.call(this, arguments[1], arguments[2]); + break; + // slower + default: + len = arguments.length; + args = new Array(len - 1); + for (i = 1; i < len; i++) + args[i - 1] = arguments[i]; + handler.apply(this, args); + } + } else if (isObject(handler)) { + len = arguments.length; + args = new Array(len - 1); + for (i = 1; i < len; i++) + args[i - 1] = arguments[i]; + + listeners = handler.slice(); + len = listeners.length; + for (i = 0; i < len; i++) + listeners[i].apply(this, args); + } + + return true; +}; + +EventEmitter.prototype.addListener = function(type, listener) { + var m; + + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + if (!this._events) + this._events = {}; + + // To avoid recursion in the case that type === "newListener"! Before + // adding it to the listeners, first emit "newListener". + if (this._events.newListener) + this.emit('newListener', type, + isFunction(listener.listener) ? + listener.listener : listener); + + if (!this._events[type]) + // Optimize the case of one listener. Don't need the extra array object. + this._events[type] = listener; + else if (isObject(this._events[type])) + // If we've already got an array, just append. + this._events[type].push(listener); + else + // Adding the second element, need to change to array. + this._events[type] = [this._events[type], listener]; + + // Check for listener leak + if (isObject(this._events[type]) && !this._events[type].warned) { + var m; + if (!isUndefined(this._maxListeners)) { + m = this._maxListeners; + } else { + m = EventEmitter.defaultMaxListeners; + } + + if (m && m > 0 && this._events[type].length > m) { + this._events[type].warned = true; + console.error('(node) warning: possible EventEmitter memory ' + + 'leak detected. %d listeners added. ' + + 'Use emitter.setMaxListeners() to increase limit.', + this._events[type].length); + if (typeof console.trace === 'function') { + // not supported in IE 10 + console.trace(); + } + } + } + + return this; +}; + +EventEmitter.prototype.on = EventEmitter.prototype.addListener; + +EventEmitter.prototype.once = function(type, listener) { + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + var fired = false; + + function g() { + this.removeListener(type, g); + + if (!fired) { + fired = true; + listener.apply(this, arguments); + } + } + + g.listener = listener; + this.on(type, g); + + return this; +}; + +// emits a 'removeListener' event iff the listener was removed +EventEmitter.prototype.removeListener = function(type, listener) { + var list, position, length, i; + + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + if (!this._events || !this._events[type]) + return this; + + list = this._events[type]; + length = list.length; + position = -1; + + if (list === listener || + (isFunction(list.listener) && list.listener === listener)) { + delete this._events[type]; + if (this._events.removeListener) + this.emit('removeListener', type, listener); + + } else if (isObject(list)) { + for (i = length; i-- > 0;) { + if (list[i] === listener || + (list[i].listener && list[i].listener === listener)) { + position = i; + break; + } + } + + if (position < 0) + return this; + + if (list.length === 1) { + list.length = 0; + delete this._events[type]; + } else { + list.splice(position, 1); + } + + if (this._events.removeListener) + this.emit('removeListener', type, listener); + } + + return this; +}; + +EventEmitter.prototype.removeAllListeners = function(type) { + var key, listeners; + + if (!this._events) + return this; + + // not listening for removeListener, no need to emit + if (!this._events.removeListener) { + if (arguments.length === 0) + this._events = {}; + else if (this._events[type]) + delete this._events[type]; + return this; + } + + // emit removeListener for all listeners on all events + if (arguments.length === 0) { + for (key in this._events) { + if (key === 'removeListener') continue; + this.removeAllListeners(key); + } + this.removeAllListeners('removeListener'); + this._events = {}; + return this; + } + + listeners = this._events[type]; + + if (isFunction(listeners)) { + this.removeListener(type, listeners); + } else { + // LIFO order + while (listeners.length) + this.removeListener(type, listeners[listeners.length - 1]); + } + delete this._events[type]; + + return this; +}; + +EventEmitter.prototype.listeners = function(type) { + var ret; + if (!this._events || !this._events[type]) + ret = []; + else if (isFunction(this._events[type])) + ret = [this._events[type]]; + else + ret = this._events[type].slice(); + return ret; +}; + +EventEmitter.listenerCount = function(emitter, type) { + var ret; + if (!emitter._events || !emitter._events[type]) + ret = 0; + else if (isFunction(emitter._events[type])) + ret = 1; + else + ret = emitter._events[type].length; + return ret; +}; + +function isFunction(arg) { + return typeof arg === 'function'; +} + +function isNumber(arg) { + return typeof arg === 'number'; +} + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} + +function isUndefined(arg) { + return arg === void 0; +} + +},{}],15:[function(require,module,exports){ +(function (process){ +exports.alphasort = alphasort +exports.alphasorti = alphasorti +exports.setopts = setopts +exports.ownProp = ownProp +exports.makeAbs = makeAbs +exports.finish = finish +exports.mark = mark +exports.isIgnored = isIgnored +exports.childrenIgnored = childrenIgnored + +function ownProp (obj, field) { + return Object.prototype.hasOwnProperty.call(obj, field) +} + +var path = require("path") +var minimatch = require("minimatch") +var isAbsolute = require("path-is-absolute") +var Minimatch = minimatch.Minimatch + +function alphasorti (a, b) { + return a.toLowerCase().localeCompare(b.toLowerCase()) +} + +function alphasort (a, b) { + return a.localeCompare(b) +} + +function setupIgnores (self, options) { + self.ignore = options.ignore || [] + + if (!Array.isArray(self.ignore)) + self.ignore = [self.ignore] + + if (self.ignore.length) { + self.ignore = self.ignore.map(ignoreMap) + } +} + +function ignoreMap (pattern) { + var gmatcher = null + if (pattern.slice(-3) === '/**') { + var gpattern = pattern.replace(/(\/\*\*)+$/, '') + gmatcher = new Minimatch(gpattern) + } + + return { + matcher: new Minimatch(pattern), + gmatcher: gmatcher + } +} + +function setopts (self, pattern, options) { + if (!options) + options = {} + + // base-matching: just use globstar for that. + if (options.matchBase && -1 === pattern.indexOf("/")) { + if (options.noglobstar) { + throw new Error("base matching requires globstar") + } + pattern = "**/" + pattern + } + + self.silent = !!options.silent + self.pattern = pattern + self.strict = options.strict !== false + self.realpath = !!options.realpath + self.realpathCache = options.realpathCache || Object.create(null) + self.follow = !!options.follow + self.dot = !!options.dot + self.mark = !!options.mark + self.nodir = !!options.nodir + if (self.nodir) + self.mark = true + self.sync = !!options.sync + self.nounique = !!options.nounique + self.nonull = !!options.nonull + self.nosort = !!options.nosort + self.nocase = !!options.nocase + self.stat = !!options.stat + self.noprocess = !!options.noprocess + + self.maxLength = options.maxLength || Infinity + self.cache = options.cache || Object.create(null) + self.statCache = options.statCache || Object.create(null) + self.symlinks = options.symlinks || Object.create(null) + + setupIgnores(self, options) + + self.changedCwd = false + var cwd = process.cwd() + if (!ownProp(options, "cwd")) + self.cwd = cwd + else { + self.cwd = options.cwd + self.changedCwd = path.resolve(options.cwd) !== cwd + } + + self.root = options.root || path.resolve(self.cwd, "/") + self.root = path.resolve(self.root) + if (process.platform === "win32") + self.root = self.root.replace(/\\/g, "/") + + self.nomount = !!options.nomount + + // disable comments and negation unless the user explicitly + // passes in false as the option. + options.nonegate = options.nonegate === false ? false : true + options.nocomment = options.nocomment === false ? false : true + deprecationWarning(options) + + self.minimatch = new Minimatch(pattern, options) + self.options = self.minimatch.options +} + +// TODO(isaacs): remove entirely in v6 +// exported to reset in tests +exports.deprecationWarned +function deprecationWarning(options) { + if (!options.nonegate || !options.nocomment) { + if (process.noDeprecation !== true && !exports.deprecationWarned) { + var msg = 'glob WARNING: comments and negation will be disabled in v6' + if (process.throwDeprecation) + throw new Error(msg) + else if (process.traceDeprecation) + console.trace(msg) + else + console.error(msg) + + exports.deprecationWarned = true + } + } +} + +function finish (self) { + var nou = self.nounique + var all = nou ? [] : Object.create(null) + + for (var i = 0, l = self.matches.length; i < l; i ++) { + var matches = self.matches[i] + if (!matches || Object.keys(matches).length === 0) { + if (self.nonull) { + // do like the shell, and spit out the literal glob + var literal = self.minimatch.globSet[i] + if (nou) + all.push(literal) + else + all[literal] = true + } + } else { + // had matches + var m = Object.keys(matches) + if (nou) + all.push.apply(all, m) + else + m.forEach(function (m) { + all[m] = true + }) + } + } + + if (!nou) + all = Object.keys(all) + + if (!self.nosort) + all = all.sort(self.nocase ? alphasorti : alphasort) + + // at *some* point we statted all of these + if (self.mark) { + for (var i = 0; i < all.length; i++) { + all[i] = self._mark(all[i]) + } + if (self.nodir) { + all = all.filter(function (e) { + return !(/\/$/.test(e)) + }) + } + } + + if (self.ignore.length) + all = all.filter(function(m) { + return !isIgnored(self, m) + }) + + self.found = all +} + +function mark (self, p) { + var abs = makeAbs(self, p) + var c = self.cache[abs] + var m = p + if (c) { + var isDir = c === 'DIR' || Array.isArray(c) + var slash = p.slice(-1) === '/' + + if (isDir && !slash) + m += '/' + else if (!isDir && slash) + m = m.slice(0, -1) + + if (m !== p) { + var mabs = makeAbs(self, m) + self.statCache[mabs] = self.statCache[abs] + self.cache[mabs] = self.cache[abs] + } + } + + return m +} + +// lotta situps... +function makeAbs (self, f) { + var abs = f + if (f.charAt(0) === '/') { + abs = path.join(self.root, f) + } else if (isAbsolute(f) || f === '') { + abs = f + } else if (self.changedCwd) { + abs = path.resolve(self.cwd, f) + } else { + abs = path.resolve(f) + } + return abs +} + + +// Return true, if pattern ends with globstar '**', for the accompanying parent directory. +// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents +function isIgnored (self, path) { + if (!self.ignore.length) + return false + + return self.ignore.some(function(item) { + return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path)) + }) +} + +function childrenIgnored (self, path) { + if (!self.ignore.length) + return false + + return self.ignore.some(function(item) { + return !!(item.gmatcher && item.gmatcher.match(path)) + }) +} + +}).call(this,require('_process')) +},{"_process":24,"minimatch":20,"path":22,"path-is-absolute":23}],16:[function(require,module,exports){ +(function (process){ +// Approach: +// +// 1. Get the minimatch set +// 2. For each pattern in the set, PROCESS(pattern, false) +// 3. Store matches per-set, then uniq them +// +// PROCESS(pattern, inGlobStar) +// Get the first [n] items from pattern that are all strings +// Join these together. This is PREFIX. +// If there is no more remaining, then stat(PREFIX) and +// add to matches if it succeeds. END. +// +// If inGlobStar and PREFIX is symlink and points to dir +// set ENTRIES = [] +// else readdir(PREFIX) as ENTRIES +// If fail, END +// +// with ENTRIES +// If pattern[n] is GLOBSTAR +// // handle the case where the globstar match is empty +// // by pruning it out, and testing the resulting pattern +// PROCESS(pattern[0..n] + pattern[n+1 .. $], false) +// // handle other cases. +// for ENTRY in ENTRIES (not dotfiles) +// // attach globstar + tail onto the entry +// // Mark that this entry is a globstar match +// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true) +// +// else // not globstar +// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) +// Test ENTRY against pattern[n] +// If fails, continue +// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) +// +// Caveat: +// Cache all stats and readdirs results to minimize syscall. Since all +// we ever care about is existence and directory-ness, we can just keep +// `true` for files, and [children,...] for directories, or `false` for +// things that don't exist. + +module.exports = glob + +var fs = require('fs') +var minimatch = require('minimatch') +var Minimatch = minimatch.Minimatch +var inherits = require('inherits') +var EE = require('events').EventEmitter +var path = require('path') +var assert = require('assert') +var isAbsolute = require('path-is-absolute') +var globSync = require('./sync.js') +var common = require('./common.js') +var alphasort = common.alphasort +var alphasorti = common.alphasorti +var setopts = common.setopts +var ownProp = common.ownProp +var inflight = require('inflight') +var util = require('util') +var childrenIgnored = common.childrenIgnored +var isIgnored = common.isIgnored + +var once = require('once') + +function glob (pattern, options, cb) { + if (typeof options === 'function') cb = options, options = {} + if (!options) options = {} + + if (options.sync) { + if (cb) + throw new TypeError('callback provided to sync glob') + return globSync(pattern, options) + } + + return new Glob(pattern, options, cb) +} + +glob.sync = globSync +var GlobSync = glob.GlobSync = globSync.GlobSync + +// old api surface +glob.glob = glob + +glob.hasMagic = function (pattern, options_) { + var options = util._extend({}, options_) + options.noprocess = true + + var g = new Glob(pattern, options) + var set = g.minimatch.set + if (set.length > 1) + return true + + for (var j = 0; j < set[0].length; j++) { + if (typeof set[0][j] !== 'string') + return true + } + + return false +} + +glob.Glob = Glob +inherits(Glob, EE) +function Glob (pattern, options, cb) { + if (typeof options === 'function') { + cb = options + options = null + } + + if (options && options.sync) { + if (cb) + throw new TypeError('callback provided to sync glob') + return new GlobSync(pattern, options) + } + + if (!(this instanceof Glob)) + return new Glob(pattern, options, cb) + + setopts(this, pattern, options) + this._didRealPath = false + + // process each pattern in the minimatch set + var n = this.minimatch.set.length + + // The matches are stored as {: true,...} so that + // duplicates are automagically pruned. + // Later, we do an Object.keys() on these. + // Keep them as a list so we can fill in when nonull is set. + this.matches = new Array(n) + + if (typeof cb === 'function') { + cb = once(cb) + this.on('error', cb) + this.on('end', function (matches) { + cb(null, matches) + }) + } + + var self = this + var n = this.minimatch.set.length + this._processing = 0 + this.matches = new Array(n) + + this._emitQueue = [] + this._processQueue = [] + this.paused = false + + if (this.noprocess) + return this + + if (n === 0) + return done() + + for (var i = 0; i < n; i ++) { + this._process(this.minimatch.set[i], i, false, done) + } + + function done () { + --self._processing + if (self._processing <= 0) + self._finish() + } +} + +Glob.prototype._finish = function () { + assert(this instanceof Glob) + if (this.aborted) + return + + if (this.realpath && !this._didRealpath) + return this._realpath() + + common.finish(this) + this.emit('end', this.found) +} + +Glob.prototype._realpath = function () { + if (this._didRealpath) + return + + this._didRealpath = true + + var n = this.matches.length + if (n === 0) + return this._finish() + + var self = this + for (var i = 0; i < this.matches.length; i++) + this._realpathSet(i, next) + + function next () { + if (--n === 0) + self._finish() + } +} + +Glob.prototype._realpathSet = function (index, cb) { + var matchset = this.matches[index] + if (!matchset) + return cb() + + var found = Object.keys(matchset) + var self = this + var n = found.length + + if (n === 0) + return cb() + + var set = this.matches[index] = Object.create(null) + found.forEach(function (p, i) { + // If there's a problem with the stat, then it means that + // one or more of the links in the realpath couldn't be + // resolved. just return the abs value in that case. + p = self._makeAbs(p) + fs.realpath(p, self.realpathCache, function (er, real) { + if (!er) + set[real] = true + else if (er.syscall === 'stat') + set[p] = true + else + self.emit('error', er) // srsly wtf right here + + if (--n === 0) { + self.matches[index] = set + cb() + } + }) + }) +} + +Glob.prototype._mark = function (p) { + return common.mark(this, p) +} + +Glob.prototype._makeAbs = function (f) { + return common.makeAbs(this, f) +} + +Glob.prototype.abort = function () { + this.aborted = true + this.emit('abort') +} + +Glob.prototype.pause = function () { + if (!this.paused) { + this.paused = true + this.emit('pause') + } +} + +Glob.prototype.resume = function () { + if (this.paused) { + this.emit('resume') + this.paused = false + if (this._emitQueue.length) { + var eq = this._emitQueue.slice(0) + this._emitQueue.length = 0 + for (var i = 0; i < eq.length; i ++) { + var e = eq[i] + this._emitMatch(e[0], e[1]) + } + } + if (this._processQueue.length) { + var pq = this._processQueue.slice(0) + this._processQueue.length = 0 + for (var i = 0; i < pq.length; i ++) { + var p = pq[i] + this._processing-- + this._process(p[0], p[1], p[2], p[3]) + } + } + } +} + +Glob.prototype._process = function (pattern, index, inGlobStar, cb) { + assert(this instanceof Glob) + assert(typeof cb === 'function') + + if (this.aborted) + return + + this._processing++ + if (this.paused) { + this._processQueue.push([pattern, index, inGlobStar, cb]) + return + } + + //console.error('PROCESS %d', this._processing, pattern) + + // Get the first [n] parts of pattern that are all strings. + var n = 0 + while (typeof pattern[n] === 'string') { + n ++ + } + // now n is the index of the first one that is *not* a string. + + // see if there's anything else + var prefix + switch (n) { + // if not, then this is rather simple + case pattern.length: + this._processSimple(pattern.join('/'), index, cb) + return + + case 0: + // pattern *starts* with some non-trivial item. + // going to readdir(cwd), but not include the prefix in matches. + prefix = null + break + + default: + // pattern has some string bits in the front. + // whatever it starts with, whether that's 'absolute' like /foo/bar, + // or 'relative' like '../baz' + prefix = pattern.slice(0, n).join('/') + break + } + + var remain = pattern.slice(n) + + // get the list of entries. + var read + if (prefix === null) + read = '.' + else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { + if (!prefix || !isAbsolute(prefix)) + prefix = '/' + prefix + read = prefix + } else + read = prefix + + var abs = this._makeAbs(read) + + //if ignored, skip _processing + if (childrenIgnored(this, read)) + return cb() + + var isGlobStar = remain[0] === minimatch.GLOBSTAR + if (isGlobStar) + this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb) + else + this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb) +} + +Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) { + var self = this + this._readdir(abs, inGlobStar, function (er, entries) { + return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb) + }) +} + +Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { + + // if the abs isn't a dir, then nothing can match! + if (!entries) + return cb() + + // It will only match dot entries if it starts with a dot, or if + // dot is set. Stuff like @(.foo|.bar) isn't allowed. + var pn = remain[0] + var negate = !!this.minimatch.negate + var rawGlob = pn._glob + var dotOk = this.dot || rawGlob.charAt(0) === '.' + + var matchedEntries = [] + for (var i = 0; i < entries.length; i++) { + var e = entries[i] + if (e.charAt(0) !== '.' || dotOk) { + var m + if (negate && !prefix) { + m = !e.match(pn) + } else { + m = e.match(pn) + } + if (m) + matchedEntries.push(e) + } + } + + //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries) + + var len = matchedEntries.length + // If there are no matched entries, then nothing matches. + if (len === 0) + return cb() + + // if this is the last remaining pattern bit, then no need for + // an additional stat *unless* the user has specified mark or + // stat explicitly. We know they exist, since readdir returned + // them. + + if (remain.length === 1 && !this.mark && !this.stat) { + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + if (prefix) { + if (prefix !== '/') + e = prefix + '/' + e + else + e = prefix + e + } + + if (e.charAt(0) === '/' && !this.nomount) { + e = path.join(this.root, e) + } + this._emitMatch(index, e) + } + // This was the last one, and no stats were needed + return cb() + } + + // now test all matched entries as stand-ins for that part + // of the pattern. + remain.shift() + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + var newPattern + if (prefix) { + if (prefix !== '/') + e = prefix + '/' + e + else + e = prefix + e + } + this._process([e].concat(remain), index, inGlobStar, cb) + } + cb() +} + +Glob.prototype._emitMatch = function (index, e) { + if (this.aborted) + return + + if (this.matches[index][e]) + return + + if (isIgnored(this, e)) + return + + if (this.paused) { + this._emitQueue.push([index, e]) + return + } + + var abs = this._makeAbs(e) + + if (this.nodir) { + var c = this.cache[abs] + if (c === 'DIR' || Array.isArray(c)) + return + } + + if (this.mark) + e = this._mark(e) + + this.matches[index][e] = true + + var st = this.statCache[abs] + if (st) + this.emit('stat', e, st) + + this.emit('match', e) +} + +Glob.prototype._readdirInGlobStar = function (abs, cb) { + if (this.aborted) + return + + // follow all symlinked directories forever + // just proceed as if this is a non-globstar situation + if (this.follow) + return this._readdir(abs, false, cb) + + var lstatkey = 'lstat\0' + abs + var self = this + var lstatcb = inflight(lstatkey, lstatcb_) + + if (lstatcb) + fs.lstat(abs, lstatcb) + + function lstatcb_ (er, lstat) { + if (er) + return cb() + + var isSym = lstat.isSymbolicLink() + self.symlinks[abs] = isSym + + // If it's not a symlink or a dir, then it's definitely a regular file. + // don't bother doing a readdir in that case. + if (!isSym && !lstat.isDirectory()) { + self.cache[abs] = 'FILE' + cb() + } else + self._readdir(abs, false, cb) + } +} + +Glob.prototype._readdir = function (abs, inGlobStar, cb) { + if (this.aborted) + return + + cb = inflight('readdir\0'+abs+'\0'+inGlobStar, cb) + if (!cb) + return + + //console.error('RD %j %j', +inGlobStar, abs) + if (inGlobStar && !ownProp(this.symlinks, abs)) + return this._readdirInGlobStar(abs, cb) + + if (ownProp(this.cache, abs)) { + var c = this.cache[abs] + if (!c || c === 'FILE') + return cb() + + if (Array.isArray(c)) + return cb(null, c) + } + + var self = this + fs.readdir(abs, readdirCb(this, abs, cb)) +} + +function readdirCb (self, abs, cb) { + return function (er, entries) { + if (er) + self._readdirError(abs, er, cb) + else + self._readdirEntries(abs, entries, cb) + } +} + +Glob.prototype._readdirEntries = function (abs, entries, cb) { + if (this.aborted) + return + + // if we haven't asked to stat everything, then just + // assume that everything in there exists, so we can avoid + // having to stat it a second time. + if (!this.mark && !this.stat) { + for (var i = 0; i < entries.length; i ++) { + var e = entries[i] + if (abs === '/') + e = abs + e + else + e = abs + '/' + e + this.cache[e] = true + } + } + + this.cache[abs] = entries + return cb(null, entries) +} + +Glob.prototype._readdirError = function (f, er, cb) { + if (this.aborted) + return + + // handle errors, and cache the information + switch (er.code) { + case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 + case 'ENOTDIR': // totally normal. means it *does* exist. + this.cache[this._makeAbs(f)] = 'FILE' + break + + case 'ENOENT': // not terribly unusual + case 'ELOOP': + case 'ENAMETOOLONG': + case 'UNKNOWN': + this.cache[this._makeAbs(f)] = false + break + + default: // some unusual error. Treat as failure. + this.cache[this._makeAbs(f)] = false + if (this.strict) { + this.emit('error', er) + // If the error is handled, then we abort + // if not, we threw out of here + this.abort() + } + if (!this.silent) + console.error('glob error', er) + break + } + + return cb() +} + +Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) { + var self = this + this._readdir(abs, inGlobStar, function (er, entries) { + self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb) + }) +} + + +Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { + //console.error('pgs2', prefix, remain[0], entries) + + // no entries means not a dir, so it can never have matches + // foo.txt/** doesn't match foo.txt + if (!entries) + return cb() + + // test without the globstar, and with every child both below + // and replacing the globstar. + var remainWithoutGlobStar = remain.slice(1) + var gspref = prefix ? [ prefix ] : [] + var noGlobStar = gspref.concat(remainWithoutGlobStar) + + // the noGlobStar pattern exits the inGlobStar state + this._process(noGlobStar, index, false, cb) + + var isSym = this.symlinks[abs] + var len = entries.length + + // If it's a symlink, and we're in a globstar, then stop + if (isSym && inGlobStar) + return cb() + + for (var i = 0; i < len; i++) { + var e = entries[i] + if (e.charAt(0) === '.' && !this.dot) + continue + + // these two cases enter the inGlobStar state + var instead = gspref.concat(entries[i], remainWithoutGlobStar) + this._process(instead, index, true, cb) + + var below = gspref.concat(entries[i], remain) + this._process(below, index, true, cb) + } + + cb() +} + +Glob.prototype._processSimple = function (prefix, index, cb) { + // XXX review this. Shouldn't it be doing the mounting etc + // before doing stat? kinda weird? + var self = this + this._stat(prefix, function (er, exists) { + self._processSimple2(prefix, index, er, exists, cb) + }) +} +Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) { + + //console.error('ps2', prefix, exists) + + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + // If it doesn't exist, then just mark the lack of results + if (!exists) + return cb() + + if (prefix && isAbsolute(prefix) && !this.nomount) { + var trail = /[\/\\]$/.test(prefix) + if (prefix.charAt(0) === '/') { + prefix = path.join(this.root, prefix) + } else { + prefix = path.resolve(this.root, prefix) + if (trail) + prefix += '/' + } + } + + if (process.platform === 'win32') + prefix = prefix.replace(/\\/g, '/') + + // Mark this as a match + this._emitMatch(index, prefix) + cb() +} + +// Returns either 'DIR', 'FILE', or false +Glob.prototype._stat = function (f, cb) { + var abs = this._makeAbs(f) + var needDir = f.slice(-1) === '/' + + if (f.length > this.maxLength) + return cb() + + if (!this.stat && ownProp(this.cache, abs)) { + var c = this.cache[abs] + + if (Array.isArray(c)) + c = 'DIR' + + // It exists, but maybe not how we need it + if (!needDir || c === 'DIR') + return cb(null, c) + + if (needDir && c === 'FILE') + return cb() + + // otherwise we have to stat, because maybe c=true + // if we know it exists, but not what it is. + } + + var exists + var stat = this.statCache[abs] + if (stat !== undefined) { + if (stat === false) + return cb(null, stat) + else { + var type = stat.isDirectory() ? 'DIR' : 'FILE' + if (needDir && type === 'FILE') + return cb() + else + return cb(null, type, stat) + } + } + + var self = this + var statcb = inflight('stat\0' + abs, lstatcb_) + if (statcb) + fs.lstat(abs, statcb) + + function lstatcb_ (er, lstat) { + if (lstat && lstat.isSymbolicLink()) { + // If it's a symlink, then treat it as the target, unless + // the target does not exist, then treat it as a file. + return fs.stat(abs, function (er, stat) { + if (er) + self._stat2(f, abs, null, lstat, cb) + else + self._stat2(f, abs, er, stat, cb) + }) + } else { + self._stat2(f, abs, er, lstat, cb) + } + } +} + +Glob.prototype._stat2 = function (f, abs, er, stat, cb) { + if (er) { + this.statCache[abs] = false + return cb() + } + + var needDir = f.slice(-1) === '/' + this.statCache[abs] = stat + + if (abs.slice(-1) === '/' && !stat.isDirectory()) + return cb(null, false, stat) + + var c = stat.isDirectory() ? 'DIR' : 'FILE' + this.cache[abs] = this.cache[abs] || c + + if (needDir && c !== 'DIR') + return cb() + + return cb(null, c, stat) +} + +}).call(this,require('_process')) +},{"./common.js":15,"./sync.js":17,"_process":24,"assert":9,"events":14,"fs":12,"inflight":18,"inherits":19,"minimatch":20,"once":21,"path":22,"path-is-absolute":23,"util":28}],17:[function(require,module,exports){ +(function (process){ +module.exports = globSync +globSync.GlobSync = GlobSync + +var fs = require('fs') +var minimatch = require('minimatch') +var Minimatch = minimatch.Minimatch +var Glob = require('./glob.js').Glob +var util = require('util') +var path = require('path') +var assert = require('assert') +var isAbsolute = require('path-is-absolute') +var common = require('./common.js') +var alphasort = common.alphasort +var alphasorti = common.alphasorti +var setopts = common.setopts +var ownProp = common.ownProp +var childrenIgnored = common.childrenIgnored + +function globSync (pattern, options) { + if (typeof options === 'function' || arguments.length === 3) + throw new TypeError('callback provided to sync glob\n'+ + 'See: https://github.com/isaacs/node-glob/issues/167') + + return new GlobSync(pattern, options).found +} + +function GlobSync (pattern, options) { + if (!pattern) + throw new Error('must provide pattern') + + if (typeof options === 'function' || arguments.length === 3) + throw new TypeError('callback provided to sync glob\n'+ + 'See: https://github.com/isaacs/node-glob/issues/167') + + if (!(this instanceof GlobSync)) + return new GlobSync(pattern, options) + + setopts(this, pattern, options) + + if (this.noprocess) + return this + + var n = this.minimatch.set.length + this.matches = new Array(n) + for (var i = 0; i < n; i ++) { + this._process(this.minimatch.set[i], i, false) + } + this._finish() +} + +GlobSync.prototype._finish = function () { + assert(this instanceof GlobSync) + if (this.realpath) { + var self = this + this.matches.forEach(function (matchset, index) { + var set = self.matches[index] = Object.create(null) + for (var p in matchset) { + try { + p = self._makeAbs(p) + var real = fs.realpathSync(p, self.realpathCache) + set[real] = true + } catch (er) { + if (er.syscall === 'stat') + set[self._makeAbs(p)] = true + else + throw er + } + } + }) + } + common.finish(this) +} + + +GlobSync.prototype._process = function (pattern, index, inGlobStar) { + assert(this instanceof GlobSync) + + // Get the first [n] parts of pattern that are all strings. + var n = 0 + while (typeof pattern[n] === 'string') { + n ++ + } + // now n is the index of the first one that is *not* a string. + + // See if there's anything else + var prefix + switch (n) { + // if not, then this is rather simple + case pattern.length: + this._processSimple(pattern.join('/'), index) + return + + case 0: + // pattern *starts* with some non-trivial item. + // going to readdir(cwd), but not include the prefix in matches. + prefix = null + break + + default: + // pattern has some string bits in the front. + // whatever it starts with, whether that's 'absolute' like /foo/bar, + // or 'relative' like '../baz' + prefix = pattern.slice(0, n).join('/') + break + } + + var remain = pattern.slice(n) + + // get the list of entries. + var read + if (prefix === null) + read = '.' + else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) { + if (!prefix || !isAbsolute(prefix)) + prefix = '/' + prefix + read = prefix + } else + read = prefix + + var abs = this._makeAbs(read) + + //if ignored, skip processing + if (childrenIgnored(this, read)) + return + + var isGlobStar = remain[0] === minimatch.GLOBSTAR + if (isGlobStar) + this._processGlobStar(prefix, read, abs, remain, index, inGlobStar) + else + this._processReaddir(prefix, read, abs, remain, index, inGlobStar) +} + + +GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) { + var entries = this._readdir(abs, inGlobStar) + + // if the abs isn't a dir, then nothing can match! + if (!entries) + return + + // It will only match dot entries if it starts with a dot, or if + // dot is set. Stuff like @(.foo|.bar) isn't allowed. + var pn = remain[0] + var negate = !!this.minimatch.negate + var rawGlob = pn._glob + var dotOk = this.dot || rawGlob.charAt(0) === '.' + + var matchedEntries = [] + for (var i = 0; i < entries.length; i++) { + var e = entries[i] + if (e.charAt(0) !== '.' || dotOk) { + var m + if (negate && !prefix) { + m = !e.match(pn) + } else { + m = e.match(pn) + } + if (m) + matchedEntries.push(e) + } + } + + var len = matchedEntries.length + // If there are no matched entries, then nothing matches. + if (len === 0) + return + + // if this is the last remaining pattern bit, then no need for + // an additional stat *unless* the user has specified mark or + // stat explicitly. We know they exist, since readdir returned + // them. + + if (remain.length === 1 && !this.mark && !this.stat) { + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + if (prefix) { + if (prefix.slice(-1) !== '/') + e = prefix + '/' + e + else + e = prefix + e + } + + if (e.charAt(0) === '/' && !this.nomount) { + e = path.join(this.root, e) + } + this.matches[index][e] = true + } + // This was the last one, and no stats were needed + return + } + + // now test all matched entries as stand-ins for that part + // of the pattern. + remain.shift() + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + var newPattern + if (prefix) + newPattern = [prefix, e] + else + newPattern = [e] + this._process(newPattern.concat(remain), index, inGlobStar) + } +} + + +GlobSync.prototype._emitMatch = function (index, e) { + var abs = this._makeAbs(e) + if (this.mark) + e = this._mark(e) + + if (this.matches[index][e]) + return + + if (this.nodir) { + var c = this.cache[this._makeAbs(e)] + if (c === 'DIR' || Array.isArray(c)) + return + } + + this.matches[index][e] = true + if (this.stat) + this._stat(e) +} + + +GlobSync.prototype._readdirInGlobStar = function (abs) { + // follow all symlinked directories forever + // just proceed as if this is a non-globstar situation + if (this.follow) + return this._readdir(abs, false) + + var entries + var lstat + var stat + try { + lstat = fs.lstatSync(abs) + } catch (er) { + // lstat failed, doesn't exist + return null + } + + var isSym = lstat.isSymbolicLink() + this.symlinks[abs] = isSym + + // If it's not a symlink or a dir, then it's definitely a regular file. + // don't bother doing a readdir in that case. + if (!isSym && !lstat.isDirectory()) + this.cache[abs] = 'FILE' + else + entries = this._readdir(abs, false) + + return entries +} + +GlobSync.prototype._readdir = function (abs, inGlobStar) { + var entries + + if (inGlobStar && !ownProp(this.symlinks, abs)) + return this._readdirInGlobStar(abs) + + if (ownProp(this.cache, abs)) { + var c = this.cache[abs] + if (!c || c === 'FILE') + return null + + if (Array.isArray(c)) + return c + } + + try { + return this._readdirEntries(abs, fs.readdirSync(abs)) + } catch (er) { + this._readdirError(abs, er) + return null + } +} + +GlobSync.prototype._readdirEntries = function (abs, entries) { + // if we haven't asked to stat everything, then just + // assume that everything in there exists, so we can avoid + // having to stat it a second time. + if (!this.mark && !this.stat) { + for (var i = 0; i < entries.length; i ++) { + var e = entries[i] + if (abs === '/') + e = abs + e + else + e = abs + '/' + e + this.cache[e] = true + } + } + + this.cache[abs] = entries + + // mark and cache dir-ness + return entries +} + +GlobSync.prototype._readdirError = function (f, er) { + // handle errors, and cache the information + switch (er.code) { + case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 + case 'ENOTDIR': // totally normal. means it *does* exist. + this.cache[this._makeAbs(f)] = 'FILE' + break + + case 'ENOENT': // not terribly unusual + case 'ELOOP': + case 'ENAMETOOLONG': + case 'UNKNOWN': + this.cache[this._makeAbs(f)] = false + break + + default: // some unusual error. Treat as failure. + this.cache[this._makeAbs(f)] = false + if (this.strict) + throw er + if (!this.silent) + console.error('glob error', er) + break + } +} + +GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) { + + var entries = this._readdir(abs, inGlobStar) + + // no entries means not a dir, so it can never have matches + // foo.txt/** doesn't match foo.txt + if (!entries) + return + + // test without the globstar, and with every child both below + // and replacing the globstar. + var remainWithoutGlobStar = remain.slice(1) + var gspref = prefix ? [ prefix ] : [] + var noGlobStar = gspref.concat(remainWithoutGlobStar) + + // the noGlobStar pattern exits the inGlobStar state + this._process(noGlobStar, index, false) + + var len = entries.length + var isSym = this.symlinks[abs] + + // If it's a symlink, and we're in a globstar, then stop + if (isSym && inGlobStar) + return + + for (var i = 0; i < len; i++) { + var e = entries[i] + if (e.charAt(0) === '.' && !this.dot) + continue + + // these two cases enter the inGlobStar state + var instead = gspref.concat(entries[i], remainWithoutGlobStar) + this._process(instead, index, true) + + var below = gspref.concat(entries[i], remain) + this._process(below, index, true) + } +} + +GlobSync.prototype._processSimple = function (prefix, index) { + // XXX review this. Shouldn't it be doing the mounting etc + // before doing stat? kinda weird? + var exists = this._stat(prefix) + + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + // If it doesn't exist, then just mark the lack of results + if (!exists) + return + + if (prefix && isAbsolute(prefix) && !this.nomount) { + var trail = /[\/\\]$/.test(prefix) + if (prefix.charAt(0) === '/') { + prefix = path.join(this.root, prefix) + } else { + prefix = path.resolve(this.root, prefix) + if (trail) + prefix += '/' + } + } + + if (process.platform === 'win32') + prefix = prefix.replace(/\\/g, '/') + + // Mark this as a match + this.matches[index][prefix] = true +} + +// Returns either 'DIR', 'FILE', or false +GlobSync.prototype._stat = function (f) { + var abs = this._makeAbs(f) + var needDir = f.slice(-1) === '/' + + if (f.length > this.maxLength) + return false + + if (!this.stat && ownProp(this.cache, abs)) { + var c = this.cache[abs] + + if (Array.isArray(c)) + c = 'DIR' + + // It exists, but maybe not how we need it + if (!needDir || c === 'DIR') + return c + + if (needDir && c === 'FILE') + return false + + // otherwise we have to stat, because maybe c=true + // if we know it exists, but not what it is. + } + + var exists + var stat = this.statCache[abs] + if (!stat) { + var lstat + try { + lstat = fs.lstatSync(abs) + } catch (er) { + return false + } + + if (lstat.isSymbolicLink()) { + try { + stat = fs.statSync(abs) + } catch (er) { + stat = lstat + } + } else { + stat = lstat + } + } + + this.statCache[abs] = stat + + var c = stat.isDirectory() ? 'DIR' : 'FILE' + this.cache[abs] = this.cache[abs] || c + + if (needDir && c !== 'DIR') + return false + + return c +} + +GlobSync.prototype._mark = function (p) { + return common.mark(this, p) +} + +GlobSync.prototype._makeAbs = function (f) { + return common.makeAbs(this, f) +} + +}).call(this,require('_process')) +},{"./common.js":15,"./glob.js":16,"_process":24,"assert":9,"fs":12,"minimatch":20,"path":22,"path-is-absolute":23,"util":28}],18:[function(require,module,exports){ +(function (process){ +var wrappy = require('wrappy') +var reqs = Object.create(null) +var once = require('once') + +module.exports = wrappy(inflight) + +function inflight (key, cb) { + if (reqs[key]) { + reqs[key].push(cb) + return null + } else { + reqs[key] = [cb] + return makeres(key) + } +} + +function makeres (key) { + return once(function RES () { + var cbs = reqs[key] + var len = cbs.length + var args = slice(arguments) + + // XXX It's somewhat ambiguous whether a new callback added in this + // pass should be queued for later execution if something in the + // list of callbacks throws, or if it should just be discarded. + // However, it's such an edge case that it hardly matters, and either + // choice is likely as surprising as the other. + // As it happens, we do go ahead and schedule it for later execution. + try { + for (var i = 0; i < len; i++) { + cbs[i].apply(null, args) + } + } finally { + if (cbs.length > len) { + // added more in the interim. + // de-zalgo, just in case, but don't call again. + cbs.splice(0, len) + process.nextTick(function () { + RES.apply(null, args) + }) + } else { + delete reqs[key] + } + } + }) +} + +function slice (args) { + var length = args.length + var array = [] + + for (var i = 0; i < length; i++) array[i] = args[i] + return array +} + +}).call(this,require('_process')) +},{"_process":24,"once":21,"wrappy":29}],19:[function(require,module,exports){ +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } +} + +},{}],20:[function(require,module,exports){ +module.exports = minimatch +minimatch.Minimatch = Minimatch + +var path = { sep: '/' } +try { + path = require('path') +} catch (er) {} + +var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} +var expand = require('brace-expansion') + +var plTypes = { + '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, + '?': { open: '(?:', close: ')?' }, + '+': { open: '(?:', close: ')+' }, + '*': { open: '(?:', close: ')*' }, + '@': { open: '(?:', close: ')' } +} + +// any single thing other than / +// don't need to escape / when using new RegExp() +var qmark = '[^/]' + +// * => any number of characters +var star = qmark + '*?' + +// ** when dots are allowed. Anything goes, except .. and . +// not (^ or / followed by one or two dots followed by $ or /), +// followed by anything, any number of times. +var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?' + +// not a ^ or / followed by a dot, +// followed by anything, any number of times. +var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?' + +// characters that need to be escaped in RegExp. +var reSpecials = charSet('().*{}+?[]^$\\!') + +// "abc" -> { a:true, b:true, c:true } +function charSet (s) { + return s.split('').reduce(function (set, c) { + set[c] = true + return set + }, {}) +} + +// normalizes slashes. +var slashSplit = /\/+/ + +minimatch.filter = filter +function filter (pattern, options) { + options = options || {} + return function (p, i, list) { + return minimatch(p, pattern, options) + } +} + +function ext (a, b) { + a = a || {} + b = b || {} + var t = {} + Object.keys(b).forEach(function (k) { + t[k] = b[k] + }) + Object.keys(a).forEach(function (k) { + t[k] = a[k] + }) + return t +} + +minimatch.defaults = function (def) { + if (!def || !Object.keys(def).length) return minimatch + + var orig = minimatch + + var m = function minimatch (p, pattern, options) { + return orig.minimatch(p, pattern, ext(def, options)) + } + + m.Minimatch = function Minimatch (pattern, options) { + return new orig.Minimatch(pattern, ext(def, options)) + } + + return m +} + +Minimatch.defaults = function (def) { + if (!def || !Object.keys(def).length) return Minimatch + return minimatch.defaults(def).Minimatch +} + +function minimatch (p, pattern, options) { + if (typeof pattern !== 'string') { + throw new TypeError('glob pattern string required') + } + + if (!options) options = {} + + // shortcut: comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + return false + } + + // "" only matches "" + if (pattern.trim() === '') return p === '' + + return new Minimatch(pattern, options).match(p) +} + +function Minimatch (pattern, options) { + if (!(this instanceof Minimatch)) { + return new Minimatch(pattern, options) + } + + if (typeof pattern !== 'string') { + throw new TypeError('glob pattern string required') + } + + if (!options) options = {} + pattern = pattern.trim() + + // windows support: need to use /, not \ + if (path.sep !== '/') { + pattern = pattern.split(path.sep).join('/') + } + + this.options = options + this.set = [] + this.pattern = pattern + this.regexp = null + this.negate = false + this.comment = false + this.empty = false + + // make the set of regexps etc. + this.make() +} + +Minimatch.prototype.debug = function () {} + +Minimatch.prototype.make = make +function make () { + // don't do it more than once. + if (this._made) return + + var pattern = this.pattern + var options = this.options + + // empty patterns and comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + this.comment = true + return + } + if (!pattern) { + this.empty = true + return + } + + // step 1: figure out negation, etc. + this.parseNegate() + + // step 2: expand braces + var set = this.globSet = this.braceExpand() + + if (options.debug) this.debug = console.error + + this.debug(this.pattern, set) + + // step 3: now we have a set, so turn each one into a series of path-portion + // matching patterns. + // These will be regexps, except in the case of "**", which is + // set to the GLOBSTAR object for globstar behavior, + // and will not contain any / characters + set = this.globParts = set.map(function (s) { + return s.split(slashSplit) + }) + + this.debug(this.pattern, set) + + // glob --> regexps + set = set.map(function (s, si, set) { + return s.map(this.parse, this) + }, this) + + this.debug(this.pattern, set) + + // filter out everything that didn't compile properly. + set = set.filter(function (s) { + return s.indexOf(false) === -1 + }) + + this.debug(this.pattern, set) + + this.set = set +} + +Minimatch.prototype.parseNegate = parseNegate +function parseNegate () { + var pattern = this.pattern + var negate = false + var options = this.options + var negateOffset = 0 + + if (options.nonegate) return + + for (var i = 0, l = pattern.length + ; i < l && pattern.charAt(i) === '!' + ; i++) { + negate = !negate + negateOffset++ + } + + if (negateOffset) this.pattern = pattern.substr(negateOffset) + this.negate = negate +} + +// Brace expansion: +// a{b,c}d -> abd acd +// a{b,}c -> abc ac +// a{0..3}d -> a0d a1d a2d a3d +// a{b,c{d,e}f}g -> abg acdfg acefg +// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg +// +// Invalid sets are not expanded. +// a{2..}b -> a{2..}b +// a{b}c -> a{b}c +minimatch.braceExpand = function (pattern, options) { + return braceExpand(pattern, options) +} + +Minimatch.prototype.braceExpand = braceExpand + +function braceExpand (pattern, options) { + if (!options) { + if (this instanceof Minimatch) { + options = this.options + } else { + options = {} + } + } + + pattern = typeof pattern === 'undefined' + ? this.pattern : pattern + + if (typeof pattern === 'undefined') { + throw new TypeError('undefined pattern') + } + + if (options.nobrace || + !pattern.match(/\{.*\}/)) { + // shortcut. no need to expand. + return [pattern] + } + + return expand(pattern) +} + +// parse a component of the expanded set. +// At this point, no pattern may contain "/" in it +// so we're going to return a 2d array, where each entry is the full +// pattern, split on '/', and then turned into a regular expression. +// A regexp is made at the end which joins each array with an +// escaped /, and another full one which joins each regexp with |. +// +// Following the lead of Bash 4.1, note that "**" only has special meaning +// when it is the *only* thing in a path portion. Otherwise, any series +// of * is equivalent to a single *. Globstar behavior is enabled by +// default, and can be disabled by setting options.noglobstar. +Minimatch.prototype.parse = parse +var SUBPARSE = {} +function parse (pattern, isSub) { + if (pattern.length > 1024 * 64) { + throw new TypeError('pattern is too long') + } + + var options = this.options + + // shortcuts + if (!options.noglobstar && pattern === '**') return GLOBSTAR + if (pattern === '') return '' + + var re = '' + var hasMagic = !!options.nocase + var escaping = false + // ? => one single character + var patternListStack = [] + var negativeLists = [] + var stateChar + var inClass = false + var reClassStart = -1 + var classStart = -1 + // . and .. never match anything that doesn't start with ., + // even when options.dot is set. + var patternStart = pattern.charAt(0) === '.' ? '' // anything + // not (start or / followed by . or .. followed by / or end) + : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))' + : '(?!\\.)' + var self = this + + function clearStateChar () { + if (stateChar) { + // we had some state-tracking character + // that wasn't consumed by this pass. + switch (stateChar) { + case '*': + re += star + hasMagic = true + break + case '?': + re += qmark + hasMagic = true + break + default: + re += '\\' + stateChar + break + } + self.debug('clearStateChar %j %j', stateChar, re) + stateChar = false + } + } + + for (var i = 0, len = pattern.length, c + ; (i < len) && (c = pattern.charAt(i)) + ; i++) { + this.debug('%s\t%s %s %j', pattern, i, re, c) + + // skip over any that are escaped. + if (escaping && reSpecials[c]) { + re += '\\' + c + escaping = false + continue + } + + switch (c) { + case '/': + // completely not allowed, even escaped. + // Should already be path-split by now. + return false + + case '\\': + clearStateChar() + escaping = true + continue + + // the various stateChar values + // for the "extglob" stuff. + case '?': + case '*': + case '+': + case '@': + case '!': + this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c) + + // all of those are literals inside a class, except that + // the glob [!a] means [^a] in regexp + if (inClass) { + this.debug(' in class') + if (c === '!' && i === classStart + 1) c = '^' + re += c + continue + } + + // if we already have a stateChar, then it means + // that there was something like ** or +? in there. + // Handle the stateChar, then proceed with this one. + self.debug('call clearStateChar %j', stateChar) + clearStateChar() + stateChar = c + // if extglob is disabled, then +(asdf|foo) isn't a thing. + // just clear the statechar *now*, rather than even diving into + // the patternList stuff. + if (options.noext) clearStateChar() + continue + + case '(': + if (inClass) { + re += '(' + continue + } + + if (!stateChar) { + re += '\\(' + continue + } + + patternListStack.push({ + type: stateChar, + start: i - 1, + reStart: re.length, + open: plTypes[stateChar].open, + close: plTypes[stateChar].close + }) + // negation is (?:(?!js)[^/]*) + re += stateChar === '!' ? '(?:(?!(?:' : '(?:' + this.debug('plType %j %j', stateChar, re) + stateChar = false + continue + + case ')': + if (inClass || !patternListStack.length) { + re += '\\)' + continue + } + + clearStateChar() + hasMagic = true + var pl = patternListStack.pop() + // negation is (?:(?!js)[^/]*) + // The others are (?:) + re += pl.close + if (pl.type === '!') { + negativeLists.push(pl) + } + pl.reEnd = re.length + continue + + case '|': + if (inClass || !patternListStack.length || escaping) { + re += '\\|' + escaping = false + continue + } + + clearStateChar() + re += '|' + continue + + // these are mostly the same in regexp and glob + case '[': + // swallow any state-tracking char before the [ + clearStateChar() + + if (inClass) { + re += '\\' + c + continue + } + + inClass = true + classStart = i + reClassStart = re.length + re += c + continue + + case ']': + // a right bracket shall lose its special + // meaning and represent itself in + // a bracket expression if it occurs + // first in the list. -- POSIX.2 2.8.3.2 + if (i === classStart + 1 || !inClass) { + re += '\\' + c + escaping = false + continue + } + + // handle the case where we left a class open. + // "[z-a]" is valid, equivalent to "\[z-a\]" + if (inClass) { + // split where the last [ was, make sure we don't have + // an invalid re. if so, re-walk the contents of the + // would-be class to re-translate any characters that + // were passed through as-is + // TODO: It would probably be faster to determine this + // without a try/catch and a new RegExp, but it's tricky + // to do safely. For now, this is safe and works. + var cs = pattern.substring(classStart + 1, i) + try { + RegExp('[' + cs + ']') + } catch (er) { + // not a valid class! + var sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]' + hasMagic = hasMagic || sp[1] + inClass = false + continue + } + } + + // finish up the class. + hasMagic = true + inClass = false + re += c + continue + + default: + // swallow any state char that wasn't consumed + clearStateChar() + + if (escaping) { + // no need + escaping = false + } else if (reSpecials[c] + && !(c === '^' && inClass)) { + re += '\\' + } + + re += c + + } // switch + } // for + + // handle the case where we left a class open. + // "[abc" is valid, equivalent to "\[abc" + if (inClass) { + // split where the last [ was, and escape it + // this is a huge pita. We now have to re-walk + // the contents of the would-be class to re-translate + // any characters that were passed through as-is + cs = pattern.substr(classStart + 1) + sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + hasMagic = hasMagic || sp[1] + } + + // handle the case where we had a +( thing at the *end* + // of the pattern. + // each pattern list stack adds 3 chars, and we need to go through + // and escape any | chars that were passed through as-is for the regexp. + // Go through and escape them, taking care not to double-escape any + // | chars that were already escaped. + for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { + var tail = re.slice(pl.reStart + pl.open.length) + this.debug('setting tail', re, pl) + // maybe some even number of \, then maybe 1 \, followed by a | + tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) { + if (!$2) { + // the | isn't already escaped, so escape it. + $2 = '\\' + } + + // need to escape all those slashes *again*, without escaping the + // one that we need for escaping the | character. As it works out, + // escaping an even number of slashes can be done by simply repeating + // it exactly after itself. That's why this trick works. + // + // I am sorry that you have to see this. + return $1 + $1 + $2 + '|' + }) + + this.debug('tail=%j\n %s', tail, tail, pl, re) + var t = pl.type === '*' ? star + : pl.type === '?' ? qmark + : '\\' + pl.type + + hasMagic = true + re = re.slice(0, pl.reStart) + t + '\\(' + tail + } + + // handle trailing things that only matter at the very end. + clearStateChar() + if (escaping) { + // trailing \\ + re += '\\\\' + } + + // only need to apply the nodot start if the re starts with + // something that could conceivably capture a dot + var addPatternStart = false + switch (re.charAt(0)) { + case '.': + case '[': + case '(': addPatternStart = true + } + + // Hack to work around lack of negative lookbehind in JS + // A pattern like: *.!(x).!(y|z) needs to ensure that a name + // like 'a.xyz.yz' doesn't match. So, the first negative + // lookahead, has to look ALL the way ahead, to the end of + // the pattern. + for (var n = negativeLists.length - 1; n > -1; n--) { + var nl = negativeLists[n] + + var nlBefore = re.slice(0, nl.reStart) + var nlFirst = re.slice(nl.reStart, nl.reEnd - 8) + var nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + var nlAfter = re.slice(nl.reEnd) + + nlLast += nlAfter + + // Handle nested stuff like *(*.js|!(*.json)), where open parens + // mean that we should *not* include the ) in the bit that is considered + // "after" the negated section. + var openParensBefore = nlBefore.split('(').length - 1 + var cleanAfter = nlAfter + for (i = 0; i < openParensBefore; i++) { + cleanAfter = cleanAfter.replace(/\)[+*?]?/, '') + } + nlAfter = cleanAfter + + var dollar = '' + if (nlAfter === '' && isSub !== SUBPARSE) { + dollar = '$' + } + var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast + re = newRe + } + + // if the re is not "" at this point, then we need to make sure + // it doesn't match against an empty path part. + // Otherwise a/* will match a/, which it should not. + if (re !== '' && hasMagic) { + re = '(?=.)' + re + } + + if (addPatternStart) { + re = patternStart + re + } + + // parsing just a piece of a larger pattern. + if (isSub === SUBPARSE) { + return [re, hasMagic] + } + + // skip the regexp for non-magical patterns + // unescape anything in it, though, so that it'll be + // an exact match against a file etc. + if (!hasMagic) { + return globUnescape(pattern) + } + + var flags = options.nocase ? 'i' : '' + try { + var regExp = new RegExp('^' + re + '$', flags) + } catch (er) { + // If it was an invalid regular expression, then it can't match + // anything. This trick looks for a character after the end of + // the string, which is of course impossible, except in multi-line + // mode, but it's not a /m regex. + return new RegExp('$.') + } + + regExp._glob = pattern + regExp._src = re + + return regExp +} + +minimatch.makeRe = function (pattern, options) { + return new Minimatch(pattern, options || {}).makeRe() +} + +Minimatch.prototype.makeRe = makeRe +function makeRe () { + if (this.regexp || this.regexp === false) return this.regexp + + // at this point, this.set is a 2d array of partial + // pattern strings, or "**". + // + // It's better to use .match(). This function shouldn't + // be used, really, but it's pretty convenient sometimes, + // when you just want to work with a regex. + var set = this.set + + if (!set.length) { + this.regexp = false + return this.regexp + } + var options = this.options + + var twoStar = options.noglobstar ? star + : options.dot ? twoStarDot + : twoStarNoDot + var flags = options.nocase ? 'i' : '' + + var re = set.map(function (pattern) { + return pattern.map(function (p) { + return (p === GLOBSTAR) ? twoStar + : (typeof p === 'string') ? regExpEscape(p) + : p._src + }).join('\\\/') + }).join('|') + + // must match entire pattern + // ending in a * or ** will make it less strict. + re = '^(?:' + re + ')$' + + // can match anything, as long as it's not this. + if (this.negate) re = '^(?!' + re + ').*$' + + try { + this.regexp = new RegExp(re, flags) + } catch (ex) { + this.regexp = false + } + return this.regexp +} + +minimatch.match = function (list, pattern, options) { + options = options || {} + var mm = new Minimatch(pattern, options) + list = list.filter(function (f) { + return mm.match(f) + }) + if (mm.options.nonull && !list.length) { + list.push(pattern) + } + return list +} + +Minimatch.prototype.match = match +function match (f, partial) { + this.debug('match', f, this.pattern) + // short-circuit in the case of busted things. + // comments, etc. + if (this.comment) return false + if (this.empty) return f === '' + + if (f === '/' && partial) return true + + var options = this.options + + // windows: need to use /, not \ + if (path.sep !== '/') { + f = f.split(path.sep).join('/') + } + + // treat the test path as a set of pathparts. + f = f.split(slashSplit) + this.debug(this.pattern, 'split', f) + + // just ONE of the pattern sets in this.set needs to match + // in order for it to be valid. If negating, then just one + // match means that we have failed. + // Either way, return on the first hit. + + var set = this.set + this.debug(this.pattern, 'set', set) + + // Find the basename of the path by looking for the last non-empty segment + var filename + var i + for (i = f.length - 1; i >= 0; i--) { + filename = f[i] + if (filename) break + } + + for (i = 0; i < set.length; i++) { + var pattern = set[i] + var file = f + if (options.matchBase && pattern.length === 1) { + file = [filename] + } + var hit = this.matchOne(file, pattern, partial) + if (hit) { + if (options.flipNegate) return true + return !this.negate + } + } + + // didn't get any hits. this is success if it's a negative + // pattern, failure otherwise. + if (options.flipNegate) return false + return this.negate +} + +// set partial to true to test if, for example, +// "/a/b" matches the start of "/*/b/*/d" +// Partial means, if you run out of file before you run +// out of pattern, then that's fine, as long as all +// the parts match. +Minimatch.prototype.matchOne = function (file, pattern, partial) { + var options = this.options + + this.debug('matchOne', + { 'this': this, file: file, pattern: pattern }) + + this.debug('matchOne', file.length, pattern.length) + + for (var fi = 0, + pi = 0, + fl = file.length, + pl = pattern.length + ; (fi < fl) && (pi < pl) + ; fi++, pi++) { + this.debug('matchOne loop') + var p = pattern[pi] + var f = file[fi] + + this.debug(pattern, p, f) + + // should be impossible. + // some invalid regexp stuff in the set. + if (p === false) return false + + if (p === GLOBSTAR) { + this.debug('GLOBSTAR', [pattern, p, f]) + + // "**" + // a/**/b/**/c would match the following: + // a/b/x/y/z/c + // a/x/y/z/b/c + // a/b/x/b/x/c + // a/b/c + // To do this, take the rest of the pattern after + // the **, and see if it would match the file remainder. + // If so, return success. + // If not, the ** "swallows" a segment, and try again. + // This is recursively awful. + // + // a/**/b/**/c matching a/b/x/y/z/c + // - a matches a + // - doublestar + // - matchOne(b/x/y/z/c, b/**/c) + // - b matches b + // - doublestar + // - matchOne(x/y/z/c, c) -> no + // - matchOne(y/z/c, c) -> no + // - matchOne(z/c, c) -> no + // - matchOne(c, c) yes, hit + var fr = fi + var pr = pi + 1 + if (pr === pl) { + this.debug('** at the end') + // a ** at the end will just swallow the rest. + // We have found a match. + // however, it will not swallow /.x, unless + // options.dot is set. + // . and .. are *never* matched by **, for explosively + // exponential reasons. + for (; fi < fl; fi++) { + if (file[fi] === '.' || file[fi] === '..' || + (!options.dot && file[fi].charAt(0) === '.')) return false + } + return true + } + + // ok, let's see if we can swallow whatever we can. + while (fr < fl) { + var swallowee = file[fr] + + this.debug('\nglobstar while', file, fr, pattern, pr, swallowee) + + // XXX remove this slice. Just pass the start index. + if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { + this.debug('globstar found match!', fr, fl, swallowee) + // found a match. + return true + } else { + // can't swallow "." or ".." ever. + // can only swallow ".foo" when explicitly asked. + if (swallowee === '.' || swallowee === '..' || + (!options.dot && swallowee.charAt(0) === '.')) { + this.debug('dot detected!', file, fr, pattern, pr) + break + } + + // ** swallows a segment, and continue. + this.debug('globstar swallow a segment, and continue') + fr++ + } + } + + // no match was found. + // However, in partial mode, we can't say this is necessarily over. + // If there's more *pattern* left, then + if (partial) { + // ran out of file + this.debug('\n>>> no match, partial?', file, fr, pattern, pr) + if (fr === fl) return true + } + return false + } + + // something other than ** + // non-magic patterns just have to match exactly + // patterns with magic have been turned into regexps. + var hit + if (typeof p === 'string') { + if (options.nocase) { + hit = f.toLowerCase() === p.toLowerCase() + } else { + hit = f === p + } + this.debug('string match', p, f, hit) + } else { + hit = f.match(p) + this.debug('pattern match', p, f, hit) + } + + if (!hit) return false + } + + // Note: ending in / means that we'll get a final "" + // at the end of the pattern. This can only match a + // corresponding "" at the end of the file. + // If the file ends in /, then it can only match a + // a pattern that ends in /, unless the pattern just + // doesn't have any more for it. But, a/b/ should *not* + // match "a/b/*", even though "" matches against the + // [^/]*? pattern, except in partial mode, where it might + // simply not be reached yet. + // However, a/b/ should still satisfy a/* + + // now either we fell off the end of the pattern, or we're done. + if (fi === fl && pi === pl) { + // ran out of pattern and filename at the same time. + // an exact hit! + return true + } else if (fi === fl) { + // ran out of file, but still had pattern left. + // this is ok if we're doing the match as part of + // a glob fs traversal. + return partial + } else if (pi === pl) { + // ran out of pattern, still have file left. + // this is only acceptable if we're on the very last + // empty segment of a file with a trailing slash. + // a/* should match a/b/ + var emptyFileEnd = (fi === fl - 1) && (file[fi] === '') + return emptyFileEnd + } + + // should be unreachable. + throw new Error('wtf?') +} + +// replace stuff like \* with * +function globUnescape (s) { + return s.replace(/\\(.)/g, '$1') +} + +function regExpEscape (s) { + return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') +} + +},{"brace-expansion":11,"path":22}],21:[function(require,module,exports){ +var wrappy = require('wrappy') +module.exports = wrappy(once) +module.exports.strict = wrappy(onceStrict) + +once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) + }, + configurable: true + }) + + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }) +}) + +function once (fn) { + var f = function () { + if (f.called) return f.value + f.called = true + return f.value = fn.apply(this, arguments) + } + f.called = false + return f +} + +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true + return f.value = fn.apply(this, arguments) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f +} + +},{"wrappy":29}],22:[function(require,module,exports){ +(function (process){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// resolves . and .. elements in a path array with directory names there +// must be no slashes, empty elements, or device names (c:\) in the array +// (so also no leading and trailing slashes - it does not distinguish +// relative and absolute paths) +function normalizeArray(parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } + } + + return parts; +} + +// Split a filename into [root, dir, basename, ext], unix version +// 'root' is just a slash, or nothing. +var splitPathRe = + /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; +var splitPath = function(filename) { + return splitPathRe.exec(filename).slice(1); +}; + +// path.resolve([from ...], to) +// posix version +exports.resolve = function() { + var resolvedPath = '', + resolvedAbsolute = false; + + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : process.cwd(); + + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + continue; + } + + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + + // Normalize the path + resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; +}; + +// path.normalize(path) +// posix version +exports.normalize = function(path) { + var isAbsolute = exports.isAbsolute(path), + trailingSlash = substr(path, -1) === '/'; + + // Normalize the path + path = normalizeArray(filter(path.split('/'), function(p) { + return !!p; + }), !isAbsolute).join('/'); + + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + + return (isAbsolute ? '/' : '') + path; +}; + +// posix version +exports.isAbsolute = function(path) { + return path.charAt(0) === '/'; +}; + +// posix version +exports.join = function() { + var paths = Array.prototype.slice.call(arguments, 0); + return exports.normalize(filter(paths, function(p, index) { + if (typeof p !== 'string') { + throw new TypeError('Arguments to path.join must be strings'); + } + return p; + }).join('/')); +}; + + +// path.relative(from, to) +// posix version +exports.relative = function(from, to) { + from = exports.resolve(from).substr(1); + to = exports.resolve(to).substr(1); + + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + + return outputParts.join('/'); +}; + +exports.sep = '/'; +exports.delimiter = ':'; + +exports.dirname = function(path) { + var result = splitPath(path), + root = result[0], + dir = result[1]; + + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + + return root + dir; +}; + + +exports.basename = function(path, ext) { + var f = splitPath(path)[2]; + // TODO: make this comparison case-insensitive on windows? + if (ext && f.substr(-1 * ext.length) === ext) { + f = f.substr(0, f.length - ext.length); + } + return f; +}; + + +exports.extname = function(path) { + return splitPath(path)[3]; +}; + +function filter (xs, f) { + if (xs.filter) return xs.filter(f); + var res = []; + for (var i = 0; i < xs.length; i++) { + if (f(xs[i], i, xs)) res.push(xs[i]); + } + return res; +} + +// String.prototype.substr - negative index don't work in IE8 +var substr = 'ab'.substr(-1) === 'b' + ? function (str, start, len) { return str.substr(start, len) } + : function (str, start, len) { + if (start < 0) start = str.length + start; + return str.substr(start, len); + } +; + +}).call(this,require('_process')) +},{"_process":24}],23:[function(require,module,exports){ +(function (process){ +'use strict'; + +function posix(path) { + return path.charAt(0) === '/'; +} + +function win32(path) { + // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56 + var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; + var result = splitDeviceRe.exec(path); + var device = result[1] || ''; + var isUnc = Boolean(device && device.charAt(1) !== ':'); + + // UNC paths are always absolute + return Boolean(result[2] || isUnc); +} + +module.exports = process.platform === 'win32' ? win32 : posix; +module.exports.posix = posix; +module.exports.win32 = win32; + +}).call(this,require('_process')) +},{"_process":24}],24:[function(require,module,exports){ +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + +},{}],25:[function(require,module,exports){ +// Underscore.js 1.8.3 +// http://underscorejs.org +// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. + +(function() { + + // Baseline setup + // -------------- + + // Establish the root object, `window` in the browser, or `exports` on the server. + var root = this; + + // Save the previous value of the `_` variable. + var previousUnderscore = root._; + + // Save bytes in the minified (but not gzipped) version: + var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; + + // Create quick reference variables for speed access to core prototypes. + var + push = ArrayProto.push, + slice = ArrayProto.slice, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty; + + // All **ECMAScript 5** native function implementations that we hope to use + // are declared here. + var + nativeIsArray = Array.isArray, + nativeKeys = Object.keys, + nativeBind = FuncProto.bind, + nativeCreate = Object.create; + + // Naked function reference for surrogate-prototype-swapping. + var Ctor = function(){}; + + // Create a safe reference to the Underscore object for use below. + var _ = function(obj) { + if (obj instanceof _) return obj; + if (!(this instanceof _)) return new _(obj); + this._wrapped = obj; + }; + + // Export the Underscore object for **Node.js**, with + // backwards-compatibility for the old `require()` API. If we're in + // the browser, add `_` as a global object. + if (typeof exports !== 'undefined') { + if (typeof module !== 'undefined' && module.exports) { + exports = module.exports = _; + } + exports._ = _; + } else { + root._ = _; + } + + // Current version. + _.VERSION = '1.8.3'; + + // Internal function that returns an efficient (for current engines) version + // of the passed-in callback, to be repeatedly applied in other Underscore + // functions. + var optimizeCb = function(func, context, argCount) { + if (context === void 0) return func; + switch (argCount == null ? 3 : argCount) { + case 1: return function(value) { + return func.call(context, value); + }; + case 2: return function(value, other) { + return func.call(context, value, other); + }; + case 3: return function(value, index, collection) { + return func.call(context, value, index, collection); + }; + case 4: return function(accumulator, value, index, collection) { + return func.call(context, accumulator, value, index, collection); + }; + } + return function() { + return func.apply(context, arguments); + }; + }; + + // A mostly-internal function to generate callbacks that can be applied + // to each element in a collection, returning the desired result — either + // identity, an arbitrary callback, a property matcher, or a property accessor. + var cb = function(value, context, argCount) { + if (value == null) return _.identity; + if (_.isFunction(value)) return optimizeCb(value, context, argCount); + if (_.isObject(value)) return _.matcher(value); + return _.property(value); + }; + _.iteratee = function(value, context) { + return cb(value, context, Infinity); + }; + + // An internal function for creating assigner functions. + var createAssigner = function(keysFunc, undefinedOnly) { + return function(obj) { + var length = arguments.length; + if (length < 2 || obj == null) return obj; + for (var index = 1; index < length; index++) { + var source = arguments[index], + keys = keysFunc(source), + l = keys.length; + for (var i = 0; i < l; i++) { + var key = keys[i]; + if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key]; + } + } + return obj; + }; + }; + + // An internal function for creating a new object that inherits from another. + var baseCreate = function(prototype) { + if (!_.isObject(prototype)) return {}; + if (nativeCreate) return nativeCreate(prototype); + Ctor.prototype = prototype; + var result = new Ctor; + Ctor.prototype = null; + return result; + }; + + var property = function(key) { + return function(obj) { + return obj == null ? void 0 : obj[key]; + }; + }; + + // Helper for collection methods to determine whether a collection + // should be iterated as an array or as an object + // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength + // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094 + var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; + var getLength = property('length'); + var isArrayLike = function(collection) { + var length = getLength(collection); + return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX; + }; + + // Collection Functions + // -------------------- + + // The cornerstone, an `each` implementation, aka `forEach`. + // Handles raw objects in addition to array-likes. Treats all + // sparse array-likes as if they were dense. + _.each = _.forEach = function(obj, iteratee, context) { + iteratee = optimizeCb(iteratee, context); + var i, length; + if (isArrayLike(obj)) { + for (i = 0, length = obj.length; i < length; i++) { + iteratee(obj[i], i, obj); + } + } else { + var keys = _.keys(obj); + for (i = 0, length = keys.length; i < length; i++) { + iteratee(obj[keys[i]], keys[i], obj); + } + } + return obj; + }; + + // Return the results of applying the iteratee to each element. + _.map = _.collect = function(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var keys = !isArrayLike(obj) && _.keys(obj), + length = (keys || obj).length, + results = Array(length); + for (var index = 0; index < length; index++) { + var currentKey = keys ? keys[index] : index; + results[index] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + }; + + // Create a reducing function iterating left or right. + function createReduce(dir) { + // Optimized iterator function as using arguments.length + // in the main function will deoptimize the, see #1991. + function iterator(obj, iteratee, memo, keys, index, length) { + for (; index >= 0 && index < length; index += dir) { + var currentKey = keys ? keys[index] : index; + memo = iteratee(memo, obj[currentKey], currentKey, obj); + } + return memo; + } + + return function(obj, iteratee, memo, context) { + iteratee = optimizeCb(iteratee, context, 4); + var keys = !isArrayLike(obj) && _.keys(obj), + length = (keys || obj).length, + index = dir > 0 ? 0 : length - 1; + // Determine the initial value if none is provided. + if (arguments.length < 3) { + memo = obj[keys ? keys[index] : index]; + index += dir; + } + return iterator(obj, iteratee, memo, keys, index, length); + }; + } + + // **Reduce** builds up a single result from a list of values, aka `inject`, + // or `foldl`. + _.reduce = _.foldl = _.inject = createReduce(1); + + // The right-associative version of reduce, also known as `foldr`. + _.reduceRight = _.foldr = createReduce(-1); + + // Return the first value which passes a truth test. Aliased as `detect`. + _.find = _.detect = function(obj, predicate, context) { + var key; + if (isArrayLike(obj)) { + key = _.findIndex(obj, predicate, context); + } else { + key = _.findKey(obj, predicate, context); + } + if (key !== void 0 && key !== -1) return obj[key]; + }; + + // Return all the elements that pass a truth test. + // Aliased as `select`. + _.filter = _.select = function(obj, predicate, context) { + var results = []; + predicate = cb(predicate, context); + _.each(obj, function(value, index, list) { + if (predicate(value, index, list)) results.push(value); + }); + return results; + }; + + // Return all the elements for which a truth test fails. + _.reject = function(obj, predicate, context) { + return _.filter(obj, _.negate(cb(predicate)), context); + }; + + // Determine whether all of the elements match a truth test. + // Aliased as `all`. + _.every = _.all = function(obj, predicate, context) { + predicate = cb(predicate, context); + var keys = !isArrayLike(obj) && _.keys(obj), + length = (keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = keys ? keys[index] : index; + if (!predicate(obj[currentKey], currentKey, obj)) return false; + } + return true; + }; + + // Determine if at least one element in the object matches a truth test. + // Aliased as `any`. + _.some = _.any = function(obj, predicate, context) { + predicate = cb(predicate, context); + var keys = !isArrayLike(obj) && _.keys(obj), + length = (keys || obj).length; + for (var index = 0; index < length; index++) { + var currentKey = keys ? keys[index] : index; + if (predicate(obj[currentKey], currentKey, obj)) return true; + } + return false; + }; + + // Determine if the array or object contains a given item (using `===`). + // Aliased as `includes` and `include`. + _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) { + if (!isArrayLike(obj)) obj = _.values(obj); + if (typeof fromIndex != 'number' || guard) fromIndex = 0; + return _.indexOf(obj, item, fromIndex) >= 0; + }; + + // Invoke a method (with arguments) on every item in a collection. + _.invoke = function(obj, method) { + var args = slice.call(arguments, 2); + var isFunc = _.isFunction(method); + return _.map(obj, function(value) { + var func = isFunc ? method : value[method]; + return func == null ? func : func.apply(value, args); + }); + }; + + // Convenience version of a common use case of `map`: fetching a property. + _.pluck = function(obj, key) { + return _.map(obj, _.property(key)); + }; + + // Convenience version of a common use case of `filter`: selecting only objects + // containing specific `key:value` pairs. + _.where = function(obj, attrs) { + return _.filter(obj, _.matcher(attrs)); + }; + + // Convenience version of a common use case of `find`: getting the first object + // containing specific `key:value` pairs. + _.findWhere = function(obj, attrs) { + return _.find(obj, _.matcher(attrs)); + }; + + // Return the maximum element (or element-based computation). + _.max = function(obj, iteratee, context) { + var result = -Infinity, lastComputed = -Infinity, + value, computed; + if (iteratee == null && obj != null) { + obj = isArrayLike(obj) ? obj : _.values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value > result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + _.each(obj, function(value, index, list) { + computed = iteratee(value, index, list); + if (computed > lastComputed || computed === -Infinity && result === -Infinity) { + result = value; + lastComputed = computed; + } + }); + } + return result; + }; + + // Return the minimum element (or element-based computation). + _.min = function(obj, iteratee, context) { + var result = Infinity, lastComputed = Infinity, + value, computed; + if (iteratee == null && obj != null) { + obj = isArrayLike(obj) ? obj : _.values(obj); + for (var i = 0, length = obj.length; i < length; i++) { + value = obj[i]; + if (value < result) { + result = value; + } + } + } else { + iteratee = cb(iteratee, context); + _.each(obj, function(value, index, list) { + computed = iteratee(value, index, list); + if (computed < lastComputed || computed === Infinity && result === Infinity) { + result = value; + lastComputed = computed; + } + }); + } + return result; + }; + + // Shuffle a collection, using the modern version of the + // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle). + _.shuffle = function(obj) { + var set = isArrayLike(obj) ? obj : _.values(obj); + var length = set.length; + var shuffled = Array(length); + for (var index = 0, rand; index < length; index++) { + rand = _.random(0, index); + if (rand !== index) shuffled[index] = shuffled[rand]; + shuffled[rand] = set[index]; + } + return shuffled; + }; + + // Sample **n** random values from a collection. + // If **n** is not specified, returns a single random element. + // The internal `guard` argument allows it to work with `map`. + _.sample = function(obj, n, guard) { + if (n == null || guard) { + if (!isArrayLike(obj)) obj = _.values(obj); + return obj[_.random(obj.length - 1)]; + } + return _.shuffle(obj).slice(0, Math.max(0, n)); + }; + + // Sort the object's values by a criterion produced by an iteratee. + _.sortBy = function(obj, iteratee, context) { + iteratee = cb(iteratee, context); + return _.pluck(_.map(obj, function(value, index, list) { + return { + value: value, + index: index, + criteria: iteratee(value, index, list) + }; + }).sort(function(left, right) { + var a = left.criteria; + var b = right.criteria; + if (a !== b) { + if (a > b || a === void 0) return 1; + if (a < b || b === void 0) return -1; + } + return left.index - right.index; + }), 'value'); + }; + + // An internal function used for aggregate "group by" operations. + var group = function(behavior) { + return function(obj, iteratee, context) { + var result = {}; + iteratee = cb(iteratee, context); + _.each(obj, function(value, index) { + var key = iteratee(value, index, obj); + behavior(result, value, key); + }); + return result; + }; + }; + + // Groups the object's values by a criterion. Pass either a string attribute + // to group by, or a function that returns the criterion. + _.groupBy = group(function(result, value, key) { + if (_.has(result, key)) result[key].push(value); else result[key] = [value]; + }); + + // Indexes the object's values by a criterion, similar to `groupBy`, but for + // when you know that your index values will be unique. + _.indexBy = group(function(result, value, key) { + result[key] = value; + }); + + // Counts instances of an object that group by a certain criterion. Pass + // either a string attribute to count by, or a function that returns the + // criterion. + _.countBy = group(function(result, value, key) { + if (_.has(result, key)) result[key]++; else result[key] = 1; + }); + + // Safely create a real, live array from anything iterable. + _.toArray = function(obj) { + if (!obj) return []; + if (_.isArray(obj)) return slice.call(obj); + if (isArrayLike(obj)) return _.map(obj, _.identity); + return _.values(obj); + }; + + // Return the number of elements in an object. + _.size = function(obj) { + if (obj == null) return 0; + return isArrayLike(obj) ? obj.length : _.keys(obj).length; + }; + + // Split a collection into two arrays: one whose elements all satisfy the given + // predicate, and one whose elements all do not satisfy the predicate. + _.partition = function(obj, predicate, context) { + predicate = cb(predicate, context); + var pass = [], fail = []; + _.each(obj, function(value, key, obj) { + (predicate(value, key, obj) ? pass : fail).push(value); + }); + return [pass, fail]; + }; + + // Array Functions + // --------------- + + // Get the first element of an array. Passing **n** will return the first N + // values in the array. Aliased as `head` and `take`. The **guard** check + // allows it to work with `_.map`. + _.first = _.head = _.take = function(array, n, guard) { + if (array == null) return void 0; + if (n == null || guard) return array[0]; + return _.initial(array, array.length - n); + }; + + // Returns everything but the last entry of the array. Especially useful on + // the arguments object. Passing **n** will return all the values in + // the array, excluding the last N. + _.initial = function(array, n, guard) { + return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); + }; + + // Get the last element of an array. Passing **n** will return the last N + // values in the array. + _.last = function(array, n, guard) { + if (array == null) return void 0; + if (n == null || guard) return array[array.length - 1]; + return _.rest(array, Math.max(0, array.length - n)); + }; + + // Returns everything but the first entry of the array. Aliased as `tail` and `drop`. + // Especially useful on the arguments object. Passing an **n** will return + // the rest N values in the array. + _.rest = _.tail = _.drop = function(array, n, guard) { + return slice.call(array, n == null || guard ? 1 : n); + }; + + // Trim out all falsy values from an array. + _.compact = function(array) { + return _.filter(array, _.identity); + }; + + // Internal implementation of a recursive `flatten` function. + var flatten = function(input, shallow, strict, startIndex) { + var output = [], idx = 0; + for (var i = startIndex || 0, length = getLength(input); i < length; i++) { + var value = input[i]; + if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) { + //flatten current level of array or arguments object + if (!shallow) value = flatten(value, shallow, strict); + var j = 0, len = value.length; + output.length += len; + while (j < len) { + output[idx++] = value[j++]; + } + } else if (!strict) { + output[idx++] = value; + } + } + return output; + }; + + // Flatten out an array, either recursively (by default), or just one level. + _.flatten = function(array, shallow) { + return flatten(array, shallow, false); + }; + + // Return a version of the array that does not contain the specified value(s). + _.without = function(array) { + return _.difference(array, slice.call(arguments, 1)); + }; + + // Produce a duplicate-free version of the array. If the array has already + // been sorted, you have the option of using a faster algorithm. + // Aliased as `unique`. + _.uniq = _.unique = function(array, isSorted, iteratee, context) { + if (!_.isBoolean(isSorted)) { + context = iteratee; + iteratee = isSorted; + isSorted = false; + } + if (iteratee != null) iteratee = cb(iteratee, context); + var result = []; + var seen = []; + for (var i = 0, length = getLength(array); i < length; i++) { + var value = array[i], + computed = iteratee ? iteratee(value, i, array) : value; + if (isSorted) { + if (!i || seen !== computed) result.push(value); + seen = computed; + } else if (iteratee) { + if (!_.contains(seen, computed)) { + seen.push(computed); + result.push(value); + } + } else if (!_.contains(result, value)) { + result.push(value); + } + } + return result; + }; + + // Produce an array that contains the union: each distinct element from all of + // the passed-in arrays. + _.union = function() { + return _.uniq(flatten(arguments, true, true)); + }; + + // Produce an array that contains every item shared between all the + // passed-in arrays. + _.intersection = function(array) { + var result = []; + var argsLength = arguments.length; + for (var i = 0, length = getLength(array); i < length; i++) { + var item = array[i]; + if (_.contains(result, item)) continue; + for (var j = 1; j < argsLength; j++) { + if (!_.contains(arguments[j], item)) break; + } + if (j === argsLength) result.push(item); + } + return result; + }; + + // Take the difference between one array and a number of other arrays. + // Only the elements present in just the first array will remain. + _.difference = function(array) { + var rest = flatten(arguments, true, true, 1); + return _.filter(array, function(value){ + return !_.contains(rest, value); + }); + }; + + // Zip together multiple lists into a single array -- elements that share + // an index go together. + _.zip = function() { + return _.unzip(arguments); + }; + + // Complement of _.zip. Unzip accepts an array of arrays and groups + // each array's elements on shared indices + _.unzip = function(array) { + var length = array && _.max(array, getLength).length || 0; + var result = Array(length); + + for (var index = 0; index < length; index++) { + result[index] = _.pluck(array, index); + } + return result; + }; + + // Converts lists into objects. Pass either a single array of `[key, value]` + // pairs, or two parallel arrays of the same length -- one of keys, and one of + // the corresponding values. + _.object = function(list, values) { + var result = {}; + for (var i = 0, length = getLength(list); i < length; i++) { + if (values) { + result[list[i]] = values[i]; + } else { + result[list[i][0]] = list[i][1]; + } + } + return result; + }; + + // Generator function to create the findIndex and findLastIndex functions + function createPredicateIndexFinder(dir) { + return function(array, predicate, context) { + predicate = cb(predicate, context); + var length = getLength(array); + var index = dir > 0 ? 0 : length - 1; + for (; index >= 0 && index < length; index += dir) { + if (predicate(array[index], index, array)) return index; + } + return -1; + }; + } + + // Returns the first index on an array-like that passes a predicate test + _.findIndex = createPredicateIndexFinder(1); + _.findLastIndex = createPredicateIndexFinder(-1); + + // Use a comparator function to figure out the smallest index at which + // an object should be inserted so as to maintain order. Uses binary search. + _.sortedIndex = function(array, obj, iteratee, context) { + iteratee = cb(iteratee, context, 1); + var value = iteratee(obj); + var low = 0, high = getLength(array); + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; + } + return low; + }; + + // Generator function to create the indexOf and lastIndexOf functions + function createIndexFinder(dir, predicateFind, sortedIndex) { + return function(array, item, idx) { + var i = 0, length = getLength(array); + if (typeof idx == 'number') { + if (dir > 0) { + i = idx >= 0 ? idx : Math.max(idx + length, i); + } else { + length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1; + } + } else if (sortedIndex && idx && length) { + idx = sortedIndex(array, item); + return array[idx] === item ? idx : -1; + } + if (item !== item) { + idx = predicateFind(slice.call(array, i, length), _.isNaN); + return idx >= 0 ? idx + i : -1; + } + for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) { + if (array[idx] === item) return idx; + } + return -1; + }; + } + + // Return the position of the first occurrence of an item in an array, + // or -1 if the item is not included in the array. + // If the array is large and already in sort order, pass `true` + // for **isSorted** to use binary search. + _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex); + _.lastIndexOf = createIndexFinder(-1, _.findLastIndex); + + // Generate an integer Array containing an arithmetic progression. A port of + // the native Python `range()` function. See + // [the Python documentation](http://docs.python.org/library/functions.html#range). + _.range = function(start, stop, step) { + if (stop == null) { + stop = start || 0; + start = 0; + } + step = step || 1; + + var length = Math.max(Math.ceil((stop - start) / step), 0); + var range = Array(length); + + for (var idx = 0; idx < length; idx++, start += step) { + range[idx] = start; + } + + return range; + }; + + // Function (ahem) Functions + // ------------------ + + // Determines whether to execute a function as a constructor + // or a normal function with the provided arguments + var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) { + if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); + var self = baseCreate(sourceFunc.prototype); + var result = sourceFunc.apply(self, args); + if (_.isObject(result)) return result; + return self; + }; + + // Create a function bound to a given object (assigning `this`, and arguments, + // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if + // available. + _.bind = function(func, context) { + if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); + if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function'); + var args = slice.call(arguments, 2); + var bound = function() { + return executeBound(func, bound, context, this, args.concat(slice.call(arguments))); + }; + return bound; + }; + + // Partially apply a function by creating a version that has had some of its + // arguments pre-filled, without changing its dynamic `this` context. _ acts + // as a placeholder, allowing any combination of arguments to be pre-filled. + _.partial = function(func) { + var boundArgs = slice.call(arguments, 1); + var bound = function() { + var position = 0, length = boundArgs.length; + var args = Array(length); + for (var i = 0; i < length; i++) { + args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i]; + } + while (position < arguments.length) args.push(arguments[position++]); + return executeBound(func, bound, this, this, args); + }; + return bound; + }; + + // Bind a number of an object's methods to that object. Remaining arguments + // are the method names to be bound. Useful for ensuring that all callbacks + // defined on an object belong to it. + _.bindAll = function(obj) { + var i, length = arguments.length, key; + if (length <= 1) throw new Error('bindAll must be passed function names'); + for (i = 1; i < length; i++) { + key = arguments[i]; + obj[key] = _.bind(obj[key], obj); + } + return obj; + }; + + // Memoize an expensive function by storing its results. + _.memoize = function(func, hasher) { + var memoize = function(key) { + var cache = memoize.cache; + var address = '' + (hasher ? hasher.apply(this, arguments) : key); + if (!_.has(cache, address)) cache[address] = func.apply(this, arguments); + return cache[address]; + }; + memoize.cache = {}; + return memoize; + }; + + // Delays a function for the given number of milliseconds, and then calls + // it with the arguments supplied. + _.delay = function(func, wait) { + var args = slice.call(arguments, 2); + return setTimeout(function(){ + return func.apply(null, args); + }, wait); + }; + + // Defers a function, scheduling it to run after the current call stack has + // cleared. + _.defer = _.partial(_.delay, _, 1); + + // Returns a function, that, when invoked, will only be triggered at most once + // during a given window of time. Normally, the throttled function will run + // as much as it can, without ever going more than once per `wait` duration; + // but if you'd like to disable the execution on the leading edge, pass + // `{leading: false}`. To disable execution on the trailing edge, ditto. + _.throttle = function(func, wait, options) { + var context, args, result; + var timeout = null; + var previous = 0; + if (!options) options = {}; + var later = function() { + previous = options.leading === false ? 0 : _.now(); + timeout = null; + result = func.apply(context, args); + if (!timeout) context = args = null; + }; + return function() { + var now = _.now(); + if (!previous && options.leading === false) previous = now; + var remaining = wait - (now - previous); + context = this; + args = arguments; + if (remaining <= 0 || remaining > wait) { + if (timeout) { + clearTimeout(timeout); + timeout = null; + } + previous = now; + result = func.apply(context, args); + if (!timeout) context = args = null; + } else if (!timeout && options.trailing !== false) { + timeout = setTimeout(later, remaining); + } + return result; + }; + }; + + // Returns a function, that, as long as it continues to be invoked, will not + // be triggered. The function will be called after it stops being called for + // N milliseconds. If `immediate` is passed, trigger the function on the + // leading edge, instead of the trailing. + _.debounce = function(func, wait, immediate) { + var timeout, args, context, timestamp, result; + + var later = function() { + var last = _.now() - timestamp; + + if (last < wait && last >= 0) { + timeout = setTimeout(later, wait - last); + } else { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + if (!timeout) context = args = null; + } + } + }; + + return function() { + context = this; + args = arguments; + timestamp = _.now(); + var callNow = immediate && !timeout; + if (!timeout) timeout = setTimeout(later, wait); + if (callNow) { + result = func.apply(context, args); + context = args = null; + } + + return result; + }; + }; + + // Returns the first function passed as an argument to the second, + // allowing you to adjust arguments, run code before and after, and + // conditionally execute the original function. + _.wrap = function(func, wrapper) { + return _.partial(wrapper, func); + }; + + // Returns a negated version of the passed-in predicate. + _.negate = function(predicate) { + return function() { + return !predicate.apply(this, arguments); + }; + }; + + // Returns a function that is the composition of a list of functions, each + // consuming the return value of the function that follows. + _.compose = function() { + var args = arguments; + var start = args.length - 1; + return function() { + var i = start; + var result = args[start].apply(this, arguments); + while (i--) result = args[i].call(this, result); + return result; + }; + }; + + // Returns a function that will only be executed on and after the Nth call. + _.after = function(times, func) { + return function() { + if (--times < 1) { + return func.apply(this, arguments); + } + }; + }; + + // Returns a function that will only be executed up to (but not including) the Nth call. + _.before = function(times, func) { + var memo; + return function() { + if (--times > 0) { + memo = func.apply(this, arguments); + } + if (times <= 1) func = null; + return memo; + }; + }; + + // Returns a function that will be executed at most one time, no matter how + // often you call it. Useful for lazy initialization. + _.once = _.partial(_.before, 2); + + // Object Functions + // ---------------- + + // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. + var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); + var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', + 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; + + function collectNonEnumProps(obj, keys) { + var nonEnumIdx = nonEnumerableProps.length; + var constructor = obj.constructor; + var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto; + + // Constructor is a special case. + var prop = 'constructor'; + if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop); + + while (nonEnumIdx--) { + prop = nonEnumerableProps[nonEnumIdx]; + if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) { + keys.push(prop); + } + } + } + + // Retrieve the names of an object's own properties. + // Delegates to **ECMAScript 5**'s native `Object.keys` + _.keys = function(obj) { + if (!_.isObject(obj)) return []; + if (nativeKeys) return nativeKeys(obj); + var keys = []; + for (var key in obj) if (_.has(obj, key)) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + }; + + // Retrieve all the property names of an object. + _.allKeys = function(obj) { + if (!_.isObject(obj)) return []; + var keys = []; + for (var key in obj) keys.push(key); + // Ahem, IE < 9. + if (hasEnumBug) collectNonEnumProps(obj, keys); + return keys; + }; + + // Retrieve the values of an object's properties. + _.values = function(obj) { + var keys = _.keys(obj); + var length = keys.length; + var values = Array(length); + for (var i = 0; i < length; i++) { + values[i] = obj[keys[i]]; + } + return values; + }; + + // Returns the results of applying the iteratee to each element of the object + // In contrast to _.map it returns an object + _.mapObject = function(obj, iteratee, context) { + iteratee = cb(iteratee, context); + var keys = _.keys(obj), + length = keys.length, + results = {}, + currentKey; + for (var index = 0; index < length; index++) { + currentKey = keys[index]; + results[currentKey] = iteratee(obj[currentKey], currentKey, obj); + } + return results; + }; + + // Convert an object into a list of `[key, value]` pairs. + _.pairs = function(obj) { + var keys = _.keys(obj); + var length = keys.length; + var pairs = Array(length); + for (var i = 0; i < length; i++) { + pairs[i] = [keys[i], obj[keys[i]]]; + } + return pairs; + }; + + // Invert the keys and values of an object. The values must be serializable. + _.invert = function(obj) { + var result = {}; + var keys = _.keys(obj); + for (var i = 0, length = keys.length; i < length; i++) { + result[obj[keys[i]]] = keys[i]; + } + return result; + }; + + // Return a sorted list of the function names available on the object. + // Aliased as `methods` + _.functions = _.methods = function(obj) { + var names = []; + for (var key in obj) { + if (_.isFunction(obj[key])) names.push(key); + } + return names.sort(); + }; + + // Extend a given object with all the properties in passed-in object(s). + _.extend = createAssigner(_.allKeys); + + // Assigns a given object with all the own properties in the passed-in object(s) + // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) + _.extendOwn = _.assign = createAssigner(_.keys); + + // Returns the first key on an object that passes a predicate test + _.findKey = function(obj, predicate, context) { + predicate = cb(predicate, context); + var keys = _.keys(obj), key; + for (var i = 0, length = keys.length; i < length; i++) { + key = keys[i]; + if (predicate(obj[key], key, obj)) return key; + } + }; + + // Return a copy of the object only containing the whitelisted properties. + _.pick = function(object, oiteratee, context) { + var result = {}, obj = object, iteratee, keys; + if (obj == null) return result; + if (_.isFunction(oiteratee)) { + keys = _.allKeys(obj); + iteratee = optimizeCb(oiteratee, context); + } else { + keys = flatten(arguments, false, false, 1); + iteratee = function(value, key, obj) { return key in obj; }; + obj = Object(obj); + } + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + var value = obj[key]; + if (iteratee(value, key, obj)) result[key] = value; + } + return result; + }; + + // Return a copy of the object without the blacklisted properties. + _.omit = function(obj, iteratee, context) { + if (_.isFunction(iteratee)) { + iteratee = _.negate(iteratee); + } else { + var keys = _.map(flatten(arguments, false, false, 1), String); + iteratee = function(value, key) { + return !_.contains(keys, key); + }; + } + return _.pick(obj, iteratee, context); + }; + + // Fill in a given object with default properties. + _.defaults = createAssigner(_.allKeys, true); + + // Creates an object that inherits from the given prototype object. + // If additional properties are provided then they will be added to the + // created object. + _.create = function(prototype, props) { + var result = baseCreate(prototype); + if (props) _.extendOwn(result, props); + return result; + }; + + // Create a (shallow-cloned) duplicate of an object. + _.clone = function(obj) { + if (!_.isObject(obj)) return obj; + return _.isArray(obj) ? obj.slice() : _.extend({}, obj); + }; + + // Invokes interceptor with the obj, and then returns obj. + // The primary purpose of this method is to "tap into" a method chain, in + // order to perform operations on intermediate results within the chain. + _.tap = function(obj, interceptor) { + interceptor(obj); + return obj; + }; + + // Returns whether an object has a given set of `key:value` pairs. + _.isMatch = function(object, attrs) { + var keys = _.keys(attrs), length = keys.length; + if (object == null) return !length; + var obj = Object(object); + for (var i = 0; i < length; i++) { + var key = keys[i]; + if (attrs[key] !== obj[key] || !(key in obj)) return false; + } + return true; + }; + + + // Internal recursive comparison function for `isEqual`. + var eq = function(a, b, aStack, bStack) { + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) return a !== 0 || 1 / a === 1 / b; + // A strict comparison is necessary because `null == undefined`. + if (a == null || b == null) return a === b; + // Unwrap any wrapped objects. + if (a instanceof _) a = a._wrapped; + if (b instanceof _) b = b._wrapped; + // Compare `[[Class]]` names. + var className = toString.call(a); + if (className !== toString.call(b)) return false; + switch (className) { + // Strings, numbers, regular expressions, dates, and booleans are compared by value. + case '[object RegExp]': + // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return '' + a === '' + b; + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. + // Object(NaN) is equivalent to NaN + if (+a !== +a) return +b !== +b; + // An `egal` comparison is performed for other numeric values. + return +a === 0 ? 1 / +a === 1 / b : +a === +b; + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a === +b; + } + + var areArrays = className === '[object Array]'; + if (!areArrays) { + if (typeof a != 'object' || typeof b != 'object') return false; + + // Objects with different constructors are not equivalent, but `Object`s or `Array`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor && + _.isFunction(bCtor) && bCtor instanceof bCtor) + && ('constructor' in a && 'constructor' in b)) { + return false; + } + } + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + + // Initializing stack of traversed objects. + // It's done here since we only need them for objects and arrays comparison. + aStack = aStack || []; + bStack = bStack || []; + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] === a) return bStack[length] === b; + } + + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + + // Recursively compare objects and arrays. + if (areArrays) { + // Compare array lengths to determine if a deep comparison is necessary. + length = a.length; + if (length !== b.length) return false; + // Deep compare the contents, ignoring non-numeric properties. + while (length--) { + if (!eq(a[length], b[length], aStack, bStack)) return false; + } + } else { + // Deep compare objects. + var keys = _.keys(a), key; + length = keys.length; + // Ensure that both objects contain the same number of properties before comparing deep equality. + if (_.keys(b).length !== length) return false; + while (length--) { + // Deep compare each member + key = keys[length]; + if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + return true; + }; + + // Perform a deep comparison to check if two objects are equal. + _.isEqual = function(a, b) { + return eq(a, b); + }; + + // Is a given array, string, or object empty? + // An "empty" object has no enumerable own-properties. + _.isEmpty = function(obj) { + if (obj == null) return true; + if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0; + return _.keys(obj).length === 0; + }; + + // Is a given value a DOM element? + _.isElement = function(obj) { + return !!(obj && obj.nodeType === 1); + }; + + // Is a given value an array? + // Delegates to ECMA5's native Array.isArray + _.isArray = nativeIsArray || function(obj) { + return toString.call(obj) === '[object Array]'; + }; + + // Is a given variable an object? + _.isObject = function(obj) { + var type = typeof obj; + return type === 'function' || type === 'object' && !!obj; + }; + + // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError. + _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) { + _['is' + name] = function(obj) { + return toString.call(obj) === '[object ' + name + ']'; + }; + }); + + // Define a fallback version of the method in browsers (ahem, IE < 9), where + // there isn't any inspectable "Arguments" type. + if (!_.isArguments(arguments)) { + _.isArguments = function(obj) { + return _.has(obj, 'callee'); + }; + } + + // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8, + // IE 11 (#1621), and in Safari 8 (#1929). + if (typeof /./ != 'function' && typeof Int8Array != 'object') { + _.isFunction = function(obj) { + return typeof obj == 'function' || false; + }; + } + + // Is a given object a finite number? + _.isFinite = function(obj) { + return isFinite(obj) && !isNaN(parseFloat(obj)); + }; + + // Is the given value `NaN`? (NaN is the only number which does not equal itself). + _.isNaN = function(obj) { + return _.isNumber(obj) && obj !== +obj; + }; + + // Is a given value a boolean? + _.isBoolean = function(obj) { + return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; + }; + + // Is a given value equal to null? + _.isNull = function(obj) { + return obj === null; + }; + + // Is a given variable undefined? + _.isUndefined = function(obj) { + return obj === void 0; + }; + + // Shortcut function for checking if an object has a given property directly + // on itself (in other words, not on a prototype). + _.has = function(obj, key) { + return obj != null && hasOwnProperty.call(obj, key); + }; + + // Utility Functions + // ----------------- + + // Run Underscore.js in *noConflict* mode, returning the `_` variable to its + // previous owner. Returns a reference to the Underscore object. + _.noConflict = function() { + root._ = previousUnderscore; + return this; + }; + + // Keep the identity function around for default iteratees. + _.identity = function(value) { + return value; + }; + + // Predicate-generating functions. Often useful outside of Underscore. + _.constant = function(value) { + return function() { + return value; + }; + }; + + _.noop = function(){}; + + _.property = property; + + // Generates a function for a given object that returns a given property. + _.propertyOf = function(obj) { + return obj == null ? function(){} : function(key) { + return obj[key]; + }; + }; + + // Returns a predicate for checking whether an object has a given set of + // `key:value` pairs. + _.matcher = _.matches = function(attrs) { + attrs = _.extendOwn({}, attrs); + return function(obj) { + return _.isMatch(obj, attrs); + }; + }; + + // Run a function **n** times. + _.times = function(n, iteratee, context) { + var accum = Array(Math.max(0, n)); + iteratee = optimizeCb(iteratee, context, 1); + for (var i = 0; i < n; i++) accum[i] = iteratee(i); + return accum; + }; + + // Return a random integer between min and max (inclusive). + _.random = function(min, max) { + if (max == null) { + max = min; + min = 0; + } + return min + Math.floor(Math.random() * (max - min + 1)); + }; + + // A (possibly faster) way to get the current timestamp as an integer. + _.now = Date.now || function() { + return new Date().getTime(); + }; + + // List of HTML entities for escaping. + var escapeMap = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''', + '`': '`' + }; + var unescapeMap = _.invert(escapeMap); + + // Functions for escaping and unescaping strings to/from HTML interpolation. + var createEscaper = function(map) { + var escaper = function(match) { + return map[match]; + }; + // Regexes for identifying a key that needs to be escaped + var source = '(?:' + _.keys(map).join('|') + ')'; + var testRegexp = RegExp(source); + var replaceRegexp = RegExp(source, 'g'); + return function(string) { + string = string == null ? '' : '' + string; + return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; + }; + }; + _.escape = createEscaper(escapeMap); + _.unescape = createEscaper(unescapeMap); + + // If the value of the named `property` is a function then invoke it with the + // `object` as context; otherwise, return it. + _.result = function(object, property, fallback) { + var value = object == null ? void 0 : object[property]; + if (value === void 0) { + value = fallback; + } + return _.isFunction(value) ? value.call(object) : value; + }; + + // Generate a unique integer id (unique within the entire client session). + // Useful for temporary DOM ids. + var idCounter = 0; + _.uniqueId = function(prefix) { + var id = ++idCounter + ''; + return prefix ? prefix + id : id; + }; + + // By default, Underscore uses ERB-style template delimiters, change the + // following template settings to use alternative delimiters. + _.templateSettings = { + evaluate : /<%([\s\S]+?)%>/g, + interpolate : /<%=([\s\S]+?)%>/g, + escape : /<%-([\s\S]+?)%>/g + }; + + // When customizing `templateSettings`, if you don't want to define an + // interpolation, evaluation or escaping regex, we need one that is + // guaranteed not to match. + var noMatch = /(.)^/; + + // Certain characters need to be escaped so that they can be put into a + // string literal. + var escapes = { + "'": "'", + '\\': '\\', + '\r': 'r', + '\n': 'n', + '\u2028': 'u2028', + '\u2029': 'u2029' + }; + + var escaper = /\\|'|\r|\n|\u2028|\u2029/g; + + var escapeChar = function(match) { + return '\\' + escapes[match]; + }; + + // JavaScript micro-templating, similar to John Resig's implementation. + // Underscore templating handles arbitrary delimiters, preserves whitespace, + // and correctly escapes quotes within interpolated code. + // NB: `oldSettings` only exists for backwards compatibility. + _.template = function(text, settings, oldSettings) { + if (!settings && oldSettings) settings = oldSettings; + settings = _.defaults({}, settings, _.templateSettings); + + // Combine delimiters into one regular expression via alternation. + var matcher = RegExp([ + (settings.escape || noMatch).source, + (settings.interpolate || noMatch).source, + (settings.evaluate || noMatch).source + ].join('|') + '|$', 'g'); + + // Compile the template source, escaping string literals appropriately. + var index = 0; + var source = "__p+='"; + text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { + source += text.slice(index, offset).replace(escaper, escapeChar); + index = offset + match.length; + + if (escape) { + source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; + } else if (interpolate) { + source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; + } else if (evaluate) { + source += "';\n" + evaluate + "\n__p+='"; + } + + // Adobe VMs need the match returned to produce the correct offest. + return match; + }); + source += "';\n"; + + // If a variable is not specified, place data values in local scope. + if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; + + source = "var __t,__p='',__j=Array.prototype.join," + + "print=function(){__p+=__j.call(arguments,'');};\n" + + source + 'return __p;\n'; + + try { + var render = new Function(settings.variable || 'obj', '_', source); + } catch (e) { + e.source = source; + throw e; + } + + var template = function(data) { + return render.call(this, data, _); + }; + + // Provide the compiled source as a convenience for precompilation. + var argument = settings.variable || 'obj'; + template.source = 'function(' + argument + '){\n' + source + '}'; + + return template; + }; + + // Add a "chain" function. Start chaining a wrapped Underscore object. + _.chain = function(obj) { + var instance = _(obj); + instance._chain = true; + return instance; + }; + + // OOP + // --------------- + // If Underscore is called as a function, it returns a wrapped object that + // can be used OO-style. This wrapper holds altered versions of all the + // underscore functions. Wrapped objects may be chained. + + // Helper function to continue chaining intermediate results. + var result = function(instance, obj) { + return instance._chain ? _(obj).chain() : obj; + }; + + // Add your own custom functions to the Underscore object. + _.mixin = function(obj) { + _.each(_.functions(obj), function(name) { + var func = _[name] = obj[name]; + _.prototype[name] = function() { + var args = [this._wrapped]; + push.apply(args, arguments); + return result(this, func.apply(_, args)); + }; + }); + }; + + // Add all of the Underscore functions to the wrapper object. + _.mixin(_); + + // Add all mutator Array functions to the wrapper. + _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + var obj = this._wrapped; + method.apply(obj, arguments); + if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0]; + return result(this, obj); + }; + }); + + // Add all accessor Array functions to the wrapper. + _.each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + _.prototype[name] = function() { + return result(this, method.apply(this._wrapped, arguments)); + }; + }); + + // Extracts the result from a wrapped and chained object. + _.prototype.value = function() { + return this._wrapped; + }; + + // Provide unwrapping proxy for some methods used in engine operations + // such as arithmetic and JSON stringification. + _.prototype.valueOf = _.prototype.toJSON = _.prototype.value; + + _.prototype.toString = function() { + return '' + this._wrapped; + }; + + // AMD registration happens at the end for compatibility with AMD loaders + // that may not enforce next-turn semantics on modules. Even though general + // practice for AMD registration is to be anonymous, underscore registers + // as a named module because, like jQuery, it is a base library that is + // popular enough to be bundled in a third party lib, but not be part of + // an AMD load request. Those cases could generate an error when an + // anonymous define() is called outside of a loader request. + if (typeof define === 'function' && define.amd) { + define('underscore', [], function() { + return _; + }); + } +}.call(this)); + +},{}],26:[function(require,module,exports){ +arguments[4][19][0].apply(exports,arguments) +},{"dup":19}],27:[function(require,module,exports){ +module.exports = function isBuffer(arg) { + return arg && typeof arg === 'object' + && typeof arg.copy === 'function' + && typeof arg.fill === 'function' + && typeof arg.readUInt8 === 'function'; +} +},{}],28:[function(require,module,exports){ +(function (process,global){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +var formatRegExp = /%[sdj%]/g; +exports.format = function(f) { + if (!isString(f)) { + var objects = []; + for (var i = 0; i < arguments.length; i++) { + objects.push(inspect(arguments[i])); + } + return objects.join(' '); + } + + var i = 1; + var args = arguments; + var len = args.length; + var str = String(f).replace(formatRegExp, function(x) { + if (x === '%%') return '%'; + if (i >= len) return x; + switch (x) { + case '%s': return String(args[i++]); + case '%d': return Number(args[i++]); + case '%j': + try { + return JSON.stringify(args[i++]); + } catch (_) { + return '[Circular]'; + } + default: + return x; + } + }); + for (var x = args[i]; i < len; x = args[++i]) { + if (isNull(x) || !isObject(x)) { + str += ' ' + x; + } else { + str += ' ' + inspect(x); + } + } + return str; +}; + + +// Mark that a method should not be used. +// Returns a modified function which warns once by default. +// If --no-deprecation is set, then it is a no-op. +exports.deprecate = function(fn, msg) { + // Allow for deprecating things in the process of starting up. + if (isUndefined(global.process)) { + return function() { + return exports.deprecate(fn, msg).apply(this, arguments); + }; + } + + if (process.noDeprecation === true) { + return fn; + } + + var warned = false; + function deprecated() { + if (!warned) { + if (process.throwDeprecation) { + throw new Error(msg); + } else if (process.traceDeprecation) { + console.trace(msg); + } else { + console.error(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; +}; + + +var debugs = {}; +var debugEnviron; +exports.debuglog = function(set) { + if (isUndefined(debugEnviron)) + debugEnviron = process.env.NODE_DEBUG || ''; + set = set.toUpperCase(); + if (!debugs[set]) { + if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { + var pid = process.pid; + debugs[set] = function() { + var msg = exports.format.apply(exports, arguments); + console.error('%s %d: %s', set, pid, msg); + }; + } else { + debugs[set] = function() {}; + } + } + return debugs[set]; +}; + + +/** + * Echos the value of a value. Trys to print the value out + * in the best way possible given the different types. + * + * @param {Object} obj The object to print out. + * @param {Object} opts Optional options object that alters the output. + */ +/* legacy: obj, showHidden, depth, colors*/ +function inspect(obj, opts) { + // default options + var ctx = { + seen: [], + stylize: stylizeNoColor + }; + // legacy... + if (arguments.length >= 3) ctx.depth = arguments[2]; + if (arguments.length >= 4) ctx.colors = arguments[3]; + if (isBoolean(opts)) { + // legacy... + ctx.showHidden = opts; + } else if (opts) { + // got an "options" object + exports._extend(ctx, opts); + } + // set default options + if (isUndefined(ctx.showHidden)) ctx.showHidden = false; + if (isUndefined(ctx.depth)) ctx.depth = 2; + if (isUndefined(ctx.colors)) ctx.colors = false; + if (isUndefined(ctx.customInspect)) ctx.customInspect = true; + if (ctx.colors) ctx.stylize = stylizeWithColor; + return formatValue(ctx, obj, ctx.depth); +} +exports.inspect = inspect; + + +// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics +inspect.colors = { + 'bold' : [1, 22], + 'italic' : [3, 23], + 'underline' : [4, 24], + 'inverse' : [7, 27], + 'white' : [37, 39], + 'grey' : [90, 39], + 'black' : [30, 39], + 'blue' : [34, 39], + 'cyan' : [36, 39], + 'green' : [32, 39], + 'magenta' : [35, 39], + 'red' : [31, 39], + 'yellow' : [33, 39] +}; + +// Don't use 'blue' not visible on cmd.exe +inspect.styles = { + 'special': 'cyan', + 'number': 'yellow', + 'boolean': 'yellow', + 'undefined': 'grey', + 'null': 'bold', + 'string': 'green', + 'date': 'magenta', + // "name": intentionally not styling + 'regexp': 'red' +}; + + +function stylizeWithColor(str, styleType) { + var style = inspect.styles[styleType]; + + if (style) { + return '\u001b[' + inspect.colors[style][0] + 'm' + str + + '\u001b[' + inspect.colors[style][1] + 'm'; + } else { + return str; + } +} + + +function stylizeNoColor(str, styleType) { + return str; +} + + +function arrayToHash(array) { + var hash = {}; + + array.forEach(function(val, idx) { + hash[val] = true; + }); + + return hash; +} + + +function formatValue(ctx, value, recurseTimes) { + // Provide a hook for user-specified inspect functions. + // Check that value is an object with an inspect function on it + if (ctx.customInspect && + value && + isFunction(value.inspect) && + // Filter out the util module, it's inspect function is special + value.inspect !== exports.inspect && + // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value)) { + var ret = value.inspect(recurseTimes, ctx); + if (!isString(ret)) { + ret = formatValue(ctx, ret, recurseTimes); + } + return ret; + } + + // Primitive types cannot have properties + var primitive = formatPrimitive(ctx, value); + if (primitive) { + return primitive; + } + + // Look up the keys of the object. + var keys = Object.keys(value); + var visibleKeys = arrayToHash(keys); + + if (ctx.showHidden) { + keys = Object.getOwnPropertyNames(value); + } + + // IE doesn't make error fields non-enumerable + // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx + if (isError(value) + && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { + return formatError(value); + } + + // Some type of object without properties can be shortcutted. + if (keys.length === 0) { + if (isFunction(value)) { + var name = value.name ? ': ' + value.name : ''; + return ctx.stylize('[Function' + name + ']', 'special'); + } + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } + if (isDate(value)) { + return ctx.stylize(Date.prototype.toString.call(value), 'date'); + } + if (isError(value)) { + return formatError(value); + } + } + + var base = '', array = false, braces = ['{', '}']; + + // Make Array say that they are Array + if (isArray(value)) { + array = true; + braces = ['[', ']']; + } + + // Make functions say that they are functions + if (isFunction(value)) { + var n = value.name ? ': ' + value.name : ''; + base = ' [Function' + n + ']'; + } + + // Make RegExps say that they are RegExps + if (isRegExp(value)) { + base = ' ' + RegExp.prototype.toString.call(value); + } + + // Make dates with properties first say the date + if (isDate(value)) { + base = ' ' + Date.prototype.toUTCString.call(value); + } + + // Make error with message first say the error + if (isError(value)) { + base = ' ' + formatError(value); + } + + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } else { + return ctx.stylize('[Object]', 'special'); + } + } + + ctx.seen.push(value); + + var output; + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function(key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + + ctx.seen.pop(); + + return reduceToSingleString(output, base, braces); +} + + +function formatPrimitive(ctx, value) { + if (isUndefined(value)) + return ctx.stylize('undefined', 'undefined'); + if (isString(value)) { + var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + '\''; + return ctx.stylize(simple, 'string'); + } + if (isNumber(value)) + return ctx.stylize('' + value, 'number'); + if (isBoolean(value)) + return ctx.stylize('' + value, 'boolean'); + // For some reason typeof null is "object", so special case here. + if (isNull(value)) + return ctx.stylize('null', 'null'); +} + + +function formatError(value) { + return '[' + Error.prototype.toString.call(value) + ']'; +} + + +function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + for (var i = 0, l = value.length; i < l; ++i) { + if (hasOwnProperty(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + String(i), true)); + } else { + output.push(''); + } + } + keys.forEach(function(key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + key, true)); + } + }); + return output; +} + + +function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str, desc; + desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; + if (desc.get) { + if (desc.set) { + str = ctx.stylize('[Getter/Setter]', 'special'); + } else { + str = ctx.stylize('[Getter]', 'special'); + } + } else { + if (desc.set) { + str = ctx.stylize('[Setter]', 'special'); + } + } + if (!hasOwnProperty(visibleKeys, key)) { + name = '[' + key + ']'; + } + if (!str) { + if (ctx.seen.indexOf(desc.value) < 0) { + if (isNull(recurseTimes)) { + str = formatValue(ctx, desc.value, null); + } else { + str = formatValue(ctx, desc.value, recurseTimes - 1); + } + if (str.indexOf('\n') > -1) { + if (array) { + str = str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n').substr(2); + } else { + str = '\n' + str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n'); + } + } + } else { + str = ctx.stylize('[Circular]', 'special'); + } + } + if (isUndefined(name)) { + if (array && key.match(/^\d+$/)) { + return str; + } + name = JSON.stringify('' + key); + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, 'name'); + } else { + name = name.replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, 'string'); + } + } + + return name + ': ' + str; +} + + +function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function(prev, cur) { + numLinesEst++; + if (cur.indexOf('\n') >= 0) numLinesEst++; + return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; + }, 0); + + if (length > 60) { + return braces[0] + + (base === '' ? '' : base + '\n ') + + ' ' + + output.join(',\n ') + + ' ' + + braces[1]; + } + + return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; +} + + +// NOTE: These type checking functions intentionally don't use `instanceof` +// because it is fragile and can be easily faked with `Object.create()`. +function isArray(ar) { + return Array.isArray(ar); +} +exports.isArray = isArray; + +function isBoolean(arg) { + return typeof arg === 'boolean'; +} +exports.isBoolean = isBoolean; + +function isNull(arg) { + return arg === null; +} +exports.isNull = isNull; + +function isNullOrUndefined(arg) { + return arg == null; +} +exports.isNullOrUndefined = isNullOrUndefined; + +function isNumber(arg) { + return typeof arg === 'number'; +} +exports.isNumber = isNumber; + +function isString(arg) { + return typeof arg === 'string'; +} +exports.isString = isString; + +function isSymbol(arg) { + return typeof arg === 'symbol'; +} +exports.isSymbol = isSymbol; + +function isUndefined(arg) { + return arg === void 0; +} +exports.isUndefined = isUndefined; + +function isRegExp(re) { + return isObject(re) && objectToString(re) === '[object RegExp]'; +} +exports.isRegExp = isRegExp; + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} +exports.isObject = isObject; + +function isDate(d) { + return isObject(d) && objectToString(d) === '[object Date]'; +} +exports.isDate = isDate; + +function isError(e) { + return isObject(e) && + (objectToString(e) === '[object Error]' || e instanceof Error); +} +exports.isError = isError; + +function isFunction(arg) { + return typeof arg === 'function'; +} +exports.isFunction = isFunction; + +function isPrimitive(arg) { + return arg === null || + typeof arg === 'boolean' || + typeof arg === 'number' || + typeof arg === 'string' || + typeof arg === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; +} +exports.isPrimitive = isPrimitive; + +exports.isBuffer = require('./support/isBuffer'); + +function objectToString(o) { + return Object.prototype.toString.call(o); +} + + +function pad(n) { + return n < 10 ? '0' + n.toString(10) : n.toString(10); +} + + +var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', + 'Oct', 'Nov', 'Dec']; + +// 26 Feb 16:19:34 +function timestamp() { + var d = new Date(); + var time = [pad(d.getHours()), + pad(d.getMinutes()), + pad(d.getSeconds())].join(':'); + return [d.getDate(), months[d.getMonth()], time].join(' '); +} + + +// log is just a thin wrapper to console.log that prepends a timestamp +exports.log = function() { + console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); +}; + + +/** + * Inherit the prototype methods from one constructor into another. + * + * The Function.prototype.inherits from lang.js rewritten as a standalone + * function (not on Function.prototype). NOTE: If this file is to be loaded + * during bootstrapping this function needs to be rewritten using some native + * functions as prototype setup using normal JavaScript does not work as + * expected during bootstrapping (see mirror.js in r114903). + * + * @param {function} ctor Constructor function which needs to inherit the + * prototype. + * @param {function} superCtor Constructor function to inherit prototype from. + */ +exports.inherits = require('inherits'); + +exports._extend = function(origin, add) { + // Don't do anything if add isn't an object + if (!add || !isObject(add)) return origin; + + var keys = Object.keys(add); + var i = keys.length; + while (i--) { + origin[keys[i]] = add[keys[i]]; + } + return origin; +}; + +function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"./support/isBuffer":27,"_process":24,"inherits":26}],29:[function(require,module,exports){ +// Returns a wrapper function that returns a wrapped callback +// The wrapper function should do some stuff, and return a +// presumably different callback function. +// This makes sure that own properties are retained, so that +// decorations and such are not lost along the way. +module.exports = wrappy +function wrappy (fn, cb) { + if (fn && cb) return wrappy(fn)(cb) + + if (typeof fn !== 'function') + throw new TypeError('need wrapper function') + + Object.keys(fn).forEach(function (k) { + wrapper[k] = fn[k] + }) + + return wrapper + + function wrapper() { + var args = new Array(arguments.length) + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + var ret = fn.apply(this, args) + var cb = args[args.length-1] + if (typeof ret === 'function' && ret !== cb) { + Object.keys(cb).forEach(function (k) { + ret[k] = cb[k] + }) + } + return ret + } +} + +},{}]},{},[7])(7) +}); \ No newline at end of file diff --git a/assets/javascripts/workers/search.1e90e0fb.min.js b/assets/javascripts/workers/search.1e90e0fb.min.js new file mode 100644 index 00000000..ff43aedd --- /dev/null +++ b/assets/javascripts/workers/search.1e90e0fb.min.js @@ -0,0 +1,2 @@ +"use strict";(()=>{var xe=Object.create;var G=Object.defineProperty,ve=Object.defineProperties,Se=Object.getOwnPropertyDescriptor,Te=Object.getOwnPropertyDescriptors,Qe=Object.getOwnPropertyNames,Y=Object.getOwnPropertySymbols,Ee=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable;var Z=Math.pow,J=(t,e,r)=>e in t?G(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,_=(t,e)=>{for(var r in e||(e={}))X.call(e,r)&&J(t,r,e[r]);if(Y)for(var r of Y(e))be.call(e,r)&&J(t,r,e[r]);return t},B=(t,e)=>ve(t,Te(e));var Le=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var we=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Qe(e))!X.call(t,i)&&i!==r&&G(t,i,{get:()=>e[i],enumerable:!(n=Se(e,i))||n.enumerable});return t};var Pe=(t,e,r)=>(r=t!=null?xe(Ee(t)):{},we(e||!t||!t.__esModule?G(r,"default",{value:t,enumerable:!0}):r,t));var W=(t,e,r)=>new Promise((n,i)=>{var s=u=>{try{a(r.next(u))}catch(c){i(c)}},o=u=>{try{a(r.throw(u))}catch(c){i(c)}},a=u=>u.done?n(u.value):Promise.resolve(u.value).then(s,o);a((r=r.apply(t,e)).next())});var te=Le((K,ee)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var f=t.utils.clone(r)||{};f.position=[a,c],f.index=s.length,s.push(new t.Token(n.slice(a,o),f))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ou?f+=2:a==u&&(r+=n[c+1]*i[f+1],c+=2,f+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}s.str.length==1&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var f=s.str.charAt(0),g=s.str.charAt(1),l;g in s.node.edges?l=s.node.edges[g]:(l=new t.TokenSet,s.node.edges[g]=l),s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:f+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof K=="object"?ee.exports=r():e.lunr=r()}(this,function(){return t})})()});var de=Pe(te());function re(t,e=document){let r=ke(t,e);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${t}" to be present`);return r}function ke(t,e=document){return e.querySelector(t)||void 0}Object.entries||(Object.entries=function(t){let e=[];for(let r of Object.keys(t))e.push([r,t[r]]);return e});Object.values||(Object.values=function(t){let e=[];for(let r of Object.keys(t))e.push(t[r]);return e});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(t,e){typeof t=="object"?(this.scrollLeft=t.left,this.scrollTop=t.top):(this.scrollLeft=t,this.scrollTop=e)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...t){let e=this.parentNode;if(e){t.length===0&&e.removeChild(this);for(let r=t.length-1;r>=0;r--){let n=t[r];typeof n=="string"?n=document.createTextNode(n):n.parentNode&&n.parentNode.removeChild(n),r?e.insertBefore(this.previousSibling,n):e.replaceChild(n,this)}}}));function ne(t){let e=new Map;for(let r of t){let[n]=r.location.split("#"),i=e.get(n);typeof i=="undefined"?e.set(n,r):(e.set(r.location,r),r.parent=i)}return e}function H(t,e,r){var s;e=new RegExp(e,"g");let n,i=0;do{n=e.exec(t);let o=(s=n==null?void 0:n.index)!=null?s:t.length;if(in?e(r,1,n,n=i):t.charAt(i)===">"&&(t.charAt(n+1)==="/"?--s===0&&e(r++,2,n,i+1):t.charAt(i-1)!=="/"&&s++===0&&e(r,0,n,i+1),n=i+1);i>n&&e(r,1,n,i)}function se(t,e,r,n=!1){return q([t],e,r,n).pop()}function q(t,e,r,n=!1){let i=[0];for(let s=1;s>>2&1023,c=a[0]>>>12;i.push(+(u>c)+i[i.length-1])}return t.map((s,o)=>{let a=0,u=new Map;for(let f of r.sort((g,l)=>g-l)){let g=f&1048575,l=f>>>20;if(i[l]!==o)continue;let m=u.get(l);typeof m=="undefined"&&u.set(l,m=[]),m.push(g)}if(u.size===0)return s;let c=[];for(let[f,g]of u){let l=e[f],m=l[0]>>>12,x=l[l.length-1]>>>12,v=l[l.length-1]>>>2&1023;n&&m>a&&c.push(s.slice(a,m));let d=s.slice(m,x+v);for(let y of g.sort((b,E)=>E-b)){let b=(l[y]>>>12)-m,E=(l[y]>>>2&1023)+b;d=[d.slice(0,b),"",d.slice(b,E),"",d.slice(E)].join("")}if(a=x+v,c.push(d)===2)break}return n&&a{var f;switch(i[f=o+=s]||(i[f]=[]),a){case 0:case 2:i[o].push(u<<12|c-u<<2|a);break;case 1:let g=r[n].slice(u,c);H(g,lunr.tokenizer.separator,(l,m)=>{if(typeof lunr.segmenter!="undefined"){let x=g.slice(l,m);if(/^[MHIK]$/.test(lunr.segmenter.ctype_(x))){let v=lunr.segmenter.segment(x);for(let d=0,y=0;dr){return t.trim().split(/"([^"]+)"/g).map((r,n)=>n&1?r.replace(/^\b|^(?![^\x00-\x7F]|$)|\s+/g," +"):r).join("").replace(/"|(?:^|\s+)[*+\-:^~]+(?=\s+|$)/g,"").split(/\s+/g).reduce((r,n)=>{let i=e(n);return[...r,...Array.isArray(i)?i:[i]]},[]).map(r=>/([~^]$)/.test(r)?`${r}1`:r).map(r=>/(^[+-]|[~^]\d+$)/.test(r)?r:`${r}*`).join(" ")}function ue(t){return ae(t,e=>{let r=[],n=new lunr.QueryLexer(e);n.run();for(let{type:i,str:s,start:o,end:a}of n.lexemes)switch(i){case"FIELD":["title","text","tags"].includes(s)||(e=[e.slice(0,a)," ",e.slice(a+1)].join(""));break;case"TERM":H(s,lunr.tokenizer.separator,(...u)=>{r.push([e.slice(0,o),s.slice(...u),e.slice(a)].join(""))})}return r})}function ce(t){let e=new lunr.Query(["title","text","tags"]);new lunr.QueryParser(t,e).parse();for(let n of e.clauses)n.usePipeline=!0,n.term.startsWith("*")&&(n.wildcard=lunr.Query.wildcard.LEADING,n.term=n.term.slice(1)),n.term.endsWith("*")&&(n.wildcard=lunr.Query.wildcard.TRAILING,n.term=n.term.slice(0,-1));return e.clauses}function le(t,e){var i;let r=new Set(t),n={};for(let s=0;s0;){let o=i[--s];for(let u=1;un[o]-u&&(r.add(t.slice(o,o+u)),i[s++]=o+u);let a=o+n[o];n[a]&&ar=>{if(typeof r[e]=="undefined")return;let n=[r.location,e].join(":");return t.set(n,lunr.tokenizer.table=[]),r[e]}}function Re(t,e){let[r,n]=[new Set(t),new Set(e)];return[...new Set([...r].filter(i=>!n.has(i)))]}var U=class{constructor({config:e,docs:r,options:n}){let i=Oe(this.table=new Map);this.map=ne(r),this.options=n,this.index=lunr(function(){this.metadataWhitelist=["position"],this.b(0),e.lang.length===1&&e.lang[0]!=="en"?this.use(lunr[e.lang[0]]):e.lang.length>1&&this.use(lunr.multiLanguage(...e.lang)),this.tokenizer=oe,lunr.tokenizer.separator=new RegExp(e.separator),lunr.segmenter="TinySegmenter"in lunr?new lunr.TinySegmenter:void 0;let s=Re(["trimmer","stopWordFilter","stemmer"],e.pipeline);for(let o of e.lang.map(a=>a==="en"?lunr:lunr[a]))for(let a of s)this.pipeline.remove(o[a]),this.searchPipeline.remove(o[a]);this.ref("location");for(let[o,a]of Object.entries(e.fields))this.field(o,B(_({},a),{extractor:i(o)}));for(let o of r)this.add(o,{boost:o.boost})})}search(e){if(e=e.replace(new RegExp("\\p{sc=Han}+","gu"),s=>[...he(s,this.index.invertedIndex)].join("* ")),e=ue(e),!e)return{items:[]};let r=ce(e).filter(s=>s.presence!==lunr.Query.presence.PROHIBITED),n=this.index.search(e).reduce((s,{ref:o,score:a,matchData:u})=>{let c=this.map.get(o);if(typeof c!="undefined"){c=_({},c),c.tags&&(c.tags=[...c.tags]);let f=le(r,Object.keys(u.metadata));for(let l of this.index.fields){if(typeof c[l]=="undefined")continue;let m=[];for(let d of Object.values(u.metadata))typeof d[l]!="undefined"&&m.push(...d[l].position);if(!m.length)continue;let x=this.table.get([c.location,l].join(":")),v=Array.isArray(c[l])?q:se;c[l]=v(c[l],x,m,l!=="text")}let g=+!c.parent+Object.values(f).filter(l=>l).length/Object.keys(f).length;s.push(B(_({},c),{score:a*(1+Z(g,2)),terms:f}))}return s},[]).sort((s,o)=>o.score-s.score).reduce((s,o)=>{let a=this.map.get(o.location);if(typeof a!="undefined"){let u=a.parent?a.parent.location:a.location;s.set(u,[...s.get(u)||[],o])}return s},new Map);for(let[s,o]of n)if(!o.find(a=>a.location===s)){let a=this.map.get(s);o.push(B(_({},a),{score:0,terms:{}}))}let i;if(this.options.suggest){let s=this.index.query(o=>{for(let a of r)o.term(a.term,{fields:["title"],presence:lunr.Query.presence.REQUIRED,wildcard:lunr.Query.wildcard.TRAILING})});i=s.length?Object.keys(s[0].matchData.metadata):[]}return _({items:[...n.values()]},typeof i!="undefined"&&{suggest:i})}};var fe;function Ie(t){return W(this,null,function*(){let e="../lunr";if(typeof parent!="undefined"&&"IFrameWorker"in parent){let n=re("script[src]"),[i]=n.src.split("/worker");e=e.replace("..",i)}let r=[];for(let n of t.lang){switch(n){case"ja":r.push(`${e}/tinyseg.js`);break;case"hi":case"th":r.push(`${e}/wordcut.js`);break}n!=="en"&&r.push(`${e}/min/lunr.${n}.min.js`)}t.lang.length>1&&r.push(`${e}/min/lunr.multi.min.js`),r.length&&(yield importScripts(`${e}/min/lunr.stemmer.support.min.js`,...r))})}function Fe(t){return W(this,null,function*(){switch(t.type){case 0:return yield Ie(t.data.config),fe=new U(t.data),{type:1};case 2:let e=t.data;try{return{type:3,data:fe.search(e)}}catch(r){return console.warn(`Invalid query: ${e} \u2013 see https://bit.ly/2s3ChXG`),console.warn(r),{type:3,data:{items:[]}}}default:throw new TypeError("Invalid message type")}})}self.lunr=de.default;addEventListener("message",t=>W(void 0,null,function*(){postMessage(yield Fe(t.data))}));})(); diff --git a/assets/stylesheets/main.ede334a4.min.css b/assets/stylesheets/main.ede334a4.min.css new file mode 100644 index 00000000..1cee2a70 --- /dev/null +++ b/assets/stylesheets/main.ede334a4.min.css @@ -0,0 +1 @@ +@charset "UTF-8";html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}*,:after,:before{box-sizing:inherit}@media (prefers-reduced-motion){*,:after,:before{transition:none!important}}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{border:0;box-sizing:initial;display:block;height:.05rem;overflow:visible;padding:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:initial;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{background:#0000;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}input{border:0;outline:none}:root{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-scheme=default]{color-scheme:light}[data-md-color-scheme=default] img[src$="#gh-dark-mode-only"],[data-md-color-scheme=default] img[src$="#only-dark"]{display:none}:root,[data-md-color-scheme=default]{--md-hue:225deg;--md-default-fg-color:#000000de;--md-default-fg-color--light:#0000008a;--md-default-fg-color--lighter:#00000052;--md-default-fg-color--lightest:#00000012;--md-default-bg-color:#fff;--md-default-bg-color--light:#ffffffb3;--md-default-bg-color--lighter:#ffffff4d;--md-default-bg-color--lightest:#ffffff1f;--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-bg-color--light:#f5f5f5b3;--md-code-bg-color--lighter:#f5f5f54d;--md-code-hl-color:#4287ff;--md-code-hl-color--light:#4287ff1a;--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-del-color:#f5503d26;--md-typeset-ins-color:#0bd57026;--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-mark-color:#ffff0080;--md-typeset-table-color:#0000001f;--md-typeset-table-color--light:rgba(0,0,0,.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-warning-fg-color:#000000de;--md-warning-bg-color:#ff9;--md-footer-fg-color:#fff;--md-footer-fg-color--light:#ffffffb3;--md-footer-fg-color--lighter:#ffffff73;--md-footer-bg-color:#000000de;--md-footer-bg-color--dark:#00000052;--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #0000001a,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0003,0 0 0.05rem #00000059}.md-icon svg{fill:currentcolor;display:block;height:1.2rem;width:1.2rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--md-text-font-family:var(--md-text-font,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;--md-code-font-family:var(--md-code-font,_),SFMono-Regular,Consolas,Menlo,monospace}aside,body,input{font-feature-settings:"kern","liga";color:var(--md-typeset-color);font-family:var(--md-text-font-family)}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family)}:root{--md-typeset-table-sort-icon:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--asc:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--desc:url('data:image/svg+xml;charset=utf-8,')}.md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;line-height:1.6}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset figure,.md-typeset ol,.md-typeset pre,.md-typeset ul{margin-bottom:1em;margin-top:1em}.md-typeset h1{color:var(--md-default-fg-color--light);font-size:2em;line-height:1.3;margin:0 0 1.25em}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{font-size:1.5625em;line-height:1.4;margin:1.6em 0 .64em}.md-typeset h3{font-size:1.25em;font-weight:400;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.md-typeset h5,.md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.md-typeset h5{text-transform:uppercase}.md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset a:focus code,.md-typeset a:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset a code{color:var(--md-typeset-a-color)}.md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr;font-variant-ligatures:none;transition:background-color 125ms}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;transition:color 125ms,background-color 125ms;word-break:break-word}.md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset pre{display:flow-root;line-height:1.4;position:relative}.md-typeset pre>code{-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;outline-color:var(--md-accent-fg-color);overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:auto;word-break:normal}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset kbd{background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset;color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help;text-decoration:none}.md-typeset small{opacity:.75}[dir=ltr] .md-typeset sub,[dir=ltr] .md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.078125em}[dir=ltr] .md-typeset blockquote{padding-left:.6rem}[dir=rtl] .md-typeset blockquote{padding-right:.6rem}[dir=ltr] .md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{border-right:.2rem solid var(--md-default-fg-color--lighter)}.md-typeset blockquote{color:var(--md-default-fg-color--light);margin-left:0;margin-right:0}.md-typeset ul{list-style-type:disc}[dir=ltr] .md-typeset ol,[dir=ltr] .md-typeset ul{margin-left:.625em}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em}.md-typeset ol,.md-typeset ul{padding:0}.md-typeset ol:not([hidden]),.md-typeset ul:not([hidden]){display:flow-root}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}[dir=ltr] .md-typeset ol li,[dir=ltr] .md-typeset ul li{margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}[dir=ltr] .md-typeset ol li ol,[dir=ltr] .md-typeset ol li ul,[dir=ltr] .md-typeset ul li ol,[dir=ltr] .md-typeset ul li ul{margin-left:.625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin-bottom:.5em;margin-top:.5em}[dir=ltr] .md-typeset dd{margin-left:1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em}.md-typeset dd{margin-bottom:1.5em;margin-top:1em}.md-typeset img,.md-typeset svg,.md-typeset video{height:auto;max-width:100%}.md-typeset img[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child{margin-top:0}.md-typeset figure{display:flow-root;margin:1em auto;max-width:100%;text-align:center;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.md-typeset figure img{display:block;margin:0 auto}.md-typeset figcaption{font-style:italic;margin:1em auto;max-width:24rem}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){background-color:var(--md-default-bg-color);border:.05rem solid var(--md-typeset-table-color);border-radius:.1rem;display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{font-weight:700;min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) td{border-top:.05rem solid var(--md-typeset-table-color);padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) tbody tr{transition:background-color 125ms}.md-typeset table:not([class]) tbody tr:hover{background-color:var(--md-typeset-table-color--light);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}[dir=ltr] .md-typeset table th[role=columnheader]:after{margin-left:.5em}[dir=rtl] .md-typeset table th[role=columnheader]:after{margin-right:.5em}.md-typeset table th[role=columnheader]:after{content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-typeset-table-sort-icon);mask-image:var(--md-typeset-table-sort-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset table th[role=columnheader]:hover:after{background-color:var(--md-default-fg-color--lighter)}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--asc);mask-image:var(--md-typeset-table-sort-icon--asc)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--desc);mask-image:var(--md-typeset-table-sort-icon--desc)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}@media screen and (max-width:44.984375em){.md-content__inner>pre{margin:1em -.8rem}.md-content__inner>pre code{border-radius:0}}.md-typeset .md-author{border-radius:100%;display:block;flex-shrink:0;height:1.6rem;overflow:hidden;position:relative;transition:color 125ms,transform 125ms;width:1.6rem}.md-typeset .md-author img{display:block}.md-typeset .md-author--more{background:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--lighter);font-size:.6rem;font-weight:700;line-height:1.6rem;text-align:center}.md-typeset .md-author--long{height:2.4rem;width:2.4rem}.md-typeset a.md-author{transform:scale(1)}.md-typeset a.md-author img{filter:grayscale(100%) opacity(75%);transition:filter 125ms}.md-typeset a.md-author:focus,.md-typeset a.md-author:hover{transform:scale(1.1);z-index:1}.md-typeset a.md-author:focus img,.md-typeset a.md-author:hover img{filter:grayscale(0)}.md-banner{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color);overflow:auto}@media print{.md-banner{display:none}}.md-banner--warning{background-color:var(--md-warning-bg-color);color:var(--md-warning-fg-color)}.md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}[dir=ltr] .md-banner__button{float:right}[dir=rtl] .md-banner__button{float:left}.md-banner__button{color:inherit;cursor:pointer;transition:opacity .25s}.no-js .md-banner__button{display:none}.md-banner__button:hover{opacity:.7}html{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100%;position:relative;width:100%}@media print{body{display:block}}@media screen and (max-width:59.984375em){body[data-md-scrolllock]{position:fixed}}.md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;text-overflow:ellipsis}.md-toggle{display:none}.md-option{height:0;opacity:0;position:absolute;width:0}.md-option:checked+label:not([hidden]){display:block}.md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}:root{--md-clipboard-icon:url('data:image/svg+xml;charset=utf-8,')}.md-clipboard{border-radius:.1rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em;z-index:1}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}:root{--md-code-select-icon:url('data:image/svg+xml;charset=utf-8,');--md-code-copy-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .md-code__content{display:grid}.md-code__nav{background-color:var(--md-code-bg-color--lighter);border-radius:.1rem;display:flex;gap:.2rem;padding:.2rem;position:absolute;right:.25em;top:.25em;transition:background-color .25s;z-index:1}:hover>.md-code__nav{background-color:var(--md-code-bg-color--light)}.md-code__button{color:var(--md-default-fg-color--lightest);cursor:pointer;display:block;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em}:hover>*>.md-code__button{color:var(--md-default-fg-color--light)}.md-code__button.focus-visible,.md-code__button:hover{color:var(--md-accent-fg-color)}.md-code__button--active{color:var(--md-default-fg-color)!important}.md-code__button:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-code__button[data-md-type=select]:after{-webkit-mask-image:var(--md-code-select-icon);mask-image:var(--md-code-select-icon)}.md-code__button[data-md-type=copy]:after{-webkit-mask-image:var(--md-code-copy-icon);mask-image:var(--md-code-copy-icon)}@keyframes consent{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay{0%{opacity:0}to{opacity:1}}.md-consent__overlay{animation:overlay .25s both;-webkit-backdrop-filter:blur(.1rem);backdrop-filter:blur(.1rem);background-color:#0000008a;height:100%;opacity:1;position:fixed;top:0;width:100%;z-index:5}.md-consent__inner{animation:consent .5s cubic-bezier(.1,.7,.1,1) both;background-color:var(--md-default-bg-color);border:0;border-radius:.1rem;bottom:0;box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;max-height:100%;overflow:auto;padding:0;position:fixed;width:100%;z-index:5}.md-consent__form{padding:.8rem}.md-consent__settings{display:none;margin:1em 0}input:checked+.md-consent__settings{display:block}.md-consent__controls{margin-bottom:.8rem}.md-typeset .md-consent__controls .md-button{display:inline}@media screen and (max-width:44.984375em){.md-typeset .md-consent__controls .md-button{display:block;margin-top:.4rem;text-align:center;width:100%}}.md-consent label{cursor:pointer}.md-content{flex-grow:1;min-width:0}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){[dir=ltr] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=ltr] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner,[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}}.md-content__inner:before{content:"";display:block;height:.4rem}.md-content__inner>:last-child{margin-bottom:0}[dir=ltr] .md-content__button{float:right}[dir=rtl] .md-content__button{float:left}[dir=ltr] .md-content__button{margin-left:.4rem}[dir=rtl] .md-content__button{margin-right:.4rem}.md-content__button{margin:.4rem 0;padding:0}@media print{.md-content__button{display:none}}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}[dir=ltr] .md-dialog{right:.8rem}[dir=rtl] .md-dialog{left:.8rem}.md-dialog{background-color:var(--md-default-fg-color);border-radius:.1rem;bottom:.8rem;box-shadow:var(--md-shadow-z3);min-width:11.1rem;opacity:0;padding:.4rem .6rem;pointer-events:none;position:fixed;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:4}@media print{.md-dialog{display:none}}.md-dialog--active{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-feedback{margin:2em 0 1em;text-align:center}.md-feedback fieldset{border:none;margin:0;padding:0}.md-feedback__title{font-weight:700;margin:1em auto}.md-feedback__inner{position:relative}.md-feedback__list{display:flex;flex-wrap:wrap;place-content:baseline center;position:relative}.md-feedback__list:hover .md-icon:not(:disabled){color:var(--md-default-fg-color--lighter)}:disabled .md-feedback__list{min-height:1.8rem}.md-feedback__icon{color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;margin:0 .1rem;transition:color 125ms}.md-feedback__icon:not(:disabled).md-icon:hover{color:var(--md-accent-fg-color)}.md-feedback__icon:disabled{color:var(--md-default-fg-color--lightest);pointer-events:none}.md-feedback__note{opacity:0;position:relative;transform:translateY(.4rem);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-feedback__note>*{margin:0 auto;max-width:16rem}:disabled .md-feedback__note{opacity:1;transform:translateY(0)}.md-footer{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color)}@media print{.md-footer{display:none}}.md-footer__inner{justify-content:space-between;overflow:auto;padding:.2rem}.md-footer__inner:not([hidden]){display:flex}.md-footer__link{align-items:end;display:flex;flex-grow:0.01;margin-bottom:.4rem;margin-top:1rem;max-width:100%;outline-color:var(--md-accent-fg-color);overflow:hidden;transition:opacity .25s}.md-footer__link:focus,.md-footer__link:hover{opacity:.7}[dir=rtl] .md-footer__link svg{transform:scaleX(-1)}@media screen and (max-width:44.984375em){.md-footer__link--prev{flex-shrink:0}.md-footer__link--prev .md-footer__title{display:none}}[dir=ltr] .md-footer__link--next{margin-left:auto}[dir=rtl] .md-footer__link--next{margin-right:auto}.md-footer__link--next{text-align:right}[dir=rtl] .md-footer__link--next{text-align:left}.md-footer__title{flex-grow:1;font-size:.9rem;margin-bottom:.7rem;max-width:calc(100% - 2.4rem);padding:0 1rem;white-space:nowrap}.md-footer__button{margin:.2rem;padding:.4rem}.md-footer__direction{font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-copyright{color:var(--md-footer-fg-color--lighter);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.md-copyright{width:auto}}.md-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-social{display:inline-flex;gap:.2rem;margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-social{padding:.6rem 0}}.md-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.md-social__link:before{line-height:1.9}.md-social__link svg{fill:currentcolor;max-height:.8rem;vertical-align:-25%}.md-typeset .md-button{border:.1rem solid;border-radius:.1rem;color:var(--md-primary-fg-color);cursor:pointer;display:inline-block;font-weight:700;padding:.625em 2em;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[dir=ltr] .md-typeset .md-input{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .md-input,[dir=rtl] .md-typeset .md-input{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .md-input{border-top-left-radius:.1rem}.md-typeset .md-input{border-bottom:.1rem solid var(--md-default-fg-color--lighter);box-shadow:var(--md-shadow-z1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:border .25s,box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{border-bottom-color:var(--md-accent-fg-color);box-shadow:var(--md-shadow-z2)}.md-typeset .md-input--stretch{width:100%}.md-header{background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem #0000,0 .2rem .4rem #0000;color:var(--md-primary-bg-color);display:block;left:0;position:sticky;right:0;top:0;z-index:4}@media print{.md-header{display:none}}.md-header[hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1),box-shadow .25s}.md-header--shadow{box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;transition:transform .25s cubic-bezier(.1,.7,.1,1),box-shadow .25s}.md-header__inner{align-items:center;display:flex;padding:0 .2rem}.md-header__button{color:currentcolor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.md-header__button:hover{opacity:.7}.md-header__button:not([hidden]){display:inline-block}.md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.234375em){.md-header__button.md-logo{display:none}}.md-header__button.md-logo img,.md-header__button.md-logo svg{fill:currentcolor;display:block;height:1.2rem;width:auto}@media screen and (min-width:60em){.md-header__button[for=__search]{display:none}}.no-js .md-header__button[for=__search]{display:none}[dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header__button[for=__drawer]{display:none}}.md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;white-space:nowrap}.md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.md-header__topic:first-child{font-weight:700}[dir=ltr] .md-header__title{margin-left:1rem;margin-right:.4rem}[dir=rtl] .md-header__title{margin-left:.4rem;margin-right:1rem}.md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;line-height:2.4rem}.md-header__title--active .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__title--active .md-header__topic{transform:translateX(1.25rem)}.md-header__title--active .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.md-header__option{display:flex;flex-shrink:0;max-width:100%;transition:max-width 0ms .25s,opacity .25s .25s;white-space:nowrap}[data-md-toggle=search]:checked~.md-header .md-header__option{max-width:0;opacity:0;transition:max-width 0ms,opacity 0ms}.md-header__option>input{bottom:0}.md-header__source{display:none}@media screen and (min-width:60em){[dir=ltr] .md-header__source{margin-left:1rem}[dir=rtl] .md-header__source{margin-right:1rem}.md-header__source{display:block;max-width:11.7rem;width:11.7rem}}@media screen and (min-width:76.25em){[dir=ltr] .md-header__source{margin-left:1.4rem}[dir=rtl] .md-header__source{margin-right:1.4rem}}.md-meta{color:var(--md-default-fg-color--light);font-size:.7rem;line-height:1.3}.md-meta__list{display:inline-flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.md-meta__item:not(:last-child):after{content:"·";margin-left:.2rem;margin-right:.2rem}.md-meta__link{color:var(--md-typeset-a-color)}.md-meta__link:focus,.md-meta__link:hover{color:var(--md-accent-fg-color)}.md-draft{background-color:#ff1744;border-radius:.125em;color:#fff;display:inline-block;font-weight:700;padding-left:.5714285714em;padding-right:.5714285714em}:root{--md-nav-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-nav-icon--next:url('data:image/svg+xml;charset=utf-8,');--md-toc-icon:url('data:image/svg+xml;charset=utf-8,')}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{color:var(--md-default-fg-color--light);display:block;font-weight:700;overflow:hidden;padding:0 .6rem;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{height:100%;width:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{fill:currentcolor;display:block;height:2.4rem;max-width:100%;object-fit:contain;width:auto}.md-nav__list{list-style:none;margin:0;padding:0}.md-nav__link{align-items:flex-start;display:flex;gap:.4rem;margin-top:.625em;scroll-snap-align:start;transition:color 125ms}.md-nav__link--passed,.md-nav__link--passed code{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active,.md-nav__item .md-nav__link--active code{color:var(--md-typeset-a-color)}.md-nav__link .md-ellipsis{position:relative}.md-nav__link .md-ellipsis code{word-break:normal}[dir=ltr] .md-nav__link .md-icon:last-child{margin-left:auto}[dir=rtl] .md-nav__link .md-icon:last-child{margin-right:auto}.md-nav__link .md-typeset{font-size:.7rem;line-height:1.3}.md-nav__link svg{fill:currentcolor;flex-shrink:0;height:1.3em}.md-nav__link[for]:focus,.md-nav__link[for]:hover,.md-nav__link[href]:focus,.md-nav__link[href]:hover{color:var(--md-accent-fg-color);cursor:pointer}.md-nav__link[for]:focus code,.md-nav__link[for]:hover code,.md-nav__link[href]:focus code,.md-nav__link[href]:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{background-color:currentcolor;display:block;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);width:100%}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__container>.md-nav__link{margin-top:0}.md-nav__container>.md-nav__link:first-child{flex-grow:1;min-width:0}.md-nav__icon{flex-shrink:0}.md-nav__source{display:none}@media screen and (max-width:76.234375em){.md-nav--primary,.md-nav--primary .md-nav{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);cursor:pointer;height:5.6rem;line-height:2.4rem;padding:3rem .8rem .2rem;position:relative;white-space:nowrap}[dir=ltr] .md-nav--primary .md-nav__title .md-nav__icon{left:.4rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem}.md-nav--primary .md-nav__title .md-nav__icon{display:block;height:1.2rem;margin:.2rem;position:absolute;top:.4rem;width:1.2rem}.md-nav--primary .md-nav__title .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.md-nav--primary .md-nav__title~.md-nav__list{background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;overflow-y:auto;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);font-weight:700}.md-nav--primary .md-nav__title .md-logo{display:block;left:.2rem;margin:.2rem;padding:.4rem;position:absolute;right:.2rem;top:.2rem}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link svg{margin-top:.1em}.md-nav--primary .md-nav__link>.md-nav__link{padding:0}[dir=ltr] .md-nav--primary .md-nav__link .md-nav__icon{margin-right:-.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{margin-left:-.2rem}.md-nav--primary .md-nav__link .md-nav__icon{font-size:1.2rem;height:1.2rem;width:1.2rem}.md-nav--primary .md-nav__link .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-nav--primary .md-nav__icon:after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav{background-color:initial;position:static}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem}.md-nav--secondary{background-color:initial}.md-nav__toggle~.md-nav{display:flex;opacity:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{opacity:1;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width:59.984375em){.md-nav--primary .md-nav__link[for=__toc]{display:flex}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{background-color:var(--md-primary-fg-color--dark);color:var(--md-primary-bg-color);display:block;padding:0 .2rem}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-nav--integrated .md-nav__link[for=__toc]{display:flex}.md-nav--integrated .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width:60em){.md-nav{margin-bottom:-.4rem}.md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--secondary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--secondary .md-nav__list{padding-right:.6rem}.md-nav--secondary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--secondary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--secondary .md-nav__item>.md-nav__link{margin-left:.4rem}}@media screen and (min-width:76.25em){.md-nav{margin-bottom:-.4rem;transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav--primary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--primary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--primary .md-nav__list{padding-right:.6rem}.md-nav--primary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--primary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--primary .md-nav__item>.md-nav__link{margin-left:.4rem}.md-nav__toggle~.md-nav{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .25s,visibility 0ms .25s;visibility:collapse}.md-nav__toggle~.md-nav>.md-nav__list{overflow:hidden}.md-nav__toggle.md-toggle--indeterminate~.md-nav,.md-nav__toggle:checked~.md-nav{grid-template-rows:1fr;opacity:1;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .15s .1s,visibility 0ms;visibility:visible}.md-nav__toggle.md-toggle--indeterminate~.md-nav{transition:none}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{font-weight:700}.md-nav__item--section>.md-nav__link[for]{color:var(--md-default-fg-color--light)}.md-nav__item--section>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav__item--section>.md-nav__link .md-icon,.md-nav__item--section>.md-nav__link>[for]{display:none}[dir=ltr] .md-nav__item--section>.md-nav{margin-left:-.6rem}[dir=rtl] .md-nav__item--section>.md-nav{margin-right:-.6rem}.md-nav__item--section>.md-nav{display:block;opacity:1;visibility:visible}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{border-radius:100%;height:.9rem;transition:background-color .25s;width:.9rem}.md-nav__icon:hover{background-color:var(--md-accent-fg-color--transparent)}.md-nav__icon:after{background-color:currentcolor;border-radius:100%;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:transform .25s;vertical-align:-.1rem;width:100%}[dir=rtl] .md-nav__icon:after{transform:rotate(180deg)}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon:after,.md-nav__item--nested .md-toggle--indeterminate~.md-nav__link .md-nav__icon:after{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);margin-top:0;position:sticky;top:0;z-index:1}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active.md-nav__item--section{margin:0}[dir=ltr] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav{margin-left:-.6rem}[dir=rtl] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav{margin-right:-.6rem}.md-nav--lifted>.md-nav__list>.md-nav__item>[for]{color:var(--md-default-fg-color--light)}.md-nav--lifted .md-nav[data-md-level="1"]{grid-template-rows:1fr;opacity:1;visibility:visible}.md-nav--integrated>.md-nav__list>.md-nav__item--active:not(.md-nav__item--nested){padding:0 .6rem}.md-nav--integrated>.md-nav__list>.md-nav__item--active:not(.md-nav__item--nested)>.md-nav__link{padding:0}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-left:.05rem solid var(--md-primary-fg-color)}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-right:.05rem solid var(--md-primary-fg-color)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{display:block;margin-bottom:1.25em;opacity:1;visibility:visible}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__list{overflow:visible;padding-bottom:0}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__title{display:none}}.md-pagination{font-size:.8rem;font-weight:700;gap:.4rem}.md-pagination,.md-pagination>*{align-items:center;display:flex;justify-content:center}.md-pagination>*{border-radius:.2rem;height:1.8rem;min-width:1.8rem;text-align:center}.md-pagination__current{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light)}.md-pagination__link{transition:color 125ms,background-color 125ms}.md-pagination__link:focus,.md-pagination__link:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-pagination__link:focus svg,.md-pagination__link:hover svg{color:var(--md-accent-fg-color)}.md-pagination__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-pagination__link svg{fill:currentcolor;color:var(--md-default-fg-color--lighter);display:block;max-height:100%;width:1.2rem}:root{--md-path-icon:url('data:image/svg+xml;charset=utf-8,')}.md-path{font-size:.7rem;margin:0 .8rem;overflow:auto;padding-top:1.2rem}.md-path:not([hidden]){display:block}@media screen and (min-width:76.25em){.md-path{margin:0 1.2rem}}.md-path__list{align-items:center;display:flex;gap:.2rem;list-style:none;margin:0;padding:0}.md-path__item:not(:first-child){display:inline-flex;gap:.2rem;white-space:nowrap}.md-path__item:not(:first-child):before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline;height:.8rem;-webkit-mask-image:var(--md-path-icon);mask-image:var(--md-path-icon);width:.8rem}.md-path__link{align-items:center;color:var(--md-default-fg-color--light);display:flex}.md-path__link:focus,.md-path__link:hover{color:var(--md-accent-fg-color)}.md-post__back{border-bottom:.05rem solid var(--md-default-fg-color--lightest);margin-bottom:1.2rem;padding-bottom:1.2rem}@media screen and (max-width:76.234375em){.md-post__back{display:none}}[dir=rtl] .md-post__back svg{transform:scaleX(-1)}.md-post__authors{display:flex;flex-direction:column;gap:.6rem;margin:0 .6rem 1.2rem}.md-post .md-post__meta a{transition:color 125ms}.md-post .md-post__meta a:focus,.md-post .md-post__meta a:hover{color:var(--md-accent-fg-color)}.md-post__title{color:var(--md-default-fg-color--light);font-weight:700}.md-post--excerpt{margin-bottom:3.2rem}.md-post--excerpt .md-post__header{align-items:center;display:flex;gap:.6rem;min-height:1.6rem}.md-post--excerpt .md-post__authors{align-items:center;display:inline-flex;flex-direction:row;gap:.2rem;margin:0;min-height:2.4rem}[dir=ltr] .md-post--excerpt .md-post__meta .md-meta__list{margin-right:.4rem}[dir=rtl] .md-post--excerpt .md-post__meta .md-meta__list{margin-left:.4rem}.md-post--excerpt .md-post__content>:first-child{--md-scroll-margin:6rem;margin-top:0}.md-post>.md-nav--secondary{margin:1em 0}.md-profile{align-items:center;display:flex;font-size:.7rem;gap:.6rem;line-height:1.4;width:100%}.md-profile__description{flex-grow:1}.md-content--post{display:flex}@media screen and (max-width:76.234375em){.md-content--post{flex-flow:column-reverse}}.md-content--post>.md-content__inner{min-width:0}@media screen and (min-width:76.25em){[dir=ltr] .md-content--post>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-content--post>.md-content__inner{margin-right:1.2rem}}@media screen and (max-width:76.234375em){.md-sidebar.md-sidebar--post{padding:0;position:static;width:100%}.md-sidebar.md-sidebar--post .md-sidebar__scrollwrap{overflow:visible}.md-sidebar.md-sidebar--post .md-sidebar__inner{padding:0}.md-sidebar.md-sidebar--post .md-post__meta{margin-left:.6rem;margin-right:.6rem}.md-sidebar.md-sidebar--post .md-nav__item{border:none;display:inline}.md-sidebar.md-sidebar--post .md-nav__list{display:inline-flex;flex-wrap:wrap;gap:.6rem;padding-bottom:.6rem;padding-top:.6rem}.md-sidebar.md-sidebar--post .md-nav__link{padding:0}.md-sidebar.md-sidebar--post .md-nav{height:auto;margin-bottom:0;position:static}}:root{--md-progress-value:0;--md-progress-delay:400ms}.md-progress{background:var(--md-primary-bg-color);height:.075rem;opacity:min(clamp(0,var(--md-progress-value),1),clamp(0,100 - var(--md-progress-value),1));position:fixed;top:0;transform:scaleX(calc(var(--md-progress-value)*1%));transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .25s var(--md-progress-delay);width:100%;z-index:4}:root{--md-search-result-icon:url('data:image/svg+xml;charset=utf-8,')}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__overlay{left:-2.2rem}[dir=rtl] .md-search__overlay{right:-2.2rem}.md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;overflow:hidden;pointer-events:none;position:absolute;top:-1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){[dir=ltr] .md-search__overlay{left:0}[dir=rtl] .md-search__overlay{right:0}.md-search__overlay{background-color:#0000008a;cursor:pointer;height:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}[data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__inner{left:0}[dir=rtl] .md-search__inner{right:0}.md-search__inner{height:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateX(5%);transition:width 0ms .3s,height 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:0;z-index:2}[dir=rtl] .md-search__inner{transform:translateX(-5%)}[data-md-toggle=search]:checked~.md-header .md-search__inner{height:100%;opacity:1;transform:translateX(0);transition:width 0ms 0ms,height 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__inner{float:right}[dir=rtl] .md-search__inner{float:left}.md-search__inner{padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}}@media screen and (min-width:60em) and (max-width:76.234375em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem #0000;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.md-search__form{background-color:#00000042;border-radius:.1rem;height:1.8rem}.md-search__form:hover{background-color:#ffffff1f}}[data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0;box-shadow:0 0 .6rem #00000012;color:var(--md-default-fg-color)}[dir=ltr] .md-search__input{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__input{padding-left:2.2rem;padding-right:3.6rem}.md-search__input{background:#0000;font-size:.9rem;height:100%;position:relative;text-overflow:ellipsis;width:100%;z-index:2}.md-search__input::placeholder{transition:color .25s}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width:59.984375em){.md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__input{padding-left:2.2rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input{color:inherit;font-size:.8rem}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}[data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:#0000}}.md-search__icon{cursor:pointer;display:inline-block;height:1.2rem;transition:color .25s,opacity .25s;width:1.2rem}.md-search__icon:hover{opacity:.7}[dir=ltr] .md-search__icon[for=__search]{left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem}.md-search__icon[for=__search]{position:absolute;top:.3rem;z-index:2}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__icon[for=__search]{left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem}.md-search__icon[for=__search]{top:.6rem}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}[dir=ltr] .md-search__options{right:.5rem}[dir=rtl] .md-search__options{left:.5rem}.md-search__options{pointer-events:none;position:absolute;top:.3rem;z-index:2}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__options{right:.8rem}[dir=rtl] .md-search__options{left:.8rem}.md-search__options{top:.6rem}}[dir=ltr] .md-search__options>.md-icon{margin-left:.2rem}[dir=rtl] .md-search__options>.md-icon{margin-right:.2rem}.md-search__options>.md-icon{color:var(--md-default-fg-color--light);opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-search__options>.md-icon:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon{opacity:1;pointer-events:auto;transform:scale(1)}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon:hover{opacity:.7}[dir=ltr] .md-search__suggest{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__suggest{padding-left:2.2rem;padding-right:3.6rem}.md-search__suggest{align-items:center;color:var(--md-default-fg-color--lighter);display:flex;font-size:.9rem;height:100%;opacity:0;position:absolute;top:0;transition:opacity 50ms;white-space:nowrap;width:100%}@media screen and (min-width:60em){[dir=ltr] .md-search__suggest{padding-left:2.2rem}[dir=rtl] .md-search__suggest{padding-right:2.2rem}.md-search__suggest{font-size:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}[dir=ltr] .md-search__output{border-bottom-left-radius:.1rem}[dir=ltr] .md-search__output,[dir=rtl] .md-search__output{border-bottom-right-radius:.1rem}[dir=rtl] .md-search__output{border-bottom-left-radius:.1rem}.md-search__output{overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.984375em){.md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:var(--md-shadow-z3);opacity:1}}.md-search__scrollwrap{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){[dir=ltr] .md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem}}.md-search-result__list{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.md-search-result__item{box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more>summary{cursor:pointer;display:block;outline:none;position:sticky;scroll-snap-align:start;top:0;z-index:1}.md-search-result__more>summary::marker{display:none}.md-search-result__more>summary::-webkit-details-marker{display:none}.md-search-result__more>summary>div{color:var(--md-typeset-a-color);font-size:.64rem;padding:.75em .8rem;transition:color .25s,background-color .25s}@media screen and (min-width:60em){[dir=ltr] .md-search-result__more>summary>div{padding-left:2.2rem}[dir=rtl] .md-search-result__more>summary>div{padding-right:2.2rem}}.md-search-result__more>summary:focus>div,.md-search-result__more>summary:hover>div{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-search-result__more[open]>summary{background-color:var(--md-default-bg-color)}.md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){[dir=ltr] .md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem}}[dir=ltr] .md-search-result__icon{left:0}[dir=rtl] .md-search-result__icon{right:0}.md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.984375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{background-color:currentcolor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result .md-typeset{color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6}.md-search-result .md-typeset h1{color:var(--md-default-fg-color);font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.md-search-result .md-typeset h1 mark{text-decoration:none}.md-search-result .md-typeset h2{color:var(--md-default-fg-color);font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.md-search-result .md-typeset h2 mark{text-decoration:none}.md-search-result__terms{color:var(--md-default-fg-color);display:block;font-size:.64rem;font-style:italic;margin:.5em 0}.md-search-result mark{background-color:initial;color:var(--md-accent-fg-color);text-decoration:underline}.md-select{position:relative;z-index:1}.md-select__inner{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{max-height:10rem;opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}.md-select__inner:after{border-bottom:.2rem solid #0000;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid #0000;border-right:.2rem solid #0000;border-top:0;content:"";height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}.md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.md-select__item{line-height:1.8rem}[dir=ltr] .md-select__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.md-select__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}.md-select__link:focus,.md-select__link:hover{color:var(--md-accent-fg-color)}.md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}.md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.2rem 0;position:sticky;top:2.4rem;width:12.1rem}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.234375em){[dir=ltr] .md-sidebar--primary{left:-12.1rem}[dir=rtl] .md-sidebar--primary{right:-12.1rem}.md-sidebar--primary{background-color:var(--md-default-bg-color);display:block;height:100%;position:fixed;top:0;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;width:12.1rem;z-index:5}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:var(--md-shadow-z3);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;overflow:hidden;position:absolute;right:0;scroll-snap-type:none;top:0}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}.md-header--lifted~.md-container .md-sidebar{top:4.8rem}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{scrollbar-gutter:stable;-webkit-backface-visibility:hidden;backface-visibility:hidden;margin:0 .2rem;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}.md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-sidebar__scrollwrap:focus-within,.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@supports selector(::-webkit-scrollbar){.md-sidebar__scrollwrap{scrollbar-gutter:auto}[dir=ltr] .md-sidebar__inner{padding-right:calc(100% - 11.5rem)}[dir=rtl] .md-sidebar__inner{padding-left:calc(100% - 11.5rem)}}@media screen and (max-width:76.234375em){.md-overlay{background-color:#0000008a;height:0;opacity:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0;z-index:5}[data-md-toggle=drawer]:checked~.md-overlay{height:100%;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@keyframes facts{0%{height:0}to{height:.65rem}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}:root{--md-source-forks-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-repositories-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-stars-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-source{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}[dir=ltr] .md-source__icon svg{margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem}.md-source__icon svg{margin-top:.6rem}[dir=ltr] .md-source__icon+.md-source__repository{padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{padding-right:2rem}[dir=ltr] .md-source__icon+.md-source__repository{margin-left:-2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem}[dir=ltr] .md-source__repository{margin-left:.6rem}[dir=rtl] .md-source__repository{margin-right:.6rem}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{display:flex;font-size:.55rem;gap:.4rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0;width:100%}.md-source__repository--active .md-source__facts{animation:facts .25s ease-in}.md-source__fact{overflow:hidden;text-overflow:ellipsis}.md-source__repository--active .md-source__fact{animation:fact .4s ease-out}[dir=ltr] .md-source__fact:before{margin-right:.1rem}[dir=rtl] .md-source__fact:before{margin-left:.1rem}.md-source__fact:before{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.md-source__fact:nth-child(1n+2){flex-shrink:0}.md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}.md-source-file{margin:1em 0}[dir=ltr] .md-source-file__fact{margin-right:.6rem}[dir=rtl] .md-source-file__fact{margin-left:.6rem}.md-source-file__fact{align-items:center;color:var(--md-default-fg-color--light);display:inline-flex;font-size:.68rem;gap:.3rem}.md-source-file__fact .md-icon{flex-shrink:0;margin-bottom:.05rem}[dir=ltr] .md-source-file__fact .md-author{float:left}[dir=rtl] .md-source-file__fact .md-author{float:right}.md-source-file__fact .md-author{margin-right:.2rem}.md-source-file__fact svg{width:.9rem}:root{--md-status:url('data:image/svg+xml;charset=utf-8,');--md-status--new:url('data:image/svg+xml;charset=utf-8,');--md-status--deprecated:url('data:image/svg+xml;charset=utf-8,');--md-status--encrypted:url('data:image/svg+xml;charset=utf-8,')}.md-status:after{background-color:var(--md-default-fg-color--light);content:"";display:inline-block;height:1.125em;-webkit-mask-image:var(--md-status);mask-image:var(--md-status);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-bottom;width:1.125em}.md-status:hover:after{background-color:currentcolor}.md-status--new:after{-webkit-mask-image:var(--md-status--new);mask-image:var(--md-status--new)}.md-status--deprecated:after{-webkit-mask-image:var(--md-status--deprecated);mask-image:var(--md-status--deprecated)}.md-status--encrypted:after{-webkit-mask-image:var(--md-status--encrypted);mask-image:var(--md-status--encrypted)}.md-tabs{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);display:block;line-height:1.3;overflow:auto;width:100%;z-index:3}@media print{.md-tabs{display:none}}@media screen and (max-width:76.234375em){.md-tabs{display:none}}.md-tabs[hidden]{pointer-events:none}[dir=ltr] .md-tabs__list{margin-left:.2rem}[dir=rtl] .md-tabs__list{margin-right:.2rem}.md-tabs__list{contain:content;display:flex;list-style:none;margin:0;overflow:auto;padding:0;scrollbar-width:none;white-space:nowrap}.md-tabs__list::-webkit-scrollbar{display:none}.md-tabs__item{height:2.4rem;padding-left:.6rem;padding-right:.6rem}.md-tabs__item--active .md-tabs__link{color:inherit;opacity:1}.md-tabs__link{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}[dir=ltr] .md-tabs__link svg{margin-right:.4rem}[dir=rtl] .md-tabs__link svg{margin-left:.4rem}.md-tabs__link svg{fill:currentcolor;height:1.3em}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}:root{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .md-tags:not([hidden]){display:inline-flex;flex-wrap:wrap;gap:.5em;margin-bottom:.75em;margin-top:-.125em}.md-typeset .md-tag{align-items:center;background:var(--md-default-fg-color--lightest);border-radius:2.4rem;display:inline-flex;font-size:.64rem;font-size:min(.8em,.64rem);font-weight:700;gap:.5em;letter-spacing:normal;line-height:1.6;padding:.3125em .78125em}.md-typeset .md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.md-typeset .md-tag[href]:focus,.md-typeset .md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[id]>.md-typeset .md-tag{vertical-align:text-top}.md-typeset .md-tag-shadow{opacity:.5}.md-typeset .md-tag-icon:before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-tag-icon);mask-image:var(--md-tag-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset .md-tag-icon[href]:focus:before,.md-typeset .md-tag-icon[href]:hover:before{background-color:var(--md-accent-bg-color)}@keyframes pulse{0%{transform:scale(.95)}75%{transform:scale(1)}to{transform:scale(.95)}}:root{--md-annotation-bg-icon:url('data:image/svg+xml;charset=utf-8,');--md-annotation-icon:url('data:image/svg+xml;charset=utf-8,')}.md-tooltip{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);font-family:var(--md-text-font-family);left:clamp(var(--md-tooltip-0,0rem) + .8rem,var(--md-tooltip-x),100vw + var(--md-tooltip-0,0rem) + .8rem - var(--md-tooltip-width) - 2 * .8rem);max-width:calc(100vw - 1.6rem);opacity:0;position:absolute;top:var(--md-tooltip-y);transform:translateY(-.4rem);transition:transform 0ms .25s,opacity .25s,z-index .25s;width:var(--md-tooltip-width);z-index:0}.md-tooltip--active{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip--inline{font-weight:700;-webkit-user-select:none;user-select:none;width:auto}.md-tooltip--inline:not(.md-tooltip--active){transform:translateY(.2rem) scale(.9)}.md-tooltip--inline .md-tooltip__inner{font-size:.5rem;padding:.2rem .4rem}[hidden]+.md-tooltip--inline{display:none}.focus-visible>.md-tooltip,.md-tooltip:target{outline:var(--md-accent-fg-color) auto}.md-tooltip__inner{font-size:.64rem;padding:.8rem}.md-tooltip__inner.md-typeset>:first-child{margin-top:0}.md-tooltip__inner.md-typeset>:last-child{margin-bottom:0}.md-annotation{font-weight:400;outline:none;vertical-align:text-bottom;white-space:normal}[dir=rtl] .md-annotation{direction:rtl}code .md-annotation{font-family:var(--md-code-font-family);font-size:inherit}.md-annotation:not([hidden]){display:inline-block;line-height:1.25}.md-annotation__index{border-radius:.01px;cursor:pointer;display:inline-block;margin-left:.4ch;margin-right:.4ch;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;vertical-align:text-top;z-index:0}.md-annotation .md-annotation__index{transition:z-index .25s}@media screen{.md-annotation__index{width:2.2ch}[data-md-visible]>.md-annotation__index{animation:pulse 2s infinite}.md-annotation__index:before{background:var(--md-default-bg-color);-webkit-mask-image:var(--md-annotation-bg-icon);mask-image:var(--md-annotation-bg-icon)}.md-annotation__index:after,.md-annotation__index:before{content:"";height:2.2ch;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:-.1ch;width:2.2ch;z-index:-1}.md-annotation__index:after{background-color:var(--md-default-fg-color--lighter);-webkit-mask-image:var(--md-annotation-icon);mask-image:var(--md-annotation-icon);transform:scale(1.0001);transition:background-color .25s,transform .25s}.md-tooltip--active+.md-annotation__index:after{transform:rotate(45deg)}.md-tooltip--active+.md-annotation__index:after,:hover>.md-annotation__index:after{background-color:var(--md-accent-fg-color)}}.md-tooltip--active+.md-annotation__index{animation-play-state:paused;transition-duration:0ms;z-index:2}.md-annotation__index [data-md-annotation-id]{display:inline-block}@media print{.md-annotation__index [data-md-annotation-id]{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);font-weight:700;padding:0 .6ch;white-space:nowrap}.md-annotation__index [data-md-annotation-id]:after{content:attr(data-md-annotation-id)}}.md-typeset .md-annotation-list{counter-reset:xxx;list-style:none}.md-typeset .md-annotation-list li{position:relative}[dir=ltr] .md-typeset .md-annotation-list li:before{left:-2.125em}[dir=rtl] .md-typeset .md-annotation-list li:before{right:-2.125em}.md-typeset .md-annotation-list li:before{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);content:counter(xxx);counter-increment:xxx;font-size:.8875em;font-weight:700;height:2ch;line-height:1.25;min-width:2ch;padding:0 .6ch;position:absolute;text-align:center;top:.25em}:root{--md-tooltip-width:20rem;--md-tooltip-tail:0.3rem}.md-tooltip2{-webkit-backface-visibility:hidden;backface-visibility:hidden;color:var(--md-default-fg-color);font-family:var(--md-text-font-family);opacity:0;pointer-events:none;position:absolute;top:calc(var(--md-tooltip-host-y) + var(--md-tooltip-y));transform:translateY(-.4rem);transform-origin:calc(var(--md-tooltip-host-x) + var(--md-tooltip-x)) 0;transition:transform 0ms .25s,opacity .25s,z-index .25s;width:100%;z-index:0}.md-tooltip2:before{border-left:var(--md-tooltip-tail) solid #0000;border-right:var(--md-tooltip-tail) solid #0000;content:"";display:block;left:clamp(1.5 * .8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-tail),100vw - 2 * var(--md-tooltip-tail) - 1.5 * .8rem);position:absolute;z-index:1}.md-tooltip2--top:before{border-top:var(--md-tooltip-tail) solid var(--md-default-bg-color);bottom:calc(var(--md-tooltip-tail)*-1 + .025rem);filter:drop-shadow(0 1px 0 hsla(0,0%,0%,.05))}.md-tooltip2--bottom:before{border-bottom:var(--md-tooltip-tail) solid var(--md-default-bg-color);filter:drop-shadow(0 -1px 0 hsla(0,0%,0%,.05));top:calc(var(--md-tooltip-tail)*-1 + .025rem)}.md-tooltip2--active{opacity:1;transform:translateY(0);transition:transform .4s cubic-bezier(0,1,.5,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip2__inner{scrollbar-gutter:stable;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);left:clamp(.8rem,var(--md-tooltip-host-x) - .8rem,100vw - var(--md-tooltip-width) - .8rem);max-height:40vh;max-width:calc(100vw - 1.6rem);position:relative;scrollbar-width:thin}.md-tooltip2__inner::-webkit-scrollbar{height:.2rem;width:.2rem}.md-tooltip2__inner::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-tooltip2__inner::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}[role=dialog]>.md-tooltip2__inner{font-size:.64rem;overflow:auto;padding:0 .8rem;pointer-events:auto;width:var(--md-tooltip-width)}[role=dialog]>.md-tooltip2__inner:after,[role=dialog]>.md-tooltip2__inner:before{content:"";display:block;height:.8rem;position:sticky;width:100%;z-index:10}[role=dialog]>.md-tooltip2__inner:before{background:linear-gradient(var(--md-default-bg-color),#0000 75%);top:0}[role=dialog]>.md-tooltip2__inner:after{background:linear-gradient(#0000,var(--md-default-bg-color) 75%);bottom:0}[role=tooltip]>.md-tooltip2__inner{font-size:.5rem;font-weight:700;left:clamp(.8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-width)/2,100vw - var(--md-tooltip-width) - .8rem);padding:.2rem .4rem;-webkit-user-select:none;user-select:none;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.md-tooltip2__inner.md-typeset>:first-child{margin-top:0}.md-tooltip2__inner.md-typeset>:last-child{margin-bottom:0}[dir=ltr] .md-top{margin-left:50%}[dir=rtl] .md-top{margin-right:50%}.md-top{background-color:var(--md-default-bg-color);border-radius:1.6rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color--light);cursor:pointer;display:block;font-size:.7rem;outline:none;padding:.4rem .8rem;position:fixed;top:3.2rem;transform:translate(-50%);transition:color 125ms,background-color 125ms,transform 125ms cubic-bezier(.4,0,.2,1),opacity 125ms;z-index:2}@media print{.md-top{display:none}}[dir=rtl] .md-top{transform:translate(50%)}.md-top[hidden]{opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition-duration:0ms}[dir=rtl] .md-top[hidden]{transform:translate(50%,.2rem)}.md-top:focus,.md-top:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.md-top svg{display:inline-block;vertical-align:-.5em}@keyframes hoverfix{0%{pointer-events:none}}:root{--md-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}[dir=ltr] .md-version__current{margin-left:1.4rem;margin-right:.4rem}[dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.md-version__current{color:inherit;cursor:pointer;outline:none;position:relative;top:.05rem}[dir=ltr] .md-version__current:after{margin-left:.4rem}[dir=rtl] .md-version__current:after{margin-right:.4rem}.md-version__current:after{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.4rem}.md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:3}.md-version:focus-within .md-version__list,.md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (hover:none),(pointer:coarse){.md-version:hover .md-version__list{animation:hoverfix .25s forwards}.md-version:focus-within .md-version__list{animation:none}}.md-version__item{line-height:1.8rem}[dir=ltr] .md-version__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.md-version__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}.md-version__link:focus,.md-version__link:hover{color:var(--md-accent-fg-color)}.md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .admonition,.md-typeset details{background-color:var(--md-admonition-bg-color);border:.075rem solid #448aff;border-radius:.2rem;box-shadow:var(--md-shadow-z1);color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;padding:0 .6rem;page-break-inside:avoid;transition:box-shadow 125ms}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}.md-typeset .admonition:focus-within,.md-typeset details:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .admonition>*,.md-typeset details>*{box-sizing:border-box}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin-bottom:1em;margin-top:1em}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{padding-left:2rem;padding-right:.6rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding-left:.6rem;padding-right:2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-left-width:.2rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-right-width:.2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset .admonition-title,.md-typeset summary{background-color:#448aff1a;border:none;font-weight:700;margin:0 -.6rem;padding-bottom:.4rem;padding-top:.4rem;position:relative}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}[dir=ltr] .md-typeset .admonition-title:before,[dir=ltr] .md-typeset summary:before{left:.6rem}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{right:.6rem}.md-typeset .admonition-title:before,.md-typeset summary:before{background-color:#448aff;content:"";height:1rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;width:1rem}.md-typeset .admonition-title code,.md-typeset summary code{box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest)}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .admonition.note:focus-within,.md-typeset details.note:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:#448aff1a}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .note>.admonition-title:after,.md-typeset .note>summary:after{color:#448aff}.md-typeset .admonition.abstract,.md-typeset details.abstract{border-color:#00b0ff}.md-typeset .admonition.abstract:focus-within,.md-typeset details.abstract:focus-within{box-shadow:0 0 0 .2rem #00b0ff1a}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary{background-color:#00b0ff1a}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .abstract>.admonition-title:after,.md-typeset .abstract>summary:after{color:#00b0ff}.md-typeset .admonition.info,.md-typeset details.info{border-color:#00b8d4}.md-typeset .admonition.info:focus-within,.md-typeset details.info:focus-within{box-shadow:0 0 0 .2rem #00b8d41a}.md-typeset .info>.admonition-title,.md-typeset .info>summary{background-color:#00b8d41a}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .info>.admonition-title:after,.md-typeset .info>summary:after{color:#00b8d4}.md-typeset .admonition.tip,.md-typeset details.tip{border-color:#00bfa5}.md-typeset .admonition.tip:focus-within,.md-typeset details.tip:focus-within{box-shadow:0 0 0 .2rem #00bfa51a}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:#00bfa51a}.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .tip>.admonition-title:after,.md-typeset .tip>summary:after{color:#00bfa5}.md-typeset .admonition.success,.md-typeset details.success{border-color:#00c853}.md-typeset .admonition.success:focus-within,.md-typeset details.success:focus-within{box-shadow:0 0 0 .2rem #00c8531a}.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:#00c8531a}.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .success>.admonition-title:after,.md-typeset .success>summary:after{color:#00c853}.md-typeset .admonition.question,.md-typeset details.question{border-color:#64dd17}.md-typeset .admonition.question:focus-within,.md-typeset details.question:focus-within{box-shadow:0 0 0 .2rem #64dd171a}.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:#64dd171a}.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .question>.admonition-title:after,.md-typeset .question>summary:after{color:#64dd17}.md-typeset .admonition.warning,.md-typeset details.warning{border-color:#ff9100}.md-typeset .admonition.warning:focus-within,.md-typeset details.warning:focus-within{box-shadow:0 0 0 .2rem #ff91001a}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:#ff91001a}.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .warning>.admonition-title:after,.md-typeset .warning>summary:after{color:#ff9100}.md-typeset .admonition.failure,.md-typeset details.failure{border-color:#ff5252}.md-typeset .admonition.failure:focus-within,.md-typeset details.failure:focus-within{box-shadow:0 0 0 .2rem #ff52521a}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary{background-color:#ff52521a}.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .failure>.admonition-title:after,.md-typeset .failure>summary:after{color:#ff5252}.md-typeset .admonition.danger,.md-typeset details.danger{border-color:#ff1744}.md-typeset .admonition.danger:focus-within,.md-typeset details.danger:focus-within{box-shadow:0 0 0 .2rem #ff17441a}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary{background-color:#ff17441a}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .danger>.admonition-title:after,.md-typeset .danger>summary:after{color:#ff1744}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .admonition.bug:focus-within,.md-typeset details.bug:focus-within{box-shadow:0 0 0 .2rem #f500571a}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:#f500571a}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .bug>.admonition-title:after,.md-typeset .bug>summary:after{color:#f50057}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff}.md-typeset .admonition.example:focus-within,.md-typeset details.example:focus-within{box-shadow:0 0 0 .2rem #7c4dff1a}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:#7c4dff1a}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .example>.admonition-title:after,.md-typeset .example>summary:after{color:#7c4dff}.md-typeset .admonition.quote,.md-typeset details.quote{border-color:#9e9e9e}.md-typeset .admonition.quote:focus-within,.md-typeset details.quote:focus-within{box-shadow:0 0 0 .2rem #9e9e9e1a}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:#9e9e9e1a}.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.md-typeset .quote>.admonition-title:after,.md-typeset .quote>summary:after{color:#9e9e9e}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}[dir=ltr] .md-typeset .footnote>ol{margin-left:0}[dir=rtl] .md-typeset .footnote>ol{margin-right:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateX(0);transition:none}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateX(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateX(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateX(0)}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{background-color:currentcolor;content:"";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}[dir=rtl] .md-typeset .footnote-backref:before svg{transform:scaleX(-1)}[dir=ltr] .md-typeset .headerlink{margin-left:.5rem}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem}.md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{--md-scroll-margin:3.6rem;--md-scroll-offset:0rem;scroll-margin-top:calc(var(--md-scroll-margin) - var(--md-scroll-offset))}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset :target{--md-scroll-margin:6rem}}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{--md-scroll-offset:0.2rem}.md-typeset h4:target{--md-scroll-offset:0.15rem}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.984375em){.md-typeset div.arithmatex{margin:0 -.8rem}.md-typeset div.arithmatex>*{width:-webkit-min-content;width:min-content}}.md-typeset div.arithmatex>*{margin-left:auto!important;margin-right:auto!important;padding:0 .8rem;touch-action:auto}.md-typeset div.arithmatex>* mjx-container{margin:0!important}.md-typeset div.arithmatex mjx-assistive-mml{height:0}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset details{display:flow-root;overflow:visible;padding-top:0}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){box-shadow:none;padding-bottom:0}.md-typeset details:not([open])>summary{border-radius:.1rem}[dir=ltr] .md-typeset summary{padding-right:1.8rem}[dir=rtl] .md-typeset summary{padding-left:1.8rem}[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset summary{cursor:pointer;display:block;min-height:1rem;overflow:hidden}.md-typeset summary.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[dir=ltr] .md-typeset summary:after{right:.4rem}[dir=rtl] .md-typeset summary:after{left:.4rem}.md-typeset summary:after{background-color:currentcolor;content:"";height:1rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;transform:rotate(0deg);transition:transform .25s;width:1rem}[dir=rtl] .md-typeset summary:after{transform:rotate(180deg)}.md-typeset summary::marker{display:none}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{--md-icon-size:1.125em;display:inline-flex;height:var(--md-icon-size);vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{fill:currentcolor;max-height:100%;width:var(--md-icon-size)}.md-typeset .lg,.md-typeset .xl,.md-typeset .xxl,.md-typeset .xxxl{vertical-align:text-bottom}.md-typeset .middle{vertical-align:middle}.md-typeset .lg{--md-icon-size:1.5em}.md-typeset .xl{--md-icon-size:2.25em}.md-typeset .xxl{--md-icon-size:3em}.md-typeset .xxxl{--md-icon-size:4em}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{background-color:var(--md-code-hl-color--light);box-shadow:2px 0 0 0 var(--md-code-hl-color) inset;display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.highlight span.filename{background-color:var(--md-code-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);border-top-left-radius:.1rem;border-top-right-radius:.1rem;display:flow-root;font-size:.85em;font-weight:700;margin-top:1em;padding:.6617647059em 1.1764705882em;position:relative}.highlight span.filename+pre{margin-top:0}.highlight span.filename+pre>code{border-top-left-radius:0;border-top-right-radius:0}.highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:sticky;-webkit-user-select:none;user-select:none;z-index:3}.highlight code a[id]{position:absolute;visibility:hidden}.highlight code[data-md-copying]{display:block}.highlight code[data-md-copying] .hll{display:contents}.highlight code[data-md-copying] .md-annotation{display:none}.highlighttable{display:flow-root}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable th.filename{flex-grow:1;padding:0;text-align:left}.highlighttable th.filename span.filename{margin-top:0}.highlighttable .linenos{background-color:var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-top-left-radius:.1rem;font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;user-select:none}.highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .linenodiv span[class]{padding-right:.5882352941em}.highlighttable .code{flex:1;min-width:0}.linenodiv a{color:inherit}.md-typeset .highlighttable{direction:ltr;margin:1em 0}.md-typeset .highlighttable>tbody>tr>.code>div>pre>code{border-bottom-left-radius:0;border-top-left-radius:0}.md-typeset .highlight+.result{border:.05rem solid var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem;border-top-width:.1rem;margin-top:-1.125em;overflow:visible;padding:0 1em}.md-typeset .highlight+.result:after{clear:both;content:"";display:block}@media screen and (max-width:44.984375em){.md-content__inner>.highlight{margin:1em -.8rem}.md-content__inner>.highlight>.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.code>div>pre>code,.md-content__inner>.highlight>.highlighttable>tbody>tr>.filename span.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.linenos,.md-content__inner>.highlight>pre>code{border-radius:0}.md-content__inner>.highlight+.result{border-left-width:0;border-radius:0;border-right-width:0;margin-left:-.8rem;margin-right:-.8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.md-typeset .keys .key-alt:before,.md-typeset .keys .key-left-alt:before,.md-typeset .keys .key-right-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-command:before,.md-typeset .keys .key-left-command:before,.md-typeset .keys .key-right-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-control:before,.md-typeset .keys .key-left-control:before,.md-typeset .keys .key-right-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-left-meta:before,.md-typeset .keys .key-meta:before,.md-typeset .keys .key-right-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-left-option:before,.md-typeset .keys .key-option:before,.md-typeset .keys .key-right-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-left-shift:before,.md-typeset .keys .key-right-shift:before,.md-typeset .keys .key-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-left-super:before,.md-typeset .keys .key-right-super:before,.md-typeset .keys .key-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-left-windows:before,.md-typeset .keys .key-right-windows:before,.md-typeset .keys .key-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-arrow-down:before{content:"↓";padding-right:.4em}.md-typeset .keys .key-arrow-left:before{content:"←";padding-right:.4em}.md-typeset .keys .key-arrow-right:before{content:"→";padding-right:.4em}.md-typeset .keys .key-arrow-up:before{content:"↑";padding-right:.4em}.md-typeset .keys .key-backspace:before{content:"⌫";padding-right:.4em}.md-typeset .keys .key-backtab:before{content:"⇤";padding-right:.4em}.md-typeset .keys .key-caps-lock:before{content:"⇪";padding-right:.4em}.md-typeset .keys .key-clear:before{content:"⌧";padding-right:.4em}.md-typeset .keys .key-context-menu:before{content:"☰";padding-right:.4em}.md-typeset .keys .key-delete:before{content:"⌦";padding-right:.4em}.md-typeset .keys .key-eject:before{content:"⏏";padding-right:.4em}.md-typeset .keys .key-end:before{content:"⤓";padding-right:.4em}.md-typeset .keys .key-escape:before{content:"⎋";padding-right:.4em}.md-typeset .keys .key-home:before{content:"⤒";padding-right:.4em}.md-typeset .keys .key-insert:before{content:"⎀";padding-right:.4em}.md-typeset .keys .key-page-down:before{content:"⇟";padding-right:.4em}.md-typeset .keys .key-page-up:before{content:"⇞";padding-right:.4em}.md-typeset .keys .key-print-screen:before{content:"⎙";padding-right:.4em}.md-typeset .keys .key-tab:after{content:"⇥";padding-left:.4em}.md-typeset .keys .key-num-enter:after{content:"⌤";padding-left:.4em}.md-typeset .keys .key-enter:after{content:"⏎";padding-left:.4em}:root{--md-tabbed-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-tabbed-icon--next:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .tabbed-set{border-radius:.1rem;display:flex;flex-flow:column wrap;margin:1em 0;position:relative}.md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.md-typeset .tabbed-set>input:target{--md-scroll-offset:0.625em}.md-typeset .tabbed-set>input.focus-visible~.tabbed-labels:before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-labels{-ms-overflow-style:none;box-shadow:0 -.05rem var(--md-default-fg-color--lightest) inset;display:flex;max-width:100%;overflow:auto;scrollbar-width:none}@media print{.md-typeset .tabbed-labels{display:contents}}@media screen{.js .md-typeset .tabbed-labels{position:relative}.js .md-typeset .tabbed-labels:before{background:var(--md-default-fg-color);bottom:0;content:"";display:block;height:2px;left:0;position:absolute;transform:translateX(var(--md-indicator-x));transition:width 225ms,background-color .25s,transform .25s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--md-indicator-width)}}.md-typeset .tabbed-labels::-webkit-scrollbar{display:none}.md-typeset .tabbed-labels>label{border-bottom:.1rem solid #0000;border-radius:.1rem .1rem 0 0;color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;font-size:.64rem;font-weight:700;padding:.78125em 1.25em .625em;scroll-margin-inline-start:1rem;transition:background-color .25s,color .25s;white-space:nowrap;width:auto}@media print{.md-typeset .tabbed-labels>label:first-child{order:1}.md-typeset .tabbed-labels>label:nth-child(2){order:2}.md-typeset .tabbed-labels>label:nth-child(3){order:3}.md-typeset .tabbed-labels>label:nth-child(4){order:4}.md-typeset .tabbed-labels>label:nth-child(5){order:5}.md-typeset .tabbed-labels>label:nth-child(6){order:6}.md-typeset .tabbed-labels>label:nth-child(7){order:7}.md-typeset .tabbed-labels>label:nth-child(8){order:8}.md-typeset .tabbed-labels>label:nth-child(9){order:9}.md-typeset .tabbed-labels>label:nth-child(10){order:10}.md-typeset .tabbed-labels>label:nth-child(11){order:11}.md-typeset .tabbed-labels>label:nth-child(12){order:12}.md-typeset .tabbed-labels>label:nth-child(13){order:13}.md-typeset .tabbed-labels>label:nth-child(14){order:14}.md-typeset .tabbed-labels>label:nth-child(15){order:15}.md-typeset .tabbed-labels>label:nth-child(16){order:16}.md-typeset .tabbed-labels>label:nth-child(17){order:17}.md-typeset .tabbed-labels>label:nth-child(18){order:18}.md-typeset .tabbed-labels>label:nth-child(19){order:19}.md-typeset .tabbed-labels>label:nth-child(20){order:20}}.md-typeset .tabbed-labels>label:hover{color:var(--md-default-fg-color)}.md-typeset .tabbed-labels>label>[href]:first-child{color:inherit}.md-typeset .tabbed-labels--linked>label{padding:0}.md-typeset .tabbed-labels--linked>label>a{display:block;padding:.78125em 1.25em .625em}.md-typeset .tabbed-content{width:100%}@media print{.md-typeset .tabbed-content{display:contents}}.md-typeset .tabbed-block{display:none}@media print{.md-typeset .tabbed-block{display:block}.md-typeset .tabbed-block:first-child{order:1}.md-typeset .tabbed-block:nth-child(2){order:2}.md-typeset .tabbed-block:nth-child(3){order:3}.md-typeset .tabbed-block:nth-child(4){order:4}.md-typeset .tabbed-block:nth-child(5){order:5}.md-typeset .tabbed-block:nth-child(6){order:6}.md-typeset .tabbed-block:nth-child(7){order:7}.md-typeset .tabbed-block:nth-child(8){order:8}.md-typeset .tabbed-block:nth-child(9){order:9}.md-typeset .tabbed-block:nth-child(10){order:10}.md-typeset .tabbed-block:nth-child(11){order:11}.md-typeset .tabbed-block:nth-child(12){order:12}.md-typeset .tabbed-block:nth-child(13){order:13}.md-typeset .tabbed-block:nth-child(14){order:14}.md-typeset .tabbed-block:nth-child(15){order:15}.md-typeset .tabbed-block:nth-child(16){order:16}.md-typeset .tabbed-block:nth-child(17){order:17}.md-typeset .tabbed-block:nth-child(18){order:18}.md-typeset .tabbed-block:nth-child(19){order:19}.md-typeset .tabbed-block:nth-child(20){order:20}}.md-typeset .tabbed-block>.highlight:first-child>pre,.md-typeset .tabbed-block>pre:first-child{margin:0}.md-typeset .tabbed-block>.highlight:first-child>pre>code,.md-typeset .tabbed-block>pre:first-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child>.filename{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable{margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.filename span.filename,.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.linenos{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.code>div>pre>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child+.result{margin-top:-.125em}.md-typeset .tabbed-block>.tabbed-set{margin:0}.md-typeset .tabbed-button{align-self:center;border-radius:100%;color:var(--md-default-fg-color--light);cursor:pointer;display:block;height:.9rem;margin-top:.1rem;pointer-events:auto;transition:background-color .25s;width:.9rem}.md-typeset .tabbed-button:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .tabbed-button:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-tabbed-icon--prev);mask-image:var(--md-tabbed-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s,transform .25s;width:100%}.md-typeset .tabbed-control{background:linear-gradient(to right,var(--md-default-bg-color) 60%,#0000);display:flex;height:1.9rem;justify-content:start;pointer-events:none;position:absolute;transition:opacity 125ms;width:1.2rem}[dir=rtl] .md-typeset .tabbed-control{transform:rotate(180deg)}.md-typeset .tabbed-control[hidden]{opacity:0}.md-typeset .tabbed-control--next{background:linear-gradient(to left,var(--md-default-bg-color) 60%,#0000);justify-content:end;right:0}.md-typeset .tabbed-control--next .tabbed-button:after{-webkit-mask-image:var(--md-tabbed-icon--next);mask-image:var(--md-tabbed-icon--next)}@media screen and (max-width:44.984375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels{padding-right:.8rem}.md-content__inner>.tabbed-set .tabbed-labels{margin:0 -.8rem;max-width:100vw;scroll-padding-inline-start:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-left:.8rem}.md-content__inner>.tabbed-set .tabbed-labels:after{content:""}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-right:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-left:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-right:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{width:2rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-right:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-left:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{width:2rem}}@media screen{.md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){color:var(--md-default-fg-color)}.md-typeset .no-js .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .no-js .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .no-js .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .no-js .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .no-js .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .no-js .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .no-js .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .no-js .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .no-js .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .no-js .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .no-js .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .no-js .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .no-js .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .no-js .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .no-js .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .no-js .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .no-js .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .no-js .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .no-js .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .no-js .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.no-js .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.no-js .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.no-js .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.no-js .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.no-js .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.no-js .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.no-js .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.no-js .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.no-js .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.no-js .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.no-js .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.no-js .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.no-js .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.no-js .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.no-js .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.no-js .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.no-js .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.no-js .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.no-js .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.no-js .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){border-color:var(--md-default-fg-color)}}.md-typeset .tabbed-set>input:first-child.focus-visible~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10).focus-visible~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11).focus-visible~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12).focus-visible~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13).focus-visible~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14).focus-visible~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15).focus-visible~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16).focus-visible~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17).focus-visible~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18).focus-visible~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19).focus-visible~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2).focus-visible~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20).focus-visible~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3).focus-visible~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4).focus-visible~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5).focus-visible~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6).focus-visible~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7).focus-visible~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8).focus-visible~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9).focus-visible~.tabbed-labels>:nth-child(9){color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:first-child:checked~.tabbed-content>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-content>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-content>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-content>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-content>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-content>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-content>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-content>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-content>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-content>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-content>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-content>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-content>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-content>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-content>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-content>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-content>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-content>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-content>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-content>:nth-child(9){display:block}:root{--md-tasklist-icon:url('data:image/svg+xml;charset=utf-8,');--md-tasklist-icon--checked:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .task-list-item{list-style-type:none;position:relative}[dir=ltr] .md-typeset .task-list-item [type=checkbox]{left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}[dir=ltr] .md-typeset .task-list-indicator:before{left:-1.5em}[dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em}.md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:"";height:1.25em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.15em;width:1.25em}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}:root>*{--md-mermaid-font-family:var(--md-text-font-family),sans-serif;--md-mermaid-edge-color:var(--md-code-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-code-fg-color);--md-mermaid-sequence-actor-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actor-fg-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-actor-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-actor-line-color:var(--md-default-fg-color--lighter);--md-mermaid-sequence-actorman-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actorman-line-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-box-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-box-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-label-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-label-fg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-loop-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-loop-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-loop-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-message-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-message-line-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-note-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-border-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-number-bg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-number-fg-color:var(--md-accent-bg-color)}.mermaid{line-height:normal;margin:1em 0}.md-typeset .grid{grid-gap:.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:1em 0}.md-typeset .grid.cards>ol,.md-typeset .grid.cards>ul{display:contents}.md-typeset .grid.cards>ol>li,.md-typeset .grid.cards>ul>li,.md-typeset .grid>.card{border:.05rem solid var(--md-default-fg-color--lightest);border-radius:.1rem;display:block;margin:0;padding:.8rem;transition:border .25s,box-shadow .25s}.md-typeset .grid.cards>ol>li:focus-within,.md-typeset .grid.cards>ol>li:hover,.md-typeset .grid.cards>ul>li:focus-within,.md-typeset .grid.cards>ul>li:hover,.md-typeset .grid>.card:focus-within,.md-typeset .grid>.card:hover{border-color:#0000;box-shadow:var(--md-shadow-z2)}.md-typeset .grid.cards>ol>li>hr,.md-typeset .grid.cards>ul>li>hr,.md-typeset .grid>.card>hr{margin-bottom:1em;margin-top:1em}.md-typeset .grid.cards>ol>li>:first-child,.md-typeset .grid.cards>ul>li>:first-child,.md-typeset .grid>.card>:first-child{margin-top:0}.md-typeset .grid.cards>ol>li>:last-child,.md-typeset .grid.cards>ul>li>:last-child,.md-typeset .grid>.card>:last-child{margin-bottom:0}.md-typeset .grid>*,.md-typeset .grid>.admonition,.md-typeset .grid>.highlight>*,.md-typeset .grid>.highlighttable,.md-typeset .grid>.md-typeset details,.md-typeset .grid>details,.md-typeset .grid>pre{margin-bottom:0;margin-top:0}.md-typeset .grid>.highlight>pre:only-child,.md-typeset .grid>.highlight>pre>code,.md-typeset .grid>.highlighttable,.md-typeset .grid>.highlighttable>tbody,.md-typeset .grid>.highlighttable>tbody>tr,.md-typeset .grid>.highlighttable>tbody>tr>.code,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre>code{height:100%}.md-typeset .grid>.tabbed-set{margin-bottom:0;margin-top:0}@media screen and (min-width:45em){[dir=ltr] .md-typeset .inline{float:left}[dir=rtl] .md-typeset .inline{float:right}[dir=ltr] .md-typeset .inline{margin-right:.8rem}[dir=rtl] .md-typeset .inline{margin-left:.8rem}.md-typeset .inline{margin-bottom:.8rem;margin-top:0;width:11.7rem}[dir=ltr] .md-typeset .inline.end{float:right}[dir=rtl] .md-typeset .inline.end{float:left}[dir=ltr] .md-typeset .inline.end{margin-left:.8rem;margin-right:0}[dir=rtl] .md-typeset .inline.end{margin-left:0;margin-right:.8rem}} \ No newline at end of file diff --git a/assets/stylesheets/palette.ab4e12ef.min.css b/assets/stylesheets/palette.ab4e12ef.min.css new file mode 100644 index 00000000..75aaf842 --- /dev/null +++ b/assets/stylesheets/palette.ab4e12ef.min.css @@ -0,0 +1 @@ +@media screen{[data-md-color-scheme=slate]{--md-default-fg-color:hsla(var(--md-hue),15%,90%,0.82);--md-default-fg-color--light:hsla(var(--md-hue),15%,90%,0.56);--md-default-fg-color--lighter:hsla(var(--md-hue),15%,90%,0.32);--md-default-fg-color--lightest:hsla(var(--md-hue),15%,90%,0.12);--md-default-bg-color:hsla(var(--md-hue),15%,14%,1);--md-default-bg-color--light:hsla(var(--md-hue),15%,14%,0.54);--md-default-bg-color--lighter:hsla(var(--md-hue),15%,14%,0.26);--md-default-bg-color--lightest:hsla(var(--md-hue),15%,14%,0.07);--md-code-fg-color:hsla(var(--md-hue),18%,86%,0.82);--md-code-bg-color:hsla(var(--md-hue),15%,18%,1);--md-code-bg-color--light:hsla(var(--md-hue),15%,18%,0.9);--md-code-bg-color--lighter:hsla(var(--md-hue),15%,18%,0.54);--md-code-hl-color:#2977ff;--md-code-hl-color--light:#2977ff1a;--md-code-hl-number-color:#e6695b;--md-code-hl-special-color:#f06090;--md-code-hl-function-color:#c973d9;--md-code-hl-constant-color:#9383e2;--md-code-hl-keyword-color:#6791e0;--md-code-hl-string-color:#2fb170;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-kbd-color:hsla(var(--md-hue),15%,90%,0.12);--md-typeset-kbd-accent-color:hsla(var(--md-hue),15%,90%,0.2);--md-typeset-kbd-border-color:hsla(var(--md-hue),15%,14%,1);--md-typeset-mark-color:#4287ff4d;--md-typeset-table-color:hsla(var(--md-hue),15%,95%,0.12);--md-typeset-table-color--light:hsla(var(--md-hue),15%,95%,0.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-footer-bg-color:hsla(var(--md-hue),15%,10%,0.87);--md-footer-bg-color--dark:hsla(var(--md-hue),15%,8%,1);--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #00000040,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0006,0 0 0.05rem #00000059;color-scheme:dark}[data-md-color-scheme=slate] img[src$="#gh-light-mode-only"],[data-md-color-scheme=slate] img[src$="#only-light"]{display:none}[data-md-color-scheme=slate][data-md-color-primary=pink]{--md-typeset-a-color:#ed5487}[data-md-color-scheme=slate][data-md-color-primary=purple]{--md-typeset-a-color:#c46fd3}[data-md-color-scheme=slate][data-md-color-primary=deep-purple]{--md-typeset-a-color:#a47bea}[data-md-color-scheme=slate][data-md-color-primary=indigo]{--md-typeset-a-color:#5488e8}[data-md-color-scheme=slate][data-md-color-primary=teal]{--md-typeset-a-color:#00ccb8}[data-md-color-scheme=slate][data-md-color-primary=green]{--md-typeset-a-color:#71c174}[data-md-color-scheme=slate][data-md-color-primary=deep-orange]{--md-typeset-a-color:#ff764d}[data-md-color-scheme=slate][data-md-color-primary=brown]{--md-typeset-a-color:#c1775c}[data-md-color-scheme=slate][data-md-color-primary=black],[data-md-color-scheme=slate][data-md-color-primary=blue-grey],[data-md-color-scheme=slate][data-md-color-primary=grey],[data-md-color-scheme=slate][data-md-color-primary=white]{--md-typeset-a-color:#5e8bde}[data-md-color-switching] *,[data-md-color-switching] :after,[data-md-color-switching] :before{transition-duration:0ms!important}}[data-md-color-accent=red]{--md-accent-fg-color:#ff1947;--md-accent-fg-color--transparent:#ff19471a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=pink]{--md-accent-fg-color:#f50056;--md-accent-fg-color--transparent:#f500561a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=purple]{--md-accent-fg-color:#df41fb;--md-accent-fg-color--transparent:#df41fb1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=deep-purple]{--md-accent-fg-color:#7c4dff;--md-accent-fg-color--transparent:#7c4dff1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=indigo]{--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=blue]{--md-accent-fg-color:#4287ff;--md-accent-fg-color--transparent:#4287ff1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=light-blue]{--md-accent-fg-color:#0091eb;--md-accent-fg-color--transparent:#0091eb1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=cyan]{--md-accent-fg-color:#00bad6;--md-accent-fg-color--transparent:#00bad61a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=teal]{--md-accent-fg-color:#00bda4;--md-accent-fg-color--transparent:#00bda41a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=green]{--md-accent-fg-color:#00c753;--md-accent-fg-color--transparent:#00c7531a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=light-green]{--md-accent-fg-color:#63de17;--md-accent-fg-color--transparent:#63de171a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-accent=lime]{--md-accent-fg-color:#b0eb00;--md-accent-fg-color--transparent:#b0eb001a;--md-accent-bg-color:#000000de;--md-accent-bg-color--light:#0000008a}[data-md-color-accent=yellow]{--md-accent-fg-color:#ffd500;--md-accent-fg-color--transparent:#ffd5001a;--md-accent-bg-color:#000000de;--md-accent-bg-color--light:#0000008a}[data-md-color-accent=amber]{--md-accent-fg-color:#fa0;--md-accent-fg-color--transparent:#ffaa001a;--md-accent-bg-color:#000000de;--md-accent-bg-color--light:#0000008a}[data-md-color-accent=orange]{--md-accent-fg-color:#ff9100;--md-accent-fg-color--transparent:#ff91001a;--md-accent-bg-color:#000000de;--md-accent-bg-color--light:#0000008a}[data-md-color-accent=deep-orange]{--md-accent-fg-color:#ff6e42;--md-accent-fg-color--transparent:#ff6e421a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-primary=red]{--md-primary-fg-color:#ef5552;--md-primary-fg-color--light:#e57171;--md-primary-fg-color--dark:#e53734;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=pink]{--md-primary-fg-color:#e92063;--md-primary-fg-color--light:#ec417a;--md-primary-fg-color--dark:#c3185d;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=purple]{--md-primary-fg-color:#ab47bd;--md-primary-fg-color--light:#bb69c9;--md-primary-fg-color--dark:#8c24a8;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=deep-purple]{--md-primary-fg-color:#7e56c2;--md-primary-fg-color--light:#9574cd;--md-primary-fg-color--dark:#673ab6;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=indigo]{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=blue]{--md-primary-fg-color:#2094f3;--md-primary-fg-color--light:#42a5f5;--md-primary-fg-color--dark:#1975d2;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=light-blue]{--md-primary-fg-color:#02a6f2;--md-primary-fg-color--light:#28b5f6;--md-primary-fg-color--dark:#0287cf;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=cyan]{--md-primary-fg-color:#00bdd6;--md-primary-fg-color--light:#25c5da;--md-primary-fg-color--dark:#0097a8;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=teal]{--md-primary-fg-color:#009485;--md-primary-fg-color--light:#26a699;--md-primary-fg-color--dark:#007a6c;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=green]{--md-primary-fg-color:#4cae4f;--md-primary-fg-color--light:#68bb6c;--md-primary-fg-color--dark:#398e3d;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=light-green]{--md-primary-fg-color:#8bc34b;--md-primary-fg-color--light:#9ccc66;--md-primary-fg-color--dark:#689f38;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=lime]{--md-primary-fg-color:#cbdc38;--md-primary-fg-color--light:#d3e156;--md-primary-fg-color--dark:#b0b52c;--md-primary-bg-color:#000000de;--md-primary-bg-color--light:#0000008a}[data-md-color-primary=yellow]{--md-primary-fg-color:#ffec3d;--md-primary-fg-color--light:#ffee57;--md-primary-fg-color--dark:#fbc02d;--md-primary-bg-color:#000000de;--md-primary-bg-color--light:#0000008a}[data-md-color-primary=amber]{--md-primary-fg-color:#ffc105;--md-primary-fg-color--light:#ffc929;--md-primary-fg-color--dark:#ffa200;--md-primary-bg-color:#000000de;--md-primary-bg-color--light:#0000008a}[data-md-color-primary=orange]{--md-primary-fg-color:#ffa724;--md-primary-fg-color--light:#ffa724;--md-primary-fg-color--dark:#fa8900;--md-primary-bg-color:#000000de;--md-primary-bg-color--light:#0000008a}[data-md-color-primary=deep-orange]{--md-primary-fg-color:#ff6e42;--md-primary-fg-color--light:#ff8a66;--md-primary-fg-color--dark:#f4511f;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=brown]{--md-primary-fg-color:#795649;--md-primary-fg-color--light:#8d6e62;--md-primary-fg-color--dark:#5d4037;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3}[data-md-color-primary=grey]{--md-primary-fg-color:#757575;--md-primary-fg-color--light:#9e9e9e;--md-primary-fg-color--dark:#616161;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-typeset-a-color:#4051b5}[data-md-color-primary=blue-grey]{--md-primary-fg-color:#546d78;--md-primary-fg-color--light:#607c8a;--md-primary-fg-color--dark:#455a63;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-typeset-a-color:#4051b5}[data-md-color-primary=light-green]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#72ad2e}[data-md-color-primary=lime]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#8b990a}[data-md-color-primary=yellow]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#b8a500}[data-md-color-primary=amber]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#d19d00}[data-md-color-primary=orange]:not([data-md-color-scheme=slate]){--md-typeset-a-color:#e68a00}[data-md-color-primary=white]{--md-primary-fg-color:hsla(var(--md-hue),0%,100%,1);--md-primary-fg-color--light:hsla(var(--md-hue),0%,100%,0.7);--md-primary-fg-color--dark:hsla(var(--md-hue),0%,0%,0.07);--md-primary-bg-color:hsla(var(--md-hue),0%,0%,0.87);--md-primary-bg-color--light:hsla(var(--md-hue),0%,0%,0.54);--md-typeset-a-color:#4051b5}[data-md-color-primary=white] .md-button{color:var(--md-typeset-a-color)}[data-md-color-primary=white] .md-button--primary{background-color:var(--md-typeset-a-color);border-color:var(--md-typeset-a-color);color:hsla(var(--md-hue),0%,100%,1)}@media screen and (min-width:60em){[data-md-color-primary=white] .md-search__form{background-color:hsla(var(--md-hue),0%,0%,.07)}[data-md-color-primary=white] .md-search__form:hover{background-color:hsla(var(--md-hue),0%,0%,.32)}[data-md-color-primary=white] .md-search__input+.md-search__icon{color:hsla(var(--md-hue),0%,0%,.87)}}@media screen and (min-width:76.25em){[data-md-color-primary=white] .md-tabs{border-bottom:.05rem solid #00000012}}[data-md-color-primary=black]{--md-primary-fg-color:hsla(var(--md-hue),15%,9%,1);--md-primary-fg-color--light:hsla(var(--md-hue),15%,9%,0.54);--md-primary-fg-color--dark:hsla(var(--md-hue),15%,9%,1);--md-primary-bg-color:hsla(var(--md-hue),15%,100%,1);--md-primary-bg-color--light:hsla(var(--md-hue),15%,100%,0.7);--md-typeset-a-color:#4051b5}[data-md-color-primary=black] .md-button{color:var(--md-typeset-a-color)}[data-md-color-primary=black] .md-button--primary{background-color:var(--md-typeset-a-color);border-color:var(--md-typeset-a-color);color:hsla(var(--md-hue),0%,100%,1)}[data-md-color-primary=black] .md-header{background-color:hsla(var(--md-hue),15%,9%,1)}@media screen and (max-width:59.984375em){[data-md-color-primary=black] .md-nav__source{background-color:hsla(var(--md-hue),15%,11%,.87)}}@media screen and (max-width:76.234375em){html [data-md-color-primary=black] .md-nav--primary .md-nav__title[for=__drawer]{background-color:hsla(var(--md-hue),15%,9%,1)}}@media screen and (min-width:76.25em){[data-md-color-primary=black] .md-tabs{background-color:hsla(var(--md-hue),15%,9%,1)}} \ No newline at end of file diff --git a/configure-references-links/index.html b/configure-references-links/index.html new file mode 100644 index 00000000..13e2391b --- /dev/null +++ b/configure-references-links/index.html @@ -0,0 +1,2306 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Configure References Links - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Configure References Links (dct_references_s)

+

This page provides guidance on how to format the References field in either GBL 1.0 or OGM Aardvark.

+

JSON formatting

+

The field dct_references_s defines external services and references using the Cat-Interop approach. The field value is a serialized JSON array of key/value pairs. Keys represent XML namespace URIs, and values represent the URL.

+ +

To format this field in JSON, double quotations " must be escaped with a backslash \.

+
{
+  "dct_references_s": "{
+    \"http://schema.org/url\":\"http://purl.stanford.edu/bm662dm5913\",
+    \"http://schema.org/downloadUrl\":\"http://stacks.stanford.edu/file/druid:bm662dm5913/data.zip\"
+    }"
+}
+
+

Multiple downloads

+

Beginning with GeoBlacklight version 3.0, multiple download links and file formats can be included in the dct_references_s field. For more details on this update, see this pull request.

+

To enable multiple downloads:

+
    +
  • Make the value for the download file URI (http://schema.org/downloadUrl) into an array. This means it is enclosed in [square brackets].
  • +
  • Create one or more objects inside the array. These are enclosed in {curly brackets}.
  • +
  • Inside the object, define two key:value pairs separated by a comma.
  • +
  • Enclose each key and each value in double quotes.
  • +
  • Escape double quotations " with a backslash \
  • +
+

In formatted JSON, this would look like: +

{
+  "dct_references_s": "{\"http://schema.org/downloadUrl\":[
+    {
+      \"url\":\"https://example.com\",
+      \"label\":\"Shapefile\"
+    },
+    {
+      \"url\":\"https://otherexample.com\",
+      \"label\":\"KMZ\"
+    }]
+  }"
+}
+

+

Examples

+

For an exmaple of a complete JSON file with multiple downloads, see this record.

+

Single download

+
{
+  "dct_references_s": "{\"http://schema.org/downloadUrl\":\"https://cugir-data.s3.amazonaws.com/00/79/50/cugir-007950.zip\"}"
+}
+
+

Single download as an array

+

When using an array for downloads, the value after the "label" key will be used as the text in the Download panel button.

+
{
+  "dct_references_s": "{\"http://schema.org/downloadUrl\":[
+    {
+      \"url\":\"https://cugir-data.s3.amazonaws.com/00/79/50/cugir-007950.zip\",
+      \"label\":\"Shapefile\"
+    }]
+  }"
+}
+
+

Multiple downloads

+
{
+  "dct_references_s": "{\"http://schema.org/downloadUrl\":[
+    {
+      \"url\":\"https://cugir-data.s3.amazonaws.com/00/79/50/cugir-007950.zip\",
+      \"label\":\"Shapefile\"
+    },
+    {
+      \"url\":\"https://cugir-data.s3.amazonaws.com/00/79/50/agBROO.pdf\",
+      \"label\":\"PDF\"
+    },
+    {
+      \"url\":\"https://cugir-data.s3.amazonaws.com/00/79/50/agBROO2011.kmz\",
+      \"label\":\"KMZ\"
+    }]
+  }"
+}
+
+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/create-metadata/index.html b/create-metadata/index.html new file mode 100644 index 00000000..7dc97ef2 --- /dev/null +++ b/create-metadata/index.html @@ -0,0 +1,2306 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Create Metadata - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Create Metadata

+

How to create metadata records in the OpenGeoMetadata schema

+

Author new metadata

+

Step 1 of the metadata workflow is to create or collect original metadata for each layer. Depending upon the type of resource and a repository’s chosen workflows, the format of the original metadata may be in different standards or schemas.

+

For resources without metadata or with very minimal metadata

+

Option A: Create metadata in a non-OGM geospatial standard

+

Many repositories begin the workflow by creating metadata for their resources in a geospatial metadata standard other than the OGM schema. In the United States, this standard is likely either the Federal Geographic Data Committee Content Standard for Digital Geospatial Metadata (FGDC CSDGM) or the International Organization for Standardization (ISO) 191xx series.

+

The most commonly used tool for creating geospatial metadata is Esri’s ArcCatalog or ArcGIS Pro (version 2.2 and above). These applications create metadata in a proprietary format, called the ArcGIS 1.0 Metadata format, and use built-in XSLs to transform and export this format to FGDC or ISO as XML files. Note that ArcCatalog and ArcGIS Pro are limited in their default capabilities for batch-processing metadata.

+

Option B: Create metadata in the OGM schema directly

+

Other repositories skip Option A and create records directly in the OpenGeoMetadata metadata schema. Although users benefit from the more complete information that can be added to an FGDC or ISO document, these standards are not needed to run GeoBlacklight. These repositories often use a spreadsheet or a Dublin-Core-based metadata editor to create the records. Scripts can be used to convert spreadsheets (in .csv format) to JSON in the OpenGeoMetadata schema. See Metadata Processing Scripts for example scripts.

+

For resources with existing metadata files

+

Researchers and data providers often create geospatial metadata for their datasets, and repositories may only need to validate or augment the existing metadata records.

+

Geospatial data

+

A large amount of publicly available geospatial data does not have ISO or FGDC. However, it often features some kind of discovery metadata schema that is sufficient for creating OpenGeoMetadata schema records. For example, resources from public data portals, such as Socrata or ArcGIS Hub, will have metadata available in the DCAT schema. The metadata catalog for these portals can be accessed by appending “/data.json” to the end of the portal’s base URL. Other data portals may use a custom metadata schema, but most have APIs that can be programmatically parsed to obtain metadata for each record.

+

Scanned maps

+

Scanned maps from library catalogs should have MARC catalog records, and they should be able to supply the repository with metadata in the .MRC or MARC XML file format.

+
+

Transform existing metadata

+

If the metadata records are in a non-OpenGeoMetadata standard, the next step is to convert or transfer information from some or all of the fields to the OpenGeoMetadata schema. The result of this process is one or more JSON files that will be parsed and indexed by Solr. These JSON files will serve as the content to be shown in the GeoBlacklight application.

+

Transformation workflows

+
+

Tip

+
    +
  • JSON files in the OpenGeoMetadata schema do not need to be stored with the data/items they are referencing.
  • +
  • Multiple items can be referenced in a single JSON file.
  • +
  • Some fields will contain the same values for each item (e.g. gbl_mdVersion_s)
  • +
  • See Metadata Processing Scripts to view custom scripts and tools for additional metadata authoring techniques.
  • +
+
+

Most institutions have their own unique set of tools and workflows to perform this transformation. These workflows may differ depending on the type of item to be referenced. In most cases, automation of this process is desired, although it is possible to create the JSON files manually.

+

The process, whether automated or manual, typically involves parsing the existing metadata record, extracting the values from selected fields and inserting the value into a new JSON document under the corresponding OpenGeoMetadata schema field. This process is called mapping or "crosswalking." In most cases the values can simply be copied over as is, although some additional formatting may be necessary.

+

ISO to GBL Crosswalk

+

Example

+

At Stanford, the metadata records are natively authored in ESRI ArcCatalog and then transformed into ISO 19139. The ISO 19139 records are then transformed to MODS for the library catalog and GeoBlacklight for the GeoBlacklight catalog.

+

Stanford Metadata Workflow +Stanford University Metadata Workflow

+

Take, for example, the metadata for this layer. It has the ISO 19139 version of the metadata, along with the Feature Catalog (in ISO 19110). We also have the transformation into MODS and to GeoBlacklight, as well as a preview image. In some cases, you may even have an HTML version of the metadata for someone to read.

+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/custom-fields/index.html b/custom-fields/index.html new file mode 100644 index 00000000..f08520db --- /dev/null +++ b/custom-fields/index.html @@ -0,0 +1,2162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Custom Fields - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Custom fields

+

If an organization wishes to implement a custom metadata field for their GeoBlacklight instance, the naming schema should reference the organization as follows: organization_elementName_solrFieldType.

+

Examples:

+
    +
  • b1g_code_s - Internal code that organizes items by their source collection
  • +
  • nyu_addl_dspace_s - A 5 digit number that is the "internal identifier" for DSpace, the repository software that mints handles for all NYU's items. The internal id must be paired with the handle in order to post metadata and data via the system API.
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/explanation/index.html b/explanation/index.html new file mode 100644 index 00000000..e6d09731 --- /dev/null +++ b/explanation/index.html @@ -0,0 +1,2139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Explanation - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/further-reading/index.html b/further-reading/index.html new file mode 100644 index 00000000..bdc7d6b0 --- /dev/null +++ b/further-reading/index.html @@ -0,0 +1,2233 @@ + + + + + + + + + + + + + + + + + + + + + + + + Further Reading - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Further Reading

+

Community Resources

+ +

Publications

+

A Metadata Schema for Geospatial Resource Discovery Use Cases

+

Presents an earlier version of the GeoBlacklight schema and the motivations behind its design. Full citation: Hardy, Darren, and Kim Durante (2014). "A Metadata Schema for Geospatial Resource Discovery Use Cases." Code4Lib 25. https://journal.code4lib.org/articles/9710.

+

Consortial Geospatial Data Collection: Toward Standards and Processes for Shared GeoBlacklight Metadata

+

Discusses strategies for authorship and management of interoperable GeoBlacklight metadata. Full citation: Battista, Andrew, Karen Majewicz, Stephen Balogh, and Darren Hardy (2018). "Consortial Geospatial Data Collection: Toward Standards and Processes for Shared GeoBlacklight Metadata." Journal of Library Metadata 17:3-4, 183-200, DOI: 10.1080/19386389.2018.1443414.

+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/gbl-0.5/index.html b/gbl-0.5/index.html new file mode 100644 index 00000000..98ac5a60 --- /dev/null +++ b/gbl-0.5/index.html @@ -0,0 +1,2308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + GBL 0.5 - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + + + +
+ + + + + + + +

GBL 0.5

+ +
+

Warning

+

This is a legacy format. The GeoBlacklight Community recommends using OGM Aardvark for GeoBlacklight versions 4.0 and higher.

+
+
+

Deprecated fields

+

The earliest metadata schema for GeoBlacklight is the same as GBL 1.0, except that it also included these now-deprecated fields:

+
    +
  • uuid
  • +
  • dc_relation_sm
  • +
  • georss_box_s
  • +
  • georss_point_s
  • +
  • georss_polygon_s
  • +
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/gbl-1.0/index.html b/gbl-1.0/index.html new file mode 100644 index 00000000..de3ab93b --- /dev/null +++ b/gbl-1.0/index.html @@ -0,0 +1,3892 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + GBL 1.0 - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

GBL 1.0

+ +
+

Warning

+

This is a legacy format. The GeoBlacklight Community recommends using OGM Aardvark for GeoBlacklight versions 4.0 and higher.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelField NameRequiredRecommended
Identifierdc_identifier_sX
Rightsdc_rights_sX
Titledc_title_sX
Provenancedct_provenance_sX
Schema Versiongeoblacklight_versionX
Sluglayer_slug_sX
Bounding Boxsolr_geomX
Solr Yearsolr_year_iX
Creatordc_creator_smX
Descriptiondc_description_sX
Formatdc_format_sX
Languagedc_language_sm
Publisherdc_publisher_s
Sourcedc_source_sm
Subjectdc_subject_smX
Typedc_type_s
Is Part Ofdct_isPartOf_sm
Date Issueddct_issued_s
Referencesdct_references_sX
Spatial Coveragedct_spatial_smX
Temporal Coveragedct_temporal_sm
Geometry Typelayer_geom_type_sX
Layer IDlayer_id_s
Modified Datelayer_modified_dtX
Suppressedsuppressed_b
+

Identifier

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelIdentifier
Field Namedc_identifier_s
Requiredyes
Typestring
DescriptionUnique identifier for layer as a URI. It should be globally unique across all institutions, assumed not to be end-user visible
Entry GuidelinesThis is usually in the form of http://institution/id
Controlled Vocabularyno
Element SetDublin Core Metadata Element Set
Example"http://purl.stanford.edu/vr593vj7147"
CommentaryThis field is required, but it is not displayed in the interface. It may be identical to the layer_slug_s field, or it may be related to or derived from the layer_id_s. This value is ideally a persistent identifier or permalink (such as a [PURL (https://en.wikipedia.org/wiki/Persistent_uniform_resource_locator) or Handle).
+

Rights

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelRights
Field Namedc_rights_s
Requiredyes
Typestring
DescriptionSignals access in the geoportal and is indicated by a padlock icon. Users need to sign in to download restricted items
Entry GuidelinesChoose either Public or Restricted
Controlled Vocabulary"Public" or "Restricted"
Element SetDublin Core Metadata Element Set
Example"Public"
CommentaryThis field can be set to "Public", which allows users to view and download an item, or "Restricted", which requires a user to log in to an authentication service. If there are additional licenses or rights associated with a resource, administrators will have to create a custom field in the local Solr schema.
+

Title

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelTitle
Field Namedc_title_s
Requiredyes
Typestring
DescriptionThe name of the resource
Entry GuidelinesTitles should include place names and dates when available.
Controlled Vocabularyno
Element SetDublin Core Metadata Element Set
Example"Roads: Minneapolis, Minnesota, 2010"
CommentaryThe title is the most prominent metadata field that users see when browsing or scanning search results. Since many datasets are created with ambiguous or non-unique titles, it may be worth the effort to improve or enhance them. The ideal sequence of a title is something akin to Topic of Layer: Place, Year. Putting the year at the end of a title produces better search results, since titles are left-anchored.
+

Provenance

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelProvenance
Field Namedct_provenance_s
Requiredyes
Typestring
DescriptionThe name of the institution that holds the resource or acts as the custodian for the metadata record
Entry GuidelinesThe value for this field should be one of the agreed upon shortened names for each institution. This will embed the correct icon into the search results and item pages.
Controlled VocabularyThis repository contains the insitutions that have shared icons: https://github.com/geoblacklight/geoblacklight-icons
Element SetDCMI Metadata Terms
Example"Stanford"
CommentaryThis field indicates the institution that contributed the resource. The current community of practice is for this field to hold the name of the university or institution that has created the GeoBlacklight metadata record and/or hosts the dataset. Projects are encouraged to submit their institutional icon to the GeoBlacklight Icons repository to display with the resource.
+

Schema Version

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelSchema Version
Field Namegeoblacklight_version
Requiredyes
Typestring
DescriptionIndicates which version of the GeoBlacklight schema is in use
Entry GuidelinesOnly current value is "1.0"
Controlled Vocabularyno
Element SetGeoBlacklight
Example"1.0"
Commentary"1.0" is the current version of the GeoBlacklight schema.
+

Slug

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelSlug
Field Namelayer_slug_s
Requiredyes
Typestring
DescriptionThis is a string appended to the base URL of a GeoBlacklight installation to create a unique landing page for each resource. It is visible to the user and serves the purpose of forming a persistent URL for each catalog item.
Entry GuidelinesThis string must be a globally unique value. The value should be alpha-numeric characters separated by dashes.
Controlled Vocabularyno
Element SetGeoBlacklight
Example"stanford-andhra-pradesh-village-boundaries"
CommentaryThe slug makes up the URL for the resource in GeoBlacklight. If having a readable slug is desired, it is common to use the form, institution-keyword1-keyword2 (words or characters are separated by hyphens).
+

Bounding Box

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelBounding Box
Field Namesolr_geom
Requiredyes
Typestring
DescriptionThe rectangular extents of the resource. Note that this field is indexed as a Solr spatial (RPT) field
Entry GuidelinesBounding box of the layer as a ENVELOPE WKT (from the CQL standard) using coordinates in (West, East, North, South) order. The pattern is: ENVELOPE(.,.,.,.)
Controlled Vocabularyno
Element SetGeoBlacklight
Example"ENVELOPE(76.76, 84.76, 19.91, 12.62)"
CommentaryThe rectangular bounding box is to aid searching with the map interface. Although accuracy is encouraged, it may not always be necessary to to have precise bounding coordinates. The field functions to facilitate discovery more than to indicate exact extents.
+

Solr Year

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelSolr Year
Field Namesolr_year_i
Requiredno
Typeinteger
DescriptionA four digit integer representing a year of temporal coverage or date issued for the resource. This field is used to populate the Year facet and the optional Blacklight Range Limit gem
Entry GuidelinesThis field must be an integer.
Controlled Vocabularyno
Element SetGeoBlacklight
Example"1982"
CommentaryThis field is a four digit integer that must be inferred by the temporal coverage or date issued of the resource. If a single record spans multiple years, choose the earliest year for the solr_year_i field.
+

Creator

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelCreator
Field Namedc_creator_sm
Requiredno
Typearray
DescriptionThe person(s) or organization that created the resource
Entry GuidelinesThis may be an individual or an organization. If available, it should match with the Library of Congress Name Authority File.
Controlled VocabularyThe suggested controlled vocabulary is the Library of Congress Name Authority File.
Element SetDublin Core Metadata Element Set
Example"George Washington", "Thomas Jefferson"
CommentaryThe dc_creator_sm field is best reserved for instances in which an individual person has collected, produced, or generated analyses of data (as opposed to an agency releasing a data product or resource). See also the comments on dc_publisher_sm.
+

Description

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelDescription
Field Namedc_description_s
Requiredno
Typestring
DescriptionAt minimum, this is a reiteration of the title in sentence format. Other relevant information, such as data creation methods, data sources, and special licenses, may also be included.
Entry GuidelinesThis is a plain text field.
Controlled Vocabularyno
Element SetDublin Core Metadata Element Set
Example"This polygon shapefile represents boundaries of election districts in New York City. It was harvested from the NYC Open Data Portal."
CommentaryThe dc_description_s field is the second most prominent value that users see when search or browsing for items. Although not required, it is strongly recommended. If the description is minimal or lacking, it can be improved by concatenating available metadata fields, such as title, date, format, and place. This is a plain text field, so html code is not supported here unless the application is customized. It is recommended to assume that discovery happens in multiple contexts (i.e., GeoBlacklight metadata may be integrated into other discovery environments), so descriptions should use complete sentences that signpost what the data object is, even though that is evident within GeoBlacklight itself.
+

Format

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelFormat
Field Namedc_format_s
Requiredyes, if download link is included AND if download URL is configured as a single key:value pair
Typestring
DescriptionThis indicates the file format of the data. If a download link is included, this value displays on the item page in the button under the download widget
Entry GuidelinesChoose from set values (see Format list)
Controlled VocabularySee Format Controlled Vocabulary for the OGM Aardvark schema
Element SetDublin Core Metadata Element Set
Example"Shapefile"
CommentaryThe most important thing to remember about the dc_format_s field is that it is required for Download functionality if using a single value string for downloads. (pre-GeoBlacklight version 3.0). See Multiple Downloads for details.
+

Language

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelLanguage
Field Namedc_language_sm
Requiredno
Typearray
DescriptionIndicates the language of the data or map
Entry GuidelinesSpell out language (in English) instead of using the ISO 639-1 code (e.g.,“French” instead of “fra”).
Controlled Vocabularyno
Element SetDublin Core Metadata Element Set
Example"English"
CommentaryThis field is intended to indicate the language of the dataset, map, and/or supporting documentation. The most common practice in this community is to spell the name language out in English (e.g., "French").
+

Publisher

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelPublisher
Field Namedc_publisher_s
Requiredno
Typearray
DescriptionThe organization that made the original resource available
Entry GuidelinesThis should always be an organization.
Controlled VocabularyThe suggested controlled vocabulary is the Library of Congress Name Authority File.
Element SetDublin Core Metadata Element Set
Example"ML InfoMap (Firm)"
CommentaryThe distinction between dc_publisher_s and dc_creator_sm for data is often vague. Publishers should be the administrative body or organization that made the original resource available, regardless of who compiled or produced the data.
+

Source

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelSource
Field Namedc_source_sm
Requiredno
Typearray
DescriptionThis is used to indicate parent/child relationships between data layers and activates the Data Relations widget in GeoBlacklight
Entry GuidelinesThis is only added to the child records. Enter the layer_slug_s of the parent record(s) into this field.
Controlled Vocabularyno
Element SetDublin Core Metadata Element Set
Example"stanford-vr593vj7147"
CommentaryThe dc_source_sm field exists to indicate parent-child relationships between records. Common uses include: individual sheets within a map series that can point to a Shapefile that serves as an index map, individual Shapefile layers that have been derived from a Geodatabase that can point to the record for the GeoDatabase, or collection-level and related individual layer records. See Using the Data Relations Widget for more information.
+

Subject

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelSubject
Field Namedc_subject_sm
Requiredno
Typearray
DescriptionThese are theme or topic keywords
Entry GuidelinesThese should be consistent and chosen from a controlled vocabulary. Use sentence style capitalization, where only the first word of a phrase is capitalized.
Controlled VocabularyRecommended thesauri are ISO Topic Categories and Library of Congress Subject Headings.
Element SetDublin Core Metadata Element Set
Example"Census", "Human settlements"
CommentaryThis field is indexed as a facet by default for GeoBlacklight applications, and it can become unwieldy when aggregating metadata records from multiple sources. Controlled vocabularies for GIS data have typically been expressed as ISO Topic Categories and localized thesauri, while scanned maps are typically described with Library of Congress Subject Headings. Even within these vocabularies, localized spellings and abbreviations will result in considerable variations between institutions. Institutions are encouraged to observe what terms are commonly in use and, at the very least, strive for internal consistency with controlled vocabularies and spellings. This facilitates easier metadata sharing across projects, such as the repositories in OpenGeoMetadata. Some institutions choose to create custom keyword fields to hold local, unnormalized values. It is recommended not to use Library of Congress Subject Headings to indicate the geography or spatial coverage of a dataset; instead, use the dct_spatial_sm field for this.
+

Type

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelType
Field Namedc_type_s
Requiredno
Typestring
DescriptionThis is a general element to indicate the larger genre of the resource
Entry GuidelinesChoose from Dublin Core Type values
Controlled VocabularyType Controlled Vocabulary
Element SetDublin Core Metadata Element Set
Example"Dataset"
CommentaryThe dc_type_s field is optional, but it can be useful for categorizing between datasets, scanned maps, and collections. The GeoBlacklight 1.0 schema observes the Dublin Core controlled vocabulary for Type
+

Is Part Of

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelIs Part Of
Field Namedct_isPartOf_sm
Requiredno
Typearray
DescriptionHolding entity for the layer, such as the title of a collection
Entry GuidelinesPlain text that is indexed in the Collections facet
Controlled Vocabularyno
Element SetDCMI Metadata Terms
Example"Village Maps of India"
CommentaryThe dct_isPartOf_sm field is most often used as a way to group collections arbitrarily. Such groupings often have meaning within local institutions and can be shorthand for keeping like items together. For example, the value could mark all of the items in a single data submission, all of the items that pertain to a class that is working with GIS data, or all of the items harvested from a specific Open Data portal.
+

Date Issued

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelDate Issued
Field Namedct_issued_s
Requiredno
Typestring
DescriptionThis is the publication date for the resource
Entry GuidelinesUse any date format, such as the XML Schema dateTime format (YYYY-MM-DDThh🇲🇲ssZ)
Controlled Vocabularyno
Element SetDCMI Metadata Terms
Example"2015-01-01"
CommentaryAlthough the dct_issued_s field is optional, it is often useful when a clear Temporal Coverage value is not present. For example, one may want to preserve a dataset with an uncertain lineage, but there is an indicator on a data portal on the date of last update.
+

References

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelReferences
Field Namedct_references_s
Requiredno
Typestring
DescriptionThis element is a hash of key/value pairs for different types of external links. It integrates external services and references using the CatInterOp approach
Entry GuidelinesSee Configure References Links
Controlled Vocabularyno
Element SetDCMI Metadata Terms
Example"dct_references_s": "{\"http://schema.org/url\":\"http://purl.stanford.edu/bm662dm5913\",\"http://schema.org/downloadUrl\":\"http://stacks.stanford.edu/file/druid:bm662dm5913/data.zip\"}"
CommentaryAll of the external links for the resource are added to the dct_references_s field as a serialized JSON array of key/value pairs. The download key/value pair is unique, because the value can be an array. See Multiple Downloads for details.
+

Spatial Coverage

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelSpatial Coverage
Field Namedct_spatial_sm
Requiredno
Typearray
DescriptionThis field is for place name keywords
Entry GuidelinesPlace name text strings should be specified out to the nation level. It is typical for the place name to represent the largest extent the data layer represents.
Controlled VocabularyRecommended thesaurus is GeoNames
Element SetDCMI Metadata Terms
Example"Philadelphia, Pennsylvania, United States"
CommentaryIt is recommended to have at least one place name for each layer that corresponds to the logical extent of the area of that layer. Adding additional place names that fall within the layer should be done only if they are topically relevant to the content of the data. If a long list of place names is desired in the metadata for search purposes, a customized hidden field is recommended.
+

Temporal Coverage

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelTemporal Coverage
Field Namedct_temporal_sm
Requiredno
Typearray
DescriptionThis represents the "Ground Condition" of the resource, meaning the time period data was collected or is intended to represent. Displays on the item page in the Year value
Entry GuidelinesThis is a text string and can indicate uncertainty
Controlled Vocabularyno
Element SetDCMI Metadata Terms
Example"2007-2009"
CommentaryThe dct_temporal_sm field is multi-valued, so multiple strings can be used to indicate the time period the resource depicts, when the data was collected, and/or when the resources was created. Examples include: “1910?”, “1800-1805”, “before 2000”. If a single dataset spans multiple years, one can add each intervening year as a discrete value (e.g., 2007,2008,2009,2010). However, a common convention is to include only the first and last year (e.g., 2007,2010 for a dataset encompassing the span of time between 2007 and 2010).
+

Geometry Type

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelGeometry Type
Field Namelayer_geom_type_s
Requiredno
Typestring
DescriptionThis element shows up as Data type in GeoBlacklight, and each value has an associated icon
Entry GuidelinesChoose from set values (see Controlled Vocabulary Lists)
Controlled VocabularyGeometry Type Controlled Vocabulary
Element SetGeoBlacklight
Example"Polygon"
CommentaryThis field helps to differentiate between vector (Point, Line, Polygon), raster (Raster, Image), nonspatial formats (table), or a combination (Mixed). If processing metadata from a geospatial web server, this value may be programmatically determined. However, in many cases, it must be manually determined. The field is tied to icons for the resource, and provides the user with visual clues to the item. However, if the element is troublesome or unnecessary for a particular institution, it can be omitted.
+

Layer ID

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelLayer ID
Field Namelayer_id_s
Requiredno
Typestring
DescriptionIndicates the layer id for any WMS or WFS web services listed in the dct_references_s field
Entry GuidelinesOnly the layer name is added here. The base service endpoint URLs (e.g. "https://maps-public.geo.nyu.edu/geoserver/sdr/wms") are added to the dct_references_s field.
Controlled Vocabularyno
Element SetGeoBlacklight
Example"druid:vr593vj7147"
CommentaryThe Layer ID is used to point to specific layers within a geospatial web service. This field is not used for ArcGIS Rest Services.
+

Modified Date

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelModified Date
Field Namelayer_modified_dt
Requiredno
Typedate-time
DescriptionLast modification date for the metadata record
Entry GuidelinesUse the XML Schema dateTime format (YYYY-MM-DDThh🇲🇲ssZ)
Controlled Vocabularyno
Element SetGeoBlacklight
Example"2015-01-01T12:00:00Z"
CommentaryThis value should indicate when the metadata (not the resource itself) was last modified.
+

Suppressed

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelSuppressed
Field Namesuppressed_b
Requiredno
Typeboolean
DescriptionIf set to True, the record will not appear in search results. If is still accessible from the Data Relations widget and via direct URL.
Entry GuidelinesValues can be True or False
Controlled Vocabularyyes
Element SetGeoBlacklight
Example"True"
CommentaryThis field is useful for multipart items with identical metadata, such as pages in an atlas or series.
+ + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/gbl1-fgdc-iso-crosswalk/index.html b/gbl1-fgdc-iso-crosswalk/index.html new file mode 100644 index 00000000..d7988d7a --- /dev/null +++ b/gbl1-fgdc-iso-crosswalk/index.html @@ -0,0 +1,2307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + GBL 1.0 to FGDC and ISO - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + + + +
+ + + + + + + +

GBL 1.0 to FGDC and ISO

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GBL 1.0FGDC CSDGMISO 19139
dc_creator_smidinfo/citation/citeinfo/originatorMD_DataIdentification/citation/CI_Citation/citation/citedResponsibleParty/CI_ResponsibleParty/individualName OR organsationName (@type = originator)
dc_description_sdescript/abstractMD_DataIdentification/abstract
dc_format_sspdoinfo/directMD_Distribution/distributionFormat/MD_Format/name
dc_identifier_s-MD_DataIdentification/citation/CI_Citation/citation/MD_Identifier/code
dc_language_s or _sm-MD_DataIdentification/language
dc_publisher_sidinfo/citation/citeinfo/pubinfo/publisherMD_DataIdentification/citation/CI_Citation/citation/citedResponsibleParty/CI_ResponsibleParty/individualName OR organsationName (@type = publisher)
dc_rights_sidinfo/acconstMD_DataIdentification/resourceConstraints/MD_LegalConstraints/accessConstraints
dc_source_smdataqual/lineage/srcinfo/srccite/citeinfo/titleDQ_DataQuality/lineage/LI_Lineage/source/LI_Source/sourceCitation/CI_Citation/title
dc_subject_smidinfo/keywords/theme/themekeyMD_DataIdentification/descriptiveKeywords/MD_Keywords/keyword (@type='theme') AND MD_DataIdentification/topicCategory/MD_TopicCategoryCode
dc_title_sidinfo/citation/citeinfo/titleMD_DataIdentification/citation/CI_Citation/title
dc_type_s-hierarchyLevelName
dct_isPartOf_smidinfo/citation/citeinfo/lworkcit/citeinfo/titleMD_AggregateInformation/aggregateDataSetName/CI_Citation/title
dct_issued_sidinfo/citation/citeinfo/pubdateMD_DataIdentification/citation/CI_Citation/citation/CI_Date/date
dct_provenance_sdistinfo/distrib/cntinfo/cntorgp/cntorgMD_Distributor/CI_ResponsibleParty/organisationName
dct_references_s--
dct_spatial_smidinfo/keywords/placeMD_DataIdentification/descriptiveKeywords/MD_Keywords/keyword (@type='place')
dct_temporal_smidinfo/timeprd/timeinfo/sngdate/caldate and idinfo/timeperd/timeinfo/mdattim/sngdate and idinfo/timeperd/timeinfo/rngdates and idinfo/keywords/temporal/tempkeyMD_DataIdentification/extent/EX_Extent/EX_TemporalExtent/extent/TimePeriod OR TimeInstant
Elements without crosswalk--
geoblacklight_version--
layer_geom_type_sspdoinfo/ptvctinf/sdtsterm/sdtstype, idinfo/keywords/theme/themekeyMD_GeometricObjectTypeCode
layer_id_s--
layer_modified_dtidinfo/citation/citeinfo/onlink-
layer_slug_s--
solr_geomidinfo/spdom/bounding/westbc AND eastbc AND northbc AND southbc-
solr_geomidinfo/spdom/bounding/westbc AND eastbc AND northbc AND southbcMD_DataIdentification/extent/EX_Extent/geographicElement/EX_GeographicBoundingBox/west AND south AND east AND north
solr_year_iidinfo/timeprd/timeinfo/sngdate/caldate and idinfo/timeperd/timeinfo/mdattim/sngdate/caldate and idinfo/timeperd/timeinfo/rngdates/begdate and idinfo/keywords/temporal/tempkeyMD_DataIdentification/extent/EX_Extent/EX_TemporalExtent/extent/TimePeriod OR TimeInstant [YYYY]
suppressed_b--
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/harvest-ogm/index.html b/harvest-ogm/index.html new file mode 100644 index 00000000..05c6c3dd --- /dev/null +++ b/harvest-ogm/index.html @@ -0,0 +1,2207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Harvest from OpenGeoMetadata - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Harvest from OpenGeoMetadata

+ +
+

Info

+

this page is a placeholder for work-in-progress

+
+

Metadata in OpenGeoMetadata can be freely harvested and ingested into other discovery applications.

+

Suffixes

+

Altering suffixes can result in metadata schema incompatibilities across institutions. Any deviations in element names causes Solr to treat the elements as separate fields: for example dct_subject_s and dct_subject_sm would be stored separately. If GeoBlacklight is set up to display a facet for dct_subject_s, it will not pick up values stored in dct_subject_sm in the filter. Therefore, if you are gathering metadata from other institutions, make sure to inspect their metadata fields to determine if there will be inconsistencies in your Solr index.

+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/how-to-guides/index.html b/how-to-guides/index.html new file mode 100644 index 00000000..a99cdd5d --- /dev/null +++ b/how-to-guides/index.html @@ -0,0 +1,2136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + How-to - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/images/ISO-GBL.jpg b/images/ISO-GBL.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e2e89b7efb5177b6900a7ace410cfb684213168a GIT binary patch literal 278948 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%0AT(ut~Qf`SpP>zcm+ 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

|OEVf%gPf*5KN3rJ*$Bqm=iEQP%M4PBwaY3b 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 z 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 literal 0 HcmV?d00001 diff --git a/images/aardvark.png b/images/aardvark.png new file mode 100644 index 0000000000000000000000000000000000000000..d68e24f553da024352a1dff1f298e008bcdca4c8 GIT binary patch literal 10714 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 RL|Om<002ovPDHLkV1lS>p-%t+ literal 0 HcmV?d00001 diff --git a/images/aardvark3-border-7pt.png b/images/aardvark3-border-7pt.png new file mode 100644 index 0000000000000000000000000000000000000000..fefb7fae36da1bf885f78c9e1575b78a3d944d42 GIT binary patch literal 4213 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 LNkvXXu0mjfnQa_< literal 0 HcmV?d00001 diff --git a/images/aardvark3-border-fill.png b/images/aardvark3-border-fill.png new file mode 100644 index 0000000000000000000000000000000000000000..f7f786a120e86ad641eec4ca7f05a9ffce468076 GIT binary patch literal 4146 zcmV-25Y6w2P)m)MO~wLJLVjZ7P-? zFH~C}dg_hJU~}d{P{!Icpk+X5@-h!nNIIa1AdR4X7?Gwn4=OT^H}Ih|Ca8mhFrF|i z2#S07_N<**XPvz+d+)XOx$O^ra!#_d_qu%hU;kR`U;p3cc^)+xazr#BRB5K!Dp`-{ zXuvWLF|t7NOnMFe?;;V6X2f!bM$k;qGzBIgQdh$Joh70Y5tS{KF9Sn8lPS+MNx=ev zM7+c9o53Phz>jM=s&RMWUz!VGUeGYP|(;S3q&->WX6&$QexW3 zwk8V0A|q}FOAyIaWN&Mn&P3--a}otfvA+V^pE+A5W)Cauv)?4)ClTXs_-Mgu`x0kNJ{`w_Z zzI-{gwYAZjHEU>gb~af}G8iKm=B6BLhKtMwl9)H))J{)F4O(@-%lTY_#yrF+i$kZ z)vK6f3`%}~QJ8qRoY^)MI@n5b8nY)n<1!H)VOnXw?jK%y=_Pvc#TQ+WCKdC7CWPd|A*Jv~;41UY^B zbV?kmLfP}YDbMo;T7^){43w8nv(c3+SLlf+o}jgB*V4qqM56oc*|Ud!_~D17#ahC^ zfapMw8iJ*g%WMc#&1#zhiOIy{>eZ`MDwU|Oug^D}qvDxoo}o`Z`NV3w=5lqh$UVr` z@aCJDR9G6o4C_MJA7^G}{B@i-Sg~RSeel5tv}@NcqyPTmi!bPoJMOSrIbxbKz}(!N zzqAnG;>C-h|FdJq4(jRYp>^xl(SZX8te1%y?W1f)+dN2WGpVG#z1_QX>5`Fwk#86zmd^vH4c6D|6 zMzsp)9NR>KluD(Fr`o)CM@NT0@i=zun6`cfzzi_o3}hlzU2Qb{Bab|yY|g!V_c|dH zUWNckwX9Coty||4D*-V3D>Va|=4EYQYnqNVD;ci4?mFw8+uhw=@w5{sPB{D_fnteEIUw`yW1h*hxq7c8m?%FNr|A$0XHsBdw$dAEYxnbjqq#tE@CC z>=qF&G=`{^ToE>^fK)Mtzqv+PMd!biWwm+m!3V80=H%pL)xB+Z*qSwKDzp-8wR#{D zFFSVZh&lsA-xL~&OjEL&*yxbet5;VwpoCGjuVuUhO0k!S>U_!a_q5D(she)yyuy$jFGaaiG1zjBRl!!lr4Q z2EX^-dqbBQ@XSUgQXo+_$m?kfM)rq-NiCoi4jw#M(GbvDB9Sl*;cwWr=kfH@Pa8EZ zru!fe>;ZJ7vmR9(#SRIvu&Z*#)L*Jgfx-WOt?jl4tJ)YKFmIda7R z+||`p;WP*TqVe%@`tr*!>DOO>^?%pd*-3ZZb(jBnXlTg4m(E*qbad3e&*I`@Q@IBL zV`F1<{P=N`OMl0m{HYBzY?H1%nIOS3?JP;GV+@nT4*nR+J^u_XhoQOt6H z5io@QLPYyi7r_pKt)sJF1_xyaX8(VmX0(BlpuN4__sci%tFMjy6p?*%s#l_sR-GGF zut;mLNjzT*`zgxBQlF;)aUJ$Ei6+?3tH4nNI zmUrKMx8*yx7J_!yAl2EO$wkW5aE#wrp>Fk#t%Zn=fD)wURA+LL^yG?X@xVbQ@kDk| zgTs8ikVzSj2Ah!?32H9}o5HE=-Rahu=2hXFH*MNP-+lL;lO>A`=GeG#qaT`4frXHG z?xx6d86pDAvp5Nrk&5GLrB_~grR6n3Jqh~5fp#itc0MW&jK;Q=GNZe`1kQ*W%ta*9 zxbB7w<$zGK8!2aSNe≤!X^-lWD{iBY!pyGb%DE*OhD?%FM*B7-%OGH{YCYRFa?& z7CA1j2wP0AzWOTt{PWM5d0dA; zk+AqrN*8Tx+aL_10#%wxs+DkH06|PM)IUD@=p$Vj`F_rsNAgi0J0$t2xEakV6XTqKA?1jCO1eOTo| zHeCDYqmQ;cIiiY*-GsJ9&{px@m<(x95#K;-dmdxpi>3PFX#UGPEbP3I!pl1kuo7X%DNWf0}R)d`VQjvhVg6K8yU z+#d;$=LK;zW%o5CQq?gk?M$v#4FKa2+N;%xkhWkc#(+rWu>C#KWhZF$#%&eBh!7!C zUFcanC7Bu_j&>%=1Cg!rI{pA~^X0gmXL=Q>)unOg(v*RQ8fKm9arT^E^OxHdU;My3oZ ze8${-jiS(n`G9B00Gvc5?kM35GtHDi#90;tem-i;WMs-f%r1gWG#-aU0WvaW_>2u_ ziBU5$ZQs6~hKGljrm5mo6=^YWP79}E5Uv=qu&_|8;x;r^ty-ljer!!t1yvN?VzFp- zg?Yn<4Zhc8#Qd~NfNvFo%ePu~f~10eRKQwPUZrNzFxnVcZGHLWm;Ke&B*20j68k`F zA@R=1lP9gcRJO2X%NE+ZcduX8K-&h1gn|>X_z5|G{yhEojXWoD zHIWYWk`@du9jf$YDg=4>nn5!;+vr6~Rn3V8BOncaUtgbh?AS5s<+Vy!2oi;*bd3WL z(N#S(Wwe(3P)Vk^{@*4kRZYPY8V+4JeiMeYPq2uY%54GlwQUn>UTV_-U`AxJ>Kq5Z z7+XXNAP!}4;|O;y?!8Zqw6aq845)#I$D5eq&@XLKeJP;5<) zb-ja1iIx;sp_6DQgXkYl5IkQD zJYiyT@S-{19W`S?Br-`id{vc5a|i(NwnfoS*v^SdrnHQ15txAmWe|_cM|n9k=Et~8 zGD*Yg$c$es8>9_vt*9Ch;eU9OfB*f8?>Yj8;eiJpa8(5@1_vv%jZ92T zEPXb8IgTDZs`~RgF3N38rb3}m<=>=Xe$4={OdfH_R12*eK=e9|TA!6GSNi>>fOV}z z5;BDjb-gT}T4W;C$<5=( zkGm*?bu^XtBC`W|=w6N&UU)(EXAr4uwSWwf$b`4GzrWu_IWkxR`bVR=w8y;TB8*I! zI{Zs^KlonPJ76=kDm4AGP?eWk zy{D(A;=8Oq8m+YGa)={M;EGeSKVVG8!eA|CJSJqqY=%c1GJW;cS8UQ4{{3C9-C}yOXJR9U zVxDMU#MMm1Y?ZXPjQBc+1@zGUJp?D%gvvQg$V7}#ejGK6dAcNFOBZbn85`;CZgd~mI4GMB@>SUCVBQV$3FL3E^~%zz|j615&e;fW^2_x wHpygyykV}EoUNdpj^J$PJtFF*97II)UsPGLai_F5(EtDd07*qoM6N<$f)$bE&Hw-a literal 0 HcmV?d00001 diff --git a/images/aardvark3.png b/images/aardvark3.png new file mode 100644 index 0000000000000000000000000000000000000000..78daea60e6896f484f09e10c73a4ff1a6218f528 GIT binary patch literal 6678 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 a?IP&mFK#s6PfUFfmWHY>uuA!5@c#k&KR_`6 literal 0 HcmV?d00001 diff --git a/images/geoblacklight-72.png b/images/geoblacklight-72.png new file mode 100644 index 0000000000000000000000000000000000000000..12a1a4f4270b3d995105ebadced403250a494432 GIT binary patch literal 16952 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 literal 0 HcmV?d00001 diff --git a/images/geoblacklight-border-150.png b/images/geoblacklight-border-150.png new file mode 100644 index 0000000000000000000000000000000000000000..412f3f8b6288736814583ddd04b4b824c9bae38f GIT binary patch literal 11164 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 V132x0R@=hBNQ*0gDn$*0{tswkh|2%~ literal 0 HcmV?d00001 diff --git a/images/geoblacklight-border-72.png b/images/geoblacklight-border-72.png new file mode 100644 index 0000000000000000000000000000000000000000..cea97937f061697a5c00baec92f172ddc286eb06 GIT binary patch literal 17630 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

q%^_RQ_k0!jh< zs%K_(4esn~(7prw7a4*eK56(g5kHNuA%ji_uBkpW)FY2>FAZa#haDr#fqq!xy zU2#xHGy?ExWcvf*ZDdTrwPbdNYy~bv#v*>|2@n5wh@Zy8$f)DH`+R32O|4bHGlyeP rhYSB#*#1B`3K?W_AD@z=Tdw&3hTEc50w-4y00000NkvXXu0mjf*CAF* literal 0 HcmV?d00001 diff --git a/images/github-black-border.png b/images/github-black-border.png new file mode 100644 index 0000000000000000000000000000000000000000..97628eb88b1fbc952a0986144613fd14f82ee5b2 GIT binary patch literal 5218 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 literal 0 HcmV?d00001 diff --git a/images/github-black.png b/images/github-black.png new file mode 100644 index 0000000000000000000000000000000000000000..70a75c81af9ebf7417cb29c8bd50903c2eed4e0c GIT binary patch literal 4114 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 a3RBfZRe|W${qpaRIVCxD*#>Egu>S`nSA%c> literal 0 HcmV?d00001 diff --git a/images/github.png b/images/github.png new file mode 100644 index 0000000000000000000000000000000000000000..aa8e39b776e901ae3cfbab9ffe4f3ad9c8326bc8 GIT binary patch literal 144101 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�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 P;C1w{omJUELfpRrD_$`L literal 0 HcmV?d00001 diff --git a/images/ogm-72.png b/images/ogm-72.png new file mode 100644 index 0000000000000000000000000000000000000000..60012da98d3a9e0d03c21919e0a9e3f656ec18ed GIT binary patch literal 16293 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 literal 0 HcmV?d00001 diff --git a/images/ogm-border-150.png b/images/ogm-border-150.png new file mode 100644 index 0000000000000000000000000000000000000000..4adaba1c48d17607e2c3f3a1a152dcac5372e9e8 GIT binary patch literal 31985 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 b(Z!9Qh2*{G4ccHJ4w9EqmM(s3^7{V)cVMR^ literal 0 HcmV?d00001 diff --git a/images/ogm-border-72.png b/images/ogm-border-72.png new file mode 100644 index 0000000000000000000000000000000000000000..e9e30539f9346d1e7ea57aaf6bd39531a2d779b7 GIT binary patch literal 16598 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 literal 0 HcmV?d00001 diff --git a/images/rel-belongs-collection.png b/images/rel-belongs-collection.png new file mode 100644 index 0000000000000000000000000000000000000000..941e4505ffd163bde9a6a4366ca79294bf835bf3 GIT binary patch literal 11446 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 literal 0 HcmV?d00001 diff --git a/images/rel-has-version2.png b/images/rel-has-version2.png new file mode 100644 index 0000000000000000000000000000000000000000..e9fde55a00c5390cf9befe061e345a6b48a31c16 GIT binary patch literal 12558 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

vJk#e{1?hdCFUq6c_ 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 literal 0 HcmV?d00001 diff --git a/images/rel-is-version-of2.png b/images/rel-is-version-of2.png new file mode 100644 index 0000000000000000000000000000000000000000..3e1963efc0d3b9599cdabca9765bf6cfd0263e40 GIT binary patch literal 10621 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 b*bib^EGi#Wdr?#V?%I==R*|ZdG!Fg`fOWzl literal 0 HcmV?d00001 diff --git a/images/rel-related-record-link.png b/images/rel-related-record-link.png new file mode 100644 index 0000000000000000000000000000000000000000..54b19a698b8299b9c5beed8219a4927b19ce07f7 GIT binary patch literal 12781 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 literal 0 HcmV?d00001 diff --git a/images/rel-related-record-source.png b/images/rel-related-record-source.png new file mode 100644 index 0000000000000000000000000000000000000000..a4b6206d32805520d50b59a10e54a2556b5398e5 GIT binary patch literal 10806 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 literal 0 HcmV?d00001 diff --git a/images/rel-replaces.png b/images/rel-replaces.png new file mode 100644 index 0000000000000000000000000000000000000000..019f50c3bd38d31cf62b4b485cae2b59f6c20436 GIT binary patch literal 9215 zcmd6NbyQo?(r*aC9g15B?q1x36?ZLCic4@PMNqhdJ4?J^gf}qGENe zLPk1!!JVB0h`!G340H2k3c}@X0Emx@G_bX|6SI(a4?grQr4Oe`S2rd(?3^AvqRzv{ zVQpnK1gK5@p@uEHPX{(*Vy7Om0K6bap~ZX&L-{<(uuozoOn6CKla&Cr2j8M545x$a z1jF`M)go)qWL?VI!JYJZnMog)^D@j#3jw%5;viWNo9ZVvl<|=pv{c2+9ZF{GxXy%U z2FF8cKPPqg1o#B(tN?E%pcjo2W5@OKQ49cim)B&dZ<2*SW~{rSN8}#h;21lt@Pa2uVG* zP$4e>05vHBfPuU}x)q85{#PpsF#`3!Xu$hNK{-7IRaN9&&&Jc%*3HWS=IsY1+D3Nu z(^22p+gL+g+y>^#WBn5L!j{M1)%{TgAn7lTBwcO2t-=1TE^c1p{!);CNQfipM>a16 z{0|XtXDNuWhBjCM=4lIl%EQOQ2a(1GgTa!XFYUy2p-TT!NB)w6ICy)zi}UjO`T6nq z3G%=^?Rojd#Kd^{1b77mxRDavUa#D|t^K*(ycqx4$$#|&we_;`baeN2gt>tq`?Y=n z^YNB~KpqYK_vfGEwDouVwTm^|8(;|xJW-sV@vY>_nJv#j|*l80|4Ncs!%z7f0Tpg7=ffcm(sE-Dh?>X zFhYjVl(8ot!WYrFei7CnLZb;b?ufXw1yx(eCXSh~#7m2|<#w2n5E~U^zS# z48~*wg{!Q~5rRM{@kE4>6AJl(M-e2C@_)|5{G6qrq=a5vT&xoiAU;qQP*J8TE(fk5 zWYb0f-bP01y?n{^HX_2bDiDQpX)Y8RMvh4=-a>&#nF&-lz?rvz{`KAI3jHc`F|{qT)5OjkB8~6Fc}XgS znAo7P#qq;W(aaE{{3rua=3FqLBxcj(Avclgu`Htz1QQe392QEb>W1KWg$=yHMPWz^ z^zGj8L99V>q z5Hf(L&#WZ}&SyYMjJh?MSAi3#F)urp{|aNh)3j68p93M&FM(nj57t@O&k>UYy2!QsOOBFH zqI$7AU9Pcbh+SaO9x(Qyx^yh$;a2)!DI|1tmBW(U^V*3hF|Um~Z!_i^KWYyG!30qQ zrCEuUW%p((Dtws_XKh%Czbjtv*Nr;f!{2(Ze#df}t!0*)een3G%dAsk&6t`}9y7#0G z&yY)L=x7!Fp6ZUwAog8BBBO;73IZLEO5S;=@M_b>m7l0G57J!-#l^P!j<$cDi~4~wl8EcI`Z?;W(2 zgv4=BWJ$L>0#BdT-D(UGrr+l8ky@gbKH|hK1DCAi&W^HhuEM*J*~z1^>6WPrHKz7HmN0AOMT@s z*)|7rUp~`l8|AVghXQyU%Ff;K8*lPtWv5-$-G_C6EmaDe^=mKGj^C{$q_KQ38noyA zO7Ehh1>9*^L_R6crAZ*`8u$^Y-#5pN@YCRBq=_GHn-$SrLrAgW#*7kzg%OpAI&Rz-s(Fk<+tR@N;I@oqzc+$gg{b4UY->8T>har zD>wL2ax!FD)7dodO&fmG+y6jVpCau1Gpi&S6)uZlST=&fv6|3j1XXUB?MClStY@3X zx%EpmU4_5AJX~0sG7IXCcz?d}U3HL&A1LiKl^rfL|HZX5{#S~u-(EL?l!N*U%gCE2 zw9n(nxGgFNyN_>Hx-Ip7w_ZZqPF0Q~9hnJIsBd~5rtxqE9U$pJ_kUj%GhFP>D!flq z4Dvl(C~ip%$r6k4zSGG+`g$uztM+V8Se_J_YSP^4`@E&05R-AGMFz90q`gAVq6wvp$ zw%_pE)Dh}8y7`R-WlG7Evub^`+5Q$0D(e0|GM>g@er(99);csV3cOs6X`JQA%g+98 zFrD}4%vrWbd_;8>`1i5f0T2U#|fPLgbMV}FJWRc%qS+Jvg*{kl)` zXWy(Ux-fAf6PB7NS=k#EE{kL)5@eRb3ton*a_CwKG&yr>;;z zra7{Ne2TJB-=9#4fsq=9$mHsCbjpXvDd-_bsa}wXip;;PNKqJw|NjvWLog+A8dXgU zOp>#$O^{ZI{+i6~aDSJCpI;06F(?d5(#k8<3NhE}(;ay}pQ$yY`JtHPnD8@$m6*IK z7~soxgBx_YhCbKKJ8kjXvzW2$%GGBl?fUdGsLC+-c}wKi{KhxE1PAKO(GkthvJQ;r zGGp{>joC=qw88WI?Q4B#5<9IjU-mROh{@zNcJ&co8ubfJJ#6=HKUJE)ECe|!Jz;lY zZtim&$s0wyt+=XaQA%gu^$1=ZS{7J4?&qwlduhV(kz%^_GuK6%aNajcd)Q#)(L6o)+nF6g;Qvz8E&44}^FD2%=PWO3m`h)XG`k@Mz_5(<+m?KcwXp zrMz@2bnlksf}PIIsjjNc%JtttN;dB9u9kLx;l#6y75^||yO=`zW9taHYq$j99n8e; z8ge=ZRIP@5~-`Z%^7rjfAiyope`tQGTIS+%A5Rm31%>7#MmIloBTWrq7;2c&Z^ac^?Q|7~8B z(;g*0UAX<0fNbpONAdzB$@R6CcJoA@Gx|ssR`}Mlx>}>f7|xMhkBi+U&@Q+BnE4Mu z!vftK;>+8mW)spsuT&vHcV}ecgPR!@w@yRdO>yKgOYmchEdw`8QM*O^4F{Sih|3H zbCMsnMJP0q!7OSMOGZrNNq88k<%S&rV!JuoZ>grDSu%v^HO$oZ{OF8I#>s-uCEPOfZr;Eh1t1s26BzA5e4piB_l`E)sx_BC< zKa*w?RII633bQ0lP9x?Fil&;c!yX)mrlvmzI)o1I_Gwp-G_Y5?Go)^kKP5176_c-) z9RC)KZ#ae+EwLYyIdn!`YUQ-QD}*p+;4(VwF1UKHe>VyE>Zj-P{x&|ZWT3-EXAVTn zs8Im_f_}H(t-)4ODK=X%BpBk>R*+&U;lCf7tK#_$V_i5`W2|S7VC-b-47*Xc$JNyC zZr65aTw<4KH+bjNAmHy|_I{76rlj1NAMK^CBjcE- zb!qih!@(D)3bgcJKjBZ8>CfdEAwGfd62BX;mDl8-?vYXb)h6L^ePOY0^`L62IscB@ zb}kb~DCk~uE+<3%2yX|m*a>Em{BBy)9yn<|?Qpo>8_`G;Wizr0opv~K31Sq9aDP@t zUNp7MqyDT1f~{Ado%QW)?2jh~0`lY)r+++uvN*l+;_`8#Dy6!dPc|&;eTTstMt#Im z<<}6MIQ3Q4*2f}oj1W$5bDsWV%D3^Uh`=~$A#Bsl0Dr>1IdOG3&iPySS63J|36yf0 z;zdzRh4bI-)`qFC9=7r}Xx6Ul-qrRtL3Y$kvR?Oz7W0WaTN-1-H=_(H9ME zaYWoy^x3Ju7#?SSc4w6#mnb8@HT>wcX7N27xHNXaU7@2KTp+9Mmr-K6oc?+(rg#cr zSN}~g6ALrE<#t(>>eARtVnE(2__l&nzxCOZi#@}9-CvF|-bEeeRYNaex1Qd2p06o| zpumprdRHP$Lg8Vs`w|-Xb2I&7>O!@bU1QhiU18o&BN2|BI=h379=y)v{=XQ8_xdJ6 zb-YMX!cXg=lX_!ASxHtsM^4wM6#s2>O4I?X{zsag^Y&f~qh! zIRz#FJ?tneka5}SO>a$tfpVKzzSTutLf6RKMp{^3eI5CZfD8>GVYCL8VfJirtQ5y_ zqEKvn$@5z+J2iWsKEb1VxzbVFGW0iI$B3Osjcifom`HYRxh+Z)uGrxO{q`O2On*KN zsWFGC>&Oq5O_gc4#%g0wIPI8stS;+h;H!(|p1~Z)Czf6JHPn-oLE66vPCh;pMt(Xs{W7L=0GvdDVF%s9?l2vwO_<}z(JLBPj zVWliYAKq+Yb`0gI3!3KRJY?|m-nrz8`{}S^HQ8ztVU6+r;NYU8`SqZ!bMmFn4EG*8 zmQ(JE?=ODM17{6KZlWra*l)261*I@pCkb-P&2oBjOeFhO+ccMR z9B(26eddtOpAzv^Zz;YRVk-~?c-VgxQ`Ao_c>vtti6*RyR;|`wa-PG*}J(lN&oO8zKu+r zPR>PW!O7a(idx3$p5b)HttWY7=H`nb0y{W_m4z*XMR0b?d3qWBGG?FkpmNm&#|p_bg?GkBdJ;~;}Q6( zmWi{ELkL)Q;h!9L=Zoj3H3RWB%X^t@(>-GIjMHnHBHdN;gSqQeS&5F?zfl1!w> zt{FEY;>2K(Eo5qCz3!aEPq_Oqk_uLl{%Jg@`(>yF*EL~ma12*w^DpD!D|At^%@za> zX$hXXdJ+A%o*gHlJ%#7aoXRZj@QxvD={eA?(}-R1+vQ@t&n_Mt*FHjf-Zuo^aity$ z%<*p4*SoSgOZIVAhbe@m$tI>Ow3&zIX5lmE#)g1++kj>GJkB zHltr{39sjVBBb`8yuR8?b)xRG+^iD&HDRjY;k_Z|RzZ^cH)RW*;Fji#WIy(rI=VM3 zgS%MJ3t|RYJlUr8NzJ$7Nych{F&tB$Z=Rr=9y%E0VnH%nXZuSgA#5ILNK-CCs*0$_0GZ68!UG6MgzN%$rY)?XJ6AZpVY}ud7%-fyqQH(0IIFIHX zj5yf0R>;9bNAo`bDgra_-Orq?4NsezM9)CM-XIuI2-GGv)PlvI7Mf3fA?x3|tF3Cy zsa(rq%XRF&2kM;CIC2=ktOuW4t^{a{T$L=-kwv=365IvLEG@oVd6n zVJWK?jD3-d{?awQzesHe!cRo$xE&PA(x*>7?vLXiR&R~MTbrq8l~Y&6JF@EDH4LE& z-4~CPT>Uf-*4!I8?gDo-vhbA7{AnDTAjNqY>1+%(iVKWo^iK320% zD5&mO^C-b zZnp2hGIf8wsoICI>=P2E+r0BAG9s(=9q8tc!fl!~aTB`LzL|jzaPyzvy8hmaW3=bB z{lkg)yv|g0Xr#HdDyjl1%0N|x$Eg6Z0?VC!L5P)3av%xm?+f?Kye$tt3iAk^FMI{D zHt^c52|I(|e$d76E28Y~`^>$qkn zTI>x21D5&+hm}(VX;{#NRASlQ(gSVOJVpvHI={D(yG&-FoYZuy>@UbHb+z}n@I;k;3ylIz3k59Drpt0jT34U-Go#A;TrY7~tO24yqIDPrT2-wIsEf!~LEh ze49mHaC@A}10-eWjfw&%WMf{(s+=pXRA{SHCeEKFY@ggKLJ*#!W-dRr|DUKsGfqt#TPK4@QXljN?0A6OVn(%KmFC& zImnbmen{^-Nmry9m^je;YM_S4L>dZRW`rKgGx;ma<Iyg@#wR zZ+Pr1!Rim@5ak<3%-Dj%G*8r?K7**M&}z984RlEOnxK0Iz`u3LoY535vdaT1FPL48 zwzIV59;4;;B!D)TtMmp&vv=S^on z8PY@b!XP?-t3orLc(5S9JU5wT#@v)yy(Y;Nbr=^B_lrnLPMv7KF%t*v36WK_raE=l z4poqVe_MHZ7b?|Rm+uo_(bI~#UA>20pF%~>L4SE(p{X+(MDEdR& zC&qT>NScW|6HPf^56-|3Wd9Y9X?qPffD-m|f&w*}#E=HiFhT8Itcy|B9vg#8Q;A#T zU6rn;$0d>LLY6U_)#)>W5AUUCc8R^#TsB6hi7tsA_>}o<*?{QOGA6u(b2x?F3dX>E3lzcMy~42qV_e7}(KCD&T*`I?hUQ-Cum0`WhKk)+Nh^S)Z8 zhx^mgpL%$+$G@s#?B&^%D3nAb1RG6XI}?orWDlh!JXjAcZxcF`bo7RI|6ny zj-27lEXg3noVlMek;$VTQy1L(<-n5MUBBZ5z zPgU39+y#{n@!9BdqELcy9Lp-4PkdqSfXh~a3AOpnPISx);Apvj@Ivu(5{@~o z=*ZVXd1$(`7m$yg3W104!*Jcvu+j4&3ezLJFoh=@*3vZguJrWFE28xRYk;S)6z*4; zz!5@sR=bKNN2U=Tl_Rf`Z+kYzg^83wc)d2q%1sh|(X)R=z(TPaT_DXxVh2qM6?+y6 zE3)1!ReLXD736-h^9z0t?vz z0*ok$wbcMIt;VT!3nYTD33auQ?&yCF;>vvb%95L12Z?V3v5*C3*%mWhBe_nk$8!55 iHRCk#|6_L814f1{d#4h1sQKgnMpP9wp;hu$@c#vzAA%VG literal 0 HcmV?d00001 diff --git a/images/rel-source-records.png b/images/rel-source-records.png new file mode 100644 index 0000000000000000000000000000000000000000..8a4e2fead7999e9c17c29d709086375e7f1b3e42 GIT binary patch literal 9315 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 Z)0PP7PAw^`;XeO61*E8{P%CE{{vRx9>GA*o literal 0 HcmV?d00001 diff --git a/images/transform-option1.png b/images/transform-option1.png new file mode 100644 index 0000000000000000000000000000000000000000..a645abe68e9a0e2d269c73ce5bafa152bd0adc3d GIT binary patch literal 173869 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�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 literal 0 HcmV?d00001 diff --git a/images/transform-option2.png b/images/transform-option2.png new file mode 100644 index 0000000000000000000000000000000000000000..d37c8e90b9d1bfc39d874d5ccf130404e5707632 GIT binary patch literal 179600 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%0DN;3uVyU03K=^ac~kTUz76A0ioB}7 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�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 Z*L@s5d+w0LC)(hgq4}A@AFuuNe*gv>(Ov)m literal 0 HcmV?d00001 diff --git a/images/transform-option3.png b/images/transform-option3.png new file mode 100644 index 0000000000000000000000000000000000000000..acde65ca517730867ec2d58dc906a3017adc4226 GIT binary patch literal 217826 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 M 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 Wim!C-YfBN}-_gS-Eej92U;97#j<_TM literal 0 HcmV?d00001 diff --git a/index-in-solr/index.html b/index-in-solr/index.html new file mode 100644 index 00000000..43f0d178 --- /dev/null +++ b/index-in-solr/index.html @@ -0,0 +1,2223 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Index in Solr - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Index Metadata in Solr

+
+

Note

+

This page is a work in progress and needs more information.

+
+

Metadata records must be indexed in Solr in order to integrate with GeoBlacklight. The Solr application identifies each metadata record as a “document.” The process of adding documents to Solr is called “indexing.”

+

Option A: Indexing manually

+

If you have access to your Solr Dashboard panel, you can add records manually by pasting them into the Documents pane.

+

Option B: Indexing via scripts

+

It is often more practical to use a process for batch adding, updating, and deleting the records. Most of the available processes are in the form of command-line scripts. See the Metadata Scripts for examples.

+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 00000000..7497ae88 --- /dev/null +++ b/index.html @@ -0,0 +1,2147 @@ + + + + + + + + + + + + + + + + + + + + + + + + OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + +

Welcome to OpenGeoMetadata

+

OpenGeoMetadata is a discovery metadata schema for geospatial resources and an open platform for sharing metadata files.

+
+ +
+ +

Repositories

+ + Planning to share your metadata? Read about our repositories and learn how to set up your own. +
+ +
+ +

Metadata Schemas

+ Looking for schema reference and how to upgrade? Visit the schema documentation pages or our Upgrade Guide. + +
+ +
+ +

OGM Aardvark Metadata

+ Jump to the documentation for the Aardvark Metadata Schema. + +
+ +
+ +

GBL 1.0 Metadata

+ Jump to the documentation for the GBL 1.0 Metadata Schema. + +
+ +
+ +

(1)

+
    +
  1. Aardvark icon by Sarah Rudkin from Noun Project (CCBY3.0)
  2. +
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/javascripts/tablesort.js b/javascripts/tablesort.js new file mode 100644 index 00000000..6a5afcf2 --- /dev/null +++ b/javascripts/tablesort.js @@ -0,0 +1,6 @@ +document$.subscribe(function() { + var tables = document.querySelectorAll("article table:not([class])") + tables.forEach(function(table) { + new Tablesort(table) + }) +}) diff --git a/json-schema/index.html b/json-schema/index.html new file mode 100644 index 00000000..2ee7f431 --- /dev/null +++ b/json-schema/index.html @@ -0,0 +1,2214 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + JSON schema files - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/ogm-aardvark/access-rights.csv b/ogm-aardvark/access-rights.csv new file mode 100644 index 00000000..701ff819 --- /dev/null +++ b/ogm-aardvark/access-rights.csv @@ -0,0 +1,13 @@ +Label,Access Rights +URI,https://opengeometadata.org/ogm-aardvark/#access-rights +Field Name,dct_accessRights_s +Field Type,String +Obligation,Required +Multivalued,False +Purpose,To clarify to the user if the resource is public (any user can access) or restricted (a user will need to log in to some kind of authentication protocol) and if the application should provide a web service preview and/or a download function. +Entry Guidelines,Only one of two values are allowed: Public or Restricted. +Commentary,"This field can be set to ""Public"", which allows users to view and download an item, or ""Restricted"", which requires a user to log in to an authentication service." +Controlled Vocabulary,Yes - strict +Example Value,"""Public""" +Element Set,DCMI +Group,"[Rights](../ogm-aardvark/#rights)" diff --git a/ogm-aardvark/alternative-title.csv b/ogm-aardvark/alternative-title.csv new file mode 100644 index 00000000..b7b52936 --- /dev/null +++ b/ogm-aardvark/alternative-title.csv @@ -0,0 +1,13 @@ +Label,Alternative Title +URI,https://opengeometadata.org/ogm-aardvark/#alternative-title +Field Name,dct_alternative_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,To provide the user with the another title if needed. +Entry Guidelines,This could be for a secondary or original title or subtitle. +Commentary,"For discoverability, improving titles for data is encouraged. This field could be a place to keep the original title. It could also be useful for scanned maps. Some have long titles that include MARC subtitle fields, such as 245$b. Whether or not this field should appear in your GeoBlacklight item view pages can be customized in the application." +Controlled Vocabulary,No +Example Value,"[""NEZ H Districts""]" +Element Set,DCMI +Group,"[Descriptive](../ogm-aardvark/#descriptive)" diff --git a/ogm-aardvark/bounding-box.csv b/ogm-aardvark/bounding-box.csv new file mode 100644 index 00000000..fdb87709 --- /dev/null +++ b/ogm-aardvark/bounding-box.csv @@ -0,0 +1,13 @@ +Label,Bounding Box +URI,https://opengeometadata.org/ogm-aardvark/#bounding-box +Field Name,dcat_bbox +Field Type,String +Obligation,Suggested +Multivalued,False +Purpose,To support overlap ratio boosting in spatial searches. +Entry Guidelines,"This should be a bounding box in this format: ENVELOPE(W,E,N,S)." +Commentary,"If the [Geometry](../ogm-aardvark/#geometry) field uses the ENVELOPE syntax, then these fields will be identical." +Controlled Vocabulary,No +Example Value,"""ENVELOPE(-111.1, -104.0, 45.0, 40.9)""" +Element Set,DCAT +Group,"[Spatial](../ogm-aardvark/#spatial)" diff --git a/ogm-aardvark/centroid.csv b/ogm-aardvark/centroid.csv new file mode 100644 index 00000000..b0b1a9f4 --- /dev/null +++ b/ogm-aardvark/centroid.csv @@ -0,0 +1,13 @@ +Label,Centroid +URI,https://opengeometadata.org/ogm-aardvark/#centroid +Field Name,dcat_centroid +Field Type,String +Obligation,Optional +Multivalued,False +Purpose,To display the centerpoint of a resource. +Entry Guidelines,"Enter two decimal degree coordinates separated by a comma in this order: latitude, longitude." +Commentary,This field is currently only supported by customizations to the GeoBlacklight application. +Controlled Vocabulary,No +Example Value,"""46.4218,-94.087""" +Element Set,DCAT +Group,"[Spatial](../ogm-aardvark/#spatial)" diff --git a/ogm-aardvark/controlled-values.csv b/ogm-aardvark/controlled-values.csv new file mode 100644 index 00000000..15b48026 --- /dev/null +++ b/ogm-aardvark/controlled-values.csv @@ -0,0 +1,12 @@ +Element,Controlled Values +Access Rights,"Public +Restricted" +Language,[ISO 639-2 3-character language code](https://www.loc.gov/standards/iso639-2/php/code_list.php) +Metadata Version,Aardvark +Resource Class,"- Collections +- Datasets +- Imagery +- Maps +- Web services +- Websites +- Other" \ No newline at end of file diff --git a/ogm-aardvark/creator.csv b/ogm-aardvark/creator.csv new file mode 100644 index 00000000..2516bfac --- /dev/null +++ b/ogm-aardvark/creator.csv @@ -0,0 +1,13 @@ +Label,Creator +URI,https://opengeometadata.org/ogm-aardvark/#creator +Field Name,dct_creator_sm +Field Type,Array of strings +Obligation,Suggested +Multivalued,True +Purpose,To credit the person/organization that collected or authored the resource. +Entry Guidelines,The suggested controlled vocabulary is the [Library of Congress Name Authority File](https://id.loc.gov/authorities/names.html). +Commentary,"The distinction between Creator and [Publisher](../ogm-aardvark/#publisher) is often vague. This field is best reserved for instances in which an individual person has collected, produced, or generated analyses of data (as opposed to an agency releasing a data product or resource). It can be a person or an organization." +Controlled Vocabulary,No +Example Value,"[""Geological Survey (U.S.)""]" +Element Set,DCMI +Group,"[Credits](../ogm-aardvark/#credits)" diff --git a/ogm-aardvark/date-issued.csv b/ogm-aardvark/date-issued.csv new file mode 100644 index 00000000..74069604 --- /dev/null +++ b/ogm-aardvark/date-issued.csv @@ -0,0 +1,13 @@ +Label,Date Issued +URI,https://opengeometadata.org/ogm-aardvark/#date-issued +Field Name,dct_issued_s +Field Type,String +Obligation,Optional +Multivalued,False +Purpose,"To provide the user with the date when an item was published, and to allow administrators to determine the age of the resource." +Entry Guidelines,"A single year is the preferred format. For more precise dates, use the ISO format without the time value: YYYY-MM-DD or YYYY-MM." +Commentary,"Although the field is optional, it is often useful when a clear [Temporal Coverage](../ogm-aardvark/#temporal-coverage) value is not present. For example, one may want to preserve a dataset with an uncertain lineage, but there is an indicator on a data portal on the date of last update. In most cases, the 4-digit year is sufficient." +Controlled Vocabulary,No +Example Value,"""1999""" +Element Set,DCMI +Group,"[Temporal](../ogm-aardvark/#temporal)" diff --git a/ogm-aardvark/date-range.csv b/ogm-aardvark/date-range.csv new file mode 100644 index 00000000..2e4cdc4c --- /dev/null +++ b/ogm-aardvark/date-range.csv @@ -0,0 +1,13 @@ +Label,Date Range +URI,https://opengeometadata.org/ogm-aardvark/#date-range +Field Name,gbl_dateRange_drsim +Field Type,String +Obligation,Optional +Multivalued,True +Purpose,To power other time widgets that use a date range. +Entry Guidelines,"Enter a start date and end date in the Solr date range field convention. In JSON, the value should be formatted as a string that includes the brackets, rather than as an array or list containing a string. Incorrect: [""YYYY TO YYYY""]. Correct: ""[YYYY TO YYYY]""." +Commentary,"This field is not yet supported by GeoBlacklight, but the application can be customized to use it." +Controlled Vocabulary,No +Example Value,"""[1980 TO 1995]""" +Element Set,GBL +Group,"[Temporal](../ogm-aardvark/#temporal)" diff --git a/ogm-aardvark/description.csv b/ogm-aardvark/description.csv new file mode 100644 index 00000000..2101de83 --- /dev/null +++ b/ogm-aardvark/description.csv @@ -0,0 +1,13 @@ +Label,Description +URI,https://opengeometadata.org/ogm-aardvark/#description +Field Name,dct_description_sm +Field Type,Array of strings +Obligation,Suggested +Multivalued,True +Purpose,To provide the user with a summary of the resource. +Entry Guidelines,"At a minimum, this is a reiteration of the title in sentence format. Other relevant information, such as data creation methods, data sources, and special licenses, may also be included." +Commentary,"This field is the second-most prominent value (after [Title](../ogm-aardvark/#title)) that users see when search or browsing for items. Although not required, it is strongly recommended. If the description is minimal or lacking, it can be improved by concatenating available metadata fields, such as title, date, format, and place. This is a plain text field by default, but it can include clickable links if the GeoBlacklight software is customized; see the [GeoBlacklight documentation](https://geoblacklight.org/docs/customization/rendering_html_from_description/) on how to render HTML from a text field." +Controlled Vocabulary,No +Example Value,"""This polygon shapefile represents boundaries of election districts in New York City. It was harvested from the NYC Open Data Portal.""" +Element Set,DCMI +Group,"[Descriptive](../ogm-aardvark/#descriptive)" diff --git a/ogm-aardvark/display-note.csv b/ogm-aardvark/display-note.csv new file mode 100644 index 00000000..1896f7c2 --- /dev/null +++ b/ogm-aardvark/display-note.csv @@ -0,0 +1,13 @@ +Label,Display Note +URI,https://opengeometadata.org/ogm-aardvark/#display-note +Field Name,gbl_displayNote_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,"To highlight additional information about a resource, such as warnings or tips for using the data." +Entry Guidelines,"Prefix the string with ""Danger:"", ""Info:"", ""Tip:"", or ""Warning:"" to specify the type of note." +Commentary,"Starting in GeoBlacklight version 4.1, text in this field is prominently displayed in a shaded box just after the title, with the prefixes controlling the style of the displayed note. Styles and additional prefixes (for example, in other languages) can be added by customizing the GeoBlacklight software; see the [v4.1.0 release notes](https://github.com/geoblacklight/geoblacklight/releases/tag/v4.1.0)." +Controlled Vocabulary,No +Example Value,"[""Danger: This text will be displayed in a red box"",""Info: This text will be displayed in a blue box"",""Tip: This text will be displayed in a green box"",""Warning: This text will be displayed in a yellow box"",""This is text without a tag and it will be assigned the default 'note' style""]" +Element Set,GBL +Group,"[Descriptive](../ogm-aardvark/#descriptive)" diff --git a/ogm-aardvark/file-size.csv b/ogm-aardvark/file-size.csv new file mode 100644 index 00000000..59f5fc3c --- /dev/null +++ b/ogm-aardvark/file-size.csv @@ -0,0 +1,13 @@ +Label,File Size +URI,https://opengeometadata.org/ogm-aardvark/#file-size +Field Name,gbl_fileSize_s +Field Type,String +Obligation,Optional +Multivalued,False +Purpose,To inform the user of the size of the file download. +Entry Guidelines,Enter the size in megabytes. +Commentary,"This field is intended to give users a sense of how large the data or image they are interested in downloading, and serves to alert users about huge files." +Controlled Vocabulary,No +Example Value,"""25.96 MB""" +Element Set,GBL +Group,"[Object](../ogm-aardvark/#object)" diff --git a/ogm-aardvark/format.csv b/ogm-aardvark/format.csv new file mode 100644 index 00000000..062381b8 --- /dev/null +++ b/ogm-aardvark/format.csv @@ -0,0 +1,13 @@ +Label,Format +URI,https://opengeometadata.org/ogm-aardvark/#format +Field Name,dct_format_s +Field Type,String +Obligation,Conditionally required +Multivalued,False +Purpose,To display to the user the name of the file type as a text string in the download button. +Entry Guidelines,"Enter a string describing the file format, preferably from the list of [Format Values](../ogm-aardvark/#format-values)." +Commentary,"This field is required if the download URL (`http://schema.org/downloadUrl`) in the [References](../ogm-aardvark/#references) field is configured as a single key:value pair. The field is not required if using the [multiple downloads](../configure-references-links/#multiple-downloads) option." +Controlled Vocabulary,Yes - not strict +Example Value,"""Shapefile""" +Element Set,DCMI +Group,"[Object](../ogm-aardvark/#object)" diff --git a/ogm-aardvark/geometry.csv b/ogm-aardvark/geometry.csv new file mode 100644 index 00000000..208a4b0a --- /dev/null +++ b/ogm-aardvark/geometry.csv @@ -0,0 +1,13 @@ +Label,Geometry +URI,https://opengeometadata.org/ogm-aardvark/#geometry +Field Name,locn_geometry +Field Type,String +Obligation,Suggested +Multivalued,False +Purpose,To display the extent of the resource and to power the map search. +Entry Guidelines,"This may be a bounding box or more complex geometry. For a bounding box, it should use the ENVELOPE(W,E,N,S) syntax. For a more complex geometry, it should use the WKT (""well-known text"") POLYGON or MULTIPOLYGON syntax. Note that WKT polygon vertices should be defined in counter-clockwise order." +Commentary,"Since this field is not repeatable, multiple polygons should be represented using the WKT ""MULTIPOLYGON"" syntax. Geometries that span the 180th meridian, aka the antimeridian, should be broken up into multiple bounding boxes or polygons for each side of the earth's hemisphere. This is because Solr, the underlying indexer for GeoBlacklight, cannot interpret these coordinates correctly and will display the geometry improperly (horizontally flipped)." +Controlled Vocabulary,No +Example Value,"Simple bounding box: ""ENVELOPE(-111.1, -104.0, 45.0, 40.9)"" | Bermuda Triangle: ""POLYGON((-80 25, -65 18, -64 33, -80 25))"" | Split bounding box for Alaska: ""MULTIPOLYGON (((-179.3 51.1, -129.9 51.1, -129.9 71.5, -179.3 71.5, -179.3 51.1)),((172.3 51.2, 179.9 51.2, 179.9 53.1, 172.3 53.1, 172.3 51.2)))""" +Element Set,LOCN +Group,"[Spatial](../ogm-aardvark/#spatial)" diff --git a/ogm-aardvark/georeferenced.csv b/ogm-aardvark/georeferenced.csv new file mode 100644 index 00000000..bb459968 --- /dev/null +++ b/ogm-aardvark/georeferenced.csv @@ -0,0 +1,13 @@ +Label,Georeferenced +URI,https://opengeometadata.org/ogm-aardvark/#georeferenced +Field Name,gbl_georeferenced_b +Field Type,Boolean or string +Obligation,Optional +Multivalued,False +Purpose,To indicate whether or not a scanned map or other imagery has a georeferenced version. +Entry Guidelines,Only one of two values are allowed: true or false. +Commentary,This field can be a shortcut for users to find georeferenced maps. Administrators can also employ the [Source](../ogm-aardvark/#source) field to link a paper map with its scan (e.g. a TIFF) and its georeferenced version (e.g. a GeoTIFF). +Controlled Vocabulary,Yes - strict +Example Value,"false or ""false""" +Element Set,GBL +Group,"[Spatial](../ogm-aardvark/#spatial)" diff --git a/ogm-aardvark/id.csv b/ogm-aardvark/id.csv new file mode 100644 index 00000000..0d50ee72 --- /dev/null +++ b/ogm-aardvark/id.csv @@ -0,0 +1,13 @@ +Label,ID +URI,https://opengeometadata.org/ogm-aardvark/#id +Field Name,id +Field Type,String +Obligation,Required +Multivalued,False +Purpose,To provide a unique alpha-numeric ID for the item that will act as the primary key in Solr and to create a unique landing page for the item. +Entry Guidelines,"Enter a string of alpha-numeric characters separated by dashes. The ID must be globally unique across all institutions in your GeoBlacklight index." +Commentary,"This field makes up the URL for the resource in GeoBlacklight. It is visible to the user and is used to create permalinks. If having a readable slug is desired, it is common to use the form institution-keyword1-keyword2." +Controlled Vocabulary,No +Example Value,"""princeton-rv042w38t""" +Element Set,GBL +Group,"[Identifiers](../ogm-aardvark/#identifiers)" diff --git a/ogm-aardvark/identifier.csv b/ogm-aardvark/identifier.csv new file mode 100644 index 00000000..ba01eb0f --- /dev/null +++ b/ogm-aardvark/identifier.csv @@ -0,0 +1,13 @@ +Label,Identifier +URI,https://opengeometadata.org/ogm-aardvark/#identifier +Field Name,dct_identifier_sm +Field Type,Array of strings +Obligation,Suggested +Multivalued,True +Purpose,To provide a general purpose field for identifiers. +Entry Guidelines,"Enter a DOI, catalog number, and/or other system number." +Commentary,"This is a general purpose field that can contain one or more string values. Ideally, at least one value would be a persistent identifier or permalink (such as a PURL or Handle). Additional values could be other identifiers used by the resource, such as the call number, OCLC number, or other system identifier. This field is not displayed in the interface." +Controlled Vocabulary,No +Example Value,"[""5864 .L7 E635 1998 .G7""]" +Element Set,DCMI +Group,"[Identifiers](../ogm-aardvark/#identifiers)" diff --git a/ogm-aardvark/index-year.csv b/ogm-aardvark/index-year.csv new file mode 100644 index 00000000..cd5acb7f --- /dev/null +++ b/ogm-aardvark/index-year.csv @@ -0,0 +1,13 @@ +Label,Index Year +URI,https://opengeometadata.org/ogm-aardvark/#index-year +Field Name,gbl_indexYear_im +Field Type,Array of integers +Obligation,Suggested +Multivalued,True +Purpose,"To power the ""Year"" facet and time slider widgets that rely on integers for dates." +Entry Guidelines,Enter one or more 4-digit integers. +Commentary,"Ideally this field should describe the date(s) depicted in a resource. Because it powers the ""Year"" facet, it is one of the key ways users can find items by their date." +Controlled Vocabulary,No +Example Value,"[1980,1981,1982]" +Element Set,GBL +Group,"[Temporal](../ogm-aardvark/#temporal)" diff --git a/ogm-aardvark/index.html b/ogm-aardvark/index.html new file mode 100644 index 00000000..22e0ae4e --- /dev/null +++ b/ogm-aardvark/index.html @@ -0,0 +1,8104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + OGM Aardvark - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

OpenGeoMetadata (OGM) Aardvark Schema

+
+

Tip

+

To read more about certain metadata categories (like "Spatial"), click the hyperlinked headings in the table below.

+
+
+

Descriptive

+ +

Credits

+ +

Categories

+ +

Temporal

+ +
+ +
+

Object

+ + + +

Identifiers

+ +

Admin

+ +
+
+

Key

+

(R) = Required

+

(C) = Conditionally Required

+

(S) = Suggested

+

(v) = Controlled Values

+
+
+


+

Access Rights

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelAccess Rights
URIhttps://opengeometadata.org/ogm-aardvark/#access-rights
Field Namedct_accessRights_s
Field TypeString
ObligationRequired
MultivaluedFalse
PurposeTo clarify to the user if the resource is public (any user can access) or restricted (a user will need to log in to some kind of authentication protocol) and if the application should provide a web service preview and/or a download function.
Entry GuidelinesOnly one of two values are allowed: Public or Restricted.
CommentaryThis field can be set to "Public", which allows users to view and download an item, or "Restricted", which requires a user to log in to an authentication service.
Controlled VocabularyYes - strict
Example Value"Public"
Element SetDCMI
GroupRights
+

Alternative Title

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelAlternative Title
URIhttps://opengeometadata.org/ogm-aardvark/#alternative-title
Field Namedct_alternative_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo provide the user with the another title if needed.
Entry GuidelinesThis could be for a secondary or original title or subtitle.
CommentaryFor discoverability, improving titles for data is encouraged. This field could be a place to keep the original title. It could also be useful for scanned maps. Some have long titles that include MARC subtitle fields, such as 245$b. Whether or not this field should appear in your GeoBlacklight item view pages can be customized in the application.
Controlled VocabularyNo
Example Value["NEZ H Districts"]
Element SetDCMI
GroupDescriptive
+

Bounding Box

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelBounding Box
URIhttps://opengeometadata.org/ogm-aardvark/#bounding-box
Field Namedcat_bbox
Field TypeString
ObligationSuggested
MultivaluedFalse
PurposeTo support overlap ratio boosting in spatial searches.
Entry GuidelinesThis should be a bounding box in this format: ENVELOPE(W,E,N,S).
CommentaryIf the Geometry field uses the ENVELOPE syntax, then these fields will be identical.
Controlled VocabularyNo
Example Value"ENVELOPE(-111.1, -104.0, 45.0, 40.9)"
Element SetDCAT
GroupSpatial
+

Centroid

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelCentroid
URIhttps://opengeometadata.org/ogm-aardvark/#centroid
Field Namedcat_centroid
Field TypeString
ObligationOptional
MultivaluedFalse
PurposeTo display the centerpoint of a resource.
Entry GuidelinesEnter two decimal degree coordinates separated by a comma in this order: latitude, longitude.
CommentaryThis field is currently only supported by customizations to the GeoBlacklight application.
Controlled VocabularyNo
Example Value"46.4218,-94.087"
Element SetDCAT
GroupSpatial
+

Creator

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelCreator
URIhttps://opengeometadata.org/ogm-aardvark/#creator
Field Namedct_creator_sm
Field TypeArray of strings
ObligationSuggested
MultivaluedTrue
PurposeTo credit the person/organization that collected or authored the resource.
Entry GuidelinesThe suggested controlled vocabulary is the Library of Congress Name Authority File.
CommentaryThe distinction between Creator and Publisher is often vague. This field is best reserved for instances in which an individual person has collected, produced, or generated analyses of data (as opposed to an agency releasing a data product or resource). It can be a person or an organization.
Controlled VocabularyNo
Example Value["Geological Survey (U.S.)"]
Element SetDCMI
GroupCredits
+

Date Issued

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelDate Issued
URIhttps://opengeometadata.org/ogm-aardvark/#date-issued
Field Namedct_issued_s
Field TypeString
ObligationOptional
MultivaluedFalse
PurposeTo provide the user with the date when an item was published, and to allow administrators to determine the age of the resource.
Entry GuidelinesA single year is the preferred format. For more precise dates, use the ISO format without the time value: YYYY-MM-DD or YYYY-MM.
CommentaryAlthough the field is optional, it is often useful when a clear Temporal Coverage value is not present. For example, one may want to preserve a dataset with an uncertain lineage, but there is an indicator on a data portal on the date of last update. In most cases, the 4-digit year is sufficient.
Controlled VocabularyNo
Example Value"1999"
Element SetDCMI
GroupTemporal
+

Date Range

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelDate Range
URIhttps://opengeometadata.org/ogm-aardvark/#date-range
Field Namegbl_dateRange_drsim
Field TypeString
ObligationOptional
MultivaluedTrue
PurposeTo power other time widgets that use a date range.
Entry GuidelinesEnter a start date and end date in the Solr date range field convention. In JSON, the value should be formatted as a string that includes the brackets, rather than as an array or list containing a string. Incorrect: ["YYYY TO YYYY"]. Correct: "[YYYY TO YYYY]".
CommentaryThis field is not yet supported by GeoBlacklight, but the application can be customized to use it.
Controlled VocabularyNo
Example Value"[1980 TO 1995]"
Element SetGBL
GroupTemporal
+

Description

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelDescription
URIhttps://opengeometadata.org/ogm-aardvark/#description
Field Namedct_description_sm
Field TypeArray of strings
ObligationSuggested
MultivaluedTrue
PurposeTo provide the user with a summary of the resource.
Entry GuidelinesAt a minimum, this is a reiteration of the title in sentence format. Other relevant information, such as data creation methods, data sources, and special licenses, may also be included.
CommentaryThis field is the second-most prominent value (after Title) that users see when search or browsing for items. Although not required, it is strongly recommended. If the description is minimal or lacking, it can be improved by concatenating available metadata fields, such as title, date, format, and place. This is a plain text field by default, but it can include clickable links if the GeoBlacklight software is customized; see the GeoBlacklight documentation on how to render HTML from a text field.
Controlled VocabularyNo
Example Value"This polygon shapefile represents boundaries of election districts in New York City. It was harvested from the NYC Open Data Portal."
Element SetDCMI
GroupDescriptive
+

Display Note

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelDisplay Note
URIhttps://opengeometadata.org/ogm-aardvark/#display-note
Field Namegbl_displayNote_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo highlight additional information about a resource, such as warnings or tips for using the data.
Entry GuidelinesPrefix the string with "Danger:", "Info:", "Tip:", or "Warning:" to specify the type of note.
CommentaryStarting in GeoBlacklight version 4.1, text in this field is prominently displayed in a shaded box just after the title, with the prefixes controlling the style of the displayed note. Styles and additional prefixes (for example, in other languages) can be added by customizing the GeoBlacklight software; see the v4.1.0 release notes.
Controlled VocabularyNo
Example Value["Danger: This text will be displayed in a red box","Info: This text will be displayed in a blue box","Tip: This text will be displayed in a green box","Warning: This text will be displayed in a yellow box","This is text without a tag and it will be assigned the default 'note' style"]
Element SetGBL
GroupDescriptive
+

File Size

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelFile Size
URIhttps://opengeometadata.org/ogm-aardvark/#file-size
Field Namegbl_fileSize_s
Field TypeString
ObligationOptional
MultivaluedFalse
PurposeTo inform the user of the size of the file download.
Entry GuidelinesEnter the size in megabytes.
CommentaryThis field is intended to give users a sense of how large the data or image they are interested in downloading, and serves to alert users about huge files.
Controlled VocabularyNo
Example Value"25.96 MB"
Element SetGBL
GroupObject
+

Format

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelFormat
URIhttps://opengeometadata.org/ogm-aardvark/#format
Field Namedct_format_s
Field TypeString
ObligationConditionally required
MultivaluedFalse
PurposeTo display to the user the name of the file type as a text string in the download button.
Entry GuidelinesEnter a string describing the file format, preferably from the list of Format Values.
CommentaryThis field is required if the download URL (http://schema.org/downloadUrl) in the References field is configured as a single key:value pair. The field is not required if using the multiple downloads option.
Controlled VocabularyYes - not strict
Example Value"Shapefile"
Element SetDCMI
GroupObject
+

Format Values

+
    +
  • ArcGRID
  • +
  • CD-ROM
  • +
  • DEM
  • +
  • DVD-ROM
  • +
  • Feature Class
  • +
  • Geodatabase
  • +
  • GeoJPEG
  • +
  • GeoJSON
  • +
  • GeoPackage
  • +
  • GeoPDF
  • +
  • GeoTIFF
  • +
  • JPEG
  • +
  • JPEG2000
  • +
  • KML
  • +
  • KMZ
  • +
  • LAS
  • +
  • LAZ
  • +
  • Mixed
  • +
  • MrSID
  • +
  • PDF
  • +
  • PNG
  • +
  • Pulsewaves
  • +
  • Raster Dataset
  • +
  • Shapefile
  • +
  • SQLite Database
  • +
  • Tabular Data
  • +
  • TIFF
  • +
+

Geometry

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelGeometry
URIhttps://opengeometadata.org/ogm-aardvark/#geometry
Field Namelocn_geometry
Field TypeString
ObligationSuggested
MultivaluedFalse
PurposeTo display the extent of the resource and to power the map search.
Entry GuidelinesThis may be a bounding box or more complex geometry. For a bounding box, it should use the ENVELOPE(W,E,N,S) syntax. For a more complex geometry, it should use the WKT ("well-known text") POLYGON or MULTIPOLYGON syntax. Note that WKT polygon vertices should be defined in counter-clockwise order.
CommentarySince this field is not repeatable, multiple polygons should be represented using the WKT "MULTIPOLYGON" syntax. Geometries that span the 180th meridian, aka the antimeridian, should be broken up into multiple bounding boxes or polygons for each side of the earth's hemisphere. This is because Solr, the underlying indexer for GeoBlacklight, cannot interpret these coordinates correctly and will display the geometry improperly (horizontally flipped).
Controlled VocabularyNo
Example ValueSimple bounding box: "ENVELOPE(-111.1, -104.0, 45.0, 40.9)" | Bermuda Triangle: "POLYGON((-80 25, -65 18, -64 33, -80 25))" | Split bounding box for Alaska: "MULTIPOLYGON (((-179.3 51.1, -129.9 51.1, -129.9 71.5, -179.3 71.5, -179.3 51.1)),((172.3 51.2, 179.9 51.2, 179.9 53.1, 172.3 53.1, 172.3 51.2)))"
Element SetLOCN
GroupSpatial
+

Georeferenced

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelGeoreferenced
URIhttps://opengeometadata.org/ogm-aardvark/#georeferenced
Field Namegbl_georeferenced_b
Field TypeBoolean or string
ObligationOptional
MultivaluedFalse
PurposeTo indicate whether or not a scanned map or other imagery has a georeferenced version.
Entry GuidelinesOnly one of two values are allowed: true or false.
CommentaryThis field can be a shortcut for users to find georeferenced maps. Administrators can also employ the Source field to link a paper map with its scan (e.g. a TIFF) and its georeferenced version (e.g. a GeoTIFF).
Controlled VocabularyYes - strict
Example Valuefalse or "false"
Element SetGBL
GroupSpatial
+

ID

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelID
URIhttps://opengeometadata.org/ogm-aardvark/#id
Field Nameid
Field TypeString
ObligationRequired
MultivaluedFalse
PurposeTo provide a unique alpha-numeric ID for the item that will act as the primary key in Solr and to create a unique landing page for the item.
Entry GuidelinesEnter a string of alpha-numeric characters separated by dashes. The ID must be globally unique across all institutions in your GeoBlacklight index.
CommentaryThis field makes up the URL for the resource in GeoBlacklight. It is visible to the user and is used to create permalinks. If having a readable slug is desired, it is common to use the form institution-keyword1-keyword2.
Controlled VocabularyNo
Example Value"princeton-rv042w38t"
Element SetGBL
GroupIdentifiers
+

Identifier

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelIdentifier
URIhttps://opengeometadata.org/ogm-aardvark/#identifier
Field Namedct_identifier_sm
Field TypeArray of strings
ObligationSuggested
MultivaluedTrue
PurposeTo provide a general purpose field for identifiers.
Entry GuidelinesEnter a DOI, catalog number, and/or other system number.
CommentaryThis is a general purpose field that can contain one or more string values. Ideally, at least one value would be a persistent identifier or permalink (such as a PURL or Handle). Additional values could be other identifiers used by the resource, such as the call number, OCLC number, or other system identifier. This field is not displayed in the interface.
Controlled VocabularyNo
Example Value["5864 .L7 E635 1998 .G7"]
Element SetDCMI
GroupIdentifiers
+

Index Year

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelIndex Year
URIhttps://opengeometadata.org/ogm-aardvark/#index-year
Field Namegbl_indexYear_im
Field TypeArray of integers
ObligationSuggested
MultivaluedTrue
PurposeTo power the "Year" facet and time slider widgets that rely on integers for dates.
Entry GuidelinesEnter one or more 4-digit integers.
CommentaryIdeally this field should describe the date(s) depicted in a resource. Because it powers the "Year" facet, it is one of the key ways users can find items by their date.
Controlled VocabularyNo
Example Value[1980,1981,1982]
Element SetGBL
GroupTemporal
+

Is Part Of

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelIs Part Of
URIhttps://opengeometadata.org/ogm-aardvark/#is-part-of
Field Namedct_isPartOf_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo link items that are a subset of another item (e.g. a page in a book, or a map in an atlas).
Entry GuidelinesMake a parent record to group records together. Enter the ID of the parent record(s).
CommentaryThis is one of several fields that describe how records relate to each other. To link to a collection (rather than a book or atlas), see Member Of.
Controlled VocabularyNo
Example Value["77f-0001"]
Element SetDCMI
GroupRelations
+

Is Replaced By

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelIs Replaced By
URIhttps://opengeometadata.org/ogm-aardvark/#is-replaced-by
Field Namedct_isReplacedBy_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo point the user to a newer item(s).
Entry GuidelinesEnter the ID of the newer item(s) that should be used instead.
CommentaryThis field can be used with Replaces to link an original dataset to a newer version. For example, if this dataset has already been cited somewhere but is now deprecated, it can be retained in a repository and this field can be used to link to its newer version.
Controlled VocabularyNo
Example Value["cugir-007933"]
Element SetDCMI
GroupRelations
+

Is Version Of

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelIs Version Of
URIhttps://opengeometadata.org/ogm-aardvark/#is-version-of
Field Namedct_isVersionOf_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo indicate that an item is part of a series of resources that are updated or altered and to provide a link to a different variant or adaption.
Entry GuidelinesEnter the ID of the most recent related record OR create a parent record to group versions together.
CommentaryIf entering the ID of a parent record, see Member Of and Is Part Of for similar examples.
Controlled VocabularyNo
Example Value["xyz-1234"]
Element SetDCMI
GroupRelations
+

Keyword

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelKeyword
URIhttps://opengeometadata.org/ogm-aardvark/#keyword
Field Namedcat_keyword_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo improve search results with hidden free text tags and to give administrators a field for internal tags.
Entry GuidelinesEnter tags that will be useful for enhancing searches and interpretation. Keywords will be in the metadata, but will be hidden to the user by default.
CommentaryThis field may be used for administrative purposes or to facilitate text searching without cluttering a facet or interface. They may be helpful for grouping items by an accession code or for alternate spellings of common terms.
Controlled VocabularyNo
Example Value["covid19", "vaccination rate"]
Element SetDCAT
GroupCategories
+

Language

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelLanguage
URIhttps://opengeometadata.org/ogm-aardvark/#language
Field Namedct_language_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo provide the user with the language of the resource.
Entry GuidelinesEnter a 3-letter code using the ISO 639-2 standard.
CommentaryThis field is intended to indicate the language of the dataset, map, and/or supporting documentation.
Controlled VocabularyYes - not strict. Ideally, choose from the ISO 639-3 language codes in the list of Language Values below.
Example Value["eng"]
Element SetDCMI
GroupDescriptive
+

Language Values

+

See Library of Congress for full list.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
English Name of LanguageISO 639-2
Abkhazianabk
Achineseace
Acoliach
Adangmeada
Adygeiady
Adygheady
Afaraar
Afrihiliafh
Afrikaansafr
Afro-Asiatic languagesafa
Ainuain
Akanaka
Akkadianakk
Albanianalb/sqi
Alemannicgsw
Aleutale
Algonquian languagesalg
Alsatiangsw
Altaic languagestut
Amharicamh
Angikaanp
Apache languagesapa
Arabicara
Aragonesearg
Arapahoarp
Arawakarw
Armenianarm/hye
Aromanianrup
Artificial languagesart
Arumanianrup
Assameseasm
Asturianast
Asturleoneseast
Athapascan languagesath
Australian languagesaus
Austronesian languagesmap
Avaricava
Avestanave
Awadhiawa
Aymaraaym
Azerbaijaniaze
Bableast
Balineseban
Baltic languagesbat
Baluchibal
Bambarabam
Bamileke languagesbai
Banda languagesbad
Bantu languagesbnt
Basabas
Bashkirbak
Basquebaq/eus
Batak languagesbtk
Bedawiyetbej
Bejabej
Belarusianbel
Bembabem
Bengaliben
Berber languagesber
Bhojpuribho
Bihari languagesbih
Bikolbik
Bilinbyn
Binibin
Bislamabis
Blinbyn
Blisszbl
Blissymbolicszbl
Blissymbolszbl
Bokmål, Norwegiannob
Bosnianbos
Brajbra
Bretonbre
Buginesebug
Bulgarianbul
Buriatbua
Burmesebur/mya
Caddocad
Castilianspa
Catalancat
Caucasian languagescau
Cebuanoceb
Celtic languagescel
Central American Indian languagescai
Central Khmerkhm
Chagataichg
Chamic languagescmc
Chamorrocha
Chechenche
Cherokeechr
Chewanya
Cheyennechy
Chibchachb
Chichewanya
Chinesechi/zho
Chinook jargonchn
Chipewyanchp
Choctawcho
Chuangzha
Church Slavicchu
Church Slavonicchu
Chuukesechk
Chuvashchv
Classical Nepal Bhasanwc
Classical Newarinwc
Classical Syriacsyc
Cook Islands Maorirar
Copticcop
Cornishcor
Corsicancos
Creecre
Creekmus
Creoles and pidginscrp
Creoles and pidgins, English basedcpe
Creoles and pidgins, French-basedcpf
Creoles and pidgins, Portuguese-basedcpp
Crimean Tatarcrh
Crimean Turkishcrh
Croatianhrv
Cushitic languagescus
Czechcze/ces
Dakotadak
Danishdan
Dargwadar
Delawaredel
Dene Sulinechp
Dhivehidiv
Dimilizza
Dimlizza
Dinkadin
Divehidiv
Dogridoi
Dogribdgr
Dravidian languagesdra
Dualadua
Dutchdut/nld
Dutch, Middle (ca.1050-1350)dum
Dyuladyu
Dzongkhadzo
Eastern Frisianfrs
Edobin
Efikefi
Egyptian (Ancient)egy
Ekajukeka
Elamiteelx
Englisheng
English, Middle (1100-1500)enm
English, Old (ca.450-1100)ang
Erzyamyv
Esperantoepo
Estonianest
Eweewe
Ewondoewo
Fangfan
Fantifat
Faroesefao
Fijianfij
Filipinofil
Finnishfin
Finno-Ugrian languagesfiu
Flemishdut/nld
Fonfon
Frenchfre/fra
French, Middle (ca.1400-1600)frm
French, Old (842-ca.1400)fro
Friulianfur
Fulahful
Gagaa
Gaelicgla
Galibi Caribcar
Galicianglg
Gandalug
Gayogay
Gbayagba
Geezgez
Georgiangeo/kat
Germanger/deu
German, Lownds
German, Middle High (ca.1050-1500)gmh
German, Old High (ca.750-1050)goh
Germanic languagesgem
Gikuyukik
Gilbertesegil
Gondigon
Gorontalogor
Gothicgot
Grebogrb
Greek, Ancient (to 1453)grc
Greek, Modern (1453-)gre/ell
Greenlandickal
Guaranigrn
Gujaratiguj
Gwich'ingwi
Haidahai
Haitianhat
Haitian Creolehat
Hausahau
Hawaiianhaw
Hebrewheb
Hereroher
Hiligaynonhil
Himachali languageshim
Hindihin
Hiri Motuhmo
Hittitehit
Hmonghmn
Hungarianhun
Hupahup
Ibaniba
Icelandicice/isl
Idoido
Igboibo
Ijo languagesijo
Ilokoilo
Imperial Aramaic (700-300 BCE)arc
Inari Samismn
Indic languagesinc
Indo-European languagesine
Indonesianind
Ingushinh
Interlingua (International Auxiliary Language Association)ina
Interlingueile
Inuktitutiku
Inupiaqipk
Iranian languagesira
Irishgle
Irish, Middle (900-1200)mga
Irish, Old (to 900)sga
Iroquoian languagesiro
Italianita
Japanesejpn
Javanesejav
Jingphokac
Judeo-Arabicjrb
Judeo-Persianjpr
Kabardiankbd
Kabylekab
Kachinkac
Kalaallisutkal
Kalmykxal
Kambakam
Kannadakan
Kanurikau
Kapampanganpam
Kara-Kalpakkaa
Karachay-Balkarkrc
Kareliankrl
Karen languageskar
Kashmirikas
Kashubiancsb
Kawikaw
Kazakhkaz
Khasikha
Khoisan languageskhi
Khotanesekho
Kikuyukik
Kimbundukmb
Kinyarwandakin
Kirdkizza
Kirghizkir
Kirmanjkizza
Klingontlh
Komikom
Kongokon
Konkanikok
Koreankor
Kosraeankos
Kpellekpe
Kru languageskro
Kuanyamakua
Kumykkum
Kurdishkur
Kurukhkru
Kutenaikut
Kwanyamakua
Kyrgyzkir
Ladinolad
Lahndalah
Lambalam
Land Dayak languagesday
Laolao
Latinlat
Latvianlav
Leoneseast
Letzeburgeschltz
Lezghianlez
Limburganlim
Limburgerlim
Limburgishlim
Lingalalin
Lithuanianlit
Lojbanjbo
Low Germannds
Low Saxonnds
Lower Sorbiandsb
Loziloz
Luba-Katangalub
Luba-Lulualua
Luisenolui
Lule Samismj
Lundalun
Luo (Kenya and Tanzania)luo
Lushailus
Luxembourgishltz
Macedo-Romanianrup
Macedonianmac/mkd
Maduresemad
Magahimag
Maithilimai
Makasarmak
Malagasymlg
Malaymay/msa
Malayalammal
Maldiviandiv
Maltesemlt
Manchumnc
Mandarmdr
Mandingoman
Manipurimni
Manobo languagesmno
Manxglv
Maorimao/mri
Mapuchearn
Mapudungunarn
Marathimar
Marichm
Marshallesemah
Marwarimwr
Masaimas
Mayan languagesmyn
Mendemen
Mi'kmaqmic
Micmacmic
Minangkabaumin
Mirandesemwl
Mohawkmoh
Mokshamdf
Moldavianrum/ron
Moldovanrum/ron
Mon-Khmer languagesmkh
Monghmn
Mongolol
Mongolianmon
Montenegrincnr
Mossimos
Multiple languagesmul
Munda languagesmun
N'Konqo
Nahuatl languagesnah
Naurunau
Navahonav
Navajonav
Ndebele, Northnde
Ndebele, Southnbl
Ndongando
Neapolitannap
Nepal Bhasanew
Nepalinep
Newarinew
Niasnia
Niger-Kordofanian languagesnic
Nilo-Saharan languagesssa
Niueanniu
No linguistic contentzxx
Nogainog
Norse, Oldnon
North American Indian languagesnai
North Ndebelende
Northern Frisianfrr
Northern Samisme
Northern Sothonso
Norwegiannor
Norwegian Bokmålnob
Norwegian Nynorsknno
Not applicablezxx
Nubian languagesnub
Nuosuiii
Nyamwezinym
Nyanjanya
Nyankolenyn
Nynorsk, Norwegiannno
Nyoronyo
Nzimanzi
Occidentalile
Occitan (post 1500)oci
Occitan, Old (to 1500)pro
Official Aramaic (700-300 BCE)arc
Oiratxal
Ojibwaoji
Old Bulgarianchu
Old Church Slavonicchu
Old Newarinwc
Old Slavonicchu
Oriyaori
Oromoorm
Osageosa
Ossetianoss
Osseticoss
Otomian languagesoto
Pahlavipal
Palauanpau
Palipli
Pampangapam
Pangasinanpag
Panjabipan
Papiamentopap
Papuan languagespaa
Pashtopus
Pedinso
Persianper/fas
Persian, Old (ca.600-400 B.C.)peo
Philippine languagesphi
Phoenicianphn
Pilipinofil
Pohnpeianpon
Polishpol
Portuguesepor
Prakrit languagespra
Provençal, Old (to 1500)pro
Punjabipan
Pushtopus
Quechuaque
Rajasthaniraj
Rapanuirap
Rarotonganrar
Reserved for local useqaa-qtz
Romance languagesroa
Romanianrum/ron
Romanshroh
Romanyrom
Rundirun
Russianrus
Sakankho
Salishan languagessal
Samaritan Aramaicsam
Sami languagessmi
Samoansmo
Sandawesad
Sangosag
Sanskritsan
Santalisat
Sardiniansrd
Sasaksas
Saxon, Lownds
Scotssco
Scottish Gaelicgla
Selkupsel
Semitic languagessem
Sepedinso
Serbiansrp
Serersrr
Shanshn
Shonasna
Sichuan Yiiii
Sicilianscn
Sidamosid
Sign Languagessgn
Siksikabla
Sindhisnd
Sinhalasin
Sinhalesesin
Sino-Tibetan languagessit
Siouan languagessio
Skolt Samisms
Slave (Athapascan)den
Slavic languagessla
Slovakslo/slk
Slovenianslv
Sogdiansog
Somalisom
Songhai languagesson
Soninkesnk
Sorbian languageswen
Sotho, Northernnso
Sotho, Southernsot
South American Indian languagessai
South Ndebelenbl
Southern Altaialt
Southern Samisma
Spanishspa
Sranan Tongosrn
Standard Moroccan Tamazightzgh
Sukumasuk
Sumeriansux
Sundanesesun
Sususus
Swahiliswa
Swatissw
Swedishswe
Swiss Germangsw
Syriacsyr
Tagalogtgl
Tahitiantah
Tai languagestai
Tajiktgk
Tamashektmh
Tamiltam
Tatartat
Telugutel
Terenoter
Tetumtet
Thaitha
Tibetantib/bod
Tigretig
Tigrinyatir
Timnetem
Tivtiv
tlhIngan-Holtlh
Tlingittli
Tok Pisintpi
Tokelautkl
Tonga (Nyasa)tog
Tonga (Tonga Islands)ton
Tsimshiantsi
Tsongatso
Tswanatsn
Tumbukatum
Tupi languagestup
Turkishtur
Turkish, Ottoman (1500-1928)ota
Turkmentuk
Tuvalutvl
Tuviniantyv
Twitwi
Udmurtudm
Ugariticuga
Uighuruig
Ukrainianukr
Umbunduumb
Uncoded languagesmis
Undeterminedund
Upper Sorbianhsb
Urduurd
Uyghuruig
Uzbekuzb
Vaivai
Valenciancat
Vendaven
Vietnamesevie
Volapükvol
Voticvot
Wakashan languageswak
Walloonwln
Waraywar
Washowas
Welshwel/cym
Western Frisianfry
Western Pahari languageshim
Wolaittawal
Wolayttawal
Wolofwol
Xhosaxho
Yakutsah
Yaoyao
Yapeseyap
Yiddishyid
Yorubayor
Yupik languagesypk
Zande languagesznd
Zapoteczap
Zazazza
Zazakizza
Zenagazen
Zhuangzha
Zuluzul
Zunizun
+

License

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelLicense
URIhttps://opengeometadata.org/ogm-aardvark/#license
Field Namedct_license_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo provide URI links to specific, known licenses.
Entry GuidelinesEnter a license URI. Recommended sources are Creative Commons or Open Data Commons.
CommentaryThis field is only for URIs of known licenses. Do not enter a rightsstatement.org statement here, because those belong in the Rights field.
Controlled VocabularyNo
Example Value["https://creativecommons.org/licenses/by/4.0/"]
Element SetDCMI
GroupRights
+

Member Of

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelMember Of
URIhttps://opengeometadata.org/ogm-aardvark/#member-of
Field Namepcdm_memberOf_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo link items that are part of a collection.
Entry GuidelinesMake a collection record to group records together. Enter the ID of the collection-level record.
CommentaryThis is one of several fields that describe how records relate to each other. To link to a book or atlas (rather than a collection), see Is Part Of.
Controlled VocabularyNo
Example Value["xyz-12394"]
Element SetPCDM
GroupRelations
+

Metadata Version

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelMetadata Version
URIhttps://opengeometadata.org/ogm-aardvark/#metadata-version
Field Namegbl_mdVersion_s
Field TypeString
ObligationRequired
MultivaluedFalse
PurposeTo clarify which GeoBlacklight metadata schema is being used.
Entry GuidelinesEnter a string: "GBL 1.0" or "Aardvark".
CommentaryThere have been two metadata schema versions for GeoBlacklight applications: GeoBlacklight 1.0 (abbreviated to GBL 1.0) and OpenGeoMetadata Aardvark (abbreviated to Aardvark).
Controlled VocabularyYes - strict
Example Value"Aardvark"
Element SetGBL
GroupAdmin
+

Modified

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelModified
URIhttps://opengeometadata.org/ogm-aardvark/#modified
Field Namegbl_mdModified_dt
Field TypeString
ObligationRequired
MultivaluedFalse
PurposeTo inform administrators of when the metadata was last touched.
Entry GuidelinesUse the "W3C Date and Time Format" (YYYY-MM-DDThh:mm:ssZ)
CommentaryThis value should indicate when the metadata (not the resource itself) was last modified.
Controlled VocabularyNo
Example Value"2015-01-01T12:00:00Z"
Element SetGBL
GroupAdmin
+

Provider

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelProvider
URIhttps://opengeometadata.org/ogm-aardvark/#provider
Field Nameschema_provider_s
Field TypeString
ObligationSuggested
MultivaluedFalse
PurposeTo clarify which organization holds the resource or acts as the custodian for the metadata record and to help users understand which resources they can access.
Entry GuidelinesThis field can be any string value. However, if the value corresponds to the name of an SVG icon in GeoBlacklight, the icon will display next to the title. See the GeoBlacklight documentation on adding SVG icons for more details.
CommentaryThis field was named Provenance in the GBL 1.0 metadata schema.
Controlled VocabularyYes - not strict
Example Value"University of Minnesota"
Element Setschema.org
GroupCredits
+

Publisher

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelPublisher
URIhttps://opengeometadata.org/ogm-aardvark/#publisher
Field Namedct_publisher_sm
Field TypeArray of strings
ObligationSuggested
MultivaluedTrue
PurposeTo credit the entity that made a resource available for the first time.
Entry GuidelinesThe suggested controlled vocabulary is the Library of Congress Name Authority File.
CommentaryThe distinction between Publisher and Creator for data is often vague. Publishers should be the administrative body or organization that made the original resource available, regardless of who compiled or produced the data.
Controlled VocabularyNo
Example Value["ML InfoMap (Firm)"]
Element SetDCMI
GroupCredits
+

References

+

References URI Keys

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelReferences
URIhttps://opengeometadata.org/ogm-aardvark/#references
Field Namedct_references_s
Field TypeString (serialized JSON)
ObligationSuggested
MultivaluedFalse
PurposeTo provide external URLs for accessing or describing the resource.
Entry GuidelinesThis field defines external services and references using the CatInterOp approach. The field value is a serialized JSON array of key/value pairs, with keys representing namespace URI's and values the URL. See Configure References Links for detailed information about configuring this field.
CommentaryAll of the external links for the resource are listed as a serialized JSON array of key/value pairs. The download key (http://schema.org/downloadUrl) is unique becaues it can be formatted as an array; see the section on multiple downloads for formatting guidelines.
Controlled VocabularyThe "key" part of the key/value pairs are predefined in Reference URIs.
Example Value"{\"http://schema.org/url\":\"http://purl.stanford.edu/bm662dm5913\"}"
Element SetDCMI
GroupLinks
+

Relation

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelRelation
URIhttps://opengeometadata.org/ogm-aardvark/#relation
Field Namedct_relation_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo link items with a general, unspecified relationship to each other.
Entry GuidelinesEnter only the ID of the related item(s).
CommentaryThis is one of several fields that describe how records relate to each other. This field is the most general and should be used when a more specific hierarchical (parent-child) or temporal (version, replaces) relationship cannot be defined.
Controlled VocabularyNo
Example Value["aoeu-987643"]
Element SetDCMI
GroupRelations
+

Replaces

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelReplaces
URIhttps://opengeometadata.org/ogm-aardvark/#replaces
Field Namedct_replaces_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo point the user to a deprecated item(s).
Entry GuidelinesEnter the ID of the deprecated item(s).
CommentaryThis field can be used on its own to point to an older deprecated dataset, or it can be used with Is Replaced By to link a revised version with its original.
Controlled VocabularyNo
Example Value["qrst-71717"]
Element SetDCMI
GroupRelations
+

Resource Class

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelResource Class
URIhttps://opengeometadata.org/ogm-aardvark/#resource-class
Field Namegbl_resourceClass_sm
Field TypeArray of strings
ObligationRequired
MultivaluedTrue
PurposeTo provide a top level set of categories for classifying the item.
Entry GuidelinesChoose one or more terms from the list of Resource Class Values below.
CommentaryThis field is intended to help users sort between significantly different types of resources.
Controlled VocabularyYes - strict
Example Value["Datasets"]
Element SetGBL
GroupCategories
+

Resource Class Values

+
    +
  • Collections
  • +
  • Datasets
  • +
  • Imagery
  • +
  • Maps
  • +
  • Web services
  • +
  • Websites
  • +
  • Other
  • +
+

Resource Type

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelResource Type
URIhttps://opengeometadata.org/ogm-aardvark/#resource-type
Field Namegbl_resourceType_sm
Field TypeArray of strings
ObligationSuggested
MultivaluedTrue
PurposeTo provide a secondary level of categories for classifying the spatial type or structure of a dataset.
Entry GuidelinesChoose one or more terms from the lists of Library of Congress or OpenGeoMetadata Resource Type Values below. Other terms are allowed.
CommentaryThis field combines an established list of terms for scanned maps (Cartographic Genres) and a custom list for geospatial data types. Additional terms are welcome - please submit them to the community for review and inclusion into the official vocabulary.
Controlled VocabularyYes - not strict
Example Value["Point data"]
Element SetGBL
GroupCategories
+

Resource Type Values-LOC

+

The following table lists terms from the Library of Congress Cartographic Genres. These values will be most applicable to scanned maps.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TermTerm URI
Aerial photographshttp://id.loc.gov/authorities/genreForms/gf2011026032
Aerial viewshttp://id.loc.gov/authorities/genreForms/gf2011026033
Aeronautical chartshttp://id.loc.gov/authorities/genreForms/gf2011026034
Armillary sphereshttp://id.loc.gov/authorities/genreForms/gf2011026800
Astronautical chartshttp://id.loc.gov/authorities/genreForms/gf2011026055
Astronomical modelshttp://id.loc.gov/authorities/genreForms/gf2011026056
Atlaseshttp://id.loc.gov/authorities/genreForms/gf2011026058
Bathymetric mapshttp://id.loc.gov/authorities/genreForms/gf2011026081
Block diagramshttp://id.loc.gov/authorities/genreForms/gf2011026093
Bottle-chartshttp://id.loc.gov/authorities/genreForms/gf2011026097
Cadastral mapshttp://id.loc.gov/authorities/genreForms/gf2011026106
Cartographic materialshttp://id.loc.gov/authorities/genreForms/gf2011026113
Cartographic materials for people with visual disabilitieshttp://id.loc.gov/authorities/genreForms/gf2015026018
Celestial chartshttp://id.loc.gov/authorities/genreForms/gf2011026116
Celestial globeshttp://id.loc.gov/authorities/genreForms/gf2011026117
Census datahttp://id.loc.gov/authorities/genreForms/gf2014026059
Children's atlaseshttp://id.loc.gov/authorities/genreForms/gf2011026121
Children's mapshttp://id.loc.gov/authorities/genreForms/gf2011026124
Comparative mapshttp://id.loc.gov/authorities/genreForms/gf2011026155
Composite atlaseshttp://id.loc.gov/authorities/genreForms/gf2011026057
Digital elevation modelshttp://id.loc.gov/authorities/genreForms/gf2011026787
Digital mapshttp://id.loc.gov/authorities/genreForms/gf2011026199
Early mapshttp://id.loc.gov/authorities/genreForms/gf2011026218
Ephemerideshttp://id.loc.gov/authorities/genreForms/gf2013025048
Ethnographic mapshttp://id.loc.gov/authorities/genreForms/gf2014026012
Fire insurance mapshttp://id.loc.gov/authorities/genreForms/gf2011026284
Flow mapshttp://id.loc.gov/authorities/genreForms/gf2011026756
Gazetteershttp://id.loc.gov/authorities/genreForms/gf2011026811
Geological cross-sectionshttp://id.loc.gov/authorities/genreForms/gf2011026295
Geological mapshttp://id.loc.gov/authorities/genreForms/gf2011026296
Globeshttp://id.loc.gov/authorities/genreForms/gf2011026300
Gores (Maps)http://id.loc.gov/authorities/genreForms/gf2011026304
Gravity anomaly mapshttp://id.loc.gov/authorities/genreForms/gf2010025067
Index mapshttp://id.loc.gov/authorities/genreForms/gf2011026325
Linguistic atlaseshttp://id.loc.gov/authorities/genreForms/gf2011026365
Loran chartshttp://id.loc.gov/authorities/genreForms/gf2011026374
Manuscript mapshttp://id.loc.gov/authorities/genreForms/gf2011026385
Mappae mundihttp://id.loc.gov/authorities/genreForms/gf2011026386
Mental mapshttp://id.loc.gov/authorities/genreForms/gf2012025033
Meteorological chartshttp://id.loc.gov/authorities/genreForms/gf2011026394
Military mapshttp://id.loc.gov/authorities/genreForms/gf2011026396
Mine mapshttp://id.loc.gov/authorities/genreForms/gf2011026399
Miniature mapshttp://id.loc.gov/authorities/genreForms/gf2011026400
Nautical chartshttp://id.loc.gov/authorities/genreForms/gf2011026418
Outline mapshttp://id.loc.gov/authorities/genreForms/gf2011026434
Photogrammetric mapshttp://id.loc.gov/authorities/genreForms/gf2012025032
Photomapshttp://id.loc.gov/authorities/genreForms/gf2011026755
Physical mapshttp://id.loc.gov/authorities/genreForms/gf2011026440
Pictorial mapshttp://id.loc.gov/authorities/genreForms/gf2011026441
Plotting chartshttp://id.loc.gov/authorities/genreForms/gf2011026449
Portolan chartshttp://id.loc.gov/authorities/genreForms/gf2011026462
Quadrangle mapshttp://id.loc.gov/authorities/genreForms/gf2011026482
Relief modelshttp://id.loc.gov/authorities/genreForms/gf2011026525
Remote-sensing mapshttp://id.loc.gov/authorities/genreForms/gf2011026531
Road mapshttp://id.loc.gov/authorities/genreForms/gf2011026536
Statistical mapshttp://id.loc.gov/authorities/genreForms/gf2011026610
Stick chartshttp://id.loc.gov/authorities/genreForms/gf2011026613
Strip mapshttp://id.loc.gov/authorities/genreForms/gf2011026617
Thematic mapshttp://id.loc.gov/authorities/genreForms/gf2011026690
Topographic mapshttp://id.loc.gov/authorities/genreForms/gf2011026697
Tourist mapshttp://id.loc.gov/authorities/genreForms/gf2011026699
Upside-down mapshttp://id.loc.gov/authorities/genreForms/gf2012025007
Wall mapshttp://id.loc.gov/authorities/genreForms/gf2011026728
World atlaseshttp://id.loc.gov/authorities/genreForms/gf2011026742
World mapshttp://id.loc.gov/authorities/genreForms/gf2011026743
Worm's-eye viewshttp://id.loc.gov/authorities/genreForms/gf2011026744
Zoning mapshttp://id.loc.gov/authorities/genreForms/gf2011026752
+

Resource Type Values-OGM

+

The following table lists terms from the OpenGeoMetadata community. They are most applicable to geospatial data.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TermDefinition
AnnotationsText or graphics that label information about features
BasemapsBackground map that provides geographical context for other data layers
LiDARElevation data, often provided as a point cloud or DEM
Line dataXY coordinate-based (vector) data represented as lines
Mesh dataUnstructured grid of vertices, edges, and faces, often with a temporal component; common formats include NetCDF, GRIB, XMDF, DAT, 3Di
Multi-spectral dataRaster data with more than 1 band, often capturing a range of visible and non-visible light (e.g. near-infrared)
Oblique photographsPhotos taken from the air or other elevated point at an angle of around 45 degrees
Point cloud dataXYZ coordinate data, often captured through LiDAR, 3D scanning, or photogrammetry and used to create 3D models
Point dataXY coordinate-based (vector) data represented as points
Polygon dataXY coordinate-based (vector) data represented as polygons
Raster dataStructured grid containing 1+ bands of decimal or integer data
Satellite imageryPhotos or radar images captured of the earth from orbiting satellites
Streetview photographsPhotos taken at an angle parallel to the ground surface (i.e. most photos taken while standing on the ground)
Table dataStructured tabular data
+

Rights

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelRights
URIhttps://opengeometadata.org/ogm-aardvark/#rights_1
Field Namedct_rights_sm
Field TypeArray of strings
ObligationSuggested
MultivaluedTrue
PurposeTo provide a free text field for rights information, such as usage, access, or copyright.
Entry GuidelinesEnter free text of generic, catch-all access and usage rights.
CommentaryThis field is intended to be flexible to accommodate different types of rights and disclaimers. Users are encouraged to adopt one of the rightsstatements.org statements. This is a plain text field by default, but it can include clickable links if the GeoBlacklight software is customized; see the GeoBlacklight documentation on how to render HTML from a text field.
Controlled VocabularyNo
Example Value"All data is copyrighted by China Data Center and/or its suppliers. Derived works that include the source data must be merged with other value-added data in such a way that the derived work cannot be converted back to the original source data format. This data is licensed by UC Berkeley for research, educational, and other non-commercial use by authorized users, which include persons affiliated with UC Berkeley and walk-in users who must access the data in person at the library. https://rightsstatements.org/page/InC/1.0/?language=en."
Element SetDCMI
GroupRights
+

Rights Holder

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelRights Holder
URIhttps://opengeometadata.org/ogm-aardvark/#rights-holder
Field Namedct_rightsHolder_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo clarify which person or organization owns or controls the rights for this version of the item.
Entry GuidelinesEnter the name of the person or organization. If applicable, the suggested controlled vocabulary is the Library of Congress Name Authority File.
CommentaryThis field can be used for instances in which an an organization owns or otherwise controls access of a digital copy of an analog resource. This is different from Provider, which refers more to the resource or metadata steward.
Controlled VocabularyNo
Example Value"Johns Hopkins University Libraries"
Element SetDCMI
GroupRights
+

Source

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelSource
URIhttps://opengeometadata.org/ogm-aardvark/#source
Field Namedct_source_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo link items that have been derived from another item (e.g. a digitized shapefile from a historical map).
Entry GuidelinesEnter the ID of the item(s) from which the resource was derived.
CommentaryThis is one of several fields that describe how records relate to each other. This field is intended to describe a derivate relationship where the resource is based wholly on another, rather than being a version of it (see Is Version Of).
Controlled VocabularyNo
Example Value["abcd-988763"]
Element SetDCMI
GroupRelations
+

Spatial Coverage

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelSpatial Coverage
URIhttps://opengeometadata.org/ogm-aardvark/#spatial-coverage
Field Namedct_spatial_sm
Field TypeArray of strings
ObligationSuggested
MultivaluedTrue
PurposeTo provide the user with a list of searchable and selectable place names.
Entry GuidelinesPlace name text strings should be specified out to the nation level. It is typical for the place name to represent the largest extent the data layer represents. Our recommended thesaurus is GeoNames.
CommentaryIt is recommended to have at least one place name for each layer that corresponds to the logical extent of the area of that layer.
Controlled VocabularyNo
Example Value["Philadelphia, Pennsylvania, United States"]
Element SetDCMI
GroupSpatial
+

Subject

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelSubject
URIhttps://opengeometadata.org/ogm-aardvark/#subject
Field Namedct_subject_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo provide an all-purpose field for subjects.
Entry GuidelinesAny value is allowed, but controlled vocabularies are encouraged.
CommentaryInstitutions may rely on existing vocabularies specific to a field or project, or they may choose to develop their own set of controlled vocabularies.
Controlled VocabularyNo
Example Value["Elections", "Voting"]
Element SetDCMI
GroupCategories
+

Suppressed

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelSuppressed
URIhttps://opengeometadata.org/ogm-aardvark/#suppressed
Field Namegbl_suppressed_b
Field TypeBoolean or string
ObligationOptional
MultivaluedFalse
PurposeTo hide items from users in the search results. If set to "true", the record will not appear in search results. It is still accessible from the data relations widgets and via direct URL.
Entry GuidelinesOnly one of two values are allowed: true or false.
CommentaryThis field is useful for multipart items with identical metadata, such as pages in an atlas or series.
Controlled VocabularyYes - strict
Example Valuetrue or "true"
Element SetGBL
GroupAdmin
+

Temporal Coverage

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelTemporal Coverage
URIhttps://opengeometadata.org/ogm-aardvark/#temporal-coverage
Field Namedct_temporal_sm
Field TypeArray of strings
ObligationSuggested
MultivaluedTrue
PurposeTo provide the user with a free text description of the time period or ranges of what is depicted in the resource.
Entry GuidelinesThis is a text string and can indicate uncertainty.
CommentarySince this field is multi-valued, multiple strings can be used to indicate the time period the resource depicts, when the data was collected, and/or when the resources was created.
Controlled VocabularyNo
Example Value["1980-1995", "Late 20th century"]
Element SetDCMI
GroupTemporal
+

Theme

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelTheme
URIhttps://opengeometadata.org/ogm-aardvark/#theme
Field Namedcat_theme_sm
Field TypeArray of strings
ObligationOptional
MultivaluedTrue
PurposeTo provide a dedicated field that is restricted to terms based on ISO Topic Categories.
Entry GuidelinesInsert one or more of the values from the list of Theme Values below.
CommentaryAlthough ISO Topic categories are well established and widely used, the spellings of these terms vary across domains and disciplines. The Aardvark schema uses shortened terms for better readability, and adds three new values "Events", "Imagery", and "Land Cover" (the latter two split from imageryBaseMapsEarthCover).
Controlled VocabularyYes - strict
Example Value["Boundaries", "Land Cover"]
Element SetDCAT
GroupCategories
+

Theme Values

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ThemeRelated ISO Topic CategoryDefinition (from NOAA)
AgriculturefarmingRearing of animals and/or cultivation of plants. Examples: agriculture, irrigation, aquaculture, plantations, herding, pests and diseases affecting crops and livestock.
BiologybiotaFlora and/or fauna in natural environment. Examples: wildlife, vegetation, biological sciences, ecology, wilderness, sealife, wetlands, habitat.
BoundariesboundariesLegal land descriptions. Examples: political and administrative boundaries.
ClimateclimatologyMeteorologyAtmosphereProcesses and phenomena of the atmosphere. Examples: cloud cover, weather, climate, atmospheric conditions, climate change, precipitation.
EconomyeconomyEconomic activities, conditions and employment. Examples: production, labour, revenue, commerce, industry, tourism and ecotourism, forestry, fisheries, commercial or subsistence hunting, exploration and exploitation of resources such as minerals, oil and gas.
ElevationelevationHeight above or below sea level. Examples: altitude, bathymetry, digital elevation models, LiDAR datasets, slope, derived products, topographic maps.
EnvironmentenvironmentEnvironmental resources, protection and conservation. Examples: environmental pollution, waste storage and treatment, environmental impact assessment, monitoring environmental risk, nature reserves, landscape.
Eventssociety; climatologyMeteorologyAtmosphereExamples: natural disasters, concerts, races, protests, arrests, accidents, Covid cases.
GeologygeoscientificInformationInformation pertaining to earth sciences. Examples: geophysical features and processes, geology, minerals, sciences dealing with the composition, structure and origin of the earth’s rocks, risks of earthquakes, volcanic activity, landslides, gravity information, soils, permafrost, hydrogeology, erosion.
HealthhealthHealth, health services, human ecology, and safety. Examples: disease and illness, factors affecting health, hygiene, substance abuse, mental and physical health, health services.
ImageryimageryBaseMapsEarthCoverImagery of the earth's surface. Examples: aerial photos, oblique and streetview imagery, orthoimagery, satellite photos and multispectral imagery.
Inland WatersinlandWatersInland water features, drainage systems and their characteristics. Examples: rivers and glaciers, salt lakes, water utilization plans, dams, currents, floods, water quality, hydrographic charts.
Land CoverimageryBaseMapsEarthCoverClassifications about natural features on the Earth's surface. Examples: forests, wetlands, impervious surfaces, agriculture, open water.
LocationlocationPositional information and services. Examples: addresses, geodetic networks, control points, postal zones and services, place names.
MilitaryintelligenceMilitaryExamples: Military bases, structures, activities Examples: barracks, training grounds, military transportation, information collection.
Oceansoceansfeatures and characteristics of salt water bodies (excluding inland waters) Examples: tides, tidal waves, coastal information, reefs.
PropertyplanningCadastreInformation used for appropriate actions for future use of the land. Examples: land use maps, zoning maps, cadastral surveys, land ownership.
SocietysocietyCharacteristics of society and cultures. Examples: settlements, anthropology, archaeology, education, traditional beliefs, manners and customs, demographic data, recreational areas and activities, social impact assessments, crime and justice, census information.
StructurestructureMan-made construction. Examples: buildings, museums, churches, factories, housing, monuments, shops, towers.
TransportationtransportationMeans and aids for conveying persons and/or goods. Examples: roads, airports/airstrips, shipping routes, tunnels, nautical charts, vehicle or vessel location, aeronautical charts, railways.
UtilitiesutilitiesCommunicationEnergy, water and waste systems and communications infrastructure and services. Examples: hydroelectricity, geothermal, solar and nuclear sources of energy, water purification and distribution, sewage collection and disposal, electricity and gas distribution, data communication, telecommunication, radio, communication networks.
+

Title

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelTitle
URIhttps://opengeometadata.org/ogm-aardvark/#title
Field Namedct_title_s
Field TypeString
ObligationRequired
MultivaluedFalse
PurposeTo provide the user with the name of the resource.
Entry GuidelinesTitles should include place names and dates when available.
CommentaryThe title is the most prominent metadata field that users see when browsing or scanning search results. Since many datasets are created with ambiguous or non-unique titles, it may be worth the effort to improve or enhance them. The ideal sequence of a title is something akin to "Topic of Layer: Place, Year." Putting the year at the end of a title produces better search results, since titles are left-anchored.
Controlled VocabularyNo
Example Value"Address Points: Ann Arbor, Michigan, 2010"
Element SetDCMI
GroupDescriptive
+

WxS Identifier

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LabelWxS Identifier
URIhttps://opengeometadata.org/ogm-aardvark/#wxs-identifier
Field Namegbl_wxsIdentifier_s
Field TypeString
ObligationConditionally required
MultivaluedFalse
PurposeTo identify the layer or store for a WFS, WMS, or WCS web service so the application can construct the full web service link.
Entry GuidelinesOnly the layer name is added here. The base service endpoint URLs (e.g. "https://maps-public.geo.nyu.edu/geoserver/sdr/wms") are added to the References field.
CommentaryThis value is only used when a WxS service is listed in the References field. The WxS Identifer is used to point to specific layers within an OGC geospatial web service. This field is not used for ArcGIS Rest Services.
Controlled VocabularyNo
Example Value"druid:vr593vj7147"
Element SetGBL
GroupLinks
+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/ogm-aardvark/is-part-of.csv b/ogm-aardvark/is-part-of.csv new file mode 100644 index 00000000..d1c19352 --- /dev/null +++ b/ogm-aardvark/is-part-of.csv @@ -0,0 +1,13 @@ +Label,Is Part Of +URI,https://opengeometadata.org/ogm-aardvark/#is-part-of +Field Name,dct_isPartOf_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,"To link items that are a subset of another item (e.g. a page in a book, or a map in an atlas)." +Entry Guidelines,Make a parent record to group records together. Enter the ID of the parent record(s). +Commentary,"This is one of several fields that describe how records relate to each other. To link to a collection (rather than a book or atlas), see [Member Of](../ogm-aardvark/#member-of)." +Controlled Vocabulary,No +Example Value,"[""77f-0001""]" +Element Set,DCMI +Group,"[Relations](../ogm-aardvark/#relations)" diff --git a/ogm-aardvark/is-replaced-by.csv b/ogm-aardvark/is-replaced-by.csv new file mode 100644 index 00000000..e89ad85d --- /dev/null +++ b/ogm-aardvark/is-replaced-by.csv @@ -0,0 +1,13 @@ +Label,Is Replaced By +URI,https://opengeometadata.org/ogm-aardvark/#is-replaced-by +Field Name,dct_isReplacedBy_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,To point the user to a newer item(s). +Entry Guidelines,Enter the ID of the newer item(s) that should be used instead. +Commentary,"This field can be used with [Replaces](../ogm-aardvark/#replaces) to link an original dataset to a newer version. For example, if this dataset has already been cited somewhere but is now deprecated, it can be retained in a repository and this field can be used to link to its newer version." +Controlled Vocabulary,No +Example Value,"[""cugir-007933""]" +Element Set,DCMI +Group,"[Relations](../ogm-aardvark/#relations)" diff --git a/ogm-aardvark/is-version-of.csv b/ogm-aardvark/is-version-of.csv new file mode 100644 index 00000000..26f62938 --- /dev/null +++ b/ogm-aardvark/is-version-of.csv @@ -0,0 +1,13 @@ +Label,Is Version Of +URI,https://opengeometadata.org/ogm-aardvark/#is-version-of +Field Name,dct_isVersionOf_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,To indicate that an item is part of a series of resources that are updated or altered and to provide a link to a different variant or adaption. +Entry Guidelines,Enter the ID of the most recent related record OR create a parent record to group versions together. +Commentary,"If entering the ID of a parent record, see [Member Of](../ogm-aardvark/#member-of) and [Is Part Of](../ogm-aardvark/#is-part-of) for similar examples." +Controlled Vocabulary,No +Example Value,"[""xyz-1234""]" +Element Set,DCMI +Group,"[Relations](../ogm-aardvark/#relations)" diff --git a/ogm-aardvark/keyword.csv b/ogm-aardvark/keyword.csv new file mode 100644 index 00000000..b9344c8c --- /dev/null +++ b/ogm-aardvark/keyword.csv @@ -0,0 +1,13 @@ +Label,Keyword +URI,https://opengeometadata.org/ogm-aardvark/#keyword +Field Name,dcat_keyword_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,To improve search results with hidden free text tags and to give administrators a field for internal tags. +Entry Guidelines,"Enter tags that will be useful for enhancing searches and interpretation. Keywords will be in the metadata, but will be hidden to the user by default." +Commentary,This field may be used for administrative purposes or to facilitate text searching without cluttering a facet or interface. They may be helpful for grouping items by an accession code or for alternate spellings of common terms. +Controlled Vocabulary,No +Example Value,"[""covid19"", ""vaccination rate""]" +Element Set,DCAT +Group,"[Categories](../ogm-aardvark/#categories)" diff --git a/ogm-aardvark/language-vocabulary.csv b/ogm-aardvark/language-vocabulary.csv new file mode 100644 index 00000000..52b546e1 --- /dev/null +++ b/ogm-aardvark/language-vocabulary.csv @@ -0,0 +1,567 @@ +English Name of Language,ISO 639-2 +Abkhazian,abk +Achinese,ace +Acoli,ach +Adangme,ada +Adygei,ady +Adyghe,ady +Afar,aar +Afrihili,afh +Afrikaans,afr +Afro-Asiatic languages,afa +Ainu,ain +Akan,aka +Akkadian,akk +Albanian,alb/sqi +Alemannic,gsw +Aleut,ale +Algonquian languages,alg +Alsatian,gsw +Altaic languages,tut +Amharic,amh +Angika,anp +Apache languages,apa +Arabic,ara +Aragonese,arg +Arapaho,arp +Arawak,arw +Armenian,arm/hye +Aromanian,rup +Artificial languages,art +Arumanian,rup +Assamese,asm +Asturian,ast +Asturleonese,ast +Athapascan languages,ath +Australian languages,aus +Austronesian languages,map +Avaric,ava +Avestan,ave +Awadhi,awa +Aymara,aym +Azerbaijani,aze +Bable,ast +Balinese,ban +Baltic languages,bat +Baluchi,bal +Bambara,bam +Bamileke languages,bai +Banda languages,bad +Bantu languages,bnt +Basa,bas +Bashkir,bak +Basque,baq/eus +Batak languages,btk +Bedawiyet,bej +Beja,bej +Belarusian,bel +Bemba,bem +Bengali,ben +Berber languages,ber +Bhojpuri,bho +Bihari languages,bih +Bikol,bik +Bilin,byn +Bini,bin +Bislama,bis +Blin,byn +Bliss,zbl +Blissymbolics,zbl +Blissymbols,zbl +"Bokmål, Norwegian",nob +Bosnian,bos +Braj,bra +Breton,bre +Buginese,bug +Bulgarian,bul +Buriat,bua +Burmese,bur/mya +Caddo,cad +Castilian,spa +Catalan,cat +Caucasian languages,cau +Cebuano,ceb +Celtic languages,cel +Central American Indian languages,cai +Central Khmer,khm +Chagatai,chg +Chamic languages,cmc +Chamorro,cha +Chechen,che +Cherokee,chr +Chewa,nya +Cheyenne,chy +Chibcha,chb +Chichewa,nya +Chinese,chi/zho +Chinook jargon,chn +Chipewyan,chp +Choctaw,cho +Chuang,zha +Church Slavic,chu +Church Slavonic,chu +Chuukese,chk +Chuvash,chv +Classical Nepal Bhasa,nwc +Classical Newari,nwc +Classical Syriac,syc +Cook Islands Maori,rar +Coptic,cop +Cornish,cor +Corsican,cos +Cree,cre +Creek,mus +Creoles and pidgins,crp +"Creoles and pidgins, English based",cpe +"Creoles and pidgins, French-based",cpf +"Creoles and pidgins, Portuguese-based",cpp +Crimean Tatar,crh +Crimean Turkish,crh +Croatian,hrv +Cushitic languages,cus +Czech,cze/ces +Dakota,dak +Danish,dan +Dargwa,dar +Delaware,del +Dene Suline,chp +Dhivehi,div +Dimili,zza +Dimli,zza +Dinka,din +Divehi,div +Dogri,doi +Dogrib,dgr +Dravidian languages,dra +Duala,dua +Dutch,dut/nld +"Dutch, Middle (ca.1050-1350)",dum +Dyula,dyu +Dzongkha,dzo +Eastern Frisian,frs +Edo,bin +Efik,efi +Egyptian (Ancient),egy +Ekajuk,eka +Elamite,elx +English,eng +"English, Middle (1100-1500)",enm +"English, Old (ca.450-1100)",ang +Erzya,myv +Esperanto,epo +Estonian,est +Ewe,ewe +Ewondo,ewo +Fang,fan +Fanti,fat +Faroese,fao +Fijian,fij +Filipino,fil +Finnish,fin +Finno-Ugrian languages,fiu +Flemish,dut/nld +Fon,fon +French,fre/fra +"French, Middle (ca.1400-1600)",frm +"French, Old (842-ca.1400)",fro +Friulian,fur +Fulah,ful +Ga,gaa +Gaelic,gla +Galibi Carib,car +Galician,glg +Ganda,lug +Gayo,gay +Gbaya,gba +Geez,gez +Georgian,geo/kat +German,ger/deu +"German, Low",nds +"German, Middle High (ca.1050-1500)",gmh +"German, Old High (ca.750-1050)",goh +Germanic languages,gem +Gikuyu,kik +Gilbertese,gil +Gondi,gon +Gorontalo,gor +Gothic,got +Grebo,grb +"Greek, Ancient (to 1453)",grc +"Greek, Modern (1453-)",gre/ell +Greenlandic,kal +Guarani,grn +Gujarati,guj +Gwich'in,gwi +Haida,hai +Haitian,hat +Haitian Creole,hat +Hausa,hau +Hawaiian,haw +Hebrew,heb +Herero,her +Hiligaynon,hil +Himachali languages,him +Hindi,hin +Hiri Motu,hmo +Hittite,hit +Hmong,hmn +Hungarian,hun +Hupa,hup +Iban,iba +Icelandic,ice/isl +Ido,ido +Igbo,ibo +Ijo languages,ijo +Iloko,ilo +Imperial Aramaic (700-300 BCE),arc +Inari Sami,smn +Indic languages,inc +Indo-European languages,ine +Indonesian,ind +Ingush,inh +Interlingua (International Auxiliary Language Association),ina +Interlingue,ile +Inuktitut,iku +Inupiaq,ipk +Iranian languages,ira +Irish,gle +"Irish, Middle (900-1200)",mga +"Irish, Old (to 900)",sga +Iroquoian languages,iro +Italian,ita +Japanese,jpn +Javanese,jav +Jingpho,kac +Judeo-Arabic,jrb +Judeo-Persian,jpr +Kabardian,kbd +Kabyle,kab +Kachin,kac +Kalaallisut,kal +Kalmyk,xal +Kamba,kam +Kannada,kan +Kanuri,kau +Kapampangan,pam +Kara-Kalpak,kaa +Karachay-Balkar,krc +Karelian,krl +Karen languages,kar +Kashmiri,kas +Kashubian,csb +Kawi,kaw +Kazakh,kaz +Khasi,kha +Khoisan languages,khi +Khotanese,kho +Kikuyu,kik +Kimbundu,kmb +Kinyarwanda,kin +Kirdki,zza +Kirghiz,kir +Kirmanjki,zza +Klingon,tlh +Komi,kom +Kongo,kon +Konkani,kok +Korean,kor +Kosraean,kos +Kpelle,kpe +Kru languages,kro +Kuanyama,kua +Kumyk,kum +Kurdish,kur +Kurukh,kru +Kutenai,kut +Kwanyama,kua +Kyrgyz,kir +Ladino,lad +Lahnda,lah +Lamba,lam +Land Dayak languages,day +Lao,lao +Latin,lat +Latvian,lav +Leonese,ast +Letzeburgesch,ltz +Lezghian,lez +Limburgan,lim +Limburger,lim +Limburgish,lim +Lingala,lin +Lithuanian,lit +Lojban,jbo +Low German,nds +Low Saxon,nds +Lower Sorbian,dsb +Lozi,loz +Luba-Katanga,lub +Luba-Lulua,lua +Luiseno,lui +Lule Sami,smj +Lunda,lun +Luo (Kenya and Tanzania),luo +Lushai,lus +Luxembourgish,ltz +Macedo-Romanian,rup +Macedonian,mac/mkd +Madurese,mad +Magahi,mag +Maithili,mai +Makasar,mak +Malagasy,mlg +Malay,may/msa +Malayalam,mal +Maldivian,div +Maltese,mlt +Manchu,mnc +Mandar,mdr +Mandingo,man +Manipuri,mni +Manobo languages,mno +Manx,glv +Maori,mao/mri +Mapuche,arn +Mapudungun,arn +Marathi,mar +Mari,chm +Marshallese,mah +Marwari,mwr +Masai,mas +Mayan languages,myn +Mende,men +Mi'kmaq,mic +Micmac,mic +Minangkabau,min +Mirandese,mwl +Mohawk,moh +Moksha,mdf +Moldavian,rum/ron +Moldovan,rum/ron +Mon-Khmer languages,mkh +Mong,hmn +Mongo,lol +Mongolian,mon +Montenegrin,cnr +Mossi,mos +Multiple languages,mul +Munda languages,mun +N'Ko,nqo +Nahuatl languages,nah +Nauru,nau +Navaho,nav +Navajo,nav +"Ndebele, North",nde +"Ndebele, South",nbl +Ndonga,ndo +Neapolitan,nap +Nepal Bhasa,new +Nepali,nep +Newari,new +Nias,nia +Niger-Kordofanian languages,nic +Nilo-Saharan languages,ssa +Niuean,niu +No linguistic content,zxx +Nogai,nog +"Norse, Old",non +North American Indian languages,nai +North Ndebele,nde +Northern Frisian,frr +Northern Sami,sme +Northern Sotho,nso +Norwegian,nor +Norwegian Bokmål,nob +Norwegian Nynorsk,nno +Not applicable,zxx +Nubian languages,nub +Nuosu,iii +Nyamwezi,nym +Nyanja,nya +Nyankole,nyn +"Nynorsk, Norwegian",nno +Nyoro,nyo +Nzima,nzi +Occidental,ile +Occitan (post 1500),oci +"Occitan, Old (to 1500)",pro +Official Aramaic (700-300 BCE),arc +Oirat,xal +Ojibwa,oji +Old Bulgarian,chu +Old Church Slavonic,chu +Old Newari,nwc +Old Slavonic,chu +Oriya,ori +Oromo,orm +Osage,osa +Ossetian,oss +Ossetic,oss +Otomian languages,oto +Pahlavi,pal +Palauan,pau +Pali,pli +Pampanga,pam +Pangasinan,pag +Panjabi,pan +Papiamento,pap +Papuan languages,paa +Pashto,pus +Pedi,nso +Persian,per/fas +"Persian, Old (ca.600-400 B.C.)",peo +Philippine languages,phi +Phoenician,phn +Pilipino,fil +Pohnpeian,pon +Polish,pol +Portuguese,por +Prakrit languages,pra +"Provençal, Old (to 1500)",pro +Punjabi,pan +Pushto,pus +Quechua,que +Rajasthani,raj +Rapanui,rap +Rarotongan,rar +Reserved for local use,qaa-qtz +Romance languages,roa +Romanian,rum/ron +Romansh,roh +Romany,rom +Rundi,run +Russian,rus +Sakan,kho +Salishan languages,sal +Samaritan Aramaic,sam +Sami languages,smi +Samoan,smo +Sandawe,sad +Sango,sag +Sanskrit,san +Santali,sat +Sardinian,srd +Sasak,sas +"Saxon, Low",nds +Scots,sco +Scottish Gaelic,gla +Selkup,sel +Semitic languages,sem +Sepedi,nso +Serbian,srp +Serer,srr +Shan,shn +Shona,sna +Sichuan Yi,iii +Sicilian,scn +Sidamo,sid +Sign Languages,sgn +Siksika,bla +Sindhi,snd +Sinhala,sin +Sinhalese,sin +Sino-Tibetan languages,sit +Siouan languages,sio +Skolt Sami,sms +Slave (Athapascan),den +Slavic languages,sla +Slovak,slo/slk +Slovenian,slv +Sogdian,sog +Somali,som +Songhai languages,son +Soninke,snk +Sorbian languages,wen +"Sotho, Northern",nso +"Sotho, Southern",sot +South American Indian languages,sai +South Ndebele,nbl +Southern Altai,alt +Southern Sami,sma +Spanish,spa +Sranan Tongo,srn +Standard Moroccan Tamazight,zgh +Sukuma,suk +Sumerian,sux +Sundanese,sun +Susu,sus +Swahili,swa +Swati,ssw +Swedish,swe +Swiss German,gsw +Syriac,syr +Tagalog,tgl +Tahitian,tah +Tai languages,tai +Tajik,tgk +Tamashek,tmh +Tamil,tam +Tatar,tat +Telugu,tel +Tereno,ter +Tetum,tet +Thai,tha +Tibetan,tib/bod +Tigre,tig +Tigrinya,tir +Timne,tem +Tiv,tiv +tlhIngan-Hol,tlh +Tlingit,tli +Tok Pisin,tpi +Tokelau,tkl +Tonga (Nyasa),tog +Tonga (Tonga Islands),ton +Tsimshian,tsi +Tsonga,tso +Tswana,tsn +Tumbuka,tum +Tupi languages,tup +Turkish,tur +"Turkish, Ottoman (1500-1928)",ota +Turkmen,tuk +Tuvalu,tvl +Tuvinian,tyv +Twi,twi +Udmurt,udm +Ugaritic,uga +Uighur,uig +Ukrainian,ukr +Umbundu,umb +Uncoded languages,mis +Undetermined,und +Upper Sorbian,hsb +Urdu,urd +Uyghur,uig +Uzbek,uzb +Vai,vai +Valencian,cat +Venda,ven +Vietnamese,vie +Volapük,vol +Votic,vot +Wakashan languages,wak +Walloon,wln +Waray,war +Washo,was +Welsh,wel/cym +Western Frisian,fry +Western Pahari languages,him +Wolaitta,wal +Wolaytta,wal +Wolof,wol +Xhosa,xho +Yakut,sah +Yao,yao +Yapese,yap +Yiddish,yid +Yoruba,yor +Yupik languages,ypk +Zande languages,znd +Zapotec,zap +Zaza,zza +Zazaki,zza +Zenaga,zen +Zhuang,zha +Zulu,zul +Zuni,zun \ No newline at end of file diff --git a/ogm-aardvark/language.csv b/ogm-aardvark/language.csv new file mode 100644 index 00000000..f58257f8 --- /dev/null +++ b/ogm-aardvark/language.csv @@ -0,0 +1,13 @@ +Label,Language +URI,https://opengeometadata.org/ogm-aardvark/#language +Field Name,dct_language_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,To provide the user with the language of the resource. +Entry Guidelines,Enter a 3-letter code using the ISO 639-2 standard. +Commentary,"This field is intended to indicate the language of the dataset, map, and/or supporting documentation." +Controlled Vocabulary,"Yes - not strict. Ideally, choose from the ISO 639-3 language codes in the list of [Language Values](../ogm-aardvark/#language-values) below." +Example Value,"[""eng""]" +Element Set,DCMI +Group,"[Descriptive](../ogm-aardvark/#descriptive)" diff --git a/ogm-aardvark/license.csv b/ogm-aardvark/license.csv new file mode 100644 index 00000000..58e68609 --- /dev/null +++ b/ogm-aardvark/license.csv @@ -0,0 +1,13 @@ +Label,License +URI,https://opengeometadata.org/ogm-aardvark/#license +Field Name,dct_license_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,"To provide URI links to specific, known licenses." +Entry Guidelines,"Enter a license URI. Recommended sources are [Creative Commons](https://creativecommons.org/) or [Open Data Commons](https://opendatacommons.org/)." +Commentary,"This field is only for URIs of known licenses. Do not enter a rightsstatement.org statement here, because those belong in the [Rights](../ogm-aardvark/#rights_1) field." +Controlled Vocabulary,No +Example Value,"[""https://creativecommons.org/licenses/by/4.0/""]" +Element Set,DCMI +Group,"[Rights](../ogm-aardvark/#rights)" diff --git a/ogm-aardvark/member-of.csv b/ogm-aardvark/member-of.csv new file mode 100644 index 00000000..f211c50f --- /dev/null +++ b/ogm-aardvark/member-of.csv @@ -0,0 +1,13 @@ +Label,Member Of +URI,https://opengeometadata.org/ogm-aardvark/#member-of +Field Name,pcdm_memberOf_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,To link items that are part of a collection. +Entry Guidelines,Make a collection record to group records together. Enter the ID of the collection-level record. +Commentary,"This is one of several fields that describe how records relate to each other. To link to a book or atlas (rather than a collection), see [Is Part Of](../ogm-aardvark/#is-part-of)." +Controlled Vocabulary,No +Example Value,"[""xyz-12394""]" +Element Set,PCDM +Group,"[Relations](../ogm-aardvark/#relations)" diff --git a/ogm-aardvark/metadata-version.csv b/ogm-aardvark/metadata-version.csv new file mode 100644 index 00000000..73d21ed5 --- /dev/null +++ b/ogm-aardvark/metadata-version.csv @@ -0,0 +1,13 @@ +Label,Metadata Version +URI,https://opengeometadata.org/ogm-aardvark/#metadata-version +Field Name,gbl_mdVersion_s +Field Type,String +Obligation,Required +Multivalued,False +Purpose,To clarify which GeoBlacklight metadata schema is being used. +Entry Guidelines,Enter a string: "GBL 1.0" or "Aardvark". +Commentary,"There have been two metadata schema versions for GeoBlacklight applications: GeoBlacklight 1.0 (abbreviated to GBL 1.0) and OpenGeoMetadata Aardvark (abbreviated to Aardvark)." +Controlled Vocabulary,Yes - strict +Example Value,"""Aardvark""" +Element Set,GBL +Group,"[Admin](../ogm-aardvark/#admin)" diff --git a/ogm-aardvark/modified.csv b/ogm-aardvark/modified.csv new file mode 100644 index 00000000..fec14b3d --- /dev/null +++ b/ogm-aardvark/modified.csv @@ -0,0 +1,13 @@ +Label,Modified +URI,https://opengeometadata.org/ogm-aardvark/#modified +Field Name,gbl_mdModified_dt +Field Type,String +Obligation,Required +Multivalued,False +Purpose,To inform administrators of when the metadata was last touched. +Entry Guidelines,"Use the ""W3C Date and Time Format"" (YYYY-MM-DDThh:mm:ssZ)" +Commentary,This value should indicate when the metadata (not the resource itself) was last modified. +Controlled Vocabulary,No +Example Value,"""2015-01-01T12:00:00Z""" +Element Set,GBL +Group,"[Admin](../ogm-aardvark/#admin)" diff --git a/ogm-aardvark/provider.csv b/ogm-aardvark/provider.csv new file mode 100644 index 00000000..81318d26 --- /dev/null +++ b/ogm-aardvark/provider.csv @@ -0,0 +1,13 @@ +Label,Provider +URI,https://opengeometadata.org/ogm-aardvark/#provider +Field Name,schema_provider_s +Field Type,String +Obligation,Suggested +Multivalued,False +Purpose,To clarify which organization holds the resource or acts as the custodian for the metadata record and to help users understand which resources they can access. +Entry Guidelines,"This field can be any string value. However, if the value corresponds to the name of an SVG icon in GeoBlacklight, the icon will display next to the title. See the [GeoBlacklight documentation](https://geoblacklight.org/docs/customization/adding_svg_icons/) on adding SVG icons for more details." +Commentary,This field was named **Provenance** in the GBL 1.0 metadata schema. +Controlled Vocabulary,Yes - not strict +Example Value,"""University of Minnesota""" +Element Set,schema.org +Group,"[Credits](../ogm-aardvark/#credits)" diff --git a/ogm-aardvark/publisher.csv b/ogm-aardvark/publisher.csv new file mode 100644 index 00000000..041bab83 --- /dev/null +++ b/ogm-aardvark/publisher.csv @@ -0,0 +1,13 @@ +Label,Publisher +URI,https://opengeometadata.org/ogm-aardvark/#publisher +Field Name,dct_publisher_sm +Field Type,Array of strings +Obligation,Suggested +Multivalued,True +Purpose,To credit the entity that made a resource available for the first time. +Entry Guidelines,The suggested controlled vocabulary is the [Library of Congress Name Authority File](https://id.loc.gov/authorities/names.html). +Commentary,"The distinction between Publisher and [Creator](../ogm-aardvark/#creator) for data is often vague. Publishers should be the administrative body or organization that made the original resource available, regardless of who compiled or produced the data." +Controlled Vocabulary,No +Example Value,"[""ML InfoMap (Firm)""]" +Element Set,DCMI +Group,"[Credits](../ogm-aardvark/#credits)" diff --git a/ogm-aardvark/references.csv b/ogm-aardvark/references.csv new file mode 100644 index 00000000..1ddfa4e0 --- /dev/null +++ b/ogm-aardvark/references.csv @@ -0,0 +1,13 @@ +Label,References +URI,https://opengeometadata.org/ogm-aardvark/#references +Field Name,dct_references_s +Field Type,String (serialized JSON) +Obligation,Suggested +Multivalued,False +Purpose,To provide external URLs for accessing or describing the resource. +Entry Guidelines,"This field defines external services and references using the CatInterOp approach. The field value is a serialized JSON array of key/value pairs, with keys representing namespace URI's and values the URL. See [Configure References Links](../configure-references-links/) for detailed information about configuring this field." +Commentary,"All of the external links for the resource are listed as a serialized JSON array of key/value pairs. The download key (`http://schema.org/downloadUrl`) is unique becaues it can be formatted as an array; see the section on [multiple downloads](../configure-references-links/#multiple-downloads) for formatting guidelines." +Controlled Vocabulary,"The ""key"" part of the key/value pairs are predefined in [Reference URIs](../reference-uris/)." +Example Value,"""{\""http://schema.org/url\"":\""http://purl.stanford.edu/bm662dm5913\""}""" +Element Set,DCMI +Group,"[Links](../ogm-aardvark/#links)" diff --git a/ogm-aardvark/relation.csv b/ogm-aardvark/relation.csv new file mode 100644 index 00000000..de2476f3 --- /dev/null +++ b/ogm-aardvark/relation.csv @@ -0,0 +1,13 @@ +Label,Relation +URI,https://opengeometadata.org/ogm-aardvark/#relation +Field Name,dct_relation_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,"To link items with a general, unspecified relationship to each other." +Entry Guidelines,Enter only the ID of the related item(s). +Commentary,"This is one of several fields that describe how records relate to each other. This field is the most general and should be used when a more specific hierarchical (parent-child) or temporal (version, replaces) relationship cannot be defined." +Controlled Vocabulary,No +Example Value,"[""aoeu-987643""]" +Element Set,DCMI +Group,"[Relations](../ogm-aardvark/#relations)" diff --git a/ogm-aardvark/replaces.csv b/ogm-aardvark/replaces.csv new file mode 100644 index 00000000..00dc6bbb --- /dev/null +++ b/ogm-aardvark/replaces.csv @@ -0,0 +1,13 @@ +Label,Replaces +URI,https://opengeometadata.org/ogm-aardvark/#replaces +Field Name,dct_replaces_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,To point the user to a deprecated item(s). +Entry Guidelines,Enter the ID of the deprecated item(s). +Commentary,"This field can be used on its own to point to an older deprecated dataset, or it can be used with [Is Replaced By](../ogm-aardvark/#is-replaced-by) to link a revised version with its original." +Controlled Vocabulary,No +Example Value,"[""qrst-71717""]" +Element Set,DCMI +Group,"[Relations](../ogm-aardvark/#relations)" diff --git a/ogm-aardvark/resource-class.csv b/ogm-aardvark/resource-class.csv new file mode 100644 index 00000000..65399fa9 --- /dev/null +++ b/ogm-aardvark/resource-class.csv @@ -0,0 +1,13 @@ +Label,Resource Class +URI,https://opengeometadata.org/ogm-aardvark/#resource-class +Field Name,gbl_resourceClass_sm +Field Type,Array of strings +Obligation,Required +Multivalued,True +Purpose,To provide a top level set of categories for classifying the item. +Entry Guidelines,"Choose one or more terms from the list of [Resource Class Values](../ogm-aardvark/#resource-class-values) below." +Commentary,This field is intended to help users sort between significantly different types of resources. +Controlled Vocabulary,Yes - strict +Example Value,"[""Datasets""]" +Element Set,GBL +Group,"[Categories](../ogm-aardvark/#categories)" diff --git a/ogm-aardvark/resource-type-vocabulary-loc.csv b/ogm-aardvark/resource-type-vocabulary-loc.csv new file mode 100644 index 00000000..e64e399f --- /dev/null +++ b/ogm-aardvark/resource-type-vocabulary-loc.csv @@ -0,0 +1,68 @@ +Term,Term URI +Aerial photographs,[http://id.loc.gov/authorities/genreForms/gf2011026032](http://id.loc.gov/authorities/genreForms/gf2011026032) +Aerial views,[http://id.loc.gov/authorities/genreForms/gf2011026033](http://id.loc.gov/authorities/genreForms/gf2011026033) +Aeronautical charts,[http://id.loc.gov/authorities/genreForms/gf2011026034](http://id.loc.gov/authorities/genreForms/gf2011026034) +Armillary spheres,[http://id.loc.gov/authorities/genreForms/gf2011026800](http://id.loc.gov/authorities/genreForms/gf2011026800) +Astronautical charts,[http://id.loc.gov/authorities/genreForms/gf2011026055](http://id.loc.gov/authorities/genreForms/gf2011026055) +Astronomical models,[http://id.loc.gov/authorities/genreForms/gf2011026056](http://id.loc.gov/authorities/genreForms/gf2011026056) +Atlases,[http://id.loc.gov/authorities/genreForms/gf2011026058](http://id.loc.gov/authorities/genreForms/gf2011026058) +Bathymetric maps,[http://id.loc.gov/authorities/genreForms/gf2011026081](http://id.loc.gov/authorities/genreForms/gf2011026081) +Block diagrams,[http://id.loc.gov/authorities/genreForms/gf2011026093](http://id.loc.gov/authorities/genreForms/gf2011026093) +Bottle-charts,[http://id.loc.gov/authorities/genreForms/gf2011026097](http://id.loc.gov/authorities/genreForms/gf2011026097) +Cadastral maps,[http://id.loc.gov/authorities/genreForms/gf2011026106](http://id.loc.gov/authorities/genreForms/gf2011026106) +Cartographic materials,[http://id.loc.gov/authorities/genreForms/gf2011026113](http://id.loc.gov/authorities/genreForms/gf2011026113) +Cartographic materials for people with visual disabilities,[http://id.loc.gov/authorities/genreForms/gf2015026018](http://id.loc.gov/authorities/genreForms/gf2015026018) +Celestial charts,[http://id.loc.gov/authorities/genreForms/gf2011026116](http://id.loc.gov/authorities/genreForms/gf2011026116) +Celestial globes,[http://id.loc.gov/authorities/genreForms/gf2011026117](http://id.loc.gov/authorities/genreForms/gf2011026117) +Census data,[http://id.loc.gov/authorities/genreForms/gf2014026059](http://id.loc.gov/authorities/genreForms/gf2014026059) +Children's atlases,[http://id.loc.gov/authorities/genreForms/gf2011026121](http://id.loc.gov/authorities/genreForms/gf2011026121) +Children's maps,[http://id.loc.gov/authorities/genreForms/gf2011026124](http://id.loc.gov/authorities/genreForms/gf2011026124) +Comparative maps,[http://id.loc.gov/authorities/genreForms/gf2011026155](http://id.loc.gov/authorities/genreForms/gf2011026155) +Composite atlases,[http://id.loc.gov/authorities/genreForms/gf2011026057](http://id.loc.gov/authorities/genreForms/gf2011026057) +Digital elevation models,[http://id.loc.gov/authorities/genreForms/gf2011026787](http://id.loc.gov/authorities/genreForms/gf2011026787) +Digital maps,[http://id.loc.gov/authorities/genreForms/gf2011026199](http://id.loc.gov/authorities/genreForms/gf2011026199) +Early maps,[http://id.loc.gov/authorities/genreForms/gf2011026218](http://id.loc.gov/authorities/genreForms/gf2011026218) +Ephemerides,[http://id.loc.gov/authorities/genreForms/gf2013025048](http://id.loc.gov/authorities/genreForms/gf2013025048) +Ethnographic maps,[http://id.loc.gov/authorities/genreForms/gf2014026012](http://id.loc.gov/authorities/genreForms/gf2014026012) +Fire insurance maps,[http://id.loc.gov/authorities/genreForms/gf2011026284](http://id.loc.gov/authorities/genreForms/gf2011026284) +Flow maps,[http://id.loc.gov/authorities/genreForms/gf2011026756](http://id.loc.gov/authorities/genreForms/gf2011026756) +Gazetteers,[http://id.loc.gov/authorities/genreForms/gf2011026811](http://id.loc.gov/authorities/genreForms/gf2011026811) +Geological cross-sections,[http://id.loc.gov/authorities/genreForms/gf2011026295](http://id.loc.gov/authorities/genreForms/gf2011026295) +Geological maps,[http://id.loc.gov/authorities/genreForms/gf2011026296](http://id.loc.gov/authorities/genreForms/gf2011026296) +Globes,[http://id.loc.gov/authorities/genreForms/gf2011026300](http://id.loc.gov/authorities/genreForms/gf2011026300) +Gores (Maps),[http://id.loc.gov/authorities/genreForms/gf2011026304](http://id.loc.gov/authorities/genreForms/gf2011026304) +Gravity anomaly maps,[http://id.loc.gov/authorities/genreForms/gf2010025067](http://id.loc.gov/authorities/genreForms/gf2010025067) +Index maps,[http://id.loc.gov/authorities/genreForms/gf2011026325](http://id.loc.gov/authorities/genreForms/gf2011026325) +Linguistic atlases,[http://id.loc.gov/authorities/genreForms/gf2011026365](http://id.loc.gov/authorities/genreForms/gf2011026365) +Loran charts,[http://id.loc.gov/authorities/genreForms/gf2011026374](http://id.loc.gov/authorities/genreForms/gf2011026374) +Manuscript maps,[http://id.loc.gov/authorities/genreForms/gf2011026385](http://id.loc.gov/authorities/genreForms/gf2011026385) +Mappae mundi,[http://id.loc.gov/authorities/genreForms/gf2011026386](http://id.loc.gov/authorities/genreForms/gf2011026386) +Mental maps,[http://id.loc.gov/authorities/genreForms/gf2012025033](http://id.loc.gov/authorities/genreForms/gf2012025033) +Meteorological charts,[http://id.loc.gov/authorities/genreForms/gf2011026394](http://id.loc.gov/authorities/genreForms/gf2011026394) +Military maps,[http://id.loc.gov/authorities/genreForms/gf2011026396](http://id.loc.gov/authorities/genreForms/gf2011026396) +Mine maps,[http://id.loc.gov/authorities/genreForms/gf2011026399](http://id.loc.gov/authorities/genreForms/gf2011026399) +Miniature maps,[http://id.loc.gov/authorities/genreForms/gf2011026400](http://id.loc.gov/authorities/genreForms/gf2011026400) +Nautical charts,[http://id.loc.gov/authorities/genreForms/gf2011026418](http://id.loc.gov/authorities/genreForms/gf2011026418) +Outline maps,[http://id.loc.gov/authorities/genreForms/gf2011026434](http://id.loc.gov/authorities/genreForms/gf2011026434) +Photogrammetric maps,[http://id.loc.gov/authorities/genreForms/gf2012025032](http://id.loc.gov/authorities/genreForms/gf2012025032) +Photomaps,[http://id.loc.gov/authorities/genreForms/gf2011026755](http://id.loc.gov/authorities/genreForms/gf2011026755) +Physical maps,[http://id.loc.gov/authorities/genreForms/gf2011026440](http://id.loc.gov/authorities/genreForms/gf2011026440) +Pictorial maps,[http://id.loc.gov/authorities/genreForms/gf2011026441](http://id.loc.gov/authorities/genreForms/gf2011026441) +Plotting charts,[http://id.loc.gov/authorities/genreForms/gf2011026449](http://id.loc.gov/authorities/genreForms/gf2011026449) +Portolan charts,[http://id.loc.gov/authorities/genreForms/gf2011026462](http://id.loc.gov/authorities/genreForms/gf2011026462) +Quadrangle maps,[http://id.loc.gov/authorities/genreForms/gf2011026482](http://id.loc.gov/authorities/genreForms/gf2011026482) +Relief models,[http://id.loc.gov/authorities/genreForms/gf2011026525](http://id.loc.gov/authorities/genreForms/gf2011026525) +Remote-sensing maps,[http://id.loc.gov/authorities/genreForms/gf2011026531](http://id.loc.gov/authorities/genreForms/gf2011026531) +Road maps,[http://id.loc.gov/authorities/genreForms/gf2011026536](http://id.loc.gov/authorities/genreForms/gf2011026536) +Statistical maps,[http://id.loc.gov/authorities/genreForms/gf2011026610](http://id.loc.gov/authorities/genreForms/gf2011026610) +Stick charts,[http://id.loc.gov/authorities/genreForms/gf2011026613](http://id.loc.gov/authorities/genreForms/gf2011026613) +Strip maps,[http://id.loc.gov/authorities/genreForms/gf2011026617](http://id.loc.gov/authorities/genreForms/gf2011026617) +Thematic maps,[http://id.loc.gov/authorities/genreForms/gf2011026690](http://id.loc.gov/authorities/genreForms/gf2011026690) +Topographic maps,[http://id.loc.gov/authorities/genreForms/gf2011026697](http://id.loc.gov/authorities/genreForms/gf2011026697) +Tourist maps,[http://id.loc.gov/authorities/genreForms/gf2011026699](http://id.loc.gov/authorities/genreForms/gf2011026699) +Upside-down maps,[http://id.loc.gov/authorities/genreForms/gf2012025007](http://id.loc.gov/authorities/genreForms/gf2012025007) +Wall maps,[http://id.loc.gov/authorities/genreForms/gf2011026728](http://id.loc.gov/authorities/genreForms/gf2011026728) +World atlases,[http://id.loc.gov/authorities/genreForms/gf2011026742](http://id.loc.gov/authorities/genreForms/gf2011026742) +World maps,[http://id.loc.gov/authorities/genreForms/gf2011026743](http://id.loc.gov/authorities/genreForms/gf2011026743) +Worm's-eye views,[http://id.loc.gov/authorities/genreForms/gf2011026744](http://id.loc.gov/authorities/genreForms/gf2011026744) +Zoning maps,[http://id.loc.gov/authorities/genreForms/gf2011026752](http://id.loc.gov/authorities/genreForms/gf2011026752) \ No newline at end of file diff --git a/ogm-aardvark/resource-type-vocabulary-ogm.csv b/ogm-aardvark/resource-type-vocabulary-ogm.csv new file mode 100644 index 00000000..4db4cdb3 --- /dev/null +++ b/ogm-aardvark/resource-type-vocabulary-ogm.csv @@ -0,0 +1,15 @@ +Term,Definition +Annotations,"Text or graphics that label information about features" +Basemaps,"Background map that provides geographical context for other data layers" +LiDAR,"Elevation data, often provided as a point cloud or DEM" +Line data,"XY coordinate-based (vector) data represented as lines" +Mesh data,"Unstructured grid of vertices, edges, and faces, often with a temporal component; common formats include NetCDF, GRIB, XMDF, DAT, 3Di" +Multi-spectral data,"Raster data with more than 1 band, often capturing a range of visible and non-visible light (e.g. near-infrared)" +Oblique photographs,"Photos taken from the air or other elevated point at an angle of around 45 degrees" +Point cloud data,"XYZ coordinate data, often captured through LiDAR, 3D scanning, or photogrammetry and used to create 3D models" +Point data,"XY coordinate-based (vector) data represented as points" +Polygon data,"XY coordinate-based (vector) data represented as polygons" +Raster data,"Structured grid containing 1+ bands of decimal or integer data" +Satellite imagery,"Photos or radar images captured of the earth from orbiting satellites" +Streetview photographs,"Photos taken at an angle parallel to the ground surface (i.e. most photos taken while standing on the ground)" +Table data,"Structured tabular data" \ No newline at end of file diff --git a/ogm-aardvark/resource-type.csv b/ogm-aardvark/resource-type.csv new file mode 100644 index 00000000..5db03a69 --- /dev/null +++ b/ogm-aardvark/resource-type.csv @@ -0,0 +1,13 @@ +Label,Resource Type +URI,https://opengeometadata.org/ogm-aardvark/#resource-type +Field Name,gbl_resourceType_sm +Field Type,Array of strings +Obligation,Suggested +Multivalued,True +Purpose,To provide a secondary level of categories for classifying the spatial type or structure of a dataset. +Entry Guidelines,Choose one or more terms from the lists of [Library of Congress](../ogm-aardvark/#resource-type-values-loc) or [OpenGeoMetadata](https://opengeometadata.org/ogm-aardvark/#resource-type-values-ogm) Resource Type Values below. Other terms are allowed. +Commentary,This field combines an established list of terms for scanned maps (Cartographic Genres) and a custom list for geospatial data types. Additional terms are welcome - please submit them to the community for review and inclusion into the official vocabulary. +Controlled Vocabulary,Yes - not strict +Example Value,"[""Point data""]" +Element Set,GBL +Group,"[Categories](../ogm-aardvark/#categories)" diff --git a/ogm-aardvark/rights-holder.csv b/ogm-aardvark/rights-holder.csv new file mode 100644 index 00000000..57e55cea --- /dev/null +++ b/ogm-aardvark/rights-holder.csv @@ -0,0 +1,13 @@ +Label,Rights Holder +URI,https://opengeometadata.org/ogm-aardvark/#rights-holder +Field Name,dct_rightsHolder_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,To clarify which person or organization owns or controls the rights for this version of the item. +Entry Guidelines,"Enter the name of the person or organization. If applicable, the suggested controlled vocabulary is the [Library of Congress Name Authority File](https://id.loc.gov/authorities/names.html)." +Commentary,"This field can be used for instances in which an an organization owns or otherwise controls access of a digital copy of an analog resource. This is different from [Provider](../ogm-aardvark/#provider), which refers more to the resource or metadata steward." +Controlled Vocabulary,No +Example Value,"""Johns Hopkins University Libraries""" +Element Set,DCMI +Group,"[Rights](../ogm-aardvark/#rights)" diff --git a/ogm-aardvark/rights.csv b/ogm-aardvark/rights.csv new file mode 100644 index 00000000..466c17e7 --- /dev/null +++ b/ogm-aardvark/rights.csv @@ -0,0 +1,13 @@ +Label,Rights +URI,https://opengeometadata.org/ogm-aardvark/#rights_1 +Field Name,dct_rights_sm +Field Type,Array of strings +Obligation,Suggested +Multivalued,True +Purpose,"To provide a free text field for rights information, such as usage, access, or copyright." +Entry Guidelines,"Enter free text of generic, catch-all access and usage rights." +Commentary,"This field is intended to be flexible to accommodate different types of rights and disclaimers. Users are encouraged to adopt one of the rightsstatements.org statements. This is a plain text field by default, but it can include clickable links if the GeoBlacklight software is customized; see the [GeoBlacklight documentation](https://geoblacklight.org/docs/customization/rendering_html_from_description/) on how to render HTML from a text field." +Controlled Vocabulary,No +Example Value,"""All data is copyrighted by China Data Center and/or its suppliers. Derived works that include the source data must be merged with other value-added data in such a way that the derived work cannot be converted back to the original source data format. This data is licensed by UC Berkeley for research, educational, and other non-commercial use by authorized users, which include persons affiliated with UC Berkeley and walk-in users who must access the data in person at the library. [https://rightsstatements.org/page/InC/1.0/?language=en](https://rightsstatements.org/page/InC/1.0/?language=en).""" +Element Set,DCMI +Group,"[Rights](../ogm-aardvark/#rights)" diff --git a/ogm-aardvark/source.csv b/ogm-aardvark/source.csv new file mode 100644 index 00000000..77aef1e0 --- /dev/null +++ b/ogm-aardvark/source.csv @@ -0,0 +1,13 @@ +Label,Source +URI,https://opengeometadata.org/ogm-aardvark/#source +Field Name,dct_source_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,To link items that have been derived from another item (e.g. a digitized shapefile from a historical map). +Entry Guidelines,Enter the ID of the item(s) from which the resource was derived. +Commentary,"This is one of several fields that describe how records relate to each other. This field is intended to describe a derivate relationship where the resource is based wholly on another, rather than being a version of it (see [Is Version Of](../ogm-aardvark/#is-version-of))." +Controlled Vocabulary,No +Example Value,"[""abcd-988763""]" +Element Set,DCMI +Group,"[Relations](../ogm-aardvark/#relations)" diff --git a/ogm-aardvark/spatial-coverage.csv b/ogm-aardvark/spatial-coverage.csv new file mode 100644 index 00000000..51db8c54 --- /dev/null +++ b/ogm-aardvark/spatial-coverage.csv @@ -0,0 +1,13 @@ +Label,Spatial Coverage +URI,https://opengeometadata.org/ogm-aardvark/#spatial-coverage +Field Name,dct_spatial_sm +Field Type,Array of strings +Obligation,Suggested +Multivalued,True +Purpose,To provide the user with a list of searchable and selectable place names. +Entry Guidelines,"Place name text strings should be specified out to the nation level. It is typical for the place name to represent the largest extent the data layer represents. Our recommended thesaurus is [GeoNames](https://www.geonames.org/)." +Commentary,"It is recommended to have at least one place name for each layer that corresponds to the logical extent of the area of that layer." +Controlled Vocabulary,No +Example Value,"[""Philadelphia, Pennsylvania, United States""]" +Element Set,DCMI +Group,"[Spatial](../ogm-aardvark/#spatial)" diff --git a/ogm-aardvark/subject.csv b/ogm-aardvark/subject.csv new file mode 100644 index 00000000..5c4fa575 --- /dev/null +++ b/ogm-aardvark/subject.csv @@ -0,0 +1,13 @@ +Label,Subject +URI,https://opengeometadata.org/ogm-aardvark/#subject +Field Name,dct_subject_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,To provide an all-purpose field for subjects. +Entry Guidelines,"Any value is allowed, but controlled vocabularies are encouraged." +Commentary,"Institutions may rely on existing vocabularies specific to a field or project, or they may choose to develop their own set of controlled vocabularies." +Controlled Vocabulary,No +Example Value,"[""Elections"", ""Voting""]" +Element Set,DCMI +Group,"[Categories](../ogm-aardvark/#categories)" diff --git a/ogm-aardvark/suppressed.csv b/ogm-aardvark/suppressed.csv new file mode 100644 index 00000000..60631f11 --- /dev/null +++ b/ogm-aardvark/suppressed.csv @@ -0,0 +1,13 @@ +Label,Suppressed +URI,https://opengeometadata.org/ogm-aardvark/#suppressed +Field Name,gbl_suppressed_b +Field Type,Boolean or string +Obligation,Optional +Multivalued,False +Purpose,"To hide items from users in the search results. If set to ""true"", the record will not appear in search results. It is still accessible from the data relations widgets and via direct URL." +Entry Guidelines,Only one of two values are allowed: true or false. +Commentary,"This field is useful for multipart items with identical metadata, such as pages in an atlas or series." +Controlled Vocabulary,Yes - strict +Example Value,"true or ""true""" +Element Set,GBL +Group,"[Admin](../ogm-aardvark/#admin)" diff --git a/ogm-aardvark/temporal-coverage.csv b/ogm-aardvark/temporal-coverage.csv new file mode 100644 index 00000000..434bd636 --- /dev/null +++ b/ogm-aardvark/temporal-coverage.csv @@ -0,0 +1,13 @@ +Label,Temporal Coverage +URI,https://opengeometadata.org/ogm-aardvark/#temporal-coverage +Field Name,dct_temporal_sm +Field Type,Array of strings +Obligation,Suggested +Multivalued,True +Purpose,"To provide the user with a free text description of the time period or ranges of what is depicted in the resource." +Entry Guidelines,"This is a text string and can indicate uncertainty." +Commentary,"Since this field is multi-valued, multiple strings can be used to indicate the time period the resource depicts, when the data was collected, and/or when the resources was created." +Controlled Vocabulary,No +Example Value,"[""1980-1995"", ""Late 20th century""]" +Element Set,DCMI +Group,"[Temporal](../ogm-aardvark/#temporal)" diff --git a/ogm-aardvark/theme-vocabulary.csv b/ogm-aardvark/theme-vocabulary.csv new file mode 100644 index 00000000..03b86f14 --- /dev/null +++ b/ogm-aardvark/theme-vocabulary.csv @@ -0,0 +1,22 @@ +Theme,Related ISO Topic Category,Definition (from NOAA) +Agriculture,farming,"Rearing of animals and/or cultivation of plants. Examples: agriculture, irrigation, aquaculture, plantations, herding, pests and diseases affecting crops and livestock." +Biology,biota,"Flora and/or fauna in natural environment. Examples: wildlife, vegetation, biological sciences, ecology, wilderness, sealife, wetlands, habitat." +Boundaries,boundaries,Legal land descriptions. Examples: political and administrative boundaries. +Climate,climatologyMeteorologyAtmosphere,"Processes and phenomena of the atmosphere. Examples: cloud cover, weather, climate, atmospheric conditions, climate change, precipitation." +Economy,economy,"Economic activities, conditions and employment. Examples: production, labour, revenue, commerce, industry, tourism and ecotourism, forestry, fisheries, commercial or subsistence hunting, exploration and exploitation of resources such as minerals, oil and gas." +Elevation,elevation,"Height above or below sea level. Examples: altitude, bathymetry, digital elevation models, LiDAR datasets, slope, derived products, topographic maps." +Environment,environment,"Environmental resources, protection and conservation. Examples: environmental pollution, waste storage and treatment, environmental impact assessment, monitoring environmental risk, nature reserves, landscape." +Events,society; climatologyMeteorologyAtmosphere,"Examples: natural disasters, concerts, races, protests, arrests, accidents, Covid cases." +Geology,geoscientificInformation,"Information pertaining to earth sciences. Examples: geophysical features and processes, geology, minerals, sciences dealing with the composition, structure and origin of the earth’s rocks, risks of earthquakes, volcanic activity, landslides, gravity information, soils, permafrost, hydrogeology, erosion." +Health,health,"Health, health services, human ecology, and safety. Examples: disease and illness, factors affecting health, hygiene, substance abuse, mental and physical health, health services." +Imagery,imageryBaseMapsEarthCover,"Imagery of the earth's surface. Examples: aerial photos, oblique and streetview imagery, orthoimagery, satellite photos and multispectral imagery." +Inland Waters,inlandWaters,"Inland water features, drainage systems and their characteristics. Examples: rivers and glaciers, salt lakes, water utilization plans, dams, currents, floods, water quality, hydrographic charts." +Land Cover,imageryBaseMapsEarthCover,"Classifications about natural features on the Earth's surface. Examples: forests, wetlands, impervious surfaces, agriculture, open water." +Location,location,"Positional information and services. Examples: addresses, geodetic networks, control points, postal zones and services, place names." +Military,intelligenceMilitary,"Examples: Military bases, structures, activities Examples: barracks, training grounds, military transportation, information collection." +Oceans,oceans,"features and characteristics of salt water bodies (excluding inland waters) Examples: tides, tidal waves, coastal information, reefs." +Property,planningCadastre,"Information used for appropriate actions for future use of the land. Examples: land use maps, zoning maps, cadastral surveys, land ownership." +Society,society,"Characteristics of society and cultures. Examples: settlements, anthropology, archaeology, education, traditional beliefs, manners and customs, demographic data, recreational areas and activities, social impact assessments, crime and justice, census information." +Structure,structure,"Man-made construction. Examples: buildings, museums, churches, factories, housing, monuments, shops, towers." +Transportation,transportation,"Means and aids for conveying persons and/or goods. Examples: roads, airports/airstrips, shipping routes, tunnels, nautical charts, vehicle or vessel location, aeronautical charts, railways." +Utilities,utilitiesCommunication,"Energy, water and waste systems and communications infrastructure and services. Examples: hydroelectricity, geothermal, solar and nuclear sources of energy, water purification and distribution, sewage collection and disposal, electricity and gas distribution, data communication, telecommunication, radio, communication networks." diff --git a/ogm-aardvark/theme.csv b/ogm-aardvark/theme.csv new file mode 100644 index 00000000..dabe03c8 --- /dev/null +++ b/ogm-aardvark/theme.csv @@ -0,0 +1,13 @@ +Label,Theme +URI,https://opengeometadata.org/ogm-aardvark/#theme +Field Name,dcat_theme_sm +Field Type,Array of strings +Obligation,Optional +Multivalued,True +Purpose,To provide a dedicated field that is restricted to terms based on ISO Topic Categories. +Entry Guidelines,"Insert one or more of the values from the list of [Theme Values](../ogm-aardvark/#theme-values) below." +Commentary,"Although ISO Topic categories are well established and widely used, the spellings of these terms vary across domains and disciplines. The Aardvark schema uses shortened terms for better readability, and adds three new values ""Events"", ""Imagery"", and ""Land Cover"" (the latter two split from imageryBaseMapsEarthCover)." +Controlled Vocabulary,Yes - strict +Example Value,"[""Boundaries"", ""Land Cover""]" +Element Set,DCAT +Group,"[Categories](../ogm-aardvark/#categories)" diff --git a/ogm-aardvark/title.csv b/ogm-aardvark/title.csv new file mode 100644 index 00000000..b2956d2d --- /dev/null +++ b/ogm-aardvark/title.csv @@ -0,0 +1,13 @@ +Label,Title +URI,https://opengeometadata.org/ogm-aardvark/#title +Field Name,dct_title_s +Field Type,String +Obligation,Required +Multivalued,False +Purpose,To provide the user with the name of the resource. +Entry Guidelines,Titles should include place names and dates when available. +Commentary,"The title is the most prominent metadata field that users see when browsing or scanning search results. Since many datasets are created with ambiguous or non-unique titles, it may be worth the effort to improve or enhance them. The ideal sequence of a title is something akin to ""Topic of Layer: Place, Year."" Putting the year at the end of a title produces better search results, since titles are left-anchored." +Controlled Vocabulary,No +Example Value,"""Address Points: Ann Arbor, Michigan, 2010""" +Element Set,DCMI +Group,"[Descriptive](../ogm-aardvark/#descriptive)" diff --git a/ogm-aardvark/wxs-identifier.csv b/ogm-aardvark/wxs-identifier.csv new file mode 100644 index 00000000..6dc1d9f7 --- /dev/null +++ b/ogm-aardvark/wxs-identifier.csv @@ -0,0 +1,13 @@ +Label,WxS Identifier +URI,https://opengeometadata.org/ogm-aardvark/#wxs-identifier +Field Name,gbl_wxsIdentifier_s +Field Type,String +Obligation,Conditionally required +Multivalued,False +Purpose,"To identify the layer or store for a WFS, WMS, or WCS web service so the application can construct the full web service link." +Entry Guidelines,"Only the layer name is added here. The base service endpoint URLs (e.g. ""https://maps-public.geo.nyu.edu/geoserver/sdr/wms"") are added to the [References](../ogm-aardvark/#references) field." +Commentary,This value is only used when a WxS service is listed in the [References](../ogm-aardvark/#references) field. The WxS Identifer is used to point to specific layers within an OGC geospatial web service. This field is not used for ArcGIS Rest Services. +Controlled Vocabulary,No +Example Value,"""druid:vr593vj7147""" +Element Set,GBL +Group,"[Links](../ogm-aardvark/#links)" diff --git a/reference-uris/index.html b/reference-uris/index.html new file mode 100644 index 00000000..07f0f053 --- /dev/null +++ b/reference-uris/index.html @@ -0,0 +1,2351 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Reference URIs - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + + + +
+ + + + + + + +

Reference URIs

+

These are URIs that can be used as keys in the dct_references_s field.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeReference URIFunction in GeoBlacklight
Download data dictionary / documentationhttp://lccn.loc.gov/sh85035852Link to download documentation
Download filehttp://schema.org/downloadUrlLink to download file (for multiple files, see the multiple downloads guidelines)
Full layer descriptionhttp://schema.org/urlView further descriptive information about the layer
International Image Interoperability Framework (IIIF) Image APIhttp://iiif.io/api/imageLoad the image viewer using Leaflet-IIIF
International Image Interoperability Framework (IIIF) Presentation API Manifesthttp://iiif.io/api/presentation#manifestView the IIIF manifest
Metadata in FGDChttp://www.opengis.net/cat/csw/csdgmView structured metadata in FGDC standard expressed as XML
Metadata in HTMLhttp://www.w3.org/1999/xhtmlView structured metadata in any standard expressed as HTML
Metadata in ISO 19139http://www.isotc211.org/schemas/2005/gmd/View structured metadata in ISO standard expressed as XML
Metadata in MODShttp://www.loc.gov/mods/v3View structured metadata in MODS format
OpenIndexMaphttps://openindexmaps.orgProvide an index map preview
Web Mapping Service (WMS)http://www.opengis.net/def/serviceType/ogc/wmsLink to preview layer, inspect features, and download data (vector: KMZ, raster: GeoTIFF)
Web Feature Service (WFS)http://www.opengis.net/def/serviceType/ogc/wfsLink to download vectors (GeoJSON, shapefile)
XYZ tileshttps://wiki.openstreetmap.org/wiki/Slippy_map_tilenamesLink to an XYZ tile server
+

ArcGIS URIs

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeReference URIFunction in GeoBlacklight
ArcGIS FeatureLayerurn:x-esri:serviceType:ArcGIS#FeatureLayerPreview an ArcGIS FeatureLayer Service
ArcGIS TiledMapLayerurn:x-esri:serviceType:ArcGIS#TiledMapLayerPreview an ArcGIS TiledMapLayer Service
ArcGIS DynamicMapLayerurn:x-esri:serviceType:ArcGIS#DynamicMapLayerPreview an ArcGIS DynamicMapLayer Service
ArcGIS ImageMapLayerurn:x-esri:serviceType:ArcGIS#ImageMapLayerPreviews a ArcGIS ImageMapLayer Service
+

URIs for specific institutions

+ + + + + + + + + + + + + + + +
TypeReference URIFunction in GeoBlacklight
Harvard Geospatial Library email downloadhttp://schema.org/DownloadActionRetrieve a file via email from the Harvard Geospatial Library
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/reference/index.html b/reference/index.html new file mode 100644 index 00000000..4d990bdc --- /dev/null +++ b/reference/index.html @@ -0,0 +1,2138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Reference - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/relations-fields/index.html b/relations-fields/index.html new file mode 100644 index 00000000..86cd37c6 --- /dev/null +++ b/relations-fields/index.html @@ -0,0 +1,2392 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Relations Fields - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Relations Fields

+

Fields in the "relations" group are used to describe how records relate to each other. All of them are designed to store the ID(s) of related records. More than one record can be listed within each relationship field.

+

Starting in GeoBlacklight version 4.0, most of these fields are used to populate relationship widgets in the application sidebar, allowing users to easily explore related records and understand how they are connected. The relationship widgets are customizable in the geoblacklight.en.yml and settings.yml files.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldField NameObligation
Relationdct_relation_smOptional
Member Ofpcdm_memberOf_smOptional
Is Part Ofdct_isPartOf_smOptional
Sourcedct_source_smOptional
Is Version Ofdct_isVersionOf_smOptional
Replacesdct_replaces_smOptional
Is Replaced Bydct_isReplacedBy_smOptional
+

Relation

+
+

Warning

+

This field should only be used for one of a pair of related records. If both records use this field, it will duplicate the "Related records..." widget on each item's show page. To disable this behavior, you can customize the geoblacklight.en.yml and settings.yml files in your local application.

+
+

Use this field to link to records that are related in a general or non-specific way. IDs entered in this field will populate a "Related records..." widget on the item's show page, as well as on the related item's show page. Nothing needs to be entered in the related item's metadata.

+
"dct_relation_sm": ["nyu_2451_34636"]
+
+

Item's show page

+

related records widget - source

+

Related item's show page

+

related records widget - link

+

Member Of

+
+

Tip

+

To link items in a book or atlas, use "Is Part Of" instead.

+
+

This field links an item to its collection(s). The first step is to create a separate collection record and assign it a unique ID. Then, enter the collection item's ID in the member item's metadata.

+

IDs entered in this field in the member item's metadata will populate a "Belongs to collection..." widget on the member item's show page and a "Collection records..." widget on the collection item's show page. Nothing needs to be entered in the collection item's metadata.

+
"pcdm_memberOf_sm": ["umass-macconnell-1951"]
+
+

Member item's show page

+

belongs to collection widget

+

Collection item's show page

+

collection records widget

+

Is Part Of

+
+

Tip

+

To link items in a collection, use "Member Of" instead.

+
+

This field is similar to "Member Of" but is intended to link to items that are a subset of another item, like a book or atlas. The first step is to create a separate parent record and assign it a unique ID. Then, enter the parent item's ID in the member item's metadata.

+

IDs entered in this field in the member item's metadata will populate an "Is part of..." widget on the member item's show page and a "Has part..." widget on the parent item's show page. Nothing needs to be entered in the parent item's metadata.

+
"dct_isPartOf_sm": ["88cc9b19-3294-4da9-9edd-775c81fb1c59"]
+
+

Member item's show page

+

is part of widget

+

Parent item's show page

+

has part widget

+

Source

+

This field links an item to the dataset from which it was derived. For example, if a point shapefile is created to digitize the toponyms on a historical map, the historical map's ID would be entered in this field.

+

IDs entered in this field will populate a "Source records..." widget on the derived item's show page and a "Derived records..." widget on the source item's show page. Nothing needs to be entered in the source item's metadata.

+
"dct_source_sm": ["princeton-1r66j405w"]
+
+

Derived item's show page

+

source record widget

+

Source item's show page

+

dervied records widget

+

Is Version Of

+

Use this field to link an item that is a version, variation, or adaptation of a pre-existing dataset. The field can contain:

+
    +
  • The ID of the most recent related record(s), or
  • +
  • The ID of a parent record (see "Member Of" and "Is Part Of" for similar examples).
  • +
+

IDs entered in this field will populate an "Is version of..." widget on the item's show page and a "Has version..." widget on the linked item's show page. Nothing needs to be entered in the linked item's metadata.

+
"dct_isVersionOf_sm": ["nyu_2451_34636"]
+
+

Item's show page

+

is version of widget

+

Linked item's show page

+

has version widget

+

Replaces

+

This field links to a deprecated version of the dataset. It is especially useful when the deprecated version is needed for reference, such as when it has been cited in a publication and must be retained in a repository.

+

IDs entered in this field will populate a "Replaces..." widget on the newer item's show page and an "Is replaced by..." widget on the deprecated item's show page. Nothing needs to be entered in the deprecated item's metadata.

+
"dct_replaces_sm": ["harvard-g7064-s2-1834-k3"]
+
+

Newer item's show page

+

replaces widget

+

Deprecated item's show page

+

is replaced by widget

+

Is Replaced By

+
+

Note

+

This field does not trigger a relationship widget. To do so, use the "Replaces" field in the newer item's metadata record.

+
+

This field links to a newer version of the dataset. It is used for documentation purposes only, such as in the event that a deprecated record is shared with another institution. In practice, however, it may be cumbersome to update deprecated metadata records whenever a new version is created.

+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/schema/geoblacklight-schema-1.0.json b/schema/geoblacklight-schema-1.0.json new file mode 100644 index 00000000..d26d6700 --- /dev/null +++ b/schema/geoblacklight-schema-1.0.json @@ -0,0 +1,214 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Schema for GeoBlacklight. See https://github.com/geoblacklight/geoblacklight/wiki/Schema for more details.", + "id": "http://geoblacklight.org/v1.0/schema", + "title": "GeoBlacklight Schema - v1.0", + "definitions": { + "layer": { + "title": "layer", + "description": "A GIS data layer. See [this example](https://github.com/OpenGeoMetadata/edu.stanford.purl/blob/master/bb/099/zb/1450/geoblacklight.json) metadata layer.", + "type": "object", + "required": [ + "dc_title_s", + "dc_identifier_s", + "dc_rights_s", + "dct_provenance_s", + "layer_slug_s", + "solr_geom" + ], + "properties": { + "uuid": { + "type": "string", + "description": "*DEPRECATED* (use `dc_identifier_s`): Unique identifier for layer that is globally unique.", + "example": "http://purl.stanford.edu/vr593vj7147" + }, + "dc_identifier_s": { + "type": "string", + "description": "Unique identifier for layer as a URI. It should be globally unique across all institutions, assumed not to be end-user visible, and is usually of the form `http://institution/id`. See https://github.com/geoblacklight/geoblacklight/wiki/Schema for more detailed documentation.", + "example": "http://purl.stanford.edu/vr593vj7147" + }, + "dc_title_s": { + "type": "string", + "description": "Title for the layer.", + "example": "My Title" + }, + "dc_description_s": { + "type": "string", + "description": "Description for the layer. *Optional*", + "example": "My Description" + }, + "dc_rights_s": { + "type": "string", + "enum": [ + "Public", + "Restricted" + ], + "description": "Access rights for the layer." + }, + "dct_provenance_s": { + "type": "string", + "description": "Institution who holds the layer.", + "example": "Stanford" + }, + "dct_references_s": { + "type": "string", + "description": "External resources that are available for the layer. The value is a JSON hash where each key is a URI for the protocol or format, and the value is the URL to the external resource. See `dct_references_s` [detailed documentation](http://geoblacklight.org/tutorial/2015/02/09/geoblacklight-overview.html). *Optional*", + "pattern": "\\{.*\\}", + "example": "{ ... }" + }, + "georss_box_s": { + "type": "string", + "description": "*DEPRECATED* (use `solr_geom`): Bounding box for the layer, as maximum values for S W N E.", + "example": "12.6 -119.4 19.9 84.8" + }, + "layer_id_s": { + "type": "string", + "description": "The complete identifier for the layer via WMS/WFS/WCS protocol. *Optional*", + "example": "druid:vr593vj7147" + }, + "layer_geom_type_s": { + "type": "string", + "enum": [ + "Point", + "Line", + "Polygon", + "Raster", + "Scanned Map", + "Image", + "Mixed" + ], + "description": "Geometry type for layer data, using controlled vocabulary. *Optional*" + }, + "layer_modified_dt": { + "type": "string", + "format": "date-time", + "description": "Last modification date for the metadata record, using XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ). *Optional*" + }, + "layer_slug_s": { + "type": "string", + "description": "Identifies a layer in human-readable keywords. Note this value is visible to the user, and used for Permalinks. The value should be alpha-numeric characters separated by dashes, and is typically of the form `institution-keyword1-keyword2`. It should also be globally unique across all institutions in *your* GeoBlacklight index. See https://github.com/geoblacklight/geoblacklight/wiki/Schema for more detailed documentation.", + "pattern": "^[-a-zA-Z0-9]+$", + "example": "stanford-andhra-pradesh-village-boundaries" + }, + "solr_geom": { + "type": "string", + "pattern": "ENVELOPE(.*,.*,.*,.*)", + "description": "Bounding box of the layer as a ENVELOPE WKT (from the CQL standard) using coordinates in (West, East, North, South) order. Note that this field is indexed as a Solr spatial (RPT) field.", + "example": "ENVELOPE(76.76, 84.76, 19.91, 12.62)" + }, + "solr_year_i": { + "type": "integer", + "description": "*DEPRECATED* (only used by the Blacklight range plugin, not core GeoBlacklight, and generally you want a multi-valued field here): *Derived from* `dct_temporal_sm`. Year for which layer is valid and only a single value. Note that this field is indexed as a Solr numeric field.", + "example": "1989" + }, + "dc_creator_sm": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Author(s) of the layer. *Optional*", + "example": "George Washington, Thomas Jefferson" + }, + "dc_format_s": { + "type": "string", + "description": "File format for the layer, ideally using a controlled vocabulary. *Optional*", + "example": "Shapefile, GeoTIFF, ArcGRID" + }, + "dc_language_s": { + "type": "string", + "description": "Language for the layer. *Optional*. Note that future versions of the schema may make this a multi-valued field.", + "example": "English" + }, + "dc_publisher_s": { + "type": "string", + "description": "Publisher of the layer. *Optional*", + "example": "ML InfoMap" + }, + "dc_subject_sm": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Subjects for the layer, preferrably in a controlled vocabulary. *Optional*", + "example": "Census, Human settlements" + }, + "dc_type_s": { + "type": "string", + "enum": [ + "Dataset", + "Image", + "PhysicalObject" + ], + "description": "Resource type of the layer, using DCMI Type Vocabulary, usually a `Dataset`. *Optional*" + }, + "dct_spatial_sm": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Spatial coverage and place names for the layer, preferrably in a controlled vocabulary. *Optional*", + "example": "Paris, San Francisco" + }, + "dct_temporal_sm": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Temporal coverage for the layer, typically years or dates. Note that this field is not in a specific date format. *Optional*", + "example": "1989, circa 2010, 2007-2009" + }, + "dct_issued_dt": { + "type": "string", + "format": "date-time", + "description": "Issued date for the layer, using XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ). *Optional*" + }, + "dct_isPartOf_sm": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Holding entity for the layer, such as the title of a collection. *Optional*", + "example": "Village Maps of India" + }, + "georss_point_s": { + "type": "string", + "description": "*DEPRECATED* (use `georss_box_s`): Point representation for layer as y, x - i.e., centroid", + "example": "12.6 -119.4" + }, + "dc_relation_sm": { + "type": "array", + "items": { + "type": "string" + }, + "description": "*DEPRECATED* (use `dct_isPartOf_sm`). A reference to a related resource for this layer. *Optional*", + "example": "http://purl.stanford.edu/vr593vj7147" + }, + "dc_source_sm": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The identity of a layer from which this layer's data was derived. *Optional*", + "example": "stanford-vr593vj7147" + }, + "geoblacklight_version": { + "type": "string", + "description": "The version of the GeoBlacklight Schema to which this metadata record conforms.", + "enum": [ + "1.0" + ] + } + } + } + }, + "anyOf": [ + { + "$ref": "#/definitions/layer" + }, { + "type": "array", + "items": { + "$ref": "#/definitions/layer" + } + } + ] +} diff --git a/schema/geoblacklight-schema-aardvark.json b/schema/geoblacklight-schema-aardvark.json new file mode 100644 index 00000000..451db671 --- /dev/null +++ b/schema/geoblacklight-schema-aardvark.json @@ -0,0 +1,197 @@ +{ + "$schema": "http://json-schema.org/schema#", + "description": "Schema for GeoBlacklight. See https://opengeometadata.github.io/aardvark/aardvarkMetadata.html for more details.", + "id": "http://geoblacklight.org/schema/aardvark", + "title": "GeoBlacklight Schema - Aardvark", + "type": "object", + "properties": { + "dct_title_s": { "type": "string" }, + "dct_alternative_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_description_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_language_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "gbl_displayNote_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_creator_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_publisher_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "schema_provider_s": { "type": "string" }, + "gbl_resourceClass_sm": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Datasets", + "Maps", + "Imagery", + "Collections", + "Websites", + "Web services", + "Other" + ] + } + }, + "gbl_resourceType_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_subject_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dcat_theme_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dcat_keyword_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_temporal_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_issued_s": { "type": "string" }, + "gbl_indexYear_im": { + "type": "array", + "items": { + "type": "integer" + } + }, + "gbl_dateRange_drsim": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_spatial_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "locn_geometry": { "type": "string" }, + "dcat_bbox": { "type": "string" }, + "dcat_centroid": { "type": "string" }, + "dct_relation_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "pcdm_memberOf_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_isPartOf_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_source_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_isVersionOf_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_replaces_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_isReplacedBy_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_rights_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_rightsHolder_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_license_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "dct_accessRights_s": { "type": "string" }, + "dct_format_s": { "type": "string" }, + "gbl_fileSize_s": { "type": "string" }, + "gbl_wxsIdentifier_s": { "type": "string" }, + "dct_references_s": { "type": "string" }, + "id": { "type": "string" }, + "dct_identifier_sm": { + "type": "array", + "items": { + "type": "string" + } + }, + "gbl_mdModified_dt": { + "type": "string", + "format": "date-time" + }, + "gbl_mdVersion_s": { + "type": "string", + "const": "Aardvark" + }, + "gbl_suppressed_b": { "type": "boolean" }, + "gbl_georeferenced_b": { "type": "boolean" } + }, + "required": ["id", "dct_title_s", "gbl_resourceClass_sm", "dct_accessRights_s", "gbl_mdVersion_s"] +} diff --git a/scripts/index.html b/scripts/index.html new file mode 100644 index 00000000..1d64030b --- /dev/null +++ b/scripts/index.html @@ -0,0 +1,2202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Scripts - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + + + +
+ + + + + + + +

Metadata Processing Scripts

+

These batch processing scripts were created by members of the OpenGeoMetadata community. They can be downloaded and used locally for creating, transforming, and publishing OGM schema metadata. Click on the links to visit the code repositories to learn more.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameOverview
Convert MARC files to GeoBlacklight Metadata filesA preliminary Python workflow to convert MARC metadata for historic and print maps into JSON metadata according to the GeoBlacklight 1.0 Metadata Schema.
gbl-1_to_aardvarkThis script will convert the crosswalkable fields in a batch of JSON files in the GeoBlacklight 1.0 schema into the OpenGeoMetadata Aardvark schema
gbl2aardvarkA a simple javascript application that lets you easily convert GeoBlacklight 1.0 records to the new OpenGeoMetadata Aardvark schema.
GeoCombineA Ruby toolkit that is useful for cloning, updating, and indexing metadata from OpenGeoMetdata and includes a library for converting metadata between standards. XSL sheets are found here
OGM Aardvark Metadata ScriptsBasic Pythons scripts to convert ArcGIS-generated XML files to Aardvark schema JSON files. Queries the GeoNames database to retrieve placenames for the Spatial Coverage field.
SdrFriendSdrFriend is a Ruby gem that allows people of various skill levels to interface with DSpace, GDAL, GeoServer, and other spatial data collection tools (performs rake tasks on a SDI, crosswalks csv and JSON files).
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json new file mode 100644 index 00000000..1b30cb56 --- /dev/null +++ b/search/search_index.json @@ -0,0 +1 @@ +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"","title":"Welcome to OpenGeoMetadata","text":"

OpenGeoMetadata is a discovery metadata schema for geospatial resources and an open platform for sharing metadata files.

Repositories Planning to share your metadata? Read about our repositories and learn how to set up your own. Metadata Schemas Looking for schema reference and how to upgrade? Visit the schema documentation pages or our Upgrade Guide. OGM Aardvark Metadata Jump to the documentation for the Aardvark Metadata Schema. GBL 1.0 Metadata Jump to the documentation for the GBL 1.0 Metadata Schema.

(1)

  1. Aardvark icon by Sarah Rudkin from Noun Project (CCBY3.0)
"},{"location":"1.0-geometry-type/","title":"Geometry Type","text":"

GeoBlacklight 1.0 Geometry Type Vocabulary

Label Icon Link Definition Point Icon Geospatial dataset made up of pairs of x,y coordinates Line Icon Geospatial dataset made up of straight or curved connected x,y coordinates Polygon Icon Geospatial dataset made up of closed connections of x,y coordinates Image Icon Static born-digital maps and scanned map images Raster Icon Geospatial dataset that is presented as an array of cells comprised of single or multiple bands Mixed Icon Geospatial dataset with multiple geometry types Table Icon Nonspatial dataset as a text file with delimiter separated values"},{"location":"JSON-format/","title":"JSON Format","text":"

OGM metadata is formatted as flat JSON files.

"},{"location":"JSON-format/#terms-to-know","title":"Terms to know","text":""},{"location":"JSON-format/#keyvalue-pairs","title":"Key:value pairs","text":"
  • the key is either a metadata field name or an external reference URI
  • the value is the string, array, boolean, integer, etc. that goes in the field
  • strings are surrounded by 'single' or \"double\" quotation marks
\"dct_identifier_sm\": \"http://purl.stanford.edu/dp018hs9766\"\n
"},{"location":"JSON-format/#objects","title":"Objects","text":"
  • consist of key:value pairs inside {curly brackets}
  • brackets are often put on a separate line to aid in readability
{\n  \"geoblacklight_version\": \"1.0\",\n  \"dc_identifier_s\": \"https://cugir.library.cornell.edu/catalog/cugir-007950\"\n}\n
"},{"location":"JSON-format/#arrays","title":"Arrays","text":"
  • ordered collections of items
  • surrounded by [square brackets]
  • used for fields that can have multiple values, such as dct_subject_sm or multiple download links within the dct_references_s element.
{\n  \"dct_subject_sm\": [\n    \"Continental margins\",\n    \"Multibeam mapping\",\n    \"Elevation\",\n    \"Imagery and Base Maps\",\n    \"Inland Waters\"\n  ]\n}\n
"},{"location":"JSON-format/#escaped-characters","title":"Escaped characters","text":"
  • certain characters are reserved for the JSON format, including double quotations \"
  • if these characters are present in a string, they must be preceded by a backslash \\ in order for the JSON to function properly
  • double quotations \" within strings must be escaped with a backslash \\
{\n  \"dct_references_s\": \"{\\\"http://schema.org/url\\\":\\\"http://purl.stanford.edu/dp018hs9766\\\",\\\"http://schema.org/downloadUrl\\\":\\\"http://stacks.stanford.edu/file/druid:dp018hs9766/data.zip\\\"}\"\n}\n
"},{"location":"JSON-format/#stringified-json","title":"\"Stringified JSON\"","text":"
  • the dct_references_s field in the GeoBlacklight JSON is sometimes referred to as \"stringified JSON\"; it looks like an object, but it is actually a string
  • the backslash \\ in the example above is an indication that this value is stringified JSON
"},{"location":"JSON-format/#example","title":"Example","text":"

This is an example of a complete OGM Aardvark JSON file. Note that it contains a custom (local) field, b1g_code_s, which is documented on the BTAA Geospatial Information Network Metadata handbook at https://geobtaa.github.io/metadata/b1g-custom-elements/#code

{\n  \"dct_title_s\": \"Racial Covenants [Hennepin County, Minnesota] (1910-1955)\",\n  \"dct_alternative_sm\": [\n    \"Racial Covenants in Hennepin County\"\n  ],\n  \"dct_description_sm\": [\n    \"This data was compiled by the Mapping Prejudice Project and shows the location of racial covenants recorded in Hennepin County between 1910 and 1955. Racial covenants were legal clauses embedded in property records that restricted ownership and occupancy of land parcels based on race. These covenants dramatically reshaped the demographic landscape of Hennepin County in the first half of the twentieth century. In 1948, the United States Supreme Court ruled racial covenants to be legally unenforceable in the Shelly v. Kraemer decision. Racial covenants continued to be inserted into property records, however, prompting the Minnesota state legislature to outlaw the recording of new racial covenants in 1953. The same legislative body made covenants illegal in 1962. The practice was formally ended nationally with the passage of the Fair Housing Act in 1968.\"\n  ],\n  \"dct_language_sm\": [\n    \"eng\"\n  ],\n  \"dct_creator_sm\": [\n    \"Ehrman-Solberg, Kevin\",\n    \"Petersen, Penny\",\n    \"Mills, Marguerite\",\n    \"Delegard, Kirsten\",\n    \"Mattke, Ryan\"\n  ],\n  \"dct_publisher_sm\": [\n    \"University of Minnesota Mapping Prejudice Project\"\n  ],\n  \"schema_provider_s\": \"University of Minnesota\",\n  \"gbl_resourceClass_sm\": [\n    \"Datasets\",\n    \"Web services\"\n  ],\n  \"gbl_resourceType_sm\": [\n    \"Polygon data\",\n    \"Vector data\"\n  ],\n  \"dcat_theme_sm\": [\n    \"Society\"\n  ],\n  \"dcat_keyword_sm\": [\n    \"Minneapolis\",\n    \"racial covenants\",\n    \"segregation\",\n    \"redlining\",\n    \"real estate\"\n  ],\n  \"dct_temporal_sm\": [\n    \"1910-1955\"\n  ],\n  \"dct_issued_s\": \"2020-12\",\n  \"gbl_indexYear_im\": [\n    \"1910\"\n  ],\n  \"gbl_dateRange_drsim\": [\n    \"[1910 TO 1955]\"\n  ],\n  \"dct_spatial_sm\": [\n    \"Bloomington, Minnesota\",\n    \"Brooklyn Center, Minnesota\",\n    \"Brooklyn Park, Minnesota\",\n    \"Champlin, Minnesota\",\n    \"Crystal, Minnesota\",\n    \"Deephaven, Minnesota\",\n    \"Eden Prairie, Minnesota\",\n    \"Edina, Minnesota\",\n    \"Golden Valley, Minnesota\",\n    \"Greenwood, Minnesota\",\n    \"Hopkins, Minnesota\",\n    \"Maple Grove, Minnesota\",\n    \"Maple Plain, Minnesota\",\n    \"Medina, Minnesota\",\n    \"Minneapolis, Minnesota\",\n    \"Minnetonka, Minnesota\",\n    \"Minnetonka Beach, Minnesota\",\n    \"Minnetrista, Minnesota\",\n    \"Mound, Minnesota\",\n    \"Orono, Minnesota\",\n    \"Osseo, Minnesota\",\n    \"Plymouth, Minnesota\",\n    \"Rays Lynnhurst, Minnesota\",\n    \"Richfield, Minnesota\",\n    \"Robbinsdale, Minnesota\",\n    \"Shorewood, Minnesota\",\n    \"St. Anthony, Minnesota\",\n    \"St. Louis Park, Minnesota\",\n    \"Tonka Bay, Minnesota\",\n    \"Wayzata, Minnesota\",\n    \"Woodland, Minnesota\",\n    \"Hennepin County, Minnesota\",\n    \"Minnesota\"\n  ],\n  \"locn_geometry\": \"POLYGON((-93.77 45.24, -93.17 45.24, -93.17 44.78, -93.77 44.78, -93.77 45.24))\",\n  \"dcat_bbox\": \"ENVELOPE(-93.77,-93.17,45.24,44.78)\",\n  \"dcat_centroid\": \"45.01,-93.47\",\n  \"pcdm_memberOf_sm\": [\n    \"dc8c18df-7d64-4ff4-a754-d18d0891187d\"\n  ],\n  \"dct_isPartOf_sm\": [\n    \"05d-12\",\n    \"05d-03\"\n  ],\n  \"dct_rights_sm\": [\n    \"Content distributed via the University of Minnesota's Digital Conservancy may be subject to additional license and use restrictions applied by the depositor.\"\n  ],\n  \"dct_license_sm\": [\n    \"http://creativecommons.org/licenses/by-nc/3.0/us/\"\n  ],\n  \"dct_accessRights_s\": \"Public\",\n  \"dct_format_s\": \"Shapefile\",\n  \"dct_references_s\": \"{\\\"http://schema.org/url\\\":\\\"https://doi.org/10.13020/a88t-yb14\\\",\\\"http://lccn.loc.gov/sh85035852\\\":\\\"https://conservancy.umn.edu/bitstream/handle/11299/217209/Hennepin_County_Racial_Covenants_Codebook.txt\\\",\\\"urn:x-esri:serviceType:ArcGIS#FeatureLayer\\\":\\\"https://services.arcgis.com/8df8p0NlLFEShl0r/ArcGIS/rest/services/Hennepin_County_Racial_Covenants/FeatureServer/0\\\",\\\"http://schema.org/downloadUrl\\\":[{\\\"label\\\":\\\"covenants shapefile (4.554Mb)\\\",\\\"url\\\":\\\"https://conservancy.umn.edu/bitstream/handle/11299/217209/Hennepin_County_Racial_Covenants.zip\\\"},{\\\"label\\\":\\\"covenants CSV (9.925Mb)\\\",\\\"url\\\":\\\"https://conservancy.umn.edu/bitstream/handle/11299/217209/Hennepin_County_Racial_Covenants_Table.csv\\\"}]}\",\n  \"id\": \"0455d309-e4e9-473e-8c3f-b42a6a2e16fc\",\n  \"dct_identifier_sm\": [\n    \"https://doi.org/10.13020/a88t-yb14\"\n  ],\n  \"gbl_mdModified_dt\": \"2022-09-14T20:18:27Z\",\n  \"gbl_mdVersion_s\": \"Aardvark\",\n  \"b1g_code_s\": \"05d-03\"\n}\n
"},{"location":"aardvark-fgdc-iso-crosswalk/","title":"Aardvark to FGDC and ISO","text":"OGM Aardvark FGDC CSDGM ISO 19139 dct_accessRights_s idinfo/acconst MD_DataIdentification/resourceConstraints/MD_LegalConstraints/accessConstraints dct_alternative_sm - - dcat_bbox idinfo/spdom/bounding/westbc AND eastbc AND northbc AND southbc MD_DataIdentification/extent/EX_Extent/geographicElement/EX_GeographicBoundingBox/west AND south AND east AND north dcat_centroid - - dct_creator_sm idinfo/citation/citeinfo/originator MD_DataIdentification/citation/CI_Citation/citation/citedResponsibleParty/CI_ResponsibleParty/individualName OR organsationName (@type = originator) dct_issued_s idinfo/citation/citeinfo/pubdate MD_DataIdentification/citation/CI_Citation/citation/CI_Date/date gbl_dateRange_drsim idinfo/timeperd/timeinfo/rngdates/begdate and idinfo/timeperd/timeinfo/rngdates/enddate - dct_description_sm descript/abstract MD_DataIdentification/abstract gbl_fileSize_s distinfo/stdorder/digform/digtinfo/transize - dct_format_s spdoinfo/direct MD_Distribution/distributionFormat/MD_Format/name locn_geometry idinfo/spdom/bounding/westbc AND eastbc AND northbc AND southbc - gbl_georeferenced_b - - id not applicable not applicable dct_identifier_sm - MD_DataIdentification/citation/CI_Citation/citation/MD_Identifier/code gbl_indexYear_im idinfo/timeprd/timeinfo/sngdate/caldate and idinfo/timeperd/timeinfo/mdattim/sngdate/caldate and idinfo/timeperd/timeinfo/rngdates/begdate and idinfo/keywords/temporal/tempkey MD_DataIdentification/extent/EX_Extent/EX_TemporalExtent/extent/TimePeriod OR TimeInstant [YYYY] dct_isPartOf_sm - - idinfo/citation/citeinfo/lworkcit/citeinfo/title MD_AggregateInformation/aggregateDataSetName/CI_Citation/title - dct_isReplacedBy_sm - - dcat_keyword_sm - - dct_language_sm - MD_DataIdentification/language dct_license_sm - - pcdm_memberOf_sm - - gbl_mdVersion_s - - gbl_mdModified_dt metainfo/metd - schema_provider_s distinfo/distrib/cntinfo/cntorgp/cntorg MD_Distributor/CI_ResponsibleParty/organisationName dct_publisher_sm idinfo/citation/citeinfo/pubinfo/publisher MD_DataIdentification/citation/CI_Citation/citation/citedResponsibleParty/CI_ResponsibleParty/individualName OR organsationName (@type = publisher) dct_references_s not applicable not applicable dct_relation_sm - - dct_replaces_sm - - gbl_resourceClass_sm idinfo/citation/citeinfo/geoform - gbl_resourceType_sm spdoinfo/ptvctinf/sdtsterm/sdtstype, idinfo/keywords/theme/themekey MD_GeometricObjectTypeCode dct_rights_sm idinfo/useconst, idinfo/useconst, idinfo/acconst - dct_rightsHolder_sm - - dct_source_sm dataqual/lineage/srcinfo/srccite/citeinfo/title DQ_DataQuality/lineage/LI_Lineage/source/LI_Source/sourceCitation/CI_Citation/title dct_spatial_sm idinfo/keywords/place MD_DataIdentification/descriptiveKeywords/MD_Keywords/keyword (@type='place') dct_subject_sm idinfo/keywords/theme/themekey MD_DataIdentification/descriptiveKeywords/MD_Keywords/keyword (@type='theme') AND MD_DataIdentification/topicCategory/MD_TopicCategoryCode gbl_suppressed_b not applicable not applicable dct_temporal_sm idinfo/timeprd/timeinfo/sngdate/caldate and idinfo/timeperd/timeinfo/mdattim/sngdate and idinfo/timeperd/timeinfo/rngdates and idinfo/keywords/temporal/tempkey MD_DataIdentification/extent/EX_Extent/EX_TemporalExtent/extent/TimePeriod OR TimeInstant dcat_theme_sm - - dct_title_s idinfo/citation/citeinfo/title MD_DataIdentification/citation/CI_Citation/title hierarchyLevelName - - dct_isVersionOf_sm - - gbl_wxsIdentifier_s not applicable not applicable"},{"location":"aardvark-gbl-1-crosswalk/","title":"Aardvark to GBL 1.0","text":"

The following chart shows the full Aardvark schema and which GBL 1.0 fields can be directly mapped.

"},{"location":"aardvark-gbl-1-crosswalk/#crosswalk-table","title":"Crosswalk table","text":"Aardvark Label OGM Aardvark GBL 1.0 Note Access Rights dct_accessRights_s dc_rights_s new field name Alternative Title dct_alternative_sm - new field Bounding Box dcat_bbox solr_geom new field Centroid dcat_centroid - new field Creator dct_creator_sm dc_creator_sm new namespace Date Issued dct_issued_s dct_issued_s no change Date Range gbl_dateRange_drsim - new field Description dct_description_sm dc_description_s new namespace; single to multi-valued File Size gbl_fileSize_s - new field Format dct_format_s dc_format_s new namespace Geometry locn_geometry solr_geom new field Georeferenced gbl_georeferenced_b - new field ID id layer_slug_s new field name Identifier dct_identifier_sm dc_identifier_s new namespace; single to multi-valued Index Year gbl_indexYear_im solr_year_i new field name; single to multi-valued Is Part Of dct_isPartOf_sm - new value type (see Elements without a crosswalk) Is Replaced By dct_isReplacedBy_sm - new field Keyword dcat_keyword_sm - new field Language dct_language_sm dc_language_s or _sm new namespace; single to multi-valued License dct_license_sm - new field Member Of pcdm_memberOf_sm - new field Metadata Version gbl_mdVersion_s geoblacklight_version new field name Modified gbl_mdModified_dt layer_modified_dt new field name Provider schema_provider_s dct_provenance_s new field name Publisher dct_publisher_sm dc_publisher_s new namespace; single to multi-valued References dct_references_s dct_references_s no change Relation dct_relation_sm - new field Replaces dct_replaces_sm - new field Resource Class gbl_resourceClass_sm - new field Resource Type gbl_resourceType_sm - new field Rights dct_rights_sm - new field Rights Holder dct_rightsHolder_sm - new field Source dct_source_sm dc_source_sm new namespace Spatial Coverage dct_spatial_sm dct_spatial_sm no change Subject dct_subject_sm dc_subject_sm new namespace Suppressed gbl_suppressed_b suppressed_b new namespace Temporal Coverage dct_temporal_sm dct_temporal_sm no change Theme dcat_theme_sm - new field Title dct_title_s dc_title_s new namespace Version dct_isVersionOf_sm - new field WxS Identifier gbl_wxsIdentifier_s layer_id_s new field name - - dc_type_s deprecated field - - layer_geom_type_s deprecated field - - dc_isPartOf_sm deprecated literal field, replaced by nonliteral dct_isPartOf_sm,, which takes an ID"},{"location":"aardvark-gbl-1-crosswalk/#elements-without-a-crosswalk","title":"Elements without a crosswalk","text":"

Most of the elements from GBL 1.0 can be crosswalked directly into OGM Aardvark. The values for these elements are the same - only the field name has changed or the field has been converted to an array.

However, there are three elements in GBL 1.0 that do not directly translate into OGM Aardvark. While they have been replaced with similar fields in OGM Aardvark, the values themselves would need to be altered during crosswalking.

Type (dc_type_s)

  • GBL 1.0 Description: This single-valued GBL 1.0 field observes the Dublin Core controlled vocabulary for Type, including Dataset, Image, Collection, Interactive Resource, or Physical Object.
  • Similar Aardvark element: This has been replaced in Aardvark with the multi-valued Resource Class, which uses a custom controlled vocabulary of Collections, Datasets, Imagery, Maps, Web services, and/or Other.

Geometry Type (layer_geom_type_s)

  • GBL 1.0 Description: This single-valued GBL 1.0 field differentiates between vector (Point, Line, Polygon), raster (Raster, Image), non-spatial formats (Table), or a combination (Mixed).
  • Similar Aardvark element: This has been replaced in Aardvark with the multi-valued Resource Type, which uses a controlled vocabulary drawn from Library of Congress cartographic genres and GIS geometries.

Is Part Of (dct_isPartOf_sm)

  • GBL 1.0 Description: This multi-valued GBL 1.0 plain text field is for writing out the name of a collection. Example: dct_isPartOf_sm:\"Village Maps of India\"
  • Similar Aardvark element: The field name is the same in Aardvark, but it is now a non-literal field. The value must be one or more IDs that reference another record within the system. Example: dct_isPartOf_sm:\"princeton-z603r079s\"
"},{"location":"about-ogm-aardvark/","title":"About OGM Aardvark","text":"

Details about the OpenGeoMetadata metadata schema, OGM Aardvark

Summary

  • Based on Dublin Core, with custom elements added for spatial values.
  • Designed for discovery - to help users find items.
  • Not designed for complete technical documentation, such as a GIS dataset's processing history.
  • Includes elements for external links, such as downloads, web services, or supplemental metadata.
  • Requires records to be formatted as JSON files (learn more here).
"},{"location":"about-ogm-aardvark/#terminology","title":"Terminology","text":"
  • GBL 1.0: The legacy metadata schema designed for GeoBlacklight versions 2.0-3.7. The schema is documented on this Legacy page.
  • OGM Aardvark: The new metadata schema that is compatible with GeoBlacklight version 4.0.
  • GeoBlacklight: When spelled out, GeoBlacklight refers to the application itself, not its namesake legacy metadata schema, GBL 1.0.
  • Field name: This is the name we give to the metadata element itself. For example, the field name for the Subject field is dct_subject_sm.
  • Namespace: This is how we signify which family of standards or schemas an element belongs to. For the GeoBlacklight schema, this takes the form of the field name's prefix. For dct_subject_sm, dct_ is the prefix and signifies that this element is from Dublin Core.
  • Solr field type: This is the suffix appended to the field name and indicates what kind of Solr field should be indexed. For dct_subject_sm, the _sm stands for String Multiple. It indicates that the field type is a string and that it can have multiple values.
  • Value: This is the information that is entered in a field. It may be free text (literal value) or a URI/code (nonliteral value).

OGM Aardvark is a discovery metadata schema for geospatial resources. It was intentionally developed with cross-application in mind and can be used to describe geospatial assets of all kinds.

It is also the newest metadata application profile schema for GeoBlacklight. Launched in 2021, it replaces the GeoBlacklight metadata schema version 1.0 (GBL 1.0). Compared to GBL 1.0, Aardvark incorporates additional fields for better descriptions of a wider range of resources, as well as syntactical updates in order to improve interoperability between institutions and between schemas. For GeoBlacklight users, it is the recommended schema for installations starting with GeoBlacklight version 4.0.

For more information, see the Upgrade Guide.

"},{"location":"about-ogm-aardvark/#background","title":"Background","text":""},{"location":"about-ogm-aardvark/#why-is-this-called-aardvark","title":"Why is this called Aardvark?","text":"

The term \u201caardvark\u201d represents a new naming convention to specify metadata schema versions. This convention is intended to reduce confusion between the metadata schema version and GeoBlacklight software versions, which uses numerical-based indicators.

"},{"location":"about-ogm-aardvark/#why-do-we-need-an-updated-schema","title":"Why do we need an updated schema?","text":"

GeoBlacklight and its original metadata application schema (1.0) are well-suited to describing single layers of GIS data served out as OGC web services and documented with supplemental metadata, such as ISO 19115 (19139). Since that time, the growing community of GeoBlacklight adopters has introduced new use cases and institutional requirements. This growth brought several challenges to the metadata application schema as it was originally conceived including:

  • a lack of fields for statements about rights
  • a lack of clarity around how to define relationships between items
  • few options for describing other types of resources, such as scanned maps, collections, and websites
  • mandatory fields that did not have applicable values (i.e. Geometry Type)
  • single-valued fields that could have multiple values (i.e. Language, Publisher)
  • fields with names that were not intuitive for new users

The minimal nature of the original GeoBlacklight schema combined with the growing environment of customized local fields has presented obstacles for new adopters. Instead of being able to rely on the official application schema to meet all or most of their needs, they must develop local solutions. Ultimately, in order to use GeoBlacklight, many adopters implemented custom fields. A review of extant custom fields in 2020 revealed that at least six institutions had added or altered fields in the GeoBlacklight schema. Altogether, over 20 custom fields were in use. The result of these custom fields was metadata that was not fully interoperable across institutions. For example, three schools had implemented three different fields for indicating rights or licenses.

"},{"location":"about-ogm-aardvark/#what-changed","title":"What changed?","text":""},{"location":"about-ogm-aardvark/#what-are-the-differences-between-gbl-10-and-ogm-aardvark","title":"What are the differences between GBL 1.0 and OGM Aardvark?","text":""},{"location":"about-ogm-aardvark/#new-elements-for-rights","title":"New elements for rights","text":"

The new set of rights elements are:

Label Field Name Description and Entry Guidelines Access Rights dct_accessRights_s One of two possible values, \"Public\" or \"Restricted\"; controls whether a user can preview or download an item. This element replaces dc_rights_s. Rights dct_rights_sm Free-text field for generic, catch-all access and usage rights. Can include clickable links. License dct_license_sm Field for one or more URIs. Recommended sources are Creative Commons or Open Data Commons. Rights Holder dct_rightsHolder_sm Free-text field for the person or organization owning or managing rights over the resource."},{"location":"about-ogm-aardvark/#new-elements-for-item-relations","title":"New elements for item relations","text":"

The new schema includes seven relationship fields. The value for each field should be the ID (slug) of the related item.

GeoBlacklight version 3.4 and earlier has an Item Relations widget that displays items identified in the Source field. Beginning with version 4, this has been updated to use the same widget for each of these fields

The new set of relationship elements are:

Label Field Name Description and Entry Guidelines Source dct_source_sm For items that have been derived from another item (e.g. a digitized shapefile from a historical map). Is Part Of dct_isPartOf_sm For items that are a subset of another item (e.g. a page in a book). This value type is changing from free-text in Version 1.0 to an ID (slug) in the new schema. Member Of pcdm_memberOf_sm For items in a collection. Replaces dct_replaces_sm To refer to an item that has been deprecated. Is Replaced By dct_isReplacedBy_sm To point the user to a new item. Version dct_isVersionOf_sm To indicate that an item is part of a series of resources that are updated or altered. Relation dct_relation_sm For a general purpose relation."},{"location":"about-ogm-aardvark/#consistent-namespaces-for-all-metadata-element-field-names","title":"Consistent namespaces for all metadata element field names","text":"

OGM Aardvark gives preference to elements found in established schemas over custom fields.

  • dct_: This signifies that the field is part of the Dublin Core Metadata Initiative (DCMI) Metadata Terms. Any Dublin Core fields from GBL 1.0 were updated to use the dct_ namespace, instead of dc_.
  • dcat_: This signifies that the field is from the Data Catalog Vocabulary (DCAT) Version 2.
  • pcdm_: This refers to the Portland Common Data Model, which is a framework for many digital repository systems. We drew from it to establish one of the item relationship fields.
  • gbl_: This stands for GeoBlacklight and is used for any field that is application-specific or has no analogous term in other schemas.
"},{"location":"about-ogm-aardvark/#multivalued-elements-whenever-possible","title":"Multivalued elements whenever possible","text":"

The original schema features several descriptive metadata fields that only accept one value. The new schema expands many of these to multiple. This changes the field name suffix from _s to_sm. Although it will not affect the GeoBlacklight functionality, this practice may conflict with indexing, as Solr will treat dct_publisher_s as a different field than dct_publisher_sm.

"},{"location":"about-ogm-aardvark/#more-intuitive-name-for-unique-key","title":"More intuitive name for unique key","text":"

Metadata for GeoBlacklight instances is stored and indexed in Solr, which uses a \"Unique Key Field\" as the identifier for each document. The OGM Aardvark schema uses the straightforward id as the Unique Key Field (in GBL 1.0, this field was called layer_slug_s).

"},{"location":"about-ogm-aardvark/#will-aardvark-work-with-my-geoblacklight-installation","title":"Will Aardvark work with my GeoBlacklight installation?","text":"

You will need to upgrade to at least GeoBlacklight version 3.3 to test out Aardvark. All previously hardcoded field names were removed in GeoBlacklight version 3.3 (see this pull request for more information). This means that field names are defined in the settings.yml file and can be configured to use Aardvark. However, only the fields in the crosswalk will have display, facet, or other functionality enabled by default in version 3.3.

Some of the new fields in Aardvark will be tied to default application functionality beginning with Version 4.0. We plan to include item relation widgets for the new relationships (such as Member Of and Is Version Of) and reorganize the facets to include the new categories (such as Resource Class and Resource Type).

"},{"location":"about-ogm-aardvark/#credits","title":"Credits","text":""},{"location":"about-ogm-aardvark/#who-came-up-with-the-schema","title":"Who came up with the schema?","text":"

The GeoBlacklight Metadata Schema Workgroup consisted of 16 people from 12 institutions. The workgroup formed during the Summer Community Sprint in August 2020 and met every three weeks thereafter through January 2021. The group wrapped up after the Winter Community Sprint in February 2021, during which time they consulted with application developers and finalized the recommendations for Aardvark.

Workgroup Goals

  1. Systematically assess and evaluate the GeoBlacklight Schema 1.0
  2. Develop a new GeoBlacklight Metadata Schema that features:
    • improved interoperability with DCAT and Dublin Core-based schemas
    • new fields for rights
    • new fields for item relations
    • new recommendations for controlled vocabularies and values
  3. Develop a new Metadata Application Profile (MAP) for GeoBlacklight

Workgroup Constraints & Considerations

  • The GeoBlacklight schema was designed as an application-specific schema purely for discovery. It should not be a replacement for a full-fledged geospatial standard, such as ISO 19139.
  • Elements that drive the functionality of GeoBlacklight should be examined cautiously, as changes to the schema for these elements will require new application development time to implement.
  • New elements that are optional and additive are easier to adopt than ones that are syntactical replacements of existing fields.
  • Although backward compatibility is usually preferred, it may not be possible to accommodate both schemas within a single application. Any breaking changes must be clearly stated and documented.

Workgroup Members

  • Abigail Pennington (UC San Diego)
  • Adi Ranganath (New York University)
  • Amy Work (UC San Diego)
  • Andrew Battista (New York University)
  • Diane Fritz (Auraria Library)
  • Karen Majewicz (University of Minnesota/BTAA)
  • Keith Jenkins (Cornell University)
  • Kimberly Durante (Stanford University)
  • Lena Denis (Johns Hopkins University)
  • Mara Blake (Johns Hopkins University)
  • Marc McGee (Harvard University)
  • Margaret Mering (University of Nebraska-Lincoln)
  • Michelle Janowiecki (Johns Hopkins University)
  • Stephen Appel (University of Wisconsin-Milwaukee)
  • Susan Powell (UC Berkeley)
  • Tom Brittnacher (UC Santa Barbara)

Metadata Interest Group Members Refinements to OpenGeoMetadata have continued through the work of the ongoing Metadata Interest Group, which formed after the Workgroup sunsetted:

  • Karen Majewicz (University of Minnesota/BTAA)
  • Keith Jenkins (Cornell University)
  • Lena Denis (Johns Hopkins University)
  • Marc McGee (Harvard University)
  • Rebecca Seifried (UMass Amherst)
"},{"location":"about-ogm-repositories/","title":"About OpenGeoMetadata Repositories","text":"

OpenGeoMetadata is a federated metadata-sharing community. The goal of participating in OpenGeoMetadata is to enable other institutions to find and use your institution\u2019s metadata in their own local repositories, increasing the visibility and discoverability of your geospatial assets.

View our GitHub repositories

Each collaborating institution creates and maintains its own geospatial metadata repository within the OpenGeoMetadata GitHub organization. This ensures that each institution has a unique namespace and can manage its own internal users who can collaborate on their metadata, while still enabling machine-harvestable metadata under a common organization. It also means that each institution is responsible for enforcing its own metadata standards.

"},{"location":"about-ogm-repositories/#metadata-standards","title":"Metadata standards","text":"

Many different metadata standards and schemas can be shared in OpenGeoMetadata. A common approach is to share JSON files in a lightweight metadata schema (documented on this site) that was designed especially for the discovery platform GeoBlacklight. These files can be ingested into any GeoBlacklight instance, and the harvesting process can be done manually or with the help of GeoCombine, a Ruby-based toolkit designed to automate the harvesting process.

Institutions may prefer to use other geospatial metadata standards in addition to \u2013 or instead of \u2013 the GeoBlacklight schema, such as ISO 19115 or the FGDC Content Standard for Digital Geospatial Metadata. Traditional library catalogs may use general purpose standards, such as MARC or MODS. Any institution is welcome to maintain an OpenGeoMetadata repository even if they do not use GeoBlacklight.

"},{"location":"about-ogm-repositories/#history","title":"History","text":"

The OpenGeoMetadata initiative was launched in 2015 as a collaboration between MIT, Princeton, and Stanford, and it has grown to include over 20 contributing organizations. It is a sister initiative to GeoBlacklight, an open-source Ruby on Rails software application for discovering geospatial content, and supports that work by providing a space to share GeoBlacklight-compliant metadata.

"},{"location":"applications/","title":"Metadata applications","text":"

These tools were built as part of automated workflows for specific repositories. Click the links to visit the code repositories.

Name Overview GeoDataLoader A custom tool with a built-in metadata editor that can load information directly into Geoserver. Can accept templates if multiple uploads are needed. Figgy A digital repository application in use at Princeton University Library for storing and managing digital representations of manuscripts, ephemera, vector, and raster data for export into a variety of front-end displays. GEOMG A custom tool that functions as a backend metadata editor and manager for the GeoBlacklight application."},{"location":"configure-references-links/","title":"Configure References Links (dct_references_s)","text":"

This page provides guidance on how to format the References field in either GBL 1.0 or OGM Aardvark.

"},{"location":"configure-references-links/#json-formatting","title":"JSON formatting","text":"

The field dct_references_s defines external services and references using the Cat-Interop approach. The field value is a serialized JSON array of key/value pairs. Keys represent XML namespace URIs, and values represent the URL.

  • key:value 1 = \"URI\":\"https://example.com\"
  • key:value 2 = \"URI\":\"https://otherexample.com\"

To format this field in JSON, double quotations \" must be escaped with a backslash \\.

{\n  \"dct_references_s\": \"{\n    \\\"http://schema.org/url\\\":\\\"http://purl.stanford.edu/bm662dm5913\\\",\n    \\\"http://schema.org/downloadUrl\\\":\\\"http://stacks.stanford.edu/file/druid:bm662dm5913/data.zip\\\"\n    }\"\n}\n
"},{"location":"configure-references-links/#multiple-downloads","title":"Multiple downloads","text":"

Beginning with GeoBlacklight version 3.0, multiple download links and file formats can be included in the dct_references_s field. For more details on this update, see this pull request.

To enable multiple downloads:

  • Make the value for the download file URI (http://schema.org/downloadUrl) into an array. This means it is enclosed in [square brackets].
  • Create one or more objects inside the array. These are enclosed in {curly brackets}.
  • Inside the object, define two key:value pairs separated by a comma.
  • Enclose each key and each value in double quotes.
  • Escape double quotations \" with a backslash \\

In formatted JSON, this would look like:

{\n  \"dct_references_s\": \"{\\\"http://schema.org/downloadUrl\\\":[\n    {\n      \\\"url\\\":\\\"https://example.com\\\",\n      \\\"label\\\":\\\"Shapefile\\\"\n    },\n    {\n      \\\"url\\\":\\\"https://otherexample.com\\\",\n      \\\"label\\\":\\\"KMZ\\\"\n    }]\n  }\"\n}\n

"},{"location":"configure-references-links/#examples","title":"Examples","text":"

For an exmaple of a complete JSON file with multiple downloads, see this record.

Single download

{\n  \"dct_references_s\": \"{\\\"http://schema.org/downloadUrl\\\":\\\"https://cugir-data.s3.amazonaws.com/00/79/50/cugir-007950.zip\\\"}\"\n}\n

Single download as an array

When using an array for downloads, the value after the \"label\" key will be used as the text in the Download panel button.

{\n  \"dct_references_s\": \"{\\\"http://schema.org/downloadUrl\\\":[\n    {\n      \\\"url\\\":\\\"https://cugir-data.s3.amazonaws.com/00/79/50/cugir-007950.zip\\\",\n      \\\"label\\\":\\\"Shapefile\\\"\n    }]\n  }\"\n}\n

Multiple downloads

{\n  \"dct_references_s\": \"{\\\"http://schema.org/downloadUrl\\\":[\n    {\n      \\\"url\\\":\\\"https://cugir-data.s3.amazonaws.com/00/79/50/cugir-007950.zip\\\",\n      \\\"label\\\":\\\"Shapefile\\\"\n    },\n    {\n      \\\"url\\\":\\\"https://cugir-data.s3.amazonaws.com/00/79/50/agBROO.pdf\\\",\n      \\\"label\\\":\\\"PDF\\\"\n    },\n    {\n      \\\"url\\\":\\\"https://cugir-data.s3.amazonaws.com/00/79/50/agBROO2011.kmz\\\",\n      \\\"label\\\":\\\"KMZ\\\"\n    }]\n  }\"\n}\n
"},{"location":"create-metadata/","title":"Create Metadata","text":"

How to create metadata records in the OpenGeoMetadata schema

"},{"location":"create-metadata/#author-new-metadata","title":"Author new metadata","text":"

Step 1 of the metadata workflow is to create or collect original metadata for each layer. Depending upon the type of resource and a repository\u2019s chosen workflows, the format of the original metadata may be in different standards or schemas.

"},{"location":"create-metadata/#for-resources-without-metadata-or-with-very-minimal-metadata","title":"For resources without metadata or with very minimal metadata","text":"

Option A: Create metadata in a non-OGM geospatial standard

Many repositories begin the workflow by creating metadata for their resources in a geospatial metadata standard other than the OGM schema. In the United States, this standard is likely either the Federal Geographic Data Committee Content Standard for Digital Geospatial Metadata (FGDC CSDGM) or the International Organization for Standardization (ISO) 191xx series.

The most commonly used tool for creating geospatial metadata is Esri\u2019s ArcCatalog or ArcGIS Pro (version 2.2 and above). These applications create metadata in a proprietary format, called the ArcGIS 1.0 Metadata format, and use built-in XSLs to transform and export this format to FGDC or ISO as XML files. Note that ArcCatalog and ArcGIS Pro are limited in their default capabilities for batch-processing metadata.

Option B: Create metadata in the OGM schema directly

Other repositories skip Option A and create records directly in the OpenGeoMetadata metadata schema. Although users benefit from the more complete information that can be added to an FGDC or ISO document, these standards are not needed to run GeoBlacklight. These repositories often use a spreadsheet or a Dublin-Core-based metadata editor to create the records. Scripts can be used to convert spreadsheets (in .csv format) to JSON in the OpenGeoMetadata schema. See Metadata Processing Scripts for example scripts.

"},{"location":"create-metadata/#for-resources-with-existing-metadata-files","title":"For resources with existing metadata files","text":"

Researchers and data providers often create geospatial metadata for their datasets, and repositories may only need to validate or augment the existing metadata records.

Geospatial data

A large amount of publicly available geospatial data does not have ISO or FGDC. However, it often features some kind of discovery metadata schema that is sufficient for creating OpenGeoMetadata schema records. For example, resources from public data portals, such as Socrata or ArcGIS Hub, will have metadata available in the DCAT schema. The metadata catalog for these portals can be accessed by appending \u201c/data.json\u201d to the end of the portal\u2019s base URL. Other data portals may use a custom metadata schema, but most have APIs that can be programmatically parsed to obtain metadata for each record.

Scanned maps

Scanned maps from library catalogs should have MARC catalog records, and they should be able to supply the repository with metadata in the .MRC or MARC XML file format.

"},{"location":"create-metadata/#transform-existing-metadata","title":"Transform existing metadata","text":"

If the metadata records are in a non-OpenGeoMetadata standard, the next step is to convert or transfer information from some or all of the fields to the OpenGeoMetadata schema. The result of this process is one or more JSON files that will be parsed and indexed by Solr. These JSON files will serve as the content to be shown in the GeoBlacklight application.

"},{"location":"create-metadata/#transformation-workflows","title":"Transformation workflows","text":"

Tip

  • JSON files in the OpenGeoMetadata schema do not need to be stored with the data/items they are referencing.
  • Multiple items can be referenced in a single JSON file.
  • Some fields will contain the same values for each item (e.g. gbl_mdVersion_s)
  • See Metadata Processing Scripts to view custom scripts and tools for additional metadata authoring techniques.

Most institutions have their own unique set of tools and workflows to perform this transformation. These workflows may differ depending on the type of item to be referenced. In most cases, automation of this process is desired, although it is possible to create the JSON files manually.

The process, whether automated or manual, typically involves parsing the existing metadata record, extracting the values from selected fields and inserting the value into a new JSON document under the corresponding OpenGeoMetadata schema field. This process is called mapping or \"crosswalking.\" In most cases the values can simply be copied over as is, although some additional formatting may be necessary.

"},{"location":"create-metadata/#example","title":"Example","text":"

At Stanford, the metadata records are natively authored in ESRI ArcCatalog and then transformed into ISO 19139. The ISO 19139 records are then transformed to MODS for the library catalog and GeoBlacklight for the GeoBlacklight catalog.

Stanford University Metadata Workflow

Take, for example, the metadata for this layer. It has the ISO 19139 version of the metadata, along with the Feature Catalog (in ISO 19110). We also have the transformation into MODS and to GeoBlacklight, as well as a preview image. In some cases, you may even have an HTML version of the metadata for someone to read.

"},{"location":"custom-fields/","title":"Custom fields","text":"

If an organization wishes to implement a custom metadata field for their GeoBlacklight instance, the naming schema should reference the organization as follows: organization_elementName_solrFieldType.

Examples:

  • b1g_code_s - Internal code that organizes items by their source collection
  • nyu_addl_dspace_s - A 5 digit number that is the \"internal identifier\" for DSpace, the repository software that mints handles for all NYU's items. The internal id must be paired with the handle in order to post metadata and data via the system API.
"},{"location":"further-reading/","title":"Further Reading","text":""},{"location":"further-reading/#community-resources","title":"Community Resources","text":"
  • Big Ten Academic Alliance Geospatial Data Project's Metadata Handbook
  • New York University's code examples, workflow steps, and ideas for managing the Spatial Data Repository, NYULibraries/sdr-documentation
"},{"location":"further-reading/#publications","title":"Publications","text":""},{"location":"further-reading/#a-metadata-schema-for-geospatial-resource-discovery-use-cases","title":"A Metadata Schema for Geospatial Resource Discovery Use Cases","text":"

Presents an earlier version of the GeoBlacklight schema and the motivations behind its design. Full citation: Hardy, Darren, and Kim Durante (2014). \"A Metadata Schema for Geospatial Resource Discovery Use Cases.\" Code4Lib 25. https://journal.code4lib.org/articles/9710.

"},{"location":"further-reading/#consortial-geospatial-data-collection-toward-standards-and-processes-for-shared-geoblacklight-metadata","title":"Consortial Geospatial Data Collection: Toward Standards and Processes for Shared GeoBlacklight Metadata","text":"

Discusses strategies for authorship and management of interoperable GeoBlacklight metadata. Full citation: Battista, Andrew, Karen Majewicz, Stephen Balogh, and Darren Hardy (2018). \"Consortial Geospatial Data Collection: Toward Standards and Processes for Shared GeoBlacklight Metadata.\" Journal of Library Metadata 17:3-4, 183-200, DOI: 10.1080/19386389.2018.1443414.

"},{"location":"gbl-0.5/","title":"GBL 0.5","text":"

Warning

This is a legacy format. The GeoBlacklight Community recommends using OGM Aardvark for GeoBlacklight versions 4.0 and higher.

"},{"location":"gbl-0.5/#deprecated-fields","title":"Deprecated fields","text":"

The earliest metadata schema for GeoBlacklight is the same as GBL 1.0, except that it also included these now-deprecated fields:

  • uuid
  • dc_relation_sm
  • georss_box_s
  • georss_point_s
  • georss_polygon_s
"},{"location":"gbl-1.0/","title":"GBL 1.0","text":"

Warning

This is a legacy format. The GeoBlacklight Community recommends using OGM Aardvark for GeoBlacklight versions 4.0 and higher.

Label Field Name Required Recommended Identifier dc_identifier_s X Rights dc_rights_s X Title dc_title_s X Provenance dct_provenance_s X Schema Version geoblacklight_version X Slug layer_slug_s X Bounding Box solr_geom X Solr Year solr_year_i X Creator dc_creator_sm X Description dc_description_s X Format dc_format_s X Language dc_language_sm Publisher dc_publisher_s Source dc_source_sm Subject dc_subject_sm X Type dc_type_s Is Part Of dct_isPartOf_sm Date Issued dct_issued_s References dct_references_s X Spatial Coverage dct_spatial_sm X Temporal Coverage dct_temporal_sm Geometry Type layer_geom_type_s X Layer ID layer_id_s Modified Date layer_modified_dt X Suppressed suppressed_b"},{"location":"gbl-1.0/#identifier","title":"Identifier","text":"Label Identifier Field Name dc_identifier_s Required yes Type string Description Unique identifier for layer as a URI. It should be globally unique across all institutions, assumed not to be end-user visible Entry Guidelines This is usually in the form of http://institution/id Controlled Vocabulary no Element Set Dublin Core Metadata Element Set Example \"http://purl.stanford.edu/vr593vj7147\" Commentary This field is required, but it is not displayed in the interface. It may be identical to the layer_slug_s field, or it may be related to or derived from the layer_id_s. This value is ideally a persistent identifier or permalink (such as a [PURL (https://en.wikipedia.org/wiki/Persistent_uniform_resource_locator) or Handle)."},{"location":"gbl-1.0/#rights","title":"Rights","text":"Label Rights Field Name dc_rights_s Required yes Type string Description Signals access in the geoportal and is indicated by a padlock icon. Users need to sign in to download restricted items Entry Guidelines Choose either Public or Restricted Controlled Vocabulary \"Public\" or \"Restricted\" Element Set Dublin Core Metadata Element Set Example \"Public\" Commentary This field can be set to \"Public\", which allows users to view and download an item, or \"Restricted\", which requires a user to log in to an authentication service. If there are additional licenses or rights associated with a resource, administrators will have to create a custom field in the local Solr schema."},{"location":"gbl-1.0/#title","title":"Title","text":"Label Title Field Name dc_title_s Required yes Type string Description The name of the resource Entry Guidelines Titles should include place names and dates when available. Controlled Vocabulary no Element Set Dublin Core Metadata Element Set Example \"Roads: Minneapolis, Minnesota, 2010\" Commentary The title is the most prominent metadata field that users see when browsing or scanning search results. Since many datasets are created with ambiguous or non-unique titles, it may be worth the effort to improve or enhance them. The ideal sequence of a title is something akin to Topic of Layer: Place, Year. Putting the year at the end of a title produces better search results, since titles are left-anchored."},{"location":"gbl-1.0/#provenance","title":"Provenance","text":"Label Provenance Field Name dct_provenance_s Required yes Type string Description The name of the institution that holds the resource or acts as the custodian for the metadata record Entry Guidelines The value for this field should be one of the agreed upon shortened names for each institution. This will embed the correct icon into the search results and item pages. Controlled Vocabulary This repository contains the insitutions that have shared icons: https://github.com/geoblacklight/geoblacklight-icons Element Set DCMI Metadata Terms Example \"Stanford\" Commentary This field indicates the institution that contributed the resource. The current community of practice is for this field to hold the name of the university or institution that has created the GeoBlacklight metadata record and/or hosts the dataset. Projects are encouraged to submit their institutional icon to the GeoBlacklight Icons repository to display with the resource."},{"location":"gbl-1.0/#schema-version","title":"Schema Version","text":"Label Schema Version Field Name geoblacklight_version Required yes Type string Description Indicates which version of the GeoBlacklight schema is in use Entry Guidelines Only current value is \"1.0\" Controlled Vocabulary no Element Set GeoBlacklight Example \"1.0\" Commentary \"1.0\" is the current version of the GeoBlacklight schema."},{"location":"gbl-1.0/#slug","title":"Slug","text":"Label Slug Field Name layer_slug_s Required yes Type string Description This is a string appended to the base URL of a GeoBlacklight installation to create a unique landing page for each resource. It is visible to the user and serves the purpose of forming a persistent URL for each catalog item. Entry Guidelines This string must be a globally unique value. The value should be alpha-numeric characters separated by dashes. Controlled Vocabulary no Element Set GeoBlacklight Example \"stanford-andhra-pradesh-village-boundaries\" Commentary The slug makes up the URL for the resource in GeoBlacklight. If having a readable slug is desired, it is common to use the form, institution-keyword1-keyword2 (words or characters are separated by hyphens)."},{"location":"gbl-1.0/#bounding-box","title":"Bounding Box","text":"Label Bounding Box Field Name solr_geom Required yes Type string Description The rectangular extents of the resource. Note that this field is indexed as a Solr spatial (RPT) field Entry Guidelines Bounding box of the layer as a ENVELOPE WKT (from the CQL standard) using coordinates in (West, East, North, South) order. The pattern is: ENVELOPE(.,.,.,.) Controlled Vocabulary no Element Set GeoBlacklight Example \"ENVELOPE(76.76, 84.76, 19.91, 12.62)\" Commentary The rectangular bounding box is to aid searching with the map interface. Although accuracy is encouraged, it may not always be necessary to to have precise bounding coordinates. The field functions to facilitate discovery more than to indicate exact extents."},{"location":"gbl-1.0/#solr-year","title":"Solr Year","text":"Label Solr Year Field Name solr_year_i Required no Type integer Description A four digit integer representing a year of temporal coverage or date issued for the resource. This field is used to populate the Year facet and the optional Blacklight Range Limit gem Entry Guidelines This field must be an integer. Controlled Vocabulary no Element Set GeoBlacklight Example \"1982\" Commentary This field is a four digit integer that must be inferred by the temporal coverage or date issued of the resource. If a single record spans multiple years, choose the earliest year for the solr_year_i field."},{"location":"gbl-1.0/#creator","title":"Creator","text":"Label Creator Field Name dc_creator_sm Required no Type array Description The person(s) or organization that created the resource Entry Guidelines This may be an individual or an organization. If available, it should match with the Library of Congress Name Authority File. Controlled Vocabulary The suggested controlled vocabulary is the Library of Congress Name Authority File. Element Set Dublin Core Metadata Element Set Example \"George Washington\", \"Thomas Jefferson\" Commentary The dc_creator_sm field is best reserved for instances in which an individual person has collected, produced, or generated analyses of data (as opposed to an agency releasing a data product or resource). See also the comments on dc_publisher_sm."},{"location":"gbl-1.0/#description","title":"Description","text":"Label Description Field Name dc_description_s Required no Type string Description At minimum, this is a reiteration of the title in sentence format. Other relevant information, such as data creation methods, data sources, and special licenses, may also be included. Entry Guidelines This is a plain text field. Controlled Vocabulary no Element Set Dublin Core Metadata Element Set Example \"This polygon shapefile represents boundaries of election districts in New York City. It was harvested from the NYC Open Data Portal.\" Commentary The dc_description_s field is the second most prominent value that users see when search or browsing for items. Although not required, it is strongly recommended. If the description is minimal or lacking, it can be improved by concatenating available metadata fields, such as title, date, format, and place. This is a plain text field, so html code is not supported here unless the application is customized. It is recommended to assume that discovery happens in multiple contexts (i.e., GeoBlacklight metadata may be integrated into other discovery environments), so descriptions should use complete sentences that signpost what the data object is, even though that is evident within GeoBlacklight itself."},{"location":"gbl-1.0/#format","title":"Format","text":"Label Format Field Name dc_format_s Required yes, if download link is included AND if download URL is configured as a single key:value pair Type string Description This indicates the file format of the data. If a download link is included, this value displays on the item page in the button under the download widget Entry Guidelines Choose from set values (see Format list) Controlled Vocabulary See Format Controlled Vocabulary for the OGM Aardvark schema Element Set Dublin Core Metadata Element Set Example \"Shapefile\" Commentary The most important thing to remember about the dc_format_s field is that it is required for Download functionality if using a single value string for downloads. (pre-GeoBlacklight version 3.0). See Multiple Downloads for details."},{"location":"gbl-1.0/#language","title":"Language","text":"Label Language Field Name dc_language_sm Required no Type array Description Indicates the language of the data or map Entry Guidelines Spell out language (in English) instead of using the ISO 639-1 code (e.g.,\u201cFrench\u201d instead of \u201cfra\u201d). Controlled Vocabulary no Element Set Dublin Core Metadata Element Set Example \"English\" Commentary This field is intended to indicate the language of the dataset, map, and/or supporting documentation. The most common practice in this community is to spell the name language out in English (e.g., \"French\")."},{"location":"gbl-1.0/#publisher","title":"Publisher","text":"Label Publisher Field Name dc_publisher_s Required no Type array Description The organization that made the original resource available Entry Guidelines This should always be an organization. Controlled Vocabulary The suggested controlled vocabulary is the Library of Congress Name Authority File. Element Set Dublin Core Metadata Element Set Example \"ML InfoMap (Firm)\" Commentary The distinction between dc_publisher_s and dc_creator_sm for data is often vague. Publishers should be the administrative body or organization that made the original resource available, regardless of who compiled or produced the data."},{"location":"gbl-1.0/#source","title":"Source","text":"Label Source Field Name dc_source_sm Required no Type array Description This is used to indicate parent/child relationships between data layers and activates the Data Relations widget in GeoBlacklight Entry Guidelines This is only added to the child records. Enter the layer_slug_s of the parent record(s) into this field. Controlled Vocabulary no Element Set Dublin Core Metadata Element Set Example \"stanford-vr593vj7147\" Commentary The dc_source_sm field exists to indicate parent-child relationships between records. Common uses include: individual sheets within a map series that can point to a Shapefile that serves as an index map, individual Shapefile layers that have been derived from a Geodatabase that can point to the record for the GeoDatabase, or collection-level and related individual layer records. See Using the Data Relations Widget for more information."},{"location":"gbl-1.0/#subject","title":"Subject","text":"Label Subject Field Name dc_subject_sm Required no Type array Description These are theme or topic keywords Entry Guidelines These should be consistent and chosen from a controlled vocabulary. Use sentence style capitalization, where only the first word of a phrase is capitalized. Controlled Vocabulary Recommended thesauri are ISO Topic Categories and Library of Congress Subject Headings. Element Set Dublin Core Metadata Element Set Example \"Census\", \"Human settlements\" Commentary This field is indexed as a facet by default for GeoBlacklight applications, and it can become unwieldy when aggregating metadata records from multiple sources. Controlled vocabularies for GIS data have typically been expressed as ISO Topic Categories and localized thesauri, while scanned maps are typically described with Library of Congress Subject Headings. Even within these vocabularies, localized spellings and abbreviations will result in considerable variations between institutions. Institutions are encouraged to observe what terms are commonly in use and, at the very least, strive for internal consistency with controlled vocabularies and spellings. This facilitates easier metadata sharing across projects, such as the repositories in OpenGeoMetadata. Some institutions choose to create custom keyword fields to hold local, unnormalized values. It is recommended not to use Library of Congress Subject Headings to indicate the geography or spatial coverage of a dataset; instead, use the dct_spatial_sm field for this."},{"location":"gbl-1.0/#type","title":"Type","text":"Label Type Field Name dc_type_s Required no Type string Description This is a general element to indicate the larger genre of the resource Entry Guidelines Choose from Dublin Core Type values Controlled Vocabulary Type Controlled Vocabulary Element Set Dublin Core Metadata Element Set Example \"Dataset\" Commentary The dc_type_s field is optional, but it can be useful for categorizing between datasets, scanned maps, and collections. The GeoBlacklight 1.0 schema observes the Dublin Core controlled vocabulary for Type"},{"location":"gbl-1.0/#is-part-of","title":"Is Part Of","text":"Label Is Part Of Field Name dct_isPartOf_sm Required no Type array Description Holding entity for the layer, such as the title of a collection Entry Guidelines Plain text that is indexed in the Collections facet Controlled Vocabulary no Element Set DCMI Metadata Terms Example \"Village Maps of India\" Commentary The dct_isPartOf_sm field is most often used as a way to group collections arbitrarily. Such groupings often have meaning within local institutions and can be shorthand for keeping like items together. For example, the value could mark all of the items in a single data submission, all of the items that pertain to a class that is working with GIS data, or all of the items harvested from a specific Open Data portal."},{"location":"gbl-1.0/#date-issued","title":"Date Issued","text":"Label Date Issued Field Name dct_issued_s Required no Type string Description This is the publication date for the resource Entry Guidelines Use any date format, such as the XML Schema dateTime format (YYYY-MM-DDThhssZ) Controlled Vocabulary no Element Set DCMI Metadata Terms Example \"2015-01-01\" Commentary Although the dct_issued_s field is optional, it is often useful when a clear Temporal Coverage value is not present. For example, one may want to preserve a dataset with an uncertain lineage, but there is an indicator on a data portal on the date of last update."},{"location":"gbl-1.0/#references","title":"References","text":"Label References Field Name dct_references_s Required no Type string Description This element is a hash of key/value pairs for different types of external links. It integrates external services and references using the CatInterOp approach Entry Guidelines See Configure References Links Controlled Vocabulary no Element Set DCMI Metadata Terms Example \"dct_references_s\": \"{\\\"http://schema.org/url\\\":\\\"http://purl.stanford.edu/bm662dm5913\\\",\\\"http://schema.org/downloadUrl\\\":\\\"http://stacks.stanford.edu/file/druid:bm662dm5913/data.zip\\\"}\" Commentary All of the external links for the resource are added to the dct_references_s field as a serialized JSON array of key/value pairs. The download key/value pair is unique, because the value can be an array. See Multiple Downloads for details."},{"location":"gbl-1.0/#spatial-coverage","title":"Spatial Coverage","text":"Label Spatial Coverage Field Name dct_spatial_sm Required no Type array Description This field is for place name keywords Entry Guidelines Place name text strings should be specified out to the nation level. It is typical for the place name to represent the largest extent the data layer represents. Controlled Vocabulary Recommended thesaurus is GeoNames Element Set DCMI Metadata Terms Example \"Philadelphia, Pennsylvania, United States\" Commentary It is recommended to have at least one place name for each layer that corresponds to the logical extent of the area of that layer. Adding additional place names that fall within the layer should be done only if they are topically relevant to the content of the data. If a long list of place names is desired in the metadata for search purposes, a customized hidden field is recommended."},{"location":"gbl-1.0/#temporal-coverage","title":"Temporal Coverage","text":"Label Temporal Coverage Field Name dct_temporal_sm Required no Type array Description This represents the \"Ground Condition\" of the resource, meaning the time period data was collected or is intended to represent. Displays on the item page in the Year value Entry Guidelines This is a text string and can indicate uncertainty Controlled Vocabulary no Element Set DCMI Metadata Terms Example \"2007-2009\" Commentary The dct_temporal_sm field is multi-valued, so multiple strings can be used to indicate the time period the resource depicts, when the data was collected, and/or when the resources was created. Examples include: \u201c1910?\u201d, \u201c1800-1805\u201d, \u201cbefore 2000\u201d. If a single dataset spans multiple years, one can add each intervening year as a discrete value (e.g., 2007,2008,2009,2010). However, a common convention is to include only the first and last year (e.g., 2007,2010 for a dataset encompassing the span of time between 2007 and 2010)."},{"location":"gbl-1.0/#geometry-type","title":"Geometry Type","text":"Label Geometry Type Field Name layer_geom_type_s Required no Type string Description This element shows up as Data type in GeoBlacklight, and each value has an associated icon Entry Guidelines Choose from set values (see Controlled Vocabulary Lists) Controlled Vocabulary Geometry Type Controlled Vocabulary Element Set GeoBlacklight Example \"Polygon\" Commentary This field helps to differentiate between vector (Point, Line, Polygon), raster (Raster, Image), nonspatial formats (table), or a combination (Mixed). If processing metadata from a geospatial web server, this value may be programmatically determined. However, in many cases, it must be manually determined. The field is tied to icons for the resource, and provides the user with visual clues to the item. However, if the element is troublesome or unnecessary for a particular institution, it can be omitted."},{"location":"gbl-1.0/#layer-id","title":"Layer ID","text":"Label Layer ID Field Name layer_id_s Required no Type string Description Indicates the layer id for any WMS or WFS web services listed in the dct_references_s field Entry Guidelines Only the layer name is added here. The base service endpoint URLs (e.g. \"https://maps-public.geo.nyu.edu/geoserver/sdr/wms\") are added to the dct_references_s field. Controlled Vocabulary no Element Set GeoBlacklight Example \"druid:vr593vj7147\" Commentary The Layer ID is used to point to specific layers within a geospatial web service. This field is not used for ArcGIS Rest Services."},{"location":"gbl-1.0/#modified-date","title":"Modified Date","text":"Label Modified Date Field Name layer_modified_dt Required no Type date-time Description Last modification date for the metadata record Entry Guidelines Use the XML Schema dateTime format (YYYY-MM-DDThhssZ) Controlled Vocabulary no Element Set GeoBlacklight Example \"2015-01-01T12:00:00Z\" Commentary This value should indicate when the metadata (not the resource itself) was last modified."},{"location":"gbl-1.0/#suppressed","title":"Suppressed","text":"Label Suppressed Field Name suppressed_b Required no Type boolean Description If set to True, the record will not appear in search results. If is still accessible from the Data Relations widget and via direct URL. Entry Guidelines Values can be True or False Controlled Vocabulary yes Element Set GeoBlacklight Example \"True\" Commentary This field is useful for multipart items with identical metadata, such as pages in an atlas or series."},{"location":"gbl1-fgdc-iso-crosswalk/","title":"GBL 1.0 to FGDC and ISO","text":"GBL 1.0 FGDC CSDGM ISO 19139 dc_creator_sm idinfo/citation/citeinfo/originator MD_DataIdentification/citation/CI_Citation/citation/citedResponsibleParty/CI_ResponsibleParty/individualName OR organsationName (@type = originator) dc_description_s descript/abstract MD_DataIdentification/abstract dc_format_s spdoinfo/direct MD_Distribution/distributionFormat/MD_Format/name dc_identifier_s - MD_DataIdentification/citation/CI_Citation/citation/MD_Identifier/code dc_language_s or _sm - MD_DataIdentification/language dc_publisher_s idinfo/citation/citeinfo/pubinfo/publisher MD_DataIdentification/citation/CI_Citation/citation/citedResponsibleParty/CI_ResponsibleParty/individualName OR organsationName (@type = publisher) dc_rights_s idinfo/acconst MD_DataIdentification/resourceConstraints/MD_LegalConstraints/accessConstraints dc_source_sm dataqual/lineage/srcinfo/srccite/citeinfo/title DQ_DataQuality/lineage/LI_Lineage/source/LI_Source/sourceCitation/CI_Citation/title dc_subject_sm idinfo/keywords/theme/themekey MD_DataIdentification/descriptiveKeywords/MD_Keywords/keyword (@type='theme') AND MD_DataIdentification/topicCategory/MD_TopicCategoryCode dc_title_s idinfo/citation/citeinfo/title MD_DataIdentification/citation/CI_Citation/title dc_type_s - hierarchyLevelName dct_isPartOf_sm idinfo/citation/citeinfo/lworkcit/citeinfo/title MD_AggregateInformation/aggregateDataSetName/CI_Citation/title dct_issued_s idinfo/citation/citeinfo/pubdate MD_DataIdentification/citation/CI_Citation/citation/CI_Date/date dct_provenance_s distinfo/distrib/cntinfo/cntorgp/cntorg MD_Distributor/CI_ResponsibleParty/organisationName dct_references_s - - dct_spatial_sm idinfo/keywords/place MD_DataIdentification/descriptiveKeywords/MD_Keywords/keyword (@type='place') dct_temporal_sm idinfo/timeprd/timeinfo/sngdate/caldate and idinfo/timeperd/timeinfo/mdattim/sngdate and idinfo/timeperd/timeinfo/rngdates and idinfo/keywords/temporal/tempkey MD_DataIdentification/extent/EX_Extent/EX_TemporalExtent/extent/TimePeriod OR TimeInstant Elements without crosswalk - - geoblacklight_version - - layer_geom_type_s spdoinfo/ptvctinf/sdtsterm/sdtstype, idinfo/keywords/theme/themekey MD_GeometricObjectTypeCode layer_id_s - - layer_modified_dt idinfo/citation/citeinfo/onlink - layer_slug_s - - solr_geom idinfo/spdom/bounding/westbc AND eastbc AND northbc AND southbc - solr_geom idinfo/spdom/bounding/westbc AND eastbc AND northbc AND southbc MD_DataIdentification/extent/EX_Extent/geographicElement/EX_GeographicBoundingBox/west AND south AND east AND north solr_year_i idinfo/timeprd/timeinfo/sngdate/caldate and idinfo/timeperd/timeinfo/mdattim/sngdate/caldate and idinfo/timeperd/timeinfo/rngdates/begdate and idinfo/keywords/temporal/tempkey MD_DataIdentification/extent/EX_Extent/EX_TemporalExtent/extent/TimePeriod OR TimeInstant [YYYY] suppressed_b - -"},{"location":"harvest-ogm/","title":"Harvest from OpenGeoMetadata","text":"

Info

this page is a placeholder for work-in-progress

Metadata in OpenGeoMetadata can be freely harvested and ingested into other discovery applications.

"},{"location":"harvest-ogm/#suffixes","title":"Suffixes","text":"

Altering suffixes can result in metadata schema incompatibilities across institutions. Any deviations in element names causes Solr to treat the elements as separate fields: for example dct_subject_s and dct_subject_sm would be stored separately. If GeoBlacklight is set up to display a facet for dct_subject_s, it will not pick up values stored in dct_subject_sm in the filter. Therefore, if you are gathering metadata from other institutions, make sure to inspect their metadata fields to determine if there will be inconsistencies in your Solr index.

"},{"location":"index-in-solr/","title":"Index Metadata in Solr","text":"

Note

This page is a work in progress and needs more information.

Metadata records must be indexed in Solr in order to integrate with GeoBlacklight. The Solr application identifies each metadata record as a \u201cdocument.\u201d The process of adding documents to Solr is called \u201cindexing.\u201d

"},{"location":"index-in-solr/#option-a-indexing-manually","title":"Option A: Indexing manually","text":"

If you have access to your Solr Dashboard panel, you can add records manually by pasting them into the Documents pane.

"},{"location":"index-in-solr/#option-b-indexing-via-scripts","title":"Option B: Indexing via scripts","text":"

It is often more practical to use a process for batch adding, updating, and deleting the records. Most of the available processes are in the form of command-line scripts. See the Metadata Scripts for examples.

"},{"location":"json-schema/","title":"JSON schema files","text":"

JSON Schema files are used to document and validate JSON metadata:

"},{"location":"json-schema/#ogm-aardvark","title":"OGM Aardvark","text":""},{"location":"json-schema/#gbl-10-metadata","title":"GBL 1.0 Metadata","text":""},{"location":"ogm-aardvark/","title":"OpenGeoMetadata (OGM) Aardvark Schema","text":"

Tip

To read more about certain metadata categories (like \"Spatial\"), click the hyperlinked headings in the table below.

"},{"location":"ogm-aardvark/#descriptive","title":"Descriptive","text":"
  • Title (R)
  • Alternative Title
  • Description (S)
  • Language (v)
  • Display Note
"},{"location":"ogm-aardvark/#credits","title":"Credits","text":"
  • Creator (S)
  • Publisher (S)
  • Provider (S)
"},{"location":"ogm-aardvark/#categories","title":"Categories","text":"
  • Resource Class (R) (v)
  • Resource Type (S) (v)
  • Subject
  • Theme (v)
  • Keyword
"},{"location":"ogm-aardvark/#temporal","title":"Temporal","text":"
  • Temporal Coverage (S)
  • Date Issued
  • Index Year (S)
  • Date Range
"},{"location":"ogm-aardvark/#spatial","title":"Spatial","text":"
  • Spatial Coverage (S)
  • Geometry (S)
  • Bounding Box (S)
  • Centroid
  • Georeferenced
"},{"location":"ogm-aardvark/#relations","title":"Relations","text":"
  • Relation
  • Member Of
  • Is Part Of
  • Source
  • Is Version Of
  • Replaces
  • Is Replaced By
"},{"location":"ogm-aardvark/#rights","title":"Rights","text":"
  • Rights (S)
  • Rights Holder
  • License
  • Access Rights (R)
"},{"location":"ogm-aardvark/#object","title":"Object","text":"
  • Format (C) (v)
  • File Size
"},{"location":"ogm-aardvark/#links","title":"Links","text":"
  • References (S)
  • WxS Identifier (C)
"},{"location":"ogm-aardvark/#identifiers","title":"Identifiers","text":"
  • ID (R)
  • Identifier (S)
"},{"location":"ogm-aardvark/#admin","title":"Admin","text":"
  • Modified (R)
  • Metadata Version (R) (v)
  • Suppressed

Key

(R) = Required

(C) = Conditionally Required

(S) = Suggested

(v) = Controlled Values

"},{"location":"ogm-aardvark/#access-rights","title":"Access Rights","text":"Label Access Rights URI https://opengeometadata.org/ogm-aardvark/#access-rights Field Name dct_accessRights_s Field Type String Obligation Required Multivalued False Purpose To clarify to the user if the resource is public (any user can access) or restricted (a user will need to log in to some kind of authentication protocol) and if the application should provide a web service preview and/or a download function. Entry Guidelines Only one of two values are allowed: Public or Restricted. Commentary This field can be set to \"Public\", which allows users to view and download an item, or \"Restricted\", which requires a user to log in to an authentication service. Controlled Vocabulary Yes - strict Example Value \"Public\" Element Set DCMI Group Rights"},{"location":"ogm-aardvark/#alternative-title","title":"Alternative Title","text":"Label Alternative Title URI https://opengeometadata.org/ogm-aardvark/#alternative-title Field Name dct_alternative_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To provide the user with the another title if needed. Entry Guidelines This could be for a secondary or original title or subtitle. Commentary For discoverability, improving titles for data is encouraged. This field could be a place to keep the original title. It could also be useful for scanned maps. Some have long titles that include MARC subtitle fields, such as 245$b. Whether or not this field should appear in your GeoBlacklight item view pages can be customized in the application. Controlled Vocabulary No Example Value [\"NEZ H Districts\"] Element Set DCMI Group Descriptive"},{"location":"ogm-aardvark/#bounding-box","title":"Bounding Box","text":"Label Bounding Box URI https://opengeometadata.org/ogm-aardvark/#bounding-box Field Name dcat_bbox Field Type String Obligation Suggested Multivalued False Purpose To support overlap ratio boosting in spatial searches. Entry Guidelines This should be a bounding box in this format: ENVELOPE(W,E,N,S). Commentary If the Geometry field uses the ENVELOPE syntax, then these fields will be identical. Controlled Vocabulary No Example Value \"ENVELOPE(-111.1, -104.0, 45.0, 40.9)\" Element Set DCAT Group Spatial"},{"location":"ogm-aardvark/#centroid","title":"Centroid","text":"Label Centroid URI https://opengeometadata.org/ogm-aardvark/#centroid Field Name dcat_centroid Field Type String Obligation Optional Multivalued False Purpose To display the centerpoint of a resource. Entry Guidelines Enter two decimal degree coordinates separated by a comma in this order: latitude, longitude. Commentary This field is currently only supported by customizations to the GeoBlacklight application. Controlled Vocabulary No Example Value \"46.4218,-94.087\" Element Set DCAT Group Spatial"},{"location":"ogm-aardvark/#creator","title":"Creator","text":"Label Creator URI https://opengeometadata.org/ogm-aardvark/#creator Field Name dct_creator_sm Field Type Array of strings Obligation Suggested Multivalued True Purpose To credit the person/organization that collected or authored the resource. Entry Guidelines The suggested controlled vocabulary is the Library of Congress Name Authority File. Commentary The distinction between Creator and Publisher is often vague. This field is best reserved for instances in which an individual person has collected, produced, or generated analyses of data (as opposed to an agency releasing a data product or resource). It can be a person or an organization. Controlled Vocabulary No Example Value [\"Geological Survey (U.S.)\"] Element Set DCMI Group Credits"},{"location":"ogm-aardvark/#date-issued","title":"Date Issued","text":"Label Date Issued URI https://opengeometadata.org/ogm-aardvark/#date-issued Field Name dct_issued_s Field Type String Obligation Optional Multivalued False Purpose To provide the user with the date when an item was published, and to allow administrators to determine the age of the resource. Entry Guidelines A single year is the preferred format. For more precise dates, use the ISO format without the time value: YYYY-MM-DD or YYYY-MM. Commentary Although the field is optional, it is often useful when a clear Temporal Coverage value is not present. For example, one may want to preserve a dataset with an uncertain lineage, but there is an indicator on a data portal on the date of last update. In most cases, the 4-digit year is sufficient. Controlled Vocabulary No Example Value \"1999\" Element Set DCMI Group Temporal"},{"location":"ogm-aardvark/#date-range","title":"Date Range","text":"Label Date Range URI https://opengeometadata.org/ogm-aardvark/#date-range Field Name gbl_dateRange_drsim Field Type String Obligation Optional Multivalued True Purpose To power other time widgets that use a date range. Entry Guidelines Enter a start date and end date in the Solr date range field convention. In JSON, the value should be formatted as a string that includes the brackets, rather than as an array or list containing a string. Incorrect: [\"YYYY TO YYYY\"]. Correct: \"[YYYY TO YYYY]\". Commentary This field is not yet supported by GeoBlacklight, but the application can be customized to use it. Controlled Vocabulary No Example Value \"[1980 TO 1995]\" Element Set GBL Group Temporal"},{"location":"ogm-aardvark/#description","title":"Description","text":"Label Description URI https://opengeometadata.org/ogm-aardvark/#description Field Name dct_description_sm Field Type Array of strings Obligation Suggested Multivalued True Purpose To provide the user with a summary of the resource. Entry Guidelines At a minimum, this is a reiteration of the title in sentence format. Other relevant information, such as data creation methods, data sources, and special licenses, may also be included. Commentary This field is the second-most prominent value (after Title) that users see when search or browsing for items. Although not required, it is strongly recommended. If the description is minimal or lacking, it can be improved by concatenating available metadata fields, such as title, date, format, and place. This is a plain text field by default, but it can include clickable links if the GeoBlacklight software is customized; see the GeoBlacklight documentation on how to render HTML from a text field. Controlled Vocabulary No Example Value \"This polygon shapefile represents boundaries of election districts in New York City. It was harvested from the NYC Open Data Portal.\" Element Set DCMI Group Descriptive"},{"location":"ogm-aardvark/#display-note","title":"Display Note","text":"Label Display Note URI https://opengeometadata.org/ogm-aardvark/#display-note Field Name gbl_displayNote_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To highlight additional information about a resource, such as warnings or tips for using the data. Entry Guidelines Prefix the string with \"Danger:\", \"Info:\", \"Tip:\", or \"Warning:\" to specify the type of note. Commentary Starting in GeoBlacklight version 4.1, text in this field is prominently displayed in a shaded box just after the title, with the prefixes controlling the style of the displayed note. Styles and additional prefixes (for example, in other languages) can be added by customizing the GeoBlacklight software; see the v4.1.0 release notes. Controlled Vocabulary No Example Value [\"Danger: This text will be displayed in a red box\",\"Info: This text will be displayed in a blue box\",\"Tip: This text will be displayed in a green box\",\"Warning: This text will be displayed in a yellow box\",\"This is text without a tag and it will be assigned the default 'note' style\"] Element Set GBL Group Descriptive"},{"location":"ogm-aardvark/#file-size","title":"File Size","text":"Label File Size URI https://opengeometadata.org/ogm-aardvark/#file-size Field Name gbl_fileSize_s Field Type String Obligation Optional Multivalued False Purpose To inform the user of the size of the file download. Entry Guidelines Enter the size in megabytes. Commentary This field is intended to give users a sense of how large the data or image they are interested in downloading, and serves to alert users about huge files. Controlled Vocabulary No Example Value \"25.96 MB\" Element Set GBL Group Object"},{"location":"ogm-aardvark/#format","title":"Format","text":"Label Format URI https://opengeometadata.org/ogm-aardvark/#format Field Name dct_format_s Field Type String Obligation Conditionally required Multivalued False Purpose To display to the user the name of the file type as a text string in the download button. Entry Guidelines Enter a string describing the file format, preferably from the list of Format Values. Commentary This field is required if the download URL (http://schema.org/downloadUrl) in the References field is configured as a single key:value pair. The field is not required if using the multiple downloads option. Controlled Vocabulary Yes - not strict Example Value \"Shapefile\" Element Set DCMI Group Object"},{"location":"ogm-aardvark/#format-values","title":"Format Values","text":"
  • ArcGRID
  • CD-ROM
  • DEM
  • DVD-ROM
  • Feature Class
  • Geodatabase
  • GeoJPEG
  • GeoJSON
  • GeoPackage
  • GeoPDF
  • GeoTIFF
  • JPEG
  • JPEG2000
  • KML
  • KMZ
  • LAS
  • LAZ
  • Mixed
  • MrSID
  • PDF
  • PNG
  • Pulsewaves
  • Raster Dataset
  • Shapefile
  • SQLite Database
  • Tabular Data
  • TIFF
"},{"location":"ogm-aardvark/#geometry","title":"Geometry","text":"Label Geometry URI https://opengeometadata.org/ogm-aardvark/#geometry Field Name locn_geometry Field Type String Obligation Suggested Multivalued False Purpose To display the extent of the resource and to power the map search. Entry Guidelines This may be a bounding box or more complex geometry. For a bounding box, it should use the ENVELOPE(W,E,N,S) syntax. For a more complex geometry, it should use the WKT (\"well-known text\") POLYGON or MULTIPOLYGON syntax. Note that WKT polygon vertices should be defined in counter-clockwise order. Commentary Since this field is not repeatable, multiple polygons should be represented using the WKT \"MULTIPOLYGON\" syntax. Geometries that span the 180th meridian, aka the antimeridian, should be broken up into multiple bounding boxes or polygons for each side of the earth's hemisphere. This is because Solr, the underlying indexer for GeoBlacklight, cannot interpret these coordinates correctly and will display the geometry improperly (horizontally flipped). Controlled Vocabulary No Example Value Simple bounding box: \"ENVELOPE(-111.1, -104.0, 45.0, 40.9)\" | Bermuda Triangle: \"POLYGON((-80 25, -65 18, -64 33, -80 25))\" | Split bounding box for Alaska: \"MULTIPOLYGON (((-179.3 51.1, -129.9 51.1, -129.9 71.5, -179.3 71.5, -179.3 51.1)),((172.3 51.2, 179.9 51.2, 179.9 53.1, 172.3 53.1, 172.3 51.2)))\" Element Set LOCN Group Spatial"},{"location":"ogm-aardvark/#georeferenced","title":"Georeferenced","text":"Label Georeferenced URI https://opengeometadata.org/ogm-aardvark/#georeferenced Field Name gbl_georeferenced_b Field Type Boolean or string Obligation Optional Multivalued False Purpose To indicate whether or not a scanned map or other imagery has a georeferenced version. Entry Guidelines Only one of two values are allowed: true or false. Commentary This field can be a shortcut for users to find georeferenced maps. Administrators can also employ the Source field to link a paper map with its scan (e.g. a TIFF) and its georeferenced version (e.g. a GeoTIFF). Controlled Vocabulary Yes - strict Example Value false or \"false\" Element Set GBL Group Spatial"},{"location":"ogm-aardvark/#id","title":"ID","text":"Label ID URI https://opengeometadata.org/ogm-aardvark/#id Field Name id Field Type String Obligation Required Multivalued False Purpose To provide a unique alpha-numeric ID for the item that will act as the primary key in Solr and to create a unique landing page for the item. Entry Guidelines Enter a string of alpha-numeric characters separated by dashes. The ID must be globally unique across all institutions in your GeoBlacklight index. Commentary This field makes up the URL for the resource in GeoBlacklight. It is visible to the user and is used to create permalinks. If having a readable slug is desired, it is common to use the form institution-keyword1-keyword2. Controlled Vocabulary No Example Value \"princeton-rv042w38t\" Element Set GBL Group Identifiers"},{"location":"ogm-aardvark/#identifier","title":"Identifier","text":"Label Identifier URI https://opengeometadata.org/ogm-aardvark/#identifier Field Name dct_identifier_sm Field Type Array of strings Obligation Suggested Multivalued True Purpose To provide a general purpose field for identifiers. Entry Guidelines Enter a DOI, catalog number, and/or other system number. Commentary This is a general purpose field that can contain one or more string values. Ideally, at least one value would be a persistent identifier or permalink (such as a PURL or Handle). Additional values could be other identifiers used by the resource, such as the call number, OCLC number, or other system identifier. This field is not displayed in the interface. Controlled Vocabulary No Example Value [\"5864 .L7 E635 1998 .G7\"] Element Set DCMI Group Identifiers"},{"location":"ogm-aardvark/#index-year","title":"Index Year","text":"Label Index Year URI https://opengeometadata.org/ogm-aardvark/#index-year Field Name gbl_indexYear_im Field Type Array of integers Obligation Suggested Multivalued True Purpose To power the \"Year\" facet and time slider widgets that rely on integers for dates. Entry Guidelines Enter one or more 4-digit integers. Commentary Ideally this field should describe the date(s) depicted in a resource. Because it powers the \"Year\" facet, it is one of the key ways users can find items by their date. Controlled Vocabulary No Example Value [1980,1981,1982] Element Set GBL Group Temporal"},{"location":"ogm-aardvark/#is-part-of","title":"Is Part Of","text":"Label Is Part Of URI https://opengeometadata.org/ogm-aardvark/#is-part-of Field Name dct_isPartOf_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To link items that are a subset of another item (e.g. a page in a book, or a map in an atlas). Entry Guidelines Make a parent record to group records together. Enter the ID of the parent record(s). Commentary This is one of several fields that describe how records relate to each other. To link to a collection (rather than a book or atlas), see Member Of. Controlled Vocabulary No Example Value [\"77f-0001\"] Element Set DCMI Group Relations"},{"location":"ogm-aardvark/#is-replaced-by","title":"Is Replaced By","text":"Label Is Replaced By URI https://opengeometadata.org/ogm-aardvark/#is-replaced-by Field Name dct_isReplacedBy_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To point the user to a newer item(s). Entry Guidelines Enter the ID of the newer item(s) that should be used instead. Commentary This field can be used with Replaces to link an original dataset to a newer version. For example, if this dataset has already been cited somewhere but is now deprecated, it can be retained in a repository and this field can be used to link to its newer version. Controlled Vocabulary No Example Value [\"cugir-007933\"] Element Set DCMI Group Relations"},{"location":"ogm-aardvark/#is-version-of","title":"Is Version Of","text":"Label Is Version Of URI https://opengeometadata.org/ogm-aardvark/#is-version-of Field Name dct_isVersionOf_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To indicate that an item is part of a series of resources that are updated or altered and to provide a link to a different variant or adaption. Entry Guidelines Enter the ID of the most recent related record OR create a parent record to group versions together. Commentary If entering the ID of a parent record, see Member Of and Is Part Of for similar examples. Controlled Vocabulary No Example Value [\"xyz-1234\"] Element Set DCMI Group Relations"},{"location":"ogm-aardvark/#keyword","title":"Keyword","text":"Label Keyword URI https://opengeometadata.org/ogm-aardvark/#keyword Field Name dcat_keyword_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To improve search results with hidden free text tags and to give administrators a field for internal tags. Entry Guidelines Enter tags that will be useful for enhancing searches and interpretation. Keywords will be in the metadata, but will be hidden to the user by default. Commentary This field may be used for administrative purposes or to facilitate text searching without cluttering a facet or interface. They may be helpful for grouping items by an accession code or for alternate spellings of common terms. Controlled Vocabulary No Example Value [\"covid19\", \"vaccination rate\"] Element Set DCAT Group Categories"},{"location":"ogm-aardvark/#language","title":"Language","text":"Label Language URI https://opengeometadata.org/ogm-aardvark/#language Field Name dct_language_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To provide the user with the language of the resource. Entry Guidelines Enter a 3-letter code using the ISO 639-2 standard. Commentary This field is intended to indicate the language of the dataset, map, and/or supporting documentation. Controlled Vocabulary Yes - not strict. Ideally, choose from the ISO 639-3 language codes in the list of Language Values below. Example Value [\"eng\"] Element Set DCMI Group Descriptive"},{"location":"ogm-aardvark/#language-values","title":"Language Values","text":"

See Library of Congress for full list.

English Name of Language ISO 639-2 Abkhazian abk Achinese ace Acoli ach Adangme ada Adygei ady Adyghe ady Afar aar Afrihili afh Afrikaans afr Afro-Asiatic languages afa Ainu ain Akan aka Akkadian akk Albanian alb/sqi Alemannic gsw Aleut ale Algonquian languages alg Alsatian gsw Altaic languages tut Amharic amh Angika anp Apache languages apa Arabic ara Aragonese arg Arapaho arp Arawak arw Armenian arm/hye Aromanian rup Artificial languages art Arumanian rup Assamese asm Asturian ast Asturleonese ast Athapascan languages ath Australian languages aus Austronesian languages map Avaric ava Avestan ave Awadhi awa Aymara aym Azerbaijani aze Bable ast Balinese ban Baltic languages bat Baluchi bal Bambara bam Bamileke languages bai Banda languages bad Bantu languages bnt Basa bas Bashkir bak Basque baq/eus Batak languages btk Bedawiyet bej Beja bej Belarusian bel Bemba bem Bengali ben Berber languages ber Bhojpuri bho Bihari languages bih Bikol bik Bilin byn Bini bin Bislama bis Blin byn Bliss zbl Blissymbolics zbl Blissymbols zbl Bokm\u00e5l, Norwegian nob Bosnian bos Braj bra Breton bre Buginese bug Bulgarian bul Buriat bua Burmese bur/mya Caddo cad Castilian spa Catalan cat Caucasian languages cau Cebuano ceb Celtic languages cel Central American Indian languages cai Central Khmer khm Chagatai chg Chamic languages cmc Chamorro cha Chechen che Cherokee chr Chewa nya Cheyenne chy Chibcha chb Chichewa nya Chinese chi/zho Chinook jargon chn Chipewyan chp Choctaw cho Chuang zha Church Slavic chu Church Slavonic chu Chuukese chk Chuvash chv Classical Nepal Bhasa nwc Classical Newari nwc Classical Syriac syc Cook Islands Maori rar Coptic cop Cornish cor Corsican cos Cree cre Creek mus Creoles and pidgins crp Creoles and pidgins, English based cpe Creoles and pidgins, French-based cpf Creoles and pidgins, Portuguese-based cpp Crimean Tatar crh Crimean Turkish crh Croatian hrv Cushitic languages cus Czech cze/ces Dakota dak Danish dan Dargwa dar Delaware del Dene Suline chp Dhivehi div Dimili zza Dimli zza Dinka din Divehi div Dogri doi Dogrib dgr Dravidian languages dra Duala dua Dutch dut/nld Dutch, Middle (ca.1050-1350) dum Dyula dyu Dzongkha dzo Eastern Frisian frs Edo bin Efik efi Egyptian (Ancient) egy Ekajuk eka Elamite elx English eng English, Middle (1100-1500) enm English, Old (ca.450-1100) ang Erzya myv Esperanto epo Estonian est Ewe ewe Ewondo ewo Fang fan Fanti fat Faroese fao Fijian fij Filipino fil Finnish fin Finno-Ugrian languages fiu Flemish dut/nld Fon fon French fre/fra French, Middle (ca.1400-1600) frm French, Old (842-ca.1400) fro Friulian fur Fulah ful Ga gaa Gaelic gla Galibi Carib car Galician glg Ganda lug Gayo gay Gbaya gba Geez gez Georgian geo/kat German ger/deu German, Low nds German, Middle High (ca.1050-1500) gmh German, Old High (ca.750-1050) goh Germanic languages gem Gikuyu kik Gilbertese gil Gondi gon Gorontalo gor Gothic got Grebo grb Greek, Ancient (to 1453) grc Greek, Modern (1453-) gre/ell Greenlandic kal Guarani grn Gujarati guj Gwich'in gwi Haida hai Haitian hat Haitian Creole hat Hausa hau Hawaiian haw Hebrew heb Herero her Hiligaynon hil Himachali languages him Hindi hin Hiri Motu hmo Hittite hit Hmong hmn Hungarian hun Hupa hup Iban iba Icelandic ice/isl Ido ido Igbo ibo Ijo languages ijo Iloko ilo Imperial Aramaic (700-300 BCE) arc Inari Sami smn Indic languages inc Indo-European languages ine Indonesian ind Ingush inh Interlingua (International Auxiliary Language Association) ina Interlingue ile Inuktitut iku Inupiaq ipk Iranian languages ira Irish gle Irish, Middle (900-1200) mga Irish, Old (to 900) sga Iroquoian languages iro Italian ita Japanese jpn Javanese jav Jingpho kac Judeo-Arabic jrb Judeo-Persian jpr Kabardian kbd Kabyle kab Kachin kac Kalaallisut kal Kalmyk xal Kamba kam Kannada kan Kanuri kau Kapampangan pam Kara-Kalpak kaa Karachay-Balkar krc Karelian krl Karen languages kar Kashmiri kas Kashubian csb Kawi kaw Kazakh kaz Khasi kha Khoisan languages khi Khotanese kho Kikuyu kik Kimbundu kmb Kinyarwanda kin Kirdki zza Kirghiz kir Kirmanjki zza Klingon tlh Komi kom Kongo kon Konkani kok Korean kor Kosraean kos Kpelle kpe Kru languages kro Kuanyama kua Kumyk kum Kurdish kur Kurukh kru Kutenai kut Kwanyama kua Kyrgyz kir Ladino lad Lahnda lah Lamba lam Land Dayak languages day Lao lao Latin lat Latvian lav Leonese ast Letzeburgesch ltz Lezghian lez Limburgan lim Limburger lim Limburgish lim Lingala lin Lithuanian lit Lojban jbo Low German nds Low Saxon nds Lower Sorbian dsb Lozi loz Luba-Katanga lub Luba-Lulua lua Luiseno lui Lule Sami smj Lunda lun Luo (Kenya and Tanzania) luo Lushai lus Luxembourgish ltz Macedo-Romanian rup Macedonian mac/mkd Madurese mad Magahi mag Maithili mai Makasar mak Malagasy mlg Malay may/msa Malayalam mal Maldivian div Maltese mlt Manchu mnc Mandar mdr Mandingo man Manipuri mni Manobo languages mno Manx glv Maori mao/mri Mapuche arn Mapudungun arn Marathi mar Mari chm Marshallese mah Marwari mwr Masai mas Mayan languages myn Mende men Mi'kmaq mic Micmac mic Minangkabau min Mirandese mwl Mohawk moh Moksha mdf Moldavian rum/ron Moldovan rum/ron Mon-Khmer languages mkh Mong hmn Mongo lol Mongolian mon Montenegrin cnr Mossi mos Multiple languages mul Munda languages mun N'Ko nqo Nahuatl languages nah Nauru nau Navaho nav Navajo nav Ndebele, North nde Ndebele, South nbl Ndonga ndo Neapolitan nap Nepal Bhasa new Nepali nep Newari new Nias nia Niger-Kordofanian languages nic Nilo-Saharan languages ssa Niuean niu No linguistic content zxx Nogai nog Norse, Old non North American Indian languages nai North Ndebele nde Northern Frisian frr Northern Sami sme Northern Sotho nso Norwegian nor Norwegian Bokm\u00e5l nob Norwegian Nynorsk nno Not applicable zxx Nubian languages nub Nuosu iii Nyamwezi nym Nyanja nya Nyankole nyn Nynorsk, Norwegian nno Nyoro nyo Nzima nzi Occidental ile Occitan (post 1500) oci Occitan, Old (to 1500) pro Official Aramaic (700-300 BCE) arc Oirat xal Ojibwa oji Old Bulgarian chu Old Church Slavonic chu Old Newari nwc Old Slavonic chu Oriya ori Oromo orm Osage osa Ossetian oss Ossetic oss Otomian languages oto Pahlavi pal Palauan pau Pali pli Pampanga pam Pangasinan pag Panjabi pan Papiamento pap Papuan languages paa Pashto pus Pedi nso Persian per/fas Persian, Old (ca.600-400 B.C.) peo Philippine languages phi Phoenician phn Pilipino fil Pohnpeian pon Polish pol Portuguese por Prakrit languages pra Proven\u00e7al, Old (to 1500) pro Punjabi pan Pushto pus Quechua que Rajasthani raj Rapanui rap Rarotongan rar Reserved for local use qaa-qtz Romance languages roa Romanian rum/ron Romansh roh Romany rom Rundi run Russian rus Sakan kho Salishan languages sal Samaritan Aramaic sam Sami languages smi Samoan smo Sandawe sad Sango sag Sanskrit san Santali sat Sardinian srd Sasak sas Saxon, Low nds Scots sco Scottish Gaelic gla Selkup sel Semitic languages sem Sepedi nso Serbian srp Serer srr Shan shn Shona sna Sichuan Yi iii Sicilian scn Sidamo sid Sign Languages sgn Siksika bla Sindhi snd Sinhala sin Sinhalese sin Sino-Tibetan languages sit Siouan languages sio Skolt Sami sms Slave (Athapascan) den Slavic languages sla Slovak slo/slk Slovenian slv Sogdian sog Somali som Songhai languages son Soninke snk Sorbian languages wen Sotho, Northern nso Sotho, Southern sot South American Indian languages sai South Ndebele nbl Southern Altai alt Southern Sami sma Spanish spa Sranan Tongo srn Standard Moroccan Tamazight zgh Sukuma suk Sumerian sux Sundanese sun Susu sus Swahili swa Swati ssw Swedish swe Swiss German gsw Syriac syr Tagalog tgl Tahitian tah Tai languages tai Tajik tgk Tamashek tmh Tamil tam Tatar tat Telugu tel Tereno ter Tetum tet Thai tha Tibetan tib/bod Tigre tig Tigrinya tir Timne tem Tiv tiv tlhIngan-Hol tlh Tlingit tli Tok Pisin tpi Tokelau tkl Tonga (Nyasa) tog Tonga (Tonga Islands) ton Tsimshian tsi Tsonga tso Tswana tsn Tumbuka tum Tupi languages tup Turkish tur Turkish, Ottoman (1500-1928) ota Turkmen tuk Tuvalu tvl Tuvinian tyv Twi twi Udmurt udm Ugaritic uga Uighur uig Ukrainian ukr Umbundu umb Uncoded languages mis Undetermined und Upper Sorbian hsb Urdu urd Uyghur uig Uzbek uzb Vai vai Valencian cat Venda ven Vietnamese vie Volap\u00fck vol Votic vot Wakashan languages wak Walloon wln Waray war Washo was Welsh wel/cym Western Frisian fry Western Pahari languages him Wolaitta wal Wolaytta wal Wolof wol Xhosa xho Yakut sah Yao yao Yapese yap Yiddish yid Yoruba yor Yupik languages ypk Zande languages znd Zapotec zap Zaza zza Zazaki zza Zenaga zen Zhuang zha Zulu zul Zuni zun"},{"location":"ogm-aardvark/#license","title":"License","text":"Label License URI https://opengeometadata.org/ogm-aardvark/#license Field Name dct_license_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To provide URI links to specific, known licenses. Entry Guidelines Enter a license URI. Recommended sources are Creative Commons or Open Data Commons. Commentary This field is only for URIs of known licenses. Do not enter a rightsstatement.org statement here, because those belong in the Rights field. Controlled Vocabulary No Example Value [\"https://creativecommons.org/licenses/by/4.0/\"] Element Set DCMI Group Rights"},{"location":"ogm-aardvark/#member-of","title":"Member Of","text":"Label Member Of URI https://opengeometadata.org/ogm-aardvark/#member-of Field Name pcdm_memberOf_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To link items that are part of a collection. Entry Guidelines Make a collection record to group records together. Enter the ID of the collection-level record. Commentary This is one of several fields that describe how records relate to each other. To link to a book or atlas (rather than a collection), see Is Part Of. Controlled Vocabulary No Example Value [\"xyz-12394\"] Element Set PCDM Group Relations"},{"location":"ogm-aardvark/#metadata-version","title":"Metadata Version","text":"Label Metadata Version URI https://opengeometadata.org/ogm-aardvark/#metadata-version Field Name gbl_mdVersion_s Field Type String Obligation Required Multivalued False Purpose To clarify which GeoBlacklight metadata schema is being used. Entry Guidelines Enter a string: \"GBL 1.0\" or \"Aardvark\". Commentary There have been two metadata schema versions for GeoBlacklight applications: GeoBlacklight 1.0 (abbreviated to GBL 1.0) and OpenGeoMetadata Aardvark (abbreviated to Aardvark). Controlled Vocabulary Yes - strict Example Value \"Aardvark\" Element Set GBL Group Admin"},{"location":"ogm-aardvark/#modified","title":"Modified","text":"Label Modified URI https://opengeometadata.org/ogm-aardvark/#modified Field Name gbl_mdModified_dt Field Type String Obligation Required Multivalued False Purpose To inform administrators of when the metadata was last touched. Entry Guidelines Use the \"W3C Date and Time Format\" (YYYY-MM-DDThh:mm:ssZ) Commentary This value should indicate when the metadata (not the resource itself) was last modified. Controlled Vocabulary No Example Value \"2015-01-01T12:00:00Z\" Element Set GBL Group Admin"},{"location":"ogm-aardvark/#provider","title":"Provider","text":"Label Provider URI https://opengeometadata.org/ogm-aardvark/#provider Field Name schema_provider_s Field Type String Obligation Suggested Multivalued False Purpose To clarify which organization holds the resource or acts as the custodian for the metadata record and to help users understand which resources they can access. Entry Guidelines This field can be any string value. However, if the value corresponds to the name of an SVG icon in GeoBlacklight, the icon will display next to the title. See the GeoBlacklight documentation on adding SVG icons for more details. Commentary This field was named Provenance in the GBL 1.0 metadata schema. Controlled Vocabulary Yes - not strict Example Value \"University of Minnesota\" Element Set schema.org Group Credits"},{"location":"ogm-aardvark/#publisher","title":"Publisher","text":"Label Publisher URI https://opengeometadata.org/ogm-aardvark/#publisher Field Name dct_publisher_sm Field Type Array of strings Obligation Suggested Multivalued True Purpose To credit the entity that made a resource available for the first time. Entry Guidelines The suggested controlled vocabulary is the Library of Congress Name Authority File. Commentary The distinction between Publisher and Creator for data is often vague. Publishers should be the administrative body or organization that made the original resource available, regardless of who compiled or produced the data. Controlled Vocabulary No Example Value [\"ML InfoMap (Firm)\"] Element Set DCMI Group Credits"},{"location":"ogm-aardvark/#references","title":"References","text":"

References URI Keys

Label References URI https://opengeometadata.org/ogm-aardvark/#references Field Name dct_references_s Field Type String (serialized JSON) Obligation Suggested Multivalued False Purpose To provide external URLs for accessing or describing the resource. Entry Guidelines This field defines external services and references using the CatInterOp approach. The field value is a serialized JSON array of key/value pairs, with keys representing namespace URI's and values the URL. See Configure References Links for detailed information about configuring this field. Commentary All of the external links for the resource are listed as a serialized JSON array of key/value pairs. The download key (http://schema.org/downloadUrl) is unique becaues it can be formatted as an array; see the section on multiple downloads for formatting guidelines. Controlled Vocabulary The \"key\" part of the key/value pairs are predefined in Reference URIs. Example Value \"{\\\"http://schema.org/url\\\":\\\"http://purl.stanford.edu/bm662dm5913\\\"}\" Element Set DCMI Group Links"},{"location":"ogm-aardvark/#relation","title":"Relation","text":"Label Relation URI https://opengeometadata.org/ogm-aardvark/#relation Field Name dct_relation_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To link items with a general, unspecified relationship to each other. Entry Guidelines Enter only the ID of the related item(s). Commentary This is one of several fields that describe how records relate to each other. This field is the most general and should be used when a more specific hierarchical (parent-child) or temporal (version, replaces) relationship cannot be defined. Controlled Vocabulary No Example Value [\"aoeu-987643\"] Element Set DCMI Group Relations"},{"location":"ogm-aardvark/#replaces","title":"Replaces","text":"Label Replaces URI https://opengeometadata.org/ogm-aardvark/#replaces Field Name dct_replaces_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To point the user to a deprecated item(s). Entry Guidelines Enter the ID of the deprecated item(s). Commentary This field can be used on its own to point to an older deprecated dataset, or it can be used with Is Replaced By to link a revised version with its original. Controlled Vocabulary No Example Value [\"qrst-71717\"] Element Set DCMI Group Relations"},{"location":"ogm-aardvark/#resource-class","title":"Resource Class","text":"Label Resource Class URI https://opengeometadata.org/ogm-aardvark/#resource-class Field Name gbl_resourceClass_sm Field Type Array of strings Obligation Required Multivalued True Purpose To provide a top level set of categories for classifying the item. Entry Guidelines Choose one or more terms from the list of Resource Class Values below. Commentary This field is intended to help users sort between significantly different types of resources. Controlled Vocabulary Yes - strict Example Value [\"Datasets\"] Element Set GBL Group Categories"},{"location":"ogm-aardvark/#resource-class-values","title":"Resource Class Values","text":"
  • Collections
  • Datasets
  • Imagery
  • Maps
  • Web services
  • Websites
  • Other
"},{"location":"ogm-aardvark/#resource-type","title":"Resource Type","text":"Label Resource Type URI https://opengeometadata.org/ogm-aardvark/#resource-type Field Name gbl_resourceType_sm Field Type Array of strings Obligation Suggested Multivalued True Purpose To provide a secondary level of categories for classifying the spatial type or structure of a dataset. Entry Guidelines Choose one or more terms from the lists of Library of Congress or OpenGeoMetadata Resource Type Values below. Other terms are allowed. Commentary This field combines an established list of terms for scanned maps (Cartographic Genres) and a custom list for geospatial data types. Additional terms are welcome - please submit them to the community for review and inclusion into the official vocabulary. Controlled Vocabulary Yes - not strict Example Value [\"Point data\"] Element Set GBL Group Categories"},{"location":"ogm-aardvark/#resource-type-values-loc","title":"Resource Type Values-LOC","text":"

The following table lists terms from the Library of Congress Cartographic Genres. These values will be most applicable to scanned maps.

Term Term URI Aerial photographs http://id.loc.gov/authorities/genreForms/gf2011026032 Aerial views http://id.loc.gov/authorities/genreForms/gf2011026033 Aeronautical charts http://id.loc.gov/authorities/genreForms/gf2011026034 Armillary spheres http://id.loc.gov/authorities/genreForms/gf2011026800 Astronautical charts http://id.loc.gov/authorities/genreForms/gf2011026055 Astronomical models http://id.loc.gov/authorities/genreForms/gf2011026056 Atlases http://id.loc.gov/authorities/genreForms/gf2011026058 Bathymetric maps http://id.loc.gov/authorities/genreForms/gf2011026081 Block diagrams http://id.loc.gov/authorities/genreForms/gf2011026093 Bottle-charts http://id.loc.gov/authorities/genreForms/gf2011026097 Cadastral maps http://id.loc.gov/authorities/genreForms/gf2011026106 Cartographic materials http://id.loc.gov/authorities/genreForms/gf2011026113 Cartographic materials for people with visual disabilities http://id.loc.gov/authorities/genreForms/gf2015026018 Celestial charts http://id.loc.gov/authorities/genreForms/gf2011026116 Celestial globes http://id.loc.gov/authorities/genreForms/gf2011026117 Census data http://id.loc.gov/authorities/genreForms/gf2014026059 Children's atlases http://id.loc.gov/authorities/genreForms/gf2011026121 Children's maps http://id.loc.gov/authorities/genreForms/gf2011026124 Comparative maps http://id.loc.gov/authorities/genreForms/gf2011026155 Composite atlases http://id.loc.gov/authorities/genreForms/gf2011026057 Digital elevation models http://id.loc.gov/authorities/genreForms/gf2011026787 Digital maps http://id.loc.gov/authorities/genreForms/gf2011026199 Early maps http://id.loc.gov/authorities/genreForms/gf2011026218 Ephemerides http://id.loc.gov/authorities/genreForms/gf2013025048 Ethnographic maps http://id.loc.gov/authorities/genreForms/gf2014026012 Fire insurance maps http://id.loc.gov/authorities/genreForms/gf2011026284 Flow maps http://id.loc.gov/authorities/genreForms/gf2011026756 Gazetteers http://id.loc.gov/authorities/genreForms/gf2011026811 Geological cross-sections http://id.loc.gov/authorities/genreForms/gf2011026295 Geological maps http://id.loc.gov/authorities/genreForms/gf2011026296 Globes http://id.loc.gov/authorities/genreForms/gf2011026300 Gores (Maps) http://id.loc.gov/authorities/genreForms/gf2011026304 Gravity anomaly maps http://id.loc.gov/authorities/genreForms/gf2010025067 Index maps http://id.loc.gov/authorities/genreForms/gf2011026325 Linguistic atlases http://id.loc.gov/authorities/genreForms/gf2011026365 Loran charts http://id.loc.gov/authorities/genreForms/gf2011026374 Manuscript maps http://id.loc.gov/authorities/genreForms/gf2011026385 Mappae mundi http://id.loc.gov/authorities/genreForms/gf2011026386 Mental maps http://id.loc.gov/authorities/genreForms/gf2012025033 Meteorological charts http://id.loc.gov/authorities/genreForms/gf2011026394 Military maps http://id.loc.gov/authorities/genreForms/gf2011026396 Mine maps http://id.loc.gov/authorities/genreForms/gf2011026399 Miniature maps http://id.loc.gov/authorities/genreForms/gf2011026400 Nautical charts http://id.loc.gov/authorities/genreForms/gf2011026418 Outline maps http://id.loc.gov/authorities/genreForms/gf2011026434 Photogrammetric maps http://id.loc.gov/authorities/genreForms/gf2012025032 Photomaps http://id.loc.gov/authorities/genreForms/gf2011026755 Physical maps http://id.loc.gov/authorities/genreForms/gf2011026440 Pictorial maps http://id.loc.gov/authorities/genreForms/gf2011026441 Plotting charts http://id.loc.gov/authorities/genreForms/gf2011026449 Portolan charts http://id.loc.gov/authorities/genreForms/gf2011026462 Quadrangle maps http://id.loc.gov/authorities/genreForms/gf2011026482 Relief models http://id.loc.gov/authorities/genreForms/gf2011026525 Remote-sensing maps http://id.loc.gov/authorities/genreForms/gf2011026531 Road maps http://id.loc.gov/authorities/genreForms/gf2011026536 Statistical maps http://id.loc.gov/authorities/genreForms/gf2011026610 Stick charts http://id.loc.gov/authorities/genreForms/gf2011026613 Strip maps http://id.loc.gov/authorities/genreForms/gf2011026617 Thematic maps http://id.loc.gov/authorities/genreForms/gf2011026690 Topographic maps http://id.loc.gov/authorities/genreForms/gf2011026697 Tourist maps http://id.loc.gov/authorities/genreForms/gf2011026699 Upside-down maps http://id.loc.gov/authorities/genreForms/gf2012025007 Wall maps http://id.loc.gov/authorities/genreForms/gf2011026728 World atlases http://id.loc.gov/authorities/genreForms/gf2011026742 World maps http://id.loc.gov/authorities/genreForms/gf2011026743 Worm's-eye views http://id.loc.gov/authorities/genreForms/gf2011026744 Zoning maps http://id.loc.gov/authorities/genreForms/gf2011026752"},{"location":"ogm-aardvark/#resource-type-values-ogm","title":"Resource Type Values-OGM","text":"

The following table lists terms from the OpenGeoMetadata community. They are most applicable to geospatial data.

Term Definition Annotations Text or graphics that label information about features Basemaps Background map that provides geographical context for other data layers LiDAR Elevation data, often provided as a point cloud or DEM Line data XY coordinate-based (vector) data represented as lines Mesh data Unstructured grid of vertices, edges, and faces, often with a temporal component; common formats include NetCDF, GRIB, XMDF, DAT, 3Di Multi-spectral data Raster data with more than 1 band, often capturing a range of visible and non-visible light (e.g. near-infrared) Oblique photographs Photos taken from the air or other elevated point at an angle of around 45 degrees Point cloud data XYZ coordinate data, often captured through LiDAR, 3D scanning, or photogrammetry and used to create 3D models Point data XY coordinate-based (vector) data represented as points Polygon data XY coordinate-based (vector) data represented as polygons Raster data Structured grid containing 1+ bands of decimal or integer data Satellite imagery Photos or radar images captured of the earth from orbiting satellites Streetview photographs Photos taken at an angle parallel to the ground surface (i.e. most photos taken while standing on the ground) Table data Structured tabular data"},{"location":"ogm-aardvark/#rights_1","title":"Rights","text":"Label Rights URI https://opengeometadata.org/ogm-aardvark/#rights_1 Field Name dct_rights_sm Field Type Array of strings Obligation Suggested Multivalued True Purpose To provide a free text field for rights information, such as usage, access, or copyright. Entry Guidelines Enter free text of generic, catch-all access and usage rights. Commentary This field is intended to be flexible to accommodate different types of rights and disclaimers. Users are encouraged to adopt one of the rightsstatements.org statements. This is a plain text field by default, but it can include clickable links if the GeoBlacklight software is customized; see the GeoBlacklight documentation on how to render HTML from a text field. Controlled Vocabulary No Example Value \"All data is copyrighted by China Data Center and/or its suppliers. Derived works that include the source data must be merged with other value-added data in such a way that the derived work cannot be converted back to the original source data format. This data is licensed by UC Berkeley for research, educational, and other non-commercial use by authorized users, which include persons affiliated with UC Berkeley and walk-in users who must access the data in person at the library. https://rightsstatements.org/page/InC/1.0/?language=en.\" Element Set DCMI Group Rights"},{"location":"ogm-aardvark/#rights-holder","title":"Rights Holder","text":"Label Rights Holder URI https://opengeometadata.org/ogm-aardvark/#rights-holder Field Name dct_rightsHolder_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To clarify which person or organization owns or controls the rights for this version of the item. Entry Guidelines Enter the name of the person or organization. If applicable, the suggested controlled vocabulary is the Library of Congress Name Authority File. Commentary This field can be used for instances in which an an organization owns or otherwise controls access of a digital copy of an analog resource. This is different from Provider, which refers more to the resource or metadata steward. Controlled Vocabulary No Example Value \"Johns Hopkins University Libraries\" Element Set DCMI Group Rights"},{"location":"ogm-aardvark/#source","title":"Source","text":"Label Source URI https://opengeometadata.org/ogm-aardvark/#source Field Name dct_source_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To link items that have been derived from another item (e.g. a digitized shapefile from a historical map). Entry Guidelines Enter the ID of the item(s) from which the resource was derived. Commentary This is one of several fields that describe how records relate to each other. This field is intended to describe a derivate relationship where the resource is based wholly on another, rather than being a version of it (see Is Version Of). Controlled Vocabulary No Example Value [\"abcd-988763\"] Element Set DCMI Group Relations"},{"location":"ogm-aardvark/#spatial-coverage","title":"Spatial Coverage","text":"Label Spatial Coverage URI https://opengeometadata.org/ogm-aardvark/#spatial-coverage Field Name dct_spatial_sm Field Type Array of strings Obligation Suggested Multivalued True Purpose To provide the user with a list of searchable and selectable place names. Entry Guidelines Place name text strings should be specified out to the nation level. It is typical for the place name to represent the largest extent the data layer represents. Our recommended thesaurus is GeoNames. Commentary It is recommended to have at least one place name for each layer that corresponds to the logical extent of the area of that layer. Controlled Vocabulary No Example Value [\"Philadelphia, Pennsylvania, United States\"] Element Set DCMI Group Spatial"},{"location":"ogm-aardvark/#subject","title":"Subject","text":"Label Subject URI https://opengeometadata.org/ogm-aardvark/#subject Field Name dct_subject_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To provide an all-purpose field for subjects. Entry Guidelines Any value is allowed, but controlled vocabularies are encouraged. Commentary Institutions may rely on existing vocabularies specific to a field or project, or they may choose to develop their own set of controlled vocabularies. Controlled Vocabulary No Example Value [\"Elections\", \"Voting\"] Element Set DCMI Group Categories"},{"location":"ogm-aardvark/#suppressed","title":"Suppressed","text":"Label Suppressed URI https://opengeometadata.org/ogm-aardvark/#suppressed Field Name gbl_suppressed_b Field Type Boolean or string Obligation Optional Multivalued False Purpose To hide items from users in the search results. If set to \"true\", the record will not appear in search results. It is still accessible from the data relations widgets and via direct URL. Entry Guidelines Only one of two values are allowed: true or false. Commentary This field is useful for multipart items with identical metadata, such as pages in an atlas or series. Controlled Vocabulary Yes - strict Example Value true or \"true\" Element Set GBL Group Admin"},{"location":"ogm-aardvark/#temporal-coverage","title":"Temporal Coverage","text":"Label Temporal Coverage URI https://opengeometadata.org/ogm-aardvark/#temporal-coverage Field Name dct_temporal_sm Field Type Array of strings Obligation Suggested Multivalued True Purpose To provide the user with a free text description of the time period or ranges of what is depicted in the resource. Entry Guidelines This is a text string and can indicate uncertainty. Commentary Since this field is multi-valued, multiple strings can be used to indicate the time period the resource depicts, when the data was collected, and/or when the resources was created. Controlled Vocabulary No Example Value [\"1980-1995\", \"Late 20th century\"] Element Set DCMI Group Temporal"},{"location":"ogm-aardvark/#theme","title":"Theme","text":"Label Theme URI https://opengeometadata.org/ogm-aardvark/#theme Field Name dcat_theme_sm Field Type Array of strings Obligation Optional Multivalued True Purpose To provide a dedicated field that is restricted to terms based on ISO Topic Categories. Entry Guidelines Insert one or more of the values from the list of Theme Values below. Commentary Although ISO Topic categories are well established and widely used, the spellings of these terms vary across domains and disciplines. The Aardvark schema uses shortened terms for better readability, and adds three new values \"Events\", \"Imagery\", and \"Land Cover\" (the latter two split from imageryBaseMapsEarthCover). Controlled Vocabulary Yes - strict Example Value [\"Boundaries\", \"Land Cover\"] Element Set DCAT Group Categories"},{"location":"ogm-aardvark/#theme-values","title":"Theme Values","text":"Theme Related ISO Topic Category Definition (from NOAA) Agriculture farming Rearing of animals and/or cultivation of plants. Examples: agriculture, irrigation, aquaculture, plantations, herding, pests and diseases affecting crops and livestock. Biology biota Flora and/or fauna in natural environment. Examples: wildlife, vegetation, biological sciences, ecology, wilderness, sealife, wetlands, habitat. Boundaries boundaries Legal land descriptions. Examples: political and administrative boundaries. Climate climatologyMeteorologyAtmosphere Processes and phenomena of the atmosphere. Examples: cloud cover, weather, climate, atmospheric conditions, climate change, precipitation. Economy economy Economic activities, conditions and employment. Examples: production, labour, revenue, commerce, industry, tourism and ecotourism, forestry, fisheries, commercial or subsistence hunting, exploration and exploitation of resources such as minerals, oil and gas. Elevation elevation Height above or below sea level. Examples: altitude, bathymetry, digital elevation models, LiDAR datasets, slope, derived products, topographic maps. Environment environment Environmental resources, protection and conservation. Examples: environmental pollution, waste storage and treatment, environmental impact assessment, monitoring environmental risk, nature reserves, landscape. Events society; climatologyMeteorologyAtmosphere Examples: natural disasters, concerts, races, protests, arrests, accidents, Covid cases. Geology geoscientificInformation Information pertaining to earth sciences. Examples: geophysical features and processes, geology, minerals, sciences dealing with the composition, structure and origin of the earth\u2019s rocks, risks of earthquakes, volcanic activity, landslides, gravity information, soils, permafrost, hydrogeology, erosion. Health health Health, health services, human ecology, and safety. Examples: disease and illness, factors affecting health, hygiene, substance abuse, mental and physical health, health services. Imagery imageryBaseMapsEarthCover Imagery of the earth's surface. Examples: aerial photos, oblique and streetview imagery, orthoimagery, satellite photos and multispectral imagery. Inland Waters inlandWaters Inland water features, drainage systems and their characteristics. Examples: rivers and glaciers, salt lakes, water utilization plans, dams, currents, floods, water quality, hydrographic charts. Land Cover imageryBaseMapsEarthCover Classifications about natural features on the Earth's surface. Examples: forests, wetlands, impervious surfaces, agriculture, open water. Location location Positional information and services. Examples: addresses, geodetic networks, control points, postal zones and services, place names. Military intelligenceMilitary Examples: Military bases, structures, activities Examples: barracks, training grounds, military transportation, information collection. Oceans oceans features and characteristics of salt water bodies (excluding inland waters) Examples: tides, tidal waves, coastal information, reefs. Property planningCadastre Information used for appropriate actions for future use of the land. Examples: land use maps, zoning maps, cadastral surveys, land ownership. Society society Characteristics of society and cultures. Examples: settlements, anthropology, archaeology, education, traditional beliefs, manners and customs, demographic data, recreational areas and activities, social impact assessments, crime and justice, census information. Structure structure Man-made construction. Examples: buildings, museums, churches, factories, housing, monuments, shops, towers. Transportation transportation Means and aids for conveying persons and/or goods. Examples: roads, airports/airstrips, shipping routes, tunnels, nautical charts, vehicle or vessel location, aeronautical charts, railways. Utilities utilitiesCommunication Energy, water and waste systems and communications infrastructure and services. Examples: hydroelectricity, geothermal, solar and nuclear sources of energy, water purification and distribution, sewage collection and disposal, electricity and gas distribution, data communication, telecommunication, radio, communication networks."},{"location":"ogm-aardvark/#title","title":"Title","text":"Label Title URI https://opengeometadata.org/ogm-aardvark/#title Field Name dct_title_s Field Type String Obligation Required Multivalued False Purpose To provide the user with the name of the resource. Entry Guidelines Titles should include place names and dates when available. Commentary The title is the most prominent metadata field that users see when browsing or scanning search results. Since many datasets are created with ambiguous or non-unique titles, it may be worth the effort to improve or enhance them. The ideal sequence of a title is something akin to \"Topic of Layer: Place, Year.\" Putting the year at the end of a title produces better search results, since titles are left-anchored. Controlled Vocabulary No Example Value \"Address Points: Ann Arbor, Michigan, 2010\" Element Set DCMI Group Descriptive"},{"location":"ogm-aardvark/#wxs-identifier","title":"WxS Identifier","text":"Label WxS Identifier URI https://opengeometadata.org/ogm-aardvark/#wxs-identifier Field Name gbl_wxsIdentifier_s Field Type String Obligation Conditionally required Multivalued False Purpose To identify the layer or store for a WFS, WMS, or WCS web service so the application can construct the full web service link. Entry Guidelines Only the layer name is added here. The base service endpoint URLs (e.g. \"https://maps-public.geo.nyu.edu/geoserver/sdr/wms\") are added to the References field. Commentary This value is only used when a WxS service is listed in the References field. The WxS Identifer is used to point to specific layers within an OGC geospatial web service. This field is not used for ArcGIS Rest Services. Controlled Vocabulary No Example Value \"druid:vr593vj7147\" Element Set GBL Group Links"},{"location":"reference-uris/","title":"Reference URIs","text":"

These are URIs that can be used as keys in the dct_references_s field.

Type Reference URI Function in GeoBlacklight Download data dictionary / documentation http://lccn.loc.gov/sh85035852 Link to download documentation Download file http://schema.org/downloadUrl Link to download file (for multiple files, see the multiple downloads guidelines) Full layer description http://schema.org/url View further descriptive information about the layer International Image Interoperability Framework (IIIF) Image API http://iiif.io/api/image Load the image viewer using Leaflet-IIIF International Image Interoperability Framework (IIIF) Presentation API Manifest http://iiif.io/api/presentation#manifest View the IIIF manifest Metadata in FGDC http://www.opengis.net/cat/csw/csdgm View structured metadata in FGDC standard expressed as XML Metadata in HTML http://www.w3.org/1999/xhtml View structured metadata in any standard expressed as HTML Metadata in ISO 19139 http://www.isotc211.org/schemas/2005/gmd/ View structured metadata in ISO standard expressed as XML Metadata in MODS http://www.loc.gov/mods/v3 View structured metadata in MODS format OpenIndexMap https://openindexmaps.org Provide an index map preview Web Mapping Service (WMS) http://www.opengis.net/def/serviceType/ogc/wms Link to preview layer, inspect features, and download data (vector: KMZ, raster: GeoTIFF) Web Feature Service (WFS) http://www.opengis.net/def/serviceType/ogc/wfs Link to download vectors (GeoJSON, shapefile) XYZ tiles https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames Link to an XYZ tile server"},{"location":"reference-uris/#arcgis-uris","title":"ArcGIS URIs","text":"Type Reference URI Function in GeoBlacklight ArcGIS FeatureLayer urn:x-esri:serviceType:ArcGIS#FeatureLayer Preview an ArcGIS FeatureLayer Service ArcGIS TiledMapLayer urn:x-esri:serviceType:ArcGIS#TiledMapLayer Preview an ArcGIS TiledMapLayer Service ArcGIS DynamicMapLayer urn:x-esri:serviceType:ArcGIS#DynamicMapLayer Preview an ArcGIS DynamicMapLayer Service ArcGIS ImageMapLayer urn:x-esri:serviceType:ArcGIS#ImageMapLayer Previews a ArcGIS ImageMapLayer Service"},{"location":"reference-uris/#uris-for-specific-institutions","title":"URIs for specific institutions","text":"Type Reference URI Function in GeoBlacklight Harvard Geospatial Library email download http://schema.org/DownloadAction Retrieve a file via email from the Harvard Geospatial Library"},{"location":"relations-fields/","title":"Relations Fields","text":"

Fields in the \"relations\" group are used to describe how records relate to each other. All of them are designed to store the ID(s) of related records. More than one record can be listed within each relationship field.

Starting in GeoBlacklight version 4.0, most of these fields are used to populate relationship widgets in the application sidebar, allowing users to easily explore related records and understand how they are connected. The relationship widgets are customizable in the geoblacklight.en.yml and settings.yml files.

Field Field Name Obligation Relation dct_relation_sm Optional Member Of pcdm_memberOf_sm Optional Is Part Of dct_isPartOf_sm Optional Source dct_source_sm Optional Is Version Of dct_isVersionOf_sm Optional Replaces dct_replaces_sm Optional Is Replaced By dct_isReplacedBy_sm Optional"},{"location":"relations-fields/#relation","title":"Relation","text":"

Warning

This field should only be used for one of a pair of related records. If both records use this field, it will duplicate the \"Related records...\" widget on each item's show page. To disable this behavior, you can customize the geoblacklight.en.yml and settings.yml files in your local application.

Use this field to link to records that are related in a general or non-specific way. IDs entered in this field will populate a \"Related records...\" widget on the item's show page, as well as on the related item's show page. Nothing needs to be entered in the related item's metadata.

\"dct_relation_sm\": [\"nyu_2451_34636\"]\n

Item's show page

Related item's show page

"},{"location":"relations-fields/#member-of","title":"Member Of","text":"

Tip

To link items in a book or atlas, use \"Is Part Of\" instead.

This field links an item to its collection(s). The first step is to create a separate collection record and assign it a unique ID. Then, enter the collection item's ID in the member item's metadata.

IDs entered in this field in the member item's metadata will populate a \"Belongs to collection...\" widget on the member item's show page and a \"Collection records...\" widget on the collection item's show page. Nothing needs to be entered in the collection item's metadata.

\"pcdm_memberOf_sm\": [\"umass-macconnell-1951\"]\n

Member item's show page

Collection item's show page

"},{"location":"relations-fields/#is-part-of","title":"Is Part Of","text":"

Tip

To link items in a collection, use \"Member Of\" instead.

This field is similar to \"Member Of\" but is intended to link to items that are a subset of another item, like a book or atlas. The first step is to create a separate parent record and assign it a unique ID. Then, enter the parent item's ID in the member item's metadata.

IDs entered in this field in the member item's metadata will populate an \"Is part of...\" widget on the member item's show page and a \"Has part...\" widget on the parent item's show page. Nothing needs to be entered in the parent item's metadata.

\"dct_isPartOf_sm\": [\"88cc9b19-3294-4da9-9edd-775c81fb1c59\"]\n

Member item's show page

Parent item's show page

"},{"location":"relations-fields/#source","title":"Source","text":"

This field links an item to the dataset from which it was derived. For example, if a point shapefile is created to digitize the toponyms on a historical map, the historical map's ID would be entered in this field.

IDs entered in this field will populate a \"Source records...\" widget on the derived item's show page and a \"Derived records...\" widget on the source item's show page. Nothing needs to be entered in the source item's metadata.

\"dct_source_sm\": [\"princeton-1r66j405w\"]\n

Derived item's show page

Source item's show page

"},{"location":"relations-fields/#is-version-of","title":"Is Version Of","text":"

Use this field to link an item that is a version, variation, or adaptation of a pre-existing dataset. The field can contain:

  • The ID of the most recent related record(s), or
  • The ID of a parent record (see \"Member Of\" and \"Is Part Of\" for similar examples).

IDs entered in this field will populate an \"Is version of...\" widget on the item's show page and a \"Has version...\" widget on the linked item's show page. Nothing needs to be entered in the linked item's metadata.

\"dct_isVersionOf_sm\": [\"nyu_2451_34636\"]\n

Item's show page

Linked item's show page

"},{"location":"relations-fields/#replaces","title":"Replaces","text":"

This field links to a deprecated version of the dataset. It is especially useful when the deprecated version is needed for reference, such as when it has been cited in a publication and must be retained in a repository.

IDs entered in this field will populate a \"Replaces...\" widget on the newer item's show page and an \"Is replaced by...\" widget on the deprecated item's show page. Nothing needs to be entered in the deprecated item's metadata.

\"dct_replaces_sm\": [\"harvard-g7064-s2-1834-k3\"]\n

Newer item's show page

Deprecated item's show page

"},{"location":"relations-fields/#is-replaced-by","title":"Is Replaced By","text":"

Note

This field does not trigger a relationship widget. To do so, use the \"Replaces\" field in the newer item's metadata record.

This field links to a newer version of the dataset. It is used for documentation purposes only, such as in the event that a deprecated record is shared with another institution. In practice, however, it may be cumbersome to update deprecated metadata records whenever a new version is created.

"},{"location":"scripts/","title":"Metadata Processing Scripts","text":"

These batch processing scripts were created by members of the OpenGeoMetadata community. They can be downloaded and used locally for creating, transforming, and publishing OGM schema metadata. Click on the links to visit the code repositories to learn more.

Name Overview Convert MARC files to GeoBlacklight Metadata files A preliminary Python workflow to convert MARC metadata for historic and print maps into JSON metadata according to the GeoBlacklight 1.0 Metadata Schema. gbl-1_to_aardvark This script will convert the crosswalkable fields in a batch of JSON files in the GeoBlacklight 1.0 schema into the OpenGeoMetadata Aardvark schema gbl2aardvark A a simple javascript application that lets you easily convert GeoBlacklight 1.0 records to the new OpenGeoMetadata Aardvark schema. GeoCombine A Ruby toolkit that is useful for cloning, updating, and indexing metadata from OpenGeoMetdata and includes a library for converting metadata between standards. XSL sheets are found here OGM Aardvark Metadata Scripts Basic Pythons scripts to convert ArcGIS-generated XML files to Aardvark schema JSON files. Queries the GeoNames database to retrieve placenames for the Spatial Coverage field. SdrFriend SdrFriend is a Ruby gem that allows people of various skill levels to interface with DSpace, GDAL, GeoServer, and other spatial data collection tools (performs rake tasks on a SDI, crosswalks csv and JSON files)."},{"location":"share-on-ogm/","title":"Share on OpenGeoMetadata","text":"

View our GitHub repositories

Contributors are invited to share their metadata via our GitHub organization, which allows other institutions to periodically harvest and ingest the records into their own catalogs for wider exposure. Follow the steps below to get started.

"},{"location":"share-on-ogm/#1-submit-a-request","title":"1. Submit a request","text":"

Submit a request to set up a new repository for your organization To get started, identify one member from your institution who will be added to the OpenGeoMetadata organization as an owner. Owners are able to create, enable, and manage rights for their own institution's team (e.g., add collaborators, contributors, and reviewers).

Submit a request to join OpenGeoMetadata as an owner by commenting on this issue in our GitHub repo: Add members to OpenGeoMetadata group #8.

"},{"location":"share-on-ogm/#2-choose-a-name","title":"2. Choose a name","text":"

Choose a unique namespace for your repository. Participating institutions are able to create their own unique namespace. This ensures that each institution maintains and is responsible for unique identifiers that correspond with items or layers in its collection.

  • The most common format is to list the domain (.edu, .org, .uk) and then the institution\u2019s name: edu.institution.
  • An institution using unique identifiers with a linked persistent URL, like ARK, may want to name their repository with a suffix: edu.institution.arks.
  • Institutions or collaborative organizations can also choose to adopt their own name for an OpenGeoMetadata repository: big-ten.

Here are some examples of each of the following conventions:

  • Princeton: edu.princeton.arks
  • Stanford: edu.stanford.purl
  • New York University: edu.nyu
  • Big Ten Academic Alliance: big-ten
"},{"location":"share-on-ogm/#3-select-a-structure","title":"3. Select a structure","text":"

Select a directory structure for your repository. Metadata files in GitHub can be organized within directories (i.e., folders) using various structures.

"},{"location":"share-on-ogm/#flat","title":"Flat","text":"

For an organization with a small number of records (e.g., 250 records), a basic, flat directory structure within a repository is acceptable. A separate directory should be created for each layer or item described, then named according to the layer's unique identifier. Each directory should contain the metadata for that layer, in whichever standardized format an institution deems appropriate. The following is an example of one directory per item:

layer123/\nlayer124/\nlayer125/\n
"},{"location":"share-on-ogm/#categorical","title":"Categorical","text":"

Some institutions may want to organize their records into logical groupings. For example, folders could be named for the Resource Class (i.e., Datasets, Maps), Collection, Date of Accession, or other attribute. With this structure, multiple layer files could be placed in the same directory, providing they have unique filenames. In the following example, an institution has divided records by their collection:

Datasets/\nHist_Aerials/\nIndexes/\nMaps/\nState_Fed_Orthoimagery/\n
"},{"location":"share-on-ogm/#hashed","title":"Hashed","text":"

Institutions that have a large number of records (e.g., greater than several thousand) may enhance repository performance by dividing the records into a hashed directory. This involves creating nested subdirectories, typically by using an item\u2019s ID to programmatically name them. In the following example, the item\u2019s ID is on the left and the set of nested folders is on the right:

bb338jh0716: bb/338/jh/0716\nbb509gh7292: bb/509/gh/7292\nbc899yk4538: bc/899/yk/4538\n

A hashed directory structure makes it easy to include additional materials and documentation related to an individual resource. For example, a directory might contain metadata in multiple geospatial metadata formats, as well as auxiliary files like preview images. See the edu.stanford.purl repository for an example:

/bc/899/yk/4538/geoblacklight.json\n                iso19110.xml\n                iso19139.html\n                iso19139.xml\n                mods.xml\n                preview.jpg\n

Note

Institutions may choose to use a combination of structures, such as hashed directories within categorical folders.

"},{"location":"share-on-ogm/#4-determine-file-names","title":"4. Determine file names","text":"

Determine the file-naming rules for your metadata. There are two main approaches to naming metadata files: naming by the item's ID or naming by the file's metadata standard.

"},{"location":"share-on-ogm/#naming-by-item-id","title":"Naming by item ID","text":"

Each record has a unique filename based on the item\u2019s ID. This allows multiple records to be stored in the same directory. See the edu.harvard repository for an example:

/HGL4/json/CAMBRIDGE09_ADDRESSBLOCKS.json\n           CAMBRIDGE09_ADDRESSPOINTS.json\n           CAMBRIDGE09_BIKEFACILITIES.json\n           CAMBRIDGE09_BIKERACKS.json\n           CAMBRIDGE09_BLOCKGROUPS1990.json\n           CAMBRIDGE09_BLOCKGROUPS2000.json\n           ...\n
"},{"location":"share-on-ogm/#naming-by-metadata-standard","title":"Naming by metadata standard","text":"

All records use the same filename pattern, such as */geoblacklight.json or */fgdc.json. This requires each layer to have its own folder.

Optional: layers.json

Adopting the file-naming by metadata standard approach can make it difficult for end-users to find the relevant metadata files for an item of interest. Including a layers.json file in the main repository folder allows for easy mapping of layers to their location within an organization's repository (e.g., Layer-Id : Folder). See the edu.stanford.purl repository for an example:

{\n  \"druid:bb338jh0716\": \"bb/338/jh/0716\",\n  \"druid:bb509gh7292\": \"bb/509/gh/7292\",\n  \"druid:bc899yk4538\": \"bc/899/yk/4538\",\n  ...\n}\n

Note

GeoCombine will harvest all metadata records in an OpenGeoMetadata repository that end with the extension .json, regardless of how the records are structured. The one exception is files named layers.json - this file will be skipped during ingest.

"},{"location":"share-on-ogm/#5-document-your-repository","title":"5. Document your repository","text":"

In order to help other institutions find and use the metadata your institution is contributing, the ReadMe.md file should describe basic information about the repository\u2019s file structure, metadata version and customizations, update frequency, and so on. See the edu.nyu repository for an example.

You may use the following template to structure your ReadMe.md:

# Repository Title\n\nDescription and link to your institution\u2019s GeoBlacklight instance.\n\n## File Structure\n\nInformation about how the repository is structured.\n\n## Our Metadata\n\nInformation about your metadata:\n* GeoBlacklight metadata version (1.0 or Aardvark)\n* Custom fields\n* Any other metadata formats that are included in the repository (e.g. ISO 19139, ISO 19110, MODS)\n* How often the repository is updated\n* How metadata is validated, if applicable\n\n## How to Contribute\n\nContact information; whether or not your repository is open for metadata contributions and enhancements.\n
"},{"location":"solr-field-suffixes/","title":"Solr Field Suffixes","text":"

The following suffixes are part of the OGM Aardvark schema and may be used by custom fields.

Field Suffix Type Description Example _b Boolean Values can be true or false gbl_georeferenced_b _im Integer, multivalued Digits gbl_indexYear_im _drsim Date range, multivalued Date range in a specified string format: \"[1980 TO 1995]\" gbl_dateRange_drsim _dt Date Date and time in a specified string format: \"YYYY-MM-DDThh:mm:ssZ\" gbl_mdModified_dt _s String Single string of text dct_title_s _sm String, multivalued Multiple strings of text dct_subject_sm

Tip

For a full list of spatial field types and their suffixes used in GeoBlacklight, see https://github.com/geoblacklight/geoblacklight/blob/main/solr/conf/schema.xml#L14.

"},{"location":"spatial-fields/","title":"Spatial fields","text":"

OGM Aardvark has five different fields in the \"spatial\" group:

  • Spatial Coverage (S)
  • Geometry (S)
  • Bounding Box (S)
  • Centroid
  • Georeferenced

The first three -- marked with (S) -- are suggested fields that most records should probably have.

Spatial Coverage is a text field that contains one or more place names that describe the extent of an item. This field is used for text searches.

The next two fields, Geometry and Bounding Box, describe the geometry of the extent. Both can be simple bounding boxes in the form ENVELOPE(-111.1, -104.0, 40.5, 40.9). The functional difference is that Geometry is used to power the map search (does the item intersect the query bounding box?) and also to display the extent in the search results map, whereas Bounding Box is only used to enable overlap ratio boosting as part of the overall relevance ranking algorithm.

The Geometry field also supports more complex geometries (using the POLYGON(...) or MULTIPOLYGON(...) syntax) such as polygons that more accurately represent a non-rectangular extent, or multi-polygons that can be used to better represent extents that span the 180th meridian. (In order to keep small record sizes, these should still be relatively simple geometries, rather than high-resolution detailed boundaries.)

Centroid is a completely optional field that is only used in some customized GBL instances to display search results as a set of points on the map.

Georeferenced is a boolean field (true/false) that is used to indicate whether a digital image, for example, has been georeferenced.

More details can be found in the documentation for each field.

"},{"location":"temporal-fields/","title":"Temporal Fields","text":"

Aardvark has four fields in the \"temporal\" group. Having multiple temporal fields allows for flexibility in describing the date of a resource, allowing users to easily find records by way of text search, facet filtering, and time slider widgets (an optional customization in the GeoBlacklight software). In some cases, the same value might be used for more than one field.

Field Field Name Obligation Temporal Coverage dct_temporal_sm Suggested Date Issued dct_issued_s Optional Index Year gbl_indexYear_im Suggested Date Range gbl_dateRange_drsim Optional"},{"location":"temporal-fields/#temporal-coverage","title":"Temporal Coverage","text":"

This is a descriptive, free-text field that is intended to describe the time period or time range of the resource. Its multi-valued setting allows for flexibility in describing the date of the resource: multiple strings can be used to indicate the time range the resource depicts, when the data was collected, and/or when the resource was created. It is the ideal field to use for indicating uncertainty.

[\"1985\"]\n
[\"1985-1995\", \"Late 20th century\"]\n

"},{"location":"temporal-fields/#date-issued","title":"Date Issued","text":"

This is an optional field for describing the date of an item's publication. Although optional, this field is often useful when a clear temporal coverage value is not present. For example, a dataset with uncertain lineage may at least have a date of last update. Generally it should be structured as a single year: YYYY, but more precise dates can take the ISO format without the time value: YYYY-MM-DD or YYYY-MM.

\"1999\"\n
\"1999-08-21\"\n

"},{"location":"temporal-fields/#index-year","title":"Index Year","text":"

This is a suggested field for describing the date depicted in a resource. It is the only integer field in the temporal group and is formatted as an array of multiple values. The default GeoBlacklight application uses this field in the \"Year\" facet, allowing users to filter search results by year. It is also used to power customizable time-slider widgets that rely on integers for dates.

[1985]\n
[1985,1986,1987]\n

"},{"location":"temporal-fields/#date-range","title":"Date Range","text":"

This optional field is not yet supported by GeoBlacklight software, but its intent is to power time widgets that use a date range (an optional customization to the software). The field is formatted as a start date and end date in the Solr date range field convention.

\"[1985 TO 1987]\"\n
"},{"location":"upgrade-metadata/","title":"Upgrade Guide for converting Metadata from GBL 1.0 to OGM Aardvark","text":"

The following options are two ways to upgrade GBL 1.0 metadata into OGM Aardvark. The figures include references to Solr, the search index that powers a GeoBlacklight instance.

"},{"location":"upgrade-metadata/#option-1-new-pipeline","title":"Option 1: New pipeline","text":"

Re-run the metadata pipeline with a new crosswalk

Fig.1 - Metadata pipeline showing a conversion from standards metadata

"},{"location":"upgrade-metadata/#scenario","title":"Scenario","text":"
  • you have geospatial resources with structured metadata files in an official standard, such as ISO 19139, FGDC, MODS, or MARC
  • your organization already has a metadata pipeline process that converts these structured files to GBL 1.0
"},{"location":"upgrade-metadata/#how-does-it-work","title":"How does it work?","text":"

This option involves updating your local transformation workflow that extracts values from standards-based metadata files.

  • For institutions that utilize an XSLT for the transformation, the GeoCombine repository has XSL files.

  • For institutions that use custom tools or Python scripts, refer to the OGM Aardvark - FGDC- ISO 19139 crosswalk to update the code.

"},{"location":"upgrade-metadata/#considerations-for-option-1","title":"Considerations for Option #1","text":"
  • This may require extra institutional support, particularly if the transformation process is part of a larger framework or connected to a repository.
  • The community-developed XSLs are still a work in progress.
"},{"location":"upgrade-metadata/#option-2-convert-jsons","title":"Option 2: Convert JSONs","text":"

Programmatically convert the JSON files

Fig.2 - Programmatic transformation process using Geoblacklight 1.0 Metadata JSONs

"},{"location":"upgrade-metadata/#scenarios","title":"Scenarios","text":"
  • you only have GBL 1.0 metadata (no structured metadata files in an official standard)
  • you want to test your environment with the new Aardvark schema
"},{"location":"upgrade-metadata/#how-does-it-work_1","title":"How does it work?","text":"
  1. Gather GBL 1.0 metadata JSON files on your desktop
  2. Use a script or tool to batch convert GBL 1.0 JSON files to OGM Aardvark
  3. Re-index the resulting Aardvark JSON files into your application (GeoBlacklight)

Currently, the OpenGeoMetadata community has two tools that can do batch conversions:

  • gbl2aardvark: A web-hosted interface (recommended tool).

    • Users can upload GBL 1.0 metadata files to this tool and it will return a downloadable JSON in the OGM Aardvark schema.
    • In addition to direct crosswalks, this tool will populate the Resource Class and Resource Type based upon the Type and Geometry Type fields from version 1.0. It will also generate new collection level records based upon the value in the Is Part Of fields.
    • Any fields that do not properly convert will be flagged with the phrase \"EDIT ME --\"
    • When reindexing Solr with a single JSON file representing multiple records, use Solr's \"Document Type\"=\"File Upload\" option.
    • See the GitHub documentation for more information
  • a standalone Python script: https://github.com/OpenGeoMetadata/gbl-1_to_aardvark.

    • This command line script will perform a straight conversion of field names.
    • It features an editable crosswalk file to customize the transformation.
    • The non-crosswalkable elements listed above (Type, Geometry Type, and Is Part Of) will be copied as-is into the new Aardvark JSONs.
"},{"location":"upgrade-metadata/#recommended-manually-remediate-transformed-jsons","title":"Recommended: manually remediate transformed JSONs","text":"

Fig.3 - Transformation process that includes manual remediation

You may need to perform additional manual cleanup on the transformed JSONs.

  1. Convert your metadata files to a CSV. This Python script will convert a batch of JSONs to a CSV file

  2. Manually augment and adjust column names and values using spreadsheet functions.

  3. Convert your spreadsheet to OGM Aardvark JSONs. This Python script will convert CSVs to Aardvark JSONS

"},{"location":"upgrade-metadata/#considerations-for-option-2","title":"Considerations for Option #2","text":"
  • This can be a workaround method if changing the metadata pipeline is not feasible. However, it may result in incomplete metadata.

  • It will not include some fields that are new in OGM Aardvark, such as Rights or License. To take advantage of those fields, use Option 1 or perform additional remediation.

  • Manual cleanup after transformation may be labor intensive.

"},{"location":"validate-metadata/","title":"Validating metadata","text":"

Once the metadata records are in the OpenGeoMetadata format, they should be validated to make sure the fields are correctly formatted. The current version of the schema is available as a JSON-Schema file. This file format provides support for data validation with the JSON Schema Vocabulary.

Use GeoCombine, which has a .valid? method that makes using these tools simple.

"},{"location":"view-solr-metadata/","title":"View Solr Metadata in GeoBlacklight","text":"

GeoBlacklight can display the raw metadata for a published item by appending one of the following extensions to the end of an item's show page URL:

"},{"location":"view-solr-metadata/#urlxml","title":"url.xml","text":"
  • Produces a Dublin Core XML document in the OAI_DC schema.
  • The fields for this document can be adjusted in the solr_document.rb, which is found here: app/models/solr_document.rb.

Example

https://geo.btaa.org/catalog/145055E1-87EF-4D13-B138-4DC3907F3677.xml

"},{"location":"view-solr-metadata/#urljson","title":"url.json","text":"

Depending on your version, this will produce either:

  • A nested JSON document of the metadata that appears on the item page (this document can be harvested by the JSON:API protocol), OR

  • A full metadata file for the item as a flat JSON document (up to GeoBlacklight version 1.9).

Example

https://geo.btaa.org/catalog/145055E1-87EF-4D13-B138-4DC3907F3677.json

"},{"location":"view-solr-metadata/#urlraw","title":"url/raw","text":"
  • Only available for GeoBlacklight versions 2.0+.
  • Displays the full metadata file for the item as a flat JSON document.

Example

https://geo.btaa.org/catalog/145055E1-87EF-4D13-B138-4DC3907F3677/raw

Chart of viewing options

GBL versions 2.0 and beyondGBL < versions 1.9
  • url.xml: Dublin Core XML document
  • url.json: nested JSON document of only the metadata that appears on the item page
  • url/raw: flat JSON document of all metadata associated with the item
  • url.xml: Dublin Core XML document
  • url.json: flat JSON document of all metadata associated with the item
"},{"location":"explanation/","title":"Explanation","text":"

Our explanation guides discuss the background and context for OpenGeoMetadata including:

"},{"location":"explanation/#repositories-the-purpose-and-history-of-opengeometadata","title":"Repositories: the purpose and history of OpenGeoMetadata","text":""},{"location":"explanation/#metadata-the-development-of-the-aardvark-schema-and-element-categories","title":"Metadata: the development of the Aardvark schema and element categories","text":"

Tip

OpenGeoMetadata Community members have additional resources listed here that may be helpful.

"},{"location":"how-to-guides/","title":"How-to","text":"

Our How-to guides provide step-by-step workflows for:

"},{"location":"how-to-guides/#repositories-how-to-share-your-metadata-on-opengeometadata","title":"Repositories: How to share your metadata on OpenGeoMetadata","text":""},{"location":"how-to-guides/#metadata-creating-transforming-and-structuring-metadata","title":"Metadata: Creating, transforming, and structuring metadata","text":""},{"location":"how-to-guides/#geoblacklight-ingesting-to-solr-and-viewing-metadata-in-geoblacklight","title":"GeoBlacklight: Ingesting to Solr and viewing metadata in GeoBlacklight","text":""},{"location":"reference/","title":"Reference","text":"

Our reference guides provide metadata charts and tables including:

"},{"location":"reference/#schemas-documentation-of-each-metadata-field","title":"Schemas: Documentation of each metadata field","text":""},{"location":"reference/#crosswalks-tables-showing-equivalent-fields","title":"Crosswalks: Tables showing equivalent fields","text":""},{"location":"reference/#syntax-rules-for-structuring-metadata","title":"Syntax: Rules for structuring metadata","text":""},{"location":"reference/#validation-files-for-checking-metadata","title":"Validation: Files for checking metadata","text":""},{"location":"reference/#tools-standalone-scripts-and-applications-for-metadata-processing","title":"Tools: Standalone scripts and applications for metadata processing","text":""}]} \ No newline at end of file diff --git a/share-on-ogm/index.html b/share-on-ogm/index.html new file mode 100644 index 00000000..be09e20f --- /dev/null +++ b/share-on-ogm/index.html @@ -0,0 +1,2416 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Share on OpenGeoMetadata - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Share on OpenGeoMetadata

+ +

View our GitHub repositories

+

Contributors are invited to share their metadata via our GitHub organization, which allows other institutions to periodically harvest and ingest the records into their own catalogs for wider exposure. Follow the steps below to get started.

+

1. Submit a request

+

Submit a request to set up a new repository for your organization +To get started, identify one member from your institution who will be added to the OpenGeoMetadata organization as an owner. Owners are able to create, enable, and manage rights for their own institution's team (e.g., add collaborators, contributors, and reviewers).

+

Submit a request to join OpenGeoMetadata as an owner by commenting on this issue in our GitHub repo: Add members to OpenGeoMetadata group #8.

+

2. Choose a name

+

Choose a unique namespace for your repository. Participating institutions are able to create their own unique namespace. This ensures that each institution maintains and is responsible for unique identifiers that correspond with items or layers in its collection.

+
    +
  • The most common format is to list the domain (.edu, .org, .uk) and then the institution’s name: edu.institution.
  • +
  • An institution using unique identifiers with a linked persistent URL, like ARK, may want to name their repository with a suffix: edu.institution.arks.
  • +
  • Institutions or collaborative organizations can also choose to adopt their own name for an OpenGeoMetadata repository: big-ten.
  • +
+

Here are some examples of each of the following conventions:

+ +

3. Select a structure

+

Select a directory structure for your repository. Metadata files in GitHub can be organized within directories (i.e., folders) using various structures.

+

Flat

+

For an organization with a small number of records (e.g., 250 records), a basic, flat directory structure within a repository is acceptable. A separate directory should be created for each layer or item described, then named according to the layer's unique identifier. Each directory should contain the metadata for that layer, in whichever standardized format an institution deems appropriate. The following is an example of one directory per item:

+
layer123/
+layer124/
+layer125/
+
+

Categorical

+

Some institutions may want to organize their records into logical groupings. For example, folders could be named for the Resource Class (i.e., Datasets, Maps), Collection, Date of Accession, or other attribute. With this structure, multiple layer files could be placed in the same directory, providing they have unique filenames. In the following example, an institution has divided records by their collection:

+
Datasets/
+Hist_Aerials/
+Indexes/
+Maps/
+State_Fed_Orthoimagery/
+
+

Hashed

+

Institutions that have a large number of records (e.g., greater than several thousand) may enhance repository performance by dividing the records into a hashed directory. This involves creating nested subdirectories, typically by using an item’s ID to programmatically name them. In the following example, the item’s ID is on the left and the set of nested folders is on the right:

+
bb338jh0716: bb/338/jh/0716
+bb509gh7292: bb/509/gh/7292
+bc899yk4538: bc/899/yk/4538
+
+

A hashed directory structure makes it easy to include additional materials and documentation related to an individual resource. For example, a directory might contain metadata in multiple geospatial metadata formats, as well as auxiliary files like preview images. See the edu.stanford.purl repository for an example: +

/bc/899/yk/4538/geoblacklight.json
+                iso19110.xml
+                iso19139.html
+                iso19139.xml
+                mods.xml
+                preview.jpg
+

+
+

Note

+

Institutions may choose to use a combination of structures, such as hashed directories within categorical folders.

+
+

4. Determine file names

+

Determine the file-naming rules for your metadata. There are two main approaches to naming metadata files: naming by the item's ID or naming by the file's metadata standard.

+

Naming by item ID

+

Each record has a unique filename based on the item’s ID. This allows multiple records to be stored in the same directory. See the edu.harvard repository for an example:

+
/HGL4/json/CAMBRIDGE09_ADDRESSBLOCKS.json
+           CAMBRIDGE09_ADDRESSPOINTS.json
+           CAMBRIDGE09_BIKEFACILITIES.json
+           CAMBRIDGE09_BIKERACKS.json
+           CAMBRIDGE09_BLOCKGROUPS1990.json
+           CAMBRIDGE09_BLOCKGROUPS2000.json
+           ...
+
+

Naming by metadata standard

+

All records use the same filename pattern, such as */geoblacklight.json or */fgdc.json. This requires each layer to have its own folder.

+

Optional: layers.json

+

Adopting the file-naming by metadata standard approach can make it difficult for end-users to find the relevant metadata files for an item of interest. Including a layers.json file in the main repository folder allows for easy mapping of layers to their location within an organization's repository (e.g., Layer-Id : Folder). See the edu.stanford.purl repository for an example:

+
{
+  "druid:bb338jh0716": "bb/338/jh/0716",
+  "druid:bb509gh7292": "bb/509/gh/7292",
+  "druid:bc899yk4538": "bc/899/yk/4538",
+  ...
+}
+
+
+

Note

+

GeoCombine will harvest all metadata records in an OpenGeoMetadata repository that end with the extension .json, regardless of how the records are structured. The one exception is files named layers.json - this file will be skipped during ingest.

+
+

5. Document your repository

+

In order to help other institutions find and use the metadata your institution is contributing, the ReadMe.md file should describe basic information about the repository’s file structure, metadata version and customizations, update frequency, and so on. See the edu.nyu repository for an example.

+

You may use the following template to structure your ReadMe.md:

+
# Repository Title
+
+Description and link to your institution’s GeoBlacklight instance.
+
+## File Structure
+
+Information about how the repository is structured.
+
+## Our Metadata
+
+Information about your metadata:
+* GeoBlacklight metadata version (1.0 or Aardvark)
+* Custom fields
+* Any other metadata formats that are included in the repository (e.g. ISO 19139, ISO 19110, MODS)
+* How often the repository is updated
+* How metadata is validated, if applicable
+
+## How to Contribute
+
+Contact information; whether or not your repository is open for metadata contributions and enhancements.
+
+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..0f8724ef --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz new file mode 100644 index 0000000000000000000000000000000000000000..18d033fd401daeea9819ddee319e530482fb7543 GIT binary patch literal 127 zcmV-_0D%7=iwFqM(!*r}|8r?{Wo=<_E_iKh04<9_3V)_WXo8&M?ytk3HC}0~zlG)Vu#I0*m% literal 0 HcmV?d00001 diff --git a/solr-field-suffixes/index.html b/solr-field-suffixes/index.html new file mode 100644 index 00000000..bdaeebd4 --- /dev/null +++ b/solr-field-suffixes/index.html @@ -0,0 +1,2220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Solr Field Suffixes - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + + + +
+ + + + + + + +

Solr Field Suffixes

+

The following suffixes are part of the OGM Aardvark schema and may be used by custom fields.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field SuffixTypeDescriptionExample
_bBooleanValues can be true or falsegbl_georeferenced_b
_imInteger, multivaluedDigitsgbl_indexYear_im
_drsimDate range, multivaluedDate range in a specified string format: "[1980 TO 1995]"gbl_dateRange_drsim
_dtDateDate and time in a specified string format: "YYYY-MM-DDThh:mm:ssZ"gbl_mdModified_dt
_sStringSingle string of textdct_title_s
_smString, multivaluedMultiple strings of textdct_subject_sm
+
+

Tip

+

For a full list of spatial field types and their suffixes used in GeoBlacklight, see https://github.com/geoblacklight/geoblacklight/blob/main/solr/conf/schema.xml#L14.

+
+ + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/spatial-fields/index.html b/spatial-fields/index.html new file mode 100644 index 00000000..bc30f54a --- /dev/null +++ b/spatial-fields/index.html @@ -0,0 +1,2171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Spatial Fields - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Spatial fields

+

OGM Aardvark has five different fields in the "spatial" group:

+ +

The first three -- marked with (S) -- are suggested fields that most records should probably have.

+

Spatial Coverage is a text field that contains one or more place names that describe the extent of an item. This field is used for text searches.

+

The next two fields, Geometry and Bounding Box, describe the geometry of the extent. Both can be simple bounding boxes in the form ENVELOPE(-111.1, -104.0, 40.5, 40.9). The functional difference is that Geometry is used to power the map search (does the item intersect the query bounding box?) and also to display the extent in the search results map, whereas Bounding Box is only used to enable overlap ratio boosting as part of the overall relevance ranking algorithm.

+

The Geometry field also supports more complex geometries (using the POLYGON(...) or MULTIPOLYGON(...) syntax) such as polygons that more accurately represent a non-rectangular extent, or multi-polygons that can be used to better represent extents that span the 180th meridian. (In order to keep small record sizes, these should still be relatively simple geometries, rather than high-resolution detailed boundaries.)

+

Centroid is a completely optional field that is only used in some customized GBL instances to display search results as a set of points on the map.

+

Georeferenced is a boolean field (true/false) that is used to indicate whether a digital image, for example, has been georeferenced.

+

More details can be found in the documentation for each field.

+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/stylesheets/extra.css b/stylesheets/extra.css new file mode 100644 index 00000000..7f8515e7 --- /dev/null +++ b/stylesheets/extra.css @@ -0,0 +1,118 @@ +/* Text styles */ + + +/* +# for the readthedocs theme +.wy-nav-content { + max-width: none; +} + */ + +/* full width */ +.md-grid { + max-width: 90%; +} + +.md-nav__item--section > .md-nav__link[for] { + color: inherit; +} + +/* +:root { + --md-primary-fg-color: #1F4068; + --md-accent-fg-color: #C44601; + --md-primary-fg-color--light: #ADD8E6; + --md-primary-fg-color--dark: #90030C; +} + */ + + [data-md-color-scheme="default"] { + --md-primary-fg-color: #2b6ca1; + --md-accent-fg-color: #09c36c; + } + + [data-md-color-scheme="slate"] { + --md-primary-fg-color: #09c36c; + --md-accent-fg-color: #2b6ca1; + } + +.md-typeset h2{ + color: inherit; + font-weight: bold; + font-size: 1.3em; +} + +/* +p { + font-size: 1.2em; + } + + li { + font-size: 1.2em; + } + */ + +# for the material theme +increase default font sizep, li{ + margin: 0 0 0.75em; + font-size: 1.1em; + } + +.center { + text-align: center; +} + + +increase header size and fonts.md-header__topic { + font-size: 1.5em; + line-height: 2em; + } + +.md-tabs__link { + font-size: 1.75em; + } + +/* Hide main nav title */ +label[for="__drawer"] { + display: none; +} + + +/* style the left hand nav section */ + +/* +.md-nav--primary { + background-color: #ADD8E6; + width: 100%; + padding: 2em; + border: .1em; + border-style: dotted; + border-color: black; + } + */ + + + +/* (C) RESPONSIVE - 1 COLUMN ON SMALL SCREENS */ +@media screen and (max-width: 640px) { + #grid-col { grid-template-columns: 100%; } +} + +/* (A) GRID CONTAINER */ +#grid-line { + display: grid; + grid-template-columns: auto auto ; + grid-gap: 20px; +} + +/* (B) GRID CELL */ +div.cell { + border: 1px solid #e0e0e0; + padding: 10px; +} + +/* (C) SPAN MULTIPLE COLUMNS */ +.spancol { + grid-column-start: 1; + grid-column-end: 2; +} diff --git a/tables/applications.csv b/tables/applications.csv new file mode 100644 index 00000000..ed9f0c2b --- /dev/null +++ b/tables/applications.csv @@ -0,0 +1,4 @@ +Name,Overview +[GeoDataLoader](https://github.com/culibraries/geo-data-loader),A custom tool with a built-in metadata editor that can load information directly into Geoserver. Can accept templates if multiple uploads are needed. +[Figgy](https://github.com/pulibrary/figgy),"A digital repository application in use at Princeton University Library for storing and managing digital representations of manuscripts, ephemera, vector, and raster data for export into a variety of front-end displays." +[GEOMG](https://github.com/geobtaa/geomg),A custom tool that functions as a backend metadata editor and manager for the GeoBlacklight application. \ No newline at end of file diff --git a/tables/gbl1-fgdc-iso.csv b/tables/gbl1-fgdc-iso.csv new file mode 100644 index 00000000..f301b1e4 --- /dev/null +++ b/tables/gbl1-fgdc-iso.csv @@ -0,0 +1,28 @@ +GBL 1.0 ,FGDC CSDGM,ISO 19139 +dc_creator_sm,idinfo/citation/citeinfo/originator,MD_DataIdentification/citation/CI_Citation/citation/citedResponsibleParty/CI_ResponsibleParty/individualName OR organsationName (@type = originator) +dc_description_s,descript/abstract,MD_DataIdentification/abstract +dc_format_s,spdoinfo/direct,MD_Distribution/distributionFormat/MD_Format/name +dc_identifier_s,-,MD_DataIdentification/citation/CI_Citation/citation/MD_Identifier/code +dc_language_s or _sm,-,MD_DataIdentification/language +dc_publisher_s,idinfo/citation/citeinfo/pubinfo/publisher,MD_DataIdentification/citation/CI_Citation/citation/citedResponsibleParty/CI_ResponsibleParty/individualName OR organsationName (@type = publisher) +dc_rights_s,idinfo/acconst,MD_DataIdentification/resourceConstraints/MD_LegalConstraints/accessConstraints +dc_source_sm,dataqual/lineage/srcinfo/srccite/citeinfo/title,DQ_DataQuality/lineage/LI_Lineage/source/LI_Source/sourceCitation/CI_Citation/title +dc_subject_sm,idinfo/keywords/theme/themekey,MD_DataIdentification/descriptiveKeywords/MD_Keywords/keyword (@type='theme') AND MD_DataIdentification/topicCategory/MD_TopicCategoryCode +dc_title_s,idinfo/citation/citeinfo/title,MD_DataIdentification/citation/CI_Citation/title +dc_type_s,-,hierarchyLevelName +dct_isPartOf_sm,idinfo/citation/citeinfo/lworkcit/citeinfo/title,MD_AggregateInformation/aggregateDataSetName/CI_Citation/title +dct_issued_s,idinfo/citation/citeinfo/pubdate,MD_DataIdentification/citation/CI_Citation/citation/CI_Date/date +dct_provenance_s,distinfo/distrib/cntinfo/cntorgp/cntorg,MD_Distributor/CI_ResponsibleParty/organisationName +dct_references_s,-,- +dct_spatial_sm,idinfo/keywords/place,MD_DataIdentification/descriptiveKeywords/MD_Keywords/keyword (@type='place') +dct_temporal_sm,idinfo/timeprd/timeinfo/sngdate/caldate and idinfo/timeperd/timeinfo/mdattim/sngdate and idinfo/timeperd/timeinfo/rngdates and idinfo/keywords/temporal/tempkey,MD_DataIdentification/extent/EX_Extent/EX_TemporalExtent/extent/TimePeriod OR TimeInstant +Elements without crosswalk,-,- +geoblacklight_version,-,- +layer_geom_type_s,"spdoinfo/ptvctinf/sdtsterm/sdtstype, idinfo/keywords/theme/themekey",MD_GeometricObjectTypeCode +layer_id_s,-,- +layer_modified_dt,idinfo/citation/citeinfo/onlink,- +layer_slug_s,-,- +solr_geom,idinfo/spdom/bounding/westbc AND eastbc AND northbc AND southbc,- +solr_geom,idinfo/spdom/bounding/westbc AND eastbc AND northbc AND southbc,MD_DataIdentification/extent/EX_Extent/geographicElement/EX_GeographicBoundingBox/west AND south AND east AND north +solr_year_i,idinfo/timeprd/timeinfo/sngdate/caldate and idinfo/timeperd/timeinfo/mdattim/sngdate/caldate and idinfo/timeperd/timeinfo/rngdates/begdate and idinfo/keywords/temporal/tempkey,MD_DataIdentification/extent/EX_Extent/EX_TemporalExtent/extent/TimePeriod OR TimeInstant [YYYY] +suppressed_b,-,- \ No newline at end of file diff --git a/tables/ogm-aardvark-fields.csv b/tables/ogm-aardvark-fields.csv new file mode 100644 index 00000000..0d9d5def --- /dev/null +++ b/tables/ogm-aardvark-fields.csv @@ -0,0 +1,43 @@ +Label,Field Name,Obligation +==**[Access Rights](ogm-aardvark/access-rights.md)**==,`dct_accessRights_s`,==**Required**== +[Alternative Title](ogm-aardvark/alternative-title.md),`dct_alternative_sm`,Optional +[Bounding Box](ogm-aardvark/bounding-box.md),`dcat_bbox`,Suggested +[Centroid](ogm-aardvark/centroid.md),`dcat_centroid`,Optional +[Creator](ogm-aardvark/creator.md),`dct_creator_sm`,Suggested +[Date Issued](ogm-aardvark/date-issued.md),`dct_issued_s`,Optional +[Date Range](ogm-aardvark/date-range.md),`gbl_dateRange_drsim`,Optional +[Description](ogm-aardvark/description.md),`dct_description_sm`,Suggested +[Display Note](ogm-aardvark/display-note.md),`gbl_displayNote_sm`,Optional +[File Size](ogm-aardvark/file-size.md),`gbl_fileSize_s`,Optional +[Format](ogm-aardvark/format.md),`dct_format_s`,Conditional +[Geometry](ogm-aardvark/geometry.md),`locn_geometry`,Suggested +[Georeferenced](ogm-aardvark/georeferenced.md),`gbl_georeferenced_b`,Optional +==**[ID](ogm-aardvark/id.md)**==,`id`,==**Required**== +[Identifier](ogm-aardvark/identifier.md),`dct_identifier_sm`,Suggested +[Index Year](ogm-aardvark/index-year.md),`gbl_indexYear_im`,Suggested +[Is Part Of](ogm-aardvark/is-part-of.md),`dct_isPartOf_sm`,Optional +[Is Replaced By](ogm-aardvark/is-replaced-by.md),`dct_isReplacedBy_sm`,Optional +[Is Version Of](ogm-aardvark/is-version-of.md),`dct_isVersionOf_sm`,Optional +[Keyword](ogm-aardvark/keyword.md),`dcat_keyword_sm`,Optional +[Language](ogm-aardvark/language.md),`dct_language_sm`,Optional +[License](ogm-aardvark/license.md),`dct_license_sm`,Optional +[Member Of](ogm-aardvark/member-of.md),`pcdm_memberOf_sm`,Optional +==**[Metadata Version](ogm-aardvark/metadata-version.md)**==,`gbl_mdVersion_s`,==**Required**== +==**[Modified](ogm-aardvark/modified.md)**==,`gbl_mdModified_dt`,==**Required**== +[Provider](ogm-aardvark/provider.md),`schema_provider_s`,Suggested +[Publisher](ogm-aardvark/publisher.md),`dct_publisher_sm`,Suggested +[References](ogm-aardvark/references.md),`dct_references_s`,Suggested +[Relation](ogm-aardvark/relation.md),`dct_relation_sm`,Optional +[Replaces](ogm-aardvark/replaces.md),`dct_replaces_sm`,Optional +==**[Resource Class](ogm-aardvark/resource-class.md)**==,`gbl_resourceClass_sm`,==**Required**== +[Resource Type](ogm-aardvark/resource-type.md),`gbl_resourceType_sm`,Suggested +[Rights Holder](ogm-aardvark/rights-holder.md),`dct_rightsHolder_sm`,Optional +[Rights](ogm-aardvark/rights.md),`dct_rights_sm`,Suggested +[Source](ogm-aardvark/source.md),`dct_source_sm`,Optional +[Spatial Coverage](ogm-aardvark/spatial-coverage.md),`dct_spatial_sm`,Suggested +[Subject](ogm-aardvark/subject.md),`dct_subject_sm`,Optional +[Suppressed](ogm-aardvark/suppressed.md),`gbl_suppressed_b`,Optional +[Temporal Coverage](ogm-aardvark/temporal-coverage.md),`dct_temporal_sm`,Suggested +[Theme](ogm-aardvark/theme.md),`dcat_theme_sm`,Optional +==**[Title](ogm-aardvark/title.md)**==,`dct_title_s`,==**Required**== +[WxS Identifier](ogm-aardvark/wxs-identifier.md),`gbl_wxsIdentifier_s`,Conditional diff --git a/tables/ogm-accessRights.csv b/tables/ogm-accessRights.csv new file mode 100644 index 00000000..9a7b16b2 --- /dev/null +++ b/tables/ogm-accessRights.csv @@ -0,0 +1,12 @@ +Label,Access Rights +Field Name,dct_accessRights_s +Obligation,Required +Multivalued,false +Field type,string +Purpose,To clarify to the user if the resource is public (any user can access) or restricted (a user will need to log in to some kind of authentication protocol) and if the application should provide a web service preview and/or a download function +Entry Guidelines,Only one of two values are allowed: Public or Restricted. +Commentary,"This field can be set to ""Public"", which allows users to view and download an item, or ""Restricted"", which requires a user to log in to an authentication service." +Controlled Vocabulary,yes - strict +Example value,"""Public""" +Element Set,DCMI +Group,Rights diff --git a/tables/ogm-fgdc-iso.csv b/tables/ogm-fgdc-iso.csv new file mode 100644 index 00000000..fc9f47f2 --- /dev/null +++ b/tables/ogm-fgdc-iso.csv @@ -0,0 +1,44 @@ +OGM Aardvark,FGDC CSDGM,ISO 19139 +dct_accessRights_s,idinfo/acconst,MD_DataIdentification/resourceConstraints/MD_LegalConstraints/accessConstraints +dct_alternative_sm,-,- +dcat_bbox,idinfo/spdom/bounding/westbc AND eastbc AND northbc AND southbc,MD_DataIdentification/extent/EX_Extent/geographicElement/EX_GeographicBoundingBox/west AND south AND east AND north +dcat_centroid,-,- +dct_creator_sm,idinfo/citation/citeinfo/originator,MD_DataIdentification/citation/CI_Citation/citation/citedResponsibleParty/CI_ResponsibleParty/individualName OR organsationName (@type = originator) +dct_issued_s,idinfo/citation/citeinfo/pubdate,MD_DataIdentification/citation/CI_Citation/citation/CI_Date/date +gbl_dateRange_drsim,idinfo/timeperd/timeinfo/rngdates/begdate and idinfo/timeperd/timeinfo/rngdates/enddate,- +dct_description_sm,descript/abstract,MD_DataIdentification/abstract +gbl_fileSize_s,distinfo/stdorder/digform/digtinfo/transize,- +dct_format_s,spdoinfo/direct,MD_Distribution/distributionFormat/MD_Format/name +locn_geometry,idinfo/spdom/bounding/westbc AND eastbc AND northbc AND southbc,- +gbl_georeferenced_b,-,- +id,not applicable,not applicable +dct_identifier_sm,-,MD_DataIdentification/citation/CI_Citation/citation/MD_Identifier/code +gbl_indexYear_im,idinfo/timeprd/timeinfo/sngdate/caldate and idinfo/timeperd/timeinfo/mdattim/sngdate/caldate and idinfo/timeperd/timeinfo/rngdates/begdate and idinfo/keywords/temporal/tempkey,MD_DataIdentification/extent/EX_Extent/EX_TemporalExtent/extent/TimePeriod OR TimeInstant [YYYY] +dct_isPartOf_sm,-,- +idinfo/citation/citeinfo/lworkcit/citeinfo/title,MD_AggregateInformation/aggregateDataSetName/CI_Citation/title,- +dct_isReplacedBy_sm,-,- +dcat_keyword_sm,-,- +dct_language_sm,-,MD_DataIdentification/language +dct_license_sm,-,- +pcdm_memberOf_sm,-,- +gbl_mdVersion_s,-,- +gbl_mdModified_dt,metainfo/metd,- +schema_provider_s,distinfo/distrib/cntinfo/cntorgp/cntorg,MD_Distributor/CI_ResponsibleParty/organisationName +dct_publisher_sm,idinfo/citation/citeinfo/pubinfo/publisher,MD_DataIdentification/citation/CI_Citation/citation/citedResponsibleParty/CI_ResponsibleParty/individualName OR organsationName (@type = publisher) +dct_references_s,not applicable,not applicable +dct_relation_sm,-,- +dct_replaces_sm,-,- +gbl_resourceClass_sm,idinfo/citation/citeinfo/geoform,- +gbl_resourceType_sm,"spdoinfo/ptvctinf/sdtsterm/sdtstype, idinfo/keywords/theme/themekey",MD_GeometricObjectTypeCode +dct_rights_sm,"idinfo/useconst, idinfo/useconst, idinfo/acconst",- +dct_rightsHolder_sm,-,- +dct_source_sm,dataqual/lineage/srcinfo/srccite/citeinfo/title,DQ_DataQuality/lineage/LI_Lineage/source/LI_Source/sourceCitation/CI_Citation/title +dct_spatial_sm,idinfo/keywords/place,MD_DataIdentification/descriptiveKeywords/MD_Keywords/keyword (@type='place') +dct_subject_sm,idinfo/keywords/theme/themekey,MD_DataIdentification/descriptiveKeywords/MD_Keywords/keyword (@type='theme') AND MD_DataIdentification/topicCategory/MD_TopicCategoryCode +gbl_suppressed_b,not applicable,not applicable +dct_temporal_sm,idinfo/timeprd/timeinfo/sngdate/caldate and idinfo/timeperd/timeinfo/mdattim/sngdate and idinfo/timeperd/timeinfo/rngdates and idinfo/keywords/temporal/tempkey,MD_DataIdentification/extent/EX_Extent/EX_TemporalExtent/extent/TimePeriod OR TimeInstant +dcat_theme_sm,-,- +dct_title_s,idinfo/citation/citeinfo/title,MD_DataIdentification/citation/CI_Citation/title +hierarchyLevelName,-,- +dct_isVersionOf_sm,-,- +gbl_wxsIdentifier_s,not applicable,not applicable \ No newline at end of file diff --git a/tables/ogm-gbl1.csv b/tables/ogm-gbl1.csv new file mode 100644 index 00000000..b685c3e6 --- /dev/null +++ b/tables/ogm-gbl1.csv @@ -0,0 +1,45 @@ +Aardvark Label,OGM Aardvark,GBL 1.0,Note +Access Rights,`dct_accessRights_s`,`dc_rights_s`,new field name +Alternative Title,`dct_alternative_sm`,-,new field +Bounding Box,`dcat_bbox`,`solr_geom`,new field +Centroid,`dcat_centroid`,-,new field +Creator,`dct_creator_sm`,`dc_creator_sm`,new namespace +Date Issued,`dct_issued_s`,`dct_issued_s`,no change +Date Range,`gbl_dateRange_drsim`,-,new field +Description,`dct_description_sm`,`dc_description_s`,new namespace; single to multi-valued +File Size,`gbl_fileSize_s`,-,new field +Format,`dct_format_s`,`dc_format_s`,new namespace +Geometry,`locn_geometry`,`solr_geom`,new field +Georeferenced,`gbl_georeferenced_b`,-,new field +ID,`id`,`layer_slug_s`,new field name +Identifier,`dct_identifier_sm`,`dc_identifier_s`,new namespace; single to multi-valued +Index Year,`gbl_indexYear_im`,`solr_year_i`,new field name; single to multi-valued +Is Part Of,`dct_isPartOf_sm`,-,new value type (see Elements without a crosswalk) +Is Replaced By,`dct_isReplacedBy_sm`,-,new field +Keyword,`dcat_keyword_sm`,-,new field +Language,`dct_language_sm`,`dc_language_s or _sm`,new namespace; single to multi-valued +License,`dct_license_sm`,-,new field +Member Of,`pcdm_memberOf_sm`,-,new field +Metadata Version,`gbl_mdVersion_s`,`geoblacklight_version`,new field name +Modified,`gbl_mdModified_dt`,`layer_modified_dt`,new field name +Provider,`schema_provider_s`,`dct_provenance_s`,new field name +Publisher,`dct_publisher_sm`,`dc_publisher_s`,new namespace; single to multi-valued +References,`dct_references_s`,`dct_references_s`,no change +Relation,`dct_relation_sm`,-,new field +Replaces,`dct_replaces_sm`,-,new field +Resource Class,`gbl_resourceClass_sm`,-,new field +Resource Type,`gbl_resourceType_sm`,-,new field +Rights,`dct_rights_sm`,-,new field +Rights Holder,`dct_rightsHolder_sm`,-,new field +Source,`dct_source_sm`,`dc_source_sm`,new namespace +Spatial Coverage,`dct_spatial_sm`,`dct_spatial_sm`,no change +Subject,`dct_subject_sm`,`dc_subject_sm`,new namespace +Suppressed,`gbl_suppressed_b`,`suppressed_b`,new namespace +Temporal Coverage,`dct_temporal_sm`,`dct_temporal_sm`,no change +Theme,`dcat_theme_sm`,-,new field +Title,`dct_title_s`,`dc_title_s`,new namespace +Version,`dct_isVersionOf_sm`,-,new field +WxS Identifier,`gbl_wxsIdentifier_s`,`layer_id_s`,new field name +-,-,`dc_type_s`,deprecated field +-,-,`layer_geom_type_s`,deprecated field +-,-,`dc_isPartOf_sm`,"deprecated literal field, replaced by nonliteral dct_isPartOf_sm,, which takes an ID" diff --git a/tables/scripts.csv b/tables/scripts.csv new file mode 100644 index 00000000..6f114fe0 --- /dev/null +++ b/tables/scripts.csv @@ -0,0 +1,7 @@ +Name,Overview +[Convert MARC files to GeoBlacklight Metadata files](https://github.com/mjanowiecki/geoportal/tree/main/aardvark),A preliminary Python workflow to convert MARC metadata for historic and print maps into JSON metadata according to the GeoBlacklight 1.0 Metadata Schema. +[gbl-1_to_aardvark](https://github.com/OpenGeoMetadata/gbl-1_to_aardvark),This script will convert the crosswalkable fields in a batch of JSON files in the GeoBlacklight 1.0 schema into the OpenGeoMetadata Aardvark schema +[gbl2aardvark](https://kgjenkins.github.io/gbl2aardvark/),A a simple javascript application that lets you easily convert GeoBlacklight 1.0 records to the new OpenGeoMetadata Aardvark schema. +[GeoCombine](https://github.com/OpenGeoMetadata/GeoCombine),"A Ruby toolkit that is useful for cloning, updating, and indexing metadata from OpenGeoMetdata and includes a library for converting metadata between standards. [XSL sheets are found here](https://github.com/OpenGeoMetadata/GeoCombine/tree/master/lib/xslt)" +[OGM Aardvark Metadata Scripts](https://github.com/umass-gis/metadata-scripts),Basic Pythons scripts to convert ArcGIS-generated XML files to Aardvark schema JSON files. Queries the GeoNames database to retrieve placenames for the Spatial Coverage field. +[SdrFriend](https://github.com/NYULibraries/sdrfriend),"SdrFriend is a Ruby gem that allows people of various skill levels to interface with DSpace, GDAL, GeoServer, and other spatial data collection tools (performs rake tasks on a SDI, crosswalks csv and JSON files)." \ No newline at end of file diff --git a/temporal-fields/index.html b/temporal-fields/index.html new file mode 100644 index 00000000..75e62a8f --- /dev/null +++ b/temporal-fields/index.html @@ -0,0 +1,2290 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Temporal Fields - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Temporal Fields

+

Aardvark has four fields in the "temporal" group. Having multiple temporal fields allows for flexibility in describing the date of a resource, allowing users to easily find records by way of text search, facet filtering, and time slider widgets (an optional customization in the GeoBlacklight software). In some cases, the same value might be used for more than one field.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FieldField NameObligation
Temporal Coveragedct_temporal_smSuggested
Date Issueddct_issued_sOptional
Index Yeargbl_indexYear_imSuggested
Date Rangegbl_dateRange_drsimOptional
+

Temporal Coverage

+

This is a descriptive, free-text field that is intended to describe the time period or time range of the resource. Its multi-valued setting allows for flexibility in describing the date of the resource: multiple strings can be used to indicate the time range the resource depicts, when the data was collected, and/or when the resource was created. It is the ideal field to use for indicating uncertainty.

+

["1985"]
+
+
["1985-1995", "Late 20th century"]
+

+

Date Issued

+

This is an optional field for describing the date of an item's publication. Although optional, this field is often useful when a clear temporal coverage value is not present. For example, a dataset with uncertain lineage may at least have a date of last update. Generally it should be structured as a single year: YYYY, but more precise dates can take the ISO format without the time value: YYYY-MM-DD or YYYY-MM.

+

"1999"
+
+
"1999-08-21"
+

+

Index Year

+

This is a suggested field for describing the date depicted in a resource. It is the only integer field in the temporal group and is formatted as an array of multiple values. The default GeoBlacklight application uses this field in the "Year" facet, allowing users to filter search results by year. It is also used to power customizable time-slider widgets that rely on integers for dates.

+

[1985]
+
+
[1985,1986,1987]
+

+

Date Range

+

This optional field is not yet supported by GeoBlacklight software, but its intent is to power time widgets that use a date range (an optional customization to the software). The field is formatted as a start date and end date in the Solr date range field convention.

+
"[1985 TO 1987]"
+
+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/upgrade-metadata/index.html b/upgrade-metadata/index.html new file mode 100644 index 00000000..7f534d3f --- /dev/null +++ b/upgrade-metadata/index.html @@ -0,0 +1,2392 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Upgrade to OGM Aardvark - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Upgrade Guide for converting Metadata from GBL 1.0 to OGM Aardvark

+

The following options are two ways to upgrade GBL 1.0 metadata into OGM Aardvark. The figures include references to Solr, the search index that powers a GeoBlacklight instance.

+

Option 1: New pipeline

+

Re-run the metadata pipeline with a new crosswalk

+

metadata-pipline +Fig.1 - Metadata pipeline showing a conversion from standards metadata

+

Scenario

+
    +
  • you have geospatial resources with structured metadata files in an official standard, such as ISO 19139, FGDC, MODS, or MARC
  • +
  • your organization already has a metadata pipeline process that converts these structured files to GBL 1.0
  • +
+

How does it work?

+

This option involves updating your local transformation workflow that extracts values from standards-based metadata files.

+ +

Considerations for Option #1

+
    +
  • This may require extra institutional support, particularly if the transformation process is part of a larger framework or connected to a repository.
  • +
  • The community-developed XSLs are still a work in progress.
  • +
+
+

Option 2: Convert JSONs

+

Programmatically convert the JSON files

+

convert-jsons +Fig.2 - Programmatic transformation process using Geoblacklight 1.0 Metadata JSONs

+

Scenarios

+
    +
  • you only have GBL 1.0 metadata (no structured metadata files in an official standard)
  • +
  • you want to test your environment with the new Aardvark schema
  • +
+

How does it work?

+
    +
  1. Gather GBL 1.0 metadata JSON files on your desktop
  2. +
  3. Use a script or tool to batch convert GBL 1.0 JSON files to OGM Aardvark
  4. +
  5. Re-index the resulting Aardvark JSON files into your application (GeoBlacklight)
  6. +
+

Currently, the OpenGeoMetadata community has two tools that can do batch conversions:

+
    +
  • +

    gbl2aardvark: A web-hosted interface (recommended tool).

    +
      +
    • Users can upload GBL 1.0 metadata files to this tool and it will return a downloadable JSON in the OGM Aardvark schema.
    • +
    • In addition to direct crosswalks, this tool will populate the Resource Class and Resource Type based upon the Type and Geometry Type fields from version 1.0. It will also generate new collection level records based upon the value in the Is Part Of fields.
    • +
    • Any fields that do not properly convert will be flagged with the phrase "EDIT ME --"
    • +
    • When reindexing Solr with a single JSON file representing multiple records, use Solr's "Document Type"="File Upload" option.
    • +
    • See the GitHub documentation for more information
    • +
    +
  • +
  • +

    a standalone Python script: https://github.com/OpenGeoMetadata/gbl-1_to_aardvark.

    +
      +
    • This command line script will perform a straight conversion of field names.
    • +
    • It features an editable crosswalk file to customize the transformation.
    • +
    • The non-crosswalkable elements listed above (Type, Geometry Type, and Is Part Of) will be copied as-is into the new Aardvark JSONs.
    • +
    +
  • +
+ +

manual-remediation +Fig.3 - Transformation process that includes manual remediation

+

You may need to perform additional manual cleanup on the transformed JSONs.

+
    +
  1. +

    Convert your metadata files to a CSV. This Python script will convert a batch of JSONs to a CSV file

    +
  2. +
  3. +

    Manually augment and adjust column names and values using spreadsheet functions.

    +
  4. +
  5. +

    Convert your spreadsheet to OGM Aardvark JSONs. This Python script will convert CSVs to Aardvark JSONS

    +
  6. +
+

Considerations for Option #2

+
    +
  • +

    This can be a workaround method if changing the metadata pipeline is not feasible. However, it may result in incomplete metadata.

    +
  • +
  • +

    It will not include some fields that are new in OGM Aardvark, such as Rights or License. To take advantage of those fields, use Option 1 or perform additional remediation.

    +
  • +
  • +

    Manual cleanup after transformation may be labor intensive.

    +
  • +
+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/validate-metadata/index.html b/validate-metadata/index.html new file mode 100644 index 00000000..bbb3b417 --- /dev/null +++ b/validate-metadata/index.html @@ -0,0 +1,2158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Validate Metadata - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

Validating metadata

+

Once the metadata records are in the OpenGeoMetadata format, they should be validated to make sure the fields are correctly formatted. The current version of the schema is available as a JSON-Schema file. This file format provides support for data validation with the JSON Schema Vocabulary.

+

Use GeoCombine, which has a .valid? method that makes using these tools simple.

+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/view-solr-metadata/index.html b/view-solr-metadata/index.html new file mode 100644 index 00000000..4848be25 --- /dev/null +++ b/view-solr-metadata/index.html @@ -0,0 +1,2278 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + View in GeoBlacklight - OpenGeoMetadata + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + + + + + + +
+ +
+ + + + +
+
+ + + +
+
+
+ + + + + + + + + +
+
+
+ + + + +
+ + + + + + + + + + + +
+ + + + + +

View Solr Metadata in GeoBlacklight

+

GeoBlacklight can display the raw metadata for a published item by appending one of the following extensions to the end of an item's show page URL:

+

url.xml

+
    +
  • Produces a Dublin Core XML document in the OAI_DC schema.
  • +
  • The fields for this document can be adjusted in the solr_document.rb, which is found here: app/models/solr_document.rb.
  • +
+ +

url.json

+

Depending on your version, this will produce either:

+
    +
  • +

    A nested JSON document of the metadata that appears on the item page (this document can be harvested by the JSON:API protocol), OR

    +
  • +
  • +

    A full metadata file for the item as a flat JSON document (up to GeoBlacklight version 1.9).

    +
  • +
+ +

url/raw

+
    +
  • Only available for GeoBlacklight versions 2.0+.
  • +
  • Displays the full metadata file for the item as a flat JSON document.
  • +
+ +
+

Chart of viewing options

+
+
+
+
    +
  • url.xml: Dublin Core XML document
  • +
  • url.json: nested JSON document of only the metadata that appears on the item page
  • +
  • url/raw: flat JSON document of all metadata associated with the item
  • +
+
+
+
    +
  • url.xml: Dublin Core XML document
  • +
  • url.json: flat JSON document of all metadata associated with the item
  • +
+
+
+
+
+ + + + + + + + + + + + + +
+
+ + + +
+ + + +
+ + + +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file

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