Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Backport release_3.40] Replace a bunch of broken or redirected URLs #9678

Merged
merged 2 commits into from
Feb 26, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions docs/developers_guide/codingstandards.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
:local:

QGIS coding standards are described in the policy document available at `QEP #314 <https://github.com/qgis/QGIS-Enhancement-Proposals/blob/master/qep-314-coding-style.md>`_.
All developers are required to follow those policies. Please note that QEP #314 is a live document, and that these policies may change over time.
All developers are required to follow those policies.
Please note that QEP #314 is a live document, and that these policies may change over time.

Classes
=======
Expand Down Expand Up @@ -268,9 +269,8 @@ Improving sipify script

If some improvements are required for sipify script, please add the missing bits
to the demo file :source:`sipifyheader.h <tests/code_layout/sipify/sipifyheader.h>`
and create the expected header :source:`sipifyheader.expected.sip
<tests/code_layout/sipify/sipifyheader.expected.sip>`. This will also be
automatically tested as a unit test of the script itself.
and create the expected header :file:`sipifyheader.expected.sip` file.
This will also be automatically tested as a unit test of the script itself.


Settings
Expand Down Expand Up @@ -364,9 +364,8 @@ contribution by:
This feature was developed by: Chuck Norris https://chucknorris.kr

* writing an article about the new feature on a blog,
and add it to the QGIS planet https://plugins.qgis.org/planet/
and add it to `QGIS Planet <https://planet.qgis.org/>`_
* adding their name to:

* :source:`doc/CONTRIBUTORS`
* :source:`doc/AUTHORS`

6 changes: 3 additions & 3 deletions docs/developers_guide/git.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ Environment

To get started using and contributing to the QGIS repository, you need to:

#. have a `GitHub account <https://github.com/join>`_
#. have a `GitHub account <https://github.com/signup>`_
#. make your own copy of the `QGIS repository <https://github.com/qgis/QGIS>`_
(see `fork <https://docs.github.com/en/get-started/quickstart/fork-a-repo>`_)
(see `fork <https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo>`_)
#. have a :ref:`git client installed <installing_git>` on your system
#. set up your `git environment <https://docs.github.com/en/get-started/quickstart/set-up-git#setting-up-git>`_
#. set up your `git environment <https://docs.github.com/en/get-started/getting-started-with-git/set-up-git>`_
#. and have fun!


Expand Down
2 changes: 1 addition & 1 deletion docs/developers_guide/ogcconformancetesting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The Open Geospatial Consortium (OGC) provides tests which can be run free of
charge to make sure a server is compliant with a certain specification. This
chapter provides a quick tutorial to setup the WMS and OGC API Features tests
on an Ubuntu system. A detailed documentation can be found at the
`OGC website <https://www.ogc.org/compliance>`_.
`OGC website <https://www.ogc.org/announcement/compliance-testing-is-now-available-for-implementations-of-the-ogc-api-features-part-1-core-standard/>`_.


pyogctest
Expand Down
2 changes: 1 addition & 1 deletion docs/developers_guide/qtcreator.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Installing QtCreator
=====================

Qt Creator is available on all major platforms and can be downloaded from
https://www.qt.io/download (Go the open source route).
https://www.qt.io/download-dev (Go the open source route).
The installation procedure depends on your platform.

If you are running a Unix-like platform, you can use the command line,
Expand Down
2 changes: 1 addition & 1 deletion docs/documentation_guidelines/do_translations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ efforts.
Transifex
---------

The web-based translating platform `Transifex <https://app.transifex.com>`_ is used for all QGIS
The web-based translating platform `Transifex <https://www.transifex.com>`_ is used for all QGIS
translations: the desktop application itself (or GUI) and the documentation.
So the first thing you need is an account to login and get started.

Expand Down
4 changes: 2 additions & 2 deletions docs/documentation_guidelines/first_contribution.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ The GitHub web interface allows you to do the following:
* create, update, or delete branches

If you are not yet familiar with git and GitHub vocabulary, you may want to
read the GitHub `Hello-world <https://docs.github.com/en/get-started/quickstart/hello-world>`_
read the GitHub `Hello-world <https://docs.github.com/en/get-started/start-your-journey/hello-world>`_
project to learn some basic vocabulary and actions that will be used below.

.. note:: **If you are fixing a reported issue**
Expand All @@ -64,7 +64,7 @@ project to learn some basic vocabulary and actions that will be used below.
Fork QGIS-Documentation
--------------------------

Assuming you already have a `GitHub account <https://github.com/join>`_,
Assuming you already have a `GitHub account <https://github.com/signup>`_,
you first need to fork the source files of the documentation.

