···11{{ define "title" }}404 · tangled{{ end }}
2233{{ define "content" }}
44- <h1>404 — nothing like that here!</h1>
55- <p>
66- It seems we couldn't find what you were looking for. Sorry about that!
77- </p>
44+ <h1>404 — nothing like that here!</h1>
55+ <p>It seems we couldn't find what you were looking for. Sorry about that!</p>
86{{ end }}
+2-2
appview/pages/templates/errors/500.html
···11{{ define "title" }}500 · tangled{{ end }}
2233{{ define "content" }}
44- <h1>500 — something broke!</h1>
55- <p>We're working on getting service back up. Hang tight!</p>
44+ <h1>500 — something broke!</h1>
55+ <p>We're working on getting service back up. Hang tight!</p>
66{{ end }}
+4-5
appview/pages/templates/errors/503.html
···11{{ define "title" }}503 · tangled{{ end }}
2233{{ define "content" }}
44- <h1>503 — unable to reach knot</h1>
55- <p>
66- We were unable to reach the knot hosting this repository. Try again
77- later.
88- </p>
44+ <h1>503 — unable to reach knot</h1>
55+ <p>
66+ We were unable to reach the knot hosting this repository. Try again later.
77+ </p>
98{{ end }}
···11-{{ define "title" }} privacy policy {{ end }}
11+{{ define "title" }}privacy policy{{ end }}
22{{ define "content" }}
33-<div class="max-w-4xl mx-auto px-4 py-8">
33+ <div class="max-w-4xl mx-auto px-4 py-8">
44 <div class="bg-white dark:bg-gray-800 rounded-lg shadow-sm p-8">
55- <div class="prose prose-gray dark:prose-invert max-w-none">
55+ <div class="prose prose-gray dark:prose-invert max-w-none">
66 <h1>Privacy Policy</h1>
7788- <p><strong>Last updated:</strong> {{ now.Format "January 2, 2006" }}</p>
88+ <p>
99+ <strong>Last updated:</strong>
1010+ {{ now.Format "January 2, 2006" }}
1111+ </p>
9121010- <p>This Privacy Policy describes how Tangled ("we," "us," or "our") collects, uses, and shares your personal information when you use our platform and services (the "Service").</p>
1313+ <p>
1414+ This Privacy Policy describes how Tangled ("we," "us," or "our")
1515+ collects, uses, and shares your personal information when you use our
1616+ platform and services (the "Service").
1717+ </p>
11181219 <h2>1. Information We Collect</h2>
13201421 <h3>Account Information</h3>
1522 <p>When you create an account, we collect:</p>
1623 <ul>
1717- <li>Your chosen username</li>
1818- <li>Email address</li>
1919- <li>Profile information you choose to provide</li>
2020- <li>Authentication data</li>
2424+ <li>Your chosen username</li>
2525+ <li>Email address</li>
2626+ <li>Profile information you choose to provide</li>
2727+ <li>Authentication data</li>
2128 </ul>
22292330 <h3>Content and Activity</h3>
2431 <p>We store:</p>
2532 <ul>
2626- <li>Code repositories and associated metadata</li>
2727- <li>Issues, pull requests, and comments</li>
2828- <li>Activity logs and usage patterns</li>
2929- <li>Public keys for authentication</li>
3333+ <li>Code repositories and associated metadata</li>
3434+ <li>Issues, pull requests, and comments</li>
3535+ <li>Activity logs and usage patterns</li>
3636+ <li>Public keys for authentication</li>
3037 </ul>
31383239 <h2>2. Data Location and Hosting</h2>
3333- <div class="bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg p-4 my-6">
3434- <h3 class="text-blue-800 dark:text-blue-200 font-semibold mb-2">EU Data Hosting</h3>
3535- <p class="text-blue-700 dark:text-blue-300">
3636- <strong>All Tangled service data is hosted within the European Union.</strong> Specifically:
3737- </p>
3838- <ul class="text-blue-700 dark:text-blue-300 mt-2">
3939- <li><strong>Personal Data Servers (PDS):</strong> Accounts hosted on Tangled PDS (*.tngl.sh) are located in Finland</li>
4040- <li><strong>Application Data:</strong> All other service data is stored on EU-based servers</li>
4141- <li><strong>Data Processing:</strong> All data processing occurs within EU jurisdiction</li>
4242- </ul>
4040+ <div
4141+ class="bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg p-4 my-6">
4242+ <h3 class="text-blue-800 dark:text-blue-200 font-semibold mb-2">
4343+ EU Data Hosting
4444+ </h3>
4545+ <p class="text-blue-700 dark:text-blue-300">
4646+ <strong>
4747+ All Tangled service data is hosted within the European Union.
4848+ </strong>
4949+ Specifically:
5050+ </p>
5151+ <ul class="text-blue-700 dark:text-blue-300 mt-2">
5252+ <li>
5353+ <strong>Personal Data Servers (PDS):</strong>
5454+ Accounts hosted on Tangled PDS (*.tngl.sh) are located in Finland
5555+ </li>
5656+ <li>
5757+ <strong>Application Data:</strong>
5858+ All other service data is stored on EU-based servers
5959+ </li>
6060+ <li>
6161+ <strong>Data Processing:</strong>
6262+ All data processing occurs within EU jurisdiction
6363+ </li>
6464+ </ul>
4365 </div>
44664545- <div class="bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4 my-6">
4646- <h3 class="text-yellow-800 dark:text-yellow-200 font-semibold mb-2">External PDS Notice</h3>
4747- <p class="text-yellow-700 dark:text-yellow-300">
4848- <strong>Important:</strong> If your account is hosted on Bluesky's PDS or other self-hosted Personal Data Servers (not *.tngl.sh), we do not control that data. The data protection, storage location, and privacy practices for such accounts are governed by the respective PDS provider's policies, not this Privacy Policy. We only control data processing within our own services and infrastructure.
4949- </p>
6767+ <div
6868+ class="bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4 my-6">
6969+ <h3 class="text-yellow-800 dark:text-yellow-200 font-semibold mb-2">
7070+ External PDS Notice
7171+ </h3>
7272+ <p class="text-yellow-700 dark:text-yellow-300">
7373+ <strong>Important:</strong>
7474+ If your account is hosted on Bluesky's PDS or other self-hosted
7575+ Personal Data Servers (not *.tngl.sh), we do not control that data.
7676+ The data protection, storage location, and privacy practices for
7777+ such accounts are governed by the respective PDS provider's
7878+ policies, not this Privacy Policy. We only control data processing
7979+ within our own services and infrastructure.
8080+ </p>
5081 </div>
51825283 <h2>3. Third-Party Data Processors</h2>
5353- <p>We only share your data with the following third-party processors:</p>
8484+ <p>
8585+ We only share your data with the following third-party processors:
8686+ </p>
54875588 <h3>Resend (Email Services)</h3>
5689 <ul>
5757- <li><strong>Purpose:</strong> Sending transactional emails (account verification, notifications)</li>
5858- <li><strong>Data Shared:</strong> Email address and necessary message content</li>
5959- <li><strong>Location:</strong> EU-compliant email delivery service</li>
9090+ <li>
9191+ <strong>Purpose:</strong>
9292+ Sending transactional emails (account verification, notifications)
9393+ </li>
9494+ <li>
9595+ <strong>Data Shared:</strong>
9696+ Email address and necessary message content
9797+ </li>
9898+ <li>
9999+ <strong>Location:</strong>
100100+ EU-compliant email delivery service
101101+ </li>
60102 </ul>
6110362104 <h3>Cloudflare (Image Caching)</h3>
63105 <ul>
6464- <li><strong>Purpose:</strong> Caching and optimizing image delivery</li>
6565- <li><strong>Data Shared:</strong> Public images and associated metadata for caching purposes</li>
6666- <li><strong>Location:</strong> Global CDN with EU data protection compliance</li>
106106+ <li>
107107+ <strong>Purpose:</strong>
108108+ Caching and optimizing image delivery
109109+ </li>
110110+ <li>
111111+ <strong>Data Shared:</strong>
112112+ Public images and associated metadata for caching purposes
113113+ </li>
114114+ <li>
115115+ <strong>Location:</strong>
116116+ Global CDN with EU data protection compliance
117117+ </li>
67118 </ul>
6811969120 <h2>4. How We Use Your Information</h2>
70121 <p>We use your information to:</p>
71122 <ul>
7272- <li>Provide and maintain the Service</li>
7373- <li>Process your transactions and requests</li>
7474- <li>Send you technical notices and support messages</li>
7575- <li>Improve and develop new features</li>
7676- <li>Ensure security and prevent fraud</li>
7777- <li>Comply with legal obligations</li>
123123+ <li>Provide and maintain the Service</li>
124124+ <li>Process your transactions and requests</li>
125125+ <li>Send you technical notices and support messages</li>
126126+ <li>Improve and develop new features</li>
127127+ <li>Ensure security and prevent fraud</li>
128128+ <li>Comply with legal obligations</li>
78129 </ul>
7913080131 <h2>5. Data Sharing and Disclosure</h2>
8181- <p>We do not sell, trade, or rent your personal information. We may share your information only in the following circumstances:</p>
132132+ <p>
133133+ We do not sell, trade, or rent your personal information. We may share
134134+ your information only in the following circumstances:
135135+ </p>
82136 <ul>
8383- <li>With the third-party processors listed above</li>
8484- <li>When required by law or legal process</li>
8585- <li>To protect our rights, property, or safety, or that of our users</li>
8686- <li>In connection with a merger, acquisition, or sale of assets (with appropriate protections)</li>
137137+ <li>With the third-party processors listed above</li>
138138+ <li>When required by law or legal process</li>
139139+ <li>
140140+ To protect our rights, property, or safety, or that of our users
141141+ </li>
142142+ <li>
143143+ In connection with a merger, acquisition, or sale of assets (with
144144+ appropriate protections)
145145+ </li>
87146 </ul>
8814789148 <h2>6. Data Security</h2>
9090- <p>We implement appropriate technical and organizational measures to protect your personal information against unauthorized access, alteration, disclosure, or destruction. However, no method of transmission over the Internet is 100% secure.</p>
149149+ <p>
150150+ We implement appropriate technical and organizational measures to
151151+ protect your personal information against unauthorized access,
152152+ alteration, disclosure, or destruction. However, no method of
153153+ transmission over the Internet is 100% secure.
154154+ </p>
9115592156 <h2>7. Data Retention</h2>
9393- <p>We retain your personal information for as long as necessary to provide the Service and fulfill the purposes outlined in this Privacy Policy, unless a longer retention period is required by law.</p>
157157+ <p>
158158+ We retain your personal information for as long as necessary to
159159+ provide the Service and fulfill the purposes outlined in this Privacy
160160+ Policy, unless a longer retention period is required by law.
161161+ </p>
9416295163 <h2>8. Your Rights</h2>
96164 <p>Under applicable data protection laws, you have the right to:</p>
97165 <ul>
9898- <li>Access your personal information</li>
9999- <li>Correct inaccurate information</li>
100100- <li>Request deletion of your information</li>
101101- <li>Object to processing of your information</li>
102102- <li>Data portability</li>
103103- <li>Withdraw consent (where applicable)</li>
166166+ <li>Access your personal information</li>
167167+ <li>Correct inaccurate information</li>
168168+ <li>Request deletion of your information</li>
169169+ <li>Object to processing of your information</li>
170170+ <li>Data portability</li>
171171+ <li>Withdraw consent (where applicable)</li>
104172 </ul>
105173106174 <h2>9. Cookies and Tracking</h2>
107175 <p>We use cookies and similar technologies to:</p>
108176 <ul>
109109- <li>Maintain your login session</li>
110110- <li>Remember your preferences</li>
111111- <li>Analyze usage patterns to improve the Service</li>
177177+ <li>Maintain your login session</li>
178178+ <li>Remember your preferences</li>
179179+ <li>Analyze usage patterns to improve the Service</li>
112180 </ul>
113181 <p>You can control cookie settings through your browser preferences.</p>
114182115183 <h2>10. Children's Privacy</h2>
116116- <p>The Service is not intended for children under 16 years of age. We do not knowingly collect personal information from children under 16. If we become aware that we have collected such information, we will take steps to delete it.</p>
184184+ <p>
185185+ The Service is not intended for children under 16 years of age. We do
186186+ not knowingly collect personal information from children under 16. If
187187+ we become aware that we have collected such information, we will take
188188+ steps to delete it.
189189+ </p>
117190118191 <h2>11. International Data Transfers</h2>
119119- <p>While all our primary data processing occurs within the EU, some of our third-party processors may process data outside the EU. When this occurs, we ensure appropriate safeguards are in place, such as Standard Contractual Clauses or adequacy decisions.</p>
192192+ <p>
193193+ While all our primary data processing occurs within the EU, some of
194194+ our third-party processors may process data outside the EU. When this
195195+ occurs, we ensure appropriate safeguards are in place, such as
196196+ Standard Contractual Clauses or adequacy decisions.
197197+ </p>
120198121199 <h2>12. Changes to This Privacy Policy</h2>
122122- <p>We may update this Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page and updating the "Last updated" date.</p>
200200+ <p>
201201+ We may update this Privacy Policy from time to time. We will notify
202202+ you of any changes by posting the new Privacy Policy on this page and
203203+ updating the "Last updated" date.
204204+ </p>
123205124206 <h2>13. Contact Information</h2>
125125- <p>If you have any questions about this Privacy Policy or wish to exercise your rights, please contact us through our platform or via email.</p>
207207+ <p>
208208+ If you have any questions about this Privacy Policy or wish to
209209+ exercise your rights, please contact us through our platform or via
210210+ email.
211211+ </p>
126212127127- <div class="mt-8 pt-6 border-t border-gray-200 dark:border-gray-700 text-sm text-gray-600 dark:text-gray-400">
128128- <p>This Privacy Policy complies with the EU General Data Protection Regulation (GDPR) and other applicable data protection laws.</p>
129129- </div>
213213+ <div
214214+ class="mt-8 pt-6 border-t border-gray-200 dark:border-gray-700 text-sm text-gray-600 dark:text-gray-400">
215215+ <p>
216216+ This Privacy Policy complies with the EU General Data Protection
217217+ Regulation (GDPR) and other applicable data protection laws.
218218+ </p>
130219 </div>
220220+ </div>
131221 </div>
132132-</div>
222222+ </div>
133223{{ end }}
+118-32
appview/pages/templates/legal/terms.html
···11{{ define "title" }}terms of service{{ end }}
2233{{ define "content" }}
44-<div class="max-w-4xl mx-auto px-4 py-8">
44+ <div class="max-w-4xl mx-auto px-4 py-8">
55 <div class="bg-white dark:bg-gray-800 rounded-lg shadow-sm p-8">
66- <div class="prose prose-gray dark:prose-invert max-w-none">
66+ <div class="prose prose-gray dark:prose-invert max-w-none">
77 <h1>Terms of Service</h1>
8899- <p><strong>Last updated:</strong> {{ now.Format "January 2, 2006" }}</p>
99+ <p>
1010+ <strong>Last updated:</strong>
1111+ {{ now.Format "January 2, 2006" }}
1212+ </p>
10131111- <p>Welcome to Tangled. These Terms of Service ("Terms") govern your access to and use of the Tangled platform and services (the "Service") operated by us ("Tangled," "we," "us," or "our").</p>
1414+ <p>
1515+ Welcome to Tangled. These Terms of Service ("Terms") govern your
1616+ access to and use of the Tangled platform and services (the "Service")
1717+ operated by us ("Tangled," "we," "us," or "our").
1818+ </p>
12191320 <h2>1. Acceptance of Terms</h2>
1414- <p>By accessing or using our Service, you agree to be bound by these Terms. If you disagree with any part of these terms, then you may not access the Service.</p>
2121+ <p>
2222+ By accessing or using our Service, you agree to be bound by these
2323+ Terms. If you disagree with any part of these terms, then you may not
2424+ access the Service.
2525+ </p>
15261627 <h2>2. Account Registration</h2>
1717- <p>To use certain features of the Service, you must register for an account. You agree to provide accurate, current, and complete information during the registration process and to update such information to keep it accurate, current, and complete.</p>
2828+ <p>
2929+ To use certain features of the Service, you must register for an
3030+ account. You agree to provide accurate, current, and complete
3131+ information during the registration process and to update such
3232+ information to keep it accurate, current, and complete.
3333+ </p>
18341935 <h2>3. Account Termination</h2>
2020- <div class="bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg p-4 my-6">
2121- <h3 class="text-red-800 dark:text-red-200 font-semibold mb-2">Important Notice</h3>
2222- <p class="text-red-700 dark:text-red-300">
2323- <strong>We reserve the right to terminate, suspend, or restrict access to your account at any time, for any reason, or for no reason at all, at our sole discretion.</strong> This includes, but is not limited to, termination for violation of these Terms, inappropriate conduct, spam, abuse, or any other behavior we deem harmful to the Service or other users.
2424- </p>
2525- <p class="text-red-700 dark:text-red-300 mt-2">
2626- Account termination may result in the loss of access to your repositories, data, and other content associated with your account. We are not obligated to provide advance notice of termination, though we may do so in our discretion.
2727- </p>
3636+ <div
3737+ class="bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg p-4 my-6">
3838+ <h3 class="text-red-800 dark:text-red-200 font-semibold mb-2">
3939+ Important Notice
4040+ </h3>
4141+ <p class="text-red-700 dark:text-red-300">
4242+ <strong>
4343+ We reserve the right to terminate, suspend, or restrict access to
4444+ your account at any time, for any reason, or for no reason at all,
4545+ at our sole discretion.
4646+ </strong>
4747+ This includes, but is not limited to, termination for violation of
4848+ these Terms, inappropriate conduct, spam, abuse, or any other
4949+ behavior we deem harmful to the Service or other users.
5050+ </p>
5151+ <p class="text-red-700 dark:text-red-300 mt-2">
5252+ Account termination may result in the loss of access to your
5353+ repositories, data, and other content associated with your account.
5454+ We are not obligated to provide advance notice of termination,
5555+ though we may do so in our discretion.
5656+ </p>
2857 </div>
29583059 <h2>4. Acceptable Use</h2>
3160 <p>You agree not to use the Service to:</p>
3261 <ul>
3333- <li>Violate any applicable laws or regulations</li>
3434- <li>Infringe upon the rights of others</li>
3535- <li>Upload, store, or share content that is illegal, harmful, threatening, abusive, harassing, defamatory, vulgar, obscene, or otherwise objectionable</li>
3636- <li>Engage in spam, phishing, or other deceptive practices</li>
3737- <li>Attempt to gain unauthorized access to the Service or other users' accounts</li>
3838- <li>Interfere with or disrupt the Service or servers connected to the Service</li>
6262+ <li>Violate any applicable laws or regulations</li>
6363+ <li>Infringe upon the rights of others</li>
6464+ <li>
6565+ Upload, store, or share content that is illegal, harmful,
6666+ threatening, abusive, harassing, defamatory, vulgar, obscene, or
6767+ otherwise objectionable
6868+ </li>
6969+ <li>Engage in spam, phishing, or other deceptive practices</li>
7070+ <li>
7171+ Attempt to gain unauthorized access to the Service or other users'
7272+ accounts
7373+ </li>
7474+ <li>
7575+ Interfere with or disrupt the Service or servers connected to the
7676+ Service
7777+ </li>
3978 </ul>
40794180 <h2>5. Content and Intellectual Property</h2>
4242- <p>You retain ownership of the content you upload to the Service. By uploading content, you grant us a non-exclusive, worldwide, royalty-free license to use, reproduce, modify, and distribute your content as necessary to provide the Service.</p>
8181+ <p>
8282+ You retain ownership of the content you upload to the Service. By
8383+ uploading content, you grant us a non-exclusive, worldwide,
8484+ royalty-free license to use, reproduce, modify, and distribute your
8585+ content as necessary to provide the Service.
8686+ </p>
43874488 <h2>6. Privacy</h2>
4545- <p>Your privacy is important to us. Please review our <a href="/privacy" class="text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300">Privacy Policy</a>, which also governs your use of the Service.</p>
8989+ <p>
9090+ Your privacy is important to us. Please review our
9191+ <a
9292+ href="/privacy"
9393+ class="text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300">
9494+ Privacy Policy
9595+ </a>
9696+ , which also governs your use of the Service.
9797+ </p>
46984799 <h2>7. Disclaimers</h2>
4848- <p>The Service is provided on an "AS IS" and "AS AVAILABLE" basis. We make no warranties, expressed or implied, and hereby disclaim and negate all other warranties including without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights.</p>
100100+ <p>
101101+ The Service is provided on an "AS IS" and "AS AVAILABLE" basis. We
102102+ make no warranties, expressed or implied, and hereby disclaim and
103103+ negate all other warranties including without limitation, implied
104104+ warranties or conditions of merchantability, fitness for a particular
105105+ purpose, or non-infringement of intellectual property or other
106106+ violation of rights.
107107+ </p>
4910850109 <h2>8. Limitation of Liability</h2>
5151- <p>In no event shall Tangled, nor its directors, employees, partners, agents, suppliers, or affiliates, be liable for any indirect, incidental, special, consequential, or punitive damages, including without limitation, loss of profits, data, use, goodwill, or other intangible losses, resulting from your use of the Service.</p>
110110+ <p>
111111+ In no event shall Tangled, nor its directors, employees, partners,
112112+ agents, suppliers, or affiliates, be liable for any indirect,
113113+ incidental, special, consequential, or punitive damages, including
114114+ without limitation, loss of profits, data, use, goodwill, or other
115115+ intangible losses, resulting from your use of the Service.
116116+ </p>
5211753118 <h2>9. Indemnification</h2>
5454- <p>You agree to defend, indemnify, and hold harmless Tangled and its affiliates, officers, directors, employees, and agents from and against any and all claims, damages, obligations, losses, liabilities, costs, or debt, and expenses (including attorney's fees).</p>
119119+ <p>
120120+ You agree to defend, indemnify, and hold harmless Tangled and its
121121+ affiliates, officers, directors, employees, and agents from and
122122+ against any and all claims, damages, obligations, losses, liabilities,
123123+ costs, or debt, and expenses (including attorney's fees).
124124+ </p>
5512556126 <h2>10. Governing Law</h2>
5757- <p>These Terms shall be interpreted and governed by the laws of Finland, without regard to its conflict of law provisions.</p>
127127+ <p>
128128+ These Terms shall be interpreted and governed by the laws of Finland,
129129+ without regard to its conflict of law provisions.
130130+ </p>
5813159132 <h2>11. Changes to Terms</h2>
6060- <p>We reserve the right to modify or replace these Terms at any time. If a revision is material, we will try to provide at least 30 days notice prior to any new terms taking effect.</p>
133133+ <p>
134134+ We reserve the right to modify or replace these Terms at any time. If
135135+ a revision is material, we will try to provide at least 30 days notice
136136+ prior to any new terms taking effect.
137137+ </p>
6113862139 <h2>12. Contact Information</h2>
6363- <p>If you have any questions about these Terms of Service, please contact us through our platform or via email.</p>
140140+ <p>
141141+ If you have any questions about these Terms of Service, please contact
142142+ us through our platform or via email.
143143+ </p>
641446565- <div class="mt-8 pt-6 border-t border-gray-200 dark:border-gray-700 text-sm text-gray-600 dark:text-gray-400">
6666- <p>These terms are effective as of the last updated date shown above and will remain in effect except with respect to any changes in their provisions in the future, which will be in effect immediately after being posted on this page.</p>
6767- </div>
145145+ <div
146146+ class="mt-8 pt-6 border-t border-gray-200 dark:border-gray-700 text-sm text-gray-600 dark:text-gray-400">
147147+ <p>
148148+ These terms are effective as of the last updated date shown above
149149+ and will remain in effect except with respect to any changes in
150150+ their provisions in the future, which will be in effect immediately
151151+ after being posted on this page.
152152+ </p>
68153 </div>
154154+ </div>
69155 </div>
7070-</div>
156156+ </div>
71157{{ end }}