j1-template 2023.4.2 → 2023.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/layouts/layout_metadata_generator.html +9 -2
  3. data/assets/error_pages/HTTP204.html +2 -2
  4. data/assets/error_pages/HTTP400.html +2 -2
  5. data/assets/error_pages/HTTP401.html +2 -2
  6. data/assets/error_pages/HTTP403.html +2 -2
  7. data/assets/error_pages/HTTP404.html +2 -2
  8. data/assets/error_pages/HTTP444.html +2 -2
  9. data/assets/error_pages/HTTP500.html +2 -2
  10. data/assets/error_pages/HTTP501.html +2 -2
  11. data/assets/error_pages/HTTP502.html +2 -2
  12. data/assets/error_pages/HTTP503.html +2 -2
  13. data/assets/themes/j1/adapter/js/analytics.js +2 -2
  14. data/assets/themes/j1/modules/backstretch/LICENSE-MIT +22 -22
  15. data/assets/themes/j1/modules/backstretch/README.md +411 -411
  16. data/lib/j1/version.rb +1 -1
  17. data/lib/starter_web/README.md +5 -5
  18. data/lib/starter_web/_config.yml +20 -34
  19. data/lib/starter_web/_data/modules/navigator_menu.yml +1 -1
  20. data/lib/starter_web/_data/templates/feed.xml +1 -1
  21. data/lib/starter_web/_data/templates/seo-tags.html +5 -23
  22. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  23. data/lib/starter_web/package.json +1 -1
  24. data/lib/starter_web/pages/public/about/features.adoc +0 -1
  25. data/lib/starter_web/pages/public/about/reporting_issues.adoc +0 -1
  26. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/000_intro.adoc +0 -1
  27. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +0 -1
  28. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +0 -1
  29. data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +0 -1
  30. data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +0 -1
  31. data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +0 -1
  32. data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +0 -1
  33. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +0 -1
  34. data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +0 -1
  35. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +0 -1
  36. data/lib/starter_web/pages/public/blog/navigator/index.html +0 -1
  37. data/lib/starter_web/pages/public/features/general.adoc +0 -1
  38. data/lib/starter_web/pages/public/features/template.adoc +0 -1
  39. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_all_books.adoc +0 -1
  40. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_biography.adoc +0 -1
  41. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_fantasy.adoc +0 -1
  42. data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +0 -1
  43. data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +0 -1
  44. data/lib/starter_web/pages/public/learn/bs_sass_variables/bs_sass_variables.adoc +0 -1
  45. data/lib/starter_web/pages/public/learn/core_web_vitals/core_web_vitals.adoc +0 -1
  46. data/lib/starter_web/pages/public/learn/roundtrip/asciidoc_extensions.adoc +0 -1
  47. data/lib/starter_web/pages/public/learn/roundtrip/bootstrap_themes.adoc +0 -1
  48. data/lib/starter_web/pages/public/learn/roundtrip/highlghter_rouge.adoc +0 -1
  49. data/lib/starter_web/pages/public/learn/roundtrip/icon_fonts.adoc +0 -1
  50. data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.adoc +0 -1
  51. data/lib/starter_web/pages/public/learn/roundtrip/modal_extentions.adoc +0 -1
  52. data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +0 -1
  53. data/lib/starter_web/pages/public/learn/roundtrip/present_videos.adoc +0 -1
  54. data/lib/starter_web/pages/public/learn/roundtrip/responsive_tables.adoc +0 -1
  55. data/lib/starter_web/pages/public/learn/roundtrip/typography.adoc +0 -1
  56. data/lib/starter_web/pages/public/learn/where_to_go.adoc +0 -1
  57. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +0 -1
  58. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +0 -1
  59. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +0 -1
  60. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +0 -1
  61. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +0 -1
  62. data/lib/starter_web/pages/public/plans/plans.adoc +0 -1
  63. data/lib/starter_web/pages/public/tools/cheatsheet/gem.adoc +0 -1
  64. data/lib/starter_web/pages/public/tools/cheatsheet/git.adoc +0 -1
  65. data/lib/starter_web/pages/public/tools/cheatsheet/j1.adoc +0 -1
  66. data/lib/starter_web/pages/public/tools/cheatsheet/yaml.adoc +0 -1
  67. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +0 -1
  68. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  69. data/lib/starter_web/utilsrv/package.json +1 -1
  70. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d1ebea963d4fd46276fa2f91585ed5a776e2ccd35856cbf07a9f463006de0a0d