Navigate to the `QGIS-Documentation repository
Expand Down
2 changes: 1 addition & 1 deletion docs/documentation_guidelines/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Documentation Guidelines
========================

QGIS Documentation is available at https://docs.qgis.org.
QGIS Documentation is available at https://www.qgis.org/resources/hub/#documentation.
As the writing process is going on, a build is automatically run every day (see bottom of the page for exact time)
for all `supported versions <https://qgis.org/resources/roadmap/#release-schedule>`_
(testing, Long Term Release (LTR) and next-to-be LTR).
Expand Down
2 changes: 1 addition & 1 deletion docs/gentle_gis_introduction/raster_data.rst
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ Further reading
* DeMers, Michael N. (2005). Fundamentals of Geographic Information Systems. 3rd
Edition. Wiley. ISBN: 9814126195

**Website:** https://en.wikipedia.org/wiki/GIS_file_formats#Raster
**Website:** https://en.wikipedia.org/wiki/GIS_file_formats#Raster_formats

The QGIS User Guide also has more detailed information on working with raster
data in QGIS.
Expand Down
4 changes: 2 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ you can download for offline reading. They are accessible from the
* Help us :ref:`translate the documentation <translation_guidelines>` into your language
* Or talk to us on either the `qgis-community-team
<https://lists.osgeo.org/mailman/listinfo/qgis-community-team>`_ mailing-list,
the `#qgis <http://webchat.freenode.net/?channels=#qgis>`_ channel on IRC
or the `#qgis:matrix.org <http://matrix.to/#/#qgis:matrix.org>`_ room!
the `#qgis <https://web.libera.chat/?channels=#qgis>`_ channel on IRC
or the `#qgis:matrix.org <https://matrix.to/#/#qgis:osgeo.org>`_ room!


Please have a look into one of the documents below.
Expand Down
2 changes: 1 addition & 1 deletion docs/pyqgis_developer_cookbook/geometry.rst
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ coordinates in CRS of the layer.

Description and specifications of all possible geometries construction and
relationships are available in the `OGC Simple Feature Access Standards
<https://www.ogc.org/standards/sfa>`_ for advanced details.
<https://www.ogc.org/publications/standard/sfa>`_ for advanced details.

.. index:: Geometry; Construction

