diff --git a/flowvault/README.md b/flowvault/README.md index b2547c9..acb7442 100644 --- a/flowvault/README.md +++ b/flowvault/README.md @@ -168,7 +168,7 @@ Reveal a token back to its real value (using the same `skyflowClient` from above // 1. Create a container and a Reveal Element for the token val revealContainer = skyflowClient.container(Skyflow.ContainerType.REVEAL) val cardNumberReveal = Skyflow.RevealElementInput( - token = "f3907186-e7e2-466f-91e5-48e12c2bcbc1", + token = "", label = "Card Number" ) val revealElement = revealContainer.create(context = this, input = cardNumberReveal) @@ -1756,7 +1756,7 @@ val errorTextStyles = Styles(base = baseTextStyle) // Create Reveal Elements — no redaction on individual elements val cardNumberInput = RevealElementInput( - token = "b63ec4e0-bbad-4e43-96e6-6bd50f483f75", + token = "", inputStyles = inputStyles, labelStyles = labelStyles, errorTextStyles = errorTextStyles, @@ -1767,7 +1767,7 @@ val cardNumberInput = RevealElementInput( val cardNumberElement = container.create(context = this, input = cardNumberInput) val nameInput = RevealElementInput( - token = "89024714-6a26-4256-b9d4-55ad69aa4047", + token = "", inputStyles = inputStyles, labelStyles = labelStyles, errorTextStyles = errorTextStyles, @@ -1803,7 +1803,7 @@ The `records` list contains both successful and failed tokens. Each record carri { "records": [ { - "token": "b63ec4e0-bbad-4e43-96e6-6bd50f483f75", + "token": "", "tokenGroupName": "deterministic_string", "metadata": { "skyflowId": "3ac0424e-fe45-43a9-9193-2e6d2913cbd2", @@ -1812,8 +1812,8 @@ The `records` list contains both successful and failed tokens. Each record carri "httpCode": 200 }, { - "token": "89024714-6a26-4256-b9d4-55ad69aa4047", - "error": "Detokenize failed. Token 89024714-6a26-4256-b9d4-55ad69aa4047 is invalid. Specify a valid token.", + "token": "", + "error": "Detokenize failed. Token is invalid. Specify a valid token.", "httpCode": 404 } ] @@ -1864,7 +1864,7 @@ container.collect(object : CollectCallback { "skyflowId": "3ac0424e-fe45-43a9-9193-2e6d2913cbd2", "tokens": { "card_number": [ - { "token": "b63ec4e0-bbad-4e43-96e6-6bd50f483f75", "tokenGroupName": "deterministic_string" } + { "token": "", "tokenGroupName": "deterministic_string" } ] }, "httpCode": 200 @@ -1963,7 +1963,7 @@ Both success and partial-error records are delivered as `CollectRecord` in the s "skyflowId": "f1714ef8-8deb-489a-a18d-77e0e007f403", "tokens": { "cardNumber": [ - {"token": "f3907186-e7e2-466f-91e5-48e12c2bcbc1", "tokenGroupName": "deterministic_string"} + {"token": "", "tokenGroupName": "deterministic_string"} ] }, "httpCode": 200 @@ -2054,7 +2054,7 @@ data class RevealRecord( { "records": [ { - "token": "b63ec4e0-bbad-4e43-96e6-6bd50f483f75", + "token": "", "tokenGroupName": "deterministic_string", "metadata": { "skyflowId": "3ac0424e-fe45-43a9-9193-2e6d2913cbd2", @@ -2071,7 +2071,7 @@ data class RevealRecord( { "records": [ { - "token": "b63ec4e0-bbad-4e43-96e6-6bd50f483f75", + "token": "", "tokenGroupName": "deterministic_string", "metadata": { "skyflowId": "3ac0424e-fe45-43a9-9193-2e6d2913cbd2", @@ -2080,8 +2080,8 @@ data class RevealRecord( "httpCode": 200 }, { - "token": "a4b24714-6a26-4256-b9d4-55ad69aa4047", - "error": "Tokens not found for a4b24714-6a26-4256-b9d4-55ad69aa4047", + "token": "", + "error": "Tokens not found for ", "httpCode": 404 } ] diff --git a/skyvault/README.md b/skyvault/README.md index 10c2127..a8aabc2 100644 --- a/skyvault/README.md +++ b/skyvault/README.md @@ -948,7 +948,7 @@ container.collect(callback = insertCallback, options = collectOptions) "fields": { "skyflow_id": "431eaa6c-5c15-4513-aa15-29f50babe882", "card_number": "f3907186-e7e2-466f-91e5-48e12c2bcbc1", - "first_name": "131e70dc-6f76-4319-bdd3-96281e051051" + "first_name": "" } } ] @@ -1928,7 +1928,7 @@ container.collect(callback = insertCallback, options = collectOptions) "fields": { "skyflow_id": "431eaa6c-5c15-4513-aa15-29f50babe882", "card_number": "f3907186-e7e2-466f-91e5-48e12c2bcbc1", - "cardholder_name": "131e70dc-6f76-4319-bdd3-96281e051051", + "cardholder_name": "", "cvv": "098834fe-de99-4fc8-abdf-88c18a28a2cf" } } @@ -1946,7 +1946,7 @@ container.collect(callback = insertCallback, options = collectOptions) "fields": { "skyflow_id": "431eaa6c-5c15-4513-aa15-29f50babe882", "card_number": "f3907186-e7e2-466f-91e5-48e12c2bcbc1", - "cardholder_name": "131e70dc-6f76-4319-bdd3-96281e051051", + "cardholder_name": "", "cvv": "098834fe-de99-4fc8-abdf-88c18a28a2cf" } } @@ -2260,7 +2260,7 @@ For non-PCI use-cases, retrieving data from the vault and revealing it in the mo val records = JSONObject() val recordsArray = JSONArray() val recordObj = JSONObject() - recordObj.put("token", "45012507-f72b-4f5c-9bf9-86b133bae719") + recordObj.put("token", "") recordObj.put("redaction", RedactionType.MASKED) recordsArray.put(recordObj) records.put("records", recordsArray) @@ -2272,7 +2272,7 @@ For non-PCI use-cases, retrieving data from the vault and revealing it in the mo { "records": [ { - "token": "131e70dc-6f76-4319-bdd3-96281e051051", + "token": "", "value": "j***oe" } ] @@ -2464,7 +2464,7 @@ For non-PCI use-cases, retrieving data from the vault and revealing it in the mo { "fields": { "card_number": "9802-3257-3113-0294", - "expiry_date": "45012507-f72b-4f5c-9bf9-86b133bae719", + "expiry_date": "", "fullname": "131e2507-f72b-4f5c-9bf9-86b133bae719", }, "table": "cards" @@ -2473,7 +2473,7 @@ For non-PCI use-cases, retrieving data from the vault and revealing it in the mo "fields": { "card_number": "0294-3213-3157-9802", "expiry_date": "131e2507-f72b-4f5c-9bf9-86b133bae719", - "fullname": "45012507-f72b-4f5c-9bf9-86b133bae719", + "fullname": "", }, "table": "cards" } @@ -2647,7 +2647,7 @@ val errorTextStyles = Skyflow.Styles(base = baseTextStyle) //Create Reveal Elements val cardNumberInput = Skyflow.RevealElementInput( - token = "b63ec4e0-bbad-4e43-96e6-6bd50f483f75", + token = "", redaction = RedactionType.MASKED, inputStyles = inputStyles, labelStyles = labelStyles, @@ -2659,7 +2659,7 @@ val cardNumberInput = Skyflow.RevealElementInput( val cardNumberElement = container.create(context = Context, input = cardNumberInput) val nameInput = Skyflow.RevealElementInput( - token = "89024714-6a26-4256-b9d4-55ad69aa4047", + token = "", redaction = RedactionType.DEFAULT, inputStyles = inputStyles, labelStyles = labelStyles, @@ -2704,15 +2704,15 @@ The response below shows that some tokens assigned to the reveal elements get re { "success": [ { - "token": "b63ec4e0-bbad-4e43-96e6-6bd50f483f75" + "token": "" } ], "errors": [ { - "id": "89024714-6a26-4256-b9d4-55ad69aa4047", + "id": "", "error": { "code": 404, - "description": "Tokens not found for 89024714-6a26-4256-b9d4-55ad69aa4047" + "description": "Tokens not found for " } } ] diff --git a/skyvault/src/androidTest/java/com/Skyflow/GetTest.kt b/skyvault/src/androidTest/java/com/Skyflow/GetTest.kt index d404687..e4693e7 100644 --- a/skyvault/src/androidTest/java/com/Skyflow/GetTest.kt +++ b/skyvault/src/androidTest/java/com/Skyflow/GetTest.kt @@ -37,7 +37,7 @@ class GetTest { val revealRecords = JSONObject() val revealRecordsArray = JSONArray() val recordObj = JSONObject() - recordObj.put("token", "895630c8-cb87-4876-8df5-0a785ebfcdda") + recordObj.put("token", "") recordObj.put("redaction", RedactionType.PLAIN_TEXT) revealRecordsArray.put(recordObj) revealRecords.put("records", revealRecordsArray) @@ -66,7 +66,7 @@ class GetTest { val revealRecords = JSONObject() val revealRecordsArray = JSONArray() val recordObj = JSONObject() - recordObj.put("token", "895630c8-cb87-4876-8df5-0a785ebfcdda") + recordObj.put("token", "") recordObj.put("redaction", RedactionType.PLAIN_TEXT) revealRecordsArray.put(recordObj) revealRecords.put("records", revealRecordsArray) @@ -94,7 +94,7 @@ class GetTest { val revealRecords = JSONObject() val revealRecordsArray = JSONArray() val recordObj = JSONObject() - recordObj.put("token", "895630c8-cb87-4876-8df5-0a785ebfcdda") + recordObj.put("token", "") recordObj.put("redaction", RedactionType.PLAIN_TEXT) revealRecordsArray.put(recordObj) revealRecords.put("records", revealRecordsArray) diff --git a/skyvault/src/test/java/com/Skyflow/DetokenizeTests.kt b/skyvault/src/test/java/com/Skyflow/DetokenizeTests.kt index 2c62e05..bb5361f 100644 --- a/skyvault/src/test/java/com/Skyflow/DetokenizeTests.kt +++ b/skyvault/src/test/java/com/Skyflow/DetokenizeTests.kt @@ -59,7 +59,7 @@ class DetokenizeTests { val detokenizeRecordsArray = JSONArray() val recordObj = JSONObject() - recordObj.put("token", "895630c8-cb87-4876-8df5-0a785ebfcdda") + recordObj.put("token", "") recordObj.put("redaction", RedactionType.PLAIN_TEXT) detokenizeRecordsArray.put(recordObj) @@ -94,7 +94,7 @@ class DetokenizeTests { val detokenizeRecordsArray = JSONArray() val recordObj = JSONObject() - recordObj.put("token", "895630c8-cb87-4876-8df5-0a785ebfcdda") + recordObj.put("token", "") recordObj.put("redaction", RedactionType.PLAIN_TEXT) detokenizeRecordsArray.put(recordObj) @@ -129,7 +129,7 @@ class DetokenizeTests { val detokenizeRecordsArray = JSONArray() val recordObj = JSONObject() - recordObj.put("token", "895630c8-cb87-4876-8df5-0a785ebfcdda") + recordObj.put("token", "") recordObj.put("redaction", RedactionType.PLAIN_TEXT) detokenizeRecordsArray.put(recordObj) diff --git a/skyvault/src/test/java/com/Skyflow/RevealTest.kt b/skyvault/src/test/java/com/Skyflow/RevealTest.kt index b2f4e42..2124090 100644 --- a/skyvault/src/test/java/com/Skyflow/RevealTest.kt +++ b/skyvault/src/test/java/com/Skyflow/RevealTest.kt @@ -84,7 +84,7 @@ class RevealTest { val skyflow = Client(skyflowConfiguration) val revealContainer = skyflow.container(ContainerType.REVEAL) val revealInput = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "expire_date" ) @@ -120,7 +120,7 @@ class RevealTest { val skyflow = Client(skyflowConfiguration) val revealContainer = skyflow.container(ContainerType.REVEAL) val revealInput = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "expire_date" ) val revealElement = @@ -150,7 +150,7 @@ class RevealTest { val skyflow = Client(skyflowConfiguration) val revealContainer = skyflow.container(ContainerType.REVEAL) val revealInput = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "expire_date" ) val revealElement = @@ -299,7 +299,7 @@ class RevealTest { fun testNoRedactionPassed() { val revealContainer = skyflow.container(ContainerType.REVEAL) val revealInput = RevealElementInput( - token = "51b1406a-0a30-49bf-b303-0eef66bd502d", + token = "", label = "expire_date", altText = "expire date" ) @@ -311,7 +311,7 @@ class RevealTest { fun testEmptyStyles() { val revealContainer = skyflow.container(ContainerType.REVEAL) val revealInput = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "expire_date", altText = "expire date" ) @@ -324,7 +324,7 @@ class RevealTest { fun testEmptyStyle() { val revealContainer = skyflow.container(ContainerType.REVEAL) val revealInput = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "expire_date", inputStyles = Styles() ) @@ -338,7 +338,7 @@ class RevealTest { fun testNullStyle() { val revealContainer = skyflow.container(ContainerType.REVEAL) val revealInput = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "expire_date", inputStyles = Styles(null) ) @@ -394,13 +394,13 @@ class RevealTest { SkyflowElementType.CARD_NUMBER, label = "card number" ) val revealInput = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "expire_date", inputStyles = Styles() ) val revealElement = container.create(activity, revealInput, Skyflow.RevealElementOptions()) junit.framework.Assert.assertEquals( - "51b1406a-0a30-49bf-b303-0eef66bd502d", + "", container.revealElements[0].revealInput.token ) } @@ -410,7 +410,7 @@ class RevealTest { val container = skyflow.container(ContainerType.REVEAL) val revealInput = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "card number", inputStyles = Styles(null) ) @@ -424,7 +424,7 @@ class RevealTest { val container = skyflow.container(ContainerType.REVEAL) val revealInput = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "card number", inputStyles = Styles(null) ) @@ -745,14 +745,14 @@ class RevealTest { fun testOnSuccessInRevealValue() { val revealContainer = skyflow.container(ContainerType.REVEAL) val revealInput = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "expire_date", inputStyles = Styles() ) val expiry_date = revealContainer.create(activity, revealInput, Skyflow.RevealElementOptions()) val revealInput1 = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "cvv", inputStyles = Styles() ) @@ -764,7 +764,7 @@ class RevealTest { list.add(cvv) val response = """ - {"records":[{"token":"51b1406a-0a30-49bf-b303-0eef66bd502d","value":"12/22"},{"token":"51b1406a-0a30-49bf-b303-0eef66bd502d","value":"123"}]} + {"records":[{"token":"","value":"12/22"},{"token":"","value":"123"}]} """.trimIndent() RevealValueCallback(object : Callback { override fun onSuccess(responseBody: Any) { @@ -797,14 +797,14 @@ class RevealTest { fun TestOnFailureInRevealValue() { val revealContainer = skyflow.container(ContainerType.REVEAL) val revealInput = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "expire_date", inputStyles = Styles() ) val expiry_date = revealContainer.create(activity, revealInput, Skyflow.RevealElementOptions()) val revealInput1 = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "cvv", inputStyles = Styles() ) @@ -816,7 +816,7 @@ class RevealTest { list.add(cvv) val response = """ - {"errors":[{"token":"51b1406a-0a30-49bf-b303-0eef66bd502d","value":"12/22"},{"token":"51b1406a-0a30-49bf-b303-0eef66bd502d","value":"123"}],"records":[]} + {"errors":[{"token":"","value":"12/22"},{"token":"","value":"123"}],"records":[]} """.trimIndent() RevealValueCallback(object : Callback { override fun onSuccess(responseBody: Any) { @@ -837,14 +837,14 @@ class RevealTest { fun TestOnFailureInRevealValueWithoutRecords() { val revealContainer = skyflow.container(ContainerType.REVEAL) val revealInput = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "expire_date", inputStyles = Styles() ) val expiry_date = revealContainer.create(activity, revealInput, Skyflow.RevealElementOptions()) val revealInput1 = RevealElementInput( - "51b1406a-0a30-49bf-b303-0eef66bd502d", RedactionType.PLAIN_TEXT, + "", RedactionType.PLAIN_TEXT, label = "cvv", inputStyles = Styles() ) diff --git a/skyvault/src/test/java/com/Skyflow/UnitTests.kt b/skyvault/src/test/java/com/Skyflow/UnitTests.kt index ec16fc9..a59b251 100644 --- a/skyvault/src/test/java/com/Skyflow/UnitTests.kt +++ b/skyvault/src/test/java/com/Skyflow/UnitTests.kt @@ -241,7 +241,7 @@ class UnitTests { val revealRecords = JSONObject() val revealRecordsArray = JSONArray() val recordObj = JSONObject() - recordObj.put("token", "895630c8-cb87-4876-8df5-0a785ebfcdda") + recordObj.put("token", "") recordObj.put("redaction", RedactionType.PLAIN_TEXT) revealRecordsArray.put(recordObj) revealRecords.put("records", revealRecordsArray) @@ -270,7 +270,7 @@ class UnitTests { val revealRecords = JSONObject() val revealRecordsArray = JSONArray() val recordObj = JSONObject() - recordObj.put("token", "895630c8-cb87-4876-8df5-0a785ebfcdda") + recordObj.put("token", "") recordObj.put("redaction", RedactionType.PLAIN_TEXT) revealRecordsArray.put(recordObj) revealRecords.put("records", revealRecordsArray) @@ -298,7 +298,7 @@ class UnitTests { val revealRecords = JSONObject() val revealRecordsArray = JSONArray() val recordObj = JSONObject() - recordObj.put("token", "895630c8-cb87-4876-8df5-0a785ebfcdda") + recordObj.put("token", "") recordObj.put("redaction", RedactionType.PLAIN_TEXT) revealRecordsArray.put(recordObj) revealRecords.put("records", revealRecordsArray) @@ -919,7 +919,7 @@ class UnitTests { fun testJwtUtils() { assertNotNull( JWTUtils.isExpired( - "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJodHRwczovL21hbmFnZS5za3lmbG93YXBpcy50ZWNoIiwiY2xpIjoiZWM3NzBlODQyOWNjNDNiM2JhMGI2NDk2MzA3M2EyZDMiLCJleHAiOjE2MzQ4MDkxOTcsImlhdCI6MTYzNDgwNTU5NywiaXNzIjoic2EtYXV0aEBtYW5hZ2Uuc2t5Zmxvd2FwaXMudGVjaCIsImp0aSI6InA0ZjA0YzMwYTczODQyMzM4OGQ2ZGNjYjE4Y2E4Nzg5Iiwic2NwIjpbImFjY291bnRzLnJlYWQiLCJ3b3Jrc3BhY2VzLnJlYWQiLCJ2YXVsdHMucmVhZCIsInZhdWx0VGVtcGxhdGVzLnZhbGlkYXRlIiwic3FsLnJlYWQiLCJyZWNvcmRzLnJlYWQiLCJyZWNvcmRzLmNyZWF0ZSIsInJlY29yZHMudXBkYXRlIiwicmVjb3Jkcy5kZWxldGUiLCJ3b3JrZmxvd3MucmVhZCIsIndvcmtmbG93UnVucy5jcmVhdGUiLCJ3b3JrZmxvd1J1bnMucmVhZCIsIndvcmtmbG93UnVucy51cGRhdGUiLCJhY2NvdW50cy5yZWFkIiwid29ya3NwYWNlcy5yZWFkIiwidmF1bHRzLnJlYWQiLCJ2YXVsdFRlbXBsYXRlcy52YWxpZGF0ZSIsInNxbC5yZWFkIiwicmVjb3Jkcy5yZWFkIiwid29ya2Zsb3dzLnJlYWQiLCJhY2NvdW50cy5yZWFkIiwid29ya3NwYWNlcy5yZWFkIiwidXNlcnMucmVhZCIsInNlcnZpY2VBY2NvdW50LnZhdWx0LmNyZWF0ZSIsInNlcnZpY2VBY2NvdW50LnJlYWQiLCJzZXJ2aWNlQWNjb3VudC51cGRhdGUiLCJzZXJ2aWNlQWNjb3VudC5kZWxldGUiLCJzZXJ2aWNlQWNjb3VudC5zdGF0dXMudXBkYXRlIiwidmF1bHRGdW5jdGlvbkNvbmZpZy52YXVsdC5jcmVhdGUiLCJ2YXVsdEZ1bmN0aW9uQ29uZmlnLnJlYWQiLCJ2YXVsdEZ1bmN0aW9uQ29uZmlnLnVwZGF0ZSIsInZhdWx0RnVuY3Rpb25Db25maWcuZGVsZXRlIiwidmF1bHRGdW5jdGlvbkNvbmZpZy5zdGF0dXMudXBkYXRlIiwic3FsU2VydmljZUFjY291bnQuY3JlYXRlIiwidmF1bHRzLnJlYWQiLCJ2YXVsdHMudXBkYXRlIiwidmF1bHRzLmRlbGV0ZSIsInZhdWx0cy5zdGF0dXMudXBkYXRlIiwia2V5LmNyZWF0ZSIsImtleS51cGRhdGUiLCJrZXkudmF1bHQudXBkYXRlIiwia2V5LnZhdWx0LnJlYWQiLCJ2YXVsdEludGVncmF0aW9ucy5jcmVhdGUiLCJ2YXVsdFRlbXBsYXRlcy52YWxpZGF0ZSIsInNxbC5yZWFkIiwicmVjb3Jkcy5yZWFkIiwicmVjb3Jkcy5jcmVhdGUiLCJyZWNvcmRzLnVwZGF0ZSIsInJlY29yZHMuZGVsZXRlIiwicm9sZXMudmF1bHQuY3JlYXRlIiwicm9sZXMudmF1bHQucmVhZCIsInJvbGVzLnZhdWx0LnVwZGF0ZSIsInJvbGVzLnZhdWx0LmRlbGV0ZSIsInJvbGVzLnZhdWx0Lm1lbWJlcnMucmVhZCIsInJvbGVzLnBvbGljeS5yZWFkIiwicm9sZXMudmF1bHRGdW5jdGlvbkNvbmZpZy5jcmVhdGUiLCJyb2xlcy52YXVsdEZ1bmN0aW9uQ29uZmlnLnJlYWQiLCJyb2xlcy52YXVsdEZ1bmN0aW9uQ29uZmlnLnVwZGF0ZSIsInJvbGVzLnZhdWx0RnVuY3Rpb25Db25maWcuZGVsZXRlIiwicm9sZXMudmF1bHRGdW5jdGlvbkNvbmZpZy5tZW1iZXJzLnJlYWQiLCJyb2xlcy5kZWZpbml0aW9ucy5yZWFkIiwicm9sZXMubWVtYmVyUm9sZXMucmVhZCIsInJvbGVzLm1lbWJlclBlcm1pc3Npb25zLnJlYWQiLCJ3b3JrZmxvd3MucmVhZCIsIndvcmtmbG93UnVucy5jcmVhdGUiLCJ3b3JrZmxvd1J1bnMucmVhZCIsIndvcmtmbG93UnVucy51cGRhdGUiLCJwb2xpY2llcy52YXVsdC5jcmVhdGUiLCJwb2xpY2llcy52YXVsdC5yZWFkIiwicG9saWNpZXMudmF1bHQudXBkYXRlIiwicG9saWNpZXMudmF1bHQuZGVsZXRlIiwicG9saWNpZXMudmF1bHQuc3RhdHVzLnVwZGF0ZSIsInBvbGljaWVzLnJvbGUudmF1bHQucmVhZCJdLCJzdWIiOiJnby1zZXJ2ZXItZm9yLWFuZHJvaWQtdGVzdGluZyJ9.Qqx4_4NUFt3ah86Pl09leSMi7g8r3JH680r6CW9jzoJh4c6DBuupuqFVJ-R0-5tWh3Qk8KpIqwZ0xDN-XQiGwwGd_Ho6lszmAU4yyx23wcAocZfBY4TQ1QIfzVDBEwVXkYdAxkcfpfiKHIRZTjkSa5lkYYveIwNBYzpG96ZNFNXWvixCVlwXcNhxryG93GPWPQVFbhAiu3tctbncf7TxnlqW8RJW7jqJo9dWL6prw03-4bl_71TdSJm2BuXryaIIpxxkgrsp_xinOZ2kLOmJVga3pyMgwrDe92yrYdCOPMKvb8IbCmvNAxEJBlHuPx_rrREmpU-1lFkjvI9-el4IZA" + "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJodHRwczovL21hbmFnZS5za3lmbG93YXBpcy50ZWNoIiwiY2xpIjoiZWM3NzBlODQyOWNjNDNiM2JhMGI2NDk2MzA3M2EyZDMiLCJleHAiOjE2MzQ4MDkxOTcsImlhdCI6MTYzNDgwNTU5NywiaXNzIjoic2EtYXV0aEBtYW5hZ2Uuc2t5Zmxvd2FwaXMudGVjaCIsImp0aSI6InA0ZjA0YzMwYTczODQyMzM4OGQ2ZGNjYjE4Y2E4Nzg5Iiwic2NwIjpbImFjY291bnRzLnJlYWQiLCJ3b3Jrc3BhY2VzLnJlYWQiLCJ2YXVsdHMucmVhZCIsInZhdWx0VGVtcGxhdGVzLnZhbGlkYXRlIiwic3FsLnJlYWQiLCJyZWNvcmRzLnJlYWQiLCJyZWNvcmRzLmNyZWF0ZSIsInJlY29yZHMudXBkYXRlIiwicmVjb3Jkcy5kZWxldGUiLCJ3b3JrZmxvd3MucmVhZCIsIndvcmtmbG93UnVucy5jcmVhdGUiLCJ3b3JrZmxvd1J1bnMucmVhZCIsIndvcmtmbG93UnVucy51cGRhdGUiLCJhY2NvdW50cy5yZWFkIiwid29ya3NwYWNlcy5yZWFkIiwidmF1bHRzLnJlYWQiLCJ2YXVsdFRlbXBsYXRlcy52YWxpZGF0ZSIsInNxbC5yZWFkIiwicmVjb3Jkcy5yZWFkIiwid29ya2Zsb3dzLnJlYWQiLCJhY2NvdW50cy5yZWFkIiwid29ya3NwYWNlcy5yZWFkIiwidXNlcnMucmVhZCIsInNlcnZpY2VBY2NvdW50LnZhdWx0LmNyZWF0ZSIsInNlcnZpY2VBY2NvdW50LnJlYWQiLCJzZXJ2aWNlQWNjb3VudC51cGRhdGUiLCJzZXJ2aWNlQWNjb3VudC5kZWxldGUiLCJzZXJ2aWNlQWNjb3VudC5zdGF0dXMudXBkYXRlIiwidmF1bHRGdW5jdGlvbkNvbmZpZy52YXVsdC5jcmVhdGUiLCJ2YXVsdEZ1bmN0aW9uQ29uZmlnLnJlYWQiLCJ2YXVsdEZ1bmN0aW9uQ29uZmlnLnVwZGF0ZSIsInZhdWx0RnVuY3Rpb25Db25maWcuZGVsZXRlIiwidmF1bHRGdW5jdGlvbkNvbmZpZy5zdGF0dXMudXBkYXRlIiwic3FsU2VydmljZUFjY291bnQuY3JlYXRlIiwidmF1bHRzLnJlYWQiLCJ2YXVsdHMudXBkYXRlIiwidmF1bHRzLmRlbGV0ZSIsInZhdWx0cy5zdGF0dXMudXBkYXRlIiwia2V5LmNyZWF0ZSIsImtleS51cGRhdGUiLCJrZXkudmF1bHQudXBkYXRlIiwia2V5LnZhdWx0LnJlYWQiLCJ2YXVsdEludGVncmF0aW9ucy5jcmVhdGUiLCJ2YXVsdFRlbXBsYXRlcy52YWxpZGF0ZSIsInNxbC5yZWFkIiwicmVjb3Jkcy5yZWFkIiwicmVjb3Jkcy5jcmVhdGUiLCJyZWNvcmRzLnVwZGF0ZSIsInJlY29yZHMuZGVsZXRlIiwicm9sZXMudmF1bHQuY3JlYXRlIiwicm9sZXMudmF1bHQucmVhZCIsInJvbGVzLnZhdWx0LnVwZGF0ZSIsInJvbGVzLnZhdWx0LmRlbGV0ZSIsInJvbGVzLnZhdWx0Lm1lbWJlcnMucmVhZCIsInJvbGVzLnBvbGljeS5yZWFkIiwicm9sZXMudmF1bHRGdW5jdGlvbkNvbmZpZy5jcmVhdGUiLCJyb2xlcy52YXVsdEZ1bmN0aW9uQ29uZmlnLnJlYWQiLCJyb2xlcy52YXVsdEZ1bmN0aW9uQ29uZmlnLnVwZGF0ZSIsInJvbGVzLnZhdWx0RnVuY3Rpb25Db25maWcuZGVsZXRlIiwicm9sZXMudmF1bHRGdW5jdGlvbkNvbmZpZy5tZW1iZXJzLnJlYWQiLCJyb2xlcy5kZWZpbml0aW9ucy5yZWFkIiwicm9sZXMubWVtYmVyUm9sZXMucmVhZCIsInJvbGVzLm1lbWJlclBlcm1pc3Npb25zLnJlYWQiLCJ3b3JrZmxvd3MucmVhZCIsIndvcmtmbG93UnVucy5jcmVhdGUiLCJ3b3JrZmxvd1J1bnMucmVhZCIsIndvcmtmbG93UnVucy51cGRhdGUiLCJwb2xpY2llcy52YXVsdC5jcmVhdGUiLCJwb2xpY2llcy52YXVsdC5yZWFkIiwicG9saWNpZXMudmF1bHQudXBkYXRlIiwicG9saWNpZXMudmF1bHQuZGVsZXRlIiwicG9saWNpZXMudmF1bHQuc3RhdHVzLnVwZGF0ZSIsInBvbGljaWVzLnJvbGUudmF1bHQucmVhZCJdLCJzdWIiOiJnby1zZXJ2ZXItZm9yLWFuZHJvaWQtdGVzdGluZyJ9.Qqx4_4NUFt3ah86Pl09leSMi7g8r3JH680r6CW9jzoJh4c6DBuupuqFVJ-R0-5tWh3Qk8KpIqwZ0xDN-XQiGwwGd_Ho6lszmAU4yyx23wcAocZfBY4TQ1QIfzVDBEwVXkYdAxkcfpfiKHIRZTjkSa5lkYYveIwNBYzpG96ZNFNXWvixCVlwXcNhxryG93GPWPQVFbhAiu3tctbncf7TxnlqW8RJW7jqJo9dWL6prw03-4bl_71TdSJm2BuXryaIIpxxkgrsp_xinOZ2kLOmJVga3pyMgwrDe92yrYdCOPMKvb8IbCmvNAxEJBlHuPx_rrREmpU-1lFkjvI9-el4IZA" //gitleaks:allow ) )