Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
1ba5879
feat: add SIMPL tests
xdxxxdx Feb 6, 2025
885075b
feat: Add SIMPL tests
xdxxxdx Feb 6, 2025
41d8ab5
feat: result 1.2.1.1
xdxxxdx Feb 6, 2025
50afc30
feat: test 1_2_2_1
xdxxxdx Feb 6, 2025
de232ee
feat: result 1.3.1.1a
xdxxxdx Feb 6, 2025
4007ac6
feat: result 1.3.1.5
xdxxxdx Feb 6, 2025
a0d2eeb
feat: add results
xdxxxdx Feb 6, 2025
87191f0
feat: result 2.2.3.1
xdxxxdx Feb 6, 2025
0ff03ad
feat: result 2.2.3.1.b
xdxxxdx Feb 6, 2025
31baf47
feat: result regarding on the catalog
xdxxxdx Feb 7, 2025
048f00a
feat: result 2.2.3.3
xdxxxdx Feb 7, 2025
baf3543
feat: result 2.2.3.4
xdxxxdx Feb 7, 2025
494308e
feat: result 3.1.1.1
xdxxxdx Feb 7, 2025
259b5aa
fix: change to SIMPL-OPEN project link
xdxxxdx Feb 10, 2025
75c13d8
feat: result 3.1.1.4
xdxxxdx Feb 10, 2025
5622552
feat: result 4.2.1.1
xdxxxdx Feb 10, 2025
1193deb
feat: test 4.2.1.3 & 4.2.1.6
xdxxxdx Feb 10, 2025
71ddefb
Merge pull request #438 from imec-int/main
xdxxxdx Feb 10, 2025
06c87f7
feat: result 4.2.1.3
xdxxxdx Feb 11, 2025
ddd0ed1
feat: result 4.2.1.6
xdxxxdx Feb 11, 2025
3fc5753
feat: result 4.2.1.7
xdxxxdx Feb 11, 2025
74c6f91
feat: result 4.2.3.1
xdxxxdx Feb 11, 2025
7621532
feat: result 4.2.3.2 (To be done)
xdxxxdx Feb 11, 2025
8a13da0
feat: result 4.2.3.2
xdxxxdx Feb 12, 2025
85aaa5a
feat: result 5.1.1.1
xdxxxdx Feb 12, 2025
dde595e
feat: result 5.2.1.1
xdxxxdx Feb 12, 2025
cd83752
feat: result 1.3.1.1.a
xdxxxdx Feb 12, 2025
834b173
feat: result 1.3.1.5
xdxxxdx Feb 12, 2025
d94435d
feat: result 1.2.2.1
xdxxxdx Feb 12, 2025
767b5c8
Update result_simpl.md
xdxxxdx Feb 12, 2025
d74b951
feat: result 2.1.3.2
xdxxxdx Feb 12, 2025
9d2082b
feat: result 2.2.3.1.a
xdxxxdx Feb 12, 2025
8efe972
feat: result 2.2.3.1b
xdxxxdx Feb 12, 2025
f03f072
feat: result 2.2.3.1b
xdxxxdx Feb 12, 2025
e3f278a
feat: result 2.2.3.1d
xdxxxdx Feb 12, 2025
57aac9d
feat: result updates
xdxxxdx Feb 12, 2025
ff4a24d
feat: update result 3.1.1.1
xdxxxdx Feb 12, 2025
0305958
feat: result 3.1.1.4
xdxxxdx Feb 12, 2025
4c8c603
feat: result 4.2.1.1
xdxxxdx Feb 12, 2025
dd75ff5
feat: update results
xdxxxdx Feb 12, 2025
caad44a
feat : update result
xdxxxdx Feb 12, 2025
f36a42a
feat: update results
xdxxxdx Feb 12, 2025
0aaa415
feat: result 2.2.2.1
xdxxxdx Feb 13, 2025
7ced37a
feat: result 2.2.2.4
xdxxxdx Feb 13, 2025
126ee5e
feat: result 2.2.2.4
xdxxxdx Feb 13, 2025
d80bb40
feat: result 2.2.2.10
xdxxxdx Feb 13, 2025
94ea45e
feat: result 2.1.3.1
xdxxxdx Feb 13, 2025
67b22e5
Update result_simpl.md
xdxxxdx Feb 13, 2025
415894e
Update result_simpl.md
xdxxxdx Feb 13, 2025
d6bd2b8
delete not exist test
xdxxxdx Feb 13, 2025
a6bdd26
feat: result 2.1.1.3
xdxxxdx Feb 17, 2025
7b2cebb
feat: result 2.2.1.3
xdxxxdx Feb 17, 2025
b2b5f00
Update result_simpl.md
xdxxxdx Feb 19, 2025
c8c45c7
feat: vocabulary hub 2.1.2.1
xdxxxdx Feb 20, 2025
85a5e79
fix: unify the chapter name
xdxxxdx Feb 20, 2025
d29848b
feat: result 2.1.2.2
xdxxxdx Feb 20, 2025
328451b
feat: update result for vocabulary hub
xdxxxdx Feb 20, 2025
43f64d4
Update result_simpl.md
xdxxxdx Feb 20, 2025
bf5f390
feat: vocabulary hub results
xdxxxdx Feb 21, 2025
678bca2
Update result_simpl.md
xdxxxdx Feb 21, 2025
713b1e1
Update result_simpl.md
xdxxxdx Feb 21, 2025
2969d33
fix: update packages
xdxxxdx Feb 21, 2025
c7de7ee
fix: upgrade cffi version to avoid github action issue
xdxxxdx Feb 21, 2025
a9444ad
fix: add score
xdxxxdx Feb 24, 2025
ee60233
Update result_simpl.md
xdxxxdx Feb 24, 2025
5e34a76
Update result_simpl.md
xdxxxdx Feb 24, 2025
7ba356f
fix: update result to correspond to EDC
xdxxxdx Feb 25, 2025
1d9dc7b
fix: update result to correspond to EDC
xdxxxdx Feb 25, 2025
34f65d6
fix: update result
xdxxxdx Feb 25, 2025
9da56b8
Update result_simpl.md
xdxxxdx Feb 25, 2025
56cf763
Simpl instead of SIMPL
xdxxxdx Feb 25, 2025
c35fad3
update typo
xdxxxdx Feb 25, 2025
9b01288
Update result_simpl.md
xdxxxdx Feb 25, 2025
10a0cd6
fix: remove access token
xdxxxdx Mar 3, 2025
48a39d6
Merge branch 'main' into feat/SIMPL
xdxxxdx Mar 10, 2025
e3ba987
feat: add disclaimer
xdxxxdx Apr 30, 2025
a1ab0c3
feat: add Simpl result to the matrix
xdxxxdx Apr 30, 2025
84f80f6
feat: add disclaimer to the matrix
xdxxxdx Apr 30, 2025
0b8ba0b
ci: Update package-lock to fix some vulnerabilities and bugs in curre…
caspervg May 5, 2025
02e14df
ci: Update Trivy workflow to use ubuntu-latest
caspervg May 5, 2025
4f42196
Update Trivy-secrete-scan.yaml
xdxxxdx May 11, 2025
1b37307
Update Trivy-secrete-scan.yaml
xdxxxdx May 11, 2025
0dff8be
Update Trivy-secrete-scan.yaml
xdxxxdx May 11, 2025
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
37 changes: 21 additions & 16 deletions .github/workflows/Trivy-secrete-scan.yaml
Original file line number Diff line number Diff line change
@@ -1,27 +1,32 @@
name: build
name: Code Scanning

