diff --git a/application/README.md b/application/README.md
index 694f1036eee4e98fef1a01124403f72b67f2c25b..af4127ae97d7298e8e71f653a038f6c8d5debd47 100644
--- a/application/README.md
+++ b/application/README.md
@@ -2,32 +2,36 @@
 
 A modern, efficient and flexible JavaScript library for building user interfaces.
 
-Monster relies on proven concepts mixed with many new Javascript concepts.
+Monster relies on proven concepts mixed with many new JavaScript concepts.
 
-The library relies on modern features such as classes, WeakRef, 
+The library relies on modern features such as classes, WeakRef,
 WeakMaps, proxies or the MutationObserver interface, to name a few.
 
 Monster integrates easily into your existing websites without taking over
 everything.
 
-It is not the goal of Monster to pull in a completely new abstraction
+It is not the goal of Monster to pull in an entirely new abstraction
 with its own language, but to combine the existing techniques of HTML,  
-CSS and Javascript in a meaningful way.
+CSS and JavaScript in a meaningful way.
 
 Monster is perfectly suited for the creation of beautiful and fast  
 user interfaces and websites. The basis is formed by core functions that  
 can be supplemented by necessary classes and objects.
 
-One design target is to reach the shiny sun with as little Javascript as possible.
+One design target is to reach the shiny sun with as little JavaScript as possible.
 
 Monster was built with ES6 modules and uses [import](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/import)  
 and [export](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export).
 
