Sync release 0.21 (#2165)

* [INJIMOB-3622] Fix alignment in history screen  (#2140)

* [INJIMOB-3622]: clear the history page issue

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

* [INJIMOB-3622]: clear the history page issue

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

---------

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

* [INJIMOB-3647] refactor: enhance response structure of credential status check (#2145)

* [INJIMOB-3647] refactor: udpate vc verifier RN module

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] refactor: update reverification logic

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] refactor: modify status response structure

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] refactor: update response resolving of status check in swift bridge

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] refactor: update info logs to print status message

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] refactor: modify type from map to record

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] refactor: remove unnecessary async function

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] refactor: Credential summary result structure

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

---------

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* Injimob-3651: revert all the branding changes (#2151)

* Revert "[INJIMOB-3622] Fix alignment in history screen  (#2140)"

This reverts commit a0b08914e5.

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

* Revert "Injimob [3622] [3627] - BANNER ISSUE AND BRANDING CHANGES ISSUES  (#2130)"

This reverts commit 522104811c.

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

* Revert "[INJIMOB-3633][INJIMOB-3636] fix icon bg color across app (#2134)"

This reverts commit d8d718693d.

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

* Revert "[INJIMOB-3633] fix search bar clear icon not apperaing (#2133)"

This reverts commit 6a202b11af.

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

* [INJIMOB-3651]: revert all the branding changes

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

* [INJIMOB-3651]: update all the snapshot

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

---------

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

* [INJIMOB-3647] refactor: update isRevoked data type (#2149)

* [INJIMOB-3647] refactor: modify data type of isRevoked to EvaluationStatus

Type representing any possible value of EvaluationStatus.

- "TRUE" → Condition was evaluated and is positively true
- "FALSE" → Condition was evaluated and is definitively false
- "UNDETERMINED" → Condition could not be evaluated due to an error

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] refactor: modify data type of isRevoked to EvaluationStatus

Type representing any possible value of EvaluationStatus.

- "TRUE" → Condition was evaluated and is positively true
- "FALSE" → Condition was evaluated and is definitively false
- "UNDETERMINED" → Condition could not be evaluated due to an error

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] refactor: change statuslistVC type to record from string

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

# Conflicts:
#	shared/vcjs/verifyCredential.ts

* [INJIMOB-3647] refactor: update status revoke check to check for null status

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] refactor: VCMetadat constructor isRevoked param

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] refactor: rename EvaluationStatus to RevocationStatus

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] refactor: modify revocation status logs

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