4
- data.tar.gz: 0f2215accff312f817714c058c4199791ed6ac4992142eb58c956016cadde175
3
+ metadata.gz: 3a0602a4e21fb5ba0f427922a2733fc0bda3ae77ca06dd50f18b02220772e575
4
+ data.tar.gz: b8a7226a6380d3f2b47a48a6d8f3dfee9cf7012fc356b400815eefbfcd546a07
5
5
  SHA512:
6
- metadata.gz: 6713810a0d0c2e8446c89091f51f3570d99f209250fd20a30ca0fc641796ed38ea9118c3c91956e32c432b9ea2aa5935a92c34c026cf646cc7959591e0875835
7
- data.tar.gz: 16f2c5e2b50ea9c2187baef7572d0d082b1134945d56dc88d92d717c38ad55795ef6bb461dad46a825e0f7f7c4f0e7a08d769d68add582260618e3463a1ae32d
6
+ metadata.gz: e10f639399bce043328a4ab4ff32468e62cada7a0d29102665ca0b3262106d35876305499e9cd169c75e0855cda48352fda78bbb508d20e20c2af8dec2f870f6
7
+ data.tar.gz: 8dd598470ce5d3406a951a7df9c8d362f07b20bc8b85a12ae2e3568b6b100aa919d506d0a8b4ee7b6cf1efec24ee7349ee58dbfab948ddbacee63946d753504c
@@ -68,8 +68,8 @@
68
68
  <!-- [INFO ] [j1.layout.meta_data_generator.html ] [ initial zoom level when the page is first loaded by the browser ] -->
69
69
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
70
70
 
71
- <!-- [INFO ] [j1.layout.meta_data_generator.html ] [ added version info for the templte ] -->
72
- <meta name="template version" content="{{site.version}}">
71
+ <!-- [INFO ] [j1.layout.meta_data_generator.html ] [ added keyords for backwards compatability ] -->
72
+ <meta name="keywords" content="{{site.keywords}}">
73
73
 
74
74
  {% if template_config.translation.enabled %}
75
75
  <!-- [INFO ] [j1.layout.meta_data_generator.html ] [ add google translator meta tag to enable customized translations ] -->
@@ -109,6 +109,13 @@
109
109
 
110
110
  {% comment %} page.robots.index: {{ page.robots.index | debug }} {% endcomment %}
111
111
 
112
+ {% comment %} Set page as original (canonical link)
113
+ -------------------------------------------------------------------------------- {% endcomment %}
114
+ {% if page.canonical %}
115
+ <!-- [INFO ] [j1.layout.meta_data_generator.html ] [ Specify content as original (canonical link) ] -->
116
+ <link rel="canonical" href="{{site.url}}{{site.baseurl}}{{page.url | replace: 'index.html', ''}}">
117
+ {% endif %}
118
+
112
119
  {% comment %} Check robot settings from page (or default SCOPE)
113
120
  -------------------------------------------------------------------------------- {% endcomment %}
114
121
  <!-- [INFO ] [j1.layout.meta_data_generator.html ] [ Check robot settings from PAGE configuration ] -->
@@ -68,14 +68,14 @@ sitemap: false
68
68
  {% if language == 'en' %}
69
69
  {% assign title = "No Content" %}
70
70
  {% assign back_url_text = "Back Home" %}
71
- {% assign reason = "The request processed successfully. <br/> This page has been disabled for technical reasons." %}
71
+ {% assign reason = "The request processed successfully. <br> This page has been disabled for technical reasons." %}
72
72
  {% assign contact_issue = "Technical Contact" %}
73
73
  {% endif %}
74
74
 
75
75
  {% if language == 'de' %}
76
76
  {% assign title = "Keine Daten" %}
77
77
  {% assign back_url_text = "Zurück zur Startseite" %}
78
- {% assign reason = "Die Anfrage wurde erfolgreich durchgeführt. <br/>. Diese Seite ist jedoch zurzeit aus technischen Gründen nicht verfügbar." %}
78
+ {% assign reason = "Die Anfrage wurde erfolgreich durchgeführt. <br>. Diese Seite ist jedoch zurzeit aus technischen Gründen nicht verfügbar." %}
79
79
  {% assign contact_issue = "Technischer Kontakt" %}