Expand Down
9 changes: 5 additions & 4 deletions docs/pyqgis_developer_cookbook/legend.rst
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,12 @@ two types of nodes: group nodes (:class:`QgsLayerTreeGroup <qgis.core.QgsLayerTr
and layer nodes (:class:`QgsLayerTreeLayer <qgis.core.QgsLayerTreeLayer>`).

.. note:: for more information you can read these blog posts of Martin Dobias:
`Part 1 <https://www.lutraconsulting.co.uk/blog/2014/07/06/qgis-layer-tree-api-part-1/>`_
`Part 2 <https://www.lutraconsulting.co.uk/blog/2014/07/25/qgis-layer-tree-api-part-2/>`_
`Part 3 <https://www.lutraconsulting.co.uk/blog/2015/01/30/qgis-layer-tree-api-part-3/>`_
`Part 1 <https://www.lutraconsulting.co.uk/blogs/qgis-layer-tree-api-part-1/>`_
`Part 2 <https://www.lutraconsulting.co.uk/blogs/qgis-layer-tree-api-part-2/>`_
`Part 3 <https://www.lutraconsulting.co.uk/blogs/qgis-layer-tree-api-part-3/>`_

The project layer tree can be accessed easily with the method :meth:`layerTreeRoot() <qgis.core.QgsProject.layerTreeRoot>`
The project layer tree can be accessed easily with the method
:meth:`layerTreeRoot() <qgis.core.QgsProject.layerTreeRoot>`
of the :class:`QgsProject <qgis.core.QgsProject>` class:

.. testcode:: legend
Expand Down
4 changes: 2 additions & 2 deletions docs/pyqgis_developer_cookbook/plugins/ide_debugging.rst
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ Installation
To use Eclipse, make sure you have installed the following

* `Eclipse <https://www.eclipse.org>`_
* `Aptana Studio 3 Plugin <http://www.aptana.com>`_ or `PyDev <https://www.pydev.org>`_
* QGIS 2.x
* `Aptana Studio 3 Plugin <https://www.axway.com/en/aptana>`_ or `PyDev <https://www.pydev.org>`_
* QGIS 3.x
* You may also want to install **Remote Debug**, a QGIS plugin. At the moment
it's still experimental so enable |checkbox| :guilabel:`Experimental plugins`
under :menuselection:`Plugins --> Manage and Install plugins... --> Options`
Expand Down
16 changes: 10 additions & 6 deletions docs/pyqgis_developer_cookbook/plugins/plugins.rst
Original file line number Diff line number Diff line change
Expand Up @@ -412,8 +412,7 @@ in different languages.
Software requirements
---------------------

The easiest way to create and manage all the translation files is to install
`Qt Linguist <https://doc.qt.io/qt-5/qtlinguist-index.html>`_.
The easiest way to create and manage all the translation files is to install `Qt Linguist`_.
In a Debian-based GNU/Linux environment you can install it typing::

sudo apt install qttools5-dev-tools
Expand Down Expand Up @@ -566,12 +565,11 @@ with the :ref:`Plugin Manager <plugins>`.
Automate packaging, release and translation with qgis-plugin-ci
---------------------------------------------------------------

`qgis-plugin-ci <https://opengisch.github.io/qgis-plugin-ci/>`_ provides a command line interface
`qgis-plugin-ci`_ provides a command line interface
to perform automated packaging and deployment for QGIS plugins on your computer,
or using continuous integration
like `GitHub workflows <https://docs.github.com/en/actions/using-workflows>`_
or `Gitlab-CI <https://docs.gitlab.com/ee/ci/>`_
as well as `Transifex <https://www.transifex.com/>`_ for translation.
like `GitHub workflows`_ or `Gitlab-CI`_
as well as `Transifex`_ for translation.

It allows releasing, translating, publishing or generating an XML plugin repository file via CLI or in CI actions.

Expand Down Expand Up @@ -625,3 +623,9 @@ done with :command:`pyrcc5` command:
modifying the PATH environment variable or specifiying the path to the
executable explicitly you should be able to find it at
:file:`<Your QGIS Install Directory>\\bin\\pyrcc5.exe`.

.. _Qt Linguist: https://doc.qt.io/qt-5/qtlinguist-index.html
.. _GitHub workflows: https://docs.github.com/en/actions/writing-workflows
.. _Gitlab-CI: https://docs.gitlab.com/ci/
.. _Transifex: https://www.transifex.com
.. _qgis-plugin-ci: https://opengisch.github.io/qgis-plugin-ci/
2 changes: 1 addition & 1 deletion docs/pyqgis_developer_cookbook/plugins/snippets.rst
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ in the QGIS code repository:

:meth:`iconPath() <qgis.core.QgsApplication.iconPath>` is another method to call QGIS
icons. Find examples of calls to theme icons at `QGIS embedded images - Cheatsheet
<https://static.geotribu.fr/toc_nav_ignored/qgis_resources_preview_table/>`_.
<https://geotribu.fr/toc_nav_ignored/qgis_resources_preview_table/>`_.


.. index:: Plugins; Customization
Expand Down
2 changes: 1 addition & 1 deletion docs/pyqgis_developer_cookbook/vector.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1688,4 +1688,4 @@ Further Topics
* exploring symbol layer and renderer registries


.. _supported formats by OGR: https://gdal.org/drivers/vector/index.html
.. _supported formats by OGR: https://gdal.org/en/latest/drivers/vector/index.html
8 changes: 4 additions & 4 deletions docs/server_manual/containerized_deployment.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ simple (simple Docker images) to sophisticated (Kubernetes and so on).
build or already built from registries (private or public).

.. note:: QGIS Debian-Ubuntu package downloads need a valid gpg authentication key.
Please refer to the `installation pages <https://www.qgis.org/fr/site/forusers/alldownloads.html#debian-ubuntu>`_
Please refer to the `installation pages <https://www.qgis.org/resources/installation-guide/#debian--ubuntu>`_
to update the following Dockerfile.

.. _simple-docker-images:
Expand Down Expand Up @@ -226,7 +226,7 @@ Swarm/docker-compose

Docker now has its own orchestrator: Swarm (compatible with docker-compose
files). You have to
`enable it <https://docs.docker.com/get-started/orchestration/#enable-docker-swarm>`_
`enable it <https://docs.docker.com/guides/orchestration/#enable-docker-swarm>`_
(the Mac version will also work with Linux).

.. _docker-compose-file:
Expand All @@ -235,7 +235,7 @@ Stack description
^^^^^^^^^^^^^^^^^

Now that you have Swarm working, create the service file (see
`Deploy to Swarm <https://docs.docker.com/get-started/swarm-deploy/>`_)
`Deploy to Swarm <https://docs.docker.com/guides/swarm-deploy/>`_)
:file:`qgis-stack.yaml`:

.. code-block:: yaml
Expand Down Expand Up @@ -306,7 +306,7 @@ Installation

If you have a **Docker Desktop** installation, using Kubernetes (aka
k8s) is pretty straight forward:
`enable k8s <https://docs.docker.com/get-started/orchestration/#enable-kubernetes>`_.
`enable k8s <https://docs.docker.com/guides/orchestration/#turn-on-kubernetes>`_.

If not, follow the
`minikube tutorial <https://kubernetes.io/docs/tutorials/hello-minikube/>`_
Expand Down
2 changes: 1 addition & 1 deletion docs/server_manual/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Frequently Asked Question

QGIS Desktop has a graphical user interface and allows you to create and modify maps.
QGIS Server is a server application serving your QGIS project files to end user
applications via OGC web services like `WMS, WFS, etc. <https://www.ogc.org/docs/is>`_.
applications via OGC web services like `WMS, WFS, etc. <https://www.ogc.org/publications>`_.

* *What is OGC?*

Expand Down
8 changes: 4 additions & 4 deletions docs/server_manual/getting_started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -444,8 +444,8 @@ QGIS Server needs a running X Server to be fully usable, in particular for print
In the case you already have a running X Server, you can use systemd services.

This method, to deploy QGIS Server, relies on two Systemd units to configure:
a `Socket unit <https://www.freedesktop.org/software/systemd/man/systemd.socket.html>`_
and a `Service unit <https://www.freedesktop.org/software/systemd/man/systemd.service.html>`_.
a `Socket unit <https://www.freedesktop.org/software/systemd/man/latest/systemd.socket.html>`_
and a `Service unit <https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html>`_.

#. The **QGIS Server Socket unit** defines and creates a file system socket,
used by NGINX to start and communicate with QGIS Server.
Expand Down Expand Up @@ -1008,7 +1008,7 @@ or to manually modify the path to the SVG image so that it represents a valid re
Integration with third parties
==============================

QGIS Server provides standard OGC web services like `WMS, WFS, etc. <https://www.ogc.org/docs/is>`_
QGIS Server provides standard OGC web services like `WMS, WFS, etc. <https://www.ogc.org/publications>`_
thus it can be used by a wide variety of end user tools.

Integration with QGIS Desktop
Expand All @@ -1028,7 +1028,7 @@ are not implemented yet.
Integration with MapProxy
-------------------------

`MapProxy <https://mapproxy.org/>`_ is a tile cache server and as it can read and
`MapProxy <https://www.mapproxy.org/>`_ is a tile cache server and as it can read and
serve any WMS/WMTS map server, it can be directly connected to QGIS server web
services and improve end user experience.

Expand Down
4 changes: 2 additions & 2 deletions docs/server_manual/services/ogcapif.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ OGC API Features
OGC API Features (OAPIF) is the first implementation of the new generation of OGC
protocols.
It is described by the `OGC API - Features - Part 1: Core
<http://docs.ogc.org/is/17-069r3/17-069r3.html>`_ document.
<https://docs.ogc.org/is/17-069r3/17-069r3.html>`_ document.

The API can be reached on typical installations via `http://localhost/qgisserver/wfs3`
The API can be reached on typical installations via ``http://localhost/qgisserver/wfs3``.

Here is a quick informal summary of the most important differences
between the well known WFS protocol and OAPIF:
Expand Down
4 changes: 2 additions & 2 deletions docs/server_manual/services/wcs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ QGIS project.

Specifications:

- `WCS 1.0.0 <http://docs.ogc.org/is/16-083r2/16-083r2.html>`_
- `WCS 1.1.1 <http://docs.ogc.org/is/09-146r8/09-146r8.html>`_
- `WCS 1.0.0 <https://docs.ogc.org/is/16-083r2/16-083r2.html>`_
- `WCS 1.1.1 <https://docs.ogc.org/is/09-146r8/09-146r8.html>`_

Standard requests provided by QGIS Server:

Expand Down
4 changes: 2 additions & 2 deletions docs/server_manual/services/wfs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -353,8 +353,8 @@ FILTER

This parameter allows to filter the response with the **Filter Encoding**
language defined by the
`OGC Filter Encoding standard <https://www.ogc.org/standards/filter>`_. For
example:
`OGC Filter Encoding standard <https://www.ogc.org/publications/standard/filter>`_.
For example:

.. code-block:: bash