---------

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* Injimob-3651: update the new branding changes (#2154)

* [INJIMOB-3622]: add the new branding changes

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

* [INJIMOB-3651]: update the new branding changes

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

* [INJIMOB-3651]: update the new snapshots

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

* [INJIMOB-3651]: update the changes mentioned deskcheck

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>

---------

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>
Signed-off-by: jaswanthkumartw <jaswanthkumar.p@thoughtworks.com>

* [INJIMOB-3647] fix error condition in ios revocation (#2157)

Signed-off-by: Abhishek Paul <paul.apaul.abhishek.ap@gmail.com>

* [INJIMOB-3581] add doc for revocation support (#2158)

Signed-off-by: Abhishek Paul <paul.apaul.abhishek.ap@gmail.com>

* [INJIMOB-3658] update openid4vp dependencies to 0.6.0 (#2160)

Signed-off-by: Abhishek Paul <paul.apaul.abhishek.ap@gmail.com>

* INJIMOB-3659: Removing inji wallet ui automation folder from release-0.21.x branch (#2161)

Signed-off-by: maheswaras <maheswara.s@cyberpwn.com>

* INJIMOB-3659: Removing inji wallet ui automation folder from release-0.21.x branch (#2162)

* INJIMOB-3659: Removing inji wallet ui automation folder from release-0.21.x branch

Signed-off-by: maheswaras <maheswara.s@cyberpwn.com>

* INJIMOB-3659: Removing inji wallet ui automation folder from release-0.21.x branch

Signed-off-by: maheswaras <maheswara.s@cyberpwn.com>

---------

Signed-off-by: maheswaras <maheswara.s@cyberpwn.com>

* refactor: replace @expo-google-fonts/montserrat with @expo-google-fonts/inter in package-lock.json

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] fix: change inter to montserrat font

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

* [INJIMOB-3647] refcator: update useFont with montserrat font

Flows - first time VC receved by receiver

Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>

---------

Signed-off-by: jaswanthkumarpolisetty <jaswanthkumar.p@thoughtworks.com>
Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>
Signed-off-by: jaswanthkumartw <jaswanthkumar.p@thoughtworks.com>
Signed-off-by: Abhishek Paul <paul.apaul.abhishek.ap@gmail.com>
Signed-off-by: maheswaras <maheswara.s@cyberpwn.com>
Co-authored-by: jaswanthkumartw <jaswanthkumar.p@thoughtworks.com>
Co-authored-by: abhip2565 <paul.apaul.abhishek.AP@gmail.com>
Co-authored-by: maheswaras <maheswara.s@cyberpwn.com>
This commit is contained in:
KiruthikaJeyashankar
2025-12-08 17:09:25 +05:30
committed by GitHub
parent c074695c8c
commit 703e03057d
345 changed files with 1678 additions and 30337 deletions

View File

@@ -76,93 +76,3 @@ jobs:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
ORG_KEY: ${{ secrets.ORG_KEY }}
SLACK_WEBHOOK_URL: '${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}'
build-maven-uitest-inji-wallet:
uses: mosip/kattu/.github/workflows/maven-build.yml@master-java21
with:
SERVICE_LOCATION: ./injitest
BUILD_ARTIFACT: uitest-inji-wallet
secrets:
OSSRH_USER: ${{ secrets.OSSRH_USER }}
OSSRH_SECRET: ${{ secrets.OSSRH_SECRET }}
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }}
GPG_SECRET: ${{ secrets.GPG_SECRET }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}
build-uitest-inji-wallet-local:
needs: build-maven-uitest-inji-wallet
runs-on: ubuntu-latest
env:
NAMESPACE: ${{ secrets.dev_namespace_docker_hub }}
SERVICE_NAME: uitest-inji-wallet
SERVICE_LOCATION: injitest
BUILD_ARTIFACT: uitest-inji-wallet-local
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '21'
server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file
- name: Cache local Maven repository
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Setup the settings file for ossrh server
run: echo "<settings> <servers> <server> <id>ossrh</id> <username>${{secrets.ossrh_user}}</username> <password>${{secrets.ossrh_secret}}</password> </server> </servers> <profiles> <profile> <id>ossrh</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <gpg.executable>gpg2</gpg.executable> <gpg.passphrase>${{secrets.gpg_secret}}</gpg.passphrase> </properties> </profile> <profile> <id>allow-snapshots</id> <activation><activeByDefault>true</activeByDefault></activation> <repositories> <repository> <id>snapshots-repo</id> <url>https://oss.sonatype.org/content/repositories/snapshots</url> <releases><enabled>false</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> <repository> <id>releases-repo</id> <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>false</enabled></snapshots> </repository> </repositories> </profile> <profile> <id>sonar</id> <properties> <sonar.sources>.</sonar.sources> <sonar.host.url>https://sonarcloud.io</sonar.host.url> </properties> <activation> <activeByDefault>false</activeByDefault> </activation> </profile> </profiles> </settings>" > $GITHUB_WORKSPACE/settings.xml
- name: Build uitest-inji-wallet with Maven
run: |
cd ${{ env.SERVICE_LOCATION}}
mvn -U -B package -DskipTests -Dmaven.wagon.http.retryHandler.count=2 --file pom.xml -s $GITHUB_WORKSPACE/settings.xml
- name: Ready the springboot artifacts
if: ${{ !contains(github.ref, 'master') || !contains(github.ref, 'main') }}
run: |
## FIND JARS & COPY ONLY EXECUTABLE JARs STORED UNDER TARGET DIRECTORY
find ${{ env.SERVICE_LOCATION }} -path '*/target/*' -name '*.jar' -type f -exec zip ${{ env.BUILD_ARTIFACT }}.zip {} +
- name: Upload the springboot jars
if: ${{ !contains(github.ref, 'master') || !contains(github.ref, 'main') }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.BUILD_ARTIFACT }}
path: ${{ env.BUILD_ARTIFACT }}.zip
- uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
fields: repo,message,author,commit,workflow,job # selectable (default: repo,message)
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required
if: failure() # Pick up events even if the job fails or is canceled.
build-docker-uitest-inji-wallet:
needs: build-uitest-inji-wallet-local
strategy:
matrix:
include:
- SERVICE_LOCATION: 'injitest'
SERVICE_NAME: 'uitest-inji-wallet'
BUILD_ARTIFACT: 'uitest-inji-wallet-local'
ONLY_DOCKER: true
fail-fast: false
name: ${{ matrix.SERVICE_NAME }}
uses: mosip/kattu/.github/workflows/docker-build.yml@master-java21
with:
SERVICE_LOCATION: ${{ matrix.SERVICE_LOCATION }}
SERVICE_NAME: ${{ matrix.SERVICE_NAME }}
BUILD_ARTIFACT: ${{ matrix.BUILD_ARTIFACT }}
ONLY_DOCKER: ${{ matrix.ONLY_DOCKER }}
secrets:
DEV_NAMESPACE_DOCKER_HUB: ${{ secrets.DEV_NAMESPACE_DOCKER_HUB }}
ACTOR_DOCKER_HUB: ${{ secrets.ACTOR_DOCKER_HUB }}
RELEASE_DOCKER_HUB: ${{ secrets.RELEASE_DOCKER_HUB }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_INJI_TEAM }}

View File

@@ -32,7 +32,7 @@ fileignoreconfig:
- filename: shared/fileStorage.ts
checksum: 2ba2721d9722cd9420ae26762316230f7dab1a0be45820cbda4d0ecae0edf957
- filename: screens/Issuers/IssuersScreen.tsx
checksum: a323497d3276f0ef20ddd6b94d2238a895651d853c3d8f055acc3351dc72da0b
checksum: 710c29923aff8135fdae959b334dcc22ee1e92c8139943d5e988a85fee9446f6
- filename: screens/Home/MyVcs/GetIdInputModal.tsx
checksum: 5c736ed79a372d0ffa7c02eb33d0dc06edbbb08d120978ff287f5f06cd6c7746
- filename: shared/openId4VCI/Utils.ts
@@ -64,7 +64,7 @@ fileignoreconfig:
- filename: assets/Finger_Print_Icon.svg
checksum: 776d4fe4fc4b54d185ccf97daf0511b9fe2c0e0f7c1a809047020e5e8a100db6
- filename: screens/MainLayout.tsx
checksum: dd31361997111c28461239e986112a30ee986e99432ac3016033508863b90ddd
checksum: 8909ef957c866221e864c6edaf93081af7f5968857200284bf7047631f525322
- filename: android/app/build.gradle
checksum: 8d5715e179a398518e6acff82c75b27077c9f893dc90b2972c77f9a09f10be95
- filename: .github/workflows/push-triggers.yml
@@ -270,7 +270,7 @@ fileignoreconfig:
- filename: machines/Issuers/IssuersService.ts
checksum: e3832dff27687abc28609d2b281e570b4b0017995b7cfb56627a6b96949c469a
- filename: screens/Home/ViewVcModal.tsx
checksum: cfb25d562185488432b76287c4ef93359c1c64d8e29f5755d4c0a726c1485442
checksum: 847d45d566b7fc86dd3ebbba74bf587399dd7754466e42ebdecd462a157705e9
- filename: injitest/src/main/resources/TestData.json
checksum: 1b5af14c96b456898259b4cb7a5607b006404cf0360274bdc204d7d065698e3c
- filename: injitest/src/test/java/androidTestCases/ActivateVcTest.java
@@ -337,7 +337,7 @@ fileignoreconfig:
- filename: android/app/src/main/java/io/mosip/residentapp/InjiVciClientModule.java
checksum: 17f55840bab193bc353034445ba4fce53e1ce466e95f616c15a1351f8d2f23bc
- filename: ios/Inji.xcworkspace/xcshareddata/swiftpm/Package.resolved
checksum: f1e1c7e8e92ebaf9a46a8916e65b756f059fc60e1149882c46e1b866c5fafe4e
checksum: bcc72f829e293bfe7f1e3c688b3aeef8649f8bbfd8956ae78ab02cdcfc15bf66
- filename: injitest/src/main/resources/Vids.json
checksum: 8bcffed7a6dd565ae695e1b29de0655e10bd5c5420af2718defd593a687b8817
- filename: injitest/src/main/java/inji/utils/UpdateNetworkSettings.java
@@ -385,7 +385,7 @@ fileignoreconfig:
- filename: android/app/src/main/java/io/mosip/residentapp/InjiOpenId4VPModule.java
checksum: 6b315164dca5de95c11e0dc8cbb480207b19c312b1c9135adc39ef74a1ff7e35
- filename: screens/Scan/SendVPScreenController.ts
checksum: f898ac7f1ecfa1df17e33b327d675f57debf2d5bd56052fc047dd03577354590
checksum: aa228c43a01e653b9da6ee354a39c942bec25848aa9631650611d1b5f85623d7
- filename: screens/Scan/SendVPScreen.tsx
checksum: de80cb9a932ed99e224438a8c373d117807101a39a440e97977654ef6935af6c
- filename: machines/openID4VP/openID4VPMachine.typegen.ts
@@ -408,12 +408,21 @@ fileignoreconfig:
checksum: 02f7d58fb149ecd3f10dd0bdfb6e85c4b3ae41d29a40d192056ffec0367b53c6
- filename: components/VC/Views/VCDetailView.tsx
checksum: 890c216a5632ac77b938f2f58f2123a669ea45b933a41931b8e7324e315f2d50
- filename: package-lock.json
checksum: bb9c44dfa47bc6e1ff62c2e2f2293cf2fb5ff3eb1bfba27d3727992c2ae0dca7
- filename: components/ui/SetupPicker.tsx
checksum: 669e85d1c8ff526b97fa4ed4b8ed33a100eaba9f2f41bceccd75dc7a85a12103
- filename: components/ui/Picker.tsx
checksum: 5be293ee41d3e3bd5924320d63074d2c196d3163c99c39991632477ed9fcd871
- filename: components/ui/SetupPicker.tsx
checksum: 669e85d1c8ff526b97fa4ed4b8ed33a100eaba9f2f41bceccd75dc7a85a12103
- filename: screens/Home/MyVcsTab.tsx
checksum: 68ff83c5d9062fbc077d008956fa654540253c52ce68d7105c175c51562b3dc9
- filename: package-lock.json
checksum: 3a38d02673f03c2edf1daa2003a3ff2b191482a1d26a97f945f7656b9e2cfcce
- filename: screens/IntroSliders/secureShareIntro.tsx
checksum: ea51350b13ce6287c8965d177bfef275e117e16e42c119f46c738a444dfc0beb
- filename: shared/backupUtils/restoreData.ts
checksum: 5fb43d26b6ef53f72c48dcdf611be12170c3859f81ffd405d15cfe2feaeac706
- filename: components/VC/common/VcStatustooTip.tsx
checksum: a48c88da719fadcb3d1aeb730a23735709c0c198351104203abd03445f6cc76f
- filename: screens/Settings/KeyManagementScreen.tsx
checksum: 6871fad16ecb5f019f502b2f7f715bc2a7b646ee08026b321aa1f8ce071dccc1
version: "1.0"

View File

@@ -268,7 +268,7 @@ dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
implementation("io.mosip:injivcrenderer-aar:0.1.0")
implementation("io.mosip:inji-openid4vp-aar:0.6.0-SNAPSHOT"){
implementation("io.mosip:inji-openid4vp-aar:0.6.0"){
changing = true
exclude group: 'org.bouncycastle', module: 'bcpkix-jdk15on'
exclude group: 'org.bouncycastle', module: 'bcpkix-jdk18on'

150
assets/Logomark.svg Normal file
View File

@@ -0,0 +1,150 @@
<svg width="45" height="47" viewBox="0 0 45 47" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_dd_1778_4441)">
<path d="M34.0957 7.68184C33.9731 8.13543 33.7567 8.55848 33.4604 8.92384C32.7751 9.65073 31.901 10.1741 30.9351 10.4358C30.8206 10.4634 30.7145 10.5183 30.626 10.5958C30.5225 10.7414 30.4722 10.9178 30.4835 11.0958C30.4551 11.6837 30.2545 12.2504 29.9064 12.7258C29.7334 12.9579 29.5075 13.1456 29.2472 13.2734C28.987 13.4012 28.7 13.4655 28.4099 13.4608C28.1477 13.431 27.8898 13.3716 27.6411 13.2838C25.8666 12.7943 24.0452 12.4926 22.2072 12.3838C21.0936 12.3584 19.9918 12.15 18.9463 11.7668C18.0269 11.3668 16.8727 10.4158 16.957 9.30083C16.9188 7.97574 17.0452 6.65102 17.3334 5.35683C17.4499 5.01888 17.5977 4.69247 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="#FEC401"/>
<mask id="mask0_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.9731 8.13543 33.7567 8.55848 33.4604 8.92384C32.7751 9.65073 31.901 10.1741 30.9351 10.4358C30.8206 10.4634 30.7145 10.5183 30.626 10.5958C30.5225 10.7414 30.4722 10.9178 30.4835 11.0958C30.4551 11.6837 30.2545 12.2504 29.9064 12.7258C29.7334 12.9579 29.5075 13.1456 29.2472 13.2734C28.987 13.4012 28.7 13.4655 28.4099 13.4608C28.1477 13.431 27.8898 13.3716 27.6411 13.2838C25.8666 12.7943 24.0452 12.4926 22.2072 12.3838C21.0936 12.3584 19.9918 12.15 18.9463 11.7668C18.0269 11.3668 16.8727 10.4158 16.957 9.30083C16.9188 7.97574 17.0452 6.65102 17.3334 5.35683C17.4499 5.01888 17.5977 4.69247 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask0_1778_4441)">
<path d="M30.0319 42.7584C34.2984 42.7584 37.7572 39.2644 37.7572 34.9544C37.7572 30.6444 34.2984 27.1504 30.0319 27.1504C25.7654 27.1504 22.3066 30.6444 22.3066 34.9544C22.3066 39.2644 25.7654 42.7584 30.0319 42.7584Z" fill="#01A2FD"/>
</g>
<mask id="mask1_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.9731 8.13543 33.7567 8.55848 33.4604 8.92384C32.7749 9.65048 31.9009 10.1738 30.9351 10.4358C30.8206 10.4634 30.7145 10.5183 30.626 10.5958C30.5225 10.7414 30.4722 10.9178 30.4835 11.0958C30.4551 11.6837 30.2545 12.2504 29.9064 12.7258C29.7334 12.9579 29.5075 13.1456 29.2472 13.2734C28.987 13.4012 28.7 13.4655 28.4099 13.4608C28.1477 13.431 27.8898 13.3716 27.6411 13.2838C25.8666 12.7943 24.0452 12.4927 22.2072 12.3838C21.0936 12.3584 19.9918 12.15 18.9463 11.7668C18.0269 11.3668 16.8727 10.4158 16.957 9.30083C16.9188 7.97574 17.0452 6.65102 17.3334 5.35683C17.4499 5.01888 17.5977 4.69247 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask1_1778_4441)">
<path d="M7.9047 24.0002C9.65023 24.0002 11.0653 22.5711 11.0653 20.8082C11.0653 19.0453 9.65023 17.6162 7.9047 17.6162C6.15917 17.6162 4.74414 19.0453 4.74414 20.8082C4.74414 22.5711 6.15917 24.0002 7.9047 24.0002Z" fill="#F97707"/>
</g>
<mask id="mask2_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.9731 8.13543 33.7567 8.55848 33.4604 8.92384C32.7751 9.65073 31.901 10.1741 30.9351 10.4358C30.8206 10.4634 30.7145 10.5183 30.626 10.5958C30.5225 10.7414 30.4722 10.9178 30.4835 11.0958C30.4551 11.6837 30.2545 12.2504 29.9064 12.7258C29.7334 12.9579 29.5075 13.1456 29.2472 13.2734C28.987 13.4012 28.7 13.4655 28.4099 13.4608C28.1477 13.431 27.8898 13.3716 27.6411 13.2838C25.8666 12.7943 24.0452 12.4926 22.2072 12.3838C21.0936 12.3584 19.9918 12.15 18.9463 11.7668C18.0269 11.3668 16.8727 10.4158 16.957 9.30083C16.9188 7.97574 17.0452 6.65102 17.3334 5.35683C17.4499 5.01888 17.5977 4.69247 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask2_1778_4441)">
<path d="M13.6803 34.5592C16.8476 34.5592 19.4153 31.9651 19.4153 28.7652C19.4153 25.5653 16.8476 22.9712 13.6803 22.9712C10.5129 22.9712 7.94531 25.5653 7.94531 28.7652C7.94531 31.9651 10.5129 34.5592 13.6803 34.5592Z" fill="#01A2FD"/>
</g>
<mask id="mask3_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.973 8.13508 33.7566 8.55777 33.4604 8.92284C32.7751 9.64973 31.901 10.1731 30.9351 10.4348C30.8206 10.4624 30.7145 10.5173 30.626 10.5948C30.5225 10.7404 30.4722 10.9168 30.4835 11.0948C30.4551 11.6827 30.2545 12.2494 29.9064 12.7248C29.7334 12.9569 29.5075 13.1446 29.2472 13.2724C28.987 13.4002 28.7 13.4645 28.4099 13.4598C28.1477 13.43 27.8898 13.3706 27.6411 13.2828C25.8666 12.7933 24.0452 12.4917 22.2072 12.3828C21.0936 12.3575 19.9918 12.149 18.9463 11.7658C18.0269 11.3658 16.8727 10.4148 16.957 9.29984C16.9188 7.97474 17.0452 6.65002 17.3334 5.35583C17.4499 5.01822 17.5978 4.69215 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask3_1778_4441)">
<path d="M5.66282 22.0343C8.83016 22.0343 11.3978 19.4402 11.3978 16.2403C11.3978 13.0404 8.83016 10.4463 5.66282 10.4463C2.49548 10.4463 -0.0721588 13.0404 -0.0721588 16.2403C-0.0721588 19.4402 2.49548 22.0343 5.66282 22.0343Z" fill="#014DAF"/>
</g>
<mask id="mask4_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.973 8.13508 33.7566 8.55777 33.4604 8.92284C32.7751 9.64973 31.901 10.1731 30.9351 10.4348C30.8206 10.4624 30.7145 10.5173 30.626 10.5948C30.5225 10.7404 30.4722 10.9168 30.4835 11.0948C30.4551 11.6827 30.2545 12.2494 29.9064 12.7248C29.7334 12.9569 29.5075 13.1446 29.2472 13.2724C28.987 13.4002 28.7 13.4645 28.4099 13.4598C28.1477 13.43 27.8898 13.3706 27.6411 13.2828C25.8666 12.7933 24.0452 12.4917 22.2072 12.3828C21.0936 12.3575 19.9918 12.149 18.9463 11.7658C18.0269 11.3658 16.8727 10.4148 16.957 9.29984C16.9188 7.97474 17.0452 6.65002 17.3334 5.35583C17.4499 5.01822 17.5978 4.69215 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask4_1778_4441)">
<path d="M16.481 17.1192C19.0668 17.1192 21.1631 15.0015 21.1631 12.3892C21.1631 9.77687 19.0668 7.65918 16.481 7.65918C13.8951 7.65918 11.7988 9.77687 11.7988 12.3892C11.7988 15.0015 13.8951 17.1192 16.481 17.1192Z" fill="#F97707"/>
</g>
<mask id="mask5_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.973 8.13508 33.7566 8.55777 33.4604 8.92284C32.7751 9.64973 31.901 10.1731 30.9351 10.4348C30.8206 10.4624 30.7145 10.5173 30.626 10.5948C30.5225 10.7404 30.4722 10.9168 30.4835 11.0948C30.4551 11.6827 30.2545 12.2494 29.9064 12.7248C29.7334 12.9569 29.5075 13.1446 29.2472 13.2724C28.987 13.4002 28.7 13.4645 28.4099 13.4598C28.1477 13.43 27.8898 13.3706 27.6411 13.2828C25.8666 12.7933 24.0452 12.4917 22.2072 12.3828C21.0936 12.3575 19.9918 12.149 18.9463 11.7658C18.0269 11.3658 16.8727 10.4148 16.957 9.29984C16.9188 7.97474 17.0452 6.65002 17.3334 5.35583C17.4499 5.01822 17.5978 4.69215 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask5_1778_4441)">
<path d="M14.9175 10.5801C17.4801 10.5801 19.5575 8.48161 19.5575 5.89305C19.5575 3.3045 17.4801 1.20605 14.9175 1.20605C12.355 1.20605 10.2776 3.3045 10.2776 5.89305C10.2776 8.48161 12.355 10.5801 14.9175 10.5801Z" fill="#01A2FD"/>
</g>
<mask id="mask6_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.973 8.13508 33.7566 8.55777 33.4604 8.92284C32.7751 9.64973 31.901 10.1731 30.9351 10.4348C30.8206 10.4624 30.7145 10.5173 30.626 10.5948C30.5225 10.7404 30.4722 10.9168 30.4835 11.0948C30.4551 11.6827 30.2545 12.2494 29.9064 12.7248C29.7334 12.9569 29.5075 13.1446 29.2472 13.2724C28.987 13.4002 28.7 13.4645 28.4099 13.4598C28.1477 13.43 27.8898 13.3706 27.6411 13.2828C25.8666 12.7933 24.0452 12.4917 22.2072 12.3828C21.0936 12.3575 19.9918 12.149 18.9463 11.7658C18.0269 11.3658 16.8727 10.4148 16.957 9.29984C16.9188 7.97474 17.0452 6.65002 17.3334 5.35583C17.4499 5.01822 17.5978 4.69215 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask6_1778_4441)">
<path d="M37.4731 19.8809C40.059 19.8809 42.1553 17.7632 42.1553 15.1509C42.1553 12.5386 40.059 10.4209 37.4731 10.4209C34.8873 10.4209 32.791 12.5386 32.791 15.1509C32.791 17.7632 34.8873 19.8809 37.4731 19.8809Z" fill="#F97707"/>
</g>
<mask id="mask7_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.9731 8.13543 33.7567 8.55848 33.4604 8.92384C32.7751 9.65073 31.901 10.1741 30.9351 10.4358C30.8206 10.4634 30.7145 10.5183 30.626 10.5958C30.5225 10.7414 30.4722 10.9178 30.4835 11.0958C30.4551 11.6837 30.2545 12.2504 29.9064 12.7258C29.7334 12.9579 29.5075 13.1456 29.2472 13.2734C28.987 13.4012 28.7 13.4655 28.4099 13.4608C28.1477 13.431 27.8898 13.3716 27.6411 13.2838C25.8666 12.7943 24.0452 12.4926 22.2072 12.3838C21.0936 12.3584 19.9918 12.15 18.9463 11.7668C18.0269 11.3668 16.8727 10.4158 16.957 9.30083C16.9188 7.97574 17.0452 6.65102 17.3334 5.35683C17.4499 5.01888 17.5977 4.69247 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask7_1778_4441)">
<path d="M36.5291 22.8431C38.2419 22.8431 39.6304 21.4405 39.6304 19.7101C39.6304 17.9798 38.2419 16.5771 36.5291 16.5771C34.8163 16.5771 33.4277 17.9798 33.4277 19.7101C33.4277 21.4405 34.8163 22.8431 36.5291 22.8431Z" fill="#01A2FD"/>
</g>
<mask id="mask8_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.973 8.13508 33.7566 8.55777 33.4604 8.92284C32.7751 9.64973 31.901 10.1731 30.9351 10.4348C30.8206 10.4624 30.7145 10.5173 30.626 10.5948C30.5225 10.7404 30.4722 10.9168 30.4835 11.0948C30.4551 11.6827 30.2545 12.2494 29.9064 12.7248C29.7334 12.9569 29.5075 13.1446 29.2472 13.2724C28.987 13.4002 28.7 13.4645 28.4099 13.4598C28.1477 13.43 27.8898 13.3706 27.6411 13.2828C25.8666 12.7933 24.0452 12.4917 22.2072 12.3828C21.0936 12.3575 19.9918 12.149 18.9463 11.7658C18.0269 11.3658 16.8727 10.4148 16.957 9.29984C16.9188 7.97474 17.0452 6.65002 17.3334 5.35583C17.4499 5.01822 17.5978 4.69215 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask8_1778_4441)">
<path d="M28.2849 15.4955C29.9978 15.4955 31.3863 14.0928 31.3863 12.3625C31.3863 10.6322 29.9978 9.22949 28.2849 9.22949C26.5721 9.22949 25.1836 10.6322 25.1836 12.3625C25.1836 14.0928 26.5721 15.4955 28.2849 15.4955Z" fill="#014DAF"/>
</g>
<mask id="mask9_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.973 8.13508 33.7566 8.55777 33.4604 8.92284C32.7751 9.64973 31.901 10.1731 30.9351 10.4348C30.8206 10.4624 30.7145 10.5173 30.626 10.5948C30.5225 10.7404 30.4722 10.9168 30.4835 11.0948C30.4551 11.6827 30.2545 12.2494 29.9064 12.7248C29.7334 12.9569 29.5075 13.1446 29.2472 13.2724C28.987 13.4002 28.7 13.4645 28.4099 13.4598C28.1477 13.43 27.8898 13.3706 27.6411 13.2828C25.8666 12.7933 24.0452 12.4917 22.2072 12.3828C21.0936 12.3575 19.9918 12.149 18.9463 11.7658C18.0269 11.3658 16.8727 10.4148 16.957 9.29984C16.9188 7.97474 17.0452 6.65002 17.3334 5.35583C17.4499 5.01822 17.5978 4.69215 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask9_1778_4441)">
<path d="M22.8772 8.60491C24.1006 8.60491 25.0923 7.60292 25.0923 6.36691C25.0923 5.13089 24.1006 4.12891 22.8772 4.12891C21.6538 4.12891 20.6621 5.13089 20.6621 6.36691C20.6621 7.60292 21.6538 8.60491 22.8772 8.60491Z" fill="#014DAF"/>
</g>
<mask id="mask10_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.9731 8.13543 33.7567 8.55848 33.4604 8.92384C32.7751 9.65073 31.901 10.1741 30.9351 10.4358C30.8206 10.4634 30.7145 10.5183 30.626 10.5958C30.5225 10.7414 30.4722 10.9178 30.4835 11.0958C30.4551 11.6837 30.2545 12.2504 29.9064 12.7258C29.7334 12.9579 29.5075 13.1456 29.2472 13.2734C28.987 13.4012 28.7 13.4655 28.4099 13.4608C28.1477 13.431 27.8898 13.3716 27.6411 13.2838C25.8666 12.7943 24.0452 12.4926 22.2072 12.3838C21.0936 12.3584 19.9918 12.15 18.9463 11.7668C18.0269 11.3668 16.8727 10.4158 16.957 9.30083C16.9188 7.97574 17.0452 6.65102 17.3334 5.35683C17.4499 5.01888 17.5977 4.69247 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask10_1778_4441)">
<path d="M15.854 42.8858C18.4398 42.8858 20.5361 40.7681 20.5361 38.1558C20.5361 35.5435 18.4398 33.4258 15.854 33.4258C13.2681 33.4258 11.1718 35.5435 11.1718 38.1558C11.1718 40.7681 13.2681 42.8858 15.854 42.8858Z" fill="#F97707"/>
</g>
<mask id="mask11_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.9731 8.13543 33.7567 8.55848 33.4604 8.92384C32.7751 9.65073 31.901 10.1741 30.9351 10.4358C30.8206 10.4634 30.7145 10.5183 30.626 10.5958C30.5225 10.7414 30.4722 10.9178 30.4835 11.0958C30.4551 11.6837 30.2545 12.2504 29.9064 12.7258C29.7334 12.9579 29.5075 13.1456 29.2472 13.2734C28.987 13.4012 28.7 13.4655 28.4099 13.4608C28.1477 13.431 27.8898 13.3716 27.6411 13.2838C25.8666 12.7943 24.0452 12.4926 22.2072 12.3838C21.0936 12.3584 19.9918 12.15 18.9463 11.7668C18.0269 11.3668 16.8727 10.4158 16.957 9.30083C16.9188 7.97574 17.0452 6.65102 17.3334 5.35683C17.4499 5.01888 17.5977 4.69247 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask11_1778_4441)">
<path d="M5.203 33.0203C7.11427 33.0203 8.66366 31.4551 8.66366 29.5243C8.66366 27.5935 7.11427 26.0283 5.203 26.0283C3.29173 26.0283 1.74234 27.5935 1.74234 29.5243C1.74234 31.4551 3.29173 33.0203 5.203 33.0203Z" fill="#014DAF"/>
</g>
<mask id="mask12_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.9731 8.13543 33.7567 8.55848 33.4604 8.92384C32.7751 9.65073 31.901 10.1741 30.9351 10.4358C30.8206 10.4634 30.7145 10.5183 30.626 10.5958C30.5225 10.7414 30.4722 10.9178 30.4835 11.0958C30.4551 11.6837 30.2545 12.2504 29.9064 12.7258C29.7334 12.9579 29.5075 13.1456 29.2472 13.2734C28.987 13.4012 28.7 13.4655 28.4099 13.4608C28.1477 13.431 27.8898 13.3716 27.6411 13.2838C25.8666 12.7943 24.0452 12.4926 22.2072 12.3838C21.0936 12.3584 19.9918 12.15 18.9463 11.7668C18.0269 11.3668 16.8727 10.4158 16.957 9.30083C16.9188 7.97574 17.0452 6.65102 17.3334 5.35683C17.4499 5.01888 17.5977 4.69247 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask12_1778_4441)">
<path d="M23.409 46.0942C26.8989 46.0942 29.7281 43.236 29.7281 39.7102C29.7281 36.1844 26.8989 33.3262 23.409 33.3262C19.919 33.3262 17.0898 36.1844 17.0898 39.7102C17.0898 43.236 19.919 46.0942 23.409 46.0942Z" fill="#014DAF"/>
</g>
<mask id="mask13_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.9731 8.13543 33.7567 8.55848 33.4604 8.92384C32.7751 9.65073 31.901 10.1741 30.9351 10.4358C30.8206 10.4634 30.7145 10.5183 30.626 10.5958C30.5225 10.7414 30.4722 10.9178 30.4835 11.0958C30.4551 11.6837 30.2545 12.2504 29.9064 12.7258C29.7334 12.9579 29.5075 13.1456 29.2472 13.2734C28.987 13.4012 28.7 13.4655 28.4099 13.4608C28.1477 13.431 27.8898 13.3716 27.6411 13.2838C25.8666 12.7943 24.0452 12.4926 22.2072 12.3838C21.0936 12.3584 19.9918 12.15 18.9463 11.7668C18.0269 11.3668 16.8727 10.4158 16.957 9.30083C16.9188 7.97574 17.0452 6.65102 17.3334 5.35683C17.4499 5.01888 17.5977 4.69247 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask13_1778_4441)">
<path d="M35.6098 33.0881C37.3553 33.0881 38.7703 31.659 38.7703 29.8961C38.7703 28.1332 37.3553 26.7041 35.6098 26.7041C33.8642 26.7041 32.4492 28.1332 32.4492 29.8961C32.4492 31.659 33.8642 33.0881 35.6098 33.0881Z" fill="#014DAF"/>
</g>
<mask id="mask14_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="3" y="4" width="39" height="39">
<path d="M34.0957 7.68184C33.9731 8.13543 33.7567 8.55848 33.4604 8.92384C32.7751 9.65073 31.901 10.1741 30.9351 10.4358C30.8206 10.4634 30.7145 10.5183 30.626 10.5958C30.5225 10.7414 30.4722 10.9178 30.4835 11.0958C30.4551 11.6837 30.2545 12.2504 29.9064 12.7258C29.7334 12.9579 29.5075 13.1456 29.2472 13.2734C28.987 13.4012 28.7 13.4655 28.4099 13.4608C28.1477 13.431 27.8898 13.3716 27.6411 13.2838C25.8666 12.7943 24.0452 12.4926 22.2072 12.3838C21.0936 12.3584 19.9918 12.15 18.9463 11.7668C18.0269 11.3668 16.8727 10.4158 16.957 9.30083C16.9188 7.97574 17.0452 6.65102 17.3334 5.35683C17.4499 5.01888 17.5977 4.69247 17.775 4.38184C13.4896 5.43729 9.69238 7.91448 7.00786 11.406C4.32334 14.8974 2.91141 19.1952 3.00431 23.5925C3.09721 27.9897 4.68941 32.2246 7.51902 35.6004C10.3486 38.9762 14.2471 41.292 18.5733 42.1668C22.8995 43.0417 27.3957 42.4235 31.3223 40.4139C35.249 38.4044 38.3723 35.1231 40.1785 31.1099C41.9847 27.0967 42.3662 22.5905 41.2603 18.3326C40.1544 14.0746 37.627 10.3184 34.0937 7.68184H34.0957ZM22.5083 33.4258C20.5074 33.4534 18.5434 32.8874 16.8662 31.7999C15.189 30.7123 13.8743 29.1523 13.0893 27.3182C12.3044 25.4842 12.0847 23.459 12.4581 21.5002C12.8315 19.5414 13.7812 17.7375 15.1864 16.318C16.5916 14.8984 18.3889 13.9273 20.3495 13.5282C22.3101 13.1291 24.3456 13.32 26.1971 14.0767C28.0485 14.8333 29.6323 16.1215 30.7469 17.7774C31.8616 19.4332 32.4567 21.382 32.4567 23.3758C32.4743 26.0227 31.4363 28.5683 29.5708 30.4529C27.7052 32.3375 25.1649 33.4068 22.5083 33.4258Z" fill="white"/>
</mask>
<g mask="url(#mask14_1778_4441)">
<path d="M43.0414 28.1721C44.7869 28.1721 46.202 26.743 46.202 24.9801C46.202 23.2172 44.7869 21.7881 43.0414 21.7881C41.2959 21.7881 39.8809 23.2172 39.8809 24.9801C39.8809 26.743 41.2959 28.1721 43.0414 28.1721Z" fill="#F97707"/>
</g>
<path d="M28.5449 6.7404C29.4822 6.7404 30.2421 5.98331 30.2421 5.0494C30.2421 4.11548 29.4822 3.3584 28.5449 3.3584C27.6075 3.3584 26.8477 4.11548 26.8477 5.0494C26.8477 5.98331 27.6075 6.7404 28.5449 6.7404Z" fill="#F97707"/>
<path d="M24.707 4.016C25.2658 4.016 25.7187 3.5647 25.7187 3.008C25.7187 2.4513 25.2658 2 24.707 2C24.1483 2 23.6953 2.4513 23.6953 3.008C23.6953 3.5647 24.1483 4.016 24.707 4.016Z" fill="#FEC401"/>
<path d="M32.7498 10.3879C33.6871 10.3879 34.447 9.63077 34.447 8.69686C34.447 7.76295 33.6871 7.00586 32.7498 7.00586C31.8124 7.00586 31.0526 7.76295 31.0526 8.69686C31.0526 9.63077 31.8124 10.3879 32.7498 10.3879Z" fill="#014DAF"/>
<mask id="mask15_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="2" y="3" width="40" height="40">
<path d="M22.5084 3.80749C18.6115 3.75452 14.7869 4.85746 11.5209 6.97602C8.25489 9.09459 5.69505 12.1331 4.16691 15.7051C2.63876 19.2771 2.21137 23.2212 2.93908 27.0358C3.66678 30.8505 5.51671 34.3633 8.2536 37.1276C10.9905 39.8919 14.4907 41.7828 18.3091 42.5598C22.1275 43.3368 26.0915 42.9647 29.6971 41.491C33.3027 40.0173 36.3869 37.5084 38.5576 34.2836C40.7283 31.0587 41.8873 27.2634 41.8873 23.3805C41.9217 18.2248 39.8996 13.2665 36.2655 9.59605C32.6314 5.92558 27.683 3.84343 22.5084 3.80749ZM22.5084 33.4285C20.5079 33.4557 18.5445 32.8895 16.8679 31.8019C15.1913 30.7143 13.8771 29.1544 13.0927 27.3207C12.3082 25.487 12.0888 23.4623 12.4624 21.504C12.836 19.5457 13.7856 17.7424 15.1906 16.3233C16.5956 14.9042 18.3925 13.9335 20.3527 13.5347C22.3129 13.1358 24.3479 13.3268 26.1988 14.0833C28.0498 14.8399 29.6331 16.1278 30.7474 17.7833C31.8618 19.4388 32.4568 21.3871 32.4568 23.3805C32.4741 26.0271 31.4359 28.5723 29.5704 30.4565C27.7049 32.3407 25.1647 33.4097 22.5084 33.4285Z" fill="white"/>
</mask>
<g mask="url(#mask15_1778_4441)">
<path d="M23.2775 16.0934C24.7824 16.0934 26.0024 14.8608 26.0024 13.3404C26.0024 11.82 24.7824 10.5874 23.2775 10.5874C21.7725 10.5874 20.5525 11.82 20.5525 13.3404C20.5525 14.8608 21.7725 16.0934 23.2775 16.0934Z" fill="#FEC401"/>
</g>
<mask id="mask16_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="2" y="3" width="40" height="40">
<path d="M22.5084 3.80749C18.6115 3.75452 14.7869 4.85746 11.5209 6.97602C8.25489 9.09459 5.69505 12.1331 4.16691 15.7051C2.63876 19.2771 2.21137 23.2212 2.93908 27.0358C3.66678 30.8505 5.51671 34.3633 8.2536 37.1276C10.9905 39.8919 14.4907 41.7828 18.3091 42.5598C22.1275 43.3368 26.0915 42.9647 29.6971 41.491C33.3027 40.0173 36.3869 37.5084 38.5576 34.2836C40.7283 31.0587 41.8873 27.2634 41.8873 23.3805C41.9217 18.2248 39.8996 13.2665 36.2655 9.59605C32.6314 5.92558 27.683 3.84343 22.5084 3.80749ZM22.5084 33.4285C20.5079 33.4557 18.5445 32.8895 16.8679 31.8019C15.1913 30.7143 13.8771 29.1544 13.0927 27.3207C12.3082 25.487 12.0888 23.4623 12.4624 21.504C12.836 19.5457 13.7856 17.7424 15.1906 16.3233C16.5956 14.9042 18.3925 13.9335 20.3527 13.5347C22.3129 13.1358 24.3479 13.3268 26.1988 14.0833C28.0498 14.8399 29.6331 16.1278 30.7474 17.7833C31.8618 19.4388 32.4568 21.3871 32.4568 23.3805C32.4741 26.0271 31.4359 28.5723 29.5704 30.4565C27.7049 32.3407 25.1647 33.4097 22.5084 33.4285Z" fill="white"/>
</mask>
<g mask="url(#mask16_1778_4441)">
<path d="M28.8282 16.7526C30.7722 16.7526 32.3481 15.161 32.3481 13.1976C32.3481 11.2342 30.7722 9.64258 28.8282 9.64258C26.8843 9.64258 25.3084 11.2342 25.3084 13.1976C25.3084 15.161 26.8843 16.7526 28.8282 16.7526Z" fill="#01A2FD"/>
</g>
<mask id="mask17_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="2" y="3" width="40" height="40">
<path d="M22.5084 3.80749C18.6115 3.75452 14.7869 4.85746 11.5209 6.97602C8.25489 9.09459 5.69505 12.1331 4.16691 15.7051C2.63876 19.2771 2.21137 23.2212 2.93908 27.0358C3.66678 30.8505 5.51671 34.3633 8.2536 37.1276C10.9905 39.8919 14.4907 41.7828 18.3091 42.5598C22.1275 43.3368 26.0915 42.9647 29.6971 41.491C33.3027 40.0173 36.3869 37.5084 38.5576 34.2836C40.7283 31.0587 41.8873 27.2634 41.8873 23.3805C41.9217 18.2248 39.8996 13.2665 36.2655 9.59605C32.6314 5.92558 27.683 3.84343 22.5084 3.80749ZM22.5084 33.4285C20.5079 33.4557 18.5445 32.8895 16.8679 31.8019C15.1913 30.7143 13.8771 29.1544 13.0927 27.3207C12.3082 25.487 12.0888 23.4623 12.4624 21.504C12.836 19.5457 13.7856 17.7424 15.1906 16.3233C16.5956 14.9042 18.3925 13.9335 20.3527 13.5347C22.3129 13.1358 24.3479 13.3268 26.1988 14.0833C28.0498 14.8399 29.6331 16.1278 30.7474 17.7833C31.8618 19.4388 32.4568 21.3871 32.4568 23.3805C32.4741 26.0271 31.4359 28.5723 29.5704 30.4565C27.7049 32.3407 25.1647 33.4097 22.5084 33.4285Z" fill="white"/>
</mask>
<g mask="url(#mask17_1778_4441)">
<path d="M27.4235 11.4988C28.3609 11.4988 29.1207 10.7314 29.1207 9.7848C29.1207 8.83818 28.3609 8.0708 27.4235 8.0708C26.4862 8.0708 25.7263 8.83818 25.7263 9.7848C25.7263 10.7314 26.4862 11.4988 27.4235 11.4988Z" fill="#FEC401"/>
</g>
<mask id="mask18_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="2" y="3" width="40" height="40">
<path d="M22.5084 3.80749C18.6115 3.75452 14.7869 4.85746 11.5209 6.97602C8.25489 9.09459 5.69505 12.1331 4.16691 15.7051C2.63876 19.2771 2.21137 23.2212 2.93908 27.0358C3.66678 30.8505 5.51671 34.3633 8.2536 37.1276C10.9905 39.8919 14.4907 41.7828 18.3091 42.5598C22.1275 43.3368 26.0915 42.9647 29.6971 41.491C33.3027 40.0173 36.3869 37.5084 38.5576 34.2836C40.7283 31.0587 41.8873 27.2634 41.8873 23.3805C41.9217 18.2248 39.8996 13.2665 36.2655 9.59605C32.6314 5.92558 27.683 3.84343 22.5084 3.80749ZM22.5084 33.4285C20.5079 33.4557 18.5445 32.8895 16.8679 31.8019C15.1913 30.7143 13.8771 29.1544 13.0927 27.3207C12.3082 25.487 12.0888 23.4623 12.4624 21.504C12.836 19.5457 13.7856 17.7424 15.1906 16.3233C16.5956 14.9042 18.3925 13.9335 20.3527 13.5347C22.3129 13.1358 24.3479 13.3268 26.1988 14.0833C28.0498 14.8399 29.6331 16.1278 30.7474 17.7833C31.8618 19.4388 32.4568 21.3871 32.4568 23.3805C32.4741 26.0271 31.4359 28.5723 29.5704 30.4565C27.7049 32.3407 25.1647 33.4097 22.5084 33.4285Z" fill="white"/>
</mask>
<g mask="url(#mask18_1778_4441)">
<path d="M23.0765 9.47343C24.2815 9.47343 25.2584 8.48667 25.2584 7.26943C25.2584 6.05219 24.2815 5.06543 23.0765 5.06543C21.8714 5.06543 20.8945 6.05219 20.8945 7.26943C20.8945 8.48667 21.8714 9.47343 23.0765 9.47343Z" fill="#014DAF"/>
</g>
<mask id="mask19_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="2" y="3" width="40" height="40">
<path d="M22.5084 3.80749C18.6115 3.75452 14.7869 4.85746 11.5209 6.97602C8.25489 9.09459 5.69505 12.1331 4.16691 15.7051C2.63876 19.2771 2.21137 23.2212 2.93908 27.0358C3.66678 30.8505 5.51671 34.3633 8.2536 37.1276C10.9905 39.8919 14.4907 41.7828 18.3091 42.5598C22.1275 43.3368 26.0915 42.9647 29.6971 41.491C33.3027 40.0173 36.3869 37.5084 38.5576 34.2836C40.7283 31.0587 41.8873 27.2634 41.8873 23.3805C41.9217 18.2248 39.8996 13.2665 36.2655 9.59605C32.6314 5.92558 27.683 3.84343 22.5084 3.80749ZM22.5084 33.4285C20.5079 33.4557 18.5445 32.8895 16.8679 31.8019C15.1913 30.7143 13.8771 29.1544 13.0927 27.3207C12.3082 25.487 12.0888 23.4623 12.4624 21.504C12.836 19.5457 13.7856 17.7424 15.1906 16.3233C16.5956 14.9042 18.3925 13.9335 20.3527 13.5347C22.3129 13.1358 24.3479 13.3268 26.1988 14.0833C28.0498 14.8399 29.6331 16.1278 30.7474 17.7833C31.8618 19.4388 32.4568 21.3871 32.4568 23.3805C32.4741 26.0271 31.4359 28.5723 29.5704 30.4565C27.7049 32.3407 25.1647 33.4097 22.5084 33.4285Z" fill="white"/>
</mask>
<g mask="url(#mask19_1778_4441)">
<path d="M16.4397 17.2085C19.0256 17.2085 21.1218 15.0912 21.1218 12.4795C21.1218 9.86773 19.0256 7.75049 16.4397 7.75049C13.8538 7.75049 11.7576 9.86773 11.7576 12.4795C11.7576 15.0912 13.8538 17.2085 16.4397 17.2085Z" fill="#F97707"/>
</g>
<mask id="mask20_1778_4441" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="2" y="3" width="40" height="40">
<path d="M22.5084 3.80749C18.6115 3.75452 14.7869 4.85746 11.5209 6.97602C8.25489 9.09459 5.69505 12.1331 4.16691 15.7051C2.63876 19.2771 2.21137 23.2212 2.93908 27.0358C3.66678 30.8505 5.51671 34.3633 8.2536 37.1276C10.9905 39.8919 14.4907 41.7828 18.3091 42.5598C22.1275 43.3368 26.0915 42.9647 29.6971 41.491C33.3027 40.0173 36.3869 37.5084 38.5576 34.2836C40.7283 31.0587 41.8873 27.2634 41.8873 23.3805C41.9217 18.2248 39.8996 13.2665 36.2655 9.59605C32.6314 5.92558 27.683 3.84343 22.5084 3.80749ZM22.5084 33.4285C20.5079 33.4557 18.5445 32.8895 16.8679 31.8019C15.1913 30.7143 13.8771 29.1544 13.0927 27.3207C12.3082 25.487 12.0888 23.4623 12.4624 21.504C12.836 19.5457 13.7856 17.7424 15.1906 16.3233C16.5956 14.9042 18.3925 13.9335 20.3527 13.5347C22.3129 13.1358 24.3479 13.3268 26.1988 14.0833C28.0498 14.8399 29.6331 16.1278 30.7474 17.7833C31.8618 19.4388 32.4568 21.3871 32.4568 23.3805C32.4741 26.0271 31.4359 28.5723 29.5704 30.4565C27.7049 32.3407 25.1647 33.4097 22.5084 33.4285Z" fill="white"/>
</mask>
<g mask="url(#mask20_1778_4441)">
<path d="M14.8839 10.6713C17.4465 10.6713 19.5239 8.57332 19.5239 5.98532C19.5239 3.39731 17.4465 1.29932 14.8839 1.29932C12.3213 1.29932 10.2439 3.39731 10.2439 5.98532C10.2439 8.57332 12.3213 10.6713 14.8839 10.6713Z" fill="#01A2FD"/>
</g>
</g>
<defs>
<filter id="filter0_dd_1778_4441" x="-0.406479" y="0" width="45.2942" height="46.9556" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="1"/>
<feGaussianBlur stdDeviation="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.06 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_1778_4441"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="1"/>
<feGaussianBlur stdDeviation="1.5"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0627451 0 0 0 0 0.0941176 0 0 0 0 0.156863 0 0 0 0.1 0"/>
<feBlend mode="normal" in2="effect1_dropShadow_1778_4441" result="effect2_dropShadow_1778_4441"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_1778_4441" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 40 KiB

BIN
assets/Profile1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

BIN
assets/Profile2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

BIN
assets/Profile3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
assets/Profile4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

View File

@@ -11,6 +11,7 @@ import {useTranslation} from 'react-i18next';
import {useScanScreen} from '../screens/Scan/ScanScreenController';
import {Theme} from './ui/styleUtils';
import {useSettingsScreen} from '../screens/Settings/SettingScreenController';
import {RevocationStatusType} from '../shared/vcVerifier/VcVerifier';
export const BannerNotificationContainer: React.FC<
BannerNotificationContainerProps
@@ -162,7 +163,7 @@ export const BannerNotificationContainer: React.FC<
export type vcVerificationBannerDetails = {
statusType: BannerStatus;
isRevoked: boolean;
isRevoked: RevocationStatusType;
isExpired: boolean;
vcType: string;
};

View File

@@ -1,7 +1,7 @@
import React from 'react';
import {Icon, ListItem, Overlay} from 'react-native-elements';
import {Theme} from '../components/ui/styleUtils';
import {Column, Row, Text} from '../components/ui';
import {Button, Column, Row, Text} from '../components/ui';
import {View} from 'react-native';
import {useKebabPopUp} from './KebabPopUpController';
import {ActorRefFrom} from 'xstate';
@@ -11,6 +11,7 @@ import {VCMetadata} from '../shared/VCMetadata';
import testIDProps from '../shared/commonUtil';
import {getKebabMenuOptions} from './kebabMenuUtils';
import {VCItemMachine} from '../machines/VerifiableCredential/VCItemMachine/VCItemMachine';
import {LinearGradient} from 'react-native-linear-gradient';
export const KebabPopUp: React.FC<KebabPopUpProps> = props => {
const controller = useKebabPopUp(props);
@@ -59,7 +60,7 @@ export const KebabPopUp: React.FC<KebabPopUpProps> = props => {
{item.icon}
</View>
<Text
style={{fontFamily: 'Inter_600SemiBold'}}
style={{fontFamily: 'Montserrat_600SemiBold'}}
color={
item.testID === 'removeFromWallet'
? Theme.Colors.warningText
@@ -70,11 +71,15 @@ export const KebabPopUp: React.FC<KebabPopUpProps> = props => {
{item.label}
</Text>
{item.label === t('reverify') && (
<View style={Theme.KebabPopUpStyles.new}>
<LinearGradient
start={{x: 0, y: 0}}
end={{x: 1, y: 0}}
colors={Theme.Colors.GradientColors}
style={Theme.KebabPopUpStyles.new}>
<Text color="white" weight="bold" style={{fontSize: 10}}>
{t('new')}
</Text>
</View>
</LinearGradient>
)}
</Row>
</ListItem>

View File

@@ -1,30 +1,28 @@
import React from "react";
import { useTranslation } from "react-i18next";
import { View } from "react-native";
import { Column } from "../../ui";
import { Theme } from "../../ui/styleUtils";
import { Text } from "../../ui";
import { VC_STATUS_KEYS } from "./VCUtils";
import React from 'react';
import {useTranslation} from 'react-i18next';
import {View} from 'react-native';
import {Column} from '../../ui';
import {Theme} from '../../ui/styleUtils';
import {Text} from '../../ui';
import {VC_STATUS_KEYS} from './VCUtils';
export const StatusTooltipContent = () => {
const { t } = useTranslation('ViewVcModal');
return (
<Column align="center" style={{marginTop:20}}>
{VC_STATUS_KEYS.map(key => (
<View key={key} style={{ marginBottom: 20 }}>
<Text weight="semibold">{t(`statusToolTipContent.${key}.title`)}</Text>
<Text
weight="regular"
style={[
Theme.Styles.tooltipContentDescription,
{ marginTop: 3 },
]}>
{t(`statusToolTipContent.${key}.description`)}
</Text>
</View>
))}
</Column>
);
};
const {t} = useTranslation('ViewVcModal');
return (
<Column align="center" style={{marginTop: 20}}>
{VC_STATUS_KEYS.map(key => (
<View key={key} style={{marginBottom: 20}}>
<Text weight="semibold">
{t(`statusToolTipContent.${key}.title`)}
</Text>
<Text
weight="regular"
style={[Theme.Styles.tooltipContentDescription, {marginTop: 3}]}>
{t(`statusToolTipContent.${key}.description`)}
</Text>
</View>
))}
</Column>
);
};

View File

@@ -8,6 +8,7 @@ import {Row, Text} from './ui';
import {Theme} from './ui/styleUtils';
import {useTranslation} from 'react-i18next';
import {VCMetadata} from '../shared/VCMetadata';
import {RevocationStatus} from '../shared/vcVerifier/VcVerifier';
export const VCVerification: React.FC<VCVerificationProps> = ({
vcMetadata,
@@ -20,12 +21,15 @@ export const VCVerification: React.FC<VCVerificationProps> = ({
let statusIcon: JSX.Element;
if (vcMetadata.isVerified) {
if (vcMetadata.isRevoked) {
if (vcMetadata.isRevoked === RevocationStatus.TRUE) {
statusText = t('revoked');
statusIcon = <PendingIcon color="brown" />;
} else if (vcMetadata.isExpired) {
statusText = t('expired');
statusIcon = <PendingIcon color="red" />;
} else if (vcMetadata.isRevoked === RevocationStatus.UNDETERMINED) {
statusText = t('pending');
statusIcon = <PendingIcon color="orange" />;
} else {
statusText = t('valid');
statusIcon = <VerifiedIcon />;
@@ -61,7 +65,7 @@ export const VCVerification: React.FC<VCVerificationProps> = ({
color={display.getTextColor(Theme.Colors.Details)}
style={[
Theme.Styles.verificationStatus,
{fontFamily: 'Inter_400'},
{fontFamily: 'Montserrat_400'},
]}>
{t('lastChecked')}
</Text>
@@ -70,7 +74,7 @@ export const VCVerification: React.FC<VCVerificationProps> = ({
color={display.getTextColor(Theme.Colors.Details)}
style={[
Theme.Styles.verificationStatus,
{fontFamily: 'Inter_400'},
{fontFamily: 'Montserrat_400'},
]}>
{new Date(vcMetadata.lastKnownStatusTimestamp).toLocaleString()}
</Text>

View File

@@ -129,7 +129,7 @@ exports[`AccountInformation Component should match snapshot with different email
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -182,7 +182,7 @@ exports[`AccountInformation Component should match snapshot with different email
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -334,7 +334,7 @@ exports[`AccountInformation Component should match snapshot with different pictu
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -387,7 +387,7 @@ exports[`AccountInformation Component should match snapshot with different pictu
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -539,7 +539,7 @@ exports[`AccountInformation Component should match snapshot with email and pictu
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -592,7 +592,7 @@ exports[`AccountInformation Component should match snapshot with email and pictu
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -744,7 +744,7 @@ exports[`AccountInformation Component should match snapshot with long email 1`]
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -797,7 +797,7 @@ exports[`AccountInformation Component should match snapshot with long email 1`]
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,

View File

@@ -80,7 +80,7 @@ exports[`BannerNotification Component should match snapshot with different testI
"lineHeight": 18,
},
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 15,
},
{
@@ -92,7 +92,7 @@ exports[`BannerNotification Component should match snapshot with different testI
null,
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 12,
"lineHeight": 15,
"padding": 1,
@@ -250,7 +250,7 @@ exports[`BannerNotification Component should match snapshot with error status 1`
"lineHeight": 18,
},
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 15,
},
{
@@ -262,7 +262,7 @@ exports[`BannerNotification Component should match snapshot with error status 1`
null,
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 12,
"lineHeight": 15,
"padding": 1,
@@ -420,7 +420,7 @@ exports[`BannerNotification Component should match snapshot with in progress sta
"lineHeight": 18,
},
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 15,
},
{
@@ -432,7 +432,7 @@ exports[`BannerNotification Component should match snapshot with in progress sta
null,
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 12,
"lineHeight": 15,
"padding": 1,
@@ -590,7 +590,7 @@ exports[`BannerNotification Component should match snapshot with long message 1`
"lineHeight": 18,
},
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 15,
},
{
@@ -602,7 +602,7 @@ exports[`BannerNotification Component should match snapshot with long message 1`
null,
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 12,
"lineHeight": 15,
"padding": 1,
@@ -760,7 +760,7 @@ exports[`BannerNotification Component should match snapshot with success status
"lineHeight": 18,
},
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 15,
},
{
@@ -772,7 +772,7 @@ exports[`BannerNotification Component should match snapshot with success status
null,
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 12,
"lineHeight": 15,
"padding": 1,

View File

@@ -67,7 +67,7 @@ exports[`CopyButton Component should match snapshot with default props 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 15,
},
null,
@@ -156,7 +156,7 @@ exports[`CopyButton Component should match snapshot with long content 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 15,
},
null,
@@ -245,7 +245,7 @@ exports[`CopyButton Component should match snapshot with special characters 1`]
"lineHeight": 18,
},
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 15,
},
null,

View File

@@ -13,7 +13,7 @@ exports[`DualMessageOverlay Component should match snapshot with both buttons 1`
"lineHeight": 18,
},
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 15,
"justifyContent": "center",
},
@@ -42,7 +42,7 @@ exports[`DualMessageOverlay Component should match snapshot with both buttons 1`
"lineHeight": 18,
},
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 15,
"justifyContent": "center",
},
@@ -103,7 +103,7 @@ exports[`DualMessageOverlay Component should match snapshot with only ignore but
"lineHeight": 18,
},
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 15,
"justifyContent": "center",
},
@@ -139,7 +139,7 @@ exports[`DualMessageOverlay Component should match snapshot with only try again
"lineHeight": 18,
},
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 15,
"justifyContent": "center",
},

File diff suppressed because it is too large Load Diff

View File

@@ -51,7 +51,7 @@ exports[`KebabPopUp Component should match snapshot when not visible 1`] = `
},
null,
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"justifyContent": "space-between",
},
null,
@@ -69,7 +69,7 @@ exports[`KebabPopUp Component should match snapshot when not visible 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 15,
"justifyContent": "center",
},
@@ -132,7 +132,7 @@ exports[`KebabPopUp Component should match snapshot when not visible 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -147,7 +147,7 @@ exports[`KebabPopUp Component should match snapshot when not visible 1`] = `
},
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
},
]
}
@@ -201,7 +201,7 @@ exports[`KebabPopUp Component should match snapshot when not visible 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
{
@@ -218,7 +218,7 @@ exports[`KebabPopUp Component should match snapshot when not visible 1`] = `
},
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
},
]
}
@@ -280,7 +280,7 @@ exports[`KebabPopUp Component should match snapshot with VC that has image 1`] =
},
null,
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"justifyContent": "space-between",
},
null,
@@ -298,7 +298,7 @@ exports[`KebabPopUp Component should match snapshot with VC that has image 1`] =
"lineHeight": 18,
},
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 15,
"justifyContent": "center",
},
@@ -361,7 +361,7 @@ exports[`KebabPopUp Component should match snapshot with VC that has image 1`] =
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -376,7 +376,7 @@ exports[`KebabPopUp Component should match snapshot with VC that has image 1`] =
},
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
},
]
}
@@ -430,7 +430,7 @@ exports[`KebabPopUp Component should match snapshot with VC that has image 1`] =
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
{
@@ -447,7 +447,7 @@ exports[`KebabPopUp Component should match snapshot with VC that has image 1`] =
},
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
},
]
}
@@ -509,7 +509,7 @@ exports[`KebabPopUp Component should match snapshot with custom icon color 1`] =
},
null,
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"justifyContent": "space-between",
},
null,
@@ -527,7 +527,7 @@ exports[`KebabPopUp Component should match snapshot with custom icon color 1`] =
"lineHeight": 18,
},
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 15,
"justifyContent": "center",
},
@@ -590,7 +590,7 @@ exports[`KebabPopUp Component should match snapshot with custom icon color 1`] =
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -605,7 +605,7 @@ exports[`KebabPopUp Component should match snapshot with custom icon color 1`] =
},
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
},
]
}
@@ -659,7 +659,7 @@ exports[`KebabPopUp Component should match snapshot with custom icon color 1`] =
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
{
@@ -676,7 +676,7 @@ exports[`KebabPopUp Component should match snapshot with custom icon color 1`] =
},
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
},
]
}
@@ -741,7 +741,7 @@ exports[`KebabPopUp Component should match snapshot with custom icon component 1
},
null,
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"justifyContent": "space-between",
},
null,
@@ -759,7 +759,7 @@ exports[`KebabPopUp Component should match snapshot with custom icon component 1
"lineHeight": 18,
},
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 15,
"justifyContent": "center",
},
@@ -822,7 +822,7 @@ exports[`KebabPopUp Component should match snapshot with custom icon component 1
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -837,7 +837,7 @@ exports[`KebabPopUp Component should match snapshot with custom icon component 1
},
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
},
]
}
@@ -891,7 +891,7 @@ exports[`KebabPopUp Component should match snapshot with custom icon component 1
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
{
@@ -908,7 +908,7 @@ exports[`KebabPopUp Component should match snapshot with custom icon component 1
},
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
},
]
}
@@ -970,7 +970,7 @@ exports[`KebabPopUp Component should match snapshot with default icon 1`] = `
},
null,
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"justifyContent": "space-between",
},
null,
@@ -988,7 +988,7 @@ exports[`KebabPopUp Component should match snapshot with default icon 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 15,
"justifyContent": "center",
},
@@ -1051,7 +1051,7 @@ exports[`KebabPopUp Component should match snapshot with default icon 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -1066,7 +1066,7 @@ exports[`KebabPopUp Component should match snapshot with default icon 1`] = `
},
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
},
]
}
@@ -1120,7 +1120,7 @@ exports[`KebabPopUp Component should match snapshot with default icon 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
{
@@ -1137,7 +1137,7 @@ exports[`KebabPopUp Component should match snapshot with default icon 1`] = `
},
null,
{
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
},
]
}