80
80
  {% endif %}
81
81
 
@@ -65,14 +65,14 @@ sitemap: false
65
65
  {% if language == 'en' %}
66
66
  {% assign title = "Bad Request" %}
67
67
  {% assign back_url_text = "Back Home" %}
68
- {% assign reason = "The server cannot process the request. <br/> Something had happenend that is perceived to be a client error." %}
68
+ {% assign reason = "The server cannot process the request. <br> Something had happenend that is perceived to be a client error." %}
69
69
  {% assign contact_issue = "Technical Contact" %}
70
70
  {% endif %}
71
71
 
72
72
  {% if language == 'de' %}
73
73
  {% assign title = "Anfrage ungültig" %}
74
74
  {% assign back_url_text = "Zurück zur Startseite" %}
75
- {% assign reason = "Die Nachricht war fehlerhaft aufgebaut. <br/> Der Webserver konnte die gewünschte Anfrages des Browsers nicht bearbeiten. Die Nachricht war fehlerhaft aufgebaut." %}
75
+ {% assign reason = "Die Nachricht war fehlerhaft aufgebaut. <br> Der Webserver konnte die gewünschte Anfrages des Browsers nicht bearbeiten. Die Nachricht war fehlerhaft aufgebaut." %}
76
76
  {% assign contact_issue = "Technischer Kontakt" %}
77
77
  {% endif %}
78
78
 
@@ -65,14 +65,14 @@ sitemap: false
65
65
  {% if language == 'en' %}
66
66
  {% assign title = "Unauthorized" %}
67
67
  {% assign back_url_text = "Back Home" %}
68
- {% assign reason = "Not authorized. <br/> The requested resource requires an authentication." %}
68
+ {% assign reason = "Not authorized. <br> The requested resource requires an authentication." %}
69
69
  {% assign contact_issue = "Technical Contact" %}
70
70
  {% endif %}
71
71
 
72
72
  {% if language == 'de' %}
73
73
  {% assign title = "Keine Authorisierung" %}
74
74
  {% assign back_url_text = "Zurück zur Startseite" %}
75
- {% assign reason = "Keine Authorisierung. <br/> Die Anfrage kann nicht ohne gültige Authentifizierung durchgeführt werden." %}
75
+ {% assign reason = "Keine Authorisierung. <br> Die Anfrage kann nicht ohne gültige Authentifizierung durchgeführt werden." %}
76
76
  {% assign contact_issue = "Technischer Kontakt" %}
77
77
  {% endif %}
78
78
 
@@ -65,14 +65,14 @@ sitemap: false
65
65
  {% if language == 'en' %}
66
66
  {% assign title = "Access Denied" %}
67
67
  {% assign back_url_text = "Back Home" %}
68
- {% assign reason = "Access rejected. <br/> The requested resource requires an authentication." %}
68
+ {% assign reason = "Access rejected. <br> The requested resource requires an authentication." %}
69
69
  {% assign contact_issue = "Technical Contact" %}
70
70
  {% endif %}
71
71
 
72
72
  {% if language == 'de' %}
73
73
  {% assign title = "Zugriff verweigert" %}
74
74
  {% assign back_url_text = "Zurück zur Startseite" %}
75
- {% assign reason = "Anfrage zurückgewiesen. <br/> Die Anfrage wurde mangels Berechtigung des Clients nicht durchgeführt." %}
75
+ {% assign reason = "Anfrage zurückgewiesen. <br> Die Anfrage wurde mangels Berechtigung des Clients nicht durchgeführt." %}
76
76
  {% assign contact_issue = "Technischer Kontakt" %}
77
77
  {% endif %}
78
78
 
@@ -65,14 +65,14 @@ sitemap: false
65
65
  {% if language == 'en' %}
66
66
  {% assign title = "Page not found" %}
67
67
  {% assign back_url_text = "Back Home" %}
68
- {% assign reason = "The page you requested could not found. <br/> Sorry about that, this shoud not happen." %}
68
+ {% assign reason = "The page you requested could not found. <br> Sorry about that, this shoud not happen." %}
69
69
  {% assign contact_issue = "Technical Contact" %}
70
70
  {% endif %}
71
71
 
72
72
  {% if language == 'de' %}
73
73
  {% assign title = "Seite nicht gefunden" %}