on:
push:
branches:
- main
pull_request:

permissions:
actions: read
security-events: write

jobs:
build:
name: Build
runs-on: ubuntu-20.04
code-scanning:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v3

- name: Run Trivy vulnerability scanner in repo mode
uses: aquasecurity/trivy-action@0.28.0
with:
scan-type: 'fs'
ignore-unfixed: true
format: 'sarif'
output: 'trivy-results.sarif'
severity: 'CRITICAL'
- name: Run Trivy
env:
TRIVY_IGNORE_UNFIXED: true
TRIVY_SEVERITY: CRITICAL
TRIVY_FORMAT: sarif
TRIVY_OUTPUT: trivy-results.sarif
run: |
trivy fs --ignore-unfixed --severity CRITICAL --format sarif --output trivy-results.sarif .

- name: Upload Trivy scan results to GitHub Security tab
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: 'trivy-results.sarif'
sarif_file: trivy-results.sarif
token: ${{ secrets.GITHUB_TOKEN }}
107 changes: 56 additions & 51 deletions README.md

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion design_decisions/repository_mgmt/create_result_table.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ def find_score_in_results(result_files, keyword):

def _filter_result_data(results):
"""Filter results to include only those that are minimal and in phase 1 or that have at least one valid result"""
return [r for r in results if ((r['minimal'] == 'Yes' and r['phase'] in ['1']) or (r['result_edc'] != 'N/A' or r['result_fiware'] != 'N/A'))]
return [r for r in results if ((r['minimal'] == 'Yes' and r['phase'] in ['1']) or (r['result_edc'] != 'N/A' or r['result_fiware'] != 'N/A' or r['result_simpl'] != 'N/A'))]


