Skip to content

Commit

Permalink
Auto-update Tech namespace pages 2024-09-16 22:22:11.149399
Browse files Browse the repository at this point in the history
  • Loading branch information
Universal-Omega committed Sep 16, 2024
1 parent 60f1cd7 commit 51640a3
Show file tree
Hide file tree
Showing 10 changed files with 389 additions and 389 deletions.
38 changes: 19 additions & 19 deletions content/tech-docs/Tech:2018_Infrastructure_Assessment.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,25 @@ This is a page designed to be a working ground for analysing the infrastructure

## Current Infrastructure

| Server | Primary Use | Services | CPU | Disk | Memory | Price (/mo) |
| --- | --- | --- | --- | --- | --- | --- |
| [bacula1](https://meta.miraheze.org/wiki/Tech:bacula1) | Backups | bacula, salt-minion | 1x2.40GHz | 500G | 512MB | $12 |
| [cp2](https://meta.miraheze.org/wiki/Tech:cp2) | Caching | varnish, salt-minion | 1x3.40GHz | 25G | 256MB | $2.67 |
| [cp4](https://meta.miraheze.org/wiki/Tech:cp4) | Caching | varnish, salt-minion | 1x2.40GHz | 40G | 1GB | $3.50 |
| [cp5](https://meta.miraheze.org/wiki/Tech:cp5) | Caching | varnish, salt-minion | 1x2.30GHz | 25G | 1GB | $5 |
| [db4](https://meta.miraheze.org/wiki/Tech:db4) | Database | MariaDB, postgres, salt-minion, bacula-client | 4x3.30GHz | 377G | 16GB | $80 |
| [misc1](https://meta.miraheze.org/wiki/Tech:misc1) | Miscellaneous | dns, icinga, grafana, irc bots, mail, salt-minion | 1x2.40GHz | 40G | 1GB | $3.15 |
| [misc2](https://meta.miraheze.org/wiki/Tech:misc2) | Miscellaneous | redis, piwik, salt-minion | 1x2.40GHz | 40G | 1GB | $3.15 |
| [misc3](https://meta.miraheze.org/wiki/Tech:misc3) | Miscellaneous | parsoid, electron, restbase, salt, salt-minion | 2x2.40GHz | 60G | 2GB | $7 |
| [misc4](https://meta.miraheze.org/wiki/Tech:misc4) | Miscellaneous | bacula-client, lizardfs-master, phabricator | 2x2.40GHz | 60G | 2GB | $7 |
| [mw1](https://meta.miraheze.org/wiki/Tech:mw1) | MediaWiki | mediawiki, salt-minion | 4x3.30GHz | 75G | 1GB | $10 |
| [mw2](https://meta.miraheze.org/wiki/Tech:mw2) | MediaWiki | mediawiki, salt-minion | 4x3.30GHz | 75G | 1GB | $10 |
| [mw3](https://meta.miraheze.org/wiki/Tech:mw3) | MediaWiki | mediawiki, salt-minion, jobrunner | 4x3.30GHz | 75G | 1GB | $10 |
| [ns1](/tech-docs/techns1) | DNS | dns | 1x3.40GHz | 12G | 128MB | $1.13 |
| [puppet1](https://meta.miraheze.org/wiki/Tech:puppet1) | Puppet | puppet, salt-minion, bacula-client | 2x2.40GHz | 60G | 2GB | $7 |
| [lizardfs1](https://meta.miraheze.org/wiki/Tech:lizardfs1) | Static | lizardfs, salt-minion, bacula-client | 2x2.30GHz | 150G | 512MB | $4.85 |
| [lizardfs2](https://meta.miraheze.org/wiki/Tech:lizardfs2) | Static | lizardfs, salt-minion, bacula-client | 2x2.30GHz | 150G | 512MB | $4.85 |
| [test1](https://meta.miraheze.org/wiki/Tech:test1) | Testing | mediawiki, salt-minion | CPU: 1x2.40GHz | 40G | 1GB | $3.50 |
| Server | | Primary Use | | Services | | CPU | | Disk | | Memory | | Price (/mo) |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| [bacula1](https://meta.miraheze.org/wiki/Tech:bacula1) | | Backups | | bacula, salt-minion | | 1x2.40GHz | | 500G | | 512MB | | $12 |
| [cp2](https://meta.miraheze.org/wiki/Tech:cp2) | | Caching | | varnish, salt-minion | | 1x3.40GHz | | 25G | | 256MB | | $2.67 |
| [cp4](https://meta.miraheze.org/wiki/Tech:cp4) | | Caching | | varnish, salt-minion | | 1x2.40GHz | | 40G | | 1GB | | $3.50 |
| [cp5](https://meta.miraheze.org/wiki/Tech:cp5) | | Caching | | varnish, salt-minion | | 1x2.30GHz | | 25G | | 1GB | | $5 |
| [db4](https://meta.miraheze.org/wiki/Tech:db4) | | Database | | MariaDB, postgres, salt-minion, bacula-client | | 4x3.30GHz | | 377G | | 16GB | | $80 |
| [misc1](https://meta.miraheze.org/wiki/Tech:misc1) | | Miscellaneous | | dns, icinga, grafana, irc bots, mail, salt-minion | | 1x2.40GHz | | 40G | | 1GB | | $3.15 |
| [misc2](https://meta.miraheze.org/wiki/Tech:misc2) | | Miscellaneous | | redis, piwik, salt-minion | | 1x2.40GHz | | 40G | | 1GB | | $3.15 |
| [misc3](https://meta.miraheze.org/wiki/Tech:misc3) | | Miscellaneous | | parsoid, electron, restbase, salt, salt-minion | | 2x2.40GHz | | 60G | | 2GB | | $7 |
| [misc4](https://meta.miraheze.org/wiki/Tech:misc4) | | Miscellaneous | | bacula-client, lizardfs-master, phabricator | | 2x2.40GHz | | 60G | | 2GB | | $7 |
| [mw1](https://meta.miraheze.org/wiki/Tech:mw1) | | MediaWiki | | mediawiki, salt-minion | | 4x3.30GHz | | 75G | | 1GB | | $10 |
| [mw2](https://meta.miraheze.org/wiki/Tech:mw2) | | MediaWiki | | mediawiki, salt-minion | | 4x3.30GHz | | 75G | | 1GB | | $10 |
| [mw3](https://meta.miraheze.org/wiki/Tech:mw3) | | MediaWiki | | mediawiki, salt-minion, jobrunner | | 4x3.30GHz | | 75G | | 1GB | | $10 |
| [ns1](/tech-docs/techns1) | | DNS | | dns | | 1x3.40GHz | | 12G | | 128MB | | $1.13 |
| [puppet1](https://meta.miraheze.org/wiki/Tech:puppet1) | | Puppet | | puppet, salt-minion, bacula-client | | 2x2.40GHz | | 60G | | 2GB | | $7 |
| [lizardfs1](https://meta.miraheze.org/wiki/Tech:lizardfs1) | | Static | | lizardfs, salt-minion, bacula-client | | 2x2.30GHz | | 150G | | 512MB | | $4.85 |
| [lizardfs2](https://meta.miraheze.org/wiki/Tech:lizardfs2) | | Static | | lizardfs, salt-minion, bacula-client | | 2x2.30GHz | | 150G | | 512MB | | $4.85 |
| [test1](https://meta.miraheze.org/wiki/Tech:test1) | | Testing | | mediawiki, salt-minion | | CPU: 1x2.40GHz | | 40G | | 1GB | | $3.50 |

----
**Source**: [https://meta.miraheze.org/wiki/Tech:2018_Infrastructure_Assessment](https://meta.miraheze.org/wiki/Tech:2018_Infrastructure_Assessment)
46 changes: 23 additions & 23 deletions content/tech-docs/Tech:Cloud_Server_Comparison.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,29 @@ This page shows the old server name and which server it is being replaced by. It
This is as a good as direct comparsion but is expected to show the reasonable equivalent server. This is a rough guide.

[bacula1](https://meta.miraheze.org/wiki/Tech:bacula1) will also move from backupsy to RamNode at the same time and [cp3](https://meta.miraheze.org/wiki/Tech:cp3) is remaining as it is.
| Old Name | New Name | Cloud Server | Contact | Migrated |
| --- | --- | --- | --- | --- |
| [mw1](https://meta.miraheze.org/wiki/Tech:mw1) | mw4 | cloud1 | SPF | `{{ {{done}} }}` |
| [mw2](https://meta.miraheze.org/wiki/Tech:mw2) | mw5 | cloud1 | SPF | `{{ {{done}} }}` |
| [mw3](https://meta.miraheze.org/wiki/Tech:mw3) | mw6 | cloud2 | SPF | `{{ {{done}} }}` |
| - | mw7 | cloud2 | N/A | `{{ {{done}} }}` |
| [puppet1](https://meta.miraheze.org/wiki/Tech:puppet1) | puppet2 | cloud1 | SPF | `{{ {{done}} }}` |
| [misc3](https://meta.miraheze.org/wiki/Tech:misc3) / [misc4](https://meta.miraheze.org/wiki/Tech:misc4) | services1 | cloud1 | Paladox | `{{ {{done}} }}` |
| [misc3](https://meta.miraheze.org/wiki/Tech:misc3) / [misc4](https://meta.miraheze.org/wiki/Tech:misc4) | services2 | cloud2 | Paladox | `{{ {{done}} }}` |
| [misc1](https://meta.miraheze.org/wiki/Tech:misc1) | mail1 | cloud1 | John | `{{ {{done}} }}` |
| misc* (Grafana,Icinga,Prometheus,Matomo) | mon1 | cloud1 | SPF/Paladox | `{{ {{done}} }}` |
| [mw3](https://meta.miraheze.org/wiki/Tech:mw3) | jobrunner1 | cloud1 | SPF | `{{ {{done}} }}` |
| [misc2](https://meta.miraheze.org/wiki/Tech:misc2) | rdb1 | cloud1 | SPF | `{{ {{done}} }}` |
| [misc2](https://meta.miraheze.org/wiki/Tech:misc2) | rdb2 | cloud2 | SPF | `{{ {{done}} }}` |
| [misc4](https://meta.miraheze.org/wiki/Tech:misc4) | phab1 | cloud2 | SPF | `{{ {{done | migrated}} }}` |
| [misc1](https://meta.miraheze.org/wiki/Tech:misc1) | ns2 | cloud1 | John | `{{ {{done}} }}` |
| [db4](https://meta.miraheze.org/wiki/Tech:db4) / [db5](https://meta.miraheze.org/wiki/Tech:db5) | db6 | cloud1 | SPF | `{{ {{done | running phab}} }}` |
| [db4](https://meta.miraheze.org/wiki/Tech:db4) / [db5](https://meta.miraheze.org/wiki/Tech:db5) | dbt1 | cloud2 | N/A | `{{ {{done}} }}` |
| [cp2](https://meta.miraheze.org/wiki/Tech:cp2) | cp8 | OVH | SPF | `{{ {{done | migrated}} }}` |
| [cp4](https://meta.miraheze.org/wiki/Tech:cp4) | cp6 | cloud1 | SPF | `{{ {{done | migrated}} }}` |
| - | cp7 | cloud2 | N/A | `{{ {{done}} }}` |
| [test1](https://meta.miraheze.org/wiki/Tech:test1) | test2 | cloud2 | Paladox | `{{ {{done | migrated}} }}` |
| [lizardfs6](https://meta.miraheze.org/wiki/Tech:lizardfs6) | gluster1 | cloud2 | Paladox | `{{ {{done}} }}` |
| Old Name | | New Name | | Cloud Server | | Contact | | Migrated |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| [mw1](https://meta.miraheze.org/wiki/Tech:mw1) | | mw4 | | cloud1 | | SPF | | `{{ {{done}} }}` |
| [mw2](https://meta.miraheze.org/wiki/Tech:mw2) | | mw5 | | cloud1 | | SPF | | `{{ {{done}} }}` |
| [mw3](https://meta.miraheze.org/wiki/Tech:mw3) | | mw6 | | cloud2 | | SPF | | `{{ {{done}} }}` |
| - | | mw7 | | cloud2 | | N/A | | `{{ {{done}} }}` |
| [puppet1](https://meta.miraheze.org/wiki/Tech:puppet1) | | puppet2 | | cloud1 | | SPF | | `{{ {{done}} }}` |
| [misc3](https://meta.miraheze.org/wiki/Tech:misc3) / [misc4](https://meta.miraheze.org/wiki/Tech:misc4) | | services1 | | cloud1 | | Paladox | | `{{ {{done}} }}` |
| [misc3](https://meta.miraheze.org/wiki/Tech:misc3) / [misc4](https://meta.miraheze.org/wiki/Tech:misc4) | | services2 | | cloud2 | | Paladox | | `{{ {{done}} }}` |
| [misc1](https://meta.miraheze.org/wiki/Tech:misc1) | | mail1 | | cloud1 | | John | | `{{ {{done}} }}` |
| misc* (Grafana,Icinga,Prometheus,Matomo) | | mon1 | | cloud1 | | SPF/Paladox | | `{{ {{done}} }}` |
| [mw3](https://meta.miraheze.org/wiki/Tech:mw3) | | jobrunner1 | | cloud1 | | SPF | | `{{ {{done}} }}` |
| [misc2](https://meta.miraheze.org/wiki/Tech:misc2) | | rdb1 | | cloud1 | | SPF | | `{{ {{done}} }}` |
| [misc2](https://meta.miraheze.org/wiki/Tech:misc2) | | rdb2 | | cloud2 | | SPF | | `{{ {{done}} }}` |
| [misc4](https://meta.miraheze.org/wiki/Tech:misc4) | | phab1 | | cloud2 | | SPF | | `{{ {{done | migrated}} }}` |
| [misc1](https://meta.miraheze.org/wiki/Tech:misc1) | | ns2 | | cloud1 | | John | | `{{ {{done}} }}` |
| [db4](https://meta.miraheze.org/wiki/Tech:db4) / [db5](https://meta.miraheze.org/wiki/Tech:db5) | | db6 | | cloud1 | | SPF | | `{{ {{done | running phab}} }}` |
| [db4](https://meta.miraheze.org/wiki/Tech:db4) / [db5](https://meta.miraheze.org/wiki/Tech:db5) | | dbt1 | | cloud2 | | N/A | | `{{ {{done}} }}` |
| [cp2](https://meta.miraheze.org/wiki/Tech:cp2) | | cp8 | | OVH | | SPF | | `{{ {{done | migrated}} }}` |
| [cp4](https://meta.miraheze.org/wiki/Tech:cp4) | | cp6 | | cloud1 | | SPF | | `{{ {{done | migrated}} }}` |
| - | | cp7 | | cloud2 | | N/A | | `{{ {{done}} }}` |
| [test1](https://meta.miraheze.org/wiki/Tech:test1) | | test2 | | cloud2 | | Paladox | | `{{ {{done | migrated}} }}` |
| [lizardfs6](https://meta.miraheze.org/wiki/Tech:lizardfs6) | | gluster1 | | cloud2 | | Paladox | | `{{ {{done}} }}` |

----
**Source**: [https://meta.miraheze.org/wiki/Tech:Cloud_Server_Comparison](https://meta.miraheze.org/wiki/Tech:Cloud_Server_Comparison)
34 changes: 17 additions & 17 deletions content/tech-docs/Tech:Data_Processing_Inventory.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,27 @@ At the [Board meeting of October 23, 2020](https://meta.miraheze.org/wiki/Board/

## Data processors

| Processor | Website | Jurisdiction | Data processing agreement | Purpose | Data |
| --- | --- | --- | --- | --- | --- |
| DigitalOcean, LLC | [https://www.digitalocean.com/](https://www.digitalocean.com/) | United States | [https://www.digitalocean.com/legal/data-processing-agreement/](https://www.digitalocean.com/legal/data-processing-agreement/) | Hosting infrastructure | Usernames, real names, email addresses, IP addresses, (private) wiki content, passwords, optional user information, other usage information |
| OVH | [https://www.ovh.co.uk/](https://www.ovh.co.uk/) | France | [https://www.ovh.co.uk/support/termsofservice/Data%20Processing%20Agreement_UK.pdf](https://www.ovh.co.uk/support/termsofservice/Data%20Processing%20Agreement_UK.pdf) | Hosting infrastructure | Usernames, real names, email addresses, IP addresses, (private) wiki content, passwords, optional user information, other usage information |
| RamNode LLC | [https://ramnode.com/](https://ramnode.com/) | United States | [https://www.ramnode.com/gdpr-dpa.pdf](https://www.ramnode.com/gdpr-dpa.pdf) | Hosting infrastructure | Usernames, real names, email addresses, IP addresses, (private) wiki content, passwords, optional user information, other usage information |
| Processor | | Website | | Jurisdiction | | Data processing agreement | | Purpose | | Data |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| DigitalOcean, LLC | | [https://www.digitalocean.com/](https://www.digitalocean.com/) | | United States | | [https://www.digitalocean.com/legal/data-processing-agreement/](https://www.digitalocean.com/legal/data-processing-agreement/) | | Hosting infrastructure | | Usernames, real names, email addresses, IP addresses, (private) wiki content, passwords, optional user information, other usage information |
| OVH | | [https://www.ovh.co.uk/](https://www.ovh.co.uk/) | | France | | | [https://www.ovh.co.uk/support/termsofservice/Data%20Processing%20Agreement_UK.pdf](https://www.ovh.co.uk/support/termsofservice/Data%20Processing%20Agreement_UK.pdf) | | Hosting infrastructure | | Usernames, real names, email addresses, IP addresses, (private) wiki content, passwords, optional user information, other usage information |
| RamNode LLC | | [https://ramnode.com/](https://ramnode.com/) | | United States | | [https://www.ramnode.com/gdpr-dpa.pdf](https://www.ramnode.com/gdpr-dpa.pdf) | | Hosting infrastructure | | Usernames, real names, email addresses, IP addresses, (private) wiki content, passwords, optional user information, other usage information |

## Data processing

| Data type | Subjects | Legal basis | Retention date | Processors |
| --- | --- | --- | --- | --- |
| IP address | Editors, readers | Anonymous editors: consent<br />CheckUser (registered editor): legitimate interests | Anonymous editing: indefinite (attribution mandatory by licensing)<br />CheckUser (registered editor): up to 90 days | DigitalOcean, OVH, RamNode |
| Usernames | Registered editors | Consent (account may not be required <sub>(*reference:* Communities may require registration prior to reading and editing, but Miraheze Limited commits to information access without prior registration.)</sub>) | Indefinite (until account has been renamed or deleted by user or per GDPR request <sub>(*reference:* Due to attribution requirements by licensing, user accounts will not be erased, but accounts will be renamed to apply [pseudonymisation](https://en.wikipedia.org/wiki/Pseudonymization).)</sub>) | DigitalOcean, OVH, RamNode |
| Password | Registered users | Legitimate interests (account security) | Indefinite (until changed or removed by user or per GDPR request) | DigitalOcean, OVH, RamNode |
| Email address | Registered users | Consent (not required upon registration), legitimate interests (account security / password reset) | Indefinite (until removed or changed by user or per GDPR request) | DigitalOcean, OVH, RamNode |
| Optional user information (e.g. a user page, real name) | Editors | Consent | Indefinite (until edited or removed by user or per GDPR request) | DigitalOcean, OVH, RamNode |
| Data type | | Subjects | | Legal basis | | Retention date | | Processors |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| IP address | | Editors, readers | | Anonymous editors: consent<br />CheckUser (registered editor): legitimate interests | | Anonymous editing: indefinite (attribution mandatory by licensing)<br />CheckUser (registered editor): up to 90 days | | DigitalOcean, OVH, RamNode |
| Usernames | | Registered editors | | Consent (account may not be required <sub>(*reference:* Communities may require registration prior to reading and editing, but Miraheze Limited commits to information access without prior registration.)</sub>) | | Indefinite (until account has been renamed or deleted by user or per GDPR request <sub>(*reference:* Due to attribution requirements by licensing, user accounts will not be erased, but accounts will be renamed to apply [pseudonymisation](https://en.wikipedia.org/wiki/Pseudonymization).)</sub>) | | DigitalOcean, OVH, RamNode |
| Password | | Registered users | | Legitimate interests (account security) | | Indefinite (until changed or removed by user or per GDPR request) | | DigitalOcean, OVH, RamNode |
| Email address | | Registered users | | Consent (not required upon registration), legitimate interests (account security / password reset) | | Indefinite (until removed or changed by user or per GDPR request) | | DigitalOcean, OVH, RamNode |
| Optional user information (e.g. a user page, real name) | | Editors | | Consent | | Indefinite (until edited or removed by user or per GDPR request) | | DigitalOcean, OVH, RamNode |
| colspan="4" | *Access logs / analytics* |
| IP address | Editors, readers | Legitimate interests | Up to 90 days | DigitalOcean, OVH, RamNode |
| Timestamp of request | Editors, readers | Legitimate interests | Up to 90 days | DigitalOcean, OVH, RamNode |
| User agent | Editors, readers | Legitimate interests | Up to 90 days | DigitalOcean, OVH, RamNode |
| URL | Editors, readers | Legitimate interests | Up to 90 days | DigitalOcean, OVH, RamNode |
| Referer | Editors, readers | Legitimate interests | Up to 90 days | DigitalOcean, OVH, RamNode |
| IP address | | Editors, readers | | Legitimate interests | | Up to 90 days | | DigitalOcean, OVH, RamNode |
| Timestamp of request | | Editors, readers | | Legitimate interests | | Up to 90 days | | DigitalOcean, OVH, RamNode |
| User agent | | Editors, readers | | Legitimate interests | | Up to 90 days | | DigitalOcean, OVH, RamNode |
| URL | | Editors, readers | | Legitimate interests | | Up to 90 days | | DigitalOcean, OVH, RamNode |
| Referer | | Editors, readers | | Legitimate interests | | Up to 90 days | | DigitalOcean, OVH, RamNode |

**Legenda**

Expand Down
30 changes: 15 additions & 15 deletions content/tech-docs/Tech:Goals.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,21 +21,21 @@ Site Reliability Engineering tasks being considered for a goal are left at the d

## Review of Past Goals

| Goal Period | Number of Goals | Goals Resolved | Goals Unresolved | Completion Percentage |
| --- | --- | --- | --- | --- |
| July - December 2016 | 7 | 6 | 1 | 86% |
| January - June 2017 | 6 | 2 | 4 | 33% |
| July - December 2017 | 5 | 3 | 2 | 60% |
| January - June 2018 | 12 | 12 | 0 | 100% |
| July - December 2018 | 20 | 20 | 0 | 100% |
| January - June 2019 | 8 | 8 | 0 | 100% |
| July - December 2019 | 10 | 7 | 3 | 70% |
| January - June 2020 | 13 | 8 | 5 | 62% |
| July - December 2020 | 14 | 9 | 5 | 64% |
| January - June 2021 | 8 | 3 | 5 | 38% |
| July - December 2021 | 13 | 11 | 2 | 85% |
| January - June 2022 | 5 | 2 | 3 | 40% |
| July - December 2022 | 7 | 6 | 1 | 86% |
| Goal Period | | Number of Goals | | Goals Resolved | | Goals Unresolved | | Completion Percentage |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| July - December 2016 | | 7 | | 6 | | 1 | | 86% |
| January - June 2017 | | 6 | | 2 | | 4 | | 33% |
| July - December 2017 | | 5 | | 3 | | 2 | | 60% |
| January - June 2018 | | 12 | | 12 | | 0 | | 100% |
| July - December 2018 | | 20 | | 20 | | 0 | | 100% |
| January - June 2019 | | 8 | | 8 | | 0 | | 100% |
| July - December 2019 | | 10 | | 7 | | 3 | | 70% |
| January - June 2020 | | 13 | | 8 | | 5 | | 62% |
| July - December 2020 | | 14 | | 9 | | 5 | | 64% |
| January - June 2021 | | 8 | | 3 | | 5 | | 38% |
| July - December 2021 | | 13 | | 11 | | 2 | | 85% |
| January - June 2022 | | 5 | | 2 | | 3 | | 40% |
| July - December 2022 | | 7 | | 6 | | 1 | | 86% |

----
**Source**: [https://meta.miraheze.org/wiki/Tech:Goals](https://meta.miraheze.org/wiki/Tech:Goals)
Loading

0 comments on commit 51640a3

Please sign in to comment.