74
74
  {% assign back_url_text = "Zurück zur Startseite" %}
75
- {% assign reason = "Die angeforderte Seite konnte nicht gefunden werden. <br/> Wir bitten um Entschuldigung, dass sollte nicht passieren." %}
75
+ {% assign reason = "Die angeforderte Seite konnte nicht gefunden werden. <br> Wir bitten um Entschuldigung, dass sollte nicht passieren." %}
76
76
  {% assign contact_issue = "Technischer Kontakt" %}
77
77
  {% endif %}
78
78
 
@@ -65,14 +65,14 @@ sitemap: false
65
65
  {% if language == 'en' %}
66
66
  {% assign title = "Blocked Content" %}
67
67
  {% assign back_url_text = "Back Home" %}
68
- {% assign reason = "Access to the page has been disabled for technical reasons. <br/> Because your privacy settings disabled personalization, this page cannot be presented." %}
68
+ {% assign reason = "Access to the page has been disabled for technical reasons. <br> Because your privacy settings disabled personalization, this page cannot be presented." %}
69
69
  {% assign contact_issue = "Technical Contact" %}
70
70
  {% endif %}
71
71
 
72
72
  {% if language == 'de' %}
73
73
  {% assign title = "Gesperrter Inhalt" %}
74
74
  {% assign back_url_text = "Zurück zur Startseite" %}
75
- {% assign reason = "Die Anzeige dieser Seite ist aus technischen Gründen gesperrt. <br/>Die Einstellungen zu Ihrer Privatsphäre erlauben keine Personalisierung. Diese Seite kann daher nicht angezeigt werden." %}
75
+ {% assign reason = "Die Anzeige dieser Seite ist aus technischen Gründen gesperrt. <br>Die Einstellungen zu Ihrer Privatsphäre erlauben keine Personalisierung. Diese Seite kann daher nicht angezeigt werden." %}
76
76
  {% assign contact_issue = "Technischer Kontakt" %}
77
77
  {% endif %}
78
78
 
@@ -65,14 +65,14 @@ sitemap: false
65
65
  {% if language == 'en' %}
66
66
  {% assign title = "Internal Server Error" %}
67
67
  {% assign back_url_text = "Back Home" %}
68
- {% assign reason = "An unexpected condition was encountered. <br/> Our service team has been dispatched to bring it back online." %}
68
+ {% assign reason = "An unexpected condition was encountered. <br> Our service team has been dispatched to bring it back online." %}
69
69
  {% assign contact_issue = "Technical Contact" %}
70
70
  {% endif %}
71
71
 
72
72
  {% if language == 'de' %}
73
73
  {% assign title = "Interner Server Fehler" %}
74
74
  {% assign back_url_text = "Zurück zur Startseite" %}
75
- {% assign reason = "Es ist ein unerwartete Serverfehler aufgetreten. <br/> Das Service Team ist bemüht den Dienst wiederherzustellen." %}
75
+ {% assign reason = "Es ist ein unerwartete Serverfehler aufgetreten. <br> Das Service Team ist bemüht den Dienst wiederherzustellen." %}
76
76
  {% assign contact_issue = "Technischer Kontakt" %}
77
77
  {% endif %}
78
78
 
@@ -65,14 +65,14 @@ sitemap: false
65
65
  {% if language == 'en' %}
66
66
  {% assign title = "Not Implemented" %}
67
67
  {% assign back_url_text = "Back Home" %}
68
- {% assign reason = "Unknown request type. <br/> The Webserver cannot recognize the request method." %}
68
+ {% assign reason = "Unknown request type. <br> The Webserver cannot recognize the request method." %}
69
69
  {% assign contact_issue = "Technical Contact" %}
70
70
  {% endif %}
71
71
 
72
72
  {% if language == 'de' %}
73
73
  {% assign title = "Nicht verfügbar" %}
74
74
  {% assign back_url_text = "Zurück zur Startseite" %}
75
- {% assign reason = "Unbekannter Anfragetyp. <br/> Die Funktionalität, um die Anfrage zu bearbeiten, wird von diesem Server nicht bereitgestellt." %}
75
+ {% assign reason = "Unbekannter Anfragetyp. <br> Die Funktionalität, um die Anfrage zu bearbeiten, wird von diesem Server nicht bereitgestellt." %}
76
76
  {% assign contact_issue = "Technischer Kontakt" %}