def _prepare_result_data(results, github_base_url):
Expand Down Expand Up @@ -160,6 +160,7 @@ def _prepare_result_data(results, github_base_url):
'result_edc': result['result_edc'],
'result_pontus_x': result['result_pontus_x'],
'result_fiware': result['result_fiware'],
'result_simpl': result['result_simpl'],
})

return prepared_results
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@ import Link from '@site/src/components/Link';

# Score matrix

| Test ID | Customer Journey | Test Description | Phase | EDC MVD | Fiware | Simpl Agent |
| Test ID | Customer Journey | Test Description | Phase | EDC MVD | Fiware | Simpl Agent\* |
|---------|------------------|------------------|-------|---------|---------|-------------|
{%- for result in results %}
| <Link color="#25c2a0">[{{ result.test_id }}]({{ result.test_link }})</Link> | {{ result.customer_journey }} | {{ result.description }} | Phase {{result.phase}} {% if result.minimal == "Yes" %}Minimal{% else %}Extended{% endif %} | {{ result.result_edc }} | {{ result.result_fiware }} | {{ result.result_simpl }} |
{%- endfor %}

**Disclaimer:**

\* The results presented in this document reflect a snapshot in time of the **_[Simpl OPEN](https://code.europa.eu/simpl/simpl-open) version 1.0_**, as of **_February 2025_**. Please note that Simpl is a continuously evolving project. Future updates will introduce new features, enhancements, and improvements, addressing any identified limitations and expanding its capabilities over time.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## [2.1.1.1] Data product publication: Provision - Data source endpoint provisioning
### Stack: Simpl

### Statement of assessment
#### Environment
[TODO] Describe the environment used for the test / assessment

#### Tested quality metric and method
[TODO] Describe the quality metric and method used for the test / assessment

#### Comparative criteria (checklists, ...)
[TODO] Describe the comparative criteria used for the test / assessment. If possible, align with the criteria used for the same test in the other stack(s).

#### Expected output
[TODO] Describe the expected output and how the ranking is calculated

### Results
#### Assessment
[TODO] Describe the assessment results (qualitative results), if applicable. Include screenshots, logs, etc, if necessary.

#### Measured results
[TODO] Describe the measured results (quantitative results), if applicable. Rank the results according to the expected output, if applicable.

#### Notes
[TODO] Add notes, if necessary.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## [2.1.1.2] Data product publication: Provision - Data source endpoint provisioning
### Stack: Simpl

### Statement of assessment
#### Environment
[TODO] Describe the environment used for the test / assessment

#### Tested quality metric and method
[TODO] Describe the quality metric and method used for the test / assessment

#### Comparative criteria (checklists, ...)
[TODO] Describe the comparative criteria used for the test / assessment. If possible, align with the criteria used for the same test in the other stack(s).

#### Expected output
[TODO] Describe the expected output and how the ranking is calculated

### Results
#### Assessment
[TODO] Describe the assessment results (qualitative results), if applicable. Include screenshots, logs, etc, if necessary.

#### Measured results
[TODO] Describe the measured results (quantitative results), if applicable. Rank the results according to the expected output, if applicable.

#### Notes
[TODO] Add notes, if necessary.
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
## [2.1.1.3] Data product publication: Provision - Data source endpoint provisioning
### Stack: Simpl

### Statement of assessment
#### Environment

The testing environment is an IMEC self-deployed instances of [Simpl-Open](https://code.europa.eu/simpl/simpl-open) on
an IONOS Kubernetes cluster, the version used is 1.0.

#### Tested quality metric and method

The quality metric for this test is based on the criteria outlined in [iso27001_kpis_subkpis.xlsx](../../../../../design_decisions/background_info/iso27001_kpis_subkpis.xlsx). In Phase 1,
the focus is on the Functional Suitability metric. For detailed information, please refer to the [Comparative criteria (checklists, ...)](./test.md#comparative-criteria-checklists-) section in the test description.

#### Expected output
Evaluate the level of support for the following data formats

- GTFS - [Public dataset](https://opendata-ajuntament.barcelona.cat/data/dataset/c46503e3-cec6-4032-894d-1063b7a365ee/resource/1c92542e-0346-4df5-9824-d7753ab02e33/download) with direct download via HTTPS
- GTFS-RT - [Public dataset](https://api.data.gov.my/gtfs-realtime/vehicle-position/ktmb/) via APIs
- DATEX-II - [Public dataset](https://opendata.emel.pt/cycling/biciparks?skip=1&limit=1) via APIs
- DATX II Light - No available datasets for this data format, tests are skipped
- GBFS - [Public dataset](https://opendata.emel.pt/cycling/biciparks?skip=1&limit=1) via APIs
- WMS/WFS - [Public dataset](https://openmaps.gov.bc.ca/geo/ows?SERVICE=WMS&REQUEST=GetCapabilities) via APIs

Also access through APIs.
Access to private APIs is tested using the AMB mobilitat endpoint.

### Results
#### Assessment
[Simpl-Open](https://code.europa.eu/simpl/simpl-open) uses the EDC connector to implement the [Dataspace Protocol](https://docs.internationaldataspaces.org/ids-knowledgebase/dataspace-protocol).
The HttpData Plane used in the EDC test for all the above formats is also integrated into [Simpl-Open](https://code.europa.eu/simpl/simpl-open).

Therefore, from a functional perspective, [Simpl-Open](https://code.europa.eu/simpl/simpl-open) supports the above formats as the EDC connector does.

However, the main implementation of Simpl for data space focuses on user interface facilities.
The current built-in data offering template checks for IonosS3 storage data address, not HttpData.

But the above resources can be stored in and consumer to IonosS3: [edc-ionos-s3](https://github.com/Digital-Ecosystems/edc-ionos-s3/tree/main) without any problem.

#### Measured results

The Simpl stack fully supports all six types of data planes, same to the EDC, as explained in this test. Consequently, it is evaluated with the highest score in each of the criteria used to evaluate this test, as shown in the table below.

| **Criterion** | **Description** | **Score (0-4)** | **Explanation** |
|------------------------------|-----------------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------------|
| **Functional Completeness** | Technical requirements cover all the specified tasks and user objectives. | 4 | Artifacts can store a URL to any file format, and the file is stored in S3 storage. |
| **Functional Correctness** | Technical requirements meet results with the needed degree of precision. | 4 | The S3 storage can be easily configured for providing and consuming data. |
| **Functional Appropriateness**| Technical requirements facilitate the accomplishment of specified tasks and objectives. | 4 | The data plane is well implemented for data transfer. |

**Functional Suitability Quality Metric Score: 4**
#### Notes
The current testing version of Simpl is a very basic Minimum Viable Product solution, version 1.0.
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Functional suitability
#### ISO25010 Quality description
Can the provider integrate different data source methods (APIs, data bases, file systems, etc.)

### Evaluation Criteria
### Comparative criteria (checklists, ...)
The criteria used to measure the results was the one specified by the Data Product Publication ISO25010 Quality file regarding Functional Suitability.


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## [2.1.1.4] Data product publication: Provision - Data source endpoint provisioning
### Stack: Simpl

### Statement of assessment
#### Environment
[TODO] Describe the environment used for the test / assessment

#### Tested quality metric and method
[TODO] Describe the quality metric and method used for the test / assessment

#### Comparative criteria (checklists, ...)
[TODO] Describe the comparative criteria used for the test / assessment. If possible, align with the criteria used for the same test in the other stack(s).

#### Expected output
[TODO] Describe the expected output and how the ranking is calculated

### Results
#### Assessment
[TODO] Describe the assessment results (qualitative results), if applicable. Include screenshots, logs, etc, if necessary.

#### Measured results
[TODO] Describe the measured results (quantitative results), if applicable. Rank the results according to the expected output, if applicable.

#### Notes
[TODO] Add notes, if necessary.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## [2.1.1.5] Data product publication: Provision - Data source endpoint provisioning
### Stack: Simpl

### Statement of assessment
#### Environment
[TODO] Describe the environment used for the test / assessment

#### Tested quality metric and method
[TODO] Describe the quality metric and method used for the test / assessment

#### Comparative criteria (checklists, ...)
[TODO] Describe the comparative criteria used for the test / assessment. If possible, align with the criteria used for the same test in the other stack(s).

#### Expected output
[TODO] Describe the expected output and how the ranking is calculated

### Results
#### Assessment
[TODO] Describe the assessment results (qualitative results), if applicable. Include screenshots, logs, etc, if necessary.

#### Measured results
[TODO] Describe the measured results (quantitative results), if applicable. Rank the results according to the expected output, if applicable.

#### Notes
[TODO] Add notes, if necessary.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## [2.1.1.6] Data product publication: Provision - Data source endpoint provisioning
### Stack: Simpl

### Statement of assessment
#### Environment
[TODO] Describe the environment used for the test / assessment

#### Tested quality metric and method
[TODO] Describe the quality metric and method used for the test / assessment

#### Comparative criteria (checklists, ...)
[TODO] Describe the comparative criteria used for the test / assessment. If possible, align with the criteria used for the same test in the other stack(s).

#### Expected output
[TODO] Describe the expected output and how the ranking is calculated

### Results
#### Assessment
[TODO] Describe the assessment results (qualitative results), if applicable. Include screenshots, logs, etc, if necessary.

#### Measured results
[TODO] Describe the measured results (quantitative results), if applicable. Rank the results according to the expected output, if applicable.

#### Notes
[TODO] Add notes, if necessary.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## [2.1.1.7] Data product publication: Provision - Data source endpoint provisioning
### Stack: Simpl

### Statement of assessment
#### Environment
[TODO] Describe the environment used for the test / assessment

#### Tested quality metric and method
[TODO] Describe the quality metric and method used for the test / assessment

#### Comparative criteria (checklists, ...)
[TODO] Describe the comparative criteria used for the test / assessment. If possible, align with the criteria used for the same test in the other stack(s).

#### Expected output
[TODO] Describe the expected output and how the ranking is calculated

### Results
#### Assessment
[TODO] Describe the assessment results (qualitative results), if applicable. Include screenshots, logs, etc, if necessary.

#### Measured results
[TODO] Describe the measured results (quantitative results), if applicable. Rank the results according to the expected output, if applicable.

#### Notes
[TODO] Add notes, if necessary.
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
## [2.1.3.1] Data product publication: Provision - Reuse or create usage control policies / functions
### Stack: Simpl

### Statement of assessment
#### Environment
The testing environment is an IMEC self-deployed instances of [Simpl-Open](https://code.europa.eu/simpl/simpl-open) on an IONOS Kubernetes cluster, the version used is 1.0.

#### Tested quality metric and method
The quality metric for this test is based on the criteria outlined in [iso27001_kpis_subkpis.xlsx](../../../../../design_decisions/background_info/iso27001_kpis_subkpis.xlsx). In Phase 1, the focus is on the Functional Suitability metric. For detailed information, please refer to the [Comparative criteria (checklists, ...)](./test.md#comparative-criteria-checklists-) section in the test description.

#### Expected output
The test aims to assess how Usage Control Policies are deployed.

### Results
#### Assessment

[Simpl-Open](https://code.europa.eu/simpl/simpl-open) utilizes the [Simpl EDC Connection](https://code.europa.eu/simpl/simpl-open/development/gaia-x-edc/simpl-edc) to handle the [Dataspace Protocol](https://docs.internationaldataspaces.org/ids-knowledgebase/dataspace-protocol).
The [Simpl EDC Connection](https://code.europa.eu/simpl/simpl-open/development/gaia-x-edc/simpl-edc) includes the management API and policy engines of EDC.

Consequently, from an API perspective, Simpl shares the same API functions for managing policies as detailed in [result_edc_vc.md](result_edc_vc.md).

However, based on observations, the development focus of Simpl are on user interfaces, such as [simpl-sd-ui](https://code.europa.eu/simpl/simpl-open/development/gaia-x-edc/simpl-sd-ui), which allows data providers to create a self-description of the data product, including access and usage policies.
These user interfaces do not support functions for deletion or extending usage functions.

#### Measured results
Since Simpl's is packaged for Kubernetes, API access is challenging for its target users. However, as it uses EDC component's management APIs, the same API functions are available, and similar results should be shared between these two stacks. Therefore, the following scores are assigned to the test:
The criteria used to measure the results was the one specified by the Data Product Publication ISO25010 Quality file regarding Functional Suitability. Individual scores per action are detailed in the table below, as some actions received different scores according to the defined criteria.

| Action | **Functional Completeness** | **Functional Correctness** | **Functional Appropriateness** | Explanation |
|----------------------------------------------|--------------------------------|--------------------------------|-------------------------------------------|-------------|
| Create a new policy | 4 | 4 | 4 | |
| Assign a usage policy to a sharing agreement | 4 | 4 | 4 | |
| Delete a sharing agreement | 4 | 4 | 4 | |
| Delete a usage policy | 4 | 4 | 2 | |
| Update existing sharing agreement | 4 | 4 | 3 | |
| Update existing policy | 4 | 4 | 4 | |
| Extend the usage policy language | 1 | 1 | 1 | |
| Create new policy enforcement functions | 1 | 1 | 1 | |
| **Overall** | **(4 * 6 + 1 * 2) / 8 = 3.25** | **(4 * 6 + 1 * 2) / 8 = 3.25** | **(4 * 4 + 3 + 2 + 1 * 2) / 8 = 2.875** | |

Overall score calculation: (3.25 + 3.25 + 2.875) / 3 = 3.125

**Functional Suitability Quality Metric Score: 3.125**
#### Notes

The current testing version of Simpl is a very basic Minimum Viable Product solution, version 1.0.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Functional suitability
#### ISO25010 Quality description
The data producer uses an API to deploy and configure usage control policies.

### Evaluation Criteria
### Comparative criteria (checklists, ...)
The criteria used to measure the results was the one specified by the Data Product Publication ISO25010 Quality file regarding Functional Suitability.


Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ For current phase (phase 1), the test focus on the Functional suitability qualit

#### Expected output

The test aims to assess the ease of use of deploying Usage Control Policies in regards to the availability of a user interface.
The test aims to assess the ease of use of deploying Usage Control Policies in regard to the availability of a user interface.

### Results

Expand Down
Loading