View File

@@ -85,7 +85,7 @@ exports[`Passcode Component should match snapshot with both message and error 1`
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -136,7 +136,7 @@ exports[`Passcode Component should match snapshot with both message and error 1`
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
{
@@ -243,7 +243,7 @@ exports[`Passcode Component should match snapshot with custom message 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -294,7 +294,7 @@ exports[`Passcode Component should match snapshot with custom message 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
{
@@ -399,7 +399,7 @@ exports[`Passcode Component should match snapshot with default props 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -450,7 +450,7 @@ exports[`Passcode Component should match snapshot with default props 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
{
@@ -555,7 +555,7 @@ exports[`Passcode Component should match snapshot with error message 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,
@@ -606,7 +606,7 @@ exports[`Passcode Component should match snapshot with error message 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
{

View File

@@ -43,7 +43,7 @@ exports[`PinInput Component should match snapshot with 4 digit PIN 1`] = `
"borderColor": "#951F6F",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 29,
"height": 50,
"margin": 8,
@@ -68,7 +68,7 @@ exports[`PinInput Component should match snapshot with 4 digit PIN 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -94,7 +94,7 @@ exports[`PinInput Component should match snapshot with 4 digit PIN 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -120,7 +120,7 @@ exports[`PinInput Component should match snapshot with 4 digit PIN 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -176,7 +176,7 @@ exports[`PinInput Component should match snapshot with 6 digit PIN 1`] = `
"borderColor": "#951F6F",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 29,
"height": 50,
"margin": 8,
@@ -201,7 +201,7 @@ exports[`PinInput Component should match snapshot with 6 digit PIN 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -227,7 +227,7 @@ exports[`PinInput Component should match snapshot with 6 digit PIN 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -253,7 +253,7 @@ exports[`PinInput Component should match snapshot with 6 digit PIN 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -279,7 +279,7 @@ exports[`PinInput Component should match snapshot with 6 digit PIN 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -305,7 +305,7 @@ exports[`PinInput Component should match snapshot with 6 digit PIN 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -362,7 +362,7 @@ exports[`PinInput Component should match snapshot with custom testID 1`] = `
"borderColor": "#951F6F",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 29,
"height": 50,
"margin": 8,
@@ -387,7 +387,7 @@ exports[`PinInput Component should match snapshot with custom testID 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -413,7 +413,7 @@ exports[`PinInput Component should match snapshot with custom testID 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -439,7 +439,7 @@ exports[`PinInput Component should match snapshot with custom testID 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -495,7 +495,7 @@ exports[`PinInput Component should match snapshot with onChange handler 1`] = `
"borderColor": "#951F6F",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 29,
"height": 50,
"margin": 8,
@@ -520,7 +520,7 @@ exports[`PinInput Component should match snapshot with onChange handler 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -546,7 +546,7 @@ exports[`PinInput Component should match snapshot with onChange handler 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -572,7 +572,7 @@ exports[`PinInput Component should match snapshot with onChange handler 1`] = `
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -628,7 +628,7 @@ exports[`PinInput Component should match snapshot with onDone and autosubmit 1`]
"borderColor": "#951F6F",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_700Bold",
"fontFamily": "Montserrat_700Bold",
"fontSize": 29,
"height": 50,
"margin": 8,
@@ -653,7 +653,7 @@ exports[`PinInput Component should match snapshot with onDone and autosubmit 1`]
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -679,7 +679,7 @@ exports[`PinInput Component should match snapshot with onDone and autosubmit 1`]
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,
@@ -705,7 +705,7 @@ exports[`PinInput Component should match snapshot with onDone and autosubmit 1`]
"borderColor": "#C7C7C7",
"color": "#000000",
"flex": 1,
"fontFamily": "Inter_600SemiBold",
"fontFamily": "Montserrat_600SemiBold",
"fontSize": 33,
"height": 50,
"lineHeight": 28,

View File

@@ -45,6 +45,7 @@ export const SetupPicker: Picker = (props: PickerProps<unknown>) => {
style={{paddingTop: 3}}>
<Text
color={selectedIndex === index ? Theme.Colors.Icon : null}
size={'medium'}
weight={selectedIndex === index ? 'semibold' : 'regular'}>
{item.label}
</Text>

View File

@@ -26,7 +26,6 @@ export const Text: React.FC<TextProps> = (props: TextProps) => {
accessible={props.accessible}
onPress={props.onPress}>
{props.children}
</RNText>
);
};
@@ -38,7 +37,15 @@ interface TextProps {
weight?: 'regular' | 'semibold' | 'bold';
align?: TextStyle['textAlign'];
margin?: Spacing;
size?: 'small' | 'extraSmall' | 'smaller' | 'regular' | 'large' | 'mediumSmall';
size?:
| 'small'
| 'extraSmall'
| 'smaller'
| 'regular'
| 'large'
| 'mediumSmall'
| 'medium'
| 'mediumExtraSmall';
lineHeight?: number;
numLines?: number;
ellipsizeMode?: 'head' | 'middle' | 'tail' | 'clip' | undefined;

View File

@@ -10,7 +10,7 @@ exports[`<Text /> Testing the Text component 1`] = `
"lineHeight": 18,
},
{
"fontFamily": "Inter_400Regular",
"fontFamily": "Montserrat_400Regular",
"fontSize": 14,
},
null,

View File

@@ -61,6 +61,8 @@ import CopyIcon from '../../assets/file_copy.svg';
import StarIcon from '../../assets/credentialRegestryStar.svg';
import SelectedCheckBox from '../../assets/Selected_Check_Box.svg';
import ReverifyIcon from '../../assets/Reverify.svg';
import Logomark from '../../assets/Logomark.svg';
export class SvgImage {
static selectedCheckBox() {
return <SelectedCheckBox />;
@@ -600,6 +602,9 @@ export class SvgImage {
/>
);
}
static logoIcon(height: number, width: number) {
return <Logomark height={height} width={width} />;
}
}
function getIssuerLogo(props: displayType) {

View File

@@ -16,7 +16,7 @@ const Colors = {
Black: '#000000',
Zambezi: '#5F5F5F',
Violet: '#5B03AD',
BrightOrange: '#FF5300',
Primary: '#FF5300',
Magenta: '#951F6F',
Grey: '#C7C7C7',
Grey5: '#E0E0E0',
@@ -31,7 +31,7 @@ const Colors = {
DimGray: '#737373',
DarkGray: '#A5A5A5',
platinumGrey: '#EDEDED',
Orange: '#951F6F',
Secondary: '#951F6F',
OrangeBrown: '#D9822B',
Blue: '#0000FF',
LightGrey: '#F8F8F8',
@@ -76,26 +76,26 @@ export const DefaultTheme = {
Colors: {
ProfileIconColor: Colors.DarkGray,
DetailedViewBackground: Colors.Gray97,
TabItemText: Colors.Orange,
TabItemText: Colors.Secondary,
Details: Colors.Black,
DetailsLabel: Colors.Gray40,
LoadingDetailsLabel: Colors.Gray40,
AddIdBtnBg: Colors.Orange,
AddIdBtnTxt: Colors.Orange,
AddIdBtnBg: Colors.Secondary,
AddIdBtnTxt: Colors.Secondary,
DownloadIdBtnTxt: Colors.White,
Loading: Colors.Orange,
Cursor: Colors.Orange,
noUinText: Colors.Orange,
IconBg: Colors.Orange,
Loading: Colors.Secondary,
Cursor: Colors.Secondary,
noUinText: Colors.Secondary,
IconBg: Colors.Secondary,
popUp: Colors.Green,
Icon: Colors.Orange,
Icon: Colors.Secondary,
GrayIcon: Colors.Gray50,
helpText: Colors.Gray44,
borderBottomColor: Colors.Grey6,
whiteBackgroundColor: Colors.White,
lightGreyBackgroundColor: Colors.LightGrey,
aboutVersion: Colors.Gray40,
switchHead: Colors.Orange,
switchHead: Colors.Secondary,
switchTrackTrue: Colors.LightOrange,
switchTrackFalse: Colors.Grey,
overlayBackgroundColor: Colors.White,
@@ -112,7 +112,7 @@ export const DefaultTheme = {
whiteText: Colors.White,
flipCameraIcon: Colors.Black,
RetrieveIdLabel: Colors.ShadeOfGrey,
inputSelection: Colors.Orange,
inputSelection: Colors.Secondary,
checkCircleIcon: Colors.White,
OnboardingCircleIcon: Colors.White,
OnboardingCloseIcon: Colors.White,
@@ -147,10 +147,12 @@ export const DefaultTheme = {
warningLogoBgColor: Colors.warningLogoBg,
tooltipIcon: Colors.toolTip,
toolTipPointerColor: Colors.toolTipPointer,
urlLink: Colors.Orange,
urlLink: Colors.Secondary,
warningText: Colors.Red,
PendingIcon: Colors.Yellow,
selectIDTextGradient: ['#F5F5F5', '#FFFFFF'],
unCheckText: Colors.Secondary,
secondaryText: Colors.Secondary,
},
Styles: StyleSheet.create({
title: {
@@ -169,12 +171,12 @@ export const DefaultTheme = {
fieldItemTitle: {
backgroundColor: Colors.Transparent,
fontSize: 11,
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
},
fieldItemValue: {
backgroundColor: Colors.Transparent,
fontSize: 12,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
marginTop: 3,
},
loadingSubtitle: {
@@ -183,7 +185,7 @@ export const DefaultTheme = {
},
verificationStatus: {
fontSize: 12,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
statusLabel: {
color: Colors.Gray30,
@@ -310,14 +312,14 @@ export const DefaultTheme = {
borderRadius: 15,
margin: 5,
borderWidth: 3,
borderColor: Colors.Orange,
borderColor: Colors.Secondary,
overflow: 'hidden',
},
selectedVc: {
borderRadius: 10,
margin: 5,
borderWidth: 2,
borderColor: Colors.Orange,
borderColor: Colors.Secondary,
},
labelPartContainer: {
marginLeft: 16,
@@ -562,7 +564,7 @@ export const DefaultTheme = {
borderWidth: 0,
},
tabIndicator: {
backgroundColor: Colors.Orange,
backgroundColor: Colors.Secondary,
},
tabContainer: {
backgroundColor: Colors.Transparent,
@@ -574,7 +576,7 @@ export const DefaultTheme = {
detailsText: {
fontWeight: 'bold',
fontSize: 15,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
},
idInputContainer: {
width: Dimensions.get('window').width * 0.86,
@@ -587,13 +589,13 @@ export const DefaultTheme = {
height: isIOS() ? 100 : 'auto',
},
picker: {
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 18,
},
idInputBottom: {
position: 'relative',
bottom: 18,
borderBottomColor: Colors.Orange,
borderBottomColor: Colors.Secondary,
borderBottomWidth: 1,
minWidth: 210,
},
@@ -608,7 +610,7 @@ export const DefaultTheme = {
marginVertical: 6,
},
placeholder: {
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
hrLine: {
borderBottomColor: Colors.Gray44,
@@ -650,7 +652,7 @@ export const DefaultTheme = {
borderRadius: 200,
height: 70,
width: 70,
backgroundColor: Colors.Orange,
backgroundColor: Colors.Secondary,
justifyContent: 'center',
position: 'absolute',
},
@@ -698,7 +700,7 @@ export const DefaultTheme = {
maxHeight: 20,
borderRadius: 4,
fontSize: 10,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
lineHeight: 12,
},
scanLayoutHeaderContainer: {
@@ -709,7 +711,7 @@ export const DefaultTheme = {
},
scanLayoutHeaderTitle: {
fontSize: 26,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
paddingTop: isIOS() ? 10 : 20,
paddingBottom: 10,
},
@@ -726,18 +728,18 @@ export const DefaultTheme = {
},
sendVPHeaderTitle: {
fontSize: 18,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
sendVPHeaderSubTitle: {
fontSize: 13,
fontFamily: 'Inter_600SemiBold',
color: Colors.Orange,
fontFamily: 'Montserrat_600SemiBold',
color: Colors.Secondary,
maxWidth: '80%',
overflow: 'hidden',
},
HistoryHeaderTitleStyle: {
fontSize: 26,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
marginTop: isIOS() ? 5 : 15,
},
tabBarIconCopilot: {
@@ -774,7 +776,7 @@ export const DefaultTheme = {
backgroundColor: '#DADADA',
},
disclosureTitle: {
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
fontSize: 15,
color: Colors.Black,
},
@@ -785,7 +787,7 @@ export const DefaultTheme = {
},
disclosureSelectButton: {
fontSize: 14,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
},
}),
BannerStyles: StyleSheet.create({
@@ -809,7 +811,7 @@ export const DefaultTheme = {
fontSize: 12,
lineHeight: 15,
padding: 1,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
dismiss: {paddingLeft: 9},
inProgress: {
@@ -845,7 +847,7 @@ export const DefaultTheme = {
borderTopLeftRadius: 21,
borderTopRightRadius: 21,
justifyContent: 'space-between',
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
paddingBottom: 10,
paddingRight: 15,
paddingLeft: 130,
@@ -881,7 +883,7 @@ export const DefaultTheme = {
color: Colors.Black,
flex: 1,
fontSize: 33,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
height: 50,
lineHeight: 28,
margin: 8,
@@ -889,10 +891,10 @@ export const DefaultTheme = {
},
onEnteringPin: {
borderBottomWidth: 3,
borderColor: Colors.Orange,
borderColor: Colors.Secondary,
color: Colors.Black,
flex: 1,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
fontSize: 29,
height: 50,
margin: 8,
@@ -902,33 +904,33 @@ export const DefaultTheme = {
TextStyles: StyleSheet.create({
header: {
color: Colors.Black,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
fontSize: 18,
lineHeight: 19,
paddingTop: 5,
},
subHeader: {
color: Colors.mediumLightGrayText,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
lineHeight: 19,
fontSize: 13,
paddingTop: 4,
},
semiBoldHeader: {
color: Colors.Black,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 18,
lineHeight: 21,
paddingTop: 4,
},
retrieveIdLabel: {
color: Colors.ShadeOfGrey,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
lineHeight: 18,
},
helpHeader: {
color: Colors.Black,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
fontSize: 18,
lineHeight: 19,
paddingTop: 5,
@@ -937,11 +939,11 @@ export const DefaultTheme = {
helpDetails: {
margin: 5,
color: Colors.Gray44,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
urlLinkText: {
color: Colors.Orange,
fontFamily: 'Inter_600SemiBold',
color: Colors.Secondary,
fontFamily: 'Montserrat_600SemiBold',
},
aboutDetails: {
color: Colors.Black,
@@ -954,7 +956,7 @@ export const DefaultTheme = {
top: 65,
left: 5,
color: Colors.Red,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 12,
minWidth: 200,
},
@@ -964,21 +966,21 @@ export const DefaultTheme = {
lineHeight: 18,
},
regular: {
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
fontSize: 14,
},
regularGrey: {
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
fontSize: 15,
lineHeight: 19,
color: Colors.ShadeOfGrey,
},
semibold: {
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 15,
},
bold: {
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
fontSize: 15,
justifyContent: 'center',
},
@@ -993,10 +995,16 @@ export const DefaultTheme = {
fontSize: 11,
lineHeight: 18,
},
mediumExtraSmall: {
fontSize: 14,
},
mediumSmall: {
fontSize: 15,
lineHeight: 18,
},
medium: {
fontSize: 16,
},
large: {
fontSize: 18,
},
@@ -1030,7 +1038,7 @@ export const DefaultTheme = {
}),
ToastItemStyles: StyleSheet.create({
toastContainer: {
backgroundColor: Colors.Orange,
backgroundColor: Colors.Secondary,
position: 'absolute',
alignSelf: 'center',
top: 80,
@@ -1060,7 +1068,7 @@ export const DefaultTheme = {
searchBarContainer: {
alignItems: 'center',
borderBottomWidth: 1,
borderBottomColor: Colors.Orange,
borderBottomColor: Colors.Secondary,
},
vcSearchBarContainer: {
alignItems: 'center',
@@ -1095,14 +1103,14 @@ export const DefaultTheme = {
flex: 1,
},
solid: {
backgroundColor: Colors.Orange,
backgroundColor: Colors.Secondary,
},
clear: {
backgroundColor: Colors.Transparent,
},
outline: {
backgroundColor: Colors.Transparent,
borderColor: Colors.Orange,
borderColor: Colors.Secondary,
},
disabledOutlineButton: {
backgroundColor: Colors.Transparent,
@@ -1117,7 +1125,7 @@ export const DefaultTheme = {
backgroundColor: Colors.Grey,
},
addId: {
backgroundColor: Colors.Orange,
backgroundColor: Colors.Secondary,
},
gradient: {
borderRadius: 9,
@@ -1138,7 +1146,7 @@ export const DefaultTheme = {
},
radius: {
borderRadius: 10,
backgroundColor: Colors.Orange,
backgroundColor: Colors.Secondary,
},
Large: {
width: Dimensions.get('window').width * 0.9,
@@ -1168,7 +1176,7 @@ export const DefaultTheme = {
backgroundColor: Colors.White,
borderWidth: 0,
marginTop: -15,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
padding: 0,
},
timeoutHintContainer: {
@@ -1188,7 +1196,7 @@ export const DefaultTheme = {
margin: 16,
padding: 8,
borderWidth: 2,
borderColor: Colors.Orange,
borderColor: Colors.Secondary,
borderRadius: 30,
},
sharedSuccessfullyVerifierInfo: {
@@ -1271,7 +1279,7 @@ export const DefaultTheme = {
}),
BackupAndRestoreStyles: StyleSheet.create({
backupProgressText: {
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
fontSize: 14,
color: Colors.Gray44,
},
@@ -1281,7 +1289,7 @@ export const DefaultTheme = {
textAlign: 'center',
lineHeight: 22,
fontSize: 17,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
marginHorizontal: 30,
},
actionOrLoaderContainer: {
@@ -1298,7 +1306,7 @@ export const DefaultTheme = {
paddingHorizontal: 10,
textAlign: 'center',
paddingTop: 15,
fontFamily: 'Inter_500Medium',
fontFamily: 'Montserrat_500Medium',
fontSize: 14,
letterSpacing: 0,
lineHeight: 17,
@@ -1316,7 +1324,7 @@ export const DefaultTheme = {
headerText: {
justifyContent: 'center',
paddingLeft: 12,
fontFamily: 'Inter_500Medium',
fontFamily: 'Montserrat_500Medium',
fontWeight: '600',
fontSize: 14,
letterSpacing: 0,
@@ -1369,15 +1377,15 @@ export const DefaultTheme = {
new: {
height: 20,
width: 'auto',
backgroundColor: '#FF5300',
alignItems: 'center',
justifyContent: 'center',
marginLeft: 10,
borderRadius: 5,
paddingHorizontal: 5,
},
kebabHeaderStyle: {
justifyContent: 'space-between',
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
},
}),
MessageOverlayStyles: StyleSheet.create({
@@ -1465,7 +1473,7 @@ export const DefaultTheme = {
padding: 20,
},
slider: {
backgroundColor: Colors.Orange,
backgroundColor: Colors.Secondary,
minHeight: 300,
width: '100%',
margin: 0,
@@ -1475,7 +1483,7 @@ export const DefaultTheme = {
sliderTitle: {
color: Colors.White,
marginBottom: 20,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
},
text: {
color: Colors.White,
@@ -1556,7 +1564,7 @@ export const DefaultTheme = {
marginHorizontal: 9,
},
issuerHeading: {
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 14,
paddingHorizontal: 3,
marginBottom: 2,
@@ -1582,7 +1590,7 @@ export const DefaultTheme = {
image: {marginTop: -60, paddingBottom: 26},
title: {
color: Colors.Black,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 18,
lineHeight: 21,
paddingTop: 4,
@@ -1591,7 +1599,7 @@ export const DefaultTheme = {
},
message: {
textAlign: 'center',
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
fontSize: 14,
lineHeight: 20,
marginTop: 6,
@@ -1601,7 +1609,7 @@ export const DefaultTheme = {
},
additionalMessage: {
color: Colors.Black,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 18,
lineHeight: 21,
paddingTop: 4,
@@ -1646,7 +1654,7 @@ export const DefaultTheme = {
},
heading: {
color: 'black',
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
fontSize: 18,
lineHeight: 19,
padding: 10,
@@ -1793,16 +1801,16 @@ export const DefaultTheme = {
purposeText: {
fontSize: 13,
position: 'relative',
fontFamily: 'Inter_500Medium',
fontFamily: 'Montserrat_500Medium',
},
cardsSelectedText: {
fontFamily: 'Inter_500Medium',
fontFamily: 'Montserrat_500Medium',
color: '#000000',
fontSize: 14,
},
selectIDText: {
position: 'relative',
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 16,
},
}),
@@ -1822,11 +1830,11 @@ export const DefaultTheme = {
justifyContent: 'space-between',
},
bannerTitle: {
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
bannerGuide: {
opacity: 0.8,
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
},
bannerEnablePermissionContainer: {
marginTop: 15,
@@ -1834,7 +1842,7 @@ export const DefaultTheme = {
bannerEnablePermission: {
borderBottomWidth: 1.5,
borderBottomColor: Colors.White,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
scannerContainer: {
borderRadius: 24,
@@ -1889,14 +1897,18 @@ export const DefaultTheme = {
},
holdPhoneSteadyText: {
color: Colors.Black,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 15,
},
cameraFlipIcon: {
height: 50,
width: 50,
},
iconText: {fontFamily: 'Inter_600SemiBold', fontSize: 12, marginTop: 6},
iconText: {
fontFamily: 'Montserrat_600SemiBold',
fontSize: 12,
marginTop: 6,
},
}),
BottomTabBarStyle: StyleSheet.create({
@@ -1904,7 +1916,7 @@ export const DefaultTheme = {
headerLeftContainerStyle: {paddingEnd: 13},
tabBarLabelStyle: {
fontSize: 12,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
tabBarStyle: {
display: 'flex',
@@ -1951,6 +1963,22 @@ export const DefaultTheme = {
paddingTop: 3,
maxWidth: 250,
},
footerContainer: {
alignItems: 'center',
marginTop: 12,
},
poweredByRow: {
alignItems: 'center',
marginBottom: 4,
},
logoStyle: {
width: 24,
height: 24,
marginRight: 5,
marginTop: 12,
},
tuvaliVerisonStyle: {
paddingTop: 3,
paddingBottom: 12,
@@ -2162,7 +2190,7 @@ export const DefaultTheme = {
titleText: {
fontSize: 17,
textAlign: 'left',
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
paddingTop: 20,
},
titleDescription: {
@@ -2173,14 +2201,14 @@ export const DefaultTheme = {
},
noteTitleText: {
fontSize: 14,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
color: '#973C00',
marginBottom: 5,
},
noteDescriptionText: {
fontSize: 13,
color: '#973C00',
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
lineHeight: 18,
textAlign: 'left',
marginLeft: -25,
@@ -2199,7 +2227,7 @@ export const DefaultTheme = {
},
text: {
fontSize: 14,
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
color: 'black',
flex: 1,
},

View File

@@ -52,7 +52,7 @@ const Colors = {
GradientColorsLight: ['#F3E2FF', '#F3E2FF'],
DisabledColors: ['#C7C7C7', '#C7C7C7'],
captureIconBorder: '#F59B4B',
Purple: '#70308C',
Primary: '#70308C',
LightPurple: '#F3E2FF',
TimeoutHintBoxColor: '#FBF5FF',
TimeoutHintBoxBorder: '#F3E2FF',
@@ -78,19 +78,19 @@ export const PurpleTheme = {
Colors: {
ProfileIconColor: Colors.DarkGray,
DetailedViewBackground: Colors.Gray97,
TabItemText: Colors.Purple,
TabItemText: Colors.Primary,
Details: Colors.Black,
DetailsLabel: Colors.Gray40,
LoadingDetailsLabel: Colors.Gray40,
AddIdBtnBg: Colors.Purple,
AddIdBtnTxt: Colors.Purple,
AddIdBtnBg: Colors.Primary,
AddIdBtnTxt: Colors.Primary,
DownloadIdBtnTxt: Colors.White,
Loading: Colors.Purple,
Cursor: Colors.Purple,
noUinText: Colors.Purple,
IconBg: Colors.Purple,
Loading: Colors.Primary,
Cursor: Colors.Primary,
noUinText: Colors.Primary,
IconBg: Colors.Primary,
popUp: Colors.Green,
Icon: Colors.Purple,
Icon: Colors.Primary,
GrayIcon: Colors.Gray50,
helpText: Colors.Gray44,
borderBottomColor: Colors.Grey6,
@@ -98,7 +98,7 @@ export const PurpleTheme = {
lightGreyBackgroundColor: Colors.LightGrey,
errorGrayText: Colors.mediumDarkGrey,
aboutVersion: Colors.Gray40,
switchHead: Colors.Purple,
switchHead: Colors.Primary,
switchTrackTrue: Colors.LightPurple,
switchTrackFalse: Colors.Grey,
overlayBackgroundColor: Colors.White,
@@ -115,7 +115,7 @@ export const PurpleTheme = {
whiteText: Colors.White,
flipCameraIcon: Colors.Black,
RetrieveIdLabel: Colors.ShadeOfGrey,
inputSelection: Colors.Purple,
inputSelection: Colors.Primary,
checkCircleIcon: Colors.White,
OnboardingCircleIcon: Colors.White,
OnboardingCloseIcon: Colors.White,
@@ -150,9 +150,11 @@ export const PurpleTheme = {
warningLogoBgColor: Colors.warningLogoBg,
tooltipIcon: Colors.tooltip,
toolTipPointerColor: Colors.toolTipPointer,
urlLink: Colors.Purple,
urlLink: Colors.Primary,
warningText: Colors.Red,
PendingIcon: Colors.Yellow,
unCheckText: Colors.Orange,
secondaryText: Colors.Orange,
},
Styles: StyleSheet.create({
title: {
@@ -171,12 +173,12 @@ export const PurpleTheme = {
fieldItemTitle: {
backgroundColor: Colors.Transparent,
fontSize: 11,
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
},
fieldItemValue: {
backgroundColor: Colors.Transparent,
fontSize: 12,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
marginTop: 3,
},
loadingSubtitle: {
@@ -185,7 +187,7 @@ export const PurpleTheme = {
},
verificationStatus: {
fontSize: 12,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
statusLabel: {
color: Colors.Gray30,
@@ -326,14 +328,14 @@ export const PurpleTheme = {
borderRadius: 15,
margin: 5,
borderWidth: 3,
borderColor: Colors.Purple,
borderColor: Colors.Primary,
overflow: 'hidden',
},
selectedVc: {
borderRadius: 10,
margin: 5,
borderWidth: 2,
borderColor: Colors.Purple,
borderColor: Colors.Primary,
},
labelPartContainer: {
marginLeft: 16,
@@ -568,7 +570,7 @@ export const PurpleTheme = {
borderWidth: 0,
},
tabIndicator: {
backgroundColor: Colors.Purple,
backgroundColor: Colors.Primary,
},
tabContainer: {
backgroundColor: Colors.Transparent,
@@ -580,7 +582,7 @@ export const PurpleTheme = {
detailsText: {
fontWeight: 'bold',
fontSize: 15,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
},
idInputContainer: {
width: Dimensions.get('window').width * 0.86,
@@ -593,13 +595,13 @@ export const PurpleTheme = {
height: isIOS() ? 100 : 'auto',
},
picker: {
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 18,
},
idInputBottom: {
position: 'relative',
bottom: 18,
borderBottomColor: Colors.Purple,
borderBottomColor: Colors.Primary,
borderBottomWidth: 1,
minWidth: 210,
},
@@ -614,7 +616,7 @@ export const PurpleTheme = {
marginVertical: 6,
},
placeholder: {
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
hrLine: {
borderBottomColor: Colors.Gray44,
@@ -656,7 +658,7 @@ export const PurpleTheme = {
borderRadius: 200,
height: 70,
width: 70,
backgroundColor: Colors.Purple,
backgroundColor: Colors.Primary,
justifyContent: 'center',
position: 'absolute',
},
@@ -699,14 +701,14 @@ export const PurpleTheme = {
paddingHorizontal: 24,
},
newLabel: {
backgroundColor: Colors.Purple,
backgroundColor: Colors.Primary,
paddingHorizontal: 5,
paddingVertical: 4,
maxHeight: 20,
marginTop: 10,
borderRadius: 4,
fontSize: 10,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
lineHeight: 12,
},
scanLayoutHeaderContainer: {
@@ -717,7 +719,7 @@ export const PurpleTheme = {
},
scanLayoutHeaderTitle: {
fontSize: 26,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
paddingTop: isIOS() ? 10 : 20,
paddingBottom: 10,
},
@@ -734,18 +736,18 @@ export const PurpleTheme = {
},
sendVPHeaderTitle: {
fontSize: 18,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
sendVPHeaderSubTitle: {
fontSize: 13,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
color: Colors.LightPurple,
maxWidth: '80%',
overflow: 'hidden',
},
HistoryHeaderTitleStyle: {
fontSize: 26,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
marginTop: isIOS() ? 5 : 15,
},
tabBarIconCopilot: {
@@ -783,7 +785,7 @@ export const PurpleTheme = {
marginBottom: 12,
},
disclosureTitle: {
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
fontSize: 15,
color: Colors.Black,
},
@@ -794,27 +796,43 @@ export const PurpleTheme = {
},
disclosureSelectButton: {
fontSize: 14,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
},
}),
BannerStyles: StyleSheet.create({
bannerStackContainer: {
position: 'absolute',
width: '100%',
alignItems: 'center',
zIndex: 100,
},
wrapper: {
width: '100%',
alignSelf: 'center',
},
container: {
alignItems: 'flex-start',
alignItems: 'center',
justifyContent: 'space-between',
backgroundColor: '#DB2E2E',
width: '100%',
height: 70,
position: 'relative',
paddingHorizontal: 18,
paddingVertical: 12,
marginVertical: 1,
columnGap: 7,
borderRadius: 10,
},
topBanner: {
marginTop: 10,
marginBottom: 10,
},
text: {
textAlignVertical: 'center',
fontSize: 12,
fontSize: 14,
lineHeight: 15,
padding: 1,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
topBanner: {
marginTop: 10,
@@ -854,7 +872,7 @@ export const PurpleTheme = {
borderTopLeftRadius: 21,
borderTopRightRadius: 21,
justifyContent: 'space-between',
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
paddingBottom: 10,
paddingRight: 15,
paddingLeft: 130,
@@ -890,7 +908,7 @@ export const PurpleTheme = {
color: Colors.Black,
flex: 1,
fontSize: 33,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
height: 40,
lineHeight: 28,
margin: 8,
@@ -898,10 +916,10 @@ export const PurpleTheme = {
},
onEnteringPin: {
borderBottomWidth: 3,
borderColor: Colors.Purple,
borderColor: Colors.Primary,
color: Colors.Black,
flex: 1,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
fontSize: 29,
height: 40,
margin: 8,
@@ -911,33 +929,33 @@ export const PurpleTheme = {
TextStyles: StyleSheet.create({
header: {
color: Colors.Black,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
fontSize: 18,
lineHeight: 19,
paddingTop: 5,
},
subHeader: {
color: Colors.mediumLightGrayText,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
lineHeight: 19,
fontSize: 13,
paddingTop: 4,
},
semiBoldHeader: {
color: Colors.Black,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 18,
lineHeight: 21,
paddingTop: 4,
},
retrieveIdLabel: {
color: Colors.ShadeOfGrey,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
lineHeight: 18,
},
helpHeader: {
color: Colors.Black,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
fontSize: 18,
lineHeight: 19,
paddingTop: 5,
@@ -946,11 +964,11 @@ export const PurpleTheme = {
helpDetails: {
margin: 5,
color: Colors.Gray44,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
urlLinkText: {
color: Colors.Purple,
fontFamily: 'Inter_600SemiBold',
color: Colors.Primary,
fontFamily: 'Montserrat_600SemiBold',
},
aboutDetails: {
color: Colors.Black,
@@ -963,7 +981,7 @@ export const PurpleTheme = {
top: 65,
left: 5,
color: Colors.Red,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 12,
minWidth: 200,
},
@@ -973,21 +991,21 @@ export const PurpleTheme = {
lineHeight: 18,
},
regular: {
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
fontSize: 14,
},
regularGrey: {
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
fontSize: 15,
lineHeight: 19,
color: Colors.ShadeOfGrey,
},
semibold: {
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 15,
},
bold: {
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
fontSize: 15,
justifyContent: 'center',
},
@@ -999,6 +1017,12 @@ export const PurpleTheme = {
fontSize: 15,
lineHeight: 18,
},
mediumExtraSmall: {
fontSize: 14,
},
medium: {
fontSize: 16,
},
extraSmall: {
fontSize: 12,
},
@@ -1039,7 +1063,7 @@ export const PurpleTheme = {
}),
ToastItemStyles: StyleSheet.create({
toastContainer: {
backgroundColor: Colors.Purple,
backgroundColor: Colors.Primary,
position: 'absolute',
alignSelf: 'center',
top: 80,
@@ -1069,7 +1093,7 @@ export const PurpleTheme = {
searchBarContainer: {
alignItems: 'center',
borderBottomWidth: 1,
borderBottomColor: Colors.Purple,
borderBottomColor: Colors.Primary,
},
vcSearchBarContainer: {
alignItems: 'center',
@@ -1104,14 +1128,14 @@ export const PurpleTheme = {
flex: 1,
},
solid: {
backgroundColor: Colors.Purple,
backgroundColor: Colors.Primary,
},
clear: {
backgroundColor: Colors.Transparent,
},
outline: {
backgroundColor: Colors.Transparent,
borderColor: Colors.Purple,
borderColor: Colors.Primary,
},
disabledOutlineButton: {
backgroundColor: Colors.Transparent,
@@ -1126,7 +1150,7 @@ export const PurpleTheme = {
backgroundColor: Colors.Grey,
},
addId: {
backgroundColor: Colors.Purple,
backgroundColor: Colors.Primary,
},
gradient: {
borderRadius: 9,
@@ -1147,7 +1171,7 @@ export const PurpleTheme = {
},
radius: {
borderRadius: 10,
backgroundColor: Colors.Purple,
backgroundColor: Colors.Primary,
},
}),
OIDCAuthStyles: StyleSheet.create({
@@ -1174,7 +1198,7 @@ export const PurpleTheme = {
backgroundColor: Colors.White,
borderWidth: 0,
marginTop: -15,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
padding: 0,
},
timeoutHintContainer: {
@@ -1194,7 +1218,7 @@ export const PurpleTheme = {
margin: 16,
padding: 8,
borderWidth: 2,
borderColor: Colors.Purple,
borderColor: Colors.Primary,
borderRadius: 30,
},
sharedSuccessfullyVerifierInfo: {
@@ -1277,7 +1301,7 @@ export const PurpleTheme = {
}),
BackupAndRestoreStyles: StyleSheet.create({
backupProgressText: {
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
fontSize: 14,
color: Colors.Gray44,
},
@@ -1291,7 +1315,7 @@ export const PurpleTheme = {
textAlign: 'center',
lineHeight: 22,
fontSize: 17,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
marginHorizontal: 30,
},
cloudInfo: {
@@ -1304,7 +1328,7 @@ export const PurpleTheme = {
paddingHorizontal: 10,
textAlign: 'center',
paddingTop: 15,
fontFamily: 'Inter_500Medium',
fontFamily: 'Montserrat_500Medium',
fontSize: 14,
letterSpacing: 0,
lineHeight: 17,
@@ -1322,7 +1346,7 @@ export const PurpleTheme = {
headerText: {
justifyContent: 'center',
paddingLeft: 12,
fontFamily: 'Inter_500Medium',
fontFamily: 'Montserrat_500Medium',
fontWeight: '600',
fontSize: 14,
letterSpacing: 0,
@@ -1383,7 +1407,7 @@ export const PurpleTheme = {
},
kebabHeaderStyle: {
justifyContent: 'space-between',
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
},
}),
MessageOverlayStyles: StyleSheet.create({
@@ -1472,7 +1496,7 @@ export const PurpleTheme = {
padding: 20,
},
slider: {
backgroundColor: Colors.Purple,
backgroundColor: Colors.Primary,
minHeight: 300,
width: '100%',
margin: 0,
@@ -1482,7 +1506,7 @@ export const PurpleTheme = {
sliderTitle: {
color: Colors.White,
marginBottom: 20,
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
},
text: {
color: Colors.White,
@@ -1564,7 +1588,7 @@ export const PurpleTheme = {
marginHorizontal: 9,
},
issuerHeading: {
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 14,
paddingHorizontal: 3,
marginBottom: 2,
@@ -1588,7 +1612,7 @@ export const PurpleTheme = {
image: {marginTop: -60, paddingBottom: 26},
title: {
color: Colors.Black,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 18,
lineHeight: 21,
paddingTop: 4,
@@ -1597,7 +1621,7 @@ export const PurpleTheme = {
},
message: {
textAlign: 'center',
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
fontSize: 14,
lineHeight: 20,
marginTop: 6,
@@ -1607,7 +1631,7 @@ export const PurpleTheme = {
},
additionalMessage: {
color: Colors.Black,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 18,
lineHeight: 21,
paddingTop: 4,
@@ -1656,7 +1680,7 @@ export const PurpleTheme = {
},
heading: {
color: 'black',
fontFamily: 'Inter_700Bold',
fontFamily: 'Montserrat_700Bold',
fontSize: 18,
lineHeight: 19,
padding: 10,
@@ -1800,16 +1824,16 @@ export const PurpleTheme = {
purposeText: {
fontSize: 13,
position: 'relative',
fontFamily: 'Inter_500Medium',
fontFamily: 'Montserrat_500Medium',
},
cardsSelectedText: {
fontFamily: 'Inter_500Medium',
fontFamily: 'Montserrat_500Medium',
color: '#000000',
fontSize: 14,
},
selectIDText: {
position: 'relative',
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 16,
},
}),
@@ -1829,11 +1853,11 @@ export const PurpleTheme = {
justifyContent: 'space-between',
},
bannerTitle: {
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
bannerGuide: {
opacity: 0.8,
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
},
bannerEnablePermissionContainer: {
marginTop: 15,
@@ -1841,7 +1865,7 @@ export const PurpleTheme = {
bannerEnablePermission: {
borderBottomWidth: 1.5,
borderBottomColor: Colors.White,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
scannerContainer: {
borderRadius: 24,
@@ -1895,21 +1919,25 @@ export const PurpleTheme = {
},
holdPhoneSteadyText: {
color: Colors.Black,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
fontSize: 15,
},
cameraFlipIcon: {
height: 50,
width: 50,
},
iconText: {fontFamily: 'Inter_600SemiBold', fontSize: 12, marginTop: 6},
iconText: {
fontFamily: 'Montserrat_600SemiBold',
fontSize: 12,
marginTop: 6,
},
}),
BottomTabBarStyle: StyleSheet.create({
headerRightContainerStyle: {paddingEnd: 13},
headerLeftContainerStyle: {paddingEnd: 13},
tabBarLabelStyle: {
fontSize: 12,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
},
tabBarStyle: {
display: 'flex',
@@ -1956,6 +1984,20 @@ export const PurpleTheme = {
paddingTop: 3,
maxWidth: 250,
},
footerContainer: {
alignItems: 'center',
marginTop: 12,
},
poweredByRow: {
alignItems: 'center',
marginBottom: 4,
},
logoStyle: {
width: 24,
height: 24,
marginRight: 5,
},
tuvaliVerisonStyle: {
paddingTop: 3,
paddingBottom: 12,
@@ -2164,7 +2206,7 @@ export const PurpleTheme = {
titleText: {
fontSize: 17,
textAlign: 'left',
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
paddingTop: 20,
},
titleDescription: {
@@ -2175,14 +2217,14 @@ export const PurpleTheme = {
},
noteTitleText: {
fontSize: 14,
fontFamily: 'Inter_600SemiBold',
fontFamily: 'Montserrat_600SemiBold',
color: '#973C00',
marginBottom: 5,
},
noteDescriptionText: {
fontSize: 13,
color: '#973C00',
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
lineHeight: 18,
textAlign: 'left',
marginLeft: -25,
@@ -2201,7 +2243,7 @@ export const PurpleTheme = {
},
text: {
fontSize: 14,
fontFamily: 'Inter_400Regular',
fontFamily: 'Montserrat_400Regular',
color: 'black',
flex: 1,
},

View File

@@ -70,7 +70,7 @@ To change the color of TabItemText
```
export const DefaultTheme = {
Colors: {
TabItemText: colors.Orange,
TabItemText: colors.Primary,
...
}
}
@@ -83,7 +83,7 @@ To change the color of Details Label Text
```
export const DefaultTheme = {
Colors: {
DetailsLabel: colors.Orange,
DetailsLabel: colors.Primary,
...
}
}
@@ -109,8 +109,8 @@ To change the color of AddId Button Text and Background
```
export const DefaultTheme = {
Colors: {
AddIdBtnBg: colors.Orange,
AddIdBtnTxt: colors.Orange,
AddIdBtnBg: colors.Primary,
AddIdBtnTxt: colors.Primary,
...
}
}
@@ -123,7 +123,7 @@ To change the color of Icons
```
export const DefaultTheme = {
Colors: {
Icon: colors.Orange,
Icon: colors.Primary,
...
}
}
@@ -136,7 +136,7 @@ To change the Background Color of Icons
```
export const DefaultTheme = {
Colors: {
IconBg: colors.Orange,
IconBg: colors.Primary,
...
}
}
@@ -149,7 +149,7 @@ To change the Color of Loading Transition
```
export const DefaultTheme = {
Colors: {
Loading: colors.Orange,
Loading: colors.Primary,
...
}
}
@@ -175,7 +175,7 @@ To change the Color of noUinText
```
export const DefaultTheme = {
Colors: {
noUinText : colors.Orange,
noUinText : colors.Primary,
...
}
}

42
injitest/.gitignore vendored
View File

@@ -1,42 +0,0 @@
*.class
.mtj.tmp/
*.war
*.ear
hs_err_pid*
#ignored files
.springBeans
.metadata
.factorypath
.classpath
.project
.settings/
bin/
tmp/
logs/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.loadpath
.DS_Store
test.txt
.idea/
.settings/
.sonarlint/
.recommenders/
/.recommenders/
**/*.iml
*.log
src/logs/mosip-api-test.log
/target/
target/
test-output/
testng-report/
/reg
./reg
reports
screenshots/

View File

@@ -1,17 +0,0 @@
{
"deviceId":"3",
"deviceStatus":"Ready",
"certification":"L0",
"serviceVersion":"0.9.5",
"deviceSubId":[
"0"
],
"callbackId":"",
"digitalId":"",
"deviceCode": "b692b595-3523-face-99fc-bd76e35f190f",
"specVersion":[
"0.9.5"
],
"purpose":"",
"error":null
}

View File

@@ -1,18 +0,0 @@
{
"deviceStatus": "Ready",
"deviceId": "3",
"firmware": "MOSIP.FACE.1.0.0.0",
"certification": "L0",
"serviceVersion": "0.9.5",
"deviceSubId":[
"0"
],
"callbackId":"",
"digitalId": "",
"deviceCode": "b692b595-3523-face-99fc-bd76e35f190f",
"env": "Staging",
"purpose": "",
"specVersion": [
"0.9.5"
]
}

View File

@@ -1,10 +0,0 @@
{
"serialNo":"2345678901",
"make":"MOSIP",
"model":"FACE01",
"type":"Face",
"deviceSubType":"Full face",
"deviceProvider":"MOSIP",
"deviceProviderId":"MOSIP.PROXY.SBI",
"dateTime":""
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -1,17 +0,0 @@
{
"deviceId":"4",
"deviceStatus":"Ready",
"certification":"L0",
"serviceVersion":"0.9.5",
"deviceSubId":[
"0"
],
"callbackId":"",
"digitalId":"",
"deviceCode": "b692b595-3523-slap-99fc-bd76e35f290f",
"specVersion":[
"0.9.5"
],
"purpose":"",
"error":null
}

View File

@@ -1,18 +0,0 @@
{
"deviceStatus": "Ready",
"deviceId": "4",
"firmware": "MOSIP.SINGLE.1.0.0.0",
"certification": "L0",
"serviceVersion": "0.9.5",
"deviceSubId":[
"0"
],
"callbackId":"",
"digitalId": "",
"deviceCode": "b692b595-3523-slap-99fc-bd76e35f290f",
"env": "Staging",
"purpose": "",
"specVersion": [
"0.9.5"
]
}

View File

@@ -1,10 +0,0 @@
{
"serialNo":"1234567990",
"make":"MOSIP",
"model":"SINGLE01",
"type":"Finger",
"deviceSubType":"Single",
"deviceProvider":"MOSIP",
"deviceProviderId":"MOSIP.PROXY.SBI",
"dateTime":""
}

View File

@@ -1,17 +0,0 @@
{
"deviceId":"2",
"deviceStatus":"Ready",
"certification":"L0",
"serviceVersion":"0.9.5",
"deviceSubId":[
"1", "2", "3"
],
"callbackId":"",
"digitalId":"",
"deviceCode": "b692b595-3523-slap-99fc-bd76e35f190f",
"specVersion":[
"0.9.5"
],
"purpose":"",
"error":null
}

View File

@@ -1,18 +0,0 @@
{
"deviceStatus": "Ready",
"deviceId": "2",
"firmware": "MOSIP.SLAP.1.0.0.0",
"certification": "L0",
"serviceVersion": "0.9.5",
"deviceSubId":[
"1", "2", "3"
],
"callbackId":"",
"digitalId": "",
"deviceCode": "b692b595-3523-slap-99fc-bd76e35f190f",
"env": "Staging",
"purpose": "",
"specVersion": [
"0.9.5"
]
}

View File

@@ -1,10 +0,0 @@
{
"serialNo":"1234567890",
"make":"MOSIP",
"model":"SLAP01",
"type":"Finger",
"deviceSubType":"Slap",
"deviceProvider":"MOSIP",
"deviceProviderId":"MOSIP.PROXY.SBI",
"dateTime":""
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -1,17 +0,0 @@
{
"deviceId":"1",
"deviceStatus":"Ready",
"certification":"L0",
"serviceVersion":"0.9.5",
"deviceSubId":[
"1", "2", "3"
],
"callbackId":"",
"digitalId":"",
"deviceCode": "b692b595-3523-iris-99fc-bd76e35f190f",
"specVersion":[
"0.9.5"
],
"purpose":"",
"error":null
}

View File

@@ -1,18 +0,0 @@
{
"deviceStatus": "Ready",
"deviceId": "1",
"firmware": "MOSIP.IRIS.1.0.0.0",
"certification": "L0",
"serviceVersion": "0.9.5",
"deviceSubId":[
"1", "2", "3"
],
"callbackId":"",
"digitalId": "",
"deviceCode": "b692b595-3523-iris-99fc-bd76e35f190f",
"env": "Staging",
"purpose": "",
"specVersion": [
"0.9.5"
]
}

View File

@@ -1,10 +0,0 @@
{
"serialNo":"3456789012",
"make":"MOSIP",
"model":"IRIS01",
"type":"Iris",
"deviceSubType":"Double",
"deviceProvider":"MOSIP",
"deviceProviderId":"MOSIP.PROXY.SBI",
"dateTime":""
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -1,17 +0,0 @@
{
"deviceId":"5",
"deviceStatus":"Ready",
"certification":"L0",
"serviceVersion":"0.9.5",
"deviceSubId":[
"0"
],
"callbackId":"",
"digitalId":"",
"deviceCode": "b692b595-3523-iris-99fc-bd76e35fff8",
"specVersion":[
"0.9.5"
],
"purpose":"",
"error":null
}

View File

@@ -1,18 +0,0 @@
{
"deviceStatus": "Ready",
"deviceId": "5",
"firmware": "MOSIP.IRIS.2.0.0.0",
"certification": "L0",
"serviceVersion": "0.9.5",
"deviceSubId":[
"0"
],
"callbackId":"",
"digitalId": "",
"deviceCode": "b692b595-3523-iris-99fc-bd76e35fff8",
"env": "Staging",
"purpose": "",
"specVersion": [
"0.9.5"
]
}

View File

@@ -1,10 +0,0 @@
{
"serialNo":"3456789099",
"make":"MOSIP",
"model":"IRIS02",
"type":"Iris",
"deviceSubType":"Single",
"deviceProvider":"MOSIP",
"deviceProviderId":"MOSIP.PROXY.SBI",
"dateTime":""
}

View File

@@ -1,20 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDPzCCAiegAwIBAgIEYCFEgjANBgkqhkiG9w0BAQsFADBSMQswCQYDVQQGEwJJ
TjESMBAGA1UECAwJS2FybmF0YWthMQ4wDAYDVQQKDAVNb3NpcDEOMAwGA1UECwwF
TW9zaXAxDzANBgNVBAMMBlJvb3RDQTAeFw0yMTAyMDgxNDAyNDJaFw0zMTAyMDgx
NDAyNDJaMFIxCzAJBgNVBAYTAklOMRIwEAYDVQQIDAlLYXJuYXRha2ExDjAMBgNV
BAoMBU1vc2lwMQ4wDAYDVQQLDAVNb3NpcDEPMA0GA1UEAwwGUm9vdENBMIIBIjAN
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz9kaCs4Yrh2mMFx/wGV42Tn7vM9d
t2au3JOWu/fbeaNk8/TgNEA1GrVerqagcRDDo+6jBDbX7XO9iRHX1wmIcVkH7osa
cMKGfYzZbvkWjGFRCam10xLGyczSeDiIIj+H3eLXzTP0iZBcVyw40EMLWk7BHld+
eFY1XS+EDPIv6snjIxWDEd+wND1tOvWgPsS7mYy8Mn9QRYZXH9KW8/nW0bf/Z74U
d89PtXl3WSSrrRZSQofGDwM5RPOEzrYcurZowwWLWmgAmvcsATxhOAiKe6e6tvbD
yXTC8+9CRv22zGTcasI5QOYzGaj6wMKr9h2WgAY1LJFBIkEjf1ykWGlTbQIDAQAB
ox0wGzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQsFAAOC
AQEAzWge0dKje1/opIyiho0e6p6a/M/UD05bNLg7XD6uMqJAT9C1YTwq77OD0nrc
ZpMQoQ4zCFEbGoPvHWzW0Isc7Y3F40YI8bQdmEQtJuiqsCUQ8XW3b4YDTH6VM5go
+VZgoRucIRBwCAss1tMrxjT3lMWwuyA9DaOkryRW/m9QmlLoTWLQabi/pO+FS+oy
WYYxJOzvqC3xUTYHi+DzlLSWR08NE7gdHrD4aAHYLPIyzgVuToztB7PYmbuOnKmS
M9sHlKqgpN7/AgvTOFOEX5mi5BcPGKagryTfipwLVyWaQBDCcVNkAtoLTYPCTEAj
UhONf7GpbeehitYjHQoknr21EA==
-----END CERTIFICATE-----

View File

@@ -1,21 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDeTCCAmGgAwIBAgIEYMHynDANBgkqhkiG9w0BAQsFADBvMQswCQYDVQQGEwJJ
TjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCYW5nYWxvcmUxETAPBgNV
BAoMCG1vc2lwLmlvMREwDwYDVQQLDAhtb3NpcC5pbzESMBAGA1UEAwwJUm9vdENB
RlRNMB4XDTIxMDYxMDExMDgxMloXDTIyMDYxMDExMDgxMlowbzELMAkGA1UEBhMC
SU4xEjAQBgNVBAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmFuZ2Fsb3JlMREwDwYD
VQQKDAhtb3NpcC5pbzERMA8GA1UECwwIbW9zaXAuaW8xEjAQBgNVBAMMCVJvb3RD
QUZUTTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3FfxvirIiPH6YF
X4GR1z7LOI8tiwvfqjAFba6p4vMHs0xNu0TWJ9GS3qlDglmWczm3hgHndWD3rIUQ
V4fMsQDapA0giFVMxushm8u9JYl2HXwtVgrXUeKEdVS3zpWf2qQCXK9vQAOHvhhu
UMWVzL4yxd1RwUGjuSjM/pZqa/Tq0aDfqFVZ/MckxSvieEKEYODtcxXA708SQ07I
aFDZ2gKTD4aYUlCed9fAois+ko06tzqS1kerMiORzZExtUY/hwx2UrLVUBFYTBqW
Wuw0N2VjsaifQAti0JJGYPCBqM2Q7OctIvccAjghHYxCXj+yNRtOm8ooNZTefMJr
fCY9OucCAwEAAaMdMBswCwYDVR0PBAQDAgEGMAwGA1UdEwQFMAMBAf8wDQYJKoZI
hvcNAQELBQADggEBAEQJMIT958jm1e5sCctUcOoHLQVdM9f3NLKicCUCjVMNCDjg
DbkoL72rlktTDbzi4AizaBXwxQdB951SG4Vjbc5tSC3WzB7d8QMiLRwG14Q165Gw
VGuMMOpJn4jlMzJMhhP67vJ4hYI2Op4eDAPH3HCods/Ew4JJ/edwpJ80tLKiB0f6
fnyPXxPUSMtkLCCpp2/zf1OkXmUT8dIgU27R9+/8x/ZphDVJcc00XrgM4VI1dX+W
8W8Ua6GlQSL83HIqVudnFAmCDF0dRX//ghUOeJwWEMgcm/cUNTZv6hZjmDpVeout
E1o6hXGXWRnaDU9/QGpi2BuiSgREOarAQf62sPI=
-----END CERTIFICATE-----

View File

@@ -1,66 +0,0 @@
FROM mosipid/openjdk-21-jre:21.0.4
# Define build-time arguments
ARG SOURCE
ARG COMMIT_HASH
ARG COMMIT_ID
ARG BUILD_TIME
# Set labels for metadata
LABEL source=${SOURCE}
LABEL commit_hash=${COMMIT_HASH}
LABEL commit_id=${COMMIT_ID}
LABEL build_time=${BUILD_TIME}
# Define build-time arguments for user and group
ARG container_user=mosip
ARG container_user_group=mosip
ARG container_user_uid=1001
ARG container_user_gid=1001
ARG KUBECTL_VERSION=1.22.9
# Set working directory for the user
WORKDIR /home/${container_user}/
ENV work_dir=/home/${container_user}/
# Copy files
COPY ./injitest/target $work_dir/
COPY application.properties $work_dir/
COPY ["Biometric Devices", "$work_dir/Biometric Devices"]
COPY ["resource", "$work_dir/resource"]
COPY testNgXmlFiles $work_dir/testNgXmlFiles
COPY androidConfig.yml $work_dir/
COPY iosConfig.yml $work_dir/
COPY entrypoint.sh $work_dir
# install packages and create user
RUN apt-get -y update \
&& apt-get install -y unzip jq curl \
&& groupadd -g ${container_user_gid} ${container_user_group} \
&& useradd -u ${container_user_uid} -g ${container_user_group} -s /bin/bash -m ${container_user} \
&& curl --proto '=https' --proto-redir '=https' -LO "https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl" \
&& mkdir -p /home/${container_user} \
&& chmod +x kubectl $work_dir/entrypoint.sh \
&& mv kubectl /usr/local/bin/ \
&& chown -R ${container_user}:${container_user} /home/${container_user} /etc/ssl/certs/java/cacerts \
&& chmod 644 /etc/ssl/certs/java/cacerts
# Switch to the specified user for the subsequent commands
USER ${container_user_uid}:${container_user_gid}
# Create necessary directories
RUN mkdir -p /home/mosip/test-output && chmod -R 777 /home/mosip/test-output
RUN mkdir -p /home/mosip/screenshots && chmod -R 777 /home/mosip/screenshots
# Expose port if needed
EXPOSE 8083
# Environment variables
ENV MODULES=
ENV ENV_USER=
ENV ENV_ENDPOINT=
ENV ENV_TESTLEVEL=smokeAndRegression
ENV ENV_TESTNG_XML_FILE=
ENV ENV_BROWSERSTACK_CONFIG=
ENTRYPOINT ["./entrypoint.sh"]

View File

@@ -1,34 +0,0 @@
# Inji Automation - Mobile Automation Framework using Appium
## Overview
Inji Automation is a mobile automation framework designed for iOS and Android platforms. It automates both positive and negative scenarios to ensure comprehensive testing of mobile applications.
## Installation
To set up Appium for use with this framework, please follow the installation instructions provided in the [Appium documentation](https://appium.io/docs/en/2.2/quickstart/install/).
## Pre-requisites
Ensure the following software is installed on the machine from where the automation tests will be executed:
1. The project requires JDK 21
## Configurations
1. update `resourec/uin.json`,`resourec/Vid.json`,`resourec/aid.json` file as per the uin and vids being used.
2. Update utils/TestDataReader to include updates for FullName, uin, idType, gender, phoneNumber, dateOfBirth, and externalEmail as they are used during creation.
## BrowserStack
1. singup to browserStack & get the userName and accessKey from home page on browserStack.
2. Upload app on browserStack it will return 'bs://<app-id>', update the same appid in iosConfig.yml/androidconfig.yml.
2. update the userName and accessKey from iosConfig.yml/androidconfig.yml.
3. update the device from tag platforms from https://www.browserstack.com/list-of-browsers-and-platforms/automate (Windows, Mac).
4. Open command prompt and change directory by using command 'cd ../injitest'.
5. Hit the command mvn clean test -DtestngXmlFile=androidSanity.xml -Dbrowserstack.config="androidConfig.yml", for running the sanity for android.
6. Hit the command mvn clean test -DtestngXmlFile=iosSanity.xml -Dbrowserstack.config="iosConfig.yml", for running the sanity for ios.
7. Hit the command mvn clean test -DtestngXmlFile=iosRegression.xml -Dbrowserstack.config="iosConfig.yml", for running the regression for ios.
8. Hit the command mvn clean test -DtestngXmlFile=androidRegression.xml -Dbrowserstack.config="androidConfig.yml", for running the Regression for android.
## Reports
Test reports will be available in the `test-output>>emailableReports` directory after test execution.

View File

@@ -1,80 +0,0 @@
# =============================
# Set BrowserStack Credentials
# =============================
# Add your BrowserStack userName and accessKey here or set BROWSERSTACK_USERNAME and
# BROWSERSTACK_ACCESS_KEY as env variables
userName:
accessKey:
# ======================
# BrowserStack Reporting
# ======================
# The following capabilities are used to set up reporting on BrowserStack:
# Set 'projectName' to the name of your project. Example, Marketing Website
projectName: InjiTests
# Set `buildName` as the name of the job / testsuite being run
buildName: Mohan Android Build
# `buildIdentifier` is a unique id to differentiate every execution that gets appended to
# buildName. Choose your buildIdentifier format from the available expressions:
# ${BUILD_NUMBER} (Default): Generates an incremental counter with every execution
# ${DATE_TIME}: Generates a Timestamp with every execution. Eg. 05-Nov-19:30
# Read more about buildIdentifiers here -> https://www.browserstack.com/docs/automate/selenium/organize-tests
buildIdentifier: '#${BUILD_NUMBER}' # Supports strings along with either/both ${expression}
# =======================================
# App
# =======================================
# Set `app` to use the application under test for Appium sessions.
# Available options:
# app: '/path/to/local/app.apk'
# OR
# app: 'bs://<app-id>' # App URL returned when uploading the app to BrowserStack manually
# Visit https://www.browserstack.com/docs/app-automate/appium/set-up-tests/specify-app for more options
app: bs://06eb550d8b2b490bd55f35508ff66383e3ab2f33 # BrowserStack Sample App
# =======================================
# Platforms (Browsers / Devices to test)
# =======================================
# Platforms object contains all the browser / device combinations you want to test on.
# Entire list available here -> (https://www.browserstack.com/list-of-browsers-and-platforms/automate)
platforms:
- platformName: android
deviceName: Google Pixel 7 Pro
platformVersion: 13.0
# =======================
# Parallels per Platform
# =======================
# The number of parallel threads to be used for each platform set.
# BrowserStack's SDK runner will select the best strategy based on the configured value
#
# Example 1 - If you have configured 3 platforms and set `parallelsPerPlatform` as 2, a total of 6 (2 * 3) parallel threads will be used on BrowserStack
#
# Example 2 - If you have configured 1 platform and set `parallelsPerPlatform` as 5, a total of 5 (1 * 5) parallel threads will be used on BrowserStack
parallelsPerPlatform: 5
source: java:appium-intellij:v1.1.4
# ==========================================
# BrowserStack Local
# (For localhost, staging/private websites)
# ==========================================
# Set browserStackLocal to true if your website under test is not accessible publicly over the internet
# Learn more about how BrowserStack Local works here -> https://www.browserstack.com/docs/automate/selenium/local-testing-introduction
browserstackLocal: true # <boolean> (Default false)
# Options to be passed to BrowserStack local in-case of advanced configurations
# browserStackLocalOptions:
# localIdentifier: # <string> (Default: null) Needed if you need to run multiple instances of local.
# forceLocal: true # <boolean> (Default: false) Set to true if you need to resolve all your traffic via BrowserStack Local tunnel.
# Entire list of arguments available here -> https://www.browserstack.com/docs/automate/selenium/manage-incoming-connections
# ===================
# Debugging features
# ===================
debug: true # <boolean> # Set to true if you need screenshots for every selenium command ran
networkLogs: false # <boolean> Set to true to enable HAR logs capturing
consoleLogs: errors # <string> Remote browser's console debug levels to be printed (Default: errors)
# Available options are `disable`, `errors`, `warnings`, `info`, `verbose` (Default: errors)
interactiveDebugging: true

View File

@@ -1,90 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="androidSanity">
<listeners>
<listener class-name="inji.utils.SuiteListener"/>
</listeners>
<test verbose="2" preserve-order="true" name="android">
<classes>
<class name="inji.testcases.androidTestCases.UnlockWithPasscodeTest">
<methods>
<include name="logoutAndLoginWithPasscode" />
<include name="loginWithInvalidPasscode" />
</methods>
</class>
<class name="inji.testcases.androidTestCases.ActivateVcTest">
<methods>
<include name="downloadAndActiveVcUsingUinViaEsignet" />
</methods>
</class>
<class name="inji.testcases.androidTestCases.ChangeLanguageTest">
<methods>
<include name="changeLanguageToArabic" />
</methods>
</class>
<class name="inji.testcases.androidTestCases.PinVcTest">
<methods>
<include name="downloadVcViaEsignetAndPinUnpin" />
<include name="downloadVcViaEsignetAndPinUnpin" />
</methods>
</class>
<class name="inji.testcases.androidTestCases.AboutInjiTest">
<methods>
<include name="verifyAppId"/>
</methods>
</class>
</classes>
</test>
</suite>
<!--<suite name="All Test Suite">
<listeners>
<listener class-name="inji.utils.SuiteListener" />
</listeners>
<test verbose="2" preserve-order="true" name="android">
<classes>
<class name="inji.testcases.androidTestCases.UnlockWithPasscodeTest">
<methods>
<include name="logoutAndLoginWithPasscode" />
<include name="loginWithInvalidPasscode" />
</methods>
</class>
<class name="inji.testcases.androidTestCases.VcDownloadAndVerifyUsingUinTest">
<methods>
<include name="downloadAndVerifyVcUsingUin" />
<include name="downloadMultipleVcUsingDifferentUin" />
</methods>
</class>
<class name="inji.testcases.androidTestCases.VcDownloadAndVerifyUsingVidTest">
<methods>
<include name="downloadAndVerifyVcUsingVid" />
</methods>
</class>
<class name="inji.testcases.androidTestCases.GenerateUinOrVidTest">
<methods>
<include name="generateUinOrVidUsingAid" />
</methods>
</class>
<class name="inji.testcases.androidTestCases.ActivateVcTest">
<methods>
<include name="activateVc" />
</methods>
</class>
<class name="inji.testcases.androidTestCases.ChangeLanguageTest">
<methods>
<include name="changeLanguageToArabic" />
</methods>
</class>
<class name="inji.testcases.androidTestCases.PinVcTest">
<methods>
<include name="pinVc" />
<include name="VerifyCameraOpenAfterPinVc" />
<include name="downloadVcViaEsignetAndPinUnpin" />
</methods>
</class>
</classes>
</test>
</suite>-->

View File

@@ -1,143 +0,0 @@
server.minport=4501
server.maxport=4600
server.serveripaddress=127.0.0.1
cors.headers.allowed.methods="OPTIONS, RCAPTURE, CAPTURE, MOSIPDINFO, MOSIPDISC, STREAM, GET, POST"
cors.headers.allowed.origin="*"
mosip.mock.sbi.allowed.admin.apis="admin/score, admin/delay, admin/status, admin/profile"
mosip.mock.sbi.quality.score=94
mosip.mock.sbi.device.purpose.registration=Registration
mosip.mock.sbi.device.purpose.auth=Auth
mosip.mock.sbi.biometric.type.biometricdevice=Biometric Device
mosip.mock.sbi.biometric.type.finger=Finger
mosip.mock.sbi.biometric.type.face=Face
mosip.mock.sbi.biometric.type.iris=Iris
mosip.mock.sbi.biometric.subtype.finger.slap=Slap
mosip.mock.sbi.biometric.subtype.finger.single=Single
mosip.mock.sbi.biometric.subtype.finger.touchless=Touchless
mosip.mock.sbi.biometric.subtype.face=Full face
mosip.mock.sbi.biometric.subtype.iris.single=Single
mosip.mock.sbi.biometric.subtype.iris.double=Double
mosip.mock.sbi.biometric.seed.finger=99
mosip.mock.sbi.biometric.seed.face=3
mosip.mock.sbi.biometric.seed.iris=999
mosip.mock.sbi.file.face.digitalid.json=/Biometric Devices/Face/DigitalId.json
mosip.mock.sbi.file.face.deviceinfo.json=/Biometric Devices/Face/DeviceInfo.json
mosip.mock.sbi.file.face.devicediscovery.json=/Biometric Devices/Face/DeviceDiscovery.json
mosip.mock.sbi.file.face.streamimage=/Biometric Devices/Face/Stream Image/0.jpeg
mosip.mock.sbi.file.face.keys.keystorefilename=/device-dsk-partner.p12
mosip.mock.sbi.file.face.keys.keyalias=keyalias
mosip.mock.sbi.file.face.keys.keystorepwd=qwerty@123
mosip.mock.sbi.file.face.keys.keystorefilename.ftm=/Biometric Devices/Face/Keys/mosipfaceftm.p12
mosip.mock.sbi.file.face.keys.keyalias.ftm=mosipfaceftm
mosip.mock.sbi.file.face.keys.keystorepwd.ftm=mosipfaceftm
mosip.mock.sbi.file.face.keys.encryption=/Biometric Devices/Face/Keys/mosip-ida.cer
mosip.mock.sbi.file.finger.slap.digitalid.json=/Biometric Devices/Finger/Slap/DigitalId.json
mosip.mock.sbi.file.finger.slap.deviceinfo.json=/Biometric Devices/Finger/Slap/DeviceInfo.json
mosip.mock.sbi.file.finger.slap.devicediscovery.json=/Biometric Devices/Finger/Slap/DeviceDiscovery.json
mosip.mock.sbi.file.finger.slap.streamimage.left=/Biometric Devices/Finger/Slap/Stream Image/1.jpeg
mosip.mock.sbi.file.finger.slap.streamimage.right=/Biometric Devices/Finger/Slap/Stream Image/2.jpeg
mosip.mock.sbi.file.finger.slap.streamimage.thumb=/Biometric Devices/Finger/Slap/Stream Image/3.jpeg
mosip.mock.sbi.file.finger.slap.keys.keystorefilename=/device-dsk-partner.p12
mosip.mock.sbi.file.finger.slap.keys.keyalias=keyalias
mosip.mock.sbi.file.finger.slap.keys.keystorepwd=qwerty@123
mosip.mock.sbi.file.finger.slap.keys.keystorefilename.ftm=/Biometric Devices/Finger/Slap/Keys/mosipfingerslapftm.p12
mosip.mock.sbi.file.finger.slap.keys.keyalias.ftm=mosipfingerslapftm
mosip.mock.sbi.file.finger.slap.keys.keystorepwd.ftm=mosipfingerslapftm
mosip.mock.sbi.file.finger.slap.keys.encryption=/Biometric Devices/Finger/Slap/Keys/mosip-ida.cer
mosip.mock.sbi.file.iris.double.digitalid.json=/Biometric Devices/Iris/Double/DigitalId.json
mosip.mock.sbi.file.iris.double.deviceinfo.json=/Biometric Devices/Iris/Double/DeviceInfo.json
mosip.mock.sbi.file.iris.double.devicediscovery.json=/Biometric Devices/Iris/Double/DeviceDiscovery.json
#mosip.mock.sbi.file.iris.double.streamimage.both=/Biometric Devices/Iris/Double/Stream Image/1.jpeg
#mosip.mock.sbi.file.iris.double.streamimage.left=/Biometric Devices/Iris/Double/Stream Image/2.jpeg
#mosip.mock.sbi.file.iris.double.streamimage.right=/Biometric Devices/Iris/Double/Stream Image/3.jpeg
mosip.mock.sbi.file.iris.double.keys.keystorefilename=/device-dsk-partner.p12
mosip.mock.sbi.file.iris.double.keys.keyalias=keyalias
mosip.mock.sbi.file.iris.double.keys.keystorepwd=qwerty@123
mosip.mock.sbi.file.iris.double.keys.keystorefilename.ftm=/Biometric Devices/Iris/Double/Keys/mosipirisdoubleftm.p12
mosip.mock.sbi.file.iris.double.keys.keyalias.ftm=mosipirisdoubleftm
mosip.mock.sbi.file.iris.double.keys.keystorepwd.ftm=mosipirisdoubleftm
mosip.mock.sbi.file.iris.double.keys.encryption=/Biometric Devices/Iris/Double/Keys/mosip-ida.cer
mosip.mock.sbi.folder.profile=/resource/Profile
mosip.mock.sbi.file.folder.default=/resource/Profile/Default
mosip.kernel.crypto.sign-algorithm-name=RS256
mosip.auth.server.url=https://dev.mosip.net/v1/authmanager/authenticate/clientidsecretkey
mosip.auth.appid=regproc
mosip.auth.clientid=mosip-regproc-client
mosip.auth.secretkey=abc123
mosip.ida.server.url=https://extint1.mosip.net/idauthentication/v1/internal/getCertificate?applicationId=IDA&referenceId=IDA-FIR
mds_ERROR_0_msg_en=Success
mds_ERROR_100_msg_en=Device not registered
mds_ERROR_101_msg_en=Unable to detect a biometric object
mds_ERROR_102_msg_en=Technical error during extraction
mds_ERROR_103_msg_en=Device tamper detected
mds_ERROR_104_msg_en=Unable to connect to management server
mds_ERROR_105_msg_en=Image orientation error
mds_ERROR_106_msg_en=Device not found
mds_ERROR_107_msg_en=Device public key expired
mds_ERROR_108_msg_en=Domain public key missing
mds_ERROR_109_msg_en=Requested number of biometric (Finger/IRIS) not supported
mds_ERROR_110_msg_en=Device is not ready
mds_ERROR_111_msg_en=Device is busy
mds_ERROR_112_msg_en=Device Type MisMatch for given deviceId
mds_ERROR_113_msg_en=Count MisMatch for given deviceType
mds_ERROR_114_msg_en=Device Type can be only (Finger/Iris/Face)
mds_ERROR_500_msg_en=Invalid URL
mds_ERROR_501_msg_en=Invalid Type Value in Device Discovery Request
mds_ERROR_502_msg_en=Biometric Type values must be Biometric Device, Finger, Face, Iris
mds_ERROR_503_msg_en=Devices are not Connected, please connect devices
mds_ERROR_504_msg_en=Device Status values must be Ready, Busy, Not Ready, Not Registered
mds_ERROR_505_msg_en=Quality Score can not be empty and greater than 100 or lesser than 0
mds_ERROR_506_msg_en=Delay can not empty and lesser than 0 milliseconds
mds_ERROR_507_msg_en=Method array can contain values only MOSIPDISC, MOSIPDINFO, CAPTURE, STREAM, RCAPTURE
mds_ERROR_551_msg_en=Profile Not Set, please check the profile value
mds_ERROR_601_msg_en=Livestream request can not be done for Auth Devices
mds_ERROR_604_msg_en=Device Id value not present in Livestream request object
mds_ERROR_605_msg_en=Device is not connected or not Registered for the deviceId given in Livestream request object
mds_ERROR_606_msg_en=Device connected purpose should be for Registration only for Livestream
mds_ERROR_607_msg_en=Device Status is Not Ready or Busy
mds_ERROR_608_msg_en=Live Stream Image not present
mds_ERROR_609_msg_en=Live Stream timeout
mds_ERROR_610_msg_en=Live streaming unknown error
mds_ERROR_700_msg_en=RCapture Failed because Live streaming was stopped
mds_ERROR_701_msg_en=RCapture Failed because Capture Timeout has happened
mds_ERROR_702_msg_en=RCapture Failed because Live streaming DeviceId and DeviceSubId different
mds_ERROR_703_msg_en=RCapture process already in progress, try after sometime
mds_ERROR_704_msg_en=Device Id value not present in RCapture request object
mds_ERROR_705_msg_en=Device is not connected or not Registered for the deviceId given in RCapture request object
mds_ERROR_706_msg_en=Device connected purpose should be for Registration only for RCapture
mds_ERROR_707_msg_en=BioMetric not present for the given bio subtype
mds_ERROR_708_msg_en=No BioMetric information present for the given Biotype and BioSubType Id
mds_ERROR_709_msg_en=RCapture request can not be done for Auth Devices
mds_ERROR_710_msg_en=RCapture unknown error
mds_ERROR_800_msg_en=Auth Capture Failed
mds_ERROR_801_msg_en=Auth Capture Failed because Capture Timeout has happened
mds_ERROR_803_msg_en=Auth Capture process already in progress, try after sometime
mds_ERROR_804_msg_en=Device Id value not present in Auth Capture request object
mds_ERROR_805_msg_en=Device is not connected or not Registered for the deviceId given in Auth Capture request object
mds_ERROR_806_msg_en=Device connected purpose should be for Auth only for Auth Capture
mds_ERROR_809_msg_en=Auth Capture request can not be done for Registration Devices
mds_ERROR_810_msg_en=Auth Capture unknown error
mds_ERROR_999_msg_en=Unknown Error
mosip.mock.sbi.file.iris.double.streamimage.left=/Biometric Devices/Iris/Double/Stream Image/1.jpeg
mosip.mock.sbi.file.iris.double.streamimage.right=/Biometric Devices/Iris/Double/Stream Image/2.jpeg
mosip.mock.sbi.file.iris.double.streamimage.both=/Biometric Devices/Iris/Double/Stream Image/3.jpeg

Binary file not shown.

View File

@@ -1,116 +0,0 @@
#!/bin/bash
# Function for generic error handling
handle_error() {
local error_message="$1"
echo "Error: $error_message"
exit 1
}
# Function to upload APK to BrowserStack and extract app_url
upload_apk_and_get_url() {
local username="$1"
local access_key="$2"
local project_path=$(pwd)
local apk_path="$project_path/android/app/build/outputs/apk/residentapp/release/Inji_universal.apk"
if [[ -f "$apk_path" ]]; then
response=$(curl -u "$username:$access_key" \
-X POST "https://api-cloud.browserstack.com/app-automate/upload" \
-F "file=@$apk_path")
# Add sleep for 5 seconds to allow the response to be processed
sleep 60
app_url=$(echo "$response" | jq -r '.app_url')
if [[ ! -z "$app_url" ]]; then
echo "$app_url"
else
handle_error "Failed to extract app_url from the response"
fi
else
handle_error "APK file not found at $apk_path"
fi
}
# Function to upload IPA to BrowserStack and extract app_url
upload_ipa_and_get_url() {
local username="$1"
local access_key="$2"
local project_path=$(pwd)
local ipa_path="$project_path/ios/Inji.ipa"
if [[ -f "$ipa_path" ]]; then
response=$(curl -u "$username:$access_key" \
-X POST "https://api-cloud.browserstack.com/app-automate/upload" \
-F "file=@$ipa_path")
# Add sleep for 5 seconds to allow the response to be processed
sleep 60
app_url=$(echo "$response" | jq -r '.app_url')
if [[ ! -z "$app_url" ]]; then
echo "$app_url"
else
handle_error "Failed to extract app_url from the response"
fi
else
handle_error "IPA file not found at $ipa_path"
fi
}
# Function to execute Android tests
execute_android_tests() {
local app_url="$1"
local username="$2"
local access_key="$3"
local test_type="$4"
cd injitest
# Update androidConfig.yml with the app_url obtained from BrowserStack
sed -i "s|app:.*|app: $app_url|" androidConfig.yml
sed -i "s|userName:.*|userName: $username|" androidConfig.yml
sed -i "s|accessKey:.*|accessKey: $access_key|" androidConfig.yml
# Run UI tests using Maven with the updated androidConfig.yml file and TestNG XML file based on the test type
mvn clean test -DtestngXmlFile="android${test_type}.xml" -Dbrowserstack.config="androidConfig.yml"
}
# Function to execute iOS tests
execute_ios_tests() {
local app_url="$1"
local username="$2"
local access_key="$3"
local test_type="$4"
cd injitest
#Use the macOS-compatible commands with '' for sed commands
sed -i '' "s|app:.*|app: $app_url|" "iosConfig.yml"
sed -i '' "s|userName:.*|userName: $username|" "iosConfig.yml"
sed -i '' "s|accessKey:.*|accessKey: $access_key|" "iosConfig.yml"
# Run UI tests using Maven with the updated iosConfig.yml file and TestNG XML file based on the test type
mvn clean test -DtestngXmlFile="ios${test_type}.xml" -Dbrowserstack.config="iosConfig.yml"
}
# Check if the correct number of arguments are passed
if [ "$#" -ne 4 ]; then
echo "Expected arguments: $@"
handle_error "Usage: $0 <username> <access_key> <test_type> <platform>"
fi
# Assigning parameters to variables
username=$1
access_key=$2
test_type=$3
platform=$4
# Upload APK/IPA to BrowserStack and get app_url based on platform
if [ "$platform" = "Android" ]; then
app_url=$(upload_apk_and_get_url "$username" "$access_key")
execute_android_tests "$app_url" "$username" "$access_key" "$test_type"
elif [ "$platform" = "IOS" ]; then
app_url=$(upload_ipa_and_get_url "$username" "$access_key")
execute_ios_tests "$app_url" "$username" "$access_key" "$test_type"
else
handle_error "Invalid platform. Please use 'Android', 'IOS'."
fi

View File

@@ -1,24 +0,0 @@
[object Object][Tue, 12 Aug 2025 11:39:41 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Tue, 12 Aug 2025 11:45:02 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Tue, 12 Aug 2025 12:16:27 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Tue, 12 Aug 2025 12:37:27 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Tue, 12 Aug 2025 12:52:56 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Tue, 12 Aug 2025 12:59:12 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Tue, 12 Aug 2025 13:24:33 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Wed, 13 Aug 2025 07:24:53 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Wed, 13 Aug 2025 08:51:31 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Wed, 13 Aug 2025 08:57:53 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Wed, 13 Aug 2025 09:09:16 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Wed, 13 Aug 2025 09:19:56 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Wed, 13 Aug 2025 12:36:37 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Wed, 13 Aug 2025 13:21:29 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Thu, 14 Aug 2025 04:23:50 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Thu, 14 Aug 2025 04:58:35 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Thu, 14 Aug 2025 05:19:59 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Thu, 14 Aug 2025 05:38:21 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Thu, 14 Aug 2025 06:21:13 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Thu, 14 Aug 2025 07:12:11 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Fri, 19 Sep 2025 11:06:06 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\daemonInstance - \\.\pipe\browserstack\daemonInstance
[Fri, 19 Sep 2025 12:35:59 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\RANCHER_AUTOMATION_TUNNELdaemonInstance - \\.\pipe\browserstack\RANCHER_AUTOMATION_TUNNELdaemonInstance
[Fri, 19 Sep 2025 12:50:21 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\RANCHER_AUTOMATION_TUNNELdaemonInstance - \\.\pipe\browserstack\RANCHER_AUTOMATION_TUNNELdaemonInstance
[Fri, 19 Sep 2025 14:03:23 GMT] Error from server Error: listen EADDRINUSE: address already in use \\.\pipe\browserstack\RANCHER_AUTOMATION_TUNNELdaemonInstance - \\.\pipe\browserstack\RANCHER_AUTOMATION_TUNNELdaemonInstance

View File

@@ -1,10 +0,0 @@
#!/bin/bash
# Run JAR with system properties before -jar
java -Dmodules="$MODULES" \
-Denv.user="$ENV_USER" \
-Denv.endpoint="$ENV_ENDPOINT" \
-Denv.testLevel="$ENV_TESTLEVEL" \
-DtestngXmlFile="$ENV_TESTNG_XML_FILE" \
-Dbrowserstack.config="$ENV_BROWSERSTACK_CONFIG" \
-jar uitest-inji-wallet-*.jar

View File

@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="esignet">
<test verbose="2" preserve-order="true" name="android">
<classes>
<class name="inji.testcases.androidTestCases.ChangeLanguageTest">
<methods>
<include name="changeLanguageToHindiAndVerifyEsignetPage"/>
<include name="changeLanguageToTamilAndVerifyEsignetPage"/>
<include name="changeLanguageToKannadaAndVerifyEsignetPage"/>
<include name="changeLanguageToArabicAndVerifyEsignetPage"/>
<include name="changeLanguageToFillipineAndVerifyEsignetPage"/>
</methods>
</class>
</classes>
</test>
</suite>

View File

@@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="esignet">
<suite-files>
<suite-file path="iosSanity.xml"/>
</suite-files>
<test verbose="2" preserve-order="true" name="ios">
<classes>
<class name="inji.testcases.iosTestCases.ChangeLanguageTest">
<methods>
<include name="changeLanguageToHindiAndVerifyEsignetPage"/>
<include name="changeLanguageToTamilAndVerifyEsignetPage"/>
<include name="changeLanguageToKannadaAndVerifyEsignetPage"/>
<include name="changeLanguageToArabicAndVerifyEsignetPage"/>
<include name="changeLanguageToFillpinoAndVerifyEsignetPage"/>
<include name="changeLanguageToKannadaToEnglishAndVerifyEsignetPage"/>
</methods>
</class>
</classes>
</test>
</suite>

View File

@@ -1,79 +0,0 @@
# =============================
# Set BrowserStack Credentials
# =============================
# Add your BrowserStack userName and accessKey here or set BROWSERSTACK_USERNAME and
# BROWSERSTACK_ACCESS_KEY as env variables
userName:
accessKey:
# ======================
# BrowserStack Reporting
# ======================
# The following capabilities are used to set up reporting on BrowserStack:
# Set 'projectName' to the name of your project. Example, Marketing Website
projectName: InjiTests
# Set `buildName` as the name of the job / testsuite being run
buildName: iOS Build
# `buildIdentifier` is a unique id to differentiate every execution that gets appended to
# buildName. Choose your buildIdentifier format from the available expressions:
# ${BUILD_NUMBER} (Default): Generates an incremental counter with every execution
# ${DATE_TIME}: Generates a Timestamp with every execution. Eg. 05-Nov-19:30
# Read more about buildIdentifiers here -> https://www.browserstack.com/docs/automate/selenium/organize-tests
buildIdentifier: '#${BUILD_NUMBER}' # Supports strings along with either/both ${expression}
# =======================================
# App
# =======================================
# Set `app` to use the application under test for Appium sessions.
# Available options:
# app: '/path/to/local/app.apk'
# OR
# app: 'bs://<app-id>' # App URL returned when uploading the app to BrowserStack manually
# Visit https://www.browserstack.com/docs/app-automate/appium/set-up-tests/specify-app for more options
app: bs://ae452a9b5f63f2244ba48b6b9553a7c12d6405e7 # BrowserStack Sample App
# =======================================
# Platforms (Browsers / Devices to test)
# =======================================
# Platforms object contains all the browser / device combinations you want to test on.
# Entire list available here -> (https://www.browserstack.com/list-of-browsers-and-platforms/automate)
platforms:
- platformName: ios
deviceName: iPhone 13 Pro
platformVersion: 15
# =======================
# Parallels per Platform
# =======================
# The number of parallel threads to be used for each platform set.
# BrowserStack's SDK runner will select the best strategy based on the configured value
#
# Example 1 - If you have configured 3 platforms and set `parallelsPerPlatform` as 2, a total of 6 (2 * 3) parallel threads will be used on BrowserStack
#
# Example 2 - If you have configured 1 platform and set `parallelsPerPlatform` as 5, a total of 5 (1 * 5) parallel threads will be used on BrowserStack
parallelsPerPlatform: 2
source: java:appium-intellij:v1.1.4
# ==========================================
# BrowserStack Local
# (For localhost, staging/private websites)
# ==========================================
# Set browserStackLocal to true if your website under test is not accessible publicly over the internet
# Learn more about how BrowserStack Local works here -> https://www.browserstack.com/docs/automate/selenium/local-testing-introduction
browserstackLocal: true # <boolean> (Default false)
# Options to be passed to BrowserStack local in-case of advanced configurations
# browserStackLocalOptions:
# localIdentifier: # <string> (Default: null) Needed if you need to run multiple instances of local.
# forceLocal: true # <boolean> (Default: false) Set to true if you need to resolve all your traffic via BrowserStack Local tunnel.
# Entire list of arguments available here -> https://www.browserstack.com/docs/automate/selenium/manage-incoming-connections
# ===================
# Debugging features
# ===================
debug: false # <boolean> # Set to true if you need screenshots for every selenium command ran
networkLogs: false # <boolean> Set to true to enable HAR logs capturing
consoleLogs: errors # <string> Remote browser's console debug levels to be printed (Default: errors)
# Available options are `disable`, `errors`, `warnings`, `info`, `verbose` (Default: errors)
interactiveDebugging: true

View File

@@ -1,86 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="iosSanity">
<listeners>
<listener class-name="inji.utils.SuiteListener"/>
</listeners>
<test verbose="2" preserve-order="true" name="ios">
<classes>
<class name="inji.testcases.iosTestCases.UnlockWithPasscodeTest">
<methods>
<include name="logoutAndLoginWithPasscode" />
<include name="loginWithInvalidPasscode" />
</methods>
</class>
<class name="inji.testcases.iosTestCases.ActivateVcTest">
<methods>
<include name="downloadAndActiveVcUsingUinViaEsignet" />
</methods>
</class>
<class name="inji.testcases.iosTestCases.ChangeLanguageTest">
<methods>
<include name="changeLanguageToArabic" />
</methods>
</class>
<class name="inji.testcases.iosTestCases.PinVcTest">
<methods>
<include name="downloadVcViaEsignetAndPinUnpin" />
</methods>
</class>
<class name="inji.testcases.iosTestCases.AboutInjiTest">
<methods>
<include name="verifyAppId"/>
</methods>
</class>
</classes>
</test>
</suite>
<!--<suite name="All Test Suite">-->
<!--<listeners>-->
<!-- <listener class-name="inji.utils.SuiteListener" />-->
<!--</listeners>-->
<!--<test verbose="2" preserve-order="true" name="ios">-->
<!-- <classes>-->
<!-- <class name="inji.testcases.iosTestCases.UnlockWithPasscodeTest">-->
<!-- <methods>-->
<!-- <include name="logoutAndLoginWithPasscode" />-->
<!-- <include name="loginWithInvalidPasscode" />-->
<!-- </methods>-->
<!-- </class>-->
<!-- <class name="iosTestCases.VcDownloadAndVerifyUsingUinTest">-->
<!-- <methods>-->
<!-- <include name="downloadAndVerifyVcUsingUin" />-->
<!-- <include name="downloadMultipleVcUsingDifferentUin" />-->
<!-- </methods>-->
<!-- </class>-->
<!-- <class name="inji.testcases.iosTestCases.VcDownloadAndVerifyUsingVidTest">-->
<!-- <methods>-->
<!-- <include name="downloadAndVerifyVcUsingVid" />-->
<!-- </methods>-->
<!-- </class>-->
<!-- <class name="inji.testcases.iosTestCases.GenerateUinOrVidTest">-->
<!-- <methods>-->
<!-- <include name="generateUinOrVidUsingAid" />-->
<!-- </methods>-->
<!-- </class>-->
<!-- <class name="inji.testcases.iosTestCases.ActivateVcTest">-->
<!-- <methods>-->
<!-- <include name="activateVc" />-->
<!-- </methods>-->
<!-- </class>-->
<!-- <class name="inji.testcases.iosTestCases.ChangeLanguageTest">-->
<!-- <methods>-->
<!-- <include name="changeLanguageToArabic" />-->
<!-- </methods>-->
<!-- </class>-->
<!-- <class name="inji.testcases.iosTestCases.PinVcTest">-->
<!-- <methods>-->
<!-- <include name="pinVc" />-->
<!-- <include name="downloadVcViaEsignetAndPinUnpin" />-->
<!-- </methods>-->
<!-- </class>-->
<!-- </classes>-->
<!--</test>-->
<!--</suite>-->

View File

@@ -1,15 +0,0 @@
[ {
"duration" : 0.050499990582466125,
"eventName" : "sdk:pre-test",
"startTime" : 1.093080793003E8,
"success" : true,
"worker" : 1,
"failure" : null,
"details" : null,
"entryType" : "measure",
"platform" : 0,
"command" : null,
"testName" : null,
"hookType" : "",
"cli" : false
} ]

View File

@@ -1,327 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.mosip.inji</groupId>
<artifactId>inji-wallet</artifactId>
<version>0.21.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>uitest-inji-wallet</name>
<description>Project for Inji Mobile UI Automation</description>
<url>https://github.com/mosip/inji-wallet</url>
<licenses>
<license>
<name>MPL 2.0</name>
<url>https://www.mozilla.org/en-US/MPL/2.0/</url>
</license>
</licenses>
<scm>
<connection>scm:git:git://github.com/mosip/inji-wallet.git</connection>
<developerConnection>scm:git:ssh://github.com/mosip/inji-wallet.git</developerConnection>
<url>https://github.com/mosip/inji-wallet</url>
<tag>HEAD</tag>
</scm>
<developers>
<developer>
<name>Mosip</name>
<email>mosip.emailnotifier@gmail.com</email>
<organization>io.mosip</organization>
<organizationUrl>https://github.com/mosip/inji-wallet</organizationUrl>
</developer>
</developers>
<repositories>
<repository>
<id>ossrh-central</id>
<name>MavenCentralRepository</name>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
<layout>default</layout>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<surefire.plugin.version>3.5.3</surefire.plugin.version>
<log4j.version>2.25.1</log4j.version>
<jackson.version>2.14.3</jackson.version>
<maven.gpg.plugin.version>1.5</maven.gpg.plugin.version>
<maven.shade.plugin.version>3.6.1</maven.shade.plugin.version>
<central.publishing.maven.plugin.version>0.7.0</central.publishing.maven.plugin.version>
<jarName>uitest-inji-wallet-0.21.0-SNAPSHOT-jar-with-dependencies</jarName>
</properties>
<dependencies>
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>8.6.0</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j.version}</version>
<scope>compile</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.11.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.11.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.15.0.Final</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20230227</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.13.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.aventstack/extentreports -->
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>5.1.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>5.3.0</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
<version>17.0.1</version>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.3</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk-s3 -->
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.12.597</version>
</dependency>
<dependency>
<groupId>io.mosip.testrig.apitest.commons</groupId>
<artifactId>apitest-commons</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>com.browserstack</groupId>
<artifactId>browserstack-java-sdk</artifactId>
<version>1.38.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>33.4.8-jre</version>
</dependency>
<dependency>
<groupId>com.browserstack</groupId>
<artifactId>browserstack-local-java</artifactId>
<version>1.1.6</version>
</dependency>
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>5.1.2</version>
</dependency>
</dependencies>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://central.sonatype.com/api/v1/publisher</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.plugin.version}</version>
<configuration>
</configuration>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.6.1</version>
<executions>
<execution>
<id>getClasspathFilenames</id>
<goals>
<goal>properties</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>4.9.10</version>
<executions>
<execution>
<goals>
<goal>revision</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${central.publishing.maven.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>ossrh</publishingServerId>
<autoPublish>false</autoPublish>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${maven.shade.plugin.version}</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>${jarName}}</finalName>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>inji.runner.MosipTestRunner</mainClass>
</transformer>
</transformers>
<!-- add this to prevent some security issues when
merging everything together -->
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven.gpg.plugin.version}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

Some files were not shown because too many files have changed in this diff Show More