77
77
  {% endif %}
78
78
 
@@ -65,14 +65,14 @@ sitemap: false
65
65
  {% if language == 'en' %}
66
66
  {% assign title = "Service currently unavailable" %}
67
67
  {% assign back_url_text = "Back Home" %}
68
- {% assign reason = "We&#39;ve got some trouble with our backend upstream cluster. <br/> Our service team has been dispatched to bring it back online." %}
68
+ {% assign reason = "We&#39;ve got some trouble with our backend upstream cluster. <br> Our service team has been dispatched to bring it back online." %}
69
69
  {% assign contact_issue = "Technical Contact" %}
70
70
  {% endif %}
71
71
 
72
72
  {% if language == 'de' %}
73
73
  {% assign title = "Dienst zurzeit nicht verfügbar" %}
74
74
  {% assign back_url_text = "Zurück zur Startseite" %}
75
- {% assign reason = "Der Server konnte seine Funktion als Gateway oder Proxy nicht erfüllen. <br/> Das Service Team ist bemüht den Dienst wiederherzustellen." %}
75
+ {% assign reason = "Der Server konnte seine Funktion als Gateway oder Proxy nicht erfüllen. <br> Das Service Team ist bemüht den Dienst wiederherzustellen." %}
76
76
  {% assign contact_issue = "Technischer Kontakt" %}
77
77
  {% endif %}
78
78
 
@@ -68,14 +68,14 @@ sitemap: false
68
68
  {% if language == 'en' %}
69
69
  {% assign title = "Service currently unavailable" %}
70
70
  {% assign back_url_text = "Back Home" %}
71
- {% assign reason = "The server is temporarily unavailable. <br/> Please try again later." %}
71
+ {% assign reason = "The server is temporarily unavailable. <br> Please try again later." %}
72
72
  {% assign contact_issue = "Technical Contact" %}
73
73
  {% endif %}
74
74
 
75
75
  {% if language == 'de' %}
76
76
  {% assign title = "Dienst zurzeit nicht verfügbar" %}
77
77
  {% assign back_url_text = "Zurück zur Startseite" %}
78
- {% assign reason = "Der Server steht temporär nicht zur Verfügung. <br/> Bitte versuchen Sie es später nocheinmal." %}
78
+ {% assign reason = "Der Server steht temporär nicht zur Verfügung. <br> Bitte versuchen Sie es später nocheinmal." %}
79
79
  {% assign contact_issue = "Technischer Kontakt" %}
80
80
  {% endif %}
81
81
 
@@ -160,7 +160,7 @@ var logText;
160
160
  // Global variable settings
161
161
  // -----------------------------------------------------------------
162
162
  _this = j1.adapter.analytics;
163
- logger = log4javascript.getLogger('j1.adapter.analytics.google');
163
+ logger = log4javascript.getLogger('j1.adapter.analytics');
164
164
 
165
165
  // initialize state flag
166
166
  _this.setState('started');
@@ -222,7 +222,7 @@ var logText;
222
222
  {% endcase %}
223
223
  // [INFO ] [j1.adapter.analytics ] [ end processing ]
224
224
  {% else %}
225
- logger = log4javascript.getLogger('j1.adapter.analytics.google');
225
+ logger = log4javascript.getLogger('j1.adapter.analytics');
226
226
  logger.info('\n' + 'Google Analytics: disabled');
227
227
  {% endif %}
228
228
  }
@@ -1,22 +1,22 @@
1
- Copyright (c) 2012 Scott Robbin
2
-
3
- Permission is hereby granted, free of charge, to any person
4
- obtaining a copy of this software and associated documentation
5
- files (the "Software"), to deal in the Software without
6
- restriction, including without limitation the rights to use,
7
- copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- copies of the Software, and to permit persons to whom the
9
- Software is furnished to do so, subject to the following
10
- conditions:
11
-
12
- The above copyright notice and this permission notice shall be
13
- included in all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
- OTHER DEALINGS IN THE SOFTWARE.
1
+ Copyright (c) 2012 Scott Robbin
2
+
3
+ Permission is hereby granted, free of charge, to any person
4
+ obtaining a copy of this software and associated documentation
5
+ files (the "Software"), to deal in the Software without
6
+ restriction, including without limitation the rights to use,
7
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the
9
+ Software is furnished to do so, subject to the following
10
+ conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.