Expand Down
2 changes: 1 addition & 1 deletion docs/training_manual/assessment/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Use your own data for this section. You will need:
- a line vector dataset of roads
- a polygon vector dataset of land use (using property boundaries)
- a visual-spectrum image (such as an aerial photograph)
- a DEM (downloadable from `the CGIAR-CSI <http://srtm.csi.cgiar.org/>`_ if you
- a DEM (downloadable from `the CGIAR-CSI <https://srtm.csi.cgiar.org/>`_ if you
don't have your own)

Create a base map
Expand Down
11 changes: 5 additions & 6 deletions docs/training_manual/forestry/basic_lidar.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ data and a hillshade raster.
-------------------------------------------------------------------------------

Managing LiDAR data within QGIS is possible using the Processing framework and
the algorithms provided by `LAStools <https://rapidlasso.com/2013/09/29/how-to-install-lastools-toolbox-in-qgis>`_.
the algorithms provided by `LAStools <https://rapidlasso.de/how-to-install-lastools-toolbox-in-qgis/>`_.

You can obtain a digital elevation model (DEM) from a LiDAR point cloud and then
create a hillshade raster that is visually more intuitive for presentation purposes.
Expand All @@ -36,7 +36,7 @@ properly work with LAStools:
the file :file:`QGIS_2_2_toolbox.zip`. Open it and extract the :kbd:`lidar`
folder to replace the one you just deleted.
* If you are using a different QGIS version, you can see more installation
instructions in `this tutorial <https://rapidlasso.com/2013/09/29/how-to-install-lastools-toolbox-in-qgis/>`_.
instructions in `this tutorial <https://rapidlasso.de/how-to-install-lastools-toolbox-in-qgis/>`_.

Now you need to install the LAStools to your computer. Get the newest
*lastools* version `here <https://lastools.github.io/download/LAStools.zip>`_
Expand Down Expand Up @@ -102,7 +102,7 @@ click and drag on the viewer to pan the LiDAR point cloud to see what it looks l

.. note:: If you want to know further details on how the LAStools work, you can
read the :file:`README` text files about each of the tools, in the :file:`C:\\lastools\\bin\\`
folder. Tutorials and other materials are available at the `Rapidlasso webpage <https://rapidlasso.com/>`_.
folder. Tutorials and other materials are available at the `Rapidlasso webpage <https://rapidlasso.de/>`_.

* Close the viewer when you are ready.

Expand Down Expand Up @@ -130,9 +130,8 @@ you can click the letter :kbd:`g` to visualize only the ground points or the
letter :kbd:`u` to see only the unclassified points. Click the letter :kbd:`a`
to see all the points again. Check the :file:`lasview_README.txt` file for more
commands. If you are interested, also this `tutorial
<https://rapidlasso.com/2014/03/02/tutorial-manual-lidar-editing/>`_
about editing LiDAR points manually will show you different operations within
the viewer.
<https://rapidlasso.de/tutorial-manual-lidar-editing/>`_
about editing LiDAR points manually will show you different operations within the viewer.

* Close the viewer again.
* In the :guilabel:`Processing Toolbox`, search for :kbd:`las2dem`.
Expand Down
4 changes: 2 additions & 2 deletions docs/training_manual/forestry/forestry_intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ Forestry Sample Data
data set and is available in the :file:`exercise_data\\forestry\\` folder.

The forestry related sample data (forestry map, forest data), has been provided
by the `EVO-HAMK forestry school <https://www.hamk.fi/campuses-and-maps/evo/?lang=en>`_.
by the `EVO-HAMK forestry school <https://www.hamk.fi/en/campus/evo/>`_.
The datasets have been modified to adapt to the lessons needs.

The general sample data (aerial images, LiDAR data, basic maps) has been
obtained from the National Land Survey of Finland open data service, and adapted
for the purposes of the exercises. The open data file download service can be
accessed in English `here <https://tiedostopalvelu.maanmittauslaitos.fi/tp/kartta?lang=en>`_.
accessed in English `here <https://asiointi.maanmittauslaitos.fi/karttapaikka/tiedostopalvelu?lang=en>`_.


.. warning::
Expand Down
2 changes: 1 addition & 1 deletion docs/training_manual/forestry/systematic_sampling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ save your data:
#. In :guilabel:`CRS` select :guilabel:`Selected CRS`.
#. Browse for :guilabel:`EPSG:4326 - WGS 84`.

.. note:: The `GPX <https://gdal.org/drivers/vector/gpx.html>`_ format
.. note:: The `GPX <https://gdal.org/en/latest/drivers/vector/gpx.html>`_ format
accepts only this CRS, if you select
a different one, QGIS will give no error but you will get an empty file.

Expand Down
Loading
Loading