-For some functions you need additional [polyfills](#polyfill).
+For some functions, you need additional [polyfills](#polyfill).
+
+## Documentation
+
+To check out docs and examples, visit [monsterjs.org/en/doc/monster/](https://monsterjs.org/en/doc/monster/).
 
 ## Installation
 
-`npm install @schukai/monster`, `yarn install @schukai/monster` oder `pnpm install @schukai/monster`
+`npm install @schukai/monster`, `yarn install @schukai/monster` or `pnpm install @schukai/monster`
 
 ### Polyfill
 
@@ -41,13 +45,9 @@ However, many functions can be mapped via [polyfill.io](https://polyfill.io/) an
            referrerpolicy="no-referrer"></script>
 ```
 
-## Documentation
-
-To check out docs and examples, visit [monsterjs.org/en/doc/monster/](https://monsterjs.org/en/doc/monster/).
-
 ## Questions
 
-For questions and commercial support please contact [schukai GmbH](https://www.schukai.com/).
+For questions and commercial support, please contact [schukai GmbH](https://www.schukai.com/).
 The issue list of this repo is exclusively for bug reports and feature requests.
 
 ## Issues
@@ -61,10 +61,9 @@ Copyright © 2022 schukai GmbH
 
 [AGPL](https://www.gnu.org/licenses/agpl-3.0.de.html)
 
-You can also purchase a commercial licence.
+You can also purchase a commercial license.
 
 ## Changelog
 
 Detailed changes for each release are documented in
 the [CHANGELOG](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/blob/master/application/CHANGELOG).
-
diff --git a/deployment/web/android-chrome-192x192.png b/deployment/web/android-chrome-192x192.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d410d686602788816b6b697278ea4e2e9aa29b9
Binary files /dev/null and b/deployment/web/android-chrome-192x192.png differ
diff --git a/deployment/web/apple-touch-icon-120x120-precomposed.png b/deployment/web/apple-touch-icon-120x120-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..5e68e34c244f711e3292f12d94cd84463660ad13
Binary files /dev/null and b/deployment/web/apple-touch-icon-120x120-precomposed.png differ
diff --git a/deployment/web/apple-touch-icon-120x120.png b/deployment/web/apple-touch-icon-120x120.png
new file mode 100644
index 0000000000000000000000000000000000000000..5e68e34c244f711e3292f12d94cd84463660ad13
Binary files /dev/null and b/deployment/web/apple-touch-icon-120x120.png differ
diff --git a/deployment/web/apple-touch-icon-152x152-precomposed.png b/deployment/web/apple-touch-icon-152x152-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c87c4026654fdcf4428405cbd60c2efbaf46018
Binary files /dev/null and b/deployment/web/apple-touch-icon-152x152-precomposed.png differ
diff --git a/deployment/web/apple-touch-icon-152x152.png b/deployment/web/apple-touch-icon-152x152.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c87c4026654fdcf4428405cbd60c2efbaf46018
Binary files /dev/null and b/deployment/web/apple-touch-icon-152x152.png differ
diff --git a/deployment/web/apple-touch-icon-180x180-precomposed.png b/deployment/web/apple-touch-icon-180x180-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..336c07035ae364fca13b136a3cfcbcb3ce2b4185
Binary files /dev/null and b/deployment/web/apple-touch-icon-180x180-precomposed.png differ
diff --git a/deployment/web/apple-touch-icon-180x180.png b/deployment/web/apple-touch-icon-180x180.png
new file mode 100644
index 0000000000000000000000000000000000000000..336c07035ae364fca13b136a3cfcbcb3ce2b4185
Binary files /dev/null and b/deployment/web/apple-touch-icon-180x180.png differ
diff --git a/deployment/web/apple-touch-icon-60x60-precomposed.png b/deployment/web/apple-touch-icon-60x60-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..6877773e130f2570b8d4ca7372c722aa98689f85
Binary files /dev/null and b/deployment/web/apple-touch-icon-60x60-precomposed.png differ
diff --git a/deployment/web/apple-touch-icon-60x60.png b/deployment/web/apple-touch-icon-60x60.png
new file mode 100644
index 0000000000000000000000000000000000000000..6877773e130f2570b8d4ca7372c722aa98689f85
Binary files /dev/null and b/deployment/web/apple-touch-icon-60x60.png differ
diff --git a/deployment/web/apple-touch-icon-76x76-precomposed.png b/deployment/web/apple-touch-icon-76x76-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..3085270eceed08058f59c79171538e8e278001fa
Binary files /dev/null and b/deployment/web/apple-touch-icon-76x76-precomposed.png differ
diff --git a/deployment/web/apple-touch-icon-76x76.png b/deployment/web/apple-touch-icon-76x76.png
new file mode 100644
index 0000000000000000000000000000000000000000..3085270eceed08058f59c79171538e8e278001fa
Binary files /dev/null and b/deployment/web/apple-touch-icon-76x76.png differ
diff --git a/deployment/web/apple-touch-icon-precomposed.png b/deployment/web/apple-touch-icon-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..336c07035ae364fca13b136a3cfcbcb3ce2b4185
Binary files /dev/null and b/deployment/web/apple-touch-icon-precomposed.png differ
diff --git a/deployment/web/apple-touch-icon.png b/deployment/web/apple-touch-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..336c07035ae364fca13b136a3cfcbcb3ce2b4185
Binary files /dev/null and b/deployment/web/apple-touch-icon.png differ
diff --git a/deployment/web/assets/prettify.css b/deployment/web/assets/prettify.css
new file mode 100644
index 0000000000000000000000000000000000000000..7cc49fdd714ef061832b0e2efee2183f69807fb4
--- /dev/null
+++ b/deployment/web/assets/prettify.css
@@ -0,0 +1,223 @@
+/**
+ * @license
+ * Copyright (C) 2015 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either expre.prettyprintss or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* pre.prettyprinttty printing styles. Used with pre.prettyprintttify.js. */
+
+body pre.prettyprint {
+    background-color: #ededed;
+}
+
+body pre.prettyprint code {
+    background-color: inherit;
+}
+
+body pre .pre-top-bar-container {
+    background: inherit;
+}
+
+body pre .code-copy-icon-container {
+    fill: #000;
+}
+
+
+/* SPAN elements with the classes below are added by pre.prettyprintttyprint. */
+pre.prettyprint .pln {
+    color: #000
+}
+
+/* plain text */
+
+@media screen {
+    pre.prettyprint {
+        background-color: #ededed;
+    }
+
+    pre.prettyprint code {
+        background-color: inherit;
+    }
+
+    body pre .pre-top-bar-container {
+        background: inherit;
+    }
+
+    pre.prettyprint .str {
+        color: #080
+    }
+
+    /* string content */
+    pre.prettyprint .kwd {
+        color: #008
+    }
+
+    /* a keyword */
+    pre.prettyprint .com {
+        color: #800
+    }
+
+    /* a comment */
+    pre.prettyprint .typ {
+        color: #606
+    }
+
+    /* a type name */
+    pre.prettyprint .lit {
+        color: #066
+    }
+
+    /* a literal value */
+    /* punctuation, lisp open bracket, lisp close bracket */
+    pre.prettyprint .pun, pre.prettyprint .opn, pre.prettyprint .clo {
+        color: #660
+    }
+
+    pre.prettyprint .tag {
+        color: #008
+    }
+
+    /* a markup tag name */
+    pre.prettyprint .atn {
+        color: #606
+    }
+
+    /* a markup attribute name */
+    pre.prettyprint .atv {
+        color: #080
+    }
+
+    /* a markup attribute value */
+    pre.prettyprint .dec, pre.prettyprint .var {
+        color: #606
+    }
+
+    /* a declaration; a variable name */
+    pre.prettyprint .fun {
+        color: red
+    }
+
+    /* a function name */
+}
+
+/* Use higher contrast and text-weight for printable form. */
+@media print, projection {
+
+    pre.prettyprint {
+        background-color: #ededed;
+    }
+
+    pre.prettyprint code {
+        background-color: inherit;
+    }
+
+    body pre .pre-top-bar-container {
+        background: inherit;
+    }
+
+    pre.prettyprint .str {
+        color: #060
+    }
+
+    pre.prettyprint .kwd {
+        color: #006;
+        font-weight: bold
+    }
+
+    pre.prettyprint .com {
+        color: #600;
+        font-style: italic
+    }
+
+    pre.prettyprint .typ {
+        color: #404;
+        font-weight: bold
+    }
+
+    pre.prettyprint .lit {
+        color: #044
+    }
+
+    pre.prettyprint .pun, pre.prettyprint .opn, pre.prettyprint .clo {
+        color: #440
+    }
+
+    pre.prettyprint .tag {
+        color: #006;
+        font-weight: bold
+    }
+
+    pre.prettyprint .atn {
+        color: #404
+    }
+
+    pre.prettyprint .atv {
+        color: #060
+    }
+}
+
+/* Put a border around pre.prettyprintttyprinted code snippets. */
+pre.prettyprint.pre.prettyprintttyprint {
+    padding: 2px;
+    border: 1px solid #888
+}
+
+/* Specify class=linenums on a pre.prettyprint to get line numbering */
+pre.prettyprint ol.linenums {
+    margin-top: 0;
+    margin-bottom: 0
+}
+
+/* IE indents via margin-left */
+pre.prettyprint li.L0,
+pre.prettyprint li.L1,
+pre.prettyprint li.L2,
+pre.prettyprint li.L3,
+pre.prettyprint li.L5,
+pre.prettyprint li.L6,
+pre.prettyprint li.L7,
+pre.prettyprint li.L8 {
+    list-style-type: none
+}
+
+/* Alternate shading for lines */
+pre.prettyprint li.L1,
+pre.prettyprint li.L3,
+pre.prettyprint li.L5,
+pre.prettyprint li.L7,
+pre.prettyprint li.L9 {
+    background: #eee
+}
+
+body section .codepen-form {
+    top: 0;
+    position: absolute;
+    right: 160px;
+    background-color: #da3b1e;
+    height: 78px;
+    width: 78px;
+    display: flex;
+    align-content: center;
+    justify-content: center;
+    align-items: center;
+    padding-left: 10px;
+}
+
+
+.sketch {
+    display: flex;
+    align-content: center;
+    margin: 6rem 0rem;
+    justify-content: center;
+}
diff --git a/deployment/web/assets/world.json b/deployment/web/assets/world.json
new file mode 100644
index 0000000000000000000000000000000000000000..82ae350f0e4b81161727ab8085ae370b56a3eb96
--- /dev/null
+++ b/deployment/web/assets/world.json
@@ -0,0 +1 @@
+[{"name":"Afghanistan","alpha-2":"AF","alpha-3":"AFG","country-code":"004","iso_3166-2":"ISO 3166-2:AF","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Åland Islands","alpha-2":"AX","alpha-3":"ALA","country-code":"248","iso_3166-2":"ISO 3166-2:AX","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Albania","alpha-2":"AL","alpha-3":"ALB","country-code":"008","iso_3166-2":"ISO 3166-2:AL","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Algeria","alpha-2":"DZ","alpha-3":"DZA","country-code":"012","iso_3166-2":"ISO 3166-2:DZ","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"American Samoa","alpha-2":"AS","alpha-3":"ASM","country-code":"016","iso_3166-2":"ISO 3166-2:AS","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Andorra","alpha-2":"AD","alpha-3":"AND","country-code":"020","iso_3166-2":"ISO 3166-2:AD","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Angola","alpha-2":"AO","alpha-3":"AGO","country-code":"024","iso_3166-2":"ISO 3166-2:AO","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Anguilla","alpha-2":"AI","alpha-3":"AIA","country-code":"660","iso_3166-2":"ISO 3166-2:AI","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Antarctica","alpha-2":"AQ","alpha-3":"ATA","country-code":"010","iso_3166-2":"ISO 3166-2:AQ","region":"","sub-region":"","intermediate-region":"","region-code":"","sub-region-code":"","intermediate-region-code":""},{"name":"Antigua and Barbuda","alpha-2":"AG","alpha-3":"ATG","country-code":"028","iso_3166-2":"ISO 3166-2:AG","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Argentina","alpha-2":"AR","alpha-3":"ARG","country-code":"032","iso_3166-2":"ISO 3166-2:AR","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Armenia","alpha-2":"AM","alpha-3":"ARM","country-code":"051","iso_3166-2":"ISO 3166-2:AM","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Aruba","alpha-2":"AW","alpha-3":"ABW","country-code":"533","iso_3166-2":"ISO 3166-2:AW","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Australia","alpha-2":"AU","alpha-3":"AUS","country-code":"036","iso_3166-2":"ISO 3166-2:AU","region":"Oceania","sub-region":"Australia and New Zealand","intermediate-region":"","region-code":"009","sub-region-code":"053","intermediate-region-code":""},{"name":"Austria","alpha-2":"AT","alpha-3":"AUT","country-code":"040","iso_3166-2":"ISO 3166-2:AT","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Azerbaijan","alpha-2":"AZ","alpha-3":"AZE","country-code":"031","iso_3166-2":"ISO 3166-2:AZ","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Bahamas","alpha-2":"BS","alpha-3":"BHS","country-code":"044","iso_3166-2":"ISO 3166-2:BS","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Bahrain","alpha-2":"BH","alpha-3":"BHR","country-code":"048","iso_3166-2":"ISO 3166-2:BH","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Bangladesh","alpha-2":"BD","alpha-3":"BGD","country-code":"050","iso_3166-2":"ISO 3166-2:BD","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Barbados","alpha-2":"BB","alpha-3":"BRB","country-code":"052","iso_3166-2":"ISO 3166-2:BB","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Belarus","alpha-2":"BY","alpha-3":"BLR","country-code":"112","iso_3166-2":"ISO 3166-2:BY","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Belgium","alpha-2":"BE","alpha-3":"BEL","country-code":"056","iso_3166-2":"ISO 3166-2:BE","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Belize","alpha-2":"BZ","alpha-3":"BLZ","country-code":"084","iso_3166-2":"ISO 3166-2:BZ","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Benin","alpha-2":"BJ","alpha-3":"BEN","country-code":"204","iso_3166-2":"ISO 3166-2:BJ","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Bermuda","alpha-2":"BM","alpha-3":"BMU","country-code":"060","iso_3166-2":"ISO 3166-2:BM","region":"Americas","sub-region":"Northern America","intermediate-region":"","region-code":"019","sub-region-code":"021","intermediate-region-code":""},{"name":"Bhutan","alpha-2":"BT","alpha-3":"BTN","country-code":"064","iso_3166-2":"ISO 3166-2:BT","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Bolivia (Plurinational State of)","alpha-2":"BO","alpha-3":"BOL","country-code":"068","iso_3166-2":"ISO 3166-2:BO","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Bonaire, Sint Eustatius and Saba","alpha-2":"BQ","alpha-3":"BES","country-code":"535","iso_3166-2":"ISO 3166-2:BQ","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Bosnia and Herzegovina","alpha-2":"BA","alpha-3":"BIH","country-code":"070","iso_3166-2":"ISO 3166-2:BA","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Botswana","alpha-2":"BW","alpha-3":"BWA","country-code":"072","iso_3166-2":"ISO 3166-2:BW","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Southern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"018"},{"name":"Bouvet Island","alpha-2":"BV","alpha-3":"BVT","country-code":"074","iso_3166-2":"ISO 3166-2:BV","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Brazil","alpha-2":"BR","alpha-3":"BRA","country-code":"076","iso_3166-2":"ISO 3166-2:BR","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"British Indian Ocean Territory","alpha-2":"IO","alpha-3":"IOT","country-code":"086","iso_3166-2":"ISO 3166-2:IO","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Brunei Darussalam","alpha-2":"BN","alpha-3":"BRN","country-code":"096","iso_3166-2":"ISO 3166-2:BN","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Bulgaria","alpha-2":"BG","alpha-3":"BGR","country-code":"100","iso_3166-2":"ISO 3166-2:BG","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Burkina Faso","alpha-2":"BF","alpha-3":"BFA","country-code":"854","iso_3166-2":"ISO 3166-2:BF","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Burundi","alpha-2":"BI","alpha-3":"BDI","country-code":"108","iso_3166-2":"ISO 3166-2:BI","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Cabo Verde","alpha-2":"CV","alpha-3":"CPV","country-code":"132","iso_3166-2":"ISO 3166-2:CV","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Cambodia","alpha-2":"KH","alpha-3":"KHM","country-code":"116","iso_3166-2":"ISO 3166-2:KH","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Cameroon","alpha-2":"CM","alpha-3":"CMR","country-code":"120","iso_3166-2":"ISO 3166-2:CM","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Canada","alpha-2":"CA","alpha-3":"CAN","country-code":"124","iso_3166-2":"ISO 3166-2:CA","region":"Americas","sub-region":"Northern America","intermediate-region":"","region-code":"019","sub-region-code":"021","intermediate-region-code":""},{"name":"Cayman Islands","alpha-2":"KY","alpha-3":"CYM","country-code":"136","iso_3166-2":"ISO 3166-2:KY","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Central African Republic","alpha-2":"CF","alpha-3":"CAF","country-code":"140","iso_3166-2":"ISO 3166-2:CF","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Chad","alpha-2":"TD","alpha-3":"TCD","country-code":"148","iso_3166-2":"ISO 3166-2:TD","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Chile","alpha-2":"CL","alpha-3":"CHL","country-code":"152","iso_3166-2":"ISO 3166-2:CL","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"China","alpha-2":"CN","alpha-3":"CHN","country-code":"156","iso_3166-2":"ISO 3166-2:CN","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Christmas Island","alpha-2":"CX","alpha-3":"CXR","country-code":"162","iso_3166-2":"ISO 3166-2:CX","region":"Oceania","sub-region":"Australia and New Zealand","intermediate-region":"","region-code":"009","sub-region-code":"053","intermediate-region-code":""},{"name":"Cocos (Keeling) Islands","alpha-2":"CC","alpha-3":"CCK","country-code":"166","iso_3166-2":"ISO 3166-2:CC","region":"Oceania","sub-region":"Australia and New Zealand","intermediate-region":"","region-code":"009","sub-region-code":"053","intermediate-region-code":""},{"name":"Colombia","alpha-2":"CO","alpha-3":"COL","country-code":"170","iso_3166-2":"ISO 3166-2:CO","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Comoros","alpha-2":"KM","alpha-3":"COM","country-code":"174","iso_3166-2":"ISO 3166-2:KM","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Congo","alpha-2":"CG","alpha-3":"COG","country-code":"178","iso_3166-2":"ISO 3166-2:CG","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Congo, Democratic Republic of the","alpha-2":"CD","alpha-3":"COD","country-code":"180","iso_3166-2":"ISO 3166-2:CD","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Cook Islands","alpha-2":"CK","alpha-3":"COK","country-code":"184","iso_3166-2":"ISO 3166-2:CK","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Costa Rica","alpha-2":"CR","alpha-3":"CRI","country-code":"188","iso_3166-2":"ISO 3166-2:CR","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Côte d'Ivoire","alpha-2":"CI","alpha-3":"CIV","country-code":"384","iso_3166-2":"ISO 3166-2:CI","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Croatia","alpha-2":"HR","alpha-3":"HRV","country-code":"191","iso_3166-2":"ISO 3166-2:HR","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Cuba","alpha-2":"CU","alpha-3":"CUB","country-code":"192","iso_3166-2":"ISO 3166-2:CU","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Curaçao","alpha-2":"CW","alpha-3":"CUW","country-code":"531","iso_3166-2":"ISO 3166-2:CW","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Cyprus","alpha-2":"CY","alpha-3":"CYP","country-code":"196","iso_3166-2":"ISO 3166-2:CY","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Czechia","alpha-2":"CZ","alpha-3":"CZE","country-code":"203","iso_3166-2":"ISO 3166-2:CZ","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Denmark","alpha-2":"DK","alpha-3":"DNK","country-code":"208","iso_3166-2":"ISO 3166-2:DK","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Djibouti","alpha-2":"DJ","alpha-3":"DJI","country-code":"262","iso_3166-2":"ISO 3166-2:DJ","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Dominica","alpha-2":"DM","alpha-3":"DMA","country-code":"212","iso_3166-2":"ISO 3166-2:DM","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Dominican Republic","alpha-2":"DO","alpha-3":"DOM","country-code":"214","iso_3166-2":"ISO 3166-2:DO","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Ecuador","alpha-2":"EC","alpha-3":"ECU","country-code":"218","iso_3166-2":"ISO 3166-2:EC","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Egypt","alpha-2":"EG","alpha-3":"EGY","country-code":"818","iso_3166-2":"ISO 3166-2:EG","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"El Salvador","alpha-2":"SV","alpha-3":"SLV","country-code":"222","iso_3166-2":"ISO 3166-2:SV","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Equatorial Guinea","alpha-2":"GQ","alpha-3":"GNQ","country-code":"226","iso_3166-2":"ISO 3166-2:GQ","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Eritrea","alpha-2":"ER","alpha-3":"ERI","country-code":"232","iso_3166-2":"ISO 3166-2:ER","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Estonia","alpha-2":"EE","alpha-3":"EST","country-code":"233","iso_3166-2":"ISO 3166-2:EE","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Eswatini","alpha-2":"SZ","alpha-3":"SWZ","country-code":"748","iso_3166-2":"ISO 3166-2:SZ","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Southern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"018"},{"name":"Ethiopia","alpha-2":"ET","alpha-3":"ETH","country-code":"231","iso_3166-2":"ISO 3166-2:ET","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Falkland Islands (Malvinas)","alpha-2":"FK","alpha-3":"FLK","country-code":"238","iso_3166-2":"ISO 3166-2:FK","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Faroe Islands","alpha-2":"FO","alpha-3":"FRO","country-code":"234","iso_3166-2":"ISO 3166-2:FO","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Fiji","alpha-2":"FJ","alpha-3":"FJI","country-code":"242","iso_3166-2":"ISO 3166-2:FJ","region":"Oceania","sub-region":"Melanesia","intermediate-region":"","region-code":"009","sub-region-code":"054","intermediate-region-code":""},{"name":"Finland","alpha-2":"FI","alpha-3":"FIN","country-code":"246","iso_3166-2":"ISO 3166-2:FI","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"France","alpha-2":"FR","alpha-3":"FRA","country-code":"250","iso_3166-2":"ISO 3166-2:FR","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"French Guiana","alpha-2":"GF","alpha-3":"GUF","country-code":"254","iso_3166-2":"ISO 3166-2:GF","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"French Polynesia","alpha-2":"PF","alpha-3":"PYF","country-code":"258","iso_3166-2":"ISO 3166-2:PF","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"French Southern Territories","alpha-2":"TF","alpha-3":"ATF","country-code":"260","iso_3166-2":"ISO 3166-2:TF","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Gabon","alpha-2":"GA","alpha-3":"GAB","country-code":"266","iso_3166-2":"ISO 3166-2:GA","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Gambia","alpha-2":"GM","alpha-3":"GMB","country-code":"270","iso_3166-2":"ISO 3166-2:GM","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Georgia","alpha-2":"GE","alpha-3":"GEO","country-code":"268","iso_3166-2":"ISO 3166-2:GE","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Germany","alpha-2":"DE","alpha-3":"DEU","country-code":"276","iso_3166-2":"ISO 3166-2:DE","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Ghana","alpha-2":"GH","alpha-3":"GHA","country-code":"288","iso_3166-2":"ISO 3166-2:GH","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Gibraltar","alpha-2":"GI","alpha-3":"GIB","country-code":"292","iso_3166-2":"ISO 3166-2:GI","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Greece","alpha-2":"GR","alpha-3":"GRC","country-code":"300","iso_3166-2":"ISO 3166-2:GR","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Greenland","alpha-2":"GL","alpha-3":"GRL","country-code":"304","iso_3166-2":"ISO 3166-2:GL","region":"Americas","sub-region":"Northern America","intermediate-region":"","region-code":"019","sub-region-code":"021","intermediate-region-code":""},{"name":"Grenada","alpha-2":"GD","alpha-3":"GRD","country-code":"308","iso_3166-2":"ISO 3166-2:GD","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Guadeloupe","alpha-2":"GP","alpha-3":"GLP","country-code":"312","iso_3166-2":"ISO 3166-2:GP","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Guam","alpha-2":"GU","alpha-3":"GUM","country-code":"316","iso_3166-2":"ISO 3166-2:GU","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Guatemala","alpha-2":"GT","alpha-3":"GTM","country-code":"320","iso_3166-2":"ISO 3166-2:GT","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Guernsey","alpha-2":"GG","alpha-3":"GGY","country-code":"831","iso_3166-2":"ISO 3166-2:GG","region":"Europe","sub-region":"Northern Europe","intermediate-region":"Channel Islands","region-code":"150","sub-region-code":"154","intermediate-region-code":"830"},{"name":"Guinea","alpha-2":"GN","alpha-3":"GIN","country-code":"324","iso_3166-2":"ISO 3166-2:GN","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Guinea-Bissau","alpha-2":"GW","alpha-3":"GNB","country-code":"624","iso_3166-2":"ISO 3166-2:GW","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Guyana","alpha-2":"GY","alpha-3":"GUY","country-code":"328","iso_3166-2":"ISO 3166-2:GY","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Haiti","alpha-2":"HT","alpha-3":"HTI","country-code":"332","iso_3166-2":"ISO 3166-2:HT","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Heard Island and McDonald Islands","alpha-2":"HM","alpha-3":"HMD","country-code":"334","iso_3166-2":"ISO 3166-2:HM","region":"Oceania","sub-region":"Australia and New Zealand","intermediate-region":"","region-code":"009","sub-region-code":"053","intermediate-region-code":""},{"name":"Holy See","alpha-2":"VA","alpha-3":"VAT","country-code":"336","iso_3166-2":"ISO 3166-2:VA","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Honduras","alpha-2":"HN","alpha-3":"HND","country-code":"340","iso_3166-2":"ISO 3166-2:HN","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Hong Kong","alpha-2":"HK","alpha-3":"HKG","country-code":"344","iso_3166-2":"ISO 3166-2:HK","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Hungary","alpha-2":"HU","alpha-3":"HUN","country-code":"348","iso_3166-2":"ISO 3166-2:HU","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Iceland","alpha-2":"IS","alpha-3":"ISL","country-code":"352","iso_3166-2":"ISO 3166-2:IS","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"India","alpha-2":"IN","alpha-3":"IND","country-code":"356","iso_3166-2":"ISO 3166-2:IN","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Indonesia","alpha-2":"ID","alpha-3":"IDN","country-code":"360","iso_3166-2":"ISO 3166-2:ID","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Iran (Islamic Republic of)","alpha-2":"IR","alpha-3":"IRN","country-code":"364","iso_3166-2":"ISO 3166-2:IR","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Iraq","alpha-2":"IQ","alpha-3":"IRQ","country-code":"368","iso_3166-2":"ISO 3166-2:IQ","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Ireland","alpha-2":"IE","alpha-3":"IRL","country-code":"372","iso_3166-2":"ISO 3166-2:IE","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Isle of Man","alpha-2":"IM","alpha-3":"IMN","country-code":"833","iso_3166-2":"ISO 3166-2:IM","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Israel","alpha-2":"IL","alpha-3":"ISR","country-code":"376","iso_3166-2":"ISO 3166-2:IL","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Italy","alpha-2":"IT","alpha-3":"ITA","country-code":"380","iso_3166-2":"ISO 3166-2:IT","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Jamaica","alpha-2":"JM","alpha-3":"JAM","country-code":"388","iso_3166-2":"ISO 3166-2:JM","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Japan","alpha-2":"JP","alpha-3":"JPN","country-code":"392","iso_3166-2":"ISO 3166-2:JP","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Jersey","alpha-2":"JE","alpha-3":"JEY","country-code":"832","iso_3166-2":"ISO 3166-2:JE","region":"Europe","sub-region":"Northern Europe","intermediate-region":"Channel Islands","region-code":"150","sub-region-code":"154","intermediate-region-code":"830"},{"name":"Jordan","alpha-2":"JO","alpha-3":"JOR","country-code":"400","iso_3166-2":"ISO 3166-2:JO","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Kazakhstan","alpha-2":"KZ","alpha-3":"KAZ","country-code":"398","iso_3166-2":"ISO 3166-2:KZ","region":"Asia","sub-region":"Central Asia","intermediate-region":"","region-code":"142","sub-region-code":"143","intermediate-region-code":""},{"name":"Kenya","alpha-2":"KE","alpha-3":"KEN","country-code":"404","iso_3166-2":"ISO 3166-2:KE","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Kiribati","alpha-2":"KI","alpha-3":"KIR","country-code":"296","iso_3166-2":"ISO 3166-2:KI","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Korea (Democratic People's Republic of)","alpha-2":"KP","alpha-3":"PRK","country-code":"408","iso_3166-2":"ISO 3166-2:KP","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Korea, Republic of","alpha-2":"KR","alpha-3":"KOR","country-code":"410","iso_3166-2":"ISO 3166-2:KR","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Kuwait","alpha-2":"KW","alpha-3":"KWT","country-code":"414","iso_3166-2":"ISO 3166-2:KW","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Kyrgyzstan","alpha-2":"KG","alpha-3":"KGZ","country-code":"417","iso_3166-2":"ISO 3166-2:KG","region":"Asia","sub-region":"Central Asia","intermediate-region":"","region-code":"142","sub-region-code":"143","intermediate-region-code":""},{"name":"Lao People's Democratic Republic","alpha-2":"LA","alpha-3":"LAO","country-code":"418","iso_3166-2":"ISO 3166-2:LA","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Latvia","alpha-2":"LV","alpha-3":"LVA","country-code":"428","iso_3166-2":"ISO 3166-2:LV","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Lebanon","alpha-2":"LB","alpha-3":"LBN","country-code":"422","iso_3166-2":"ISO 3166-2:LB","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Lesotho","alpha-2":"LS","alpha-3":"LSO","country-code":"426","iso_3166-2":"ISO 3166-2:LS","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Southern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"018"},{"name":"Liberia","alpha-2":"LR","alpha-3":"LBR","country-code":"430","iso_3166-2":"ISO 3166-2:LR","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Libya","alpha-2":"LY","alpha-3":"LBY","country-code":"434","iso_3166-2":"ISO 3166-2:LY","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"Liechtenstein","alpha-2":"LI","alpha-3":"LIE","country-code":"438","iso_3166-2":"ISO 3166-2:LI","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Lithuania","alpha-2":"LT","alpha-3":"LTU","country-code":"440","iso_3166-2":"ISO 3166-2:LT","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Luxembourg","alpha-2":"LU","alpha-3":"LUX","country-code":"442","iso_3166-2":"ISO 3166-2:LU","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Macao","alpha-2":"MO","alpha-3":"MAC","country-code":"446","iso_3166-2":"ISO 3166-2:MO","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Madagascar","alpha-2":"MG","alpha-3":"MDG","country-code":"450","iso_3166-2":"ISO 3166-2:MG","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Malawi","alpha-2":"MW","alpha-3":"MWI","country-code":"454","iso_3166-2":"ISO 3166-2:MW","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Malaysia","alpha-2":"MY","alpha-3":"MYS","country-code":"458","iso_3166-2":"ISO 3166-2:MY","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Maldives","alpha-2":"MV","alpha-3":"MDV","country-code":"462","iso_3166-2":"ISO 3166-2:MV","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Mali","alpha-2":"ML","alpha-3":"MLI","country-code":"466","iso_3166-2":"ISO 3166-2:ML","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Malta","alpha-2":"MT","alpha-3":"MLT","country-code":"470","iso_3166-2":"ISO 3166-2:MT","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Marshall Islands","alpha-2":"MH","alpha-3":"MHL","country-code":"584","iso_3166-2":"ISO 3166-2:MH","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Martinique","alpha-2":"MQ","alpha-3":"MTQ","country-code":"474","iso_3166-2":"ISO 3166-2:MQ","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Mauritania","alpha-2":"MR","alpha-3":"MRT","country-code":"478","iso_3166-2":"ISO 3166-2:MR","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Mauritius","alpha-2":"MU","alpha-3":"MUS","country-code":"480","iso_3166-2":"ISO 3166-2:MU","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Mayotte","alpha-2":"YT","alpha-3":"MYT","country-code":"175","iso_3166-2":"ISO 3166-2:YT","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Mexico","alpha-2":"MX","alpha-3":"MEX","country-code":"484","iso_3166-2":"ISO 3166-2:MX","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Micronesia (Federated States of)","alpha-2":"FM","alpha-3":"FSM","country-code":"583","iso_3166-2":"ISO 3166-2:FM","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Moldova, Republic of","alpha-2":"MD","alpha-3":"MDA","country-code":"498","iso_3166-2":"ISO 3166-2:MD","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Monaco","alpha-2":"MC","alpha-3":"MCO","country-code":"492","iso_3166-2":"ISO 3166-2:MC","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Mongolia","alpha-2":"MN","alpha-3":"MNG","country-code":"496","iso_3166-2":"ISO 3166-2:MN","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Montenegro","alpha-2":"ME","alpha-3":"MNE","country-code":"499","iso_3166-2":"ISO 3166-2:ME","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Montserrat","alpha-2":"MS","alpha-3":"MSR","country-code":"500","iso_3166-2":"ISO 3166-2:MS","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Morocco","alpha-2":"MA","alpha-3":"MAR","country-code":"504","iso_3166-2":"ISO 3166-2:MA","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"Mozambique","alpha-2":"MZ","alpha-3":"MOZ","country-code":"508","iso_3166-2":"ISO 3166-2:MZ","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Myanmar","alpha-2":"MM","alpha-3":"MMR","country-code":"104","iso_3166-2":"ISO 3166-2:MM","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Namibia","alpha-2":"NA","alpha-3":"NAM","country-code":"516","iso_3166-2":"ISO 3166-2:NA","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Southern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"018"},{"name":"Nauru","alpha-2":"NR","alpha-3":"NRU","country-code":"520","iso_3166-2":"ISO 3166-2:NR","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Nepal","alpha-2":"NP","alpha-3":"NPL","country-code":"524","iso_3166-2":"ISO 3166-2:NP","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Netherlands","alpha-2":"NL","alpha-3":"NLD","country-code":"528","iso_3166-2":"ISO 3166-2:NL","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"New Caledonia","alpha-2":"NC","alpha-3":"NCL","country-code":"540","iso_3166-2":"ISO 3166-2:NC","region":"Oceania","sub-region":"Melanesia","intermediate-region":"","region-code":"009","sub-region-code":"054","intermediate-region-code":""},{"name":"New Zealand","alpha-2":"NZ","alpha-3":"NZL","country-code":"554","iso_3166-2":"ISO 3166-2:NZ","region":"Oceania","sub-region":"Australia and New Zealand","intermediate-region":"","region-code":"009","sub-region-code":"053","intermediate-region-code":""},{"name":"Nicaragua","alpha-2":"NI","alpha-3":"NIC","country-code":"558","iso_3166-2":"ISO 3166-2:NI","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Niger","alpha-2":"NE","alpha-3":"NER","country-code":"562","iso_3166-2":"ISO 3166-2:NE","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Nigeria","alpha-2":"NG","alpha-3":"NGA","country-code":"566","iso_3166-2":"ISO 3166-2:NG","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Niue","alpha-2":"NU","alpha-3":"NIU","country-code":"570","iso_3166-2":"ISO 3166-2:NU","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Norfolk Island","alpha-2":"NF","alpha-3":"NFK","country-code":"574","iso_3166-2":"ISO 3166-2:NF","region":"Oceania","sub-region":"Australia and New Zealand","intermediate-region":"","region-code":"009","sub-region-code":"053","intermediate-region-code":""},{"name":"North Macedonia","alpha-2":"MK","alpha-3":"MKD","country-code":"807","iso_3166-2":"ISO 3166-2:MK","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Northern Mariana Islands","alpha-2":"MP","alpha-3":"MNP","country-code":"580","iso_3166-2":"ISO 3166-2:MP","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Norway","alpha-2":"NO","alpha-3":"NOR","country-code":"578","iso_3166-2":"ISO 3166-2:NO","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Oman","alpha-2":"OM","alpha-3":"OMN","country-code":"512","iso_3166-2":"ISO 3166-2:OM","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Pakistan","alpha-2":"PK","alpha-3":"PAK","country-code":"586","iso_3166-2":"ISO 3166-2:PK","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Palau","alpha-2":"PW","alpha-3":"PLW","country-code":"585","iso_3166-2":"ISO 3166-2:PW","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Palestine, State of","alpha-2":"PS","alpha-3":"PSE","country-code":"275","iso_3166-2":"ISO 3166-2:PS","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Panama","alpha-2":"PA","alpha-3":"PAN","country-code":"591","iso_3166-2":"ISO 3166-2:PA","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Central America","region-code":"019","sub-region-code":"419","intermediate-region-code":"013"},{"name":"Papua New Guinea","alpha-2":"PG","alpha-3":"PNG","country-code":"598","iso_3166-2":"ISO 3166-2:PG","region":"Oceania","sub-region":"Melanesia","intermediate-region":"","region-code":"009","sub-region-code":"054","intermediate-region-code":""},{"name":"Paraguay","alpha-2":"PY","alpha-3":"PRY","country-code":"600","iso_3166-2":"ISO 3166-2:PY","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Peru","alpha-2":"PE","alpha-3":"PER","country-code":"604","iso_3166-2":"ISO 3166-2:PE","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Philippines","alpha-2":"PH","alpha-3":"PHL","country-code":"608","iso_3166-2":"ISO 3166-2:PH","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Pitcairn","alpha-2":"PN","alpha-3":"PCN","country-code":"612","iso_3166-2":"ISO 3166-2:PN","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Poland","alpha-2":"PL","alpha-3":"POL","country-code":"616","iso_3166-2":"ISO 3166-2:PL","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Portugal","alpha-2":"PT","alpha-3":"PRT","country-code":"620","iso_3166-2":"ISO 3166-2:PT","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Puerto Rico","alpha-2":"PR","alpha-3":"PRI","country-code":"630","iso_3166-2":"ISO 3166-2:PR","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Qatar","alpha-2":"QA","alpha-3":"QAT","country-code":"634","iso_3166-2":"ISO 3166-2:QA","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Réunion","alpha-2":"RE","alpha-3":"REU","country-code":"638","iso_3166-2":"ISO 3166-2:RE","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Romania","alpha-2":"RO","alpha-3":"ROU","country-code":"642","iso_3166-2":"ISO 3166-2:RO","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Russian Federation","alpha-2":"RU","alpha-3":"RUS","country-code":"643","iso_3166-2":"ISO 3166-2:RU","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Rwanda","alpha-2":"RW","alpha-3":"RWA","country-code":"646","iso_3166-2":"ISO 3166-2:RW","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Saint Barthélemy","alpha-2":"BL","alpha-3":"BLM","country-code":"652","iso_3166-2":"ISO 3166-2:BL","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Saint Helena, Ascension and Tristan da Cunha","alpha-2":"SH","alpha-3":"SHN","country-code":"654","iso_3166-2":"ISO 3166-2:SH","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Saint Kitts and Nevis","alpha-2":"KN","alpha-3":"KNA","country-code":"659","iso_3166-2":"ISO 3166-2:KN","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Saint Lucia","alpha-2":"LC","alpha-3":"LCA","country-code":"662","iso_3166-2":"ISO 3166-2:LC","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Saint Martin (French part)","alpha-2":"MF","alpha-3":"MAF","country-code":"663","iso_3166-2":"ISO 3166-2:MF","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Saint Pierre and Miquelon","alpha-2":"PM","alpha-3":"SPM","country-code":"666","iso_3166-2":"ISO 3166-2:PM","region":"Americas","sub-region":"Northern America","intermediate-region":"","region-code":"019","sub-region-code":"021","intermediate-region-code":""},{"name":"Saint Vincent and the Grenadines","alpha-2":"VC","alpha-3":"VCT","country-code":"670","iso_3166-2":"ISO 3166-2:VC","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Samoa","alpha-2":"WS","alpha-3":"WSM","country-code":"882","iso_3166-2":"ISO 3166-2:WS","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"San Marino","alpha-2":"SM","alpha-3":"SMR","country-code":"674","iso_3166-2":"ISO 3166-2:SM","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Sao Tome and Principe","alpha-2":"ST","alpha-3":"STP","country-code":"678","iso_3166-2":"ISO 3166-2:ST","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Saudi Arabia","alpha-2":"SA","alpha-3":"SAU","country-code":"682","iso_3166-2":"ISO 3166-2:SA","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Senegal","alpha-2":"SN","alpha-3":"SEN","country-code":"686","iso_3166-2":"ISO 3166-2:SN","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Serbia","alpha-2":"RS","alpha-3":"SRB","country-code":"688","iso_3166-2":"ISO 3166-2:RS","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Seychelles","alpha-2":"SC","alpha-3":"SYC","country-code":"690","iso_3166-2":"ISO 3166-2:SC","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Sierra Leone","alpha-2":"SL","alpha-3":"SLE","country-code":"694","iso_3166-2":"ISO 3166-2:SL","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Singapore","alpha-2":"SG","alpha-3":"SGP","country-code":"702","iso_3166-2":"ISO 3166-2:SG","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Sint Maarten (Dutch part)","alpha-2":"SX","alpha-3":"SXM","country-code":"534","iso_3166-2":"ISO 3166-2:SX","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Slovakia","alpha-2":"SK","alpha-3":"SVK","country-code":"703","iso_3166-2":"ISO 3166-2:SK","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"Slovenia","alpha-2":"SI","alpha-3":"SVN","country-code":"705","iso_3166-2":"ISO 3166-2:SI","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Solomon Islands","alpha-2":"SB","alpha-3":"SLB","country-code":"090","iso_3166-2":"ISO 3166-2:SB","region":"Oceania","sub-region":"Melanesia","intermediate-region":"","region-code":"009","sub-region-code":"054","intermediate-region-code":""},{"name":"Somalia","alpha-2":"SO","alpha-3":"SOM","country-code":"706","iso_3166-2":"ISO 3166-2:SO","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"South Africa","alpha-2":"ZA","alpha-3":"ZAF","country-code":"710","iso_3166-2":"ISO 3166-2:ZA","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Southern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"018"},{"name":"South Georgia and the South Sandwich Islands","alpha-2":"GS","alpha-3":"SGS","country-code":"239","iso_3166-2":"ISO 3166-2:GS","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"South Sudan","alpha-2":"SS","alpha-3":"SSD","country-code":"728","iso_3166-2":"ISO 3166-2:SS","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Spain","alpha-2":"ES","alpha-3":"ESP","country-code":"724","iso_3166-2":"ISO 3166-2:ES","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Sri Lanka","alpha-2":"LK","alpha-3":"LKA","country-code":"144","iso_3166-2":"ISO 3166-2:LK","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Sudan","alpha-2":"SD","alpha-3":"SDN","country-code":"729","iso_3166-2":"ISO 3166-2:SD","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"Suriname","alpha-2":"SR","alpha-3":"SUR","country-code":"740","iso_3166-2":"ISO 3166-2:SR","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Svalbard and Jan Mayen","alpha-2":"SJ","alpha-3":"SJM","country-code":"744","iso_3166-2":"ISO 3166-2:SJ","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Sweden","alpha-2":"SE","alpha-3":"SWE","country-code":"752","iso_3166-2":"ISO 3166-2:SE","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Switzerland","alpha-2":"CH","alpha-3":"CHE","country-code":"756","iso_3166-2":"ISO 3166-2:CH","region":"Europe","sub-region":"Western Europe","intermediate-region":"","region-code":"150","sub-region-code":"155","intermediate-region-code":""},{"name":"Syrian Arab Republic","alpha-2":"SY","alpha-3":"SYR","country-code":"760","iso_3166-2":"ISO 3166-2:SY","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Taiwan, Province of China","alpha-2":"TW","alpha-3":"TWN","country-code":"158","iso_3166-2":"ISO 3166-2:TW","region":"Asia","sub-region":"Eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"030","intermediate-region-code":""},{"name":"Tajikistan","alpha-2":"TJ","alpha-3":"TJK","country-code":"762","iso_3166-2":"ISO 3166-2:TJ","region":"Asia","sub-region":"Central Asia","intermediate-region":"","region-code":"142","sub-region-code":"143","intermediate-region-code":""},{"name":"Tanzania, United Republic of","alpha-2":"TZ","alpha-3":"TZA","country-code":"834","iso_3166-2":"ISO 3166-2:TZ","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Thailand","alpha-2":"TH","alpha-3":"THA","country-code":"764","iso_3166-2":"ISO 3166-2:TH","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Timor-Leste","alpha-2":"TL","alpha-3":"TLS","country-code":"626","iso_3166-2":"ISO 3166-2:TL","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Togo","alpha-2":"TG","alpha-3":"TGO","country-code":"768","iso_3166-2":"ISO 3166-2:TG","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Western Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"011"},{"name":"Tokelau","alpha-2":"TK","alpha-3":"TKL","country-code":"772","iso_3166-2":"ISO 3166-2:TK","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Tonga","alpha-2":"TO","alpha-3":"TON","country-code":"776","iso_3166-2":"ISO 3166-2:TO","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Trinidad and Tobago","alpha-2":"TT","alpha-3":"TTO","country-code":"780","iso_3166-2":"ISO 3166-2:TT","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Tunisia","alpha-2":"TN","alpha-3":"TUN","country-code":"788","iso_3166-2":"ISO 3166-2:TN","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"Turkey","alpha-2":"TR","alpha-3":"TUR","country-code":"792","iso_3166-2":"ISO 3166-2:TR","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Turkmenistan","alpha-2":"TM","alpha-3":"TKM","country-code":"795","iso_3166-2":"ISO 3166-2:TM","region":"Asia","sub-region":"Central Asia","intermediate-region":"","region-code":"142","sub-region-code":"143","intermediate-region-code":""},{"name":"Turks and Caicos Islands","alpha-2":"TC","alpha-3":"TCA","country-code":"796","iso_3166-2":"ISO 3166-2:TC","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Tuvalu","alpha-2":"TV","alpha-3":"TUV","country-code":"798","iso_3166-2":"ISO 3166-2:TV","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Uganda","alpha-2":"UG","alpha-3":"UGA","country-code":"800","iso_3166-2":"ISO 3166-2:UG","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Ukraine","alpha-2":"UA","alpha-3":"UKR","country-code":"804","iso_3166-2":"ISO 3166-2:UA","region":"Europe","sub-region":"Eastern Europe","intermediate-region":"","region-code":"150","sub-region-code":"151","intermediate-region-code":""},{"name":"United Arab Emirates","alpha-2":"AE","alpha-3":"ARE","country-code":"784","iso_3166-2":"ISO 3166-2:AE","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"United Kingdom of Great Britain and Northern Ireland","alpha-2":"GB","alpha-3":"GBR","country-code":"826","iso_3166-2":"ISO 3166-2:GB","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"United States of America","alpha-2":"US","alpha-3":"USA","country-code":"840","iso_3166-2":"ISO 3166-2:US","region":"Americas","sub-region":"Northern America","intermediate-region":"","region-code":"019","sub-region-code":"021","intermediate-region-code":""},{"name":"United States Minor Outlying Islands","alpha-2":"UM","alpha-3":"UMI","country-code":"581","iso_3166-2":"ISO 3166-2:UM","region":"Oceania","sub-region":"Micronesia","intermediate-region":"","region-code":"009","sub-region-code":"057","intermediate-region-code":""},{"name":"Uruguay","alpha-2":"UY","alpha-3":"URY","country-code":"858","iso_3166-2":"ISO 3166-2:UY","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Uzbekistan","alpha-2":"UZ","alpha-3":"UZB","country-code":"860","iso_3166-2":"ISO 3166-2:UZ","region":"Asia","sub-region":"Central Asia","intermediate-region":"","region-code":"142","sub-region-code":"143","intermediate-region-code":""},{"name":"Vanuatu","alpha-2":"VU","alpha-3":"VUT","country-code":"548","iso_3166-2":"ISO 3166-2:VU","region":"Oceania","sub-region":"Melanesia","intermediate-region":"","region-code":"009","sub-region-code":"054","intermediate-region-code":""},{"name":"Venezuela (Bolivarian Republic of)","alpha-2":"VE","alpha-3":"VEN","country-code":"862","iso_3166-2":"ISO 3166-2:VE","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"South America","region-code":"019","sub-region-code":"419","intermediate-region-code":"005"},{"name":"Viet Nam","alpha-2":"VN","alpha-3":"VNM","country-code":"704","iso_3166-2":"ISO 3166-2:VN","region":"Asia","sub-region":"South-eastern Asia","intermediate-region":"","region-code":"142","sub-region-code":"035","intermediate-region-code":""},{"name":"Virgin Islands (British)","alpha-2":"VG","alpha-3":"VGB","country-code":"092","iso_3166-2":"ISO 3166-2:VG","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Virgin Islands (U.S.)","alpha-2":"VI","alpha-3":"VIR","country-code":"850","iso_3166-2":"ISO 3166-2:VI","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Wallis and Futuna","alpha-2":"WF","alpha-3":"WLF","country-code":"876","iso_3166-2":"ISO 3166-2:WF","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Western Sahara","alpha-2":"EH","alpha-3":"ESH","country-code":"732","iso_3166-2":"ISO 3166-2:EH","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"Yemen","alpha-2":"YE","alpha-3":"YEM","country-code":"887","iso_3166-2":"ISO 3166-2:YE","region":"Asia","sub-region":"Western Asia","intermediate-region":"","region-code":"142","sub-region-code":"145","intermediate-region-code":""},{"name":"Zambia","alpha-2":"ZM","alpha-3":"ZMB","country-code":"894","iso_3166-2":"ISO 3166-2:ZM","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"},{"name":"Zimbabwe","alpha-2":"ZW","alpha-3":"ZWE","country-code":"716","iso_3166-2":"ISO 3166-2:ZW","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Eastern Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"014"}]
diff --git a/deployment/web/browserconfig.xml b/deployment/web/browserconfig.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b3930d0f047184047cb81d620436d91653438b8b
--- /dev/null
+++ b/deployment/web/browserconfig.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<browserconfig>
+    <msapplication>
+        <tile>
+            <square150x150logo src="/mstile-150x150.png"/>
+            <TileColor>#da532c</TileColor>
+        </tile>
+    </msapplication>
+</browserconfig>
diff --git a/deployment/web/en/doc/latest/index.html b/deployment/web/en/doc/latest/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..b5e2e379702053e344b019bd011257b0705cf5da
--- /dev/null
+++ b/deployment/web/en/doc/latest/index.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Monster</title>
+</head>
+<body>
+
+
+<div id="redirect-to-latest"></div>
+<script src="https://monsterjs.org/js/doc/monster-latest-version.js" crossorigin="anonymous"></script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/deployment/web/error.html b/deployment/web/error.html
new file mode 100644
index 0000000000000000000000000000000000000000..3ba3a4ae7853d9885aca2edd965bde965649654e
--- /dev/null
+++ b/deployment/web/error.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <title>404 Monster</title>
+
+    <style id="" media="all">/* vietnamese */
+    @font-face {
+        font-family: 'Maven Pro';
+        font-style: normal;
+        font-weight: 400;
+        src: url(https://fonts.gstatic.com/s/mavenpro/v22/7Au9p_AqnyWWAxW2Wk3GwmQIAFg.woff2) format('woff2');
+        unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
+    }
+
+    /* latin-ext */
+    @font-face {
+        font-family: 'Maven Pro';
+        font-style: normal;
+        font-weight: 400;
+        src: url(https://fonts.gstatic.com/s/mavenpro/v22/7Au9p_AqnyWWAxW2Wk3Gw2QIAFg.woff2) format('woff2');
+        unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+    }
+
+    /* latin */
+    @font-face {
+        font-family: 'Maven Pro';
+        font-style: normal;
+        font-weight: 400;
+        src: url(https://fonts.gstatic.com/s/mavenpro/v22/7Au9p_AqnyWWAxW2Wk3GzWQI.woff2) format('woff2');
+        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+    }
+
+    /* vietnamese */
+    @font-face {
+        font-family: 'Maven Pro';
+        font-style: normal;
+        font-weight: 900;
+        src: url(https://fonts.gstatic.com/s/mavenpro/v22/7Au9p_AqnyWWAxW2Wk3GwmQIAFg.woff2) format('woff2');
+        unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
+    }
+
+    /* latin-ext */
+    @font-face {
+        font-family: 'Maven Pro';
+        font-style: normal;
+        font-weight: 900;
+        src: url(https://fonts.gstatic.com/s/mavenpro/v22/7Au9p_AqnyWWAxW2Wk3Gw2QIAFg.woff2) format('woff2');
+        unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+    }
+
+    /* latin */
+    @font-face {
+        font-family: 'Maven Pro';
+        font-style: normal;
+        font-weight: 900;
+        src: url(https://fonts.gstatic.com/s/mavenpro/v22/7Au9p_AqnyWWAxW2Wk3GzWQI.woff2) format('woff2');
+        unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+    }
+    </style>
+
+    <link type="text/css" rel="stylesheet" href="/style.css">
+
+
+    <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+    <![endif]-->
+    <meta name="robots" content="noindex, follow">
+</head>
+<body>
+<div id="notfound">
+    <div class="notfound">
+        <div class="notfound-404">
+            <h1>404</h1>
+        </div>
+        <h2>We are sorry, Page not found!</h2>
+        <p>The page you are looking for might have been removed had its name changed or is temporarily unavailable.</p>
+        <a class="button" href="/">Back To Homepage</a>
+    </div>
+</div>
+
+</body>
+</html>
diff --git a/deployment/web/favicon-16x16.png b/deployment/web/favicon-16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..d147bbf4cfbfc57247a8c0df2845dc84b9d4d28d
Binary files /dev/null and b/deployment/web/favicon-16x16.png differ
diff --git a/deployment/web/favicon-32x32.png b/deployment/web/favicon-32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..84d3db244c2916b675141f62e42615b9c9e68845
Binary files /dev/null and b/deployment/web/favicon-32x32.png differ
diff --git a/deployment/web/favicon.ico b/deployment/web/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..59ef88287ef9c9ac9aef66d150023e91757d476a
Binary files /dev/null and b/deployment/web/favicon.ico differ
diff --git a/deployment/web/image/monster-control-button.png b/deployment/web/image/monster-control-button.png
new file mode 100644
index 0000000000000000000000000000000000000000..945e61354e9b00832d96098b300341c1ab3b9e59
Binary files /dev/null and b/deployment/web/image/monster-control-button.png differ
diff --git a/deployment/web/image/monster-control-confirm.png b/deployment/web/image/monster-control-confirm.png
new file mode 100644
index 0000000000000000000000000000000000000000..0142972708d8dcbaa3048ecc668958836481c2ea
Binary files /dev/null and b/deployment/web/image/monster-control-confirm.png differ
diff --git a/deployment/web/image/monster-control-notify.png b/deployment/web/image/monster-control-notify.png
new file mode 100644
index 0000000000000000000000000000000000000000..f4c038e481ac29fc66d142e512dd6829c1ade7bf
Binary files /dev/null and b/deployment/web/image/monster-control-notify.png differ
diff --git a/deployment/web/image/monster-control-select.png b/deployment/web/image/monster-control-select.png
new file mode 100644
index 0000000000000000000000000000000000000000..50eb404df5e70f7bbf2a131efe7d3d8dc8c4308f
Binary files /dev/null and b/deployment/web/image/monster-control-select.png differ
diff --git a/deployment/web/image/monster-control-tab.png b/deployment/web/image/monster-control-tab.png
new file mode 100644
index 0000000000000000000000000000000000000000..0795ff527b156907d629ebbee45cc2f8a4457d7b
Binary files /dev/null and b/deployment/web/image/monster-control-tab.png differ
diff --git a/deployment/web/image/monster-control-treeselect.png b/deployment/web/image/monster-control-treeselect.png
new file mode 100644
index 0000000000000000000000000000000000000000..84bada0e2fec63c0018879da936140b579b514d8
Binary files /dev/null and b/deployment/web/image/monster-control-treeselect.png differ
diff --git a/deployment/web/index.html b/deployment/web/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..ba41158ca5b89c8e9dc242c2733ee4e6e8ace4f2
--- /dev/null
+++ b/deployment/web/index.html
@@ -0,0 +1,127 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <title>Monster - JavaScript Framework & Components</title>
+
+    <style media="all">
+
+        /* vietnamese */
+        @font-face {
+            font-family: 'Maven Pro';
+            font-style: normal;
+            font-weight: 400;
+            src: url(https://fonts.gstatic.com/s/mavenpro/v22/7Au9p_AqnyWWAxW2Wk3GwmQIAFg.woff2) format('woff2');
+            unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
+        }
+
+        /* latin-ext */
+        @font-face {
+            font-family: 'Maven Pro';
+            font-style: normal;
+            font-weight: 400;
+            src: url(https://fonts.gstatic.com/s/mavenpro/v22/7Au9p_AqnyWWAxW2Wk3Gw2QIAFg.woff2) format('woff2');
+            unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+        }
+
+        /* latin */
+        @font-face {
+            font-family: 'Maven Pro';
+            font-style: normal;
+            font-weight: 400;
+            src: url(https://fonts.gstatic.com/s/mavenpro/v22/7Au9p_AqnyWWAxW2Wk3GzWQI.woff2) format('woff2');
+            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+        }
+
+        /* vietnamese */
+        @font-face {
+            font-family: 'Maven Pro';
+            font-style: normal;
+            font-weight: 900;
+            src: url(https://fonts.gstatic.com/s/mavenpro/v22/7Au9p_AqnyWWAxW2Wk3GwmQIAFg.woff2) format('woff2');
+            unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
+        }
+
+        /* latin-ext */
+        @font-face {
+            font-family: 'Maven Pro';
+            font-style: normal;
+            font-weight: 900;
+            src: url(https://fonts.gstatic.com/s/mavenpro/v22/7Au9p_AqnyWWAxW2Wk3Gw2QIAFg.woff2) format('woff2');
+            unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+        }
+
+        /* latin */
+        @font-face {
+            font-family: 'Maven Pro';
+            font-style: normal;
+            font-weight: 900;
+            src: url(https://fonts.gstatic.com/s/mavenpro/v22/7Au9p_AqnyWWAxW2Wk3GzWQI.woff2) format('woff2');
+            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+        }
+
+    </style>
+
+    <link type="text/css" rel="stylesheet" href="style.css">
+
+
+    <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+    <![endif]-->
+    <meta name="robots" content="index, follow">
+</head>
+<body>
+
+<div>
+    <div class="container">
+        <div class="row">
+            <div><img src="monster.png" alt="the monster logo" title="awaken the monster"></div>
+            <div id="logocontainer">
+                <p id="slogan">Build fantastic websites!</p>
+                <h1>Monster</h1>
+            </div>
+            <div>
+                <p>
+                    <a class="button" href="https://monsterjs.org/en/doc/latest/" id="getting-started">Getting
+                        Started</a>
+                </p>
+            </div>
+            <div style="margin-top:80px">
+                <p>
+                    <strong></strong>Components:</strong> <a href="https://monsterjs.org/en/doc/components/form/latest/"
+                                                             id="form-getting-started">Form</a>, <a
+                        href="https://monsterjs.org/en/doc/components/notify/latest/"
+                        id="notify-getting-started">Notification</a>
+                </p>
+            </div>
+
+            <div class="gallery">
+                <img src="image/monster-control-button.png" alt="Button">
+                <img src="image/monster-control-select.png" alt="Select">
+                <img src="image/monster-control-treeselect.png" alt="Treeselect">
+                <img src="image/monster-control-confirm.png" alt="Confirm">
+                <img src="image/monster-control-tab.png" alt="Tab">
+                <img src="image/monster-control-notify.png" alt="Notification">
+
+            </div>
+
+
+            <div id="footer">
+                <a href="https://www.npmjs.com/search?q=%40schukai">NPM</a>
+                <a href="https://www.alvine.cloud/">Alvine Cloud</a><br>
+                <a href="https://www.schukai.com/en/shopcloud/">Ecommerce & Onlineshop by shopcloud</a><br>
+                <a href="https://www.schukai.com/">schukai GmbH</a><br>
+                <a href="https://about.schukai.com/de/impressum/">Imprint</a>
+
+            </div>
+        </div>
+    </div>
+</div>
+
+
+</body>
+</html>
diff --git a/deployment/web/js/doc/monster-latest-version.js b/deployment/web/js/doc/monster-latest-version.js
new file mode 100644
index 0000000000000000000000000000000000000000..6689125cdcea8a38f1f5548c102cb81e871bc910
--- /dev/null
+++ b/deployment/web/js/doc/monster-latest-version.js
@@ -0,0 +1 @@
+location=location.href.replace('latest','1.31.0');
\ No newline at end of file
diff --git a/deployment/web/js/doc/monster-versions.js b/deployment/web/js/doc/monster-versions.js
new file mode 100644
index 0000000000000000000000000000000000000000..684ecc4e1cfd9303ceda2e31a2274b2c6f1efb3c
--- /dev/null
+++ b/deployment/web/js/doc/monster-versions.js
@@ -0,0 +1,86 @@
+
+function initmonsterversions() {    
+
+let u = new URL(location.href).pathname.split('/');
+u.pop();
+const current =u.pop();
+let result = u.join('/')+"/";
+
+function compareVer(a, b) {
+    function prep(t) {
+        return ("" + t)
+          .replace(/[^0-9\.]+/g, function(c){return "." + ((c = c.replace(/[\W_]+/, "")) ? c.toLowerCase().charCodeAt(0) - 65536 : "") + "."})
+          .replace(/(?:\.0+)*(\.-[0-9]+)(\.[0-9]+)?\.*$/g, "$1$2")
+          .split('.');
+    }
+    a = prep(a);
+    b = prep(b);
+    for (var i = 0; i < Math.max(a.length, b.length); i++)  {
+        a[i] = ~~a[i];
+        b[i] = ~~b[i];
+        if (a[i] > b[i])
+            return 1;
+        else if (a[i] < b[i])
+            return -1;
+    }
+    return 0;
+}
+
+
+const lastVersionContainer = document.createElement('div');
+lastVersionContainer.setAttribute('style','margin-bottom:10px;');
+const constainer = document.createElement('div');
+constainer.setAttribute('style','display: flex;align-items: center;justify-content: flex-start;gap: 10px;align-content: center;');
+constainer.appendChild(document.createTextNode('versions'));
+const selectElement = document.createElement('select');
+selectElement.setAttribute('onChange','location="'+result+'"+this.value');
+selectElement.setAttribute('id','monster-versions');
+    selectElement.add(new Option('1.31.0'));
+selectElement.add(new Option('1.30.1'));
+selectElement.add(new Option('1.30.0'));
+selectElement.add(new Option('1.29.3'));
+selectElement.add(new Option('1.29.2'));
+selectElement.add(new Option('1.29.1'));
+selectElement.add(new Option('1.29.0'));
+selectElement.add(new Option('1.28.1'));
+selectElement.add(new Option('1.28.0'));
+selectElement.add(new Option('1.27.0'));
+selectElement.add(new Option('1.26.1'));
+selectElement.add(new Option('1.26.0'));
+selectElement.add(new Option('1.25.0'));
+selectElement.add(new Option('1.24.0'));
+selectElement.add(new Option('1.23.0'));
+selectElement.add(new Option('1.22.0'));
+selectElement.add(new Option('1.21.1'));
+selectElement.add(new Option('1.21.0'));
+selectElement.add(new Option('1.20.2'));
+selectElement.add(new Option('1.20.1'));
+selectElement.add(new Option('1.20.0'));
+selectElement.add(new Option('1.19.0'));
+selectElement.add(new Option('1.18.0'));
+selectElement.add(new Option('1.17.2'));
+selectElement.add(new Option('1.17.1'));
+selectElement.add(new Option('1.17.0'));
+selectElement.add(new Option('1.16.1'));
+selectElement.add(new Option('1.16.0'));
+selectElement.add(new Option('1.15.5'));
+selectElement.add(new Option('1.15.4'));
+selectElement.add(new Option('1.15.3'));
+selectElement.add(new Option('1.15.2'));
+selectElement.add(new Option('1.15.0'));
+
+selectElement.value=current;
+constainer.append(selectElement);
+document.getElementById('sidebar-main-content').prepend(constainer);
+document.getElementById('sidebar-main-content').prepend(lastVersionContainer);
+
+    if(compareVer(current,'1.31.0')===-1) {;
+        let infocontainer = document.createElement('div');
+        let infolink = document.createElement('a');
+        let lasturl = new URL(location.href)
+        lasturl.pathname=result+"1.31.0"+"/"
+        infolink.setAttribute('href',lasturl);
+        infolink.append(document.createTextNode('Looking for Monster 1.31.0?'));
+        infocontainer.append(infolink);
+        lastVersionContainer.append(infocontainer);
+    };}; document.addEventListener("DOMContentLoaded", initmonsterversions);
\ No newline at end of file
diff --git a/deployment/web/monster.png b/deployment/web/monster.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7c6eb9b9f71fbee5e4377638829d07b33895d5c
Binary files /dev/null and b/deployment/web/monster.png differ
diff --git a/deployment/web/mstile-150x150.png b/deployment/web/mstile-150x150.png
new file mode 100644
index 0000000000000000000000000000000000000000..6339bf5cfc436a9a20eab13245b8766ca0c0b4c0
Binary files /dev/null and b/deployment/web/mstile-150x150.png differ
diff --git a/deployment/web/safari-pinned-tab.svg b/deployment/web/safari-pinned-tab.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a92faf94679560b3b7ba41104bd78195692a4d2d
--- /dev/null
+++ b/deployment/web/safari-pinned-tab.svg
@@ -0,0 +1,83 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
+ width="250.000000pt" height="250.000000pt" viewBox="0 0 250.000000 250.000000"
+ preserveAspectRatio="xMidYMid meet">
+<metadata>
+Created by potrace 1.14, written by Peter Selinger 2001-2017
+</metadata>
+<g transform="translate(0.000000,250.000000) scale(0.100000,-0.100000)"
+fill="#000000" stroke="none">
+<path d="M1408 2494 c-18 -6 -24 -20 -10 -26 22 -10 56 -76 56 -111 1 -33 -4
+-43 -33 -65 -30 -24 -33 -24 -23 -6 6 11 18 26 26 34 44 36 -5 41 -57 6 l-36
+-25 -11 35 c-10 29 -35 54 -54 54 -2 0 -3 -15 0 -32 3 -23 -2 -44 -17 -68 -23
+-36 -39 -28 -19 9 9 18 8 21 -9 21 -11 0 -23 -4 -26 -10 -10 -17 -25 -11 -25
+9 0 10 -9 29 -20 42 l-19 24 -1 -25 c0 -24 -44 -100 -57 -100 -3 0 -3 16 0 35
+6 39 2 42 -23 20 -16 -14 -18 -12 -24 27 l-7 42 -21 -35 -22 -34 -9 38 c-5 20
+-12 37 -16 37 -4 0 -24 -29 -44 -65 -41 -71 -61 -76 -55 -14 3 36 2 38 -16 25
+-11 -7 -27 -27 -36 -44 -8 -17 -18 -32 -22 -32 -8 0 -23 59 -19 78 1 6 -3 12
+-8 12 -12 0 -41 -52 -41 -75 0 -11 -10 -15 -38 -15 -21 0 -47 -6 -57 -14 -19
+-14 -19 -15 6 -26 31 -14 60 -63 31 -53 -9 4 -28 15 -42 26 l-25 19 -3 -36
+c-4 -40 -22 -40 -22 1 0 16 -5 23 -12 20 -9 -3 -13 7 -14 29 -3 70 -3 71 -26
+70 -29 -1 -82 -71 -101 -133 -31 -103 -38 -129 -40 -151 l-1 -24 -18 22 -17
+21 -5 -23 c-3 -13 -7 -36 -8 -53 -3 -25 -9 -31 -40 -38 -46 -11 -48 -22 -8
+-36 47 -16 35 -24 -26 -18 l-55 6 16 -25 c18 -27 9 -31 -22 -9 -18 13 -22 13
+-26 0 -3 -7 -2 -29 4 -47 8 -29 6 -35 -15 -51 l-25 -18 27 -26 c25 -25 25 -27
+7 -34 -13 -4 -32 0 -52 12 l-33 18 0 -22 c1 -12 7 -33 15 -47 13 -23 12 -27
+-8 -42 l-22 -18 21 0 c26 0 72 -35 62 -46 -5 -4 -25 -2 -45 4 -21 6 -42 11
+-48 11 -18 0 -4 -43 23 -71 23 -25 24 -28 6 -28 -17 0 -16 -3 6 -21 l25 -20
+-25 7 c-14 4 -28 12 -32 18 -5 6 -8 2 -8 -10 0 -12 7 -27 15 -34 14 -12 13
+-16 -6 -37 l-22 -23 24 0 c13 -1 35 -7 49 -15 l25 -14 -33 -1 c-18 0 -42 5
+-53 10 -31 17 -25 -36 8 -69 25 -24 27 -30 16 -52 -18 -34 -17 -63 2 -55 8 3
+25 1 37 -3 22 -9 21 -10 -16 -26 -22 -9 -50 -15 -63 -12 -13 2 -23 1 -23 -3 0
+-11 59 -60 71 -60 5 0 1 -10 -11 -22 -27 -29 -25 -35 10 -30 16 2 42 1 57 -3
+25 -6 26 -7 9 -17 -10 -6 -40 -8 -67 -6 -44 5 -47 3 -39 -13 6 -9 22 -27 36
+-38 24 -19 25 -21 10 -43 -23 -33 -20 -38 17 -24 17 7 43 10 57 6 25 -6 24 -7
+-12 -24 -20 -10 -42 -24 -49 -32 -10 -12 -2 -14 45 -14 31 0 56 -4 56 -9 0
+-16 -54 -28 -84 -20 -17 5 -32 6 -34 4 -8 -8 18 -33 48 -45 24 -10 28 -15 20
+-30 -6 -10 -10 -26 -10 -36 0 -13 3 -14 14 -5 20 16 121 28 112 13 -4 -7 -21
+-15 -38 -20 -42 -11 -45 -27 -8 -43 16 -8 30 -17 30 -21 0 -12 -48 -21 -75
+-14 -28 7 -31 0 -11 -26 11 -15 55 -39 93 -51 5 -1 7 -4 7 -7 -1 -3 -5 -16 -9
+-29 l-7 -24 46 27 c26 15 52 26 57 24 17 -6 -51 -66 -82 -73 -16 -4 -29 -10
+-29 -15 0 -14 63 -30 97 -24 32 5 32 5 26 -29 -3 -19 -1 -42 4 -52 9 -15 12
+-14 34 12 34 40 79 68 79 49 0 -23 -46 -72 -81 -86 -27 -11 -29 -14 -14 -23
+26 -14 101 -10 136 8 17 9 29 13 26 8 -3 -5 -8 -22 -11 -36 l-5 -28 41 36 c51
+43 78 47 48 7 -11 -15 -23 -46 -26 -67 l-6 -40 31 33 c18 17 46 39 64 48 l32
+17 -25 -27 c-14 -16 -18 -25 -10 -22 8 2 31 7 50 10 l35 5 -27 -15 c-16 -8
+-28 -20 -28 -26 0 -18 89 -2 124 23 l31 22 -20 -23 c-11 -14 -29 -32 -40 -42
+-23 -20 -15 -22 40 -7 22 6 55 25 74 42 l33 32 -7 -35 c-4 -19 -13 -45 -21
+-57 -13 -20 -13 -23 0 -23 28 0 67 20 91 46 22 24 25 25 25 7 0 -19 17 -43 31
+-43 4 0 10 13 14 30 4 16 10 32 15 35 13 8 -6 -53 -25 -82 -9 -14 -15 -26 -13
+-29 12 -11 81 21 107 52 l31 35 6 -30 c4 -16 14 -37 24 -46 16 -15 18 -13 23
+31 2 25 10 51 17 57 10 10 11 3 6 -31 -8 -50 4 -54 57 -18 l36 25 13 -26 c16
+-33 43 -45 34 -15 -7 22 15 85 33 96 7 4 9 1 5 -7 -3 -8 0 -34 6 -58 l12 -43
+24 51 c45 95 77 89 34 -6 -11 -24 -18 -46 -15 -49 9 -9 58 18 74 40 13 19 15
+19 26 5 10 -14 15 -11 35 25 22 40 23 40 39 20 24 -30 79 -55 107 -48 l24 6
+-19 28 c-20 27 -24 42 -22 76 1 18 2 18 19 3 9 -8 29 -19 45 -22 15 -4 34 -16
+42 -28 14 -19 14 -19 20 9 4 16 8 33 9 39 2 5 17 -4 34 -22 l32 -31 6 39 c6
+37 8 38 24 24 18 -17 50 -20 50 -6 0 6 -4 13 -10 16 -11 7 -14 78 -4 88 3 3
+15 -3 27 -14 19 -18 83 -28 75 -11 -2 4 -12 23 -22 43 -14 27 -17 47 -12 75 9
+45 26 29 26 -25 l0 -34 24 22 c14 13 26 35 28 49 2 21 9 26 38 30 45 5 49 9
+23 27 -22 16 -36 72 -20 82 6 3 7 1 3 -5 -13 -21 13 -12 38 13 14 14 28 40 31
+59 6 27 14 36 45 49 21 8 43 24 49 36 11 19 9 21 -18 21 -40 0 -48 16 -12 23
+30 6 91 63 91 85 0 15 -6 15 -31 1 -15 -8 -24 -7 -36 3 -18 14 -47 77 -40 85
+3 2 22 -11 43 -29 l37 -33 -5 45 c-5 42 -3 46 25 60 31 15 52 45 24 34 -14 -5
+-77 40 -77 56 0 4 12 8 26 8 25 0 75 29 81 48 2 5 -13 8 -35 6 -33 -3 -42 1
+-65 28 -35 41 -34 54 2 35 17 -8 32 -11 35 -6 7 11 0 44 -14 70 -8 16 -8 21 3
+21 7 0 28 11 47 25 l34 25 -31 0 c-22 0 -38 8 -52 26 -26 33 -27 53 -2 30 37
+-33 39 25 2 69 -16 19 -16 19 12 2 36 -23 37 -1 2 41 -21 25 -22 31 -10 43 19
+19 33 85 16 75 -6 -4 -26 -12 -43 -16 -29 -9 -30 -8 -14 9 22 25 21 28 -16 36
+-43 10 -53 16 -38 25 7 4 26 4 41 0 22 -7 29 -5 29 5 0 15 -38 55 -53 55 -4 0
+1 12 12 26 12 15 21 37 21 50 0 28 0 28 -36 9 -16 -8 -37 -15 -47 -15 -16 0
+-16 2 -2 24 9 13 25 26 37 29 18 5 19 8 8 21 -7 9 -21 16 -31 16 -15 0 -17 6
+-12 37 l6 37 -28 -22 c-18 -14 -42 -22 -68 -22 -39 0 -40 0 -22 20 10 11 28
+20 41 20 46 0 32 39 -15 43 -21 1 -21 8 -4 55 6 15 -11 16 -37 2 -18 -10 -18
+-9 -5 25 20 45 19 48 -7 31 -13 -8 -50 -17 -83 -20 -55 -6 -58 -5 -41 9 11 8
+29 15 40 15 18 0 19 2 5 15 -9 9 -25 17 -37 18 -19 1 -21 6 -16 47 3 26 2 40
+-3 33 -13 -18 -94 -53 -123 -53 -24 0 -24 1 7 21 36 23 35 39 -2 39 -22 0 -24
+3 -19 30 7 34 3 36 -29 16 -29 -18 -77 -29 -77 -17 0 5 11 18 25 29 14 11 25
+23 25 26 0 11 -45 6 -95 -9 -27 -8 -50 -13 -52 -11 -2 1 6 12 17 24 l21 22
+-25 0 c-16 0 -26 7 -30 23 -10 42 -65 113 -105 135 -40 23 -119 36 -153 26z"/>
+</g>
+</svg>
diff --git a/deployment/web/site.webmanifest b/deployment/web/site.webmanifest
new file mode 100644
index 0000000000000000000000000000000000000000..2b990017520ee90546d1daefca455d5a815288ec
--- /dev/null
+++ b/deployment/web/site.webmanifest
@@ -0,0 +1,14 @@
+{
+    "name": "Monster",
+    "short_name": "Monster",
+    "icons": [
+        {
+            "src": "/android-chrome-192x192.png",
+            "sizes": "192x192",
+            "type": "image/png"
+        }
+    ],
+    "theme_color": "#ffffff",
+    "background_color": "#ffffff",
+    "display": "standalone"
+}
diff --git a/deployment/web/style.css b/deployment/web/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..b3d437fd18710dda46bfa456c60ab44488506032
--- /dev/null
+++ b/deployment/web/style.css
@@ -0,0 +1,180 @@
+* {
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box
+}
+
+body {
+    padding: 0;
+    margin: 0;
+    min-height: 100vH;
+}
+
+#notfound {
+    position: relative;
+    height: 100vh
+}
+
+#notfound .notfound {
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    -webkit-transform: translate(-50%, -50%);
+    -ms-transform: translate(-50%, -50%);
+    transform: translate(-50%, -50%)
+}
+
+.notfound {
+    max-width: 920px;
+    width: 100%;
+    line-height: 1.4;
+    text-align: center;
+    padding-left: 15px;
+    padding-right: 15px
+}
+
+.notfound .notfound-404 {
+    position: absolute;
+    height: 100px;
+    top: 0;
+    left: 50%;
+    -webkit-transform: translateX(-50%);
+    -ms-transform: translateX(-50%);
+    transform: translateX(-50%);
+    z-index: -1
+}
+
+.notfound h1 {
+    font-family: maven pro, sans-serif;
+    color: #ececec;
+    font-weight: 900;
+    font-size: 276px;
+    margin: 0;
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    -webkit-transform: translate(-50%, -50%);
+    -ms-transform: translate(-50%, -50%);
+    transform: translate(-50%, -50%)
+}
+
+h1 {
+    font-family: maven pro, sans-serif;
+    color: #da3b1e;;
+    font-weight: 900;
+    font-size: 190px;
+    margin: 0;
+    padding: 0;
+}
+
+h2 {
+    font-family: maven pro, sans-serif;
+    font-size: 46px;
+    color: #000;
+    font-weight: 900;
+    text-transform: uppercase;
+    margin: 0
+}
+
+p {
+    font-family: maven pro, sans-serif;
+    font-size: 16px;
+    color: #000;
+    font-weight: 400;
+    text-transform: uppercase;
+    margin-top: 15px
+}
+
+a.button {
+    font-family: maven pro, sans-serif;
+    font-size: 14px;
+    text-decoration: none;
+    text-transform: uppercase;
+    background: #4b4b4b;
+    display: inline-block;
+    padding: 16px 38px;
+    border: 2px solid transparent;
+    border-radius: 40px;
+    color: #fff;
+    font-weight: 400;
+    -webkit-transition: .2s all;
+    transition: .2s all
+}
+
+a.button:hover {
+    background-color: #fff;
+    border-color: #4b4b4b;
+    color: #da3b1e
+}
+
+
+.container {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    text-align: center;
+    font-family: maven pro, sans-serif;
+    font-size: 14px;
+    text-decoration: none;
+}
+
+.row {
+    min-height: 100vH;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: center;
+}
+
+#logocontainer {
+    position: relative;
+}
+
+#slogan {
+    position: absolute;
+    top: 38px;
+    left: 175px;
+
+    letter-spacing: 0.23em;
+}
+
+#footer {
+    margin-top: 120px;
+}
+
+
+a {
+    font-family: maven pro, sans-serif;
+    font-size: 14px;
+    text-decoration: none;
+    text-transform: uppercase;
+    display: inline-block;
+    color: #4b4b4b;
+    font-weight: 400;
+    -webkit-transition: .2s all;
+    transition: .2s all
+}
+
+a:hover {
+    color: #da3b1e;
+}
+
+@media only screen and (max-width: 820px) {
+    .notfound .notfound-404 h1 {
+        font-size: 162px
+    }
+
+    .notfound h2 {
+        font-size: 26px
+    }
+
+    h1 {
+        font-size: 6rem;
+    }
+
+    #slogan {
+        position: initial;
+        letter-spacing: 0.2em;
+    }
+
+
+}
\ No newline at end of file
diff --git a/development/.npmignore b/development/.npmignore
new file mode 100644
index 0000000000000000000000000000000000000000..8e0f62b9e75b659fede165096abdc7991ca1536b
--- /dev/null
+++ b/development/.npmignore
@@ -0,0 +1,7 @@
+node_modules
+tmp
+temp
+coverage
+.c8rc.json
+package-lock.json
+
diff --git a/development/makefiles/node.mk b/development/makefiles/node.mk
index 86f82290a0be65794f89640d6d13f9b1493710e6..346fe3bec228435cb40e41c83f6b95ac36bc75ce 100644
--- a/development/makefiles/node.mk
+++ b/development/makefiles/node.mk
@@ -8,6 +8,7 @@
 
 # path and binaries
 NODEJS            ?= node
+NODE              ?= node
 NPM               ?= pnpm
 
 EXECUTABLES = $(EXECUTABLES:-) $(PNPM); 
@@ -38,8 +39,6 @@ UGLIFYJS      ?= $(NODE_MODULES_BIN_DIR)uglifyjs
 C8            ?= $(NODE_MODULES_BIN_DIR)c8
 MOCHA         ?= $(NODE_MODULES_BIN_DIR)mocha
 
-FIXBROKENPLANTUML := $(NODE_MODULES_DIR)jsdoc-plantuml/fixBrokenNodeJS.js
-
 PACKAGE_JSON ?= $(NODE_ROOT_DIR)package.json
 
 MJS_SOURCE_FILES                       := $(shell find $(SOURCE_PATH) -name '*.mjs')
@@ -48,3 +47,5 @@ MJS_RELATIVE_SOURCE_FILES              := $(shell find $(SOURCE_PATH) -name '*.m
 JS_SOURCE_FILES                       := $(shell find $(SOURCE_PATH) -name '*.js')
 JS_RELATIVE_SOURCE_FILES              := $(shell find $(SOURCE_PATH) -name '*.js' -exec realpath --relative-to $(PROJECT_ROOT) {} \;   )
 
+
+
diff --git a/development/makefiles/target-jsdoc-build.mk b/development/makefiles/target-jsdoc-build.mk
index ace088e1468e9c7aa5794ff1ac49c9015a483178..332815163f9c0243d79b1f7ef2a1dce52b401eb1 100644
--- a/development/makefiles/target-jsdoc-build.mk
+++ b/development/makefiles/target-jsdoc-build.mk
@@ -7,8 +7,17 @@
 #############################################################################################
 #############################################################################################
 
+FIXBROKENPLANTUML := $(NODE_MODULES_DIR)jsdoc-plantuml/fixBrokenNodeJS.js
+
 .PHONY: jsdoc-build
 ## generate js api docs
-jsdoc-build: $(DOCUMENTATION_CONFIG_PATH)jsdoc.json
+jsdoc-build: $(DOCUMENTATION_CONFIG_PATH)jsdoc.json  $(FIXBROKENPLANTUML).fixed
 	$(ECHOMARKER) "create api doc"
 	$(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run build-doc
+
+
+$(FIXBROKENPLANTUML).fixed:
+	$(ECHOMARKER) "fix broken plantuml"
+	$(QUIET) chmod u+x $(FIXBROKENPLANTUML) 
+	$(QUIET) $(NODE) $(FIXBROKENPLANTUML)
+	$(QUIET) $(TOUCH) $(FIXBROKENPLANTUML).fixed
\ No newline at end of file
diff --git a/development/makefiles/target-node-release.mk b/development/makefiles/target-node-release.mk
index f6b6bde835bc3c892821b355165f6dcfc5b33188..e040ec474fa819a686d3db6b8110c4740262e413 100644
--- a/development/makefiles/target-node-release.mk
+++ b/development/makefiles/target-node-release.mk
@@ -33,6 +33,9 @@ node-release:
 	#$(QUIET) $(MAKE) node-test
 	$(QUIET) $(NPM) --prefix $(NODE_ROOT_DIR) run build
 
+
+
+
 #	$(QUIET) $(MAKE) clean
 #	$(QUIET) $(SCRIPT_PATH)increase-version.sh "$(MONSTER_CORE_DIR)package.json" $(MONSTER_CORE_VERSION) $(NEXTVERSION)  
 #	$(QUIET) $(MAKE) clean
diff --git a/development/makefiles/target-npm-publish.mk b/development/makefiles/target-npm-publish.mk
new file mode 100644
index 0000000000000000000000000000000000000000..ea5994b82f1e3454f938d6742d9e4fb1d117bbbb
--- /dev/null
+++ b/development/makefiles/target-npm-publish.mk
@@ -0,0 +1,22 @@
+#############################################################################################
+#############################################################################################
+##
+## NPM
+##
+#############################################################################################
+#############################################################################################
+
+.PHONY: npm-publish
+## publish library to npm
+npm-publish: node-build npm-prepare
+	$(ECHOMARKER) "publish library"
+	$(QUIET) $(CD) $(MONSTER_DIR) ; \
+		$(NPM) publish --dry-run --access public ; \
+		$(CD) -
+		
+
+npm-prepare:
+	$(ECHOMARKER) "prepare npm"
+	$(QUIET) $(CD) $(MONSTER_DIR) ; \
+		$(NPM) install ; \
+		$(CD) -
\ No newline at end of file
diff --git a/development/package.json b/development/package.json
index 693ab11c743c8280f767b632e9d849dfc37d98db..09a2e10158dc1ff8697423778dfb0dae29fe1753 100644
--- a/development/package.json
+++ b/development/package.json
@@ -25,10 +25,10 @@
     "clean-jsdoc-theme": "^4.1.6",
     "create-polyfill-service-url": "^2.2.6",
     "crypt": "^0.0.2",
-    "es6-fix": "link:@pixi/jsdoc-template/plugins/es6-fix",
     "esbuild": "^0.14.53",
     "flow-bin": "^0.184.0",
     "fs": "^0.0.1-security",
+    "graphviz": "^0.0.9",
     "jsdoc": "^3.6.11",
     "jsdoc-plantuml": "^1.0.2",
     "jsdom": "^19.0.0",
@@ -38,26 +38,6 @@
     "sinon": "^14.0.0",
     "url": "^0.11.0",
     "url-exist": "3.0.0",
-    "util": "^0.12.4",
-    "@peculiar/webcrypto": "^1.4.0",
-    "btoa": "^1.2.1",
-    "c8": "^7.12.0",
-    "chai": "^4.3.6",
-    "chai-dom": "^1.11.0",
-    "clean-jsdoc-theme": "^4.1.6",
-    "crypt": "^0.0.2",
-    "esbuild": "^0.14.53",
-    "flow-bin": "^0.184.0",
-    "fs": "^0.0.1-security",
-    "jsdoc": "^3.6.11",
-    "jsdoc-plantuml": "^1.0.2",
-    "jsdom": "^19.0.0",
-    "jsdom-global": "^3.0.2",
-    "mocha": "^10.0.0",
-    "node-plantuml": "^0.9.0",
-    "sinon": "^14.0.0",
-    "url": "^0.11.0",
-    "url-exist": "3.0.0",
-    "util": "^0.12.4"    
+    "util": "^0.12.4"
   }
 }
diff --git a/development/pnpm-lock.yaml b/development/pnpm-lock.yaml
index 25a9b186d83e6867d3cf8de70955173c8f3ce96c..11425d320e741307c8d15449ef2d1ee567450c56 100644
--- a/development/pnpm-lock.yaml
+++ b/development/pnpm-lock.yaml
@@ -9,10 +9,10 @@ specifiers:
   clean-jsdoc-theme: ^4.1.6
   create-polyfill-service-url: ^2.2.6
   crypt: ^0.0.2
-  es6-fix: link:@pixi/jsdoc-template/plugins/es6-fix
   esbuild: ^0.14.53
   flow-bin: ^0.184.0
   fs: ^0.0.1-security
+  graphviz: ^0.0.9
   jsdoc: ^3.6.11
   jsdoc-plantuml: ^1.0.2
   jsdom: ^19.0.0
@@ -33,10 +33,10 @@ devDependencies:
   clean-jsdoc-theme: 4.1.7_jsdoc@3.6.11
   create-polyfill-service-url: 2.2.6
   crypt: 0.0.2
-  es6-fix: link:@pixi/jsdoc-template/plugins/es6-fix
   esbuild: 0.14.53
   flow-bin: 0.184.0
   fs: 0.0.1-security
+  graphviz: 0.0.9
   jsdoc: 3.6.11
   jsdoc-plantuml: 1.0.2_jsdoc@3.6.11
   jsdom: 19.0.0
@@ -1475,6 +1475,13 @@ packages:
     resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
     dev: true
 
+  /graphviz/0.0.9:
+    resolution: {integrity: sha512-SmoY2pOtcikmMCqCSy2NO1YsRfu9OO0wpTlOYW++giGjfX1a6gax/m1Fo8IdUd0/3H15cTOfR1SMKwohj4LKsg==}
+    engines: {node: '>=0.6.8'}
+    dependencies:
+      temp: 0.4.0
+    dev: true
+
   /has-bigints/1.0.2:
     resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
     dev: true
@@ -2688,6 +2695,11 @@ packages:
     resolution: {integrity: sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==}
     dev: true
 
+  /temp/0.4.0:
+    resolution: {integrity: sha512-IsFisGgDKk7qzK9erMIkQe/XwiSUdac7z3wYOsjcLkhPBy3k1SlvLoIh2dAHIlEpgA971CgguMrx9z8fFg7tSA==}
+    engines: {'0': node >=0.4.0}
+    dev: true
+
   /test-exclude/6.0.0:
     resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
     engines: {node: '>=8'}
diff --git a/development/script/build-doc.sh b/development/script/build-doc.sh
index 105e79a6e4d1d4a78b4a7f34adf9a64c9cac1924..219afa31dd9c4344d47c18f1c78c31e8999a6861 100755
--- a/development/script/build-doc.sh
+++ b/development/script/build-doc.sh
@@ -2,15 +2,12 @@
 
 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )/"
 PROJECT_ROOT="$(realpath $SCRIPT_DIR'../../')/"
-SOURCE_PATH="${PROJECT_ROOT}application/source/"
-TEST_PATH="$(realpath $SCRIPT_DIR'../test/')/"
 
-NODE_PACKAGE_PATH=${PROJECT_ROOT}development/package.json
 TUTORIALS_PATH=${PROJECT_ROOT}documentation/tutorial/
 DOCUMENTATION_CONFIG_PATH=${PROJECT_ROOT}documentation/config/jsdoc.json
 
 
 
-npx jsdoc --package ${NODE_PACKAGE_PATH} \
-          --tutorials ${TUTORIALS_PATH} \
+npx jsdoc --tutorials ${TUTORIALS_PATH} \
+          --readme ${PROJECT_ROOT}documentation/README.md \
           --configure ${DOCUMENTATION_CONFIG_PATH} \
diff --git a/documentation/asset/favicon/android-chrome-192x192.png b/documentation/asset/favicon/android-chrome-192x192.png
new file mode 100644
index 0000000000000000000000000000000000000000..6d410d686602788816b6b697278ea4e2e9aa29b9
Binary files /dev/null and b/documentation/asset/favicon/android-chrome-192x192.png differ
diff --git a/documentation/asset/favicon/apple-touch-icon-120x120-precomposed.png b/documentation/asset/favicon/apple-touch-icon-120x120-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..5e68e34c244f711e3292f12d94cd84463660ad13
Binary files /dev/null and b/documentation/asset/favicon/apple-touch-icon-120x120-precomposed.png differ
diff --git a/documentation/asset/favicon/apple-touch-icon-120x120.png b/documentation/asset/favicon/apple-touch-icon-120x120.png
new file mode 100644
index 0000000000000000000000000000000000000000..5e68e34c244f711e3292f12d94cd84463660ad13
Binary files /dev/null and b/documentation/asset/favicon/apple-touch-icon-120x120.png differ
diff --git a/documentation/asset/favicon/apple-touch-icon-152x152-precomposed.png b/documentation/asset/favicon/apple-touch-icon-152x152-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c87c4026654fdcf4428405cbd60c2efbaf46018
Binary files /dev/null and b/documentation/asset/favicon/apple-touch-icon-152x152-precomposed.png differ
diff --git a/documentation/asset/favicon/apple-touch-icon-152x152.png b/documentation/asset/favicon/apple-touch-icon-152x152.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c87c4026654fdcf4428405cbd60c2efbaf46018
Binary files /dev/null and b/documentation/asset/favicon/apple-touch-icon-152x152.png differ
diff --git a/documentation/asset/favicon/apple-touch-icon-180x180-precomposed.png b/documentation/asset/favicon/apple-touch-icon-180x180-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..336c07035ae364fca13b136a3cfcbcb3ce2b4185
Binary files /dev/null and b/documentation/asset/favicon/apple-touch-icon-180x180-precomposed.png differ
diff --git a/documentation/asset/favicon/apple-touch-icon-180x180.png b/documentation/asset/favicon/apple-touch-icon-180x180.png
new file mode 100644
index 0000000000000000000000000000000000000000..336c07035ae364fca13b136a3cfcbcb3ce2b4185
Binary files /dev/null and b/documentation/asset/favicon/apple-touch-icon-180x180.png differ
diff --git a/documentation/asset/favicon/apple-touch-icon-60x60-precomposed.png b/documentation/asset/favicon/apple-touch-icon-60x60-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..6877773e130f2570b8d4ca7372c722aa98689f85
Binary files /dev/null and b/documentation/asset/favicon/apple-touch-icon-60x60-precomposed.png differ
diff --git a/documentation/asset/favicon/apple-touch-icon-60x60.png b/documentation/asset/favicon/apple-touch-icon-60x60.png
new file mode 100644
index 0000000000000000000000000000000000000000..6877773e130f2570b8d4ca7372c722aa98689f85
Binary files /dev/null and b/documentation/asset/favicon/apple-touch-icon-60x60.png differ
diff --git a/documentation/asset/favicon/apple-touch-icon-76x76-precomposed.png b/documentation/asset/favicon/apple-touch-icon-76x76-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..3085270eceed08058f59c79171538e8e278001fa
Binary files /dev/null and b/documentation/asset/favicon/apple-touch-icon-76x76-precomposed.png differ
diff --git a/documentation/asset/favicon/apple-touch-icon-76x76.png b/documentation/asset/favicon/apple-touch-icon-76x76.png
new file mode 100644
index 0000000000000000000000000000000000000000..3085270eceed08058f59c79171538e8e278001fa
Binary files /dev/null and b/documentation/asset/favicon/apple-touch-icon-76x76.png differ
diff --git a/documentation/asset/favicon/apple-touch-icon-precomposed.png b/documentation/asset/favicon/apple-touch-icon-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..336c07035ae364fca13b136a3cfcbcb3ce2b4185
Binary files /dev/null and b/documentation/asset/favicon/apple-touch-icon-precomposed.png differ
diff --git a/documentation/asset/favicon/apple-touch-icon.png b/documentation/asset/favicon/apple-touch-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..336c07035ae364fca13b136a3cfcbcb3ce2b4185
Binary files /dev/null and b/documentation/asset/favicon/apple-touch-icon.png differ
diff --git a/documentation/asset/favicon/favicon-16x16.png b/documentation/asset/favicon/favicon-16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..d147bbf4cfbfc57247a8c0df2845dc84b9d4d28d
Binary files /dev/null and b/documentation/asset/favicon/favicon-16x16.png differ
diff --git a/documentation/asset/favicon/favicon-32x32.png b/documentation/asset/favicon/favicon-32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..84d3db244c2916b675141f62e42615b9c9e68845
Binary files /dev/null and b/documentation/asset/favicon/favicon-32x32.png differ
diff --git a/documentation/asset/favicon/favicon.ico b/documentation/asset/favicon/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..59ef88287ef9c9ac9aef66d150023e91757d476a
Binary files /dev/null and b/documentation/asset/favicon/favicon.ico differ
diff --git a/documentation/asset/favicon/monster.png b/documentation/asset/favicon/monster.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7c6eb9b9f71fbee5e4377638829d07b33895d5c
Binary files /dev/null and b/documentation/asset/favicon/monster.png differ
diff --git a/documentation/asset/favicon/mstile-150x150.png b/documentation/asset/favicon/mstile-150x150.png
new file mode 100644
index 0000000000000000000000000000000000000000..6339bf5cfc436a9a20eab13245b8766ca0c0b4c0
Binary files /dev/null and b/documentation/asset/favicon/mstile-150x150.png differ
diff --git a/documentation/config/jsdoc.json b/documentation/config/jsdoc.json
index 04499e7604119dd6c3828987203fd13e6bc2b398..d8edebd409990b7043f3204306f5a8ed5eeb8543 100644
--- a/documentation/config/jsdoc.json
+++ b/documentation/config/jsdoc.json
@@ -4,23 +4,41 @@
   },
   "source": {
     "include": "../application/source/",
-    "includePattern": "\\.mjs$",
-    "excludePattern": ""
+    "includePattern": ".+\\.(js(doc|x)?|mjs)$",
+    "excludePattern": "(node_modules|test)"
   },
   "plugins": [
     "plugins/markdown",
     "jsdoc-plantuml",
-    "@pixi/jsdoc-template/plugins/es6-fix"
+    "plugins/summarize"
   ],
+  "sourceType": "module",
   "opts": {
     "template": "node_modules/clean-jsdoc-theme",
     "encoding": "utf8",
-    "destination": "build/docs/",
+    "destination": "../deployment/build/docs/",
     "recurse": true,
     "verbose": true,
     "theme_opts": {
-      "theme": "light",
+      "default_theme": "dark",
       "title": "Monster ",
+      "favicon": "https://monsterjs.org/favicon.ico",
+      "menu" : [
+        {
+          "title": "Home",
+          "link": "https://monsterjs.org/",
+          "target": "_self",
+          "class": "",
+          "id": "home"
+        },
+        {
+          "title": "Imprint",
+          "link": "https://about.schukai.com/de/impressum/",
+          "target": "_blank",
+          "class": "",
+          "id": "imprint"          
+        }
+      ],
       "meta": [
         {
           "name": "author",
@@ -41,17 +59,6 @@
           "crossorigin": "anonymous"
         }
       ],
-      "footer": "<a href='https://about.schukai.com/de/impressum/'>Imprint</a>",
-      "overlay_scrollbar": {
-        "options": {
-        }
-      },
-      "resizeable": {
-        "navbar": {
-          "min": "300",
-          "max": "600"
-        }
-      },
       "codepen": {
         "enable_for": [
           "examples"
@@ -82,14 +89,19 @@
       "outputSourceFiles": false
     }
   },
+  "markdown": {
+    "parser": "gfm",
+    "hardwrap": false,
+    "idInHeadings": true
+  },
   "plantuml": {
     "puml": {
       "create": true,
-      "destination": "build/docs/puml"
+      "destination": "../deployment/build/docs/puml"
     },
     "images": {
       "create": true,
-      "destination": "build/docs/images",
+      "destination": "../deployment/build/docs/images",
       "defaultFormat": "svg"
     }
   }