From 4c0b0a77a27386dce28cdb08e33a624dde7c0042 Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Mon, 9 Oct 2023 19:22:40 +0100 Subject: [PATCH 01/62] [TAN-396] Initial powerbi component --- .../containers/Admin/tools/PowerBI/index.tsx | 51 +++++++++++++++++++ front/app/containers/Admin/tools/index.tsx | 2 + 2 files changed, 53 insertions(+) create mode 100644 front/app/containers/Admin/tools/PowerBI/index.tsx diff --git a/front/app/containers/Admin/tools/PowerBI/index.tsx b/front/app/containers/Admin/tools/PowerBI/index.tsx new file mode 100644 index 000000000000..eb2e711684aa --- /dev/null +++ b/front/app/containers/Admin/tools/PowerBI/index.tsx @@ -0,0 +1,51 @@ +import React from 'react'; +import { Box, Text, colors } from '@citizenlab/cl2-component-library'; +import Button from 'components/UI/Button'; +import { useIntl } from 'utils/cl-intl'; +import messages from '../messages'; +import widgetImage from './widget.png'; + +export const PowerBI = () => { + const { formatMessage } = useIntl(); + + return ( + + + {formatMessage(messages.widgetImage)} + + + + POWERBI + + POWERBI + + + + ); +}; + +export default PowerBI; diff --git a/front/app/containers/Admin/tools/index.tsx b/front/app/containers/Admin/tools/index.tsx index d585f9f86daa..26acf4ffb544 100644 --- a/front/app/containers/Admin/tools/index.tsx +++ b/front/app/containers/Admin/tools/index.tsx @@ -8,6 +8,7 @@ import messages from './messages'; import Workshops from './Workshops'; import Widget from './Widget'; import PublicAPI from './PublicAPI'; +import { PowerBI } from './PowerBI'; export const Tools = () => { const { formatMessage } = useIntl(); @@ -24,6 +25,7 @@ export const Tools = () => { {isUserAdmin && } {isUserAdmin && } + {isUserAdmin && } ); From 4aa08f3f34b690fe103c3c4529ed1939aef1f4ac Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Tue, 10 Oct 2023 15:25:59 +0100 Subject: [PATCH 02/62] [TAN-396] Working powerbi component --- back/config/schemas/settings.schema.json.erb | 15 +++- front/app/api/app_configuration/types.ts | 1 + .../tools/PowerBI/PowerBITemplates/index.tsx | 83 ++++++++++++++++++ .../PowerBI/PowerBITemplates/messages.ts | 8 ++ .../containers/Admin/tools/PowerBI/index.tsx | 61 +++++++++---- .../Admin/tools/PowerBI/power-bi.png | Bin 0 -> 168015 bytes .../Admin/tools/PublicAPI/index.tsx | 32 ++++--- front/app/containers/Admin/tools/messages.ts | 27 ++++++ front/app/containers/Admin/tools/routes.tsx | 9 ++ 9 files changed, 208 insertions(+), 28 deletions(-) create mode 100644 front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx create mode 100644 front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts create mode 100644 front/app/containers/Admin/tools/PowerBI/power-bi.png diff --git a/back/config/schemas/settings.schema.json.erb b/back/config/schemas/settings.schema.json.erb index 89b820acd846..2e1d29cbe92b 100644 --- a/back/config/schemas/settings.schema.json.erb +++ b/back/config/schemas/settings.schema.json.erb @@ -1284,6 +1284,18 @@ "allowed": { "type": "boolean", "default": true }, "enabled": { "type": "boolean", "default": false } } + }, + + "power_bi": { + "type": "object", + "title": "Power BI", + "description": "Allows downloading of pre-configured templates for PowerBI.", + "additionalProperties": false, + "required": ["allowed", "enabled"], + "properties": { + "allowed": { "type": "boolean", "default": false }, + "enabled": { "type": "boolean", "default": false } + } } }, "dependencies": { @@ -1309,7 +1321,8 @@ "id_oostende_rrn": ["verification"], "id_id_card_lookup": ["verification"], - "permission_option_email_confirmation": ["user_confirmation"] + "permission_option_email_confirmation": ["user_confirmation"], + "power_bi": ["public_api_tokens"] }, "definitions": { "multiloc_string": { diff --git a/front/app/api/app_configuration/types.ts b/front/app/api/app_configuration/types.ts index dd5f55a4d0a5..b8cabed51b67 100644 --- a/front/app/api/app_configuration/types.ts +++ b/front/app/api/app_configuration/types.ts @@ -236,6 +236,7 @@ export interface IAppConfigurationSettings { follow?: AppConfigurationFeature; konveio_document_annotation?: AppConfigurationFeature; public_api_tokens?: AppConfigurationFeature; + power_bi?: AppConfigurationFeature; analysis?: AppConfigurationFeature; } diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx new file mode 100644 index 000000000000..48e0b1b439d2 --- /dev/null +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx @@ -0,0 +1,83 @@ +import React from 'react'; + +import { + Box, + Button, + colors, + Text, + Title, +} from '@citizenlab/cl2-component-library'; +import messages from './messages'; +import { useIntl } from 'utils/cl-intl'; +import useFeatureFlag from 'hooks/useFeatureFlag'; + +const PowerBITemplates = () => { + const isPowerBIEnabled = useFeatureFlag({ name: 'power_bi' }); + const { formatMessage } = useIntl(); + + const downloadReportingTemplate = () => { + console.log('downloading reporting template'); + }; + + const downloadDataFlowTemplate = () => { + console.log('downloading reporting template'); + }; + + if (!isPowerBIEnabled) return null; + + return ( + <> + {formatMessage(messages.title)} + + + Note: To use either of these Power BI, you must first{' '} + + create a set of credentials for our public API + + + + Report template + + + + This will create set up all the data connections to your CitizenLab + platform, create the data model and some default dashboards. When you + open the template in Power BI you will be prompted to enter your + public API credentials. + + + + + Dataflow template + + + + If you intend to use your CitizenLab data within a Power BI dataflow, + this template will allow you to set up a new dataflow that connects to + CitizenLab data. Once you have downloaded this template you must find + and replace the following strings in the template with your public API + credentials before uploading to PowerBI: +
    +
  • ##CLIENT_ID##
  • +
  • ##CLIENT_SECRET##
  • +
+
+ +
+ + ); +}; + +export default PowerBITemplates; diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts new file mode 100644 index 000000000000..a4739a5c6117 --- /dev/null +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts @@ -0,0 +1,8 @@ +import { defineMessages } from 'react-intl'; + +export default defineMessages({ + title: { + id: 'app.containers.Admin.tools.powerBITemplates.title', + defaultMessage: 'Power BI templates', + }, +}); diff --git a/front/app/containers/Admin/tools/PowerBI/index.tsx b/front/app/containers/Admin/tools/PowerBI/index.tsx index eb2e711684aa..3a477f85afbb 100644 --- a/front/app/containers/Admin/tools/PowerBI/index.tsx +++ b/front/app/containers/Admin/tools/PowerBI/index.tsx @@ -1,11 +1,14 @@ import React from 'react'; import { Box, Text, colors } from '@citizenlab/cl2-component-library'; import Button from 'components/UI/Button'; -import { useIntl } from 'utils/cl-intl'; +import { FormattedMessage, useIntl } from 'utils/cl-intl'; import messages from '../messages'; -import widgetImage from './widget.png'; +import powerBIImage from './power-bi.png'; +import Tippy from '@tippyjs/react'; +import useFeatureFlag from 'hooks/useFeatureFlag'; export const PowerBI = () => { + const isPowerBIEnabled = useFeatureFlag({ name: 'power_bi' }); const { formatMessage } = useIntl(); return ( @@ -17,32 +20,56 @@ export const PowerBI = () => { width="100%" > - {formatMessage(messages.widgetImage)} + + {formatMessage(messages.powerBIImage)} + - POWERBI + {formatMessage(messages.powerBITitle)} + + + {formatMessage(messages.powerBIDescription)} - POWERBI - +
+ +
+
); diff --git a/front/app/containers/Admin/tools/PowerBI/power-bi.png b/front/app/containers/Admin/tools/PowerBI/power-bi.png new file mode 100644 index 0000000000000000000000000000000000000000..b38901d1c403d51b60f08183cb4804e9485c6105 GIT binary patch literal 168015 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%0ATeVS~sT6L0pk@G|p-s_4rKK$DQ? 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

X9F~)dP#s?m1Yktk#WB`P% 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 { const isPublicAPIEnabled = useFeatureFlag({ name: 'public_api_tokens' }); @@ -28,16 +29,27 @@ export const PublicAPI = () => { {formatMessage(messages.publicAPIDescription)} - +

+ +
+ ); diff --git a/front/app/containers/Admin/tools/messages.ts b/front/app/containers/Admin/tools/messages.ts index de981f969143..64deaed7642e 100644 --- a/front/app/containers/Admin/tools/messages.ts +++ b/front/app/containers/Admin/tools/messages.ts @@ -65,4 +65,31 @@ export default defineMessages({ id: 'app.containers.Admin.tools.publicAPIImage', defaultMessage: 'Public API image', }, + publicAPIDisabled: { + id: 'app.containers.Admin.tools.publicAPIDisabled', + defaultMessage: + 'The public API is a Premium-only feature. Contact your GovSuccess Manager if you want more info on this.', + }, + powerBITitle: { + id: 'app.containers.Admin.tools.powerBITitle', + defaultMessage: 'Power BI', + }, + powerBIDescription: { + id: 'app.containers.Admin.tools.powerBIDescription', + defaultMessage: + 'Use our plug & play Power BI Templates to access Citizenlab data in your Microsoft Power BI Workspace.', + }, + powerBIDownloadTemplates: { + id: 'app.containers.Admin.tools.powerBIDownloadTemplates', + defaultMessage: 'Download templates', + }, + powerBIImage: { + id: 'app.containers.Admin.tools.powerBIAPIImage', + defaultMessage: 'Power BI image', + }, + powerBIDisabled: { + id: 'app.containers.Admin.tools.powerBIDisabled', + defaultMessage: + 'Power BI is a Premium-only feature. Contact your GovSuccess Manager if you want more info on this.', + }, }); diff --git a/front/app/containers/Admin/tools/routes.tsx b/front/app/containers/Admin/tools/routes.tsx index 3d8f7a8dd09b..96638d9c5a48 100644 --- a/front/app/containers/Admin/tools/routes.tsx +++ b/front/app/containers/Admin/tools/routes.tsx @@ -6,6 +6,7 @@ import { Outlet as RouterOutlet } from 'react-router-dom'; import HelmetIntl from 'components/HelmetIntl'; import Tools from './'; import PublicAPITokens from './PublicAPI/PublicAPITokens'; +import PowerBITemplates from './PowerBI/PowerBITemplates'; const toolsRoutes = () => { return { @@ -33,6 +34,14 @@ const toolsRoutes = () => { ), }, + { + path: 'power-bi', + element: ( + + + + ), + }, ...moduleConfiguration.routes['admin.tools'], ], }; From a0c95212b8e17258889fea56228900cf812e7c89 Mon Sep 17 00:00:00 2001 From: CircleCI Date: Tue, 10 Oct 2023 14:28:10 +0000 Subject: [PATCH 03/62] Translations updated by CI (extract-intl) --- front/app/translations/admin/en.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/front/app/translations/admin/en.json b/front/app/translations/admin/en.json index e290030c2c4b..0d83554597d8 100644 --- a/front/app/translations/admin/en.json +++ b/front/app/translations/admin/en.json @@ -903,7 +903,14 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Manage API Keys", "app.containers.Admin.tools.manageWidget": "Manage widget", "app.containers.Admin.tools.manageWorkshops": "Manage workshops", + "app.containers.Admin.tools.powerBIAPIImage": "Power BI image", + "app.containers.Admin.tools.powerBIDescription": "Use our plug & play Power BI Templates to access Citizenlab data in your Microsoft Power BI Workspace.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI is a Premium-only feature. Contact your GovSuccess Manager if you want more info on this.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Download templates", + "app.containers.Admin.tools.powerBITemplates.title": "Power BI templates", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Manage the credentials to create custom integrations on our public API.", + "app.containers.Admin.tools.publicAPIDisabled": "The public API is a Premium-only feature. Contact your GovSuccess Manager if you want more info on this.", "app.containers.Admin.tools.publicAPIImage": "Public API image", "app.containers.Admin.tools.publicAPITitle": "Public API Access", "app.containers.Admin.tools.toolsLabel": "Tools", From 3e49fdfa3190886665af776698e0f1db1f5ea4cd Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Tue, 10 Oct 2023 16:02:58 +0100 Subject: [PATCH 04/62] [TAN-396] Added basic backend for authorising templates --- .../v1/power_bi_templates_controller.rb | 16 + .../public_api/power_bi_template_policy.rb | 26 + .../public_api/config/power_bi/dataflow.json | 797 ++++++++++++++++++ .../public_api/config/power_bi/report.pbit | Bin 0 -> 192687 bytes .../commercial/public_api/config/routes.rb | 1 + .../web_api/power_bi_templates_spec.rb | 36 + 6 files changed, 876 insertions(+) create mode 100644 back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb create mode 100644 back/engines/commercial/public_api/app/policies/public_api/power_bi_template_policy.rb create mode 100644 back/engines/commercial/public_api/config/power_bi/dataflow.json create mode 100644 back/engines/commercial/public_api/config/power_bi/report.pbit create mode 100644 back/engines/commercial/public_api/spec/acceptance/web_api/power_bi_templates_spec.rb diff --git a/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb b/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb new file mode 100644 index 000000000000..eda44f060685 --- /dev/null +++ b/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module PublicApi + class WebApi::V1::PowerBiTemplatesController < ApplicationController + + # Download a template - protected so only available to admins + def show + dataflow_template = Rails.root.join('engines/commercial/public_api/config/power_bi/dataflow.json') + reporting_template = Rails.root.join('engines/commercial/public_api/config/power_bi/report.pbit') + + authorize :'public_api/power_bi_template' + + send_data open(dataflow_template).read, type: 'application/octet-stream' + end + end +end diff --git a/back/engines/commercial/public_api/app/policies/public_api/power_bi_template_policy.rb b/back/engines/commercial/public_api/app/policies/public_api/power_bi_template_policy.rb new file mode 100644 index 000000000000..cdbd59320029 --- /dev/null +++ b/back/engines/commercial/public_api/app/policies/public_api/power_bi_template_policy.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module PublicApi + class PowerBiTemplatePolicy < ApplicationPolicy + class Scope + attr_reader :user, :scope + + def initialize(user, scope) + @user = user + @scope = scope + end + + def resolve + if user&.active? && user&.admin? + scope.all + else + scope.none + end + end + end + + def show? + active? && admin? + end + end +end diff --git a/back/engines/commercial/public_api/config/power_bi/dataflow.json b/back/engines/commercial/public_api/config/power_bi/dataflow.json new file mode 100644 index 000000000000..b1957db50e3a --- /dev/null +++ b/back/engines/commercial/public_api/config/power_bi/dataflow.json @@ -0,0 +1,797 @@ +{ + "name": "CitizenLab Dataflow", + "description": "", + "version": "1.0", + "culture": "en-US", + "modifiedTime": "2023-09-29T00:01:57.1174011+00:00", + "ppdf:outputFileFormat": "csv", + "pbi:mashup": { + "fastCombine": true, + "allowNativeQueries": false, + "skipAutomaticHeaderAndTypeDetection": false, + "queriesMetadata": { + "BaseUrl": { + "queryId": "dda00317-93f1-4609-a813-5b00c1b777c7", + "queryName": "BaseUrl", + "queryGroupId": "91526dcf-6b59-4550-b9ba-db3620faaa1d" + }, + "Locale": { + "queryId": "45f8229f-cb70-44bf-bfe1-57379cf08b4e", + "queryName": "Locale", + "queryGroupId": "91526dcf-6b59-4550-b9ba-db3620faaa1d" + }, + "ClientID": { + "queryId": "70544fe0-20a6-4317-9898-34fa54aca81f", + "queryName": "ClientID", + "queryGroupId": "91526dcf-6b59-4550-b9ba-db3620faaa1d" + }, + "ClientSecret": { + "queryId": "cb2dad47-07f5-41fb-af39-e3b582ad1fac", + "queryName": "ClientSecret", + "queryGroupId": "91526dcf-6b59-4550-b9ba-db3620faaa1d" + }, + "LimitPerPage": { + "queryId": "9e09172a-41e0-45dd-ba85-7d370e1e3807", + "queryName": "LimitPerPage", + "queryGroupId": "426310eb-10a6-4681-8102-66fe917e7bd6" + }, + "comments": { + "queryId": "bf2e21c2-fad8-4a6e-8248-e87650ac3ed5", + "queryName": "comments", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "ideas": { + "queryId": "88352ea1-e974-4363-8901-a529e4425f23", + "queryName": "ideas", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "reactions": { + "queryId": "0773719a-a532-4630-b6de-e7a198511797", + "queryName": "reactions", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "projects": { + "queryId": "c350989c-6116-483e-be65-7c2395246369", + "queryName": "projects", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "phases": { + "queryId": "e3d47b8e-a419-4786-9f3f-b52ae1844908", + "queryName": "phases", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "project_folders": { + "queryId": "df369f72-969a-4499-96a9-043750fe002b", + "queryName": "project_folders", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "topics": { + "queryId": "48228086-1513-43a8-b0da-89e452d980cf", + "queryName": "topics", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "users": { + "queryId": "0fc40167-ee65-4d3d-a407-af677d791213", + "queryName": "users", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "initiatives": { + "queryId": "cb45be5e-60dc-42ad-81a8-2cc14c008d10", + "queryName": "initiatives", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "project_topics": { + "queryId": "3cfca4a3-5f0d-4540-8833-d0a7f8eadbd8", + "queryName": "project_topics", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "idea_topics": { + "queryId": "312b39ee-7716-4a57-8c37-df26aaa70c4f", + "queryName": "idea_topics", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "users_custom_fields": { + "queryId": "5825c3b9-c3ac-48b8-95ae-1a1e2090ee02", + "queryName": "users_custom_fields", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "ideas_custom_fields": { + "queryId": "5f5f2b1d-aff2-4358-87a4-f1a0e84a232f", + "queryName": "ideas_custom_fields", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "idea_phases": { + "queryId": "1ba6d127-940d-4c69-ac15-9ba86840a3cc", + "queryName": "idea_phases", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "baskets": { + "queryId": "e80ccff8-bb6b-4d3a-a32d-83975a91d726", + "queryName": "baskets", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "basket_ideas": { + "queryId": "13ce02a8-441f-471d-a8b2-ae418c0e00b5", + "queryName": "basket_ideas", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "email_campaigns": { + "queryId": "fd1ca732-f549-49b4-a34b-7e0652cb99ff", + "queryName": "email_campaigns", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "email_campaign_deliveries": { + "queryId": "a49823b7-f404-4abb-8037-e56a9f0843e0", + "queryName": "email_campaign_deliveries", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "events": { + "queryId": "e6b57446-44fd-4ae2-8b88-10ad35aa0401", + "queryName": "events", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "event_attendances": { + "queryId": "00a30f84-d0ae-40e8-acf9-384b897731f5", + "queryName": "event_attendances", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "volunteering_causes": { + "queryId": "e9ee7e22-451d-4983-9f1a-2914f98b1d00", + "queryName": "volunteering_causes", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "volunteering_volunteers": { + "queryId": "f5498cd5-c6f1-4d2c-93ea-0add1ccde2ea", + "queryName": "volunteering_volunteers", + "queryGroupId": "ef306a21-8cca-4a9f-bad1-5b7964d57ac8", + "loadEnabled": true + }, + "ApiAccessToken": { + "queryId": "49f414b3-3f08-404c-9a37-a01af1945689", + "queryName": "ApiAccessToken", + "queryGroupId": "5503512d-1506-4446-8b69-5e96e2452ed6" + }, + "ApiGET": { + "queryId": "53a356d9-a785-462d-b87e-1ee257c6d32a", + "queryName": "ApiGET", + "queryGroupId": "5503512d-1506-4446-8b69-5e96e2452ed6" + }, + "DelayFn": { + "queryId": "05552879-c69d-49bf-b1cd-e5cd72949dd2", + "queryName": "DelayFn", + "queryGroupId": "5503512d-1506-4446-8b69-5e96e2452ed6" + } + }, + "document": "section Section1;\r\nshared BaseUrl = \"https://havant.citizenlab.co/api/v2/\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared Locale = \"en-GB\" meta [IsParameterQuery=true, List={\"en-GB\"}, DefaultValue=\"en-GB\", Type=\"Text\", IsParameterQueryRequired=true];\r\nshared ClientID = \"##CLIENT_ID##\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared ClientSecret = \"##CLIENT_SECRET##\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared LimitPerPage = let\n Source = \"100\"\nin\n Source;\r\nshared comments = let\n Source = ApiGET(\"comments\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"body\", \"author_id\", \"post_id\", \"parent_id\", \"created_at\", \"updated_at\", \"body_updated_at\", \"likes_count\", \"dislikes_count\", \"children_count\", \"publication_status\", \"post_type\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"post_id\", type text}, {\"parent_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"body_updated_at\", type datetime}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"children_count\", Int64.Type}, {\"publication_status\", type text}, {\"post_type\", type text}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}}),\n #\"Renamed Columns\" = Table.RenameColumns(#\"Changed Type1\",{{\"post_id\", \"idea_id\"}})\nin\n #\"Renamed Columns\";\r\nshared ideas = let\r\n Source = ApiGET(\"ideas\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"project_id\", \"project_title\", \"created_at\", \"updated_at\", \"location_point\", \"location_description\", \"slug\", \"budget\", \"baskets_count\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"proposed_budget\", \"creation_phase_id\", \"images\", \"href\", \"status\", \"custom_field_values\", \"type\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"published_at\", type datetime}, {\"publication_status\", type text}, {\"project_id\", type text}, {\"project_title\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"location_point\", type text}, {\"location_description\", type text}, {\"slug\", type text}, {\"budget\", Int64.Type}, {\"baskets_count\", Int64.Type}, {\"official_feedbacks_count\", Int64.Type}, {\"assignee_id\", type text}, {\"assigned_at\", type datetime}, {\"proposed_budget\", Int64.Type}, {\"creation_phase_id\", type any}, {\"images\", type any}, {\"href\", type text}, {\"status\", type text}, {\"custom_field_values\", type any}, {\"data_refreshed_at\", type datetime}, {\"type\", type text}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"votes_count\", type text}, {\"creation_phase_id\", type text}, {\"images\", type text}, {\"custom_field_values\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"votes_count\", null}, {\"creation_phase_id\", null}, {\"images\", null}, {\"custom_field_values\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared reactions = let\n Source = ApiGET(\"reactions\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"mode\", \"user_id\", \"reactable_id\", \"created_at\", \"updated_at\", \"reactable_type\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"mode\", type text}, {\"user_id\", type text}, {\"reactable_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"reactable_type\", type text}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared projects = let\r\n Source = ApiGET(\"projects\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description_html\", \"description_preview\", \"process_type\", \"participation_method\", \"slug\", \"folder_id\", \"href\", \"visible_to\", \"images\", \"created_at\", \"updated_at\", \"ideas_count\", \"comments_count\", \"map_center_geojson\", \"posting_enabled\", \"commenting_enabled\", \"reacting_enabled\", \"reacting_like_method\", \"reacting_like_limited_max\", \"reacting_dislike_enabled\", \"reacting_dislike_method\", \"reacting_dislike_limited_max\", \"voting_max_total\", \"voting_min_total\", \"publication_status\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description_html\", type text}, {\"description_preview\", type text}, {\"process_type\", type text}, {\"participation_method\", type text}, {\"slug\", type text}, {\"folder_id\", type text}, {\"href\", type text}, {\"visible_to\", type text}, {\"images\", type any}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"ideas_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"map_center_geojson\", type any}, {\"posting_enabled\", type logical}, {\"commenting_enabled\", type logical}, {\"reacting_enabled\", type logical}, {\"reacting_like_method\", type text}, {\"reacting_like_limited_max\", Int64.Type}, {\"reacting_dislike_enabled\", type logical}, {\"reacting_dislike_method\", type text}, {\"reacting_dislike_limited_max\", Int64.Type}, {\"voting_max_total\", Int64.Type}, {\"voting_min_total\", Int64.Type}, {\"publication_status\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"images\", type text}, {\"baskets_count\", type text}, {\"votes_count\", type text}, {\"map_center_geojson\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"images\", null}, {\"baskets_count\", null}, {\"votes_count\", null}, {\"map_center_geojson\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared phases = let\r\n Source = ApiGET(\"phases\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"participation_method\", \"project_id\", \"project_title\", \"start_at\", \"end_at\", \"created_at\", \"updated_at\", \"ideas_count\", \"posting_enabled\", \"commenting_enabled\", \"reacting_enabled\", \"reacting_like_method\", \"reacting_like_limited_max\", \"reacting_dislike_enabled\", \"reacting_dislike_method\", \"reacting_dislike_limited_max\", \"voting_max_total\", \"voting_min_total\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"participation_method\", type text}, {\"project_id\", type text}, {\"project_title\", type text}, {\"start_at\", type date}, {\"end_at\", type date}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"ideas_count\", Int64.Type}, {\"posting_enabled\", type logical}, {\"commenting_enabled\", type logical}, {\"reacting_enabled\", type logical}, {\"reacting_like_method\", type text}, {\"reacting_like_limited_max\", Int64.Type}, {\"reacting_dislike_enabled\", type logical}, {\"reacting_dislike_method\", type text}, {\"reacting_dislike_limited_max\", Int64.Type}, {\"voting_max_total\", Int64.Type}, {\"voting_min_total\", Int64.Type}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type\", {{\"baskets_count\", type text}, {\"votes_count\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"baskets_count\", null}, {\"votes_count\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared project_folders = let\r\n Source = ApiGET(\"project_folders\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"slug\", \"created_at\", \"updated_at\", \"publication_status\", \"title_multiloc\", \"title\", \"description_multiloc\", \"description\", \"description_preview_multiloc\", \"description_preview\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"slug\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"publication_status\", type text}, {\"title_multiloc\", type any}, {\"title\", type text}, {\"description_multiloc\", type any}, {\"description\", type text}, {\"description_preview_multiloc\", type any}, {\"description_preview\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}, {\"description_preview_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}, {\"description_preview_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared topics = let\n Source = ApiGET(\"topics\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared users = let\r\n Source = ApiGET(\"users\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email\", \"slug\", \"roles\", \"created_at\", \"updated_at\", \"first_name\", \"last_name\", \"locale\", \"bio\", \"registration_completed_at\", \"verified\", \"email_confirmed_at\", \"email_confirmation_code_sent_at\", \"confirmation_required\", \"custom_field_values\", \"status\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"email\", type text}, {\"slug\", type text}, {\"roles\", type any}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"first_name\", type text}, {\"last_name\", type text}, {\"locale\", type text}, {\"bio\", type any}, {\"registration_completed_at\", type datetime}, {\"verified\", type logical}, {\"email_confirmed_at\", type datetime}, {\"email_confirmation_code_sent_at\", type datetime}, {\"confirmation_required\", type logical}, {\"custom_field_values\", type any}, {\"status\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"registration_completed_at\", \"registration_completed_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"registration_completed_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"roles\", type text}, {\"bio\", type text}, {\"custom_field_values\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"roles\", null}, {\"bio\", null}, {\"custom_field_values\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared initiatives = let\r\n Source = ApiGET(\"initiatives\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"created_at\", \"updated_at\", \"threshold_reached_at\", \"location_point\", \"location_description\", \"slug\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"href\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"published_at\", type datetime}, {\"publication_status\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"location_point\", type text}, {\"location_description\", type text}, {\"slug\", type text}, {\"official_feedbacks_count\", Int64.Type}, {\"assignee_id\", type text}, {\"assigned_at\", type datetime}, {\"href\", type text}, {\"data_refreshed_at\", type datetime}, {\"threshold_reached_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"body_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"body_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared project_topics = let\n Source = ApiGET(\"project_topics\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"project_id\", \"topic_id\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"project_id\", type text}, {\"topic_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared idea_topics = let\r\n Source = ApiGET(\"idea_topics\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"idea_id\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"idea_id\", type text}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type\", {{\"topic_id\", type text}, {\"data_refreshed_at\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"topic_id\", null}, {\"data_refreshed_at\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared users_custom_fields = let\r\n Source = ApiGET(\"users\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email\", \"slug\", \"roles\", \"created_at\", \"updated_at\", \"first_name\", \"last_name\", \"locale\", \"bio\", \"registration_completed_at\", \"verified\", \"email_confirmed_at\", \"email_confirmation_code_sent_at\", \"confirmation_required\", \"custom_field_values\", \"status\", \"data_refreshed_at\"}, {}),\r\n SelectedColumns = Table.SelectColumns(ExpandColumn, {\"id\", \"custom_field_values\"}),\r\n RemoveNullRecords = Table.SelectRows(SelectedColumns, each Record.FieldNames([custom_field_values]) <> {}),\r\n AddFieldsColumn = Table.AddColumn(RemoveNullRecords, \"fields\", each Record.FieldNames([custom_field_values])),\r\n FieldNames = Table.Distinct(Table.ExpandListColumn(AddFieldsColumn, \"fields\"), {\"fields\"})[fields],\r\n ExpandedFields = Table.ExpandRecordColumn(RemoveNullRecords, \"custom_field_values\", FieldNames, FieldNames),\r\n #\"Transform columns\" = Table.TransformColumnTypes(ExpandedFields, {{\"id\", type text}, {\"gender\", type text}, {\"domicile\", type text}, {\"birthyear\", type text}, {\"geboorteplaats\", type text}, {\"fjeriphjtr\", type text}, {\"municipality_code\", type text}, {\"race\", type text}, {\"education\", type text}, {\"do_you_want_car_free_sundays\", type text}, {\"leeftijd\", type text}, {\"i_agree_that_citizenlab_can_use_my_phone_number_to_send_text_messages\", type text}, {\"supportersclub\", type text}, {\"first_time_heard\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"id\", null}, {\"gender\", null}, {\"domicile\", null}, {\"birthyear\", null}, {\"geboorteplaats\", null}, {\"fjeriphjtr\", null}, {\"municipality_code\", null}, {\"race\", null}, {\"education\", null}, {\"do_you_want_car_free_sundays\", null}, {\"leeftijd\", null}, {\"i_agree_that_citizenlab_can_use_my_phone_number_to_send_text_messages\", null}, {\"supportersclub\", null}, {\"first_time_heard\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared ideas_custom_fields = let\r\n Source = ApiGET(\"ideas\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"project_id\", \"project_title\", \"created_at\", \"updated_at\", \"location_point\", \"location_description\", \"slug\", \"budget\", \"baskets_count\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"proposed_budget\", \"creation_phase_id\", \"images\", \"href\", \"status\", \"custom_field_values\", \"data_refreshed_at\"}, {}),\r\n SelectedColumns = Table.SelectColumns(ExpandColumn, {\"id\", \"custom_field_values\"}),\r\n RemoveNullRecords = Table.SelectRows(SelectedColumns, each Record.FieldNames([custom_field_values]) <> {}),\r\n Fields = Table.AddColumn(RemoveNullRecords, \"fields\", each Record.FieldNames([custom_field_values])),\r\n FieldNames = Table.Distinct(Table.ExpandListColumn(Fields, \"fields\"), {\"fields\"})[fields],\r\n ExpandedFields = Table.ExpandRecordColumn(RemoveNullRecords, \"custom_field_values\", FieldNames, FieldNames),\r\n #\"Transform columns\" = Table.TransformColumnTypes(ExpandedFields, {{\"id\", type text}, {\"question\", type text}, {\"single_choice\", type text}, {\"your_question\", type text}, {\"sdsafsd\", type text}, {\"what_s_your_favorite_sport\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"id\", null}, {\"question\", null}, {\"single_choice\", null}, {\"your_question\", null}, {\"sdsafsd\", null}, {\"what_s_your_favorite_sport\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared idea_phases = let\n Source = ApiGET(\"idea_phases\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"idea_id\", \"phase_id\", \"baskets_count\", \"votes_count\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"idea_id\", type text}, {\"phase_id\", type text}, {\"baskets_count\", Int64.Type}, {\"votes_count\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared baskets = let\n Source = ApiGET(\"baskets\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"user_id\", \"project_id\", \"phase_id\", \"submitted_at\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"user_id\", type text}, {\"project_id\", type text}, {\"phase_id\", type text}, {\"submitted_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared basket_ideas = let\n Source = ApiGET(\"basket_ideas\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"basket_id\", \"idea_id\", \"votes\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"basket_id\", type text}, {\"idea_id\", type text}, {\"votes\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared email_campaigns = let\r\n Source = ApiGET(\"email_campaigns\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"sender\", \"reply_to\", \"subject\", \"body\", \"created_at\", \"updated_at\", \"deliveries_count\", \"subject_multiloc\", \"body_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"sender\", type text}, {\"reply_to\", type text}, {\"subject\", type text}, {\"body\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"deliveries_count\", Int64.Type}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"subject_multiloc\", type text}, {\"body_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"subject_multiloc\", null}, {\"body_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared email_campaign_deliveries = let\n Source = ApiGET(\"email_campaign_deliveries\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email_campaign_id\", \"user_id\", \"delivery_status\", \"sent_at\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"email_campaign_id\", type text}, {\"user_id\", type text}, {\"delivery_status\", type text}, {\"sent_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared events = let\r\n Source = ApiGET(\"events\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"project_id\", \"title\", \"description\", \"location\", \"location_point\", \"attendees_count\", \"start_at\", \"end_at\", \"created_at\", \"updated_at\", \"title_multiloc\", \"description_multiloc\", \"location_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"project_id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"location\", type text}, {\"location_point\", type text}, {\"attendees_count\", Int64.Type}, {\"start_at\", type datetime}, {\"end_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}, {\"location_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}, {\"location_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared event_attendances = let\r\n Source = ApiGET(\"event_attendances\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"event_id\", \"attendee_id\", \"created_at\", \"updated_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"event_id\", type text}, {\"attendee_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"data_refreshed_at\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"data_refreshed_at\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared volunteering_causes = let\r\n Source = ApiGET(\"volunteering_causes\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"project_id\", \"phase_id\", \"volunteers_count\", \"created_at\", \"updated_at\", \"title_multiloc\", \"description_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"project_id\", type text}, {\"phase_id\", type text}, {\"volunteers_count\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared volunteering_volunteers = let\r\n Source = ApiGET(\"volunteering_volunteers\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"volunteering_cause_id\", \"user_id\", \"created_at\", \"updated_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"volunteering_cause_id\", type text}, {\"user_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"data_refreshed_at\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"data_refreshed_at\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared ApiAccessToken = let\n Source = () => let \n AccessTokenCall = Web.Contents(BaseUrl, \n [\n RelativePath= \"authenticate\", \n Headers = [#\"Content-Type\"= \"application/json\", #\"Accept\"= \"application/json\"], \n Content = Text.ToBinary(\"{\n \"\"auth\"\": {\n \"\"client_id\"\": \"\"\" & ClientID & \"\"\",\n \"\"client_secret\"\": \"\"\" & ClientSecret & \"\"\"\n }\n }\"\n )\n ]\n )\n in\n AccessTokenCall\nin\n Source;\r\nshared ApiGET = let\n Source = (RelativeUrl as text) =>\n let\n // These variables configured based on the API structure. Query folding options used in functions might also change with API version\n //Global Variables\n BaseUrl = #\"BaseUrl\", \n LimitPerPage = #\"LimitPerPage\", // number of max items returned in one API call\n Locale = #\"Locale\", // number of max items returned in one API call\n AccessTokenCall = ApiAccessToken(), \n FirstCall = Web.Contents(\n BaseUrl, \n [\n RelativePath = RelativeUrl & \"?locale=\" & Locale & \"&page_size=\" & LimitPerPage, \n ManualStatusHandling = {200, 400, 401, 403, 404, 429, 500, 503}, \n Headers = [\n #\"Content-Type\" = \"application/json\", \n Authorization = \"Bearer \" & Json.Document(AccessTokenCall, 65001)[jwt]\n ]\n ]\n ), \n FirstCallMetaData = Value.Metadata(FirstCall), \n PageCount = \n if FirstCallMetaData[Response.Status] = 200 then\n Json.Document(FirstCall)[#\"meta\"][#\"total_pages\"]\n else\n null, // # Pages in total\n GetData = (Page) =>\n let\n PageOffset = Number.ToText(Page), \n NextCall = Web.Contents(\n BaseUrl, \n [\n RelativePath = RelativeUrl\n & \"?locale=\"\n & Locale\n & \"&page_size=\"\n & LimitPerPage\n & \"&page_number=\"\n & PageOffset, \n ManualStatusHandling = {200, 400, 401, 403, 404, 429, 500, 503}, \n Headers = [\n #\"Content-Type\" = \"application/json\", \n Authorization = \"Bearer \" & Json.Document(AccessTokenCall, 65001)[jwt]\n ]\n ]\n ), \n MetaData = Value.Metadata(NextCall), \n Delay = DelayFn(0.1), \n Response = \n if MetaData[Response.Status] = 200 then // check the call status if ok\n (\n let\n Json = Json.Document(NextCall), \n Value = Table.AddColumn(\n Table.FromList(\n Record.ToTable(Json){0}[Value], \n Splitter.SplitByNothing(), \n null, \n null, \n ExtraValues.Error\n ), \n \"Data\", \n each Record.AddField([Column1], \"data_refreshed_at\", Delay)\n )[Data]\n in\n Value\n )\n else\n null\n in\n Response, \n PageIndices = {1 .. PageCount}, \n Pages = List.Transform(PageIndices, each GetData(_)), \n ToTable = Table.FromList(Pages, Splitter.SplitByNothing(), null, null, ExtraValues.Error)\n in \n ToTable\nin\n Source;\r\nshared DelayFn = let\n Source = (secondsInput as number) => let\n //Find current time\n One = DateTime.LocalNow(),\n //Define Wait function\n Wait = (seconds as number, action as function) => \n if (List.Count(\n List.Generate(\n () => DateTimeZone.LocalNow() + #duration(0,0,0,seconds), \n (x) => DateTimeZone.LocalNow() < x, \n (x) => x)\n ) = 0) \n then null else action(),\n //Call Wait function to wait 5 seconds\n //then return the current time again\n Two = Wait(secondsInput,DateTime.LocalNow),\n //Display start time, finish time, and duration\n //Output = \"Start Time: \" & DateTime.ToText(One) & \n // \" Finish Time:\" & DateTime.ToText(Two) & \n // \" Difference: \" & Duration.ToText(Two-One)\n Output = DateTime.ToText(Two)\n in\n Output\nin\n Source;\r\n", + "connectionOverrides": [ + { + "path": "https://demo.stg.citizenlab.co/api/v2", + "kind": "Web", + "provider": "CdsA", + "authenticationKind": null, + "environmentName": null, + "apiName": null, + "connectionName": "{\"kind\":\"Web\",\"path\":\"https://demo.stg.citizenlab.co/api/v2\"}", + "audience": null + } + ] + }, + "annotations": [ + { + "name": "pbi:QueryGroups", + "value": "[{\"id\":\"91526dcf-6b59-4550-b9ba-db3620faaa1d\",\"name\":\"Client Parameters\",\"description\":\"\",\"parentId\":null,\"order\":1},{\"id\":\"426310eb-10a6-4681-8102-66fe917e7bd6\",\"name\":\"Auxiliary\",\"description\":\"\",\"parentId\":null,\"order\":1},{\"id\":\"ef306a21-8cca-4a9f-bad1-5b7964d57ac8\",\"name\":\"Full Range Data Tables\",\"description\":\"\",\"parentId\":null,\"order\":1},{\"id\":\"5503512d-1506-4446-8b69-5e96e2452ed6\",\"name\":\"Functions\",\"description\":\"\",\"parentId\":null,\"order\":1}]" + } + ], + "entities": [ + { + "$type": "LocalEntity", + "name": "comments", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "comments.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "body", "dataType": "string" }, + { "name": "author_id", "dataType": "string" }, + { "name": "idea_id", "dataType": "string" }, + { "name": "parent_id", "dataType": "string" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "body_updated_at", "dataType": "dateTime" }, + { "name": "likes_count", "dataType": "int64" }, + { "name": "dislikes_count", "dataType": "int64" }, + { "name": "children_count", "dataType": "int64" }, + { "name": "publication_status", "dataType": "string" }, + { "name": "post_type", "dataType": "string" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "Part001", + "refreshTime": "2023-09-23T21:16:21.8357233+00:00", + "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/comments.csv?snapshot=2023-09-23T21%3A16%3A21.8291381Z" + } + ] + }, + { + "$type": "LocalEntity", + "name": "ideas", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "ideas.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "title", "dataType": "string" }, + { "name": "body", "dataType": "string" }, + { "name": "author_id", "dataType": "string" }, + { "name": "likes_count", "dataType": "int64" }, + { "name": "dislikes_count", "dataType": "int64" }, + { "name": "comments_count", "dataType": "int64" }, + { "name": "published_at", "dataType": "dateTime" }, + { "name": "publication_status", "dataType": "string" }, + { "name": "project_id", "dataType": "string" }, + { "name": "project_title", "dataType": "string" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "location_point", "dataType": "string" }, + { "name": "location_description", "dataType": "string" }, + { "name": "slug", "dataType": "string" }, + { "name": "budget", "dataType": "int64" }, + { "name": "baskets_count", "dataType": "int64" }, + { "name": "votes_count", "dataType": "string" }, + { "name": "official_feedbacks_count", "dataType": "int64" }, + { "name": "assignee_id", "dataType": "string" }, + { "name": "assigned_at", "dataType": "dateTime" }, + { "name": "proposed_budget", "dataType": "int64" }, + { "name": "creation_phase_id", "dataType": "string" }, + { "name": "images", "dataType": "string" }, + { "name": "href", "dataType": "string" }, + { "name": "status", "dataType": "string" }, + { "name": "custom_field_values", "dataType": "string" }, + { "name": "type", "dataType": "string" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ] + }, + { + "$type": "LocalEntity", + "name": "reactions", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "reactions.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "mode", "dataType": "string" }, + { "name": "user_id", "dataType": "string" }, + { "name": "reactable_id", "dataType": "string" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "reactable_type", "dataType": "string" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "Part001", + "refreshTime": "2023-09-23T21:17:22.8878447+00:00", + "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/reactions.csv?snapshot=2023-09-23T21%3A17%3A22.8751172Z" + } + ] + }, + { + "$type": "LocalEntity", + "name": "projects", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "projects.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "title", "dataType": "string" }, + { "name": "description_html", "dataType": "string" }, + { "name": "description_preview", "dataType": "string" }, + { "name": "process_type", "dataType": "string" }, + { "name": "participation_method", "dataType": "string" }, + { "name": "slug", "dataType": "string" }, + { "name": "folder_id", "dataType": "string" }, + { "name": "href", "dataType": "string" }, + { "name": "visible_to", "dataType": "string" }, + { "name": "images", "dataType": "string" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "ideas_count", "dataType": "int64" }, + { "name": "comments_count", "dataType": "int64" }, + { "name": "baskets_count", "dataType": "string" }, + { "name": "votes_count", "dataType": "string" }, + { "name": "map_center_geojson", "dataType": "string" }, + { "name": "posting_enabled", "dataType": "boolean" }, + { "name": "commenting_enabled", "dataType": "boolean" }, + { "name": "reacting_enabled", "dataType": "boolean" }, + { "name": "reacting_like_method", "dataType": "string" }, + { "name": "reacting_like_limited_max", "dataType": "int64" }, + { "name": "reacting_dislike_enabled", "dataType": "boolean" }, + { "name": "reacting_dislike_method", "dataType": "string" }, + { "name": "reacting_dislike_limited_max", "dataType": "int64" }, + { "name": "voting_max_total", "dataType": "int64" }, + { "name": "voting_min_total", "dataType": "int64" }, + { "name": "publication_status", "dataType": "string" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ] + }, + { + "$type": "LocalEntity", + "name": "phases", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "phases.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "title", "dataType": "string" }, + { "name": "description", "dataType": "string" }, + { "name": "participation_method", "dataType": "string" }, + { "name": "project_id", "dataType": "string" }, + { "name": "project_title", "dataType": "string" }, + { "name": "start_at", "dataType": "date" }, + { "name": "end_at", "dataType": "date" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "ideas_count", "dataType": "int64" }, + { "name": "baskets_count", "dataType": "string" }, + { "name": "votes_count", "dataType": "string" }, + { "name": "posting_enabled", "dataType": "boolean" }, + { "name": "commenting_enabled", "dataType": "boolean" }, + { "name": "reacting_enabled", "dataType": "boolean" }, + { "name": "reacting_like_method", "dataType": "string" }, + { "name": "reacting_like_limited_max", "dataType": "int64" }, + { "name": "reacting_dislike_enabled", "dataType": "boolean" }, + { "name": "reacting_dislike_method", "dataType": "string" }, + { "name": "reacting_dislike_limited_max", "dataType": "int64" }, + { "name": "voting_max_total", "dataType": "int64" }, + { "name": "voting_min_total", "dataType": "int64" }, + { "name": "data_refreshed_at", "dataType": "dateTime" } + ] + }, + { + "$type": "LocalEntity", + "name": "project_folders", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "project_folders.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "slug", "dataType": "string" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "publication_status", "dataType": "string" }, + { "name": "title_multiloc", "dataType": "string" }, + { "name": "title", "dataType": "string" }, + { "name": "description_multiloc", "dataType": "string" }, + { "name": "description", "dataType": "string" }, + { "name": "description_preview_multiloc", "dataType": "string" }, + { "name": "description_preview", "dataType": "string" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "Part001", + "refreshTime": "2023-09-23T21:18:54.2658416+00:00", + "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/project_folders.csv?snapshot=2023-09-23T21%3A18%3A54.2537013Z" + } + ] + }, + { + "$type": "LocalEntity", + "name": "topics", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "topics.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "title", "dataType": "string" }, + { "name": "description", "dataType": "string" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "Part001", + "refreshTime": "2023-09-23T21:19:24.7043701+00:00", + "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/topics.csv?snapshot=2023-09-23T21%3A19%3A24.6922424Z" + } + ] + }, + { + "$type": "LocalEntity", + "name": "users", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "users.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "email", "dataType": "string" }, + { "name": "slug", "dataType": "string" }, + { "name": "roles", "dataType": "string" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "first_name", "dataType": "string" }, + { "name": "last_name", "dataType": "string" }, + { "name": "locale", "dataType": "string" }, + { "name": "bio", "dataType": "string" }, + { "name": "registration_completed_at", "dataType": "dateTime" }, + { "name": "verified", "dataType": "boolean" }, + { "name": "email_confirmed_at", "dataType": "dateTime" }, + { "name": "email_confirmation_code_sent_at", "dataType": "dateTime" }, + { "name": "confirmation_required", "dataType": "boolean" }, + { "name": "custom_field_values", "dataType": "string" }, + { "name": "status", "dataType": "string" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "registration_completed_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "Part001", + "refreshTime": "2023-09-23T21:19:55.2415453+00:00", + "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/users.csv?snapshot=2023-09-23T21%3A19%3A55.2427195Z" + } + ] + }, + { + "$type": "LocalEntity", + "name": "initiatives", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "initiatives.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "title", "dataType": "string" }, + { "name": "body", "dataType": "string" }, + { "name": "author_id", "dataType": "string" }, + { "name": "likes_count", "dataType": "int64" }, + { "name": "dislikes_count", "dataType": "int64" }, + { "name": "comments_count", "dataType": "int64" }, + { "name": "published_at", "dataType": "dateTime" }, + { "name": "publication_status", "dataType": "string" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "threshold_reached_at", "dataType": "dateTime" }, + { "name": "location_point", "dataType": "string" }, + { "name": "location_description", "dataType": "string" }, + { "name": "slug", "dataType": "string" }, + { "name": "official_feedbacks_count", "dataType": "int64" }, + { "name": "assignee_id", "dataType": "string" }, + { "name": "assigned_at", "dataType": "dateTime" }, + { "name": "href", "dataType": "string" }, + { "name": "title_multiloc", "dataType": "string" }, + { "name": "body_multiloc", "dataType": "string" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ] + }, + { + "$type": "LocalEntity", + "name": "project_topics", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "project_topics.csv" + }, + "attributes": [ + { "name": "project_id", "dataType": "string" }, + { "name": "topic_id", "dataType": "string" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "Part001", + "refreshTime": "2023-09-23T21:20:56.2231045+00:00", + "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/project_topics.csv?snapshot=2023-09-23T21%3A20%3A56.2107498Z" + } + ] + }, + { + "$type": "LocalEntity", + "name": "idea_topics", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "idea_topics.csv" + }, + "attributes": [ + { "name": "idea_id", "dataType": "string" }, + { "name": "topic_id", "dataType": "string" }, + { "name": "data_refreshed_at", "dataType": "string" } + ], + "partitions": [ + { + "name": "Part001", + "refreshTime": "2023-09-23T21:21:26.8518785+00:00", + "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/idea_topics.csv?snapshot=2023-09-23T21%3A21%3A26.8401814Z" + } + ] + }, + { + "$type": "LocalEntity", + "name": "users_custom_fields", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "users_custom_fields.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "gender", "dataType": "string" }, + { "name": "domicile", "dataType": "string" }, + { "name": "birthyear", "dataType": "string" }, + { "name": "geboorteplaats", "dataType": "string" }, + { "name": "fjeriphjtr", "dataType": "string" }, + { "name": "municipality_code", "dataType": "string" }, + { "name": "race", "dataType": "string" }, + { "name": "education", "dataType": "string" }, + { "name": "do_you_want_car_free_sundays", "dataType": "string" }, + { "name": "leeftijd", "dataType": "string" }, + { + "name": "i_agree_that_citizenlab_can_use_my_phone_number_to_send_text_messages", + "dataType": "string" + }, + { "name": "supportersclub", "dataType": "string" }, + { "name": "first_time_heard", "dataType": "string" } + ], + "partitions": [ + { + "name": "Part001", + "refreshTime": "2023-09-23T21:22:57.3397386+00:00", + "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/users_custom_fields.csv?snapshot=2023-09-23T21%3A22%3A57.3282820Z" + } + ] + }, + { + "$type": "LocalEntity", + "name": "ideas_custom_fields", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "ideas_custom_fields.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "question", "dataType": "string" }, + { "name": "single_choice", "dataType": "string" }, + { "name": "your_question", "dataType": "string" }, + { "name": "sdsafsd", "dataType": "string" }, + { "name": "what_s_your_favorite_sport", "dataType": "string" } + ] + }, + { + "$type": "LocalEntity", + "name": "idea_phases", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "idea_phases.csv" + }, + "attributes": [ + { "name": "idea_id", "dataType": "string" }, + { "name": "phase_id", "dataType": "string" }, + { "name": "baskets_count", "dataType": "int64" }, + { "name": "votes_count", "dataType": "int64" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ] + }, + { + "$type": "LocalEntity", + "name": "baskets", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "baskets.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "user_id", "dataType": "string" }, + { "name": "project_id", "dataType": "string" }, + { "name": "phase_id", "dataType": "string" }, + { "name": "submitted_at", "dataType": "dateTime" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ] + }, + { + "$type": "LocalEntity", + "name": "basket_ideas", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "basket_ideas.csv" + }, + "attributes": [ + { "name": "basket_id", "dataType": "string" }, + { "name": "idea_id", "dataType": "string" }, + { "name": "votes", "dataType": "int64" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ] + }, + { + "$type": "LocalEntity", + "name": "email_campaigns", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "email_campaigns.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "sender", "dataType": "string" }, + { "name": "reply_to", "dataType": "string" }, + { "name": "subject", "dataType": "string" }, + { "name": "body", "dataType": "string" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "deliveries_count", "dataType": "int64" }, + { "name": "subject_multiloc", "dataType": "string" }, + { "name": "body_multiloc", "dataType": "string" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ] + }, + { + "$type": "LocalEntity", + "name": "email_campaign_deliveries", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "email_campaign_deliveries.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "email_campaign_id", "dataType": "string" }, + { "name": "user_id", "dataType": "string" }, + { "name": "delivery_status", "dataType": "string" }, + { "name": "sent_at", "dataType": "dateTime" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ] + }, + { + "$type": "LocalEntity", + "name": "events", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "events.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "project_id", "dataType": "string" }, + { "name": "title", "dataType": "string" }, + { "name": "description", "dataType": "string" }, + { "name": "location", "dataType": "string" }, + { "name": "location_point", "dataType": "string" }, + { "name": "attendees_count", "dataType": "int64" }, + { "name": "start_at", "dataType": "dateTime" }, + { "name": "end_at", "dataType": "dateTime" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "title_multiloc", "dataType": "string" }, + { "name": "description_multiloc", "dataType": "string" }, + { "name": "location_multiloc", "dataType": "string" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ] + }, + { + "$type": "LocalEntity", + "name": "event_attendances", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "event_attendances.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "event_id", "dataType": "string" }, + { "name": "attendee_id", "dataType": "string" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "data_refreshed_at", "dataType": "string" }, + { "name": "created_at_date", "dataType": "date" } + ] + }, + { + "$type": "LocalEntity", + "name": "volunteering_causes", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "volunteering_causes.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "title", "dataType": "string" }, + { "name": "description", "dataType": "string" }, + { "name": "project_id", "dataType": "string" }, + { "name": "phase_id", "dataType": "string" }, + { "name": "volunteers_count", "dataType": "int64" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "title_multiloc", "dataType": "string" }, + { "name": "description_multiloc", "dataType": "string" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, + { "name": "created_at_date", "dataType": "date" } + ] + }, + { + "$type": "LocalEntity", + "name": "volunteering_volunteers", + "description": "", + "pbi:refreshPolicy": { + "$type": "FullRefreshPolicy", + "location": "volunteering_volunteers.csv" + }, + "attributes": [ + { "name": "id", "dataType": "string" }, + { "name": "volunteering_cause_id", "dataType": "string" }, + { "name": "user_id", "dataType": "string" }, + { "name": "created_at", "dataType": "dateTime" }, + { "name": "updated_at", "dataType": "dateTime" }, + { "name": "data_refreshed_at", "dataType": "string" }, + { "name": "created_at_date", "dataType": "date" } + ] + } + ] +} diff --git a/back/engines/commercial/public_api/config/power_bi/report.pbit b/back/engines/commercial/public_api/config/power_bi/report.pbit new file mode 100644 index 0000000000000000000000000000000000000000..bc3ac0c80ce8374a03cabe34f50173c04c024d73 GIT binary patch literal 192687 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 z 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

  • n*~R!H3MoM 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 diff --git a/back/engines/commercial/public_api/config/power_bi/dataflow.json b/back/engines/commercial/public_api/files/power_bi/dataflow.json similarity index 100% rename from back/engines/commercial/public_api/config/power_bi/dataflow.json rename to back/engines/commercial/public_api/files/power_bi/dataflow.json diff --git a/back/engines/commercial/public_api/files/power_bi/report.pbit b/back/engines/commercial/public_api/files/power_bi/report.pbit new file mode 100644 index 0000000000000000000000000000000000000000..ff1473f34f2cfd8ed38fb859733c6bb29420ffcb GIT binary patch literal 187146 zcmaHxWmH>1yS6D6XlbE9aVw=jfdYl#+Tz7h+@ZK@umFLUB8B1(L5jP(g%2(ez&b#0LY4-mXfW?^k2dfWXad5u;uTbBEqEL7baB!w^ad1fgg))$K zc5=6LayQWgyI6vZxV#-5{;#kZ>LaQ_A71(=7F;gp;F&+K3i~Cf6Ir^#YWa;_8Ooco zJuh~p01JGqO1-p3FM4|0aC?0fAsAXfj@~seXN$E)Dm;7Z2$HsZBg&=xe(Z12*3 z^sYXvEM+-Sy}Y98yQd?a`rNA-!9VM}O4}bhK85Xzg>xk|bSt!Ne3CA34SDR&{|hQj z32dk=XJ%_4bvaVZdu2zyUz9Gr68daq>mB`{Q#wA=3gZH8rFHnD(dj3rj*m4%iX_3C z>JRZ``L}PSSs#XEj8v~gQ`AjK0KWLxIAu4|aWjkO)MifKEBIOv!hPNT((!I(Zx!GC zc{BA8#_6VayH~7b(aYknZgVPlQ9ic$TbO@ZY3$RhqosN%cWeO$!FIqSx+c&vXzHkM>!PS_!hmuiU$pBi1gT z!w!ELx#HA$bQ5oNP7&VH7pnsl7^EP8tJ_rBb(0Ozt9x93qwt*=4VXP{KG7P6^5inx z$!``%{rao|a{felud|YHODu@jsDJtguXw-U_xtnKs_DkD3a_I}{qswXs}ON)=YA|j zW_k_b@Ga{NH83UY=xAnI~axc+eR5&@HuKRlsL0f z$aDSv;YJ|WQS4SbgmPJ2;qW5|ON_IE*hHxNfX72`AN=hnQxXWF0awYf6eH<<`3(Rq z|A6zAq_Li@`Tj3w#(G8Qmj#Vu6YYhB2^jxG!B`++#2>i!f^Z(hyj{8g zg2y|k4Ap=!r1L?OsK#&V&y7+gpP&N`VTXm z0;Wf?HNVazvX1DB`8hIOvHhi_o~^YifyDv=GBP>gq9(~x#d1WOvBT?ik6&N9{{6$_ z<>vUiXLkIPPHZE2J838F+Gvc-&3S^w&6j~F6Wh$y_iqh*92eQJFh;%5=F03~VEhRY zQX&u@l&4JL(~8HC;P);*zH!1DG%bV3AeTm-F@qq+A)w%EffK^7&qC$>x*c9J{kQ~*nPh%xaCojTsd@3Bja zT)X2f_#Jz96442ZOFVsAJ9yWTCuW(nNS<@gXgQbYgLdh(a#G9OO~910O&8HFO_VRg z)kcimr>HNP33JRVe~Ht_8VRQWd6-qk*886`52Ys{SMJeQPRZ{Ue{}f9m^bJW@zEeF zzvXEBMj7k|%MVgF_&%S6{nj5&g9UpT;X3Xd-8uh$v>?l{mRvSHS}Hj^MJoElTC92> zllm6%c&i5K_o@gOAa%Ys{oN>e9xs}#5i0ESi#&88Tk)VUyg@flXdnGeM z%@q~s%9Q$QXT)CT@PO?hi#lDQ(Af>{J23F{geZq#r*kJyp7}6(%8rCNl3wjbG%${I z?JMBL>=Rv@i=i-$4U&oKWf-e;obS#`;Y0z|M0)0*)9h^MG528X=dI>~v$v_F%{dWEzSmK&D{aaR`ZDEpi`YeALK1-0TkVR%nCZRsi(wDoqM zJ$cBTz>9psPy@Bu;f?xW-8+N<3uv))j~u)4NK`7?-LHc)z?)+=kh-=+Pm6fJr0R$Qz3BzNC#wGA&@8&kW4C>?~hX6%$qxvtSV37ayPP@VA zjE${c9LG8Y4kULxTeLWCyi7{6WQOPrG`cI@Y*Ny6WQ8^6FRKM$#l}=?BQhlUo!a$( zb?V0Y zuAk|w4|CW9oy;+El5Tv@vK3HGbfD76NPDse74>`<%h~q2bm(4APi_#-b}LbkD1%Dd z7OHX*HXbHz?Y&y)8Ew5;=rLI>nc?a)E^W307l}_(vuI1V+=ysDJ{IVmqeZB!{H8h5lKl>l*$P5Yc0s!RRFgO1C=Y0rH?*S^-^OpKFt}AF zD|NzR&6&(Plx9;lRic2fdt>SwE0A1%u85sW>Hu>_RNhKC0?SjR4uRzlK)y3hwhIfz zl?3%Ht zg+A@DKlb5F!lVKv1}H|u{QHsKj)^-#$(&4QwKR+x{T<6&_PtZj1^8`yW7#ZeeWD7t z9YUiJZ^@5jnKs_P%`gvYiRcEQ?Q$cVc13y0rzPL$VMOyo`_^&uZXjpNJ|RG+>N<0Y%P0hbxkysS+LDI z1a?Ts4;D7nDBtzjm)eI+wSg=h!tW=p-)c!~7{!+eR)nhaG8bgK?Px|3Dh>TKywz3< zR>yLel4q^_+O9-)y-H404CAGv&UNP>r!1&Y>h4E*z4VTC%+P=wP{tAgVMo11p)o@Z*Sghh4oZ z6M6O)7T7<)pwHc8Svvhax>ea=`cll{vbA~0(T@R$J;Z2^3UT*1p3QlO9=bLrI0m%B zIeZrd6DY-3=BX_)kQds6ib$Sfh-IZnUaT>4Kp%Wa~03PlwsjW zjHYnb9ejPEV4`HnN}>L%hnj~6T{^{PU$u93gXE2_*!+oZf_@9pmgv!aD1A1IuWwt7 z_nrcO#Qj2{P&K`5`2c|BLMx9t^Tljo9b{ikjLhOU-&n%vyYAXg*Ow&44JGdYjqtOw zTI7ZeAWEP$pk(t^rO3j;!*WkY?x`1vmputufX}n7*Q6|d=(!8Z^y_y$AZ#DEF$;eU zl%YMgOVCdM2b(~S=(N9?u$rIMT=Qbd+C%Bj2=NSd zL@nCT+1Aj!6*FJD&2Z>m{DC2F2;rh2dQ07W)7KhD_0;mM`((_Q#m%(dPnYI$?<9eZ#4C#@%tyn^;w{j8dDb_T40y|Vbgk#c)^GV8N&#^#Dhee5 zJH?W)^+zi%FU~S8x7*)-_ECadhiXZU_VOe`@m$owaq#+Zo+iGxU12e-M;)xtiT9g} z@glj#nfQ{t2a7+zO1EBibJ`R$r(^!3mc(1^K9G635rtJ|@kC+E#aOe1?;y3+p;9<9 zMldo1AKVf$6Jz>p0;AHMCsrASPY~^0Hk>-vNYj7UYm5P?Ekwz1ntQxqZG%QRrfl@w zIt_&%STLK+N|z!|fjev!&NJ1~Z8E?f9{?~wi+^qKC?n3*I#!$0#H8ZRUR%d-cFRXq ziQn2z6KXeY1&PV^Q1Z=DW+=R7($PttA)VMnijHK8!wr zR76gDpeMPf`-+X>vy-;NC8_lA@?@q-A%Hw(IuU!PuMMevt^U^JdAvgQa*zJU~=RQrLXtL%P8fdfDfo6e1AIi zrS+H`0?}8zw`(Cq;4F;c+0m#SC{heN# zV{}a57*x9?Q?<1?@%xE5-QIj642#~x3K>`Gm({~WI@@_TjAYoTo@x%t*m zv+^)}c}Z+-A=HU}k=h~ZbEU*+=%%yK9l~kDSt!bC+Lh1JV@V}q5RqQV5Z_vz=xO+- zP)TCxiZtqYjglzp*hYV~hKIg1vOh+@F3j3kGTAw<^dJ*V4SwqLH zED*PTm|)^zMq|EHep$d*Ct}3&r}@)JpJB+CPr5W7DoO5mG1Yes%zbju>g7suvFsd= zUhyJ_*JPq5CO@;=V`T>Hm17%)F{i1;**|Y|RrcnB+Jx>|oWnAj>Qww!YvN@E{*pGg z&|!pW8ALyu^Glpsp^ba*VFzXGg{AXP#r({0vr_)BvXtF-KblpQG(Ji*lEezAK*hDC zTibse7D%XKjIIUDt)G@H)Xuu=fR>(xZ(oX!G`hMCCABd-{^ctlGKss@9r0vw&MCAw z7u|ES*0u{hEV*3bmL6iii7riPAK5iT1>vkv4Tv&Pb?!Gp&uHG|3Cn{#Q+V6>xhmFx&-|&V|*X1sxPG^ zaN2ClADU^5-`p{v$`Gq!sUexa`~{R&U67@VvT4;+?*VR?Pf!3hV!jX!wv1{)|MB>< zol1>h{k5Rp6T_=feS+lPnVg`cewo{|TAKaG4(DNZ<5X%sO5)(n2%gnndr;QW2)O5t z_IqtFQkSW@w#Y_)v0RPqrDl3=Q>E{^(E`bY;C8Y&24Pk}Vt=xjoi@|=lNBwl+!Iw& zj#$&`*c~j65mBdGOHG@*XgkqRLp+4EkC54|$Nv)c6vW)0`Se1$F8LaJs+>YzjpZZ% zP#EI_xG`7gd}gWW7W0&4aENrhiRoa1VMrO$Wb7nt2!of9h; zvJWmv=fEebxB4?^|8l3WObyA;L%^&>svNaS(P5)zinopGmA z7k%a2XzFn%Fur+k*Wlnry$&V_;QZ)&M%V1hKK3jCBxWWJDbL==H;nAwvLWl-^88+iPQN$r-~S6 zI(z}-Dr!z%*WM$}<^^uO*M&7S zkhcE2%Ys&U2rrWnJC}-^-zZyitQV7F=JUZ~4jqZ@<@kgoBTVMvbe2L>nCr{t6K=`O zY#H7at@J_O3BJ(Di8ujku0ji!yLZ=lXCmSk9;vz&(G2QhIA|trd(-D^F`U+wkjz=* zoChYKhI-HF^9}>+&M<+f7_`66+MqK|7NZ|wf0jQ^vC&B(u$vfs9KGAtONE(~SIpdK zl=fj#T&7)x5WymCcdipge zAoOpCKYANaTwXq_EiRLV3~hSzpxwj{u202Xf59R@Hk^;(76TR+sy~c}hbt+0DsZf! zHw24DWR5K(TPnGy%Q%X+9Y2*i4Av(k_?-pGVeHe`q&G~d7LR#qoo>f##uzTyU`)oL_f!ou61tEck7eOxW8Vj~9cw! zm(WvWg;~}rvDSnH4V&Z7Rqp+> zZ09{{Mw4y$HpIM|D~Qe$Z_(U=otHOWHT=6OVe8=YtMZO_ou=iOh6=Cn zL*x}r2XBleZDI)v#<1hi-fko@4Km$yTj)b$#x8^sBv8IoGoxp8#4FM9-MYuV*g|=X zd3FMKQ@OFr#L5!~o7t~l!;?)l4BMO9UpbHO8O|yd^QSHt)PAnv zt$MMWnolMn=;O^*S5~=#nz^7Gw~s#0m8J9dRS1ysRD+ZSypge}m;qdcP=s8>A(h+r z`Bv$&D!Dbow%tSTmL7|Y%M@;vH<|gcc0AD#Ol%h{>rh-l&AN`T@i^wF+xfMnh2}cc z%uHvoEa(KxR0f|H8ZGDssDsVm8oZTZP8CA~Q=*yd&1cCa?bo*vWf-ou{N%FyifD6v zV|>T^5mz7uo%XE8Jro9PqpuHz@-&Z80f^Cgr-$x#ls8pn}H z25fj$X!OP~Z+piRsjIdGHToNu0nX&*!{ba>PnkAgK>olzUbewWB+>2o4Tb*S z9{n%L2gm%IpqfI}#Fd!~O`^L1skx%ohUfG02}wrcMm(1 zKmIzTI{)xy+T3R|acsqwj$oS`8!uItKf(^VsniN%?bWBS?qjgi4l4Fm6!$IJze%Q? zIBgsy|5k`B0f7V{9O2@{|->5HEDpF z6KvV0*C^MQr?AxRSQiQYo{8n^VknyrP^Jknvv#av440E?8o&_Yko&~PdNt)_I z;QL}zMD#1ODe7s)@2ULL)T4sz<@bvY0H8(qd1h2)gZ(xr^~$gSTPUJ>T(iSFZ5`~Z z8lTCG0>Dy5XMBq%y>D(?Fgq<`H#C5&GeU`Wb5d3GPlNZ_My7rtp|TN)o0 zR3PamTIuWSvm+>!k`Afh>Ogb*rDLIw=+2|yBcVDF@b)4zXjC){ymJc4(2>Z#G2hl7he>DdLy7 zg<)A55p~AA1?^zIfCWFlN#kjW_~o!l$J_05k;>UcrQ7AoStM_n5z<8RoQG{`sbW>4 z6xOnSDHDVeQ8K{nc1XOG7I|ovrOG2kbXieza=F{h1h$d^W;g^1hq^P2GlGZkEE*eU z2L+uKt%fA>e$3Sb>?XDEjR2fg%he%*b199P6{7^Gj_-9os8*9Hzx~XZ?*Zq_zgf<= z8%eeEmubWy;*_n$0M>vE_WN6?)#}b_iEYwgE9d0allyj+A^8t&IbK6rQ*|ti=PS=a zcd3}eHdm#dJ`Cn|E%(Nnx{qKZfTd`P8y8PE3g%=b)a*=T5a=6e4O{5sUsuq~1 zGCb9&He{vm+p*XyhGh=07y~OV|rE zM@FF@WQn39!-}6r1X+vT1XP!0`Ei0%E?~>O9t+sStzw6HyCu{Ns?nfb*fXFB$c~jv z@9QAMH*i22RaK6oLWX)33>!HXRty$HC$LA|GD~ag_{kND6ugFED4ycZJ(TBC5{(9T? zvO~kin>KAlgbU2>S=$8dlI#^?nUe-3GEHUL8J74%xVN6xprAloOPvf%=_Il-wiQ`p z*(Pw10k$cvkLl=~rM~FN<1d^4aR4@j4_SE|57*1qUlUbY&7YE#W-r5jd1^2eraPAq zVIB$`7F;j2cUSXAR_2$Un>h~BU0kI7y%cLBcLQ;QLP0%~#lC5`!kcZcOgMUaMcb_0 zl;-VOFPqV$J9Y^he#=X~y(>Je%tWAe%f@5Wj6sb_V;=>gqP0`}PbT+;U%98XU%tmg zX2ru3_VwbWhuhQp6RN3@ZAjXfAlTC@Yc%p;qJm1y5{siA{j(Ql(@{8t5)=o_BeyH$ zZjCE1z|jo@J6a7F&ku!?JzeLBVs;)kGqZ2_mpe*=c?0?af>%Q1Sd7`lt>AmJ5Bk?x ze`%-iclQCb(%@}3udjxcR^P7!xEZ)EOd1c7l2SWA8^3-N(3hjNlSGx|PAGq5m5@>F6gP&q{(oY@FuzjAJMV+R%D*#sK*7;lohzv<|H&@2Nd_Lggaa1~e#yKFn z@KBcX@XoA`*8u>~Z>F=!k0cswzuhZ3BXI|*jx#d^!IA|iT8%hTm7pHLXJg8Xh~bsmmsS9hXXf!~hgYXV#t_~~1B}_(8l9g) zgG|h5cNo``A4-WF?=jwVp&=rZkE(}qAN$XHmQ5W9%c*qD2;~+KG4Olr1cxOBF@5A9 z`oNUMazcfI3-!*uotdP27*%WWJdQ`9_jNR>0MO=fr%j&ieYf3LzLWLbSP3Ik#l_@t zN;`}>uU4e|=MlI7-K;JrI zQRyWIg~9@N{Ana{pw}bd^;x<6D&EJ{l&z_ls>WCw?m!B(WbbjO=le}>B8EQD=Bq-f z%wSi`e3Mu{(T9Y|UOJ1GV_wCOLImk5rgz93q7mnH%@RLn>;kPJ%_pe%OudHDmeAj9 zUWn#P>gH}~d&y0_5tlABAabAQnYoxw25+ajvZP-vsM78IM1^Nb>rN+RGw5c)moPr| z?=eX5@zHYH>QkUVvq?wOrUrygQFFEprSe}is3oRxvks}8G>lQ9p-6$SinCMw7K;c1 zP_78%Cbbs1vc2S9JR%c)x+6;{HEP3`J02nDOivBj$k<~GqCU2Xpb!uAPi#7(oM3S` zd-rAvA{BXDH%8o(LNB%dYU1LX_EKqdvC%l<_G%llZ?eg2H&S#C(SS%6dH6lqMjtiq zP%rpp)Aa3o>44tblLiR~ENKT&e_YYsdA;SqwFbG3U$-6z(bgPGmGbo_tN3zj zKinKz{KdU9NA6U77WROx^)IJdBT3q($Rf>jvk`m%({RLxoj1d#NTxcjuS@fFGG_cA zP;Ko^wWY4hV*lXKubiPvi=NAh3W;~bq$`X+Q%)TV+W$1qen8b+ zDTVsgFC6CmE^6(ES8yc0tdw7I=_q*j(>`$zQS@uakA)wVpXyMT#Q(zk$hz_6P`3Ky zIySbf>b75D=7LdAg(*~ncmM?{p9XjpgqVj23g3A_-}uZ@B`=Ek2z7fLt2f{DUpDbL z4Ky)tCiTf)u$U)D7&RnbWBa&t$Oxb`zDWI-PMLM>E`mjS5ZNlX_xrbUaa;^|G@JYG zdnEolqF0m{u8hkFKfsBj!I(r?yxbq_AnE9DffXV{S09zhaHG;+6Ca7U)K^L?V7UAk zJ`LhXc(b3N9?JfK-0qn?1(49obuRv7Z;ao!()HGOE@sVa;x>Bh+2@sXiP#4+AbtYn zRH=j=8Qk_8HKaHQbcij$-`**Q!Vm$NOs9AdL+jA`u(>P@!S<*CeHFc4?G|3jYAf0 zxcF2hiFN$NgA1;i6@wDl9gFFqC9Y-fH)u*5x|ac-VW@{K-(T$Y>MlY&($ErzTv=c4 z(bB+8D%c!MB0El^#fxV0_Qi47QbrY%F-c$l&TMD5ZmFlT4Nz=BJJfx{1@9fh$M9~= zOVg#0pgj7IG?!t%gkc?4W4QCrmUIGk9s7*6MYqZ*OQ}4iPgT%2lA(fkxJhYckOFOk zfU$Iuhwc8x&}JL#>X;!m;D1}&hG`dGYBoK7Ze5W9ex6 ze>vL@+U=t^<>CYe;dny#*;P+GeX0tQFNa`9p~kI;JYRjS7B66;E;NsgTkQ)MQF~k_ zi03z}M5kd2v2pKs+0;pt$X=GTD!$Pe7>@82BfhV@GeO>0JEhHb=t}CRp7)ldt=>Hh z(9w1j*8aLZQtDvbkf{53r5c)5gDJjhuWOcSPv)=e4lnONNn2$fa;&(3#!4LcDVg3* z`3)^1PJNLT|GtcTmT#5}?yF!9sH=Pocm&{5UIi95@anKdaf!~}fKF5CZ+8&2Sj4KA z0r12e(19*GBmMSaqo9}GI?e8G7ew(7m4k)q7X6EHc*@}V5W~wnwgpQyW z%(>#~k$u_BMc)YfF1E$%cBPh@OfFmNMhP%lIUS@FVXxD^xWPC0O-9NqYk(PBYSKp_9Xsw*G;L&j$#qDblyz z+UI#5rv@v28=I5AF_M3#!`X4u^Q$oTN44z!zg4kN!tz7(>XC#eyi+o*-R`m$hm%<6 zH$R)GFZT0JE76F{O5V$v?QqyCq`z1bG>d2aEcp!@AT4=a^k!Pk?g&o;wMTpkT zTAWe6TiDeH(m)Oe$bpzmiEA_zEN3Nni8nSRb~Hx4q<%bwF{~DU z5a86ypB&Z6xH!&05PIPDD{K8T*kQrE6}Rtn@N!K#T(GT;*9oK7C7mf~e^!^eC(v!~v3wQuIe|m)$@Vd#y+^nWC zRIaxP&U6S$-Z_ZR{JqIV$jdgqf@^B~j=EO1V4g7eACc(1<7{+lvLtj$;{mEfj&@SQ zmn3L%hMwWk`Ii_Op9r1LA8NhK@XX4B{b4VTRrt|feK)N>)yDlxd4t>h`hbVTNw@ID zn(UW5&29cKE3-H}I^hE|N6jTE4vzJD1dM!o`40<6fHexr*4P1=O0o*E(L@GPR_z;? z8yPVP$b|;dHg|v%2`P_tCFwLH%1&lCDM5rY@@gc^?1P?AY`bb6q^fWxcID@2o;JTZ zY?;t5^iB!_G~`N>j}~FN_Jqt_PMoVXNWk@m4w&Csw)l}=bGne|@dW*f~i=TLi$#_Tx z(oNeRzkD=ALcTfjv4!IIjPlq>MOTIE|R{<;wtcblLU`N9$Gs`kQi|9Ob`B^zJ?@ z?_8Iy0?O-G*N+BAkM9pogSiBD35M@S)J`Q35wr`N%U;;bxmUN+b9I7MFHv}Yjhk12 z&uLk{3CbRWnO`VqlfoPSo^y=)Gdb$?kkK76oJ^z>0BT#GdBtxeoW6N$UPM&e{QU5V z-d~;*Jp~f^n1O_3qmSx~?*lYsoB$CCU*+Q>fy!-Kr)^q5Xb0+(37?y*I=G5SncZ(wpHOKmpnI@1HTQ5aAqaVS_Cyjo=||5k1s{8x+5H%0qjjq77Gd*${9?AS$4h zJG=tlFQMkG#@uV+BIVCa)w1*)`LBc`Md*Eg zt&ZwJ%p#1Vpe8SjA}=Zm_Wnej(Edr3zhUc7jolNQRB=^2((UCpXjNn;=TCG@QBea_I*VqZO zdnoP=m-AUjpt=47GkvNJ!w2%O0o{s*yEKF#nNuo99l`xmiL`BwI;MvD&@&ClycmZi z_W{=1`8$ZYg5LB(K=muWg~PX9!;x4QA1gc|-IBcgn?OdsvSWp-i}zlqcnzmDgnc(E zu)l9fWNUvrw4n$ctl>u1ezF#N_boR|F1VcEXWk7(L02s;^tySr5&%373PnEwj$$sP zG+E?^%f?Z754tApCn&R+V$&2|&Fcw}(jFhOy!= zp*!39M9q6?Iw6lyUK?qF8Va{0O9`c_NB$3_hSd_G&q*YE^~E*e^06>V95-p zVrnsJ*My2r4)r%u6VE*op@mD;y8DF50K)+a1B7^f8DN(Klh8Ko|75x^7(wLhHK z{!n>onmpyu_(j4XYPdV@82;dWTTCTK4Bd6imcel9fJ96%JujYFIx93QtOi4y&P}t! z6Bwd(oPl|ZO|W7+QQ2BdNE8e8(`dsuCw0;;y}8`A_U?xNSf`1%=^J%ajuQr0YCmox zl30?D)0tw|Mnr6vp6gEzGfirNnHD5U(gB$i1D8bI~b^! zpZq-h5*dfT#=!_-{^3adnx+Joy*Q{~^Zmv$#lG*)DS67)*^$q`chT2H&MVJ>DiFm& zmKVYwRcl`)D0Pw{%oK#f-M0GsU#yFQvJFIk>k_RnX2bdvAkI+mj*yA0wTe^hV)otL zd{N0@Gp|fi3bG2FE0@*c+XkV|)4aIX;`H44 zyBYxm86^m6l1lCU0TZ)^Tn4k%Z7FOJ?lm z&wGs|pW(Zv1cknp%4RfCKiD1TU_rpuloF(<{?bR-gq>xMcnzrz)#wOFlDxLtZ2ICNwL@ zp8<{B(0~s6JFQ#oOg-Qjcsn5N{+xEo@A~2%uVUj;@AR$7#>$R?S24WBd`$eT8)DC6 zeCljSK^;Yve01{o&rV@Ko7&0W)z@zn&9Cl&1jW1xm?~( zAFq(k)Ocj9!=MFwx$}D?OSEC%n%qOO!`4RdA%(U;Jfd2Vjs{*fb4@b+xzAkDeU)}a zg{iFx!MV3(bHEY&+1(uh5_FdX$@y4CMu@Y+Y%=)4hD=RoeoZk?y#bH?cZErTI^N zS*7#)yj_62!Xj*ewF0Z?HmtNXRJDsCS-+lNV*aKu4G@Mj=r(JD-EBbKOXwQG4*XKfVzGu!$^6(VLT@pQHhKAY(z*VFtM$734ZbeE;9H3=NW^XoNnw5YCm2|FB?w}*4mK?qh0 zCN%0K3zS}58_PmMxB5dzA})bB#=$fPd(I;r*L&BayGPTZK=cvhcE{%+Q<~NP3dX2! zgPyX!$-I5GOdMkK$KeschnL1aB@Q-cp#-TDW?F7lDROmqPO3;pWB!Z`nwf8OO%H=d zob+8-(#v1H+Q~M0yg^_@joNvEy>wKXbM-f8XA6N0^dVtg0C(%tZZ_oN$-r^pp(GIq z{ueYxyrdS%BH3_{8r5K!;caNwdi%6+&%`VKO_hd@s+>hVJL+5Ei zKt~HB3XHI-aL-#6@l^;t)QN7pn4=ntN`KawEUU~go3(H9n$zFT;alN|GZu`8E|(O% zhpk-U^~up(xR8G&4mr|QA4$fkWp=jeF=EwxTmI2F5DqES$}?UUW-5cPlj$}H)O;?> zSzbS+L`>m_fSJPY^A;$g0{vI`lHw=_sCo% zJ?cfLevHUAXy67Fg+GA$9QL)8-9Apw>DEV|GTcU;<%wDE)Z2$urg^3MJ7mz@+lfox zxX-UdvVAz`LC{D`gnS&+;0pV7zz5|R68gA=?KeIB^FvDJ>87m6!u~%DVWgwMW|nL} zj}E12$jBY`(UBC$ywWlU_$?2g00}^{H9y#Qzp#tWhCJDJ3km9@bL3Bg$trC3e^vdR zJ1r+F(Mz^S`nzQzO-X(|=5RMUSlY8WSij?D+%{UHMWT|Q6z#rrQX3K~Ca=BND0=hH zn%=QNfhit2F{KzGUPvF1LkA!16o1!JiS3f3O>L7> zIIHjqWR& z{4Y*838C&QlX4IcJqwZms!8kUSeLHzE;AV#(AtN0cGAm}9+u8o_Mc^zNTXivKj52x ziGM!!du31a?!8aB%eHI9O^Q&pUgcF^A>7|i+>x)@vc1w`ll7myLrwaxtmYuX4o)@u z&W4oyIV71f$<8e0 z_bmQ+@8qL%?%P)OJ{@66xkBePgQ69UUpM@U*OH6(EKGM|*Qsf*KqCph%qZPo^h`AV zN7_`>HN^@O=oaK1(58n44ZrU-^C9%s{R7)2NmzHw^!&E!R&nMa&Fb>WWGa|ztL<CPwQk^pz)990cx)F+gUNne_)Xd&uRz5kNxlXR&kSwdP3rQg?!=NVL+ z@R*7GZV+FCai{E5z8YDr$p$VGFGV#^2k0-UKBCJH^xrd}GI+2jm#OY(mb3q@^_kp~ zsNA+_eo=Ln>YUf#!{-_kX=3TKBn-q$qhME2{*oq^Dkrkc#49<=J=L+tXQ9uV_x~1L zG)JG09KAsYt$7Z^uhOo1yTT&yo#eeYnq5SNg^Zs$dv{8l(2iS_z|hr?wWK*}vrU?h zB!l~N89U@_aCBZRMY$+U7LqJQt$9{ZG;T76vi`_o4+Zwg_kz2dGKSyyS^inB>#sEV zPSaPFDt(pyxDj;4oUZF48o1a@zoZ(dtN(~YT|>;b^Xzk?#m4 ze;9LB)W2C1ifk7@YOL*emNRKg#7%={fUeQ3;LlQFf z$Bj(s;|Krx0HNO3c^dz_zw_|<Vnb{yw|-5xOMz_avQsC?5CzlUAqL)sh(M6Of-_fGGJv{2FfY8czG~tIS^< ze!nRm4*{H6%ysFB#0Jgn7k?P*RhuN(-CF;q&brNEcNTi=C_9#`G&R(;MQ_BK#QJTi zGS*tnjq`eLkg`@G?R#Vgoy(_0``Et*bPr9)aIMviy`3uvhBQox-soyeRQ(KEcq-s4 zb;VB9YAQYYZg4PGHtRvWifp59L6YGYm;j8;E&-^DDzK6&s3NQIa^p*O{w&11M8^ z5Xt@|3S#s4(GZhvrV;RuZM9glY`wCg4W~$#gc)67kfXA2q0B0w`vh%`phYX!Ljmn7 zvBgUJBOha>VVNqiot~4Xu|cE$wpR-u@d-(sMU7+(!*k=T&)_{mA!kR87{AN?16 zJTAMCxhwyVp9MYB)gy3EVd{~_3|X-pUUPUcYll2&uicB%*TG${8gI7m88 zBJn@-1hwnZm*^$CoVSo1Q&5QM`+9{(7U(nGkuWK>cl*+}84bMc2>sWd6u#XZ9fp0D z6pAt?O6vPd`m!S3jqz561;0nJIM9B;)gc-AFt~{eFI0v6ZyrICywGmKzahcz*ng_} zI_hTr-;?J?<3PR6#Aq=4-;lOYvRmO7tJ)@;|6f$S}%8@M<5$9IK(Llv})>y+x^)&R$-x`s1RMcHB5w#S~{sCKx~! z#m21bF_`$iSrRzf#DSNoM)T9{wm43iZEW)~yQ_B*Eo(~VHjlXQjKGr@-G&*kCk(ml zlWeEWI6fUG4m)#+-(2tc%f6j;`htv7GI4*>h8N34)GCg#ew=;6^r|>i^|L@(74A8i z*7@RdV-8uZz`Z>hl@H>fIv3YG;$BszH4j#ilp#&udgWIvCT^rE{)e!)4r`-p+;s~S zDJ||^pcMBaK>|gKyIb)VEACP>6sNd5gy8N_+yfK|?hssx`=;;vo!|bhv(L59|Fb4* zCUYgT?zx|5Bq-kICRG^{)3oq~EPtd}wSG&x^s!>_cXCoYTtq9#^i7>HZ<6sSjdaq> z-&jIs*cR8rAr?g9v?KoFbmz3@mDsXBTJP&(6WNvvUC({yedq68u;db?*c68V(O0_1 z<*z;LM)>DFzL*R}gjjQV5o*|<0)A_Vix14Tq&bZ+qqHe!v7%~PN3FcpR;yF)qb+!2 zz-__mYz)jY-p$~Exy?%N<*>i(<#W9D2LDk(A59f-Qb7)j*%vI7q8JWlnxCiuF>#ID z5gha{XzZ%?kJ!wjxV#l6FaP~5uRd(d$BQD7>eXcQ5m3WPf*Nu3I#EW!FDL#l7QuI^ ze?-Z8Vr5CqTB{RKGV_bjjLOi%*vrkhwg~rhk?>)o99p}TG*g=&pi$s$y5i~oV#3XrpM=hrjBkDD2y@klhis;+z(UYkuIL&rEBF|ctbnfz0{)K49rdH(YQr@F4 za`_-f;cs3AN9W+%^BtJ@e-^$A9vtw}_775i{bLRhmq1hnwavZ1Fy?Yf+od9%mXI1e z7I?rsiCTmMZm2>5gVw8W*ef$or~))HYOCYycb8KtSx% zNKA`Q413=Cj;0;XGQEF8dq_uMHLW-FEuIyQRg-~nW=}c^CcIl!@(zDzC5$@^eWnTN z@>71JpcpF%ZJL5HkLJ5pF8+{5ZM@nq$mDGPg$MOtIwXY6v`lUfVaep^pOZhN zI8sC|Y-kf{rc2xs9}wMR(9fBFWIy#^52povXl`W*KlKJSp9+M&oeE9%B=0Wf4^gA; z`rIu}Xust_Rc%LH_FF_Q)|_Uzuyhk(HfLQJH^WzErL{OZGNwIK#Q80%n_wJwRh0bb z#-f}3$OgOMofGZ}Fp0K}@r$%24_(Zs^=a(AoVa4M1uu8J_z0eanWVgYQ@Egn#w(6Y zx_9z@IwuHULcvTSNx~b%@kaz(+CdYVXHFk=#5AJgAj=y7dFY)7xX&BdT~&k#U{>$= zWvS3?v1yDkhOQxgN$n?eq(+MPP5YM@(Q6GMUC2P1M-so5^|?nAoC)%51>1;k zCDUygGR=nrN&=L1HU)q1a}fm2#A~sCytJqi6_RB*rdC~6I%zAuSzb%Ai~XkdQBIYz zucPcIWm48fadEt7m!y72*OtI{Og(b~s~lDNXs+U7$Lz7kD0F;X(rF$-rs+H*tON^v zs!KYkR$aAxr>Q013`OVKNI`nd7nlCa7m38ZXk5w(Ql_z*G6X7k?zp{%cwsu0>DRL) zhUjh@)HOZu#*D}TQ|KjyIczrcvuYjbo^S$nBFV2OaIUMx{`=VV_D>E!gfiprI^LbA zcz-NlJmHA+cOw`AP6r(cH3EM%)FKDFkQ0VUQ2xNykj1gk~r z5&e{w$tG5PAMkBi(oX7yPbQ6}7)5lPfT7Nm$XC|*zyBL4DxC`kVwgb#9ijZZ1fpT_ zF(e3AiP;g(53hR5-@%SgReMSIg=$fF)K z8;gLA|8aQ7Dkxb%G-ixV3$L035=#(=i*7n%2<7uJKsfGc>%=CgJShW8TT(csxs%Gq> zlbXG3Q{Lj(3O8dHUT#zk{vvPzb!rS_G`CO{7J)d#tg@&?^nUD}L>KtW$0B!$(Db2KE%@A2}3$V=bz*U%Nm44T9`{pgG(d)o%=T0@!* zEv;H8pkH#gjdO#ic*q5jc?R^n?4m!7aK>4~Tbihl4p<@k6MA+L_90`;KB4X<7uWY7 z7JgSv8)a5?z93H)etlCuf2G=W7A(|E@|-Y`1c6T$`4RAeP)UJ@S83YIvz6P)>zHhx zUVkZ)u_JiqD-G>ql#3ti00tk(yKOSf^FxtS@G!{SNN)=&1J?zmMcG<&jjcd!vht?-Q51+fttvyn@i9uV9II6t;>#JN6^!%FZ`~V z`N7z!L3j9w;K;%SUJCNPh;AR5UE+BF=Lk}yU8ml3{WlRzQ0&J0Zz4Ed@yqEi5oCKN zf=So;DMi~jw?S={%}bRn$9smqmaZ=EvRp+Dj{&eY6EL5_RdWuT?$SP{%iV6rwmmH9 zaQ|w*2g_%(!nep~00;hInlojEw3xGtkDObu8taY4N+1 zul3`!5^Ss{q+(^uqFak<+o}5s!>OK~B~sz~OAXsIKWyBXC4QgoWD~(zK40#?{rTzu zzE5SIevDbMhb^7y3ZGKr?&%%XG!7k0i~LOUs!wt20|}?leEB(XUW*S<$n~+$96F2E zKa^MH05YE@RwDUnQux7~2HxipRQ$%qvY_!&q+V(_E>awJJTy|J#+x7~A6FyJ%@bF* z-BQmyc9&_I+4G3+UAR^EuAzmi-pKWMrNI^_av!Pi_Q<|A?f|mIL+Dly^XZ}YzXoxRBOxazsV`Om3%UJuGmFSf8q@M&_PU~5X5Uz)d6v5qib>O~3qcKEjH?Eg&j_fMe#|GEF2g=c|6Bjn5S(_d4ggYeO6QH=GV8y;%K9JsXpjBF|T7>SFaW411yg+d8E)v4Z35 zdx`DTqTlb%1l|uCSUdud(UxMB=_StcPc7xO(~OyPYY~63Gq=^Fy+G9L)u8$5RMM!J zHJk^lr0q?>Eit1wErtV3i374eOLuuTXi<=5a{#Bu_@-(YOg}?aN{H|PvdFqSAqo@3 zL!aLA+pTzX$kKgs>S?5WyyCp1lKx`Sq(8S5X5*&m62L8@zhoOVC8w;l{L#B=b&rDp z?x=Fu{<8i%7JAhhyfDm-X;N;>uOP%AY5K=)uPU1Vq#T|ayOJPcPUYp)t_CfPe~V|qSfd@xZV?FYSwb$U0ak3+^+>!daWX88s+M_W z8%N{TzpWUEY$;kuPDH(wE`)`1M=b;mR5#S>+)K_nEhqojQ*3ppH zngh|H*rU$=B1U3G1kbbDI(;4ywNq2nzo#C`A{qKQsq$Rd3UyGCL~@531v> zSsH&as?ytay$zaGLIuARBU8ru*112DHfV357CEgLTd;Xb>Cr0vDn`gmC9chYwmJTz z?9D7K)x!*OMU9Xlh=Cq4<6T5wg^EJ-{cnUj;i+5t>rvwoJ^+OdKvbyzUW!9Nk2 z6OByft=F6K9S1Ca`0_A4vb7WaPTYfoT1aycQQ$=2kfw7V&Cv3yt>8p}4(9p(pbo>? zWJos)b?Kv4h+?emwn^<9P1Wxm8jDA3>n>u~)?gG3j3ZSs%$U;hn*Hl5DoibR`$fjvj%K@>Vu-U5DxO ztS}kfDgGWR99s#xn!wcQsgHlESJO*={SDNz$X3nMP*v~dEd`Yo$Nnn z(_Nx-|9tC{vTGQKg&M+0Mk5#OJdc081xEZC;HB2!gr!2UN2kL2TT<*qpevz2OZG${ zcPulnL2=+h4QXn&k`>aJVb5#Rm6AC1w76|`!4?xv;BIa=n;`zYJqdD!X?>#g@bfP- zoqL9FYt*(~1998-vAa2I_)^LxYrw`c(yycf)jncpFml!7Ig2Evx2Vy9WiuViEG{TD z8pEiir!StjVvVAg+Umn4@x(E~2gFcQZ(uts97eP`&_Om6MQJx96fcd(3{-gy`J(9i zQoSNX(WpISKaq8vO0Xn}9oZLHW%SRE5w}$^WqYi@KAvz{cSqm3<8gf_TJIX%M&tJh z;V|Gfy!W2$ra|rt@hg5~7l(*xmo;~CWm$B9IBtJ8+ZMSv!z?MYKT&~Vk*vr`<5Nv^ zD>1hx$xI~dEBmV`X?vlTi%9!=C=ZLWNnwY&wD)Ju3C z=6FVt%Y-!*OPdthoX~PYk*|MM@tKU*I6~T7Ltl~+MRMD{h!EmgtA0_Qa`DtP?7Wgb z!ZXMI4~BDeUji3mPG{#1CG%`#>qm9m**I*Eub^K}nUjsBD~BtG3&if%eA^zeZ`>|L z63BTp;H>2vDlB}yGc=qG!(l;whv}j7`r4Ao%<}b?km8U>w2wQ8JB4J6lSQk{Ji?-I ztV}8*@N)IpNVDaZnOfn)gG|2ZA5M^vHD>J{Kl~k)nADy2nbuH3I}|^m4=nf#~-1*^TDSdlDs{+6?@ehUlU{{x4w~Xx!Iu zJc&u!a<~rd_O26(X@GXxF83sho0DFB4G|VRFWEa#CO+QcBcNo7ViwBT2Ay3ID1hzK zEUZxDDP+9UD2jAX9cvIA(C{&CfE$Tu&gV*Gh!k0iaI9os~TUo?L>&EnXy(MF{uGz(u zFrJQWwXT}E3qm=V`vOK^6P>n_eDFx#{K6p#HlvE04k^8^gfLdnt=l>A%7q4%*otdFsoDrF@xun6C|Aj36f_A2P1M;VEpz$S6p8tGWF)H}Ng$s*_&~;{3IH zp;{6yTbV-AuRT>F6{6T*i1$nI*8ZVf(lAE1w{%8EL3Lnbgpg3WFy6L1T-)1cluAhE z5k9h;RYqkgQ^V+jB>yKZI%OgG9e1$^S2~ZvMG@LZv9>#=Pn^}g#g_8*v8E*6VkGyt zo8oS3ZOP0vJ8Bb@&$1h1{*~8=cE+II7Y$vm(ZSKdGzY&fh7=VxxO-t|t4EYd4#fAo z?4q^mE^F=T$!RrXEH&e?n#6xOO}Yu8HZj1@yF9Mcg(7K}2gH|jJF``ZLoqOnt*h#) zX{+`{>zO#UAaCEJ)K>bU8(P#`=bI84+IN-0Lto?%=!a<|qAunr&=xX(xuw>+24~-8 z@uAQ|J<4_`l(z!Dy*S0#ePlBi+e4p z8|)kG`-5rf>m8Z5pmk3e3*U+{ge6jz*k_y)& zn|Vs=lYgo6>NlEjb?;AN#q2l}%DxYmiz4Jcu16y<@Cpj}eG2vK@Vyn4dj|NMz!$!S z@m@r;1I+f=ljlt!A{Q2X8J6=UB|0qe;S9cgV|{0Y!QHMTIg)7P>X$b4RN~6S7oV$* z0f~!@?^Zv#y>Bj8p6#r;t^BZDVBu%g*6;#@uu_BK$eGHYOXj$YBq>AmtWHHO|9d~L zbX_2Nv%id%{e;)W^YfLuj?eVxDMj2q;q*-nV8Sg@u+t-pl0qLH#3?J#_oV4IP-;IYKphoG2*DdYhu z3PGxiw+8lHkaAC`Yz!OMu!Qa2ZB}QX zDBPOWx{d9lUb~gH?jhbbU0^y-SwXWt`l;5BJEhkqjjuWr1gAyyeVzH}@dFyTk%`iL zY@gNX(4389xWST^W%{tdmjQ3B0^0dz@^Uv>&s^!$m?*_ijV~ErH0%-aKcr=@kxWD5 z^@M)5yWG0pxSxzdr`D3?vR~`6a$JHu`OsPcl)O6gT|B;A1Xcc6a3bj! zb*Z50)_Y^LkhN>#spL1}dwsNa(Dd~xb!?7hAzQFdTi$tReraHo_b}onVOpbO!SHJ_mdTg8sHKK{K3@zSEYB5OAdWj|W+7^_M;LK9D) zvyJ+7%N~E5w zUp8=K=9h%7yupvJj%GH(^5!E`4w!>kRSqL&lf;LLldi|_C6`CG78;+nD?w6im|ku( zbHf@}4n9%Bc?|Jirw4)2+6{O6Qwg&^Zi=X|Va=eT+2yRa!Ls&6hXczwEz5yp_s>d} z??Uv4j(-{0h93o)EpbwT_W<=eJJa(cNGUjxyU9o0_sZ4utg3hv# zniQoi} znNLvoOdM+_SGh)%Lqb5wl8Oce8Gn?!nq^`8u{B$CUw>mDDayll-SwU7jj+Zr2_+WaJ$jMY9NdVnWvFJrUKj5N)+FoU7BG9(i={#<998y}|Adj+SM&wYK{nEU zEacV0tW&pJ(TZL+TC4gu4p=|*d}mH#;G?9%l85;A8s)XPG16HF~-qBSK^GmbJ9`T*3DR`j$OQtj+!lS87CQCEKe%)B{KDqJOkLOD5 zrRM(+`Lf)v!tpdxwk6mD?dQpU9`QYi@UVa;Xj*+5A1~Ir;z81ic6(ik9F- z?3J=s`DD=5TP-=2vvwA)9~}|9HT|C&*8~J8`R!iW?K_kWM3@RND(3|`GoEIyk20aF zJIRBvbLFl{>a*nkZ{VwK4%c2nY_vu6VR~_x&7@pA7Zew1Df{^*X=g$~^9ff!*45x^ ziJFjH7s=mjm*v#`nlpLTaoq4aEqhw<4Ah$Pk0XiDCZ}qM6zO_-)@Su06|K7)vzp&Z zyq9NjA$*J#U3mLgdhUH99|YUd@G9K7*9P?;lOFe|E{ZQi;-oK5I-+Br_{Fe>&Et+V zg_>$0ca_uNjKN2~hiCOZ8NX|mxGR4QGY-TA5~?!5Q{Z#y(Wf6+(3L4L z5U);PGrbG|hj|P>voF5?&Av2EpmpCfFx|yS#|7cmK=-0(dS%5OIKp{tf;rI52GMJiFuuYjBajqF4=6(>Ck?Z&=Tmh z59}*eMwhDc2DzI5q5e#_$2g#2RF2j;#O8--jKF+Dl|{ND3RXFi93!%=3V{Tu?o}4+ zJ0eO9GKUuY#(2c}%wZpHDmF!FhYS2=N>tDINOH3_L;~L;NIIuk9mp<#1RE1!PpofM zC14UKJ*p|ePd6R&qKxh^Zhe1q^c=9QSWiAUPi#3Kc!X!Kg@+1X>QQ3hr{I>=jgvmp zU8fG11h6a8BUmbDW}*>7s`V&VA8q=sdn>K1wdHv?O4{qapG z{Zr_wa}a&z>!LVEO8Fk$q(6#{Cpy@QplS#amLkO{>UD>yLC&?PkLO<_d?A28{S4LMPJMA7fM)lzSR2Y zJa65-tL*&K>YWN@GgNgNAjz}g>^)+`P`5k$@3Epm1mV%gR|q?<0=-UkL9dP5@4pToF0wO#*(1_@Sex zxd9G2>iw*!E`aN@APtJ|&4_0F#SHDMPKo_+uuxTc4HJXuH1hi}XMbE@t2Aa&(0~C( zrJPmm8-6CLV>F;8z#H?cHqSYGZY1`Fg-?Ao*S49JG>tbYwU)B^5WI4H$FmcD9{K({ zy_@-N_7w2WE#4U#DZ%6f z(9V{u`Cu)_lNrD6&G+MxY@MxD3GpR_mszyeVoH-fjB@W!~fMH@|_ z^!t0w7g-yX?0iOzmVuie&_U$BOr3BvAl&m5K(Nq;zY&dH7LhE7dUAlOpOtIk=ZKJR z7TKCXPT2h006FU)N_zqb7;Ad(tr$AgL&DWWQQixw{s@*UFK0~2`5lch4D9Qe;!|B> zye7v>6_6+B`uJB0gdbD{?9{?S#(wbkvq?w+%vZMtk}6|4;~kIxAOhgL@McZ0Ah=?r zAR4+#@DNX@fAfrXz5fBV@Wye4S0HgxNNPj>92uup^l;NzNF+-VdZs_(1VaMZKItjt z^AT9$dq>Ubmb1Pt%Sc*v!d!FmwOeN7JJZ1};^wVhb-|3}jeu3CXbDNYZ|Sa6v%0oG zG;>s`7)8Vvd)VT-cDHgC&j#no@P@3q^huHQX?(Q}%x&j={{CIl>Q}kUmV+bSV#fMN z3(C)dJA=(vT{fOOq(hsT`s7&=XrzF!_7mc*vJbuF$uVdi3e>dlCXzRq@C;!>V%erMJ(_`K}pd?D?9M zd|BaS*s6$jEQZ-sQNm|2jsQL*pMI~jnh;7YZJ;h_uiQYh>7Cs@F!S*648H%7u0zob z|4P><0ysi4Y(lH}6q@aCvRJ{XO*C6vxMOdOc~oE&po=QHKjhEcmHhYlzueWjZ=c~P zwX>_>z%lHrm0$JVpHHa}& zt&cqS{s>xWZyN0q0^R*1uX#0`M`K82rp1#6yz!rhj58`dqtl1y;Pd7Di2%u79HccN zV1LAO=SJI!ryg<6aDL26oKm%18~LGLY>`(tT_oI)S^pXM2f%V##v);i*lM}Wqd=Ai z{LsFDwhBt?G91fWue9b;N_UGW2L(;t{{z#CyHkv=*m3%fuKXF&C2iwA^m;aUztpZ} z;?oHMn5u~pjIn8F!23K!=^IDc+-TF-Bm6bOFL|UYd7ih^Wx=8bGPy(1zHWVgEtT#C zfoy!q((3|e5;J6C6AU8uq!(O47gHjPJrKVn^O#8Uy0WeU>nUA-K=5G^`r|&OT%WhW zXNtaS!p({-N-uVm@HYeEidPI~$e8;2>1I3P_kY92IcU6}F>B+82YsSM&_UmupAuzU z=0vFE(qNLTeIaqWXbQ|A1gKz3wq!<{Syu^rtryH&f@i3;@fCjiw%!+ zoZJweZQ1`rIcDsbI3|v>eMZuU3Oc#UKS7utiKe;yW06L#N7U57tE{9R82|}Ii9vop zfRq#V*Fp_LG%P#}gqGL6yK33-Nn1x1^B}ds<3vO>iXJI(4U1ZepE%2AKFX72jwi@+GrwMkhrSz>s;oRoxFwMA7B0`lV=xnSvVDW zOV8Quv!KYjfR854@GWf1miw5Tym_Z|kky9a;%ZE4&H-N4lbEt^FVat%`RY%Z;7K2S z8iVgB$tDxk#2VCG-GN4$wFO^8j)2WJ*%uW;Ols3t@z7EmM z&Nl}R4Af3G?j5f$g@eWc39bs6KX4PHmHRgG-%lG)Za}y+Ke>UA!%Fa_~5hQ8n=R=9pbXw8MmrPuX= z?eHp01-CdLsiz9erP)|a!GceVKe@FZKk@L|TdM;o+VsKiv6}=3*~%5Q($Qqo==LOa z?^c!*_6zId55|MMmp9mSe|Xj0g@X2i_As;NL6W9t3`~|CVz1^0_*7oqjv9|fGi}lj ztdx>iZmeb?-Voq+`n2NngskeQ3Az24Gko7nmi;<(Ec5I;-E&#Sn*CT9c|B?GoW2y* z)HN$=Av8ZcLBj1WuZ2_V^;s-zoddC`(m8sHd_U6!Bor>74^LMq;hF-YUarlb_&7W4 z?v#V@;{7L++}qLbSGL|v#d9kcD>h=>z3;xGj7erR3%q#-;&jc=UEu$~s0;J0CA)W1 zsb-6dDN%zB><*-cx^go0`1(Hu%$m~acEsydmQ`Ote`bpy$ke|CPocwN6yO=tSMIhy zS=X9v@#!4+Et|J>k2pJ$e#xRyBdPWni5)2rau)7W%hbP6Wey%oJNXX5{L<<0PApSJ zYdnIdB%+4E>OM>KcMHwjr6J8+;ivjZYMG82U$YO%dyx`CtpzWC^0rI|B>ti-NB!y^ zrTe}==VbnLd;0B-psT0`vI6Z5nW^W@@X0---nX0y3WKYqZv;k3-Tsp?#qRv;l<5kYU9|!C z%kDg=XbSF{WGud2-R6+@J?=Ljr&<(6teA4`Y1=s55-+$#+=ToGJ_##`a8sS^`qsq` z7P!<*bbxUW`)7Dp?g?kU|2C|(T`oZKsmN^+$KC9<=)1F2mV=X}7p|oGT})nNK-Wq@ zP+PAeVAEBppQ|*nz?=oGJm9Wd$yAKs5Y4LX$zj#E<~U7OT6{%V-l%`HJN{4M*gm#o z)aYc8X1^j-i1ZPkzFyc?V$cAxU$p&jS6{Hk58_B5=+6ALaWS<<(p=Lt8-HO7Sh$|N z%mS^@TVcD!d4KzBW;p_F$Vy<2JXm9DdD1YrN0bkJl*!(YoikDAlG|rcwdAG*GryY( z9lUUxE8NNMzkuzKSeM(2yX+OGD)imxtB>`Gvv96mFrW(H$|c$ER+o*PH#OUUemS@B z*N~W?B13u2QL*{5HQMK5{O5c%wLJo`#K# z3}+=0Re=vw=ghhfFa-X*36D;%z@5%8-4sO~7)cq^$RDmh=Op%I+O1|4I@LF*FSd4# zJkWw%!UGm0BidwV10X6{@k~lRl`XPIs>E-HeSli=Yztk~3R$wvHgZXa`-jzKEH*>y z>ejlIn!1jbLEmfoUFx$V$Iv&Ym~HFV^@Z@vGM(oL6m^Gi}d<{-(zAhcExt9}Mc5-7&n~Nx_$f zuj1vqmbHj{L*lJvXTbt0PIXS8Q`tlGDxAVA-0;amk^C=Yt_Z%~Wl+Q8E~=Gk;#={bXCPO**7rOx^=6 zB_a9Q6dg9L&@I(tMe?Rs<;Os;Zbh^1QIyiO+oOt74nidw6rE;;|v*Qn3Hb@BD^;Qmp4MowH5WL#Ms zQw1ak+PJ5*5}4l!P@HK3?Zv!eVB6kv2L1_RZ<2=1*$S>@p3%XmYjDP#JidudwN*D= z5@^6qVjm!`JxD}vl(Dp$ZP{VAEg=W5v~wHvBjw#9?O6?E=xf1Ia)TM(#g9?Hw-Jw) z1+|n6iw@r{)fX&W9(fIa_Ea>W|MrkfxreeUE*Q3ofn}^@wJfeNj(0)~%1b4vlq zp}qIze-h^q4%nTrywy+6Bqk}uF*Eg-e_vqzK7CTcH8WE7Gf68Q&YeKzG%>;RVRvDd+sNvHu=PugQyVdUxgt%^w>kPlGu9U@gzgeyPR zR5L#B@v5+&e3E;)WK|t4>+1@OdzN?}hKypg)BJ07^nsWPoKAX0;GY*B6oBp!v*fD1$VR1g}rjQ(aAk2gdE&#;B<-#VDgz(b3A<=NjkeNhrS zNI_yTMZ+Xw%NDPgEXQq)UiEQZ;qJY&v4(-#YE1RHKW90-z!(p~&|GbJajsRvN4KeM z9NM~y*!ml}`8UZxwl*oj-|`%(%ocN#x2BDl&*eF1a#Xq!2)5%}Lp%V}_^BsK*X}L% zvT&9I?57#9t=d}=y?d3Uop@j0j?1IwS_2B07@nHNhY0fW?53MaeY`$C$rIdSr>p=a zy74w)==sohD#c%Ah}q}CT$Ie_uVkedgL4{(?9;d>9v{zQX;Kg4aV_>FLs2=Z0B<2_^|_5iU}c;EhtPdh~`^r;*amY901-OC(C zL3gmhwkpCfD;2h8ssZ38C5jWx8eY4*q%QELwZev2Nq0~}JfqDkSjehs`< z#LbbJ@lG*y`Kr?fRN28bKD3GMAjm_0C`kgDQjv1+Mt+#x%+Mj^e)Ku}#-i2}SW)_! zJrx8t=vqeDyUg<*;kmaX$t@=Ff~o4qk>xN3tNxA5sTw*E!gP1KpW`)u#Cv z56Cs;8h77|{-F&pG^ago6g5Qa9Yl9uNE{G)>^SN1fwfw$qvDfVKhKi%4%y?*EiGc+ zi?(&bW9P83DRROv1no;7z81%NR`sJP^p<^m^piPnAxpQ_?1xuw$wXEj=~Ip%l8)LD zCag?mxz9uCeGta}fjkJmVVvWXn%4wF5yXs2w0Ef;QTv|mc5dc5)sZNGz9UVVB6@S# zuQqs&UTGTdxOi{%MWL2x#YTlK^0rB1t+u@zxGWF$5tIm5SE>t9&*fJ}Bpm@v##;S; zcOtX{^kI8P+_sS$Rq~^}8K3phv{h~_;m#nSoF!ahj;Za(+u#Wpun)dtCl@KqZi>B+cN^TT@E^fujZHH?j7 z*(na1mjoAC;1j=|u>;5G7)1I=&nD$MD6yMVrD30s-a^fyWRHz0Emoek{Bs9UL#oBc z(Agu*aTaISZGB9Z>I3TMh?k+tKM}8Q@`(xK7t5>Wd}ACPeCo)D4J+Sg9&KXrdFC%U$e$R4XhOYeLgocr;fvRuapQ z<#K(K#R7Tagae*_+)CNn#%P-O{MNt9gsmc%!|3;}P-!NPf2DAlQ4qwGzb~niuOq{EMN&Fr#kRSK_Gcc?$#m7|C8;~pW1h%Ko)4aB+E-xn(NQk_>i?;tw) zB0UW}Fzwp?Qvie@RF1>7S$w7#8Np(p!@V_Ri)$;*Z+2?1*MN|# zLxfTGs>uFN3Xqw}zwXAhUb>pC19Wh8=wEkZf`n@9O(x$MXG)>-)3-ACjN1(N{i7dd z>zPi?q!BOexR(~UOdPVOO;*XtH(dqTrL2hMPv*Msj0W>(@~H7;60vPKDRU$ zgbSOF(d-I3pNgX7t77459LpHIL&@>arc>+h*i~QNaZA3p4UOPTx^tO{K+DI>T#qG? z_4(o5BABgu(d5T}d$5>Nq0$k_3h^P*u`TK+)rmIC5*TP7%{f(73dNs04$GB6Z~4U* z_KxuOsOTpsXA7Ekp^e`chy~t6_rkGKZYH02*JFxO#wX_MfIQ0g(Pt=?Sv3@y5#M#E z6vz_kRy>zwcuXfDj!x0=S>5qhVe;tg{HE{(|J+@Xc#=WG11IDmMRa+~StbVl1!k-10T-mgJ zJg*7R3EDfq?H6_J)(H71+Mw;~Q@<}}7Me~^Ao?y){G>7jd|PJ+yl*AJ=3S#1kk9D? zeG2~H#Z$(U#T|ZzD(3#?+XDIxHHbeyNb?#-yn&6-)Y`t-B@n9^$(Cjs=8$Cbj2r@} z6Ty;hC!!Nm`|cjfUez=`C&APrzbjKApF>~%WD|pWba5$Zz0TR2jwf2}UQnaHH0mZ4 zDzZGEw@)m^Vmrcu~?qlrJ>FzOrdoTN9UaAy9 zYQpt#f4+(j#O+!?RT)gdF2(f53fNfmc@=eLJlNDe#M40bs_s1rpIafkTsh{umqd&S zfm;k_ayQDVB<4H4E}S3e-bsH{g!YjQ_-NyIQ=XpR^8U%(CRXkR68rtSFbys&({JL{2`)ur5VcGtw@pL z%3!Q;lUpEQajfz1(4>92-{lAC@x?;a3Cf(vLW2E@m>fsWj}Frdjl z>6T|TrG9sXXX$)1{i9=(7Vq6gZ-LgD2d|uqmkczIpQB%eyDOJ(#!^1gAN`U2e^)^z z3tr?O|F>UK{EuI9jFr|ht?OE0&sQR7DSTeycW&NyRK6>Xak12Srmbtl9qqm%bog~< z`!2)H@5`6Tuh$!@CH2p6>q*_IPucN~fd9C{9oWkZ+_^T+vSF!lbm}tHUSbZIV z1xsiCK-*{WL@4brjw2JbQsK_jLGj;4sgb9mvqr3BvX1#LkXp&zP;{9s;EC0Q zS2l0Pcbjcx=86g6@M+_wGUXIFHr2X^(sHJER^i+1YbW5{#+W5+7w?NHBs4?(jk3jy z6h=vDo0NrR2vSYyQn#| zZm!+ea+XNGwK?EJdg3H4Q&ag^bMca|?>FXg4EbOkX25ID)#B}FOD5WAGHY#0jI7y> zg8kWYN@kB}JtVwAAs4#B!Go#`js&<`Kj7Vde_u*2YQ*4sJPhLq+R;gJATqs8R>(Q1 zy!04GeR;f4Ptt#ZtG4i&Ke7A)L(W?9$Y$y5&~5$g)PFd`{G8iNd}}GAHSdu)@PJOU zqMLHN7`VC7da2enAfS6sey6A-TUd1htnmIf{dG$Joc^LxC0!gY;|~FUaI*u zdjfvUxBn2>DS(mjmCAAwS&?IdZIMUK{)JT`r4X>XmJ!4+wH1yy*8u#pT6l1mz`&!-gv&@dxr+M8IWT^mG^y}UA;|mm2_{jN>`yyWQulo{dxV*)nYJaY|50BQll~W7ZyDBB_pSZ5 zv=nK9;ts`1@#4jw;>A5UE$$v%THM_&1&T{>m!d%f6n85G4bb40H+}wlzh|Fw?el?a zeIaYkxtLjuImUheM)0iz;*L@`u3_DT>@+yP#8#+pdo#>rQ|q16-27Zl0DOMrFN-(q zzgfI!sT90Owl5MXLm`c=g~mf9M8M4NBbVfrugar;G;k-!EO1vZh(!KLKC7lF-z9JpnAhcN%$f}z&3aGEygD+xxV$O_haCN?vi6qGCt>F&W z6DN1UTpD`#hO%K(Z+V$5CyN@foA>VJ;%g(F4|}JY$A6L_WfP8n>!Ek|=jb}0V%__0 zaFMnwwrlA!Z_m=X{V&O|1Xn&){NtaF8S&4-sG$LcI$0r{H6KH>LoPr+R9LHP@pYTy zmzi{Lia?T1ot8fz00Bxlx@S_!6io5TpobZsC2QAF9}_dJYZCMholl~3rG6<_0h`hnYDH-t}X@swSFNa4CS2jjK15W(dL4O zoeH4<+f;i}wMRfusX0#j&w5rr8V2UR&?@__L!FXCQpL>*RW3axF>#a#=4to;BZ3L~ zD}rf*aQY5uG5sJQ*0k9vgS$Za`+-Ii1g$*W)gzPH3TINt-a6;3^eE@?|5pQJ?IdbmRJ`(Z z7URKdsJup-@Pac80G)9fVEH%(qKl_J+22$5p+oILyhGzV|SSIv+#?BxntOKWS$X*ue4ip3zA@ zsXRLF);EKY6}gbgvR6a7Xr1HOZ~TV{Hw%!_TO6o+OKkt^x8b30`PXlAY+e&5pN!p- ztP!M3c+sqY!j>aiyHkS~T!TbJubmYOsY(B0vwDs(9j$z&dydawpfOCD_{QOED~P&pX^i1f0c2aMfk1ch=z`__3XxloS4G9Y#Dr0 zS#gAQUKqnSD7JRW)RA1MIsF$n3(Zl^^Fz$*eU(H-a<@DQn<{+v2kg8jTk$m4CDBUt znCj(BrWzlZ@U6^CBUHwWZ%H@Z0qg9x|?|Ly=+qeMw6|hrQ=NN>g6H*^V#3B!-v| z^SFILEI0+kx2!cMX`t`DMYmuo<>mcP%JXm5@2JZvYJcA&e%j9K)n#Z+!qdrkmU&rc z0q*XMo8m!*B}2vhAk>eXCHpiq*niO|y#1568-kwNY!Bxzu{n%F=o{`{EwPdw`@oCF zkN)^X#*wFeSeHE?W%KbCNhxye&V(BaPo}S@ce!RaPjTW6b5eq7PCD0&(&w6MaiiXY zCf=v9H1bq85=oxK{j890E*x>&HiR$r_UD+~2Z4fv7j6~3HvZxM9hqu$pUI?%zxNiu>{i9ZBKZd8tK<8!%qK%)8&(;B z(W)YD{UI3LU0nZuUPc&P-v#b|7y(Q7)FYo}9w z1F5p{F*ea9(QHE0JiE12*Fu=Vg1q#haBafhn63WWR>YKzcB}wu4*1|@8x^8`8tz2} zyc9BHlp&$En2|Zk{Bf{=zh&_+_a~Oc(JFx|?pc;!aHJ4*$*YbjBRRL8D)jb0D zD@t46>Upf(b25x-c+AH|p-@jm!#q(N1gdmLde{#2pCu}Tv#{Pa0;JO}M(ZdD zSmf9{pTjr>`IVnRLv`xL%yOcG4dpQIh(Ckr@9z@K^&;zc3w^#|w-OiV=R=Z2t=74L zzZ&UUhcN!p!@#YUmq|PBlui?4*PDZJSo5CF9ZtOmZ6}<&ESkXewWd~Hq!$L%^%SoG z!Va?N+#<2hI?tx_MV)v z9>c!-tVIP$Rev?m4H?9N9{6_%aB$0TCSe51zKDIlYJQ16#0(Y^6nIk2_?70Q=aH*r z*XQ(SLqD3{b8(&**rKWN@5&&p-JHLrvDdw7&cbIR3g#vWd53VO2s}*+n8ewI=3&&` z{|o+?sU{p3Ax}y?QQ90aF8@57iE>sRp-!E2&y*rVP0z|fvB&fd;l4P&t|uXh)+M#- zD2(cgpf<{x1dQ}s0RAbQeiPs9qC>>gJz(wh{U!%;YebXmM|LHk0z#U)N2OGkvF@(% z@dku4dv#eAR=hf81}BtlV($j5AmYj;oh??KfXG5w!|YX39Pe_Rmcwp87FsJ_!2PH$P7x=+aS z_<|>D54B59^2GB3R=2g>J#PxDPJD0`^H_P^yXTd{50EMk!sodrl4&a^ekPs+!12fb zg-#+t%;L9tU)}z^%PH@Y&kpebZI|Gi+2<2=Ez>sGP96^|7czUd_<-Htj8O~9Mn+XIBFH!_x*J}z26ndAOX;wsuIgf4UIvXsnV{%MxY0>A$H5w04Qf*16f@FPj$kd<$|^kSn$R;}XGume4n#vF!?pNcsqBVyy^jYXFKT%ZxYAvL_; zeG|yu--?^?(X#90SG`|G(wx@ngZ@^02ozfl#mzq7o#xMXL})2B~w-g+b`ugVYUK=gx?`j$^&9_}3b_{da%L;tw?gR<3_#-%nci z8CB4KmQID9IHx4mwc5MS4{z*1)#-RQqQ0QtIrvGlx%EAY{L1#TPs#UJcuiTY4&vDI zairVA7vO>Ki2+j&Qq39cilw2-Uuh5C1@0f1&97&R20JM8=Q!LS*X35R`Ry8Vg$Z+4 zMAdQfJUyrJCS5B$JW{49oDPoK7n;Pg_xj)pwY$jN-dT{yo!9SWNHT+H+~@sejaCS@ zPIMK$x=g8V{B5Acw7MM^Np4^;6FVXk*XgA0KT6Qf)H!@7o4oe>FVWFA*`x{W;%?{wPoS$YGf*liFiAk37_^$WH#Dh<Jgb7Wh;UNuNq&ijZ1 z5YYXVmtNBysPg4g(MI-LU;%nN1C>UNNYLscje3oUzxX3XhxVNZrUkstlle23EB1*p zPF&To2_A**tN3#QaL+1SBHjX{?E=>{Iz@BKaTfnOl z@rrZ{wRC)_*B%RcJ1>x9J`H8qP^=N@TgW{Vf38UHUF@H|;e!(X+6%TEjaP3htIurr z7=O=V#|;?$tgWTwgmu4_uiZlk{{nkH@1}1UFB$&&Pag(B$SECqVZzG|Df^iv&W%9C zsbkz;ErhsLI}Wtrvpa6SAeZ$NnP2zq88m;a#*D&OhFlHTS4~qbr=aFJPepGYu0;sQ zEWVm>zK{=94pGjxe5Kki1a8|(xdf?!lt|lTo(K_bpD3DDSHGN34pMmc@~yc;we(;N zJUTJh*wB1wd2$Ss1@Ijue!3eo`UhZK^1#?a({u4RJU>*Yw$_F~O@BTUc{{G~yL>0X zj=v_3|1cs%jw#+1$J??HYV*`P4UK7|M~AZakv-aP(de59!^sMdOC0x6*rH*W2Se~+ zRgIjuE847M!bIM=JE`#lRRAYO2T%BVMbIlm&qt}kCBrQ@R4vrq6SnO?e|P`SjnjWy z;KLd*X=l^vPw7V_PR6Ma-qTlQ5V z-sfe4ApJL#A79~cst_3eGW?7%L+!%$ClrdPmqSeGEFQuofO?9w+ertdB zqNYjX(jaw`!!AzY*6PQAN#(;5X-RSagAe7d`xWjP2ySok5o}XsNbC1L44(MZH<4~y z7iMRE)XK2|zGx-+h{l<*NlaO3m`+gI{RC(RN5o_fxGdu@bDmgE9Y;+u<1W(+bY$b+ z=@G!Oa(eBK4Q8zPw^-9?Og-@vLjMz`8#r2(Q^oQBjnXl4EI;0S`WvM)x2bej|Bceg zNvQUM~8$CY6v9T*)vCFH*$$e&KFe+?8U{4fnG<<8n>M||Lwq} z_=AyF^Nb81ovi4`@y=dmdYFd^J&Xp`@dBZ`^1sLfvB_!r6*a6!S#dYsu<`vv;x%0R z1Y~B-bi4XI!B=a)k!OU6czBL$(N>z;te=s=*&U;mk7hotf_+u!U8qF#Z8IUsdT5pM z1&k)i+-<=vLGrC!PBfM48X&~yr+|bW6j*CIbc1Pp{TfpbVO6XbWllIO0Gx>PUqcl| zK3biqX{Y|{(|7Q2kySKjtzzcdr+SB(oRfPA_tp*VHtQso+(+!LgEmTL8T?-;=v?l) zP0lNx5_EP8Qm+d*zbZiz%AFLC?yKRLlNqqo`VAA~*aP$m zIIj<&IxyaJ)bWJ+>;aH_qcN*S)A1A|?ZE-sj;NsVf5dg}`+R;b|0AyB*dcC#|E)bR zi|<)yt7dt3)x0xM1HIp(5Y{Zea}2bUzl!=-D`;Zxct<%XnsZRT?(!gU^IORz7tf0p z)nGyy1%hk9Ebl+9Z5*fT3RS5vuW5SUE>eA>&3yD4e2=OIJlfioxdrpzRNVk1jF955 zOe8v_`mS(~jeJYiI(_GQ+8ACPS1)2(qFTePb-10eE~ap!NNl#`flH5w(>v)$U%_EEZj13jhp0ZCU>}ZfYB9XIkK0sv zX6wVUf{jzR_Vt{?rUwc~UA}ElrjodFaJSp1pcS5Y7Z6>6A2&?-9pBf!+zp;++h^Jl z^;)N)K0`mCH7c-PCwUmbz9ElCvC;R>rsl@PIr*tuN(r7q=>E(@QDYmv#k`>4ECzF) zl4vcu6ettyEJOj8WY#j>I2R$T3?nE9ecuYho!s`RsoxA( zeR~6%YBl$j-Z!k9NOt>88oJR>Jik7qD}l2yoPSjA9;`o-5g&f)Zc$oZ zZ!gI5xBr47j6f{Poio3Ee!BICrTJ$xu;-J?P)JMq6Y_3+FUwbkC^49)IPC%yjqLDw z?Ke~uhZ^YLD6ZA~-zcsL%0zBjMSNWiXD?Dw>2Vn$x)+iQ5S#sg`1|v(zZ~oJExEdEa|ndb!-cf-YvOYW~qSV3zbh9pDi9BrSsZ92R##qx6ro5 zKx_&yg3TC9Ri<1;PVHqG;q-=F#Wpg^S(zVPc(*N_Oqz0Oaf~SL5!4`N16C}KO=E5l zTFF(1!817d;yW>=9qksFYS9=U)#^Yv%$<>((&B^N;LgY|@y8Ndn-m+0p9O9$kkEMQ zim$g&j&f-Bmq0f2aYKz4#-4Hn+F)i$G4kWHF?_IUtDREh>PSmlE{>BGy10s-s#f9K z&QlsAD>;IA{`=?dM9!QZy#aW+cCx_rGJO>s-|y1sy|4AipE4f(b<_war6h>(w*ZC= z*>iu0EXj|rMKAbvc6xT^8 z5H1eP-?=VL)ZIWbnVtmA>w&CLenR@7c_A)iIlV@dCdlHt>f))*r%$tsMuV8;Sg&8Tj3zm z`C8UK>c93E`G1K+s7&kOxlOsa`((ylgl32g;Dw61*}w~Zxie!*Vfz@)-z*)IPu;bx z{!`*GMS-S4dYFI1!&&M?N-5-Ch)8S?Wyii6!p?GxcqbXVbg+mf ziduH>#}bsI5cpq?!b7zf4R4BfibJx4(mlcsv84n%{xXKZ8p#*vn|?&d%fuaeuiVXa zl-BPraw&fU$OD~w_j>fLfjC;5A;93`^*(M7dMfRk7ZYRbd_SXrDC_ReTm+HBRld#SYs#UrZINQpHr*^6Lae3?bM12&86#zKAlx#((>FU z%qFv5h2_Rm?AE0UtSRYQ`{?t!>eC zS!2mFp2kA1*^8U|wS!e)+52sgy(fp?BUyMU2Dw5fK}KG#Wmj^&TCd;4&xJl@@!tM~ zv=cLg*qwqGh60F3tWhD@h}T~c+!QSTB}xRRE`x5PzMTUw^soF($^2w4p8h9Rxxms8 z4|9s&kOl+I5&OJ9O+NPD9P5BcjuLOfj`!YQ*!;V~e~d$31}csb^hnvq^Oa?}kdKVG ze?X-By}*4}xMllBk~}_{=eF%Ij}Rd)%M2M;^`zGU1lG$mqr5jdq0_gxcV4_tk0p+f z`K&&~e&4y>n+do*j6kfCG&W;@Ml2{(P(7v$O^$Lj4p3B~uKqF>m+sc=N)$yRB6e@ zasAL_g)-C7SfR``Pk<;hjTKDzq4ckrrU)#&n`OS}f@qInSNyg%zQMtCA{EpkJM2@0 zQIy1W5OLV+FF%a}=;8~)@Lmm4Q5T|-$*r_l7UA_Z6gT`6RvHTTj!7tO$ z%5c<)ZIDx(QBQW(^__5LFQuVt6FqR*gKn5mmzT+&I%%E1PN?*)u`pe^bUl&Y+dBKd z{*JWSal`ca+ad@_O!bn4#2&@Og_Yp#NQMN<9kL{UwC;OvrZNT^qYhy-x#Ceg_fPm+ZB^ z+t~`&Xg|S`-AbK97m9kwGuot|Gjet)P2o@u`Qf$8ffGxQM9-$>OX zr6G*1`9n12Xq%1o?JWzGn`JmB-y&QJ`QYK789Og4Nb%1z%Ae4G#$LUMmjq}7baZz0 z*+@ZW_eg559oVXUz*^%QaBg(g=@1*14vVJ4u~Onqs!sm9o)h$=0CaL+b??Z<{qj$< z8RJq$&5s`r-C{dP!0>nq&?8*d|Ce|5m3Lh)%ha`D=ZGPj&2Ng5iO(t`CO@mD#8t`N zg2r?f&P_F9KOU{qsj(NLd2C$oa( z3w30GyLvY(=P$LF9qK%xgr&s=b{lgqxSeO~@y$s&6&P>|{L{I$$NE6VK4|H4MkFAP( zy&E{tl}L!ks{6Fc7X9}KU8&ARqG*9>W*yh+?Web=oAyBarpFHz+cgS@90TgRElaS- zRIPU;bCs<++Ii;3BW1HD+9{O)5d-Bw^zO`e2#6_@lmm5CD$!}b2KBTKut~#0kyKZ{ zER@k>h5@R^i${lonfSuM|XiXx`Nu2tv^+nK!6zFI5vw#uk+ho7V! zS2XBG9=kzee)C_pZr3I{0q*8Gj=!cKLmH>@@C}<@?^r~}MDWNIlyoSaEz!(*VyS?? zONh6Zjw0s(<2B3WaN2Y&g~#Kq_@lga&-t5mAH0CJ`ZSM<&75iE#j2l>LDNYttZLRp z*TUmr6>(s5k5PDBzIShWCPw0Toc@rry6C;+q-zxTQ)18RYBo%Qw+d~MDpjN_+g&hr zcK?I@%OB{qbJHiQkBb1x2fxN^y(^emxfAO1b)S0cg{iLfo7H)%drKtQ?f3-HWc9IgJP~eZ>J-px5(^jFo|3q1 z7FS))HoKj6T)miD;+o;?IPvk#ti4%k&?)q z)a$dsn=_zit_hd)YFl?-m$5y)wt&eoP+8E#z)sk)t4+1X5%J(({!jMFiKfAVACjfd z?{1a9*#iOGBylu(s0}#ZZT76)yOVP!I}<)eXx4mOHk06QZhNR=5z0Ak|3cll=J(+2 z4)s3(`#lD_U(g1IBX#Gu1lgSOjXU(cziFIYSVcRqAt`qkZqy#ItlVZV*MT~w*4=ld z?OP>m#aEQZE+zMXE6?@z2Roa4M0CyF^$e+{Pkk;`(06>93e|VJFU)StqLUg!;S%_?jr`0o2G}mXSR|x`S1lfWVNeIr(ic9lCMEc zsM?~#%ZrV9@3!FS;+D<Q)b^7~CsS9H4MlN#kpqe_dSpf0x zn(t?@8rFxg?A4ay)fU5QZ@6%k-RP-n4l-|%)iNg( z&97Wv6|+FUR%>-dmbi^a%%~+1@1M)rg+6T1pE>qT<{1rVKjvu6UnGpLbP0~7^S=~ct1vS7!}G9sto|N!Stj<7g=#(4sWJ9* zoqfeNpp8^{xSQ&amFnW=ptkal!7mjTH$F69OlYS7cZLV;H0rvf*{3ai*m=t8{6bLi zY!f@3n;PwaPiYH_eSMz&qX;VrBfk}ISA?vIT?drN4p3PDo-I&6j+J)P=zMEBVpkof z7uCG<^=oGDzJxik#awQ)kCOQ?`*zz!x+%HuowHDM3+i3CBeW(fbK@qIf_P7lB*-Ej0Dh*yYZHnmM>MWnV4QyX>vlV%y7&NoxZfPeH z3yl(1sZRP>w)AsAK@hAzQ$BrU$^SHxwE7@U;^fiO(EN*^$9=seY=({8MDZ!f;`X+^QkZl>{w8M?}SoDK9*QOrA^@y0N&IW(#t@?$r>n%2^|A2uy zeB|e2qi#o*_jv>$@>0J)^3V`@B`_hK{(+;#Lq+|tZ4PTo_*HK6YN6GBOfIv^m&5b3 zScBaI%&4w^*!Zjh%ZCRoqWBQnR$6{9%B0>zg=zqW2f$=qlun=u!qRc9&DH)lf<6LL zAtb3Y14_goLpL6KvP5}1qmV*-rtJeVfYsHHK)q^}fn0-)@LL~b*l(`%mD+rG34SYW zSvtp^bu4nf!Z_On=s_F*de$!`C&C3-JvuuqR5W-L^3CU2P}qvr62~H?n8!#^vbLf* zONnD5q-?H5So7q}ppNn?8Hc+%Zn59a1*lK&iQdGqJELZLf)@K7RxV-8VcQswznz?< znbzj50$ynmwxkR9wK1gLJ~(okY7tg-aE;`5jCi9MSGj4PZLK87r>C$rlCQ(h;g#1X z760+0%CH3m0K#7D0*t9}LmEC;QAYVEQ%(ZXgb`Lp2Wt=UX^0=3J&R=haJNFhr5og9t&;L#T0yH?@5@~>k(vqCe~F2FE-%H@kKM~)xg^Tk+iIX8*U`Qv$6oj8fT z@xNLV9fiHC!bG#z2YPKEP}y4CkCCvR6uuRH>qegy+dHyvX4|V4bGGa!noQ>VPU-db zL5?R=_`(|g0tC}U13FvflMo93Ku#q{D=sg|e@yTyWh2W}bO@GH2>E>=PwfdfH1xP< z(v4Jb^Ps7(o3Y(XEti@%htu!Cqn$n*=H9djLph0KT)zucG1h6Z0_0LU7?~5S(`Ka* z75`Aug+X}b{Lhv}2~p3YMYtV2-ZvZhg?aAH?Z6>I?Tt;Uw*G76&>5X65su+S?2EJ< za3jjK7eW)D5uzezlUl3{O z7ILR=r=uv@2L>~*eveC>hB8pqP z`;rILY5lyc_q9TG1B0{NFNGQbs7p0;+Z8B!WcPDOfrOn&h45WpV_BlYS4i& zmJs=HhVtUm*b1|>g%)AdYyzuQBGD_=o?H+eCcc(3v}FoU$oTRT`J-GaLY2~W*OR=% zoZHakabNWBo-O^mXAuoDsI5M2f~cwC@1TriWc;qpbjy11hUwAahj(7uMAP>vMND|`)vXT?QP+TKl|I&h`NmU{j;!U6YrvC$=8SZd%JhUR-Kw;))`**qmWBD7e#N&4 zlKS_$QXV5z_w8C9EV>rlB`-f}Lz1<$V@KUeQ>75UZ8|tCRrKrn9&V~k;jUg{Tg$)4 zQuo$&bw8H0I~e96s?7~YO=^^}Ql)L3mAPv*7PF_VlM4OGDs4>| zJ9KQtViFKp)?e?&at%0iJgovz8C!Ci#dPS7OV>ZqMhK!vouqL);12po0h_jsiR}!L zbTZ{-<=4u!2Ul-;kDw^BgzJ`ATQPaQQY-h{5j$|Lm{8jyH@=5DEgxsRi+8ac8t3Rv zwvFriL{2k@LU*NbkkXOY5O? z{wTC)>)B@NcIL% z3TL@}^rQNlM$6RLQ8PoDo6E*lQ7m!WXwz`;D~PMMvY`5yY#3nq4m>Pbej$JS6f^=G z+~FSmFr&Erhe{-^IZV>PB;Cb3Zs$+sd_#vOui42>5gy>n4V5qYAd=kHfr?kB?+Q2w&>`TQCZ4&LLt{j!s5 zs_+Xh$>>H~ChW=Pdz|nFxLU`F?lMmqjcxm_?df&Gir()mO_W* zCZ9mt)$=yvkk~A{)WI~X;eH|Vt1>4SFgHu9)T01qi=n(ldF$lpY&%i-eh||W?n6SWldL3Vyc*SyBKm%nxAKj_=L?ph-{TEE%4;tlujMp0~>*RTiKMSNu zM>5#wC4C4CX5x(0)Xo|`C#EAWFl^D{FC$R?to}+_-HZEi;f`U-Kpl!?s5L|5ez1%pWLm%?+3+ek8`Rfi1fF+zxl`*r(>NqIE} zdNGZP!$gZpXWFdDhrk{?7>e4c2OT3Z#!89mN+@yFi!7V!!`poJL-!}iDCz#E?pf@V zxCaK|BXP{Lj3N7<6>IDY>8JrlKU4uw>lVOv@HZMnE>0l#tCkJ)oh}5s^u`Q^VJ#-y zG!treW+J9x>7c@`9P7c_83pd@Afs<}-q0-kV)-HFm+mG}+FB4V(e#}&EqzGImeVk$ zTxCd6ofpM8rPcNORvl&+;pE<@Bbi*=XQ=Adb880<};X> z&g*-LLhBFh*krPz9RO|7G;VY6X}__~=u(3os>tK5yv%7qkZqmZoJn&kq#JiwwnT%9 zOhuc{v3MD}M#V9^)+QJ878R?nws;~7wE4N13kP&`x;BF#J)61DC8Cl0SRa=G6Ww3K zwul#|$5R7|T0}SXKouXDRhKT4Jy#`R1f%st-c2^nv#Ds2HWrk~Re3^W z=mn=Mmw|Kr+yFj!V2QM~lxZvZRTtvQhYB!A!SW9a=4jW(IU8|48_$=0MrCXR^20e= zD~lBAJLvGhSUYF2$;36BIypBn3mBRwBDS+>{@v?`M*U1)Y-GOW(Yeq%>uI>XcE^~u zy7TI~bDE#8X4ec0Kp@V>?wtLA1=cuN$iW9ruvTK8pSHz$Ci>Z7_WPpbmUEMa@vef) z)m*n5lwhZpHsZ4pbA6z7RgRAXM}?y0Rz=k;+p&s}T+F;C$3m#&PKZKv{>-#ehX!+X zDgzTNLq7H19KATX=4#tcWv!9e(}b=1MWE~GA-sdFF4p z^T0VzCk!W&j#1jn*1(_3{X*NY-gjViyt(BT+TN=O7C(FECbK$7(MV|YeE2vm%O$;h zi=(xS48*4e&yG2pC*310d^UbJI`t)8vlbc>r%#T$8ExXgBA;rhu}>Z3!~DkvI5;%%ee?bc z*_63qD+bNiUuvPWDm}akN3Cdf>@)ybB|4*gB1T*0+7_mZm!fL1{6aK~Qn>T9D_tW- zzn26AyvZB{c1VjqzxmDjJh4mY*)rxIH;&q4o2%9mZA!C0X)XD8NWA20srg88s9ROI zDFX)^!{+bC=k11jjx#ly9Q<~~gsthS;n6v69nOZjP^m{{;&z94@@}z{(}qJ| znu$rk^OE>LdSaYksg9aakauKcWnl@m-FMcOZG;B@q_{@O7JG-?iS;?tX=AyXs+Zjc zb8mCT=nO->MsBUACb?##1oT&LoIL{Fm_(bcbSKka2fhbPG&AWi4^@QCE7YmB{`u@` zy3Ng;k|efyx?1O-x=X%f>@g;9Y{qq$U;q38*FD;I(PsWi)K{;MrG7`0B@G3tSM|pB zFXrg4=DesRcfO39dFw6*%l^>o2|i=!&mM}nClTIK^m<8f=b#pH z-gx;-?ASuwdsQcsI8}B=|KfWGaT>oC&KQ+yg?Y&BwY=EV@CN_Xru4=Co`TN&u(0LE zhk+C5SoS#O>W32whtUe@hn$&K%MdPLvp}ntk7nNzQ0YGEqW(*R=+B?ikJp3XZXidn~N^_inWDu zugr=q)g0B8i>^Xdr`npJF_(;-!0t~o)As;>8%C{XnruHPVx)f&63K;pp|B}xOd_n2 zW~6XkPn`RR6Je6m?MqH@Km)MJzm*N#c(iqlD{@_$jkO93eMa@OqB><~+3hPeMv(?l zZJ)!UJdB2m;)2(gJzWcN z85#Ecx?o2;6B19N4ld;(#leHN{l%|); zhW3v=k7u1ln2vA%j$(20?wV=mU(l)LlJ zbPKS zna0681gXFBwU+1lE4(7L&fCa$vw#e!CtW`m496| zQZvIUd22FJ0i{(^BArKz9NHqkQ}pXVkx=OhZHa!$ zQ?2MvUg0?Fwp#J~c^*DjDnBwR3~P03cWvq6Gdis)EDZEu^PDd)yR=W0m-jtso2J+2 z$vvvRJv8|m!NWbHsJl`t2fgP%G~N9$XCy4}5TXeT3?s_1EN5?gp&D5B!D=`&UAm1G zik-HP`bLxhM!HrT-JryAhXno3{m)$eS$xeEp8w;FSES>h7=b1ar~CGC8}X?O%VG8n z+-~Q{7v|08K?88IT!nfQ3m}7qoPof=sfPz<-35O|39H;z!e5l|R*8-Ii;@EXWx!rT z)^E3&KcX=lX(u=UxM+vuk5H%9ijwuIhkCHU?TzhOJ$wSPn%Z$VcvbJ%Z_L$2lVf)k zS25sy?-U^G^wN|*yGb(ud3|{c!GOn%XFl%FId#%?aq#~V2)w!=?_QJ$3qZKtKjMjW zHwzt9N0m{Ij;mf*Oo>^E-a;PdU^c#PN`XsNJ)Su}hXbUxTx*`4ons64jpyZkEe1-yjN&izj$0-!!F$b zg5A@+R{|y?X^9Q~ct_i+uL4a?0)0i-E<0T?oqmg70K}0JwsLVMY!Y+Y591>kWu#yo zt61>O?+KFSy8)*N5h1Rscyy;~y9Lynb@?YseNe{ep(QF zXoDSjy~4D9hG{VFDkVg($--B{TI zdsF$Z4LPd?X40j|@iwa73oGAET2VQu$t4e~eSB8D&G*)T8!?hg@jT5GZ9 zpH!MnjqkKu^YV`|uk%~i06ULML&~ts3uf&tF~ z*o713^Kvhy@&C+6Rbeir;iR&q>2`{u#xYh+7d$Z zhHhUuNZdb#q&jRUk#(70eYs9rh9;Q!c6)fIap{0fm|+1(-^<-n<;8Xgeh!^+{=&5` z|0C*`s?LxfGc9TvN6opy%g9RswnRB?&uhnP=@2kr-9A*e zm~D1E?sMeWvvn@Np)v78@lhp}PF)S`Q^xv)fH%5~b+T87Maykei++4-427M!vNqQ5 zcU4i{)hOpAPo&4|eoH4z)CVO{W!5FKbNUfRoHo%kLrl@9wdzb&XjjO% z2a3hwMZ21S#b3WC70=S8v%Y?1@B5)=4GiA9VMu$FWW9fW0N|QBivnZ?#9l70I&j)) zxyh0A&l7g~lsvJ|#wlD+BTj3>wV1)&uJaGzb0sn@4S~*IUBF@o5j!*yG;wc{IP4!z>ff-I!3M zqEqiyJc_=~;#6Im&y|m0Vx+K$I6LNWwIQ)`jOLZA{8J=Dup6sx{5I{)QjO5jp}d1a z2r0u7Cym}xjE}trj)0zaRe7WB*JX-E`n z#P0U<9Hv6XN#Ykx;|UyO|FyHt;dt!l*2LsfMl;@}E;?U=RVu`J_S=05@D7g%LZTVGvWN#l{7P!+ z_&zR%x1-$D4K+Xh6Igl{AV?zp|W3nAMgU z^th*l-lb%wshQ2!ms>D6P>(dtZT!KO;Q{F5&*nO!C~-wmg6Igs@8N{CcJltot^~c7 z{xTCF2OMwJgRV=3BN}bv^sF9L;#TTJ2b@&5N=UaFNx?^QfNv!~{uptGaOq3!Byk3?) z;WE=!DFwFpr;;$&Jltj^`lUQ9+0>)D=iNFU4<3@7VifGq&E{H=V%GXMmV;BuNmm)# z%$!rnxsjOco>Cz_rx=!coZ%AJu4iI2p$39*x%7$Q2dkJV0*QPG#_>+ixRpZf7G8owroj_TIk zd!C>B$#LHUNl9=PEDPEED)S4u&F3DY%&L+!N3|VXqCcS|Dxoli-g{V%Uuuw)Nnp@B zR`Ncb9)r|1q<$@rK2(u-=T;t0sIZ<9R@%ku%|uyW71ZL2s|f>f+XbAxjfub>{vc_d zyO`~&u@;Entbu+Z%jEDVXOUx;EdFinV;`M1q5fp-=46zkRUwnJ9HO05?E6?yxA=`3 zDh>;XRXX>}#ODJqUn%E@?~s1H0PQ}kLB^~pqb7k_lFE>_#plQ zE}c$t3qg~?!EqOX3sN1TT36+$W*?PUEQCU<*x;^t{odTNmQkqJ`L0yiJ1wN3GdfIn zr%S}uuFrh0KuO`quXN%(*fzO%uH*0TL)Z?|r6qVeZZADYALm>T3K^cOsZ2NtzS>T% zC`3pxEyYwo6R2F9H30LSN;1C4}VHUmdS-ouhqFXRFX+wzigCDg+I3CpW0CBzPQp1af8tx%nqf_Wa3*TGXq{mVOZd9N3=jvCv}2FxzzT!*jx zkdNnfrrZFRxsFG6&2>wuFW~wX_DbmKGEQt-$Qr$?mGz2GM99|3!lZdSu4XAHBxLHs z6)0=rbrk^hqNr@zI#ID({ZpKlEPIr!6s(Ns7IF&8lijL#xBeLS`XWA0Ag0*7jRCmbH|zS$cvMS)$Fy-mcP1eC%SWt+QXEbB}9I{ z{D4UxN^4ml0|YIAqvX70PIjZfamZ6?j}Zb%rbGk%`?bq4@JT}UwsDdkiYo@;yNnBT z-P17fZb>?~%ekN(|H6^#`~0kMU|&nKpO#jsJJp+>%nHw% zXT@)=rUJjQqv>u6u5TP%Mp>LP?QKs$4gmZ_3}F9+iw%IE+){chO})#-2IJ981#vzN zu+nc6^{$m6#-WAHQHUOSIoxZXrO+3^iL-d5Rr1@gr$<=LLX)dJ-R+M*h_p(*&SYyc z$Wcw~2N0)4un~vMNbzYvQ zm3f{ax2m)L!)`b>{9sGm(*W_MWzQ*L6sb+w>S~k}L=<`r9D+_xs^h);9zaO9*@G&?fn!AwHxZ+Uc}$z z+GHi*X31e2s+to%a2(`fs_WzLC4F!23gE6fJ{t_T?i(`btPJ zB0_X-729emLe+qPH~vO#d&)|A{Gj;Y0Db~^KUaMx_cAG!w93Rm7KOj-L+6^%*y>+>x6LArw=(%9>&>k*CR(bMalm6IMpv6? zVv%rid4TqVE0J~E!{r>kHCvJtUKfS8v4T5N-7G3Rd86`kV}gsy3(XSeWs4n&--J1^ z#GHEoMdlFnd3lTFrxL4N-Q0Dx1IlWT`3<%eE9H0i{cSrwlKo9G11Ru1Bw%U(R9*@r z25W^EPny5j5B5V01uDd7e%m~GpwH1)`FB$HBhzz8u_DO&b&GkFlBmC$y8WJ?>jAxI z6j`Vvio7M!F^9IIW6p0z#{Y6?l4hCQLW^mn!8SNPf!Gkztq9>CEz@fe)evcA)<1XH zdz|0&jYmSg4uBn&V%?;kw~ zrDpR3f2wjG5dK>YDQk8xCsC9VZea27h^#gqYZftingyW`jx0V!`pYFT4G1&*|}k ze#Rz&2~Y7+cdALSvWd^N5m48}_r@-j7~6Luv4*h7%^P_)M#>fH=Rm<)Rhg7S3gXCo zeZ<91@q32zSAclR0lfq#z75-KJPUv_qYJBRDu((gka%&W~A+l;Gqw|6d_hY-y$8YKj3arR`7g_4W;Sv_q*Lb zz2$a+EOsq4awwtm?Ci|8K?m@Oo_VUnR${kArV^yum*PB;_5oEsgi88gR+>@{|Nh=$ zUz11CGwS5cXOp_h&wmXnf++Y%g>JD0ZkbWMCu`0I2F=e%-=n$yo37yugz78IJzqDr zz=rTS?vZ5e{POLGqD6%cGB13iQk4UfVHJ7F!^m4($$#MCWPqk+DZ|NvhcPvyCTc@s zjk-Uy0@?9@^~>_%6NxPBA@oE-!m(zh{5hmAO;^4W`u4-7vkpVjwEJZo7n##ukavXoI`< zy3A_b#UEftR@sFhjC`)D56Mmc<`4wIm(=wU;*mx5$d0wDAGcez_XPg0X*fD$k|j_6 z=a&A&CZerT*~5gzoRQ|EGU%naqZtWOFnH)6NfLi2;U!6WVs)C20CJH}F`o@L;bKqe z+4wWdWF21_h_Gc+CrN?XEq})53DG?_M9R0el z7ro-irSz8kT@2UP*HEs^=QVoK*S%WpXb}pIKdnhep*mMmSiV}yPFB%^P^FSOH`c0c z>>TGG4a>Vm^^Z#vzm>;Nib?k4g$+9zt&LO+up;hSBF6x`Pb3`sMVS=rL$bPu@yd8$ zJ=u6mzt~zip?1oqBRxzzUGlC>0eBH8;ft>fLS(IsP^+Ncaw8$NCR!iB4wh6g%6_`P z(NEZBJef16MDLH@xKvS4e3RlDTL7F-jjb#s;(tp%Wim8E+Pf_}t7iTxNR+{{gDtz< zww@@rMYG@9!;|Y+5&p?Tw9O{$PV~>nKZ!(o0EFpl(R4~~6!+h97PbA^EfhptQq=h4 zM-nY6oi^~8Imho8WK6uwe`|k+hj9$sIV{MJC%AhaL+$8umJ)+D=ySee1BZB-#j1Y9 zD}Nu@mM5_jbYEl}v-MbYNBKrSURWfKN9+JSZR9HSRsotHgWAGsGC1r747v4wJx*zP zx`xBNPJxR{b`NjtZaBJo{tbJ&cKiHNQS0U>Wj;E6U;f(h_!7vNz^Qt3c4Vd`d;sR| z*=>kl3x%23sI2I7wmdvd&e7B}Z>w~hCOlnn}q;97Y;NE{sx9Aus?Jf9OBXAX4 zU~T*rVnL$vAt#bVY@Ig9O|^|$4hAv%NYeugB)m9af40-yCo;_>St zUK)>&clTsWFJM*k6g)_?imFMKEbd=dpKW_fo>1lGq1l#^@5ANE6%k%m%#atJ!Ac;daxzcCm$&e}a{pi#>q&k&U4{ez^be8P~tZ^BMFx7w&h7 zZN74xMo-Xwx)Jj$WOZ|7t(nq+?KM@9bJVB-M;(od{kf&V)b(X*WQy0kNmSQm_@+ly zpBwb8g6l!&N@u!BslvB-LQ28sLXPwdHL(gUBJo2IYd=Sh+9NOg(XjJHZ~AWtZc`*~vk7KtfIfA8r;wq(%hpu3^RwooyVql=keC)Tg`p0M zHS+=aTPAz(f)O{iYH^O%G!4S&QJ&dsZ<6CNK?1()ZR7S_zUwiqzjhJX^rLTu3i>LvBj{50l1c z$o>&AUCrHx&v)%)Bzm}~ako&}1FiPi*?Ls8OI}j~_2LC8;%yc1+pihJ_4d0-E`Z0( zEE?X|dTTaCAN3NJJqzVaeZ;yPAnGmj^RK015D<^Ah0$*oUNd7gZT~Q1!AZVuFQ3bG z>N@v4d;n@TUj^t`By)Huiq-r{_K@Yoy5i5>`47Z)0rXN^zJfS>jF#2^=^sYI9@4HZ zvC~Uip;@r*in{8aobjX#E^zl62xT0>b8`P#_&~{_s{B#E&giHq0Pft3Vy2#VaD61D zcI-+85?%aa6+pO2G)&%V6Jd*K(Nk)q1bqWd&{`4S1`95J${BnW zPh)7mO@`a`tcfi?{2wmT+AQZ1cmTn#7ys_Q#-&49h`l4nKU8c|7A1l^dXR03>=%|F z@3XVtj7ZeMyi;2hN22glq#3T|mk&rHS=D^g0&d{>n`PUyh=LlRoH z9NXjCoA^r;_L8Ffi6oJpq~eoycbPF5ars8lnCXN(9^vAa{o z)mS327F(C?pfvWB{VcO|-dOyzzTp2xfuKUxGM9W)?oH;#d>U36Hl8SPHlx1mnzR_! zu+9`AksHl4<@p%kfV}1oe%r!tsSW4Z_glbv?yGF?yY4%}M$a?!f;@+F4D@@gJw(~g zRsCU9UDG=!~oHGd1P*Nm5?lnT!%-rT)J`wD$eX)F)lb=p--20gQ0ADF9jL^hIv5UQ}e>P8AOYK3Uwv#Cg6 z61UM51!EB+$Yeb@bF*wHRmH;bv20j|L1h^l-#skmJ_#O=Os7sjHA&}E-!!% z84%qk;5PS0yoGF8eQ?-k`{9sfoRhNzcbHwb<37Z z-DDZNhc7`plsA_6yUz{i2jn$>zBHA766JgZ3l z9FO~65=`#ZXVF{E=39O&Y(%nQDA)5G1#m1v_m)-dyNWY4id5MLJ@@%7MY}-`Wi(zo zw=c{F%V|SU&D=ByrqgY15^;c*u@uDtv%5}ISP>{%nxc67$#Lqt+`z4ZoyQN{rEC$oZi*l)afTI>kv7YSVp7-Oa&(O5=XdM+UWo1E9^@5UJN z77AqXFWRP(RE!Tk{yV>p{{kvzFf^c zZw+e@L}^;jnp_SN&GOtW7$XimBB9j*A&hXV4^vaENIHPCZSKz_z@O^L23M-e_-{EF zvuF@Br+p-iOh@w>r0q)S#WOfUoni!C+Eh7u6!+XA-#E~9?o9Uq&K=uEY#y-ip?^#X zTiL%xxK=Hfb$pR&JR1O&Yn!2k05gCTBwg~Xi8QBQ=xyq=M}TqVcd}2PbuR;ph3t+33zst{2F0iAK=_}X4&evOxX$SPqAx}}*U`%?L!mBITWp|r*8)j-bugRie z%D+X_!No3=EM#yFHl(r}vU6btc3uz0CZm({d_u13a5L_1vQpn*bIo+KsTa+-Lsa0w z;9?H6tx$I12!~c1x4wKaXYC{M*j!akUT#LX)g?ELOk7M?xpKICU!7LssvH*BqT{pM ztYuhGhi+Ffb;Pj>9iYzr7tpl}$M)x4gHpEZ6K1X4(x+6ofP-(ce9(kqED&q>0w*Dc zE}mDp*nPC1lIMKnx!sD31c_HJY&BM*CzALH}!@so0k{)bUXZ0GR5`7 zayT3sB&!~BxBZu&SL)UEM6$^>cn#E0-nIq>SoFKA>BhOp5AuzZBu~aj(CifR+ znJ|AEl9hKA(UM0cB`EtmZ_B4BR`qbex;iMLI5{AV&w^8I_2TvJGTk?f;DXg=ON+9~ zBdloSr`Gt>03;S$VJ~(h`%Oq_<5BFu4~C%4oT@l$dNk1cc984}P5c50?!2JXr)yNZ z&-GnOw;R7isT8L5hqTd z-NetD78)DhzI1neyi0(XrQzA*jr7FE!zGQP5(}(!c_6t`&?Bdn8MKR&5ux0B3zUeo z%_HmX&r1A~?0l?rrFR=t0O@)$CGC-8PkRDw2U6a3geFSrU}GcB)8hix3JV_dfv;K^ zw`P9vyk;{hHZrchB`rH;XbAL~BYjx-JztF{bg_uVf8)mkn{NaiJQ@rrpwoF%oJtqx zc?pcPGON(h-Ks4>X#ZenCo613+qd}r*q}ZxI^eQHep0g-q)Bgq9kD{nO=lVA9uHnl z70;m$^s#T!V=liu>`w2T$myOTF7w=Lg)RFm8Wo?m$w{ssFs><@`!l%*>%~x|E(-Hv z1hT^RI)DB(02nIyranRlJ5=6Tr-Yhyu|3I#&n8pUwE~8B-@TISn>&R?fiPGy#MiAf zbLC#Gv?EPH!Ib|DTh8w23E{IIs=Pv1}dYr|FCFGg1THc-OgE?CcG zP&}{hWPxV8SzfT6nMipxl?Mr*J3lmV4I*x{8V_Fl;zL(gh3LUat z1~3H=#&hQm?KZWAJSEz)yWB|(z@YgZNh3xH#_WKUsZ z(s=hgAnmQ_9@aXxgrGCN0}{g9|n- zzJU)etYw0)@4!m}#B%*yo%-74iIyk zn-BqjOhh@f72^PfqVU@ytv|UcVc5VEKQ;>e*~j=7D(_C1UtQInw8ex=Ev@EgUp0?h z!KF$KOb|7nq9{I^s`?&616TMo^s@NYES#vql%-f%ezvEg;ed+my`8zJ3-qql_k~Rc zV;1&kG= z;aL}#!1{%>@;QgC&J&A*3zrw(0adUpv&ViHr`V?no2kp#g*{Ug0I`e9nMt`=(Cdb=5f86cZ-3*2KDtz zi!Yjo8-W$;-*$)SETz!tOz>O!Ha`o6ebctP~5?<8J51MwV* z^86Wz{Oad|t5_D4t}hmh!C@A>D=!MVN`ps6w7-pHW$k9>`g^)IV$GG8+0MLWElk3_ z$}#JtLJgm|eCr&HmEH{Iq|T&XI)7|^7pfo3*MBz2I6tZB5feN=Lg7O$?M+ZNyt~qQgXM6|H13Y#HsQp+9{#mY2|J+pUH|%ZFxoV) zeyMWE-L|+^uoB@vO(7lMMcQigc@!y}fVrpsd~= z0J)1m?4|YYI1+S0>9h62%bQN>*v!z!K?;bX(Q1i?L*7*^8_6pRS|(WNkUi73b1Jic zQVO38bvP6u9s3yVmgiF8J&%8Qwf|r+mnY|%4Fb5=o#%$UK$L7vEbM060-W7s^Xlr> zUe1T|ZX=EI%1;QhN+OxTlPGzU^EB#dy5;vw$gseuzui~p+zbC_xoi1^5s9ks@|KZq zZ@G!3V<84q>;cBOqdx)n1cszU?4V*VI7u2CRjy9H9oCs_xEDa_bO8sX*=Ivl`nyoR z`CSe*`d!1ulI7{vC^1BEfWKNlZ0qa;4wfgrYM49Up%sGKuxISjRekqbyy9KONin7C zv*B;@?WNrJesHe8v3x3d5l?$L5UtW3_ zJ_*9t73z~Lmr}lm6?ZNZtsy2zUigatyhsp9Id@)ZXx0{F1APSSJ|;qsmJs~i8wxrAllIIbZMCKG&&{+v8W{fbGuGOvEz9=+_V$;~owbm_o$DOefo1^n*GwSTIL^Foy z3S$QPi)fyTbDWOrX!CI352<;tcVxU45M3-g4uabHN{qXi^I~Gq8B?9+Sts09YHiHN zLdE({JvaT!Y)lfFol4?rMrp+RJW-ZAn7NDA9m{KI;W+ag|35eu-Jvp@};aq+F6b$FZs8_en=w}aF&)I(t zDV@YC4)x#yg|YLWII@pFPjOu!)iDp^Q%I=Ro2U@1_?SHR@XCs8TJx?*>Q58HPk-%H zr3L?H_ne9Waq|Lzah`SGN^j@h{zLnEmG;2t;^RX{<&E2~p^Sh{gM*Ql_iC4`U*!V& z9>1{QynNphbe_Zmsfmc# zjZ8-&j@Nhn3Mxet^@^LnF8!d)Ubt=Rs%WHy4X$W%<-F*l3iZc8;(>~Q|38}o@X}@T zb(UMk#r(v)0`VWs8{kv7kv=+lKJ)0y;eyKsrfs3)2q*{uT%}#@xWXphO1AEN3{jYt z`|>lVvgzW*oTvm&N1%AW?R57dxZDC#>2f)bcX~R<*I(}jWIw(&*^!_0yl;YJI7{AI zL|wpwG4=Cp0V`&lwd@8LEj3`l!qPBihOhF4MiP#pNqx@aLO7l z-+?{X=hFpy?GCvJ3a1_LO!)QfS>1_X7bSp~5gjL}qd&uysQ;^hV@#-q`0NMX{w6f3 zmM6V(iVBa84lF`=Sa^X~PcmKf#}LwZivq-dEeh!U*1DUX?+-5yPe^ZNJor@2&V3#@ ze8rEsFXZuw24t_{yhDrkC@}l4M?vhtnu4;lIj0M3pcM3F8uh?NbCwpP=MK9gxGt>K zF28vvclX}H+SEE}@!g3bS*B$JP11>_gXS>I^Xyy*u#3|yPj<+?KRZVaV#5p-5&l|N z>S4&TTEIheYj5Sx z2my>v<}V$+&t^bwAL12AaVbtn?~M>S=00tbv2tj%Z8`1(V$QRXsaPplKupwx79DGu zoihh#ReZt3_QEO~FaLOZI7LW}q-9d{mIlymXlC%85ydlR*!bu;WNdx>ru0V9yHA78 z9!0s+ePN>%TVpMTG0A3#dK9J@CRA>9t6p%zw>-iwq=G$?jXj#2nET$wg1kqD4nx^WEH}-KQa+1PQmsgU6#R5TTnc~Z1=wDX zWcHRlJ3AxCw_AXz)yK%W^4e8XCB^ROtDg2yl|CbEMB?@<=aYVf)Vr3oAk8TNjDg-KR7An41vK4}J=YEcG$!4hOi@0v)z@8s5 z71f}L(d4ey%x@Xyn3gl~1Cv0e(j-A~%FegPp5=b-#b4Ne@}Su{|K>rnb8>4AK3DKA zjRhv)9rNd}{2AKD%E&{Cb_ScIiy?k%=laOghfpy_6k*h&c+RiTWck+`vm+dh*}NWL z!@4iTs7d!YE~s)gThX>^_W@ocXRduy(Y*YTN2%bO>=LJqi6wJk#R#b*b^E)Dx82~= zZ6NS9V-`xcTC2;ydPqD37Q{WGW(H=-Hxp4i|C7n_p$8i%aFf7({~!N?Q{V3ZM-M;I z_pu)_$K>fGOR6c^cWln2w3ezL)P%clet<7Eip-=Ec6Yxo_n|IT*Rk7st@Mv zAm)Jt^RhPyDtGy7b_bzmq_t=ea9>%xO5SzwL7ZLU;xl7n+LC3YD38~w{t1Knan%z! z1y8K52re9sI`)%&R5mS3^QN?Qri|-HCqj2wA#9pHVi|<@7#BQBvzKlDfIOu}*gK>w zR!isIXJYT3pwiR|-vw|DscJrGH29X(rz;3a`*L6HMu_+0oHxkRSqsHO?S0PfgGN3C zyCn)yMGp4AEz0PN=%&&y3=h)fl2f+HS7K1MQt5hV(B&(erb@GwiU}NeZV`h*dT11K z@v1W9>LJ&yD7c5n*&55`x#h`CLCu>@wCSE0P(a&F5=R+I^xZ-$P`n0e!$b=;V>I$9rRVUM)I1er2V^Jt?fJ4Vu8jZg z#@i$K8459CH9Xn;d1~5E)ZY93nJ6rEevg3 zKpH7USXePeb^jE$(=ssZnsy(K|1y^RV*;Cf?Oc#^tMJR0$RxMIpKD6r`-o1X*=doz zr_!KbEXCW}F1&9*$s*{h`L&Fm2E1>?RFE@cMLaR`%`%dr{ye zwcJ)pLw4)bqCMap=ILrR+*#RD{+~>m>Q+tZ z9Bu#UZ0)xZ1?cZPeGezilCl;kIw^6y>cCE0^2PtDSc)j}s_7@kM6R)!AdCYAv=d{F zph?537znMBvSv&c-ZF*f=RacQTt41wW!ffh#N~~dG8fD+R-0+0lw$CkWgOd85;E(# z%`G7oY2f0}wTp&t^S`beyl!5k`JrItd)E1(%tj@JRxP*3(w!&>b$$sYyglZG)DH8U zE8`W>e|Vv>|L{VF?Dry)oJ%f?=)9gQytPo5p13bpKguOrVG)K)S?6J^nX$h{>hL{l zklf#K1bWdPJ|_dKrg@}QVsvoZdY>mYh357vh|&Cux)i5qyZ&PqoQ}$rw_{o|+wX1z|s(Y|L zLBi9BI5JMzB5nFNV7#{LCIqfl2;A=@8Rxyxfs#A0IGJqDdFT=u;X}=@_<6G6?pV?Y z@CU7{&V;tmYZCU|w2=lC7{dJChM=DmO~ICRo4oB-3iqM0YF7^1Y}prMqG1i*mu05| zZwC5==7$3D=Xw)@Laby%)3!M|BdOYl3{9-ryO&p=ZnFvqhHATHup@W29S41-{!xmg zBpioyQ$K%8rK+F?w(i#f9lrT<6C~4{lVYSuMINKm>yw{s9RD!}NBY8qZ7NuwR61$h zfm!yR3f)GLRJnfHp0{Rw*UW%FW$qcjxi$MspOQ}#T-0o?!|SCLmX#?E)cNmqfV)yF zK|i$-DHjvIQrEnYo2*)Jr?1q+>W**KDQ#e=B1rYlCRJp$dO;r_+pbuZNmqpkhyfT+ zABFMe5x#bE*}+>FFuJmj`?pb?sScr`*=35rpOp~vjhc@}I{o)y?oKriCyiH{IT)p9Ic}#~~U0IpISF-yl9m$T~3%*h#hAGC& zy8gD;qnN$r%D(Kx2#nV1y(6wAIx2o*f)m$|dz-iIrFd>uYaz27)jjjCV7YVs2P+|W zq@f6k^}{D-)~eaeKcAa`-NQW#K{*GRPXWNdX@e=*BOVhc{4t=w21EQu$T4kmPUJ{) zL{RM8z~jRKrXMdiK=QU#>qk;|t_GM1x6f?c-t&Db8FPu1VQ7k^ewU5ka`9b6!O zWf%!Ap+_4;h9+(vF_GW(C4FuNs}nMTbdCs0tLq~kbsulx%wN*dt9rmUqo{ciN;UChJU7Dqg1GC z59E`CZ_SrEj?vVKfY2cy4!sZjfctB50Fg2W$?c=L+dk~=$W+<`8rDBNv}3e~wRTZk zEh~c7Lvg=>Zo8s^FBoZVBGJ@7_SlsWW3*=9hXG{bhumW058ueM4{h|-)8>(kn!^OI zdmk3oTF(9xElM!4saVbCI0Ai0FB=$fCK;n6nWVo@)%TwGw-7NolSnv2ZL~b7!|>w? zPFP5qYslM{U4{n}62V4ALDHBpOd`pbOo7 zVqw?R26{V&y}0c6)QaTz+QxblhQyAb{ZeNP+4n1lp`z_#J?k)4e zlhjAjU*vs2t&d$m&>M=D3Tr)MnjTxd_wq8uG&lk zWb1)*ZgDKiS~_oTVr}WvcUvvDJ0k4O#4ng>*}X)NsD|O}DEU$H7hS^vHTwAESy@D} zaioFcN1v5ac*^^qB_Ed>?_4pbmEJ^9aSJ`WxoQ~a#`4eUt~Y1|{8Tu%x=RTHHu%}% zHlgeQBmr)u-Zp2kt#Rl+GibtG}9sYMXx@1D?53M_fmZb8kgX9l35Q8vQ4- z-Ij-9c%Jm=STtT&Rr6PbR3(Wk~juB2WurT37By$(F) zKVlh?d)J;X?~6aqmE2gM+r}&AJ(zxy(tu{_sJ5`o$e*U$N#V#9lCDM_a^zdkF2Bz z&lRisZS^Be+KR0-zK~?$J!l}e=_0OSj^QDd-c;%cR1s=hJe3OW1gH>_ZXx zl>(2dXV%-6+O(P)5(B?Dqt&{X{;?V|CPnUDTMb39cd(q5#joI&a-aBk3Wt+7eg7>QA3=^P8~%rlKXv3raEnTgz{-rb*e+;y*>_W^4lyBiMkna zX(Vw?-}QAuw7B`o=Ys|39e;{GBkMXMY}FE))A{V7ny2=MThzkkmcqNoP&NEu{~^ow z{xkXZwkyYk2Ot>*&k?obarOAM(DzL``MJSs=dbs@Qg4h$jLO|N79`ymdKs$f3^U?>=5;wgoe!)l{-Mh-b{)VsZ)Rs^d zmfuT&>N)Mr`5(V}y!F&f@J*2P(8K=J&=7p=cix<%p61UyK6!NRBr zem#B*W~95?r((S+fm(z3O5H32|bH}00uyPqm{e*cuB;ZXY}(@kCq2cAG#~jk_nxb zX2Z%I>eGT)h7)@HPSfLXOa2lmrnb%WYvtweEwgbowc3hX%rrFs-)w7}2&&E%9mnUr zs@;Cw?eevK9u<(xl%=YYnWm%S<6R^=L^B8}<=oixV{VleQg* zexR(%{?lv#gjCD6R8eaJ?&S&xu0U6qUVpWTL{c+>DB{XA3ElCIJ z(fKMrE$Z~zIVJ4Z$_(EAFsA$r2(-wvttZ76g(E)XM#q?_&USwO3>y`G2e3pK5~P@D z1##w8V00C8z(3^Iq0*@etots1g9H-*?(cVHcc!}$pE;e4l1|l zCFE7E;Z%hDwV%^?RXoFGjJHGw*#H=KGKn5V81#Rbm{_LiHw%P9{R_tci@Iu~TQglC z)>_W)R8o`W3z86`I4|F5f0sXjq=kIFh+0K)^*|w}kO5Y*pcd#!UQDqAN4iCn7KKq! zC2Y5s+Qnk$MRw`9tU?d{7m$;Ys$I3&2RXmKycB5-g%!0j1-li=AgdcAl|4Bo)9C2g zjP;Irqs`ip@un_fI!rgGZv;Kl0vv5WYlyyT3D0}Cm#(-Gss!+PozGHOt*$WkG;7?x zv2RWTE9U({9Pji*RkWh9!u3oUiuVa3DTNQ*nY5@2F$-SjdDV7%ZrQ?n`bY+0Venx{ zS0G+gywsvz^siA|%;p0w#qIJKVVh|B(smBBgTtfu0mk7zPr1T%HcIrB%q6b;O%TFX z71?75y?ROZ+>uQwY;C&ew)Td+rv=xU*(ZJDvT*C(mNa3p-<_$igTk?F)^60W`u}y< z+43o@pNulFMlH;)4~fCYWD&B4j@jB=J*j1YbnsWtM6P#O(Ny7WP)xnZd(pdk-}A)6 z>kvCLC>uoCJ7cxjvYQ3wC9PiHk!Z`M^a1^HBW0f^!goasL!&MgF{pVI(LNzt<{XKS z`O8>7!yKkknM6o3JeuCqUQ(j}ZlGiI*%aRJUDh5qE693khJkyr#hXqehg$wB;AT*> zk3x(F>TC3UJLBwz(dvOQO3l1Bjqn!B%i$b%M^vq6 zOdm%ccy&7R;<8t=SgnA}iHqT!ZWqpiX^-wE7e9#xNw3Yf4Hpu7V@i_aq|My@{=%sPJ zH=_w!jyePmza%ikbcDaTlHi`nkz1&mzx?RDfx?Z2^JW*>3f|+}g{fjEsEKx~yuMPl z+A3+aW#Q}r&W8v8Ku-x7g8&{`h1AWh+roTJADMFY`tycSp`x&jv0i=p1&gbbUl$OG z1-ZF1@QXtQ>K9pUxU<-WZ6<}bQwga*5jhJp^f(Jw_XDy^2Tue|!X>2b$ZvX{ek9ME z8^dsE*zz0J_CHqW^Uo1LqcT!GJwl=A3poXbEC( z8pL8(x5O6Y=#R+ts&VI6>vJCGk>^Gzbk`oVDS*_71`*ZEz!iJkt7QXnvG zqTyiT^Dzcric6f})<)K16?+N7!FG2hClf*(oeahowo$8}{mrs?V+UtyDT@ZTe;f~G zVYD{j^|643bVE~MZ3sFq*mXvTzBR9?A^{WGvk`E7LUCrlZ~%|p^=F_*?_A=RDpgEI zd{nxg#?#bvutzQlhX%}Yhb%uj;A7t}Wv>omhrD^d4q=7hHdo84%xQ_ear%>H!F+}? zVcFZ-p*qS7Gm1d2Qjfm5Z{j}{ZwX0;9xajB`${WsUKm=!A~HWD?w3C+W>38&s*()7 z;~ny|Nn628oPA^>DQ@W1y?VvZ#fYRa4Z5~nS5`zb|kxSn~{Z@?T`%-o|l7D3;V5arJ=9 zEV^tSbM2emoMz$luKm^vsO>YeQ^1#?aRKM*D}AFRO*rk%hgU%&xT#+pNe9mT8}%zT zGi4rt5{;jCVQY!Watq36@HdoznGZ7kx02M$7KQ-9A0V6|tHyt10b4uJ% zdY>9TQEZMrwEAPWJcrtxlM;>AAi2$H_J>-jopNA0Mb!2Pim$+^2xjX6--&mrT%aav zODYK}=P?+5sJe%|v%3_SbAQ)f;}tB#CB<64z&~NV=sC$5}ovcW+JWJ;)|g(N4|DP&^1t{ zeu0b0r_m?1%HU}wA$B&7+Cc3OnnLVlvnr*CYs9CKWpzieXRRL;B6Ff(` zM0znQhttBfrv53Kzf{5B>q18dXx8q?Zv7@41 z>@o5+LWw4PT8S*s@gwe@QF0Ti!kqSS8rF{ODSZBjwS$@_V(8O^mCc=Of}90Za(m*W zX9cAQ8=40t_loa@%^Z>J$XE6Ek+%2|oLG8~P}6kx`0^=-6K@V#YtRlxNb1{Z<*jD6 zxKQ{lIswAOfFDuoPG-`tK2K58bYQEdVEBwvY;19X+tuZAkg$;az5(O??-mfb8-q_9 zxl41O>YJOsP2%O%&y?E3@T0`t=~z3Q*71hatjN}&E_DH+Tbn6tbN8{(V)dccAIq8q z-07u!W2E$<3YU6&o^;J{PA`hML`&}hY8qX9LfuUfpHNrs)>H151!MXJgdSfc2?~Xq zNPW?8oP6MD3wV9hrR>wKW2_mc{Kg~hj(w-*t#KO()t2A*t6)NtRZQ7zpg3!BD8%hs z0O_v%@@B+PlT2CpckHpKFoQ6%kz_Stu!kd()}Vy^HNo6R4X?uUjJJ-9rw>Y3HWNQb ziNC=`pZLVmS=$UCdLm!)MHN2qys&BJI)R5ysFhI=xfT%s{v=%xRegTsP>Ybj!^S-v zQvp`xDNnV#w6LC%+~C^sVDOAA1X_DqXuT+|c6^Xmw)E7%5~J)AA|cL+nFqn}_vc=){#1 z>Lf!Ff^!QMNgZBLp@W8fremV4=xk77FoK!}4lZ26U8XIkBqSx{+YsmOXEiY<(drew zM^eu96W2r>uq~~wB-D>ifdDAh|I)EqpE3BUgU*AiNxFL)d>(jnDk~FF{(OqoN49h- zLIP#fdmQt9vpG>bYZpY@uOsBJ zRL#cLOGE`PtBnSkdfnV5fboQ_x*f1|7%piEaFhhs492f z<^#3LIXdNQ`aeu*k^z6n$W43lFZ#*IXJGg!*>jY)k(0Nycn%!b+?K4cvJaseow1|Yb?d!8J$$K_1Lb8Om@ZW1&?8Fw7*wvY zC6%Mfph1d*7}JOeg(^J`6!=;9MI|_FI~D;1?1NJ!TU19`(A`Zo1V!h zv)wF4?me?`^k9gh%48XBauq{CO@aXU(^jnSeCZVS11ca?1SvDL4o3xq46Tf3tCPIi z-Yp4Xs}>2zkKD#s>NH6EfYw>iYO8+EtwtJ;*kqP{v#L=sWX3|YnSi5Ogp~3%exz%z zyVr0UDj03Xn23_X)*iPQhehzIrYMwkp6_J5l&COX?c(pnfAuFIST4Q zoua8Uhkb;=+(m8m6s8n@vd~zR9ocp;nUudxqBxdA_bi1eKZ?w@#sOI!Jl5F9N#tof zCAGlp-Kq|K7c8*gA(d?PRYX3!oOs@kLC>fm%A*oC&FRU%{O>a)Tkq?waWXZngDDs{ zu{wxt>3zvb-)ZNl=2mTDaeaNCE#n?yDYea=g2P)I2<5%y!~2K>TK8dlDIoDWSA%_L z&!m6#rMh`f+<|!ni9$ov?V6f+=fSKUM|he2-!h5_bClfgbW;Cx;dT1Mtv}PLOF(Y} zwle6}mO>s>SYt1mi3wBAnc_7TKj-<7_Kjb1lKr`?iq+>-iY_h8@rK$I3Q{u*PLFYq)nAxjg8v;&0w*1ovm?#y31i zOxSm`Y=M7h{Oj#VL~3F&e0mAG7lW%bex-=Bm2htwt3^5pZJY35M|L;KLTlX}u!Bw> zdi191ch+LBSVL?~iX{l%t&6J-n+Gx_m692;)s`C1lH4=z;5AOsMDlsO zyhgRs=H6bd&u}VATa({WXU~mc`l*hgzYMi~F{&M^-7p7s*_Cj-CqI3`m;6Pz+GYbbCrtHHi@f*DQHx>cUxBXc#;RN2^Kr(qD z!*sW8c3%5NxY9y$>nhT=0_?RqJe#(cX>&jQ+JTB7dG79i+bs31foE@8hQ1w-9i(QS zsONYNyPZegmyJwZZYModYx^Dda!&%5uaM<+iR7s(ht0Q0n*fjWvNWqn8>rdN)qWb^ zgOtkb+)CT1xEas~;v5fjThiUBZLu3c{if%&J?2z7-Vxtv^z5g`n^d4g2{Y1u-TTze z>IJmXq8i1uCTQN-Sg9b78#O5_Wl*AoB9rtpnalHSbS@YAODkYehlFJ|Tr0seE{Y)U zXhYjh(d~h8J*MJW8KM==oMF7{-)lQGG_s2jNij24d&;8dAK4WK`ivsEDDVtmUR!l2;tGBl{sQ7N{AwoLJ zE&tjmlp|>L2@bUEC1p;VhGj1Q*vpp95jj!Uu#OyLpo~a~bdF8RbUt&dLesG=2DN2{L1 zI;X-~+)$-jE4)mHsJJ41w<_>j&A(hVxT8%4!P`w*<+{TeCxh_A{Hy6bG zE@?K9`&y~Qj-mKfru}+(?|0(O>JQ$0k+5Ra`Z%JCe_z2?|CAt<1ISx1b&>UECWH01 zQ4zm_!7YUSIND(w2dXJ{DwT*a6fB&w9ySNf(o0z%_*;@KkbU8tye?mHy>4ARSYJB- zn5$aQbhdNUFIRd*dEqvKq*8W4m4)dbn`pV{SXQ78`-HlRG3tb9d4cz1GF5bM%att4 zlDgt_FVot$Rb4F9Erp2hIvB8v^nNmZ=rqB22Hen;A6)MA74%Fj2?F)A@96f;QW6h- z?Ujp80u5jrr>OQ#c3NwGmp^ymnpAma6xmV9XOgH~VMK{cvPA3F%PD@dLR`xEC8L#* zf}U-;4e^d*$jg28g~FVPm`UPGaOs*(LMe|6ML0{IWuKghFD70SZ2V@nO2?im|Ddvh z7qxxrxgK>Fa`BJE@7@Jm6Zt+L8D;-OBr$cO6|&{nJ4%E$6q8iJSq-B5b2R`vIZa3P zIQqE)@W2f@LdVEZEyCoL|0v@ox3W$pK|X}X5cK^maDPXSbi)c)qo=ODv!vr3jfxzGhls_~O76pW`r~8Z7+6mkXVKiRA5Mlkf~j z>rhn;loJvFMb3+`V$)135BR7Sdwd^e(Xsq28?q4?`cJQ>W8RTUbL)bcp|O^( z=#!5Lg}5d)Mq6kaSrDJ;0}?h*iD!zHT|1UCXTGowltE~1$8_~2rJz@m#j2k-rBzQH z)l3_dLNNr^7>%LaXVb6_0UI`)zmPT6D^A28$_WFA^-OxWG|4`<5!5XjklK_(ODEV* z*028|b~=Eq<}gTY!wT7R-DE2}L-xH#S#z0fHcx}hH+JC92!n?aUa)E?Q+g4TuKD*0 z?2D_E*~D4VqKWUU*i~kzz9A%mP)_RjfHAuWK*-O~6g7!v+A(g!d`xX-ojL|#St+M{ ziM4vAyssd`e|-CD9l@ivwope5zS5`4q@~r=3-Oq;kN^bFFiXQX*WsEJGG(AU;* zekEZo2|KDubN0!j&ICo_&2dE+pQ>}tCu&8%Rq;{_jvuJrHi+Dn`yDHm09~InWrZNh zH=|e#R${XTuYU3)A;9Hnq;6=1LX0Z&T0G9M6+jv5RK*u1#!m(N>ZQ zUpV{MeYIFZlaQ>@Xn0?e{I-jm3$^S14s%|{xIcMAL>NoO{E2&etUYimi4Qx)@Ud5l z1i0n=D2^f3i~(dwh6O@}MKs9rD$^XCi0RMtl5bx{J51$T#^T*h1Z9nu>>8&qyr#}X z`Cr$3ff^v2eNVTDKB`zuCM0qzL$FJ7m~89d6%KZ#Asg=B)iz!|6`n#ej}AKdevm3_ z{`#$JWlQu>6+`$4%w%0K-db%L+(F^mo>Nq|7@Gxv8d4 zqTV#(%bg>N5_$2BA0Q$2vW(KOB9@N~Z?#PXK^i&u0uk?bWUVvIMVVHGw6brCGFmen zZN01+136u~C9O5&m6~#ujw=mKbB$yn$C_&am-9cO)gpKpVRs4;e?qzUM4e{R6ki0q z?@KjqX1sN;gT2SfDBH1LnpXP!&3|Q-entorWzl6|YgH;G?=|j>1duApGUlgbRarh6 zD|Dk1HeKXz9YVwafsl~DpFsu43on%+3d9Me(S!Osv)^hD-(U79pZC4JT|< zB6yQvh2c+|e03tTUOf;vn1ORO{&zQSDvZ*8U?vxpV)TH1CGD8_SS|CTx3jBwY9bZT zD%$8&YsR!n)OeeStNy>^XCJLLcqiTtvrYvuWG@!$hV}NC6br3eT^5XsSbUgf+wvEY zS&{)6CAA2nRLZ*CgfOp;IhOeea~P#}i7=GQ;?+6_?;qzp3HA7g-+tx?huYyNGy(IO zuF&dRe*hgCuPZ?4T*W9^r=qKQPLYs!n13!U3MB>OYHE@a^ti^m3KZOhDx$4Th&t$ zoU}Fj1lo*ZMc2s~ZM}V3+oUTwNMmyWH1HYz|ZNuSq2X7rJ3O6!7CoAE`>_9jElLeGb$m&kdEzO4h003U30)`bUTexNrO znVyADs~kQ2%rcs7N51#@O@|dRaJiTt|C=_}SPcGSv5aH$%*beP≫xV{tDCeU&zM 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

    hmYB%y&AABh`?cEPRH%;-HfeL!vPP0x*n6 zFTdOiu+cmtPUi1YOT%nmW6EcM)I3>9!>EKEd1ayV^Y<@hEOXF_cs_2IY6?xnFpAV)RMNno8a1k z4wU?1U+oq~+|FcI&$E&d`fQqRC?ZFq?6&UHcz-EuQ2@O0PQc`%^#g(A+dBddH|^e; zFi(qrXzL`IrXZNvSi|MNZde=VSN>v;LG(zykk2{B0g#L{b18;oRXq#XsNc}YYKOzi zgBCWf1&~AlKBDy}q`)f-svn6cjfeNLy&=rCl*H{hdZN~sC%kyo4(b{bU?Vv)6OSNQ zaip|^^~OIBp&J!;#Xjn%3I#K{ijXB=;v|zvPT$J!}*tx(F@h&}V;q8RRX_ zq_nX7Tqgrz9MO%J?>s3AQv>~YYe2D$$_ryJ4Y}DKWbdJdAMJ`7{{g7XR#l4mvr5`V zO*C6%3g3dJC6@Ps=qiS_CWRIQ*fuR`u}E;h!dkO;^9Cwj$NCnJ$kTzJF7*I!s!cj! zqu9--U%#>@y^g8esM=+&I#`&Asa6hP9sf2SctANm{-||z1WY&wR8h!@Y!<%fh$i!r z`@o59-pQq;FM+x_qox);Y-|TOqrm`RMgk4xLS#W8KK4QOqlt95Si5f!yBX(+?kFpB+jl0d zme?(BI!Q9<6MieN40yv)1Aq|yr}a%BETM=lRiV`pX!~*P%6}R?6z~gu+Zp}R#>Zlb zm@MfK9c=Ws_rL)Nv0OtV1YL;CUZr}nLP@to?o<{rwUE(=yQT@(KOnrZfWcqfIPIs? z`wal>)@PpkS2?iQGvnu(EHpU-i&vnXp2JUuJjL3Oy8r z^U&RHBLw3wqqF=(o&_E7Q7aD`9%@T$mxYYS^?7@0k{=)o9t+T(UY$HbB2A`9gIdl> zQ9*Yl=8d9YDdce24&5Y8NA=yCZ@MRv<>yp~AL8*ZUGwQwMl-bTT;%v3Wjpwnx*Vt> zLi5ITskq2_OUaR&jZ|utdP#s-Zm2wwQ*-sWLPsxCM79V7&zV^Iik60=_~$RZ;>MOV ztxe;;ArtZQh5`_3eh)GNWv3C7uUsv>spvp3@zf*+^#?X@GK$u2;R~S}+5|3>xh$hcuq23B z*tBwWme>86oOI7gN$Kk)2KS>qzwutB7TWsA{yCk4PV$A9u!QFHDUL;Ak9Y8XwF0IM zZKCaNFIkH9`RM!+yviwKnbRxdBaH*|hfo#Sm9bQc$3{o34`_587lB5H?vH>j{C`a`oRtzZH!R-s6j(-q{P zeW;719eG~2^xhp+J*Xb^Z-O1%i?uC4LNNIlW{WIcC0gvzW!A_TI@>;dLO+&Cf zO=-WzcJ;HEW3P?s@G!jyUU&l|-BvU{8H3uHhaY}Q1^77MMABLojpt;lG!7bQ>SPuM zJ>Q1d4+`Aam)Mhj9{rl}A~0OE$WCxP=UIW`s7Bqn_WF@AgQQUPyan#(3NL6ZcsJZj zSa}>$U#j7SS=UBiROrxI5O9SrChuzpsYq9*QSratZ9Kh^?Gaa#ijf}dqURlJOtS2? zAzig#jovf+{iZXGRYsugWjJW;SEX`@vg}%&BD8{<-O)Lv?NiF8l1>d+r{?vj^+Mg$ zkW*04DCD}<&@l!14lVG8ykY6!GMG!)M87K+e5xNm7~VXrwlHCCs4Wc0kkn%*(9QoQLz*8o z^a#c+RzU?<=M8M9XzUuS6V~|7|B)dpnpgkIki4kNr6tgdvFC%pPMs+yB)9EY;e)l! z*PcU5XEq4!+vFAGca}FJ&`SGogB`}}E9F-d0ilV8+=DmkO{u0P_orJ6!mR7#1{Q=`2Xy$gnjqB50 zw9ru9{UUd`)7{DEyqL40T#K&_rMu=ej&s#v-j;luYyauD;5P>wbl3AuL{=t%CV5K@ zXSo72$)WrAx4RBr2PdV%>323MV!NZeQ0CH0xXOsm0KsneKbqu@E73z|37z@2z+7ti z(UO4IHLOMOT(`t)MmT|D9HJ-OHXY4>fMO5bTf*Wx8}d(C5Ex9(b=a=QbaykTAh!t= z1V&5cM~$Do!yXk%QH4I3?ne%C9pNQ=;+D2QpRN`lo*L|ep0#sO|E2RP3oQ3_^9!v? zxTdvp)rNl8&YfebKAtBuNMpBQI;*bys3v|Ien-65(3|@ofl^>ZWwpQ5JJl@ff?93? z1>ahJK%FpvtUCSM;-|n0VLNt9nwUjW%eo}JPbXrZQ@3#2rQ(^X>_6*d_0xgpPITNt zK1c~l=lG-9)Tl9i;0%6lc_Owccri6@a&hZOnndSz@0#(AIBF0J6))vUh)71vv6O8Q zcEy3id;c>>=eW@&w)mOwsf|GW%%9K_TI0XhaNP*xKJ;LxMmf^=$ne#Lh*$TX1mY?& zy(MyHf`2B+IM^r(9l+u8H2r&Y(*Vv#t^(P^{bZ!QE#qP5C!t&fBQFGc@i7>qlT}V_ z9Dka-b1RIWZd~fk2q-1d)!$jI3iiBq&_LA&jV7R#Qxo7+^q{+)^N6)FlcBNS$rrrq z0$&C^p0Xh1Y;qz7{bxZesGw@f*f50V0Yh~Bs{49BYzUvSQ$voVYoNP_te!aTi&|Lm z#{mc@nZ@I6nR)l;_vj!Br575Am8t3CagO#%<_P9{6u0z+geW(t;ko<_({uiXS?QYb zPwR!#q}n0_++89a-=MTDj!evX8>UAES!oG6IF__FNDp^v>J=S$rb|~N2TMifJr*4O%r1e3GMPvKwd&6CwS6;j` z+2k`yTR$@cGA-QCH3$5>tL-wi>hj>PGE|G;nAU&ME8qtaHOeD)Dr| z{IU|M_4QQ`cw9Xs#@4g0*F9gBkP$40tm;zvO)YY(ET_+f!{v9rLfA=UyffL=AjO&!Q99-GLcIG z-U`s;4{Dtnvi2|)zm(lNrYrAND+C7A0<+H=i0EOu^@zxn{=j?IR+o73kUiS(nX7rM z$-h(L#xHrvB+qY3Dagk+EiF0lwQ-VWZ_Trk{T1yPY6JD}I0wPd=VzQ`QI+qT(Nav} zaP(wpU|o_QBj15dNTD%G-`g-gjH7+ef4=bc#n(h8e`9vLtU{3j>UZ+=Qc@Rvf7;yb z4T?hItrOY~`kK@WBg>5xRXPhc#>voA@{?YMuWz-z=;H`C=ia9?fb1Fwu$0q;ZBID(Io8c@jE{T4mSMkBWGx4lo zJhy~5s*%)4tPu-r5-&988Ta@5Y^q?F*+VyI>j^zNxvmohG1cH=B#vMkeUR5?&%thz zV06Qql$=Q0Ku%obREJUhn%y}^8tUtP8=y%8D-N`Ot>D%qYf`0n8diE65^}8|O3sJa zs==W#ph@&-q5oUP5e7@FjG37h5f-Hr5)IzhLHbUbP&t0Mj3fe_0sh@KBHsdZ1pNQO z3;=uP<0~2~W4D{ex0Y}zZn7n-$yFj#w`2vwHE8&Xo^ee@>V@RT<2v+ksl%puYJ}r* zx>D^mV7>2n!pt1?V7>7}y<1$1mV?u9*Cm(SO|xBRQ?L~vLB4~6viro*E2ZnTI>x8) z`LsCSZxCDUKI>3KRewuojZ&5cn|{Xy&ZOpHjbGQSylx%#YzF7z?@A-|W>V7j9eO33 z_74|#`hMQ>1Zx!M?Ra*XDp51$$cgu5flZ}EpOHrWp2|b>*ZpJuv-caFvW*kz4@P_FZ`e(vPRnIRSraRpS@LHt3Ub(ARc}yUV^WY!8d!ZSzC&fd zuYMn-`%_IRJ5W{rRdhtSstC8|@PoEc^noM9D?#l>IJ|?@EoOBw@eogBAdlrRRwvZk zGbS6Y$hTD2Kgc4d-!g`%*uEf^_QNArkIg>Tu)N9?v zz+Rw7tMO4OqNk7)!dtr%xx8c^QU3Nr8p6eKYV&%c9&Ki*z5My9WlmEo`(7zIgGM^}JAEqt*PagA$9_~==YE2T zi$0D-W(i7L1tkp-H?n8Dl;X6N*0%8`bJ9#1T(MPd`U-B~INchVF8S94xN@hy;c9b(IxZTyM8y+OW zEM1}7tXVQ zaWeQ0<~Cv7B2#H^x_PeEBfCyvfQ7%EXf>a%!Dq76ylj5C$ggk0JOQU>Ax0_J^I=yp zIu=h*xA(Bpm53=8?~?Lu*x2u{*yEf0X~G!K9+@9&!>Mhl+9#=>AF`#p)YrOrk&=N} zoHVa#!o0psl3JyxMcRDa3eKohe*LbeH`bW(b;=JMoIZSx)Ovt*>@$u1yd?OD_Kn0Qcms5TwPd68=G0HfyuVYH_<%c%di#VVS3bb2mDHVE?|32P%b&DXsO}RmmqkcX*l~usj(q46YPTiCj6R>tXJoOTJOh19Tgei`%C|bFOHf zq>cBSXDyBj2Q19DGsi*D{ZBS$`en4<2KO^d3tsO0Udek6Lib6oL+zKK8e#gvrPHA{ zG42DDlhm&KRkHKs<~5c?#+vII`gTK25muQmm-rWP!Ug*e)2J7dH zl`A?1{6C-BnSxJ+UyQS$(ki};^raKT@m<~DXPy*(UZ7-8_>EiXh&cP!A%-+5&kP4| zh(l?l%bos8MNz-`e1EH)Fz{T0K<@pDG+te%KKa`Wuff@AG4U}7x6%kL!{VG+=X+Zv z5Q>$dALlg>+)&#mEl2=f6^Da;eHz;hSBAD93FQ1``f@(1?uHxT;9-q@L4DhUuSe@S z$8I7n)m+yV;MYr-_u&%%mLW~S9`W177Yqmv-p8dqdkx^u;E%AL%MK2nibqR43ju1( zcZ+UfCx=kIBDET7O%IH-?;%nGn*{$lI|GBbmC6BUr{wf+gcug&I*ICLw;!SBEi8GJ zvJj}qjg&M-m9eB%Mh3hbP(*O>F8-xKXc-0*@_waot(cNoXM7G9RyyK^)C2|r>)QRh zu0KOEd!&tNiRujK)j5(;Ys#+%s(uJ)kuj2g4XRDmjtS2-0;uiQ8y?(U&Q(ods&1c zPn&5OXf-1x7-Nf_T%_*2cA`O zJWfVGOytjk)AJwAZ~ z%_UWWo6k3g7iHhGr-oYl11BuviL0H|m?Tnv=QbDvv7o>T_c;DSxsnYAyOiTf5YufP z-u@XqVxh`9YnZ-hT@oqN))A6C4@q?k5VTD|Lvm)NvIk(fACp`(Ct-drmTeG zxQ(zP*_gEQ8DBb&Hoc?S5SG}RASC%mW#A4e|En^TkBkyzWabvj*P-6evG&k+a=MftW z*U2cE@UehOp zHeJD&HN)CEB(yvZt_ZdQo`y3d^u?Myl9BvNJ9@QYbw|x&kj?XBhY!V^-@25ragZ-V zZ^rXN%MIQ72}!z4tdcD=>OtI?CRSEEG@kN{u<@(Vrbmh4(kGs)usbSXyvG63L+amw z!0W^@)!dHg>Ca*HxmBQ?H}Y#aPfi#+U@3OhSHwAssZ=UMPO#g(nW z^5b%E?N#uwYmyKJT*_RzjiP>PwVGGH%WtkAwEUUK0Ly3vHbqG$a&Mm|QPER>ezpu= zzjk5^FcKGZQmwOJDfT0l<8>HBD-RR8k^|fPtE8GQ%HFk2ldR4V7=FfGQ#RgK$uG}z z(8lN2H7v%b{6yVo03G6EIt6W)!4}JUJAp3C{jmh$(a;PGhhl3xVP^?!b*0BbCh|uPSWsfQ(b(NF>Jc$ zei$1Xh0VMqA$A8}^quCE^Mo|n(w|F|sF5Tn=|&I8;2l(M3u;E{v3x28Jg^_y5nTfC zZn?oW@y#SHvX7rG>gCz88>)Ghk(QuRWu7h&<}#elo5)2z94#aWWe*)Bd)5g&;A1A* zBHKC4e42y`+d9Nr25)r%z8328$>FDmLIITMpkZ4|ZjtRQjDw?ln&j`esGR4YK(ulm zOt8&u#jQGr?%CB0iOMF=`Cm_+S@x1g;CyEyFAJ{dn@h?B`0yt!m1DL+zm4gMuU91Y zyFdRH-C|SLn-+uL7~R$EvkFp0t?tZ!%(`F9%0bM7S*KQLVm>vom@6D4HAQ}H3GRMe zjggxdIqp75&@!W#kQ&+IYLSBT;Vchv6D$H*d^X0jm3+Cc#j_HbhC?I=Z#*B)P~MoJ zlu{CITa?I8>bcnLhc;1Jall+O4@uHAj44{&PW~Xs94{ud9E55n~N4LJen#PW`_F*OZ!$Zr5-L%RZ zdZc%onMNMkWb4U0;GS;))B|ZPojs4(x!s;{qPZ%yXAEL3T@CLK(Nqfp(`B4kZg=pS z;{p)D7lRJA`Rgin7d@sI8gY}yHBd^2<0eey>oelI&u`Wp>@52-~cC9Q}RZqMj4k>B`EmVYAU6(6+-aL--|i=5|vHQ1-Yu@$ghpsin-3E zAr?*HLz;uzvo^aJ0MonpzfA9A&7Eo=a%qgfs~eA4+SjKKEJ9|0A3HF9&C^hFFe{E# zp6JX5WoSnm65m)aG9*bcopHMJ=Zpq3l(=$r+@6v`~-Mj38EM^Z1){`W#;o4>~E&UBL-CU0~&Ht zU)NOGE-X#{bZoW0q+mWlz=HIL0lKPb*Q2g#>VK&%|9yY3R-S4|RG=ZTzwA>*GGZ{7 z#ZK<`3BC(XpQ{Ks0y>;1HFR+Q9m~b?5t=}MZzowU5~ve7-kEu|z5;P-S%qlt#-V0A zmuI#~O!EmZ(=VhZqG1AFx*a2nv@Vq7Zo7zO;YY_b9tmLy0-qyoSP=;KaSCW!_{Z;q-1z@`SG$&_3EYlQw+(aYWC0HLR8~j>1UbAW{I$D zztc(ga!J;-Bk4}&gxV)Wg??ep>67;sDT`4N!J3Lb-Q5S`swmIb4wHq}fH}mzN^b1$ zT(Z)Qz9dn_riEX#JYv0t5LVa$N(@HXp9F@9VAf$*^mC~KVfOHH>cXGt57aN|PD=CA zOO(FF-jr3d^J4ke@~t4-s5K>hmoLiCyzID0kVou2l?U%jU)#p=X^c({fvvmRH^e7m1TBx12}iPNl((-js=zMnDRh zDP#h;^<|a5@N>O}Lv0 zBw!_1&Z3K};-6YE0ed8vP3ctV@y3fnZ>$3ply^rgG9Uwj=$H;qGg+U+OfNZd78VX} zs3q>P&s76#XuH$ImVc^^tta;*ph~YZsXS$IxZ~-uD6(k|JEaaO{}i=+VA(-mp9`eB zGD2p$!&UHW2R_x&YIy)t6B&HOF^$$iRJB=;f%o`)2T~iAKdyNU`>WSjO`0zn)i_%0 zk_?E-z3>uf5*~(KzWGK9p(WHN3aaJ%(|4c7&VP|IF-@eZW}Z&6rw6`n}rsfT%Ft(WK^Qd#VMSgcjCb@(+k72teu;1$-u~t3h9yZ}Ci? z3e7&EhUkSN+wq$Ha6m=o0-L93Pn*?uDEt6m253c?Z>n+qeLJ!mr@j307r;b_48a=&q z#_tP=co!V&emUU3MuJAMjd5IPpOw5?=X2z1uN;=^`bNk8%rfa^Ev^GzYASIvAT@XX zM{4Ff|1VN=659^rKAq~1FX?27#;y~ZoFt7~$-(Sw6vt_7Y__gm2QFM0bf z`dh^N+p~Pd7;7jtk$M28@uX@6)TF-Jl2DRwm1@WU+5Jb;mRY@5n5SbP zu|e8d06fGka;BSrhj@El_$AG|(wy*_sqDOm;^n-!&KF~#T~6>DArAt*H67ywS3O3{1oHS1`lW4 z3CS0Ip!^i)AE3HafWbZHc5G~4JEXZdihWzs5=TH1RjEe}2;5`j^0HUDcf6_V?#)oX z$H7dZ8T3rgJon#JDXgP14gJqhuB5Oa=dLCoZ_yQf6OJ{1f#lWM9PF5qWHKGAr+M(U z@jynv>ms7$cbticu+8=OgYW&VIlRHE?sjfW?%4eR5a*l8Dk4=RNeO zxbr;bXopu|B|i}I(8uUloya_!;oX(Pn`)0Xd&St3o8a=!JMq|YNZ>Zy#Oiu|RQBEe zc>6P2B@Atl*s)HrIhuN|lE;_ayjapX(r@;cmZ;X|#D=}*qCS<~d$rq{< zqEym>1yal{PK`Dj)BjOF7nj=&X9(R7q!(G@@Lcc3TjRe=H(}y(RhOUFx&-^Gj$YCDgEn#<}CqC z)_QfkqNn7ItxK!uUO_eU<0jtvUiV9aJQF9-IPZI`p@B$&amoGSk1ngFY*Yv+-0G9A8kU_(Y-Q2%g zK3}n@Fl`gBjo*3oO%Q9G?U^?zuO*=idlH9FJ`+x>?1Y9jnqi45@vS31|dzsO%1gXu5)iKZgyVrcvChTxI5C0ok^w?R{V8bjrT!8EDu)m!!?Q~g!% z&gN5hAleAVPTFNVLY}Vd;w3W3NnRx%a^79U7e!PqP}Tf~gtkTEvE}%Jm~#q-o~C3H z$5f2!4Ad8K0b9?1%x2d-8qm!R;8M*9H7|!U?Ro8&(m%McRwIG6LnK3Jn9vgTUg0=% z&NA{z9A`tIHv(US*DbJ!NL#HQ=Z{5QBq8{tbBzkqSz7{48pAcR*u zDdu!B_CAYjcl1Z2MlhX9f8vOd9QqgpR>hXn*#u%XvKz#_Qb=xUE7@@pCv{F>yOyVW5AgxuKiY zlpgVz(Nc9IH|fZBeTaE^uzC4n>FqnFU_D7rzs|?Ro-Vr-&<=wkeX46wbr~UoOOeV= z)|8QWSk~Ag|0uZau8$Bu*F-am4c5^TaLD^C^-6mu9@V=qp`ZBJyhM=gCeWGw79Fhl z7}>)V|B^|r(0+=5?}}YTpyfs^M~{0t>3u`>rG6n{V!#7Q`^x1DbPA7*Q}jN^d$Y9U zIKnWKfZI1N7w9gN*`_S7Zf_Bod_YWLU1fRQ>2!aXjZWjjB^ayxlN?}7YAwtzxnf?V zT?&mg#yO24H;q$7$VBaJg!ti0{Fv<`e9I0}k)L?@_eiK_%SM9Y`i!gC5INYXRwTu4 zHA0Gp&N!I(Oyy<$W+g8OToe+Vu;bpAuaFdL9}_bwR)&GdPo_Dsz?y{ZMx=TRm?_EV z3W@<3LptFlVO3aS`5?_7!mL8g3L0@6Z+Ruanz{yyNBR~oU}c13Plw&>Grc#w{(wAeZ&e`{3o#*#rV zP>;MSRqZ>6pD+C5>2Lpbem>@@{Bl_$hn#v#4hoaR$ctWP7$_dd&f8xiN zeFy5I`$PK&1&tv&=KMz(-q5tq_$vWGYN=d(M?;pERjDe5H%^HEH!=#u^goeNg!m1F z_$^G~^Dn0C<#Ia5BSUQ;C$&;*xHf_vvv@%$tg5CWdk^}bD8OvxsCt@~Yj3l>wS)?x zVIUS@Qma4ZkVyZAapI*;^*9^jKrga!DTCry46Q2^Rf!LBv^ez^0=2TUzi&)+#dbpr z1!Ny~5G!b;h-cDuvDfZAvO^9~gY!*upVi;!*#WL_TkP@;3^%#!7=DUo61(O|jcvK$ z=H?hmLHZXtPbfZY5E$42b2HnKK7Y9aO*8)*DIx-*nXF_uwb1DJ%fRd)&%vHW0?9+4 zQVte&m@kOskv@QlzrbYhF{BL0BUC6EYf%e24|5bz&seC$@xq}evADQh-ht@8=`YAz zog<_fA89{Ool5S!G5v9I`=a}-QO@b8=>*=b!L{jmf-V| z6d%aZ2&Dahu#V2?BEH?5CnV6(zliW}j7$6uVu6)ADHDYLbZmS-8|;(06zL!7X8z4@ z>yIgJs$8>F09Uw=7zpO8MgrUKCH#v+cm9g77HC7oQOHh5SIGA)HrkVqWB)#N1rk#7 z$nOtUJm~@M<8LaStzk&8yNPbM$3Wt)XyI(dDEa#+h#4MFoS99)tFT0ev;MphJjp=_#ywx;=?*wVB)1q`u4Z- zL&q?F?gyim6G9U3)Cf%Q=Bs?czBJC#f{7f1cs5tsWp*rW<*vxu;PR-^^**PAVG0Mu z;xwU(B+&uoirtfMvlmAS&&o6>*mS6rauWWa+}Jp?NpWZr<6%$J?5%oMf<)LJo|@U_ zCmHW5=LdKjlyeECu6?sHp|nn>=?lo~3qBa}tN;N?x^Mg=U9&4dq=}PL@|E=b%Iv68 zPCf7%knVyK9L4@*;BQ`&dBD(HlMg2W25g`7dkxlIYYm^ zJyJl?<-lHgk6g4>h=H1u_gdI274m(e`<<_utMj=-P^->pEwvfTpr_?>fbvI@Q|)cI<~l&3hE|ufQKYLhE#CF|$2-k(G777U;03l{?k~kFRQY2~5>oShw>0t%| z!yl>0#Y$AFjf(I3#v_Fm9m~~_Z@6iulA?s!doJJ6WVT977WEFbC+Y_O6u8)iU5#+L z5G7m^V1NpQPcZ|K0?m6qaP}%X@KRFL<;xifX$RU8Z9*GcTrh3V4B?jg(Ya@hmL!rR z>Zir1uIDOWu(&2rB4Z^sQR#Z6-i~i~HwF+phFVLgj}oWF%j@OYB-Op~68AY&)@LPP;0o6#_kNI{BoRW4v)# zxZ6G1yYJCJHRL(DK5X`OI3du-&ONw#kp~Yd?MU6a#3%sgOkBasIlV{Ql5~hC?aih2 zt)=nhnz$Iy57^wD1krc{783e|n_0`qT<6`@V8QF3a<+#mghhc)NR~Z$=X!I`OpGVC z)tnAb_}M+ECfdJ+fi^1xTHF-)SCh40L7i3;Se^H^TpDbvZ33b+_#@1*8h^Zq?6)e! zL)YBF4U59`vqq*in)@d8E?0govMbeFoJISfyRk)2f1(DhUm#?7JAh)c0M|Z31=UMU zY#d-@JRtcUSi!$?5wFVMpInqYWR@A}A_oMJ-dEwx0wDKg{72k1Yq>rEL_GR^*$NRq%WAkyvpAs|svhK$hPh`)CDW zE^L)U>7rG{6&LSkt|?Lx(3G64>4M4Zsh@Y+I^=-U9HoC%G2=McNYH)+^1p~I>mbm5 z@u*yD7gkE-IQoimC0TBYk5n4wHT_mIKycXN_TJ9=&9Q(0)5EQK={@&m!KTnAaTotn zlWFMBmWe-ibLpAs;d)W~c*PnF>}?B`X+|W6U>`#YA#M1KzG&0m@lx1@eE0iTCYpcH zZW4TQUXt2N4lx@(MVXtTINYF0l_=~diY^FODadi*pThl225<>D?pJGA&&%Mbha z1m%vpjB4z}8kGh?1|+9$+`RF~V+9~HbJr`e0!)aU9+vPnDH$Q=DrRw*yC$-4O9f7eP45&XkGIxIgBM^P zPd#OPbKt(~-EzV@c^l(OmJv2mXh=Lp-7>e3V5qI|Xq}lmf$sb_>rBE?!;Cwt;AbEs zjmx8RA+GzVK09h>=E3D|=ea`f^`LjNZHb0HI`Pgz=Ko>7TP~MJt|pz+5AYiALqBOQ zh)!mDe-^&BciKO)^b{91kXd_PuFTOt?%L8gHCEIQC2zXf%x=7v{peQ2)d1t?zby%~ zeX+UJ_<`{@^v1z$ExH=zcx?U5YZJ9lDV3vcN)7ST-NN2X|CxnyUVT6#$reju@!j(sk&;gJ|}rhm?CUXb;bK!Ox8Z-?3=O7+Vgx z9TzA9s#B0hyO4K)36~BXb3@fVK!bZ-cbvwaA@1B=tV8b>K6}T)T7>U^hCVp$UL{?x zpVQgjYS=?(mfQvHu1*Y7rouVS1xicOyfcLJHXFTul+$@V^5M0Qe7LI@z=zY=!5{f> zoL_f6Ue^sDJ%yN=?Ya6~jPE^!EpO4jf2VN+hBwkzrwi8JkE*9oY$=j z<*Dvur6<#_d?u%Q?E2*gM%fz@lXKMDXN$x)B^|5I3OvQ9hq9&EWERsyMcK)0Su zb+IC1X~KULpkW>XWOz=DcJ4kvhMQ+Uu9mrqs}SjlzK=xl_W9bq{6VEcuR--DNOLPB zCh;sFAA-!$pg2>d4ESn_$8%y9m#RilbX`%->5w;xF+9JC9%G{K5xut8^Kg2D@cC`@ z9k3^}Xp*{x+gMJ_ektQ;ZFo9yiBH$u$`O}wC2>U|`d-KM%IoX34t%kOW7okHWC!H@ zu(V|>?fk!9@thc;fAU-0waqhUt0wv8p9!<6sh2q@MQdOr7hX035 z7?b&|ZSLJ~OGdlUV|Q)ar7C3n?M~#T)_AK-49L4~Y{xeZVH3!FttR{#xJJ3Fv&onY z>xBJKPE1Ko%pkbz*Hy;caKKQKu3Mx1EbbV)|wpWAgZ6Ml0gi~Sq~2axa!`Zf+*Wu*#!X2GXzPt~R|_$r{bv!nDpqt+Aj?^u(J z+@@nffZY^-PyP_i+8yRu9@Z%x2@A`Y=f=yIbqx9<(}EorUPYhN1vN_i_MM^oA*Wp^ zE0ONJ#~6j2VNIon+WAw?Gh->2Gw#k)7Zo|3>+N?f%#`5=6(?kBJV(UP*I(GOkThPQZhX@GfjE`UE6cE)Z7LJ)Q_m6W2Oj{~+sB8ffqrg$EuE&f zw{C-;BCKjz`+(ASi%vNmIwtBTPY|@h_|!`!B4kMI1O-Kp&9oneuwVY;t(> z#P{4K|5BCKx4ytNU8~b6t9^RRlM}d%BG{ZzcGX3z9rxb%PnC{?W`Med-!>!&)Bajc zK;*-B9*<4mFX_QbM}%iM19sFJPnZm}Orhe~kaS@b<{U&A8=@f{s(Jk+AF? zX9se@l^3SaLQB~~qfM-Y*e;VN8lQN|<`*7>D2y}s@vl>L_s2lnUN#)XX%ZqhqXoeEtlltp_<=DK##s88vk6n^ z+&P{?>*&_71hcD%LHT^$U{J`>v+U~xhHIT+&8LkE5n+zZd_#|Q_Lv;a`9EU-P2!tM zPPc)JL=I=Sd!EIscO*A@KA?9_WS<3UqfVqb{!CH3wU`F+g*ya=$}MSrB}BpPjQwtp zL+cNEC*SwyOUM)dxi2pgHC^+41_`5PFxj2+GSN3h>~Dmkc^RsT`Z8z;YVt1z{=5w= z;@^!H8yOWW91r_m?9@|`pk1kmuF;PFMRGTwx2vpWa~iPEeBr#rB&!j9C(j$Hlym%A zNle_UF1^$($QzqloW)x=4KcLURsczIAS40zR{QJJ)Tb^I8&4-i`Gf3uIn^9>nT)2F zKcrj`px1n>OyDns-~ZaSz8IfcIe^p;cCMs!GH2Pw=y8}EeGwxS^0ijNTGmx3trJ=! z*@L+zgsjn5hMR{ZhfG-n6Kbk{-vkAI)Hz;xdKqYDj2O~t_#(`<*=BGIm&#SJrhJqy zq|Du<&G74wpmp?eFRJPN2;E%JyMKexxDK-YfD?}Lgj$jDcSg<5s3!wJ8o|0zWOx|Z z?eo1=l@(?Y;7=F8$4&$TF_B1Jk0l6tcYRx4#`VTIDlG}YJJ|x4m28z@EsWnIK^>c> zgdyoMCh~jx-(X=PAm+^S5?gBxFyXB z2Z}(jJ?G#NVEOa!TJXwp7TbIwz;TJw3+=76= z#ABv3GlIX&*Oa=TA^C^@Kd#;~tPLh;7e)$gaW77R0>ujyiiJ|VxCRJLfZ!B&DDKvx z#cA;X3GS}NN`c_6h2XCJ(&v58^_}bd*(*PGR%R!g-1qFvU@M*=Z#m?H(%3|~WHNQ8 z=A{oTbb~24K8%yUq)V7+`AJFpKlLqz|F^!Sun+bC=KiW4@q1oDou>Y@5)tV@%kD%k zfT?rN07AHbE;i#IRh2zqTLuxaJ`H}{j?=XTHllHFBF$S6XRR25WXCav6CB2#T+Ix;k4EsKQou~>w5eL9(|hTvC4H-4 zInn1V=r_3`q!oj@W0~ZpBe4&ca?LaKtF%gP-+BW2e{MOF-I=hb$-Qafjx8o~k}irg z_HjCl$(SI9Y>hm8gbB0LR_mQz&`}j-(FT;?_(V->9!zO}3FEiwum4UZ0KWPefE>a5 z?z$RDNE)wTGcPRsX1=y z%k^ml{?8TJj!K?E+CM_M6O$$rNj#?n?@8Jg09&H*q)$_p065?hETkSB_P<-(Df>qn z<=8v2%R>1C9F0PRSC^3EUHRL%fMUh6G@%|B2oD zx1=_H0mGGC?R}97rmuwoHNU9xehZf5y^9-BA$-fpLF->CMv2k_>Omo&Kx~FHyOo@5 z*0-Vu9yBbBvPD zy?)k|b={zSs2?<-XXgRmxbWrmoxlcoG5RrJnjBZ5d09uCQOHL&V3i z1mnBuV=g;;)f5Gf(-_J(Boit=#{Nj9(m;znDaT0i{2(kGIusM;eS zS_Jn?%_fd4*5SPUU6vykFW!%#pJ1qyDvi{vSCqtCc_mGbHoiM+!o+Kn@;=8t9O5SK zf$!05Ov7EPi6+L1B_K%GoL&#hoD<;Eh?v9Ry!&Q+_xRR+rTFyUx@NbY z=2Xqdg+V0=xqm9E3#qE8!8ESc=C#*{<|5tVZ-+c+F|85nuYq|GH?KC42ko4RH7dHy zDxo-jQ;A~qQ(=Yz{iZ!)ial0sbV3UaZ0M(f5t_E;$GpfNC;|T+D!QDB6EZ3~{8QKG z{9e%Rh2Tlz(r;4FhT-85)pq${<2Lg3Fb_u@)0g7k!M9uPB`7Jmfl?m_?MQrJNg^e4 zk1;c*VoYLeJc+z0-)Fl`8O%*9J8e_(aDuZ~f~tW_UykwJ|AG=tawg#BZug;T9q-w7 z!H0t4xZs63kLhz8jhPPetAbui3Tev$ya7YM^d$$;-p|aYsknYCHE&dxbVJDHL`N{W z$y}5~)Oy)xO6q$ff#K=8ToiIRydziBjYrwax*td3{M68ViiuwAecOEFuMdd{tXf6H zHI1a$ZwHpQ^eG1*W}(sgFfqUHO&{w5sG%=BW|;~2BbL-9I|TJUB1!j9UBG4*vqngq zQp>8kbe5ec*~s6zd$_ggx-+!Iw~~O6FMtfoNsklDTg9BPHGRs4goEL3y}60nj1@wU zN4smL1?Hj_WFLjko6x_#(Ju;{*I&W-^$3}DE8Z5!&P~Tm_h8Ou?U?f}(x;{Q%1*|A zm7NXST{$u?vZJ0EPEsTGJc5O|CoV~f*UJdT`CgoxGbB;W3t(oxd#X7mpMChk{nq+s z=5FhzeI_FT&X&!D5HDomv9Y8LFqw=kf0pVUT=zR>ZVt~Qe4}%!Q<~e94e`r_xY`gP zL4K#>Qdn-$8t4%zVf-7E;p^GbT1X4@2y^9ufor7)S`2ku6nkkXBtgaDZL#_tyuHz9 zoZF(hBSj?#A|lx>h>_O2{WUdLo_3HykN7@BFYFv@oRNt+3!Qvc54w1YGeu|I8Ng$? zA*ctz-I72>!g@gPh7-!Y7-A3Mh;_AXp1|8F&J!Mp?_c*T3XMM}OY_2ynQMzI=91Y3 zoA~BcjOObj1jS{m#MCnh-yW`fdM`9*H%{m;d%RfOB0XmP#_!@DZv!%ZOjE5S_|5yD z+NFE~uzUj4?fua4*&b|c4~e=KO0peKjx;ZtkGTxATHZRa|LIfd=ZkHT%ZVgS+c44- z?-{TYfW=#TeVbtINOPc1V@Uhfc_5kAm^Rwd5ivJByRy{pATUj_3pXJz^G{OvD)b!> zl^8`gc+fxW>`?1$^vE*vsv74~61UCBwAS~!BhD&MvoFGHH==J*`&qw5bfZa~{6WNt zqStO4mquaapEcbak(g2lh_S7n_A6w@A zkKAS+FGYT=8Ms2TDXl#Q!hdB^Rd)58-we+#TKbNnCroI zWw>KFs0DYCcVY~=Vz64*g3*0zbelbTWFIj$x4850eSO|Z!#_dPua2Z~!Ost(+x%W` z-5I&#_&xyrU>0}hZb?IYdc%r6-nm%o&gnT}Veg@VX;qyb=IvJx$f(6eT6f6P$WrX; z)2QUyl{2cC0ShW8pB*!O+%xBQ<*v&K&d0hV5nELL_4ij#dm|PzB>GfsHbhL;Wt8Gq=$N^`tg(EYyC%E!PHC;?g?8s54N2v)>i zK?)v0|DJZm?gs|5RefrQJ8ren21s1_5VBK^-=5Xk`9D7jrTl&3p1ZX1?Xd3PTW(LK zZ{WVq2Gu8b_x{{x5fg3WUX3%`HRBmg3sonP5+;@XX~#D6`H#q!t(qJwi}rT+^YP(2 zYA(TDct4UP7x}2>9_u4L2$D*IO$v8y5fX4@j1CBQ;d4+(l?WjVMEP6 zIyZJ@C0P(Q5ZKT5$UY=||0l52`_^&R1mr3(n~KT>m9KB|H}G?=wI}#R9o2ZrU1dt1 z!?)v*ExHvt*@nr*RrbH__cMT{scY3hJD<(s4lzNta;Ii}Z{8y-zi@||`hC2s%+Unr zC0*F|Vx1GBKk%$|`C<7MXN8;dPVvmG_S55-n194t+ty9uiP6yYVet|d;d_P>aua&8 zTrrCgkGm%e6#;jm^nqvMewYJ-*Cc0S*3<11(JID>^!!h|3X2jx&Blbq{fUMFRS^NE z-x|u)4G6M8mxBBFzFB-Pl;pTke)IKux^>bWbERuzLbZw+>4;~#A%fH2fNk{rW-AU5 zn5yBrp3$X`g{MKdB>sqeP~ zNw)#iy>dkf+h=-&s4j0E$Fy#Y2|eZ4P8MPkT4pdg6d-{S8759%xdWD+{FL-;l4&bWXesR-umLiT${lmV@BexQv-|3E zqd!s@8LOo$+v4XT7lYG;#W9#XONbPZGlytXG9X?e%^b*KE={;UN`kV3d)DTta#V&yN5&4N&1B|eqxL}9H)dKC0pB2cZ4PW74`U+;TXzN} z=!@ERJb9mx8X@=crmLcjl-T#)PsB%0Hti)|%^e)lDkaG}e&} zxIjz8E~jwX(VV44^yYK2ok6G*6DfQ12vwTNV@@eo*L^l*Z?`7|b2lG>L|W@%)f%9s z&PyMrsbyxH&8T1_14AR31vr9k)#Ro8s*66LLsi0%?s&$ZM71?9k+B;!0-C)McG~Hy zw}0TQzZo%s=(ux|G(50*+pTt&H|R_-OwVx*7r1rMauqIVxhV6%4Vr&c`B5OZk_3pvXuC_a*+_ zGPF90K^@gKJFkCdh$1p-W!1LTV!s7#K21sFkrUFxEeG!Cw_uCGwhWMgLSq^|^QdF& zLHzb;>iChqr8T66I-s{ayx3PQ*ps}(;0|&vkI;*uFFg4@wqE4W^&uWf7G(Mc3L*Tn zFBC#R;*F2}LkKb16HH1(=JfjP-L@*a)9ljtwPB|?z3X*@&4S1Hq`M2JudT&ULO!my zrQ%{eC^eWkh|b$`CY?v~N0f<@;KM6TS99Ttx|k1X-;1c<4}lE-nc33$|CsRcf?8TO zakmpsQUu4E^SjQ}w`I1o&v7ld`w1Q!D`bHAzDZl|PdYyx)ci%MYbO6cOCEqgV0+wr z&)AWj*pYn-f*@&~Vf^F=s3|74X%1GI{aKpDyL7=(K(jE%+ZRbSg)IqNx+wacUJ@J%93c|CnMB{SD1GbL{VciP0Q5pHqCJXWe|vAOo_K+QPC+ z`%X7@&aiWU0OqT2jL-Qh879Tx5}(5g?x{@0;9JKy0Rz3<$o*-V%6h-yBnk`%6~7YY z=yRmI4xpB|w0EPNAj(Ro5L3mar9QFc4xrd0CyQPq!<1Huf4V<>F!1SHeLnAG)oCpL z_-v!Uy-9z+8mOh}L}rPIEfBtzeUOAO()sNJm7J%cVTS_qnpcT$XJ<-M zfoKlY*-00ld}ECd$-~4{FU?+%ns)eRe8a!28#Z&6F>ma{{9Dm4hTD5%hxB1|gGA{o zm^Dnz()ri!1x%DBqz1N`piOab-(l~&_#S1Sklv+ijXk;n5ed;ICWt+e^U5M(5jg)K z+`I;QHA3rxMiao81FocWh_QFP@woATD+HeGNqNMCGyL>$~m(3{eXMF4aB01N$Ik@w3KC`b+INoEh99U=a>q za<8G@8-yH}S&X1>FE--n_mO=7M9gh$TjGczh_UXA1?QbcL=_OjGc(}`sdzP@Egt`{ zcrd`5N9Su6*&!BP?6ZjMrMh}vo z?MQ%6(z!NNj>Nf`*M)_%r*Do1?5{bu`%g0@3?A<=&1DajbIoUJ;n}>5F)QXP9?j=g z77*mXqBwTM`dyoaQ#2pkck39h>gBG{ANoR_2vX4z zSvRKrZGOQTB{1oDcb=pDbB%!+e~$z^6bWk=K;V1yP_Z8e z>6t#I3S^>{yOP*gGtL|j$Z|~>IKOdmXb)|eB+zkM;m*B$3qHH3_#S9nxoBEykRWKA zc5QJLSaz4yb9l32cJUW~93nWxE8o6Sv*jNEj%0Kr5vtI2-1y$V0vZU5U6~^T>;K(e z8VLqG3P_x&4Gpes94n2^diJzWe#`87wCD>X9Bt;g#`OEx0&W=`^KxABtl)B(jAr0E zx;|`drrX6ogEGQy0$vMkB=l@Nle>EZ zADmY2Y3tnK@caIhw4x`#Es$=tMeX{hl9t*QY8n*vR(43b`Q`%lQSsu!zEg{7dCCg6 zVp}oj++g)9{;zoGPpQQfMnut(#M(s$szJ$QACeN=s#sokptE*-Ie>UuLbY_5jo0pb zaS&!<*Z6jd$Pl~pCAQXOR6{V6f?C_dTUyRm@)90HG?vsZkn+>_Xf1>ug~LC*EUzx)_zZ;jUXA7!PJ=Cvn98k7_O5F@8!~o#nf0R5tST@ zan~JvFRWmRzn?D4=XyMiCfbjD=xB1S)058r zkeaRr-Pa}#`P=4sA^HPc0zbk>ioZ0V1Z;5ATO7mO$DTpnX@~A_|MR|x9yM&c0FIe1T> z#_9@ZmZ!&fWz?GkCHcP=2gQ$x9#%gI1AU<|V;M=M^Sw+eF{9#1-r$^$XaxrLf@fn; z>vG>cEIx(C4LES-1lMVN;1nD*h3%`w2S{#x9@yJF>+keslX`qIm}UWEu6Tjer}-c7 zF#rF9hxzpJ`B`m^dqb4IXD*>}4v>XD?-AHH#k_Ee!D=1pvAF9~obni>Z3CE)qSJ-K1%PEHOjhMc%PZn%sSo>D)!Du>EzjsXjL4x1I!<|w|{}enrz*C5d9B_7HRK{ z*4Rk*COs++wKa-<*-xAP61MP3$bQwQR`sncr_LD%As4>~0Oqnp+CJ&r-v+(USnn6Q zO^W_YX8LYuRj0OF2{q7(9!=~^_g|0{bsNUUx46?}hoJ^4Fx+W9{gkpOnbo~_zLjY< zVz>PMod4O*!a#h_ys-P<)nSOk`5?KKX`p49i>lF)kHg#QFs)cM)>ohiI;IG@pZ-;G z+!Jyr9dHM+*t>&b4K3M!y$f4U}90a{`qu=fcO*9)gyi-$Y<6rF$-tVxCfTgFTk6PAw87B!2jw|J4{g?=uMMJ z=?p4a4otx|DavrPnS%{WjHM$-R4_AHg@Xysp!ikem;NYA`1chESZ&gyK`$FC-qqHQ z%GY3`8N(rg78rK19V9K-B#|C{_AWJLqkr19jyhT=)%Ph72h>#C zSv>J7vwU1G7|hL~!+?4<|Igt5frq;P1rK%`jcr24c$C=@$Y%HrkNDSr4hFs_=Fm~Y zjQS^>+&X{pf#ED3FEyVObw$@+>}uURdavdTIfGc`D{+3+o&JDon7h-sTXBrYV|F;8 zFX@+<$Vbn<*Dyu(=@84fgwb68r1Mf^xr7niQR?ax%=15}JBi2~w)D66FV;`nqq_OA z%7-XQOu1F|tCe`a%=zNOBdda2;0@Mk;O=6y{`~z^IevprL~808oU2PFy^gY-b|6<+ z$4XFyjope_otMlU8in3e<=~(3m)de9u@hi@ZOH`Q7*U)x2+)M{H>mIOj|E?ULvU%SrESyW$I4n0wWOIC{-bRJ;4kj^j$7{kn1w>lg#WqV(n>lKd94>b0w*vkh}XkKrNv>#>APV!bs1HSeMh^Y2#M&<|EZVE)5ItC@9 zqO#rv$?A14SQ`B$b1&zRB?P-29V??eT=jrLhzqS~YFaomXekZiBFq{gtK2RS*d^+Z z?!U4&SSn02(3FGX5X2VVDpvGS&87Rkm_!!gfQ^`aG$hBjRvmb!3R$&ezDvq5 z_bT_NXFO|B#3)D60r5j)k$kx9>c18tr(M$J`5lW{$4h9wYK5M-(^MzOSd_mN8T-%Q zilSKTA_YAM!_61#=^JeUKw~VfT`75-St9awowdw_wCt{UKr9|#B^^4;#9$S2RRu9f z!b%xL;#F>#V;)ojqo(-pLWEeX^XtNlrKTgF>s&FRae~naCA0u-IMh|)nQdiR|R!^ z|B-2ykhjOEi2b?9q=n~k<*ho*AvNmv-|Uz0ngv1+RmgHB!rA`uWB=WQ{{&F?Ao#@A z!kH4lokE3Awy!wh@FgYHwKY?bEw%GFG_qeuzH8kZMTdAsh^Igxi*#WFPP`J19&*pr zn!^OsJB5@Jm3AZA?W4*J1TxhNqO~HHPv~sfwLAS#HgG+#k`R(6jmv3;M8-d#^$rrcXD*O<|Kn#J`(Hn6_S!5Ju-K))$u_WCpIf)v zmdAKQOfNr`_rqnV>`lcr>6sq&KwBlm4rP)&WUj%H3a|0J!vK6lsPJ*0x340ZJtH|@ zNM$Uzr{|01LhQ0~Dkff@&6QzFhP6V9bJ%2DwaYNuB&TBhA+8oOcC*5FjF|uf@G|Wj z-+1Wy2+VPi!jbIjNW?N4(sYQ96YZ2ImC*71!5sAf#7>VD^va%8EDF&ny=`7dOk-20 zk7vNFdy$J%L;m_F+++oN95L&p3hIq>v0+2h91-Ih;eGEQ%3RhVVXYU$Y+%O-WR(bh z@XL@$f!G;}8G!vZFVi0|C{D`joU1Q)GNVrB)AqZ_^})2F7irdJJH)a-RSU7WWGW}9 z_oq%heLoRpfEUIrchfxo_MCp(fO|+x5JtXo`}KE$xwG8WK05JlBkj`xs!z+^mjWpA zWbH5;S;kDXAtInv%KYlYx;6{kmx*)!^rw#eOL8DLwfdEoAEB>qW{$&)%=H)B9jPnT zJ~Pz@i^YL$_cx9=cWQ~L4b0plR~?CfTJzq;lz|&0qsNEp-&5AL=GSKrohsJhWoq2V z9H}f?op(Ds)Ndg4ss*;axR3Cxo5^7y4<0l4C2=FQ$fjNX#LED-MDDL<5c|)M+wbgV zzs@ikKxak|f6`_=dsJs-sMj_Td!d12S-h~T7OWAcQM0;cF)W)*wY3{DJ5ahgj1V|_ z!w)#W#dx5K>B@X%@>z&NATY?@bbfqO#3>==J@?ICCy8SoT+tdT>2JR)Hf6q+7Wsv1 zwGj90%$djp#0X`1qXGoaABZv6E3(z&~SN9TpO=cQks&XA9u;5GZ7ltImM ziOiAu7eA$&#xN^vrr<)rsiCF~Y(C&C$1&C3^TX#MG*ir0X$^iQ-We=a%Vr?{XF?^u zx3RXJx=2IMNTda28a7|J0#K@O*OP6OzB{BeZva=j_qo}DNrXk;I<^)w9}}X?nEFb5 z&jn~_evtP>%W|qu+998iod8G?W%p$D1;H0f`JJ~2t#V-}LK!m8d!UZDq5>Y^ zJurlQ>VhNu1zDHJU}gVVjU89Y3<{E4sjL7mKS=0doqU3ZL9#o?IHt$1&0a<6Pfhj` z4*ovMPs8YYC*4QLze)63Y$O2kllMHa&UW{~n@*Dq=ldixDDlI_RKE`Ae)vxbL62^% z%O={uzMo~uFnW5qXjP}MhGSI@nLH_^1^)Uz99cBxcB+w{QBXhj#<6xrONP2q`WqAS zjGSu#XW4+@qs``D(an!gopf-l=Agzi8YWroHM1Xo7E?*N^Ph~a&1ylG z2&q;YQ$Y1!umlx;fMT@{x={wR-E@qvCe=(~Msud%T~;L)sDFet8OV0%T*JfqfG0sAwxdRW;dmgjEqR8B*i7k}RxVGslrQ2O%KNf-3 zgIdjI0_)P^jLnN%4G(>4bUUsSy zqf!RuT^Q`P?kCninfbUn%`(ewXX67Zt$6iD_T1GhvO1El8UO9KI0d8 z#uizNEgtV{>CN-CS9|wKoaR4W^mA}yWy`X^K(Xd8*)4cv+Zn@oJ5wl4>5L=%Q1#lN z71}(S?(=@%7ey7 zvR=CC^Kk_$w3u6iwy<#Z&G?YImuO&PrWR_k^6p)-#2*AeDMEv236Femotd0>kn;iA z7S5^)P|PpyfW&IxWc0K&6BnUNci*F)au9{B65&G_RwkbO%NqVmHp9&zv`ql>#j)rQ zc1h^hYz4c%m$uhK79I^!TyJI+<4h<$7WeZutS2R6-)1x5YjKcJ4<;PGG-`7(%6}Wc z;VAoT^r-CNDm*)=l7(c2GhW>^(9SZh8P7kqk_lJZ@LiIhh)16kaV9-jaGd#GgX>q* zm%7rcac9fY(5HG*MY}`VUXOY{97$;-ptX_A`p8z#BBJ%O4r&8H*JJ~1SZkVnpV)?# zW6I3hF7|nyUR=_;6LG({Z{57s&)*{U=c)lNj7aU65mz%q9Rftx$S1!bqxffalp39e zuLt%M3l%6YXsbWaf?gVbMY50S*zH5m<}+U(AZ<^>5Z#V_9xOOw{g2x|V&|up z7|1BxtsDdQ5Cw~Trz7M0H`R6K@yFQ|U(Bj5=d-Xyr0-h$^?IX|!y^;<-%+rGHHJN2 z{_L99-OT@VpvqX6`(+AVq#0kHB+#`e>p%;cxX9!VTZ?Cm!eSERtEOGDFuZZo^mL?Y z@7z-k{eYWTQ`LoM8d{XbO+n*fGL(-ly(?kv(9HRhu?Qw>Hz;4G!0;epWyq<;QQq^+ zmT}6$-f%{wI%P)zaj-{rwrO`&G9JSZ8!)red+!-U{3*com7zl1ML)rNz8~D7NWno_ zHTTj$kft_A!(#WLVlpRwD5`E_#qTMpx|u<9w@CEx8w zi$WjSeUu+=!p2ZjU!VIv14lSwByq_dK(+m>#h?UL^3=Dmk@y^KNYXYmE&tst9$pYZ z`?<8@#32aFHA4`cE60|SYWr_A1Ab{ zMJrg1#vvVVO5iXm`l)d5lk(b~8n^u2^s5XuCB9`azSn7zm^d74BNE7~1Lf%FNn;#S z$H^C`tMgT?)|UD%1H;b%zmyp5E98eKx@=Xh=Op z-ps>qQv8!~wg$a~nR{ZP4ZlFNj;{zMF*8C#M%}rf0q6-@T&nzKzv}Tl^f4+Z*|iE z*ckrWk1u96f10E%|C1<*oOWm+I+O@fe2ueWip}0a4g3^LDI5AwoOYo};BI5Ch0C}+ z{8)}}CtEmQrPTMx5dO~HhI+kG;H&M-dKvieM>5NF_vw#**37p$eM3(qT=3`;)j-=j zmSN&sO^R@OTF>?{e_+q8d-l4BZt1-%0;tqWKmf-n=8VYZsRBc`40bIHb`CwTlcsT6 zNX?n3Ep5$vA94De4FfmmNk&B*x767~8yATl*_df(NJz_99s0xVRS;{>%}R-{a;!av z@iL;hYlAn48zdVF1)3sv(rRDylt_@PBr(U+JaZi=v1EJe&LlLCanhvydfd2VW{|9G zjd*lqa%m<&41kDli%`_Fk*Q2Rc3Ik;I=&v1v>I!WZ2kPY7w^sprUlB0=27_E7`Zu@ zdin=QVSsWzT_n*_v=Q|%hEQZT>}N@(<}BOt5=Fe`Q-aF=G7GSNVevDRSU;0;hLBk@ zD;5M;(zrO8a>rBa*p^0K1nFO36D9%hH#6&gV>-rS3_3j>F6Ebb`{OHLbaCxAr%a>N zb!Cck>$X(V8%6wbF(F|@7YKGmfx9MmxoY`wYSQ2)!#t4=s^8!0dH{+dBE!A*toZax zglSpOuk~3q9jeF?_+)r2sG^EUZM9v^JI=C)RXV;E-3Utq2;cxXs z^N%?2Q~76dy-rMrxbjA2d&8IEI-#DLbAQjw1B;VOiyLlndn$F4TmqqWGsAMj?yT%kw;6g-(#pZ7#GSUxY7>4d3y5S4p#- z|Nb0x&#Qu+ z@$wFOSFhedOMy~5MKI+m=}KGZcWTb0iJd7oOtG{Sh8L7HFBU9hM8CSvV=lcLcNI}p zNtiU??IpV^%Tc#=Px+Y*!=#xpejT70<3$VZkTEIN{a#AqY$p&a$JJ6P5Z2nF8JPi$ z&BW6eYjL_5{FK<^7t3LrmS4d$?GeTIo^iXhQ-Y+6VBDf*^NVc(=ZoWI{T}h~6@40y zE5CHSv*rWvxaV#wl9zK~+w!(-M+O(>Vf#AaWoMZSUgDGHvgvQbu$}32XT&Z(-`6dB z?Fr`sELEoM(JhJ7b4sfu)QwB7l=7S))VQS2ki83J!Ie)A$^tMeO~-pFbU3-^Oh0&Pe0vyOcLB;0K-Sejn9mKHv7c^Auq*U#Wq)b>^&HXvOhD!=XwdhV?IH3PH1h-CCoD2SVLq39g_KKh+o@ z8#Ox}H+!3XdW?VmK}cpXfw-j&5AQ@_QoCHz^v2NgZ-dP3lgWT4Rwi|-7eI<`rRL^4WZd-6s+SU<2dkT6=QfmP znmFUN2h&N!k|=>8uM0c+AAA+pesS0|D>oW@IJ8jcGk1%S_at0bOM#QorW2p7C3fcg zBp%ph{2sL4?8-O3GsmWu5@n8scG+x7P$Ma^qVx6TUQiw8+>TJ64~ukz7TzUDoe+v| z?XHJwzaw>zJ+s89j?GAfU5#m#+Pa`B7E-rzM4BKG9$GQ>hF7(Eg-+QQG?0~sfU#jX zP!&)ba@RfajVd4Ov?pxQTe!Ey+vinp-QY+3)ym8^oc@cUw_V5-8|J3WqYSb!oCzYi zes23i1`l?K0URyt|I51&F=|@%MDM%EIhdK}NGcM$fKXZ|CO%?Btx{Od|A*l|pT#Pl z#RZQ6J+(}|rnMnLhb^LpuQHY1wfQ-ezrUU2PcT6)I3>e-e)ZyXKtf+o=9DM%LsnOj z!>Wj-ba-vj_(!OyGhI~aW)k-44<@Lvi$ztB1b8b-QX|fgWb62@)VU6U*&`a)hOB-f zt5Fj`?DVT0Sl2vdvAGG)DqOZz7PfbN?llCZNxxdlVmjQ$q zeN{20MCdyt0@xYBgdLNl#9Je-^MK*^35OjAN3? z^&Ad5Z!6$GIsW(~g1J8Zm=t9Z`v&kT?b^01Q*&_2=2%zU216UQA$m#mq*4*cBrF8? zSu6b4091*%hk3VBE+NTD-Y!6=u7Q@asWfputhJ9ol$%sFJtYNt!6)Ah6lAp*{LG-i z*&XovG~JkI#oL`wxi_n^OG1!$?8P+hW|UQAc{K!tUus&pbaO&p5I_(|7WIPmpv!FT zX{JAwfa~AcWj;vwVhu^t6lmGN(eVApf$7RT*Wc)b8n54Pd;LA*uPUefW2rqgzf}Q~ zHwsBIt#f+;`AGD=fG0luTWiwCA4vu;U1kBBAU9_$8aDo3LLTkWVs+JT52^Z8Pyt-C zc88IdA){l_YiCSN1Igu+zFmBmSwxpi4~BR3ejmG?n#;pTR-qS8H&KhK1*P-D2>aX>u=%Sz%~vhfBVDDSGvzfgV) z`{am)R6+2Y11k3ut8oGp*jg6c{hw{7y^Z$Q?Aba_Q;M~>8ChkDPKhg&@KxrvU@+=L&kon@)I7JBi@h3D(O6@FXpcpRi|z4=Z0+uYeAB#5hS~c`id+Js2{5X3>K`pS=^Rxj{jFbP05`mW zuna2QJ}8;-=*3e0kK7E7onGhI%k+VHI(ynv1Tt+vxFb1-z@ zyXg`OId(UGmmWO0aV5_(R=vOxrpyVGE&0nfDAv+C)ZJBK8Flc>+10ifm!z6Bl{71V41u zgYJt?h5{Af?mU*eUi$tWmF>37cmG5~_VxCt*o>K`yT&i>w{(0Ow2PH+^?fJ>Po$9( zW=-N%&vJL+`W9^)_CQr(1HJ|}%dg_LSDbI+-ukfy;5=-&96JrZFs*od`NYp_Nc3uX zHn>k(EkWa(ZON<568e{Xh^Sf+M$Fr;>*}<*w=YiEhp5U^Len$!a$G8IPliB?RqB3; z$UCwVO&8%EIU0no%fg*cNJocYnqi;-33iYdC6jP;kWm`mb-b!b5!rY04_|fk`Vef5 zse{t57C!TVXJlCs1p1kZ%E>etZ zHf#Gn4_nZGRUQi%-Sw`q%C9+{BaN|-`eTc#@iadxBJ>Vvl0m~?%hZ<}#i=*QX*v_u z3qyQ(^~5IPdIny2fHiinxLeTBNimYJQbRpvvqxVWE{v-SPaKq(H_I-&pS&vK{xa;d ze~goO*OB_#&T-J5`?FT1sXtbT0|ma|h#@%_kZ?3K+M)ybN1}$1*P*y!#;2EAO6%Eh z!{>K@_LQ37obY%m1Fp^DY9FbvwhIvD9@2jmW-~-I5P5EZ(blh+n#2^7&F{nrv=$Z9 za^uMmBdiRT5cZb9jVp~whXakC+pFTeRV(7i<8!0E(=v>~-w~Cmk#Z@H)GtO_6o^}* z+x?(4w->p;N5I6~1O+5~QA0Es?TEG|R+(FJB?^H@X%YLC&b&=#%^a-KX|9O?!h)4ke1h_V*~_CJR)Cq5mf zKC09N^LrgfF)E5{RvapTXONN3?^!-ZCs$cmw1hYoW3AgVc!UdvNHc1i_l_&x=TZS* zq*n{6vVVk{d2;y4f-&;_eQz>&sW zV)jBGtLRdlLw~*2vIu}I31P3@5RGR(<~_!hVMN%KXYv>T-JTsYo-@(S*tr9W z@7rb1XJF4>L)th-E{k-uV~wns6d?Q-NFJ53v7naSwIS`}9|HQu*>dsZeMlV3+?KFk zW+Dhd-z`?%P?-_4LOD#S0ry<@lPYUTvNwCVJ?8kzyyto`@OE(#vG+U7zUS29BsQTZTVi(u$i_unjE%MzuaQwqOBbp)jL+m)*d4{Yq!I>~*S%=kTvEp4SHn`-w0TwH!|RS&r}y z^ADu%qhlq|DIIe+UoX8vuGZl(!yK*K!3!tiKC|W5ox^-=RDCa907<;mG#;F+>#^=% zs-$n3W+Aa@mtWcyciAtWvDcLs{fr0=H)4r&f-GG{L`P?9Rf5*W44h*q^nB-5{hRL% z7{@%Lk}BTR$4O+W+-j+PtW=a~678w%j5~f(3HCDA90FN$Y={O5noAM&P$D}O514h6 zBd_}1(Y)h)n+?Zng5A}UKld0Xa*nTv_JxpqeYWwtn}Rb5T_GP{%xNIOLRH?Ipu8!| zW8olDWK)O}3V&|7;}L$bfUDQV$dNFzB%;O)-Z>VX3n@TnaG{#WW59tDWtMCodw=w?RQ!s(!~H0rKeB;&Af*$?^$Di_;=W z!dHpaM7kbEXt?lA&;X3>1dx{!P$!?4J8a6v>=l>FBf0Q&e0oc!GBgE#m=N)ACG z)mwF~47K#)<}_`ID5^Esb@&K8N3T*i7ZN(zf4)%af#^(B zlTUqnXEJ>{L+XW*;p{Hw+H<==JgP9#yPqh&o-f+Nkx2eFP~?-RAvc0V?DfHl zw)>$}oFVS31C}}GjkB>*kw%mIEkB*7G!~B3y?c5_9eqxf1%8~ol_bUuL8^mm7j@Nv z1-SB=swR+SuCWc#Y$szeM#Bu={0_1h%P-H84hn2!EZ(gLhe-)<|I#BIPjC0FmxkD_ zd}H0o%I=00yF&O!pFceB$23$e5Ukw5BCcm|U8eB$_!LS_n+D&ZuK^!BPl#viS?Gqh zT~LpFE}t66^2~1}m~(16-ULAJF$C_9?RK+-G_i(DfNur)EX*rzClOLtKf>vZHDg^0 z{0n6_SzD-`66qPl_^X$h=Xg2o?brZDox1iZVIyJtc=&f~MmXRr(YGPx1=-!I+_1|K z^cSQYmD{)9xs>0?MEQ6D>BJ-NtU&bqOm3wDJ;IWvdQETAifqC{b~g`5azDoU#|Xdn zk0+X&-rik4v>{4Yb25St$W-}%bsu!u95S+C)58AR_Jp#kGKG%aRHaVfpaASq1OwdA z7LBwo;MiF0b7v7)BGMHj^-ejX%z0xszUp@Wsty@IxucO{sAO9?XfyCLt8m))<}{_` z)O`-3mP7iCAsHjaA}OlQQ6$d2!*O><-{ZD#w63OIcg||`?AXXC#xAsQYH6mrXSAc8 zUEW#u{$lPx^ha+`ON)f(UQphq&Z~Z7$gujAaStTqwq#jLKl|vWA4LZsRV;hUBap=j z(lIyL4a-uD+b1^yt6a&KV7?2Kpeu4aG&~IX*mm#D)ur(|;#L_~Hix5cg0%0wi?o|d0paFN(nS-^ac)V4=HBdfJDZPiF-G(hx^m}jlo*>e*FDEJX{dV{giINOO z#u+|u0qaJg$Fui4_N?Zy;oa)h-Bx+xXx|B98Eg2B2s1O26z64G5PK{;==Wt0SeKo~ z%Ejt@qrHt|_Sw(FJU%|H1#^gNJh5}A;z?D^TT7z9 zh;FX$mM=ce5*zFhXV})JLYy=;&!zsJ)T@BDjV&)xZNCG)N-D3Lv5nJ-D(o8E8I+om zgj*he=HdRfHG_Jt?ZMqTO4QUIhAbNq&at#JTpIfcBQbp`_b2(?e z_xHW;JkJ@{fWP`A6@Zih%?<(tVOOD7X!GGRdE`9yTf+S4BC+(!d7aV92^!iry}<1> z2J1bmO56}R3(g1aA6?%cKXd6TtOUT(*YBE6pCEm(EV(-xnrFdpmun`DrE6{mp=VE# zibX*_$tmN2SMC?XVdUs;^>yuI<^lK_`5Ci61@euaRlXIJ5tWKC#@*SmrTie?FiFCYBLCG~pBA?+x))h1dUNzT$j z$hW{w+2ciE@zs4bGq1l(OXmfoFTw4y*L~Nlei!si`?EFpja21^sdRzo}y@uf{@z5zSD&e zbXWB3weuAod#Zv$kbJMC*L`_e!BZsmQTP&xWTOyy4;&U!f8EKvM>Q@v733=r8X*f= z3=r&aCO(8+3cMQKUkNMnuYge^Nsl^`w)pBiK7;<^O?lcDJy2B-?h?+mijLTiNxV?i zWXJChnU!b^<4H>UqxzI5U5|9xL#tKoSq1{Z)(G4psD%cK9S_F3Jg3o-u3{g(m1oz>)65OhKW3!3ltZi$83F=(&-y1LhR z?8~D_g07^vv*Vpn3|B?P{QscC4Xd+*+oU?y1CPV>Ns;_?OMc@&*)D^w20O^Px*oe? zfh~vNLskXsRiWJhc50(2tjpJu4eyPDAlDXv?yPv~L86q5gWE#CXBkOY=HjXR;H8xn zhw;VLlApCe`8*qbdN(IYt(F*=1SCvchoTm$WwpEQVCEg`%q;lzxd!az(PdQ))QmqR z5p+VSO_H7?9LNsB%!+)154l;Gk?^44BPz%Q{F_kVvrMDQ;%FcInt)RW8^wgo&<`D| z&4TQyEi&N|N`T1&_S8Hjvre75mYhUGfF%W#P~(Lr`bGa-1FG6#=o~I7R`H?R)2=e; z-Xl%B03yoMQX!eJXV(0dT#nhr=Nmigud`>1)9r^cc(*~Yy-=dX(zB%=i2#V%TBpkn z-*lX!SU=?7I(F^y@`lVZPAVzzk~#$K>`Xh7wEW2DnaVxBoPU*Aoao0v0+UQXQ)AHp zw!VOo95Xbs?XRDpP5t=8_h*!=x$%zFphDJd)rH%pCL0KbpFJ)X z_N$?VAb^6I!lcFr52jkrd_E%iMe1O+Vo|R38kp2_o$Ux&JhM1z2~Zju4T;iTI9Ol^ zaVz38-d>+ZXU$uuT!eZYV-N=ixkxXe4$8rWIH6;_UqnTVNF?@er)a{$OTgw~4&IU= z`R9G@Ayx9?{C2h!9+x9T@FFQIm84(3tsjR+3ro`aLO3N@# zh1zLrIEV7sO|N4A=mX+e(Y&`%P~Ax|1eO~oJ0b3FUCn4(phTYx+7Bh&GroM92#0{i zN;lvk9$B&>lBePqu#JWoPwYfW5E8(?7YtxuTMZRI!!HwZ#*xcd8T@kak$CN>5aRbW z?SsD#;|}?DHY(q&=Xr$m?TgjMO6cidwzoe&wGt^QZ{Z(hfr}%?iJ#4Kz=PN)hYj#C z?or3UM;G%imJeFT-!Sjqqo1U>Q0?H7A$Nn#`ozkAvL-=-5jOzSZ;;3j+sNM%tUsBxQQDBkEuzwkFI1DXIi^TVLe!qyEhP!>tk@q!F92C$_w~=g$gF@ zO~j(YT7B@@X>a)42!*|L6^Tl&cOo{x+%J#tkZx9px^5N#HV=@ zHAC4+4dDyyUp72!sjLBv^MbpGcd9qC{pLG5OQ}wBQAOn#IAuOYo0_NPz@5OmEMMR2 z8i~ibcwINUK^co(^XYxEc1QzeKBA{gbUFD}nrU{SrmlVkG|BtK|^m_>>Fz?xd@xO(RBud9IR zSRU+>UKlO(<7OY`y1ogyhN&9=#UBZVCRK*<)i$OjkV-rJq2~*skJ%&OXRa}9_1FR@ z-``vDq`)hsF!NBf4!j#mNtoa$hQS0qgN2MHe!cp|XEAUln^^D2JmI+;(nf~^*7q2R z#Pq7{Kfg#pz|ULwk0cwl5A~CbFN%G9>OMM(vF=wd&S&(wF^NCb^=y|L@LHLqBVPA^ zzlq!vi$R!k8?CQtZ=NP?SYBtBG6p-Ytjej3qJuKw$14YoSXU{mjc;oZt1}RpHH_>v z4zBzZ*Hwy4s-aiuwQzL}2A!R+puH=m7w#STkcl9qC3*?#0R4*r0=$!|^{gJh;=aSO z;Z8N$IsrRtND8azKsHODpJGB2js9^nrTh5@4H-58bD4x5mzq-~S@BjxHd6N!qZDw8g-srovv!%hiv;!?XVaxf9r$@5(no`>A*^bcTjLMtXZ1;kUBl5}c_`aZoIE z)Zb8NV{QHRR}H1x{pDH9t3}~enAwp>kEb;*@Dum6V>l!1>i)~;(JUG5S zshC$U*)DcD8X8McY|AzW#;C+^C$6AaL#z@Hz|k!-=TA2ZbKBF#kXmE{~#XIwSBZ2=r?aJAJa9}NwBR+ z8HAzde#U&4+D_>e5oXR#p5L8$_wp9`bMZs+rC+TdA7nl3aBX_)7p=Z8&r5g`ge-lF z72gn-6ZKbkVvq0(eq=(6Uy4)>;12o+g^~SqC>a|sr8FWn=gTY^yb$Wx^+#Krt;X_# zUVC(9EJ%rp3IPrSxylm)<_)7A0~O+n%`}OUPRG6IK*Nn8s{?>$6zjU6;8wjDXrjsK zg+vnRz7zyfgdaoUO~$7~YJ1rHT9;79^nC>Rp;=SlJhM!+pNvX7GAoh9oiXS@)-FQo zUHD{APG;#;;22vEDaI`Rn0^)EU?+V&ufqv0U>8_<_ezOfC(;U;Ov}#%V-w z7D~47e$c0tcHG7DPR^&b_O7R>CH>GZ0Ur?Ue#b8d&<0EP?x3|^^cL3N2+R#h>^3fy z_0&e|oQ_efu;ycG1pVr)_oicz^XHJiA;Ay{g=+i?Nsx!SvTHP@0e=36RJV#kHCPn) zkNdSV44msQuU|Yu%kozK-b_L7nmxW0>1<@c8h^J9PKq^qk<4BFezv|()ZaU|9!uwe z7sriAJl&YIj2H3_7DA`B-`(KybD4Kb+vs(fmp%`4G_qu;vXLn^rX<<*ijmkRQSPdV zVauISju%~$N!ZGW7Hqlc8o}6f%kY(}I=lQuZmi(P7Zzv?Si;r7O6~8Kt3r_ozu*C$y2p#X620rfv}hG{O(1!) z%MD)_tErM=q`a*6)weBHz1`TJ)l zF|j8Xl?%b(YQdC_qG(I$)ip1qoq@$s;Moex#nn^uZQCxPz3mMl3H3e$QeOxF+zwyA z>;SlZgCpes8Wkfz@EL_-3px@~t>4@_`oGTRFj^hQ~7d=`$We5{m>qjqftys$uo32PY8n^Gz z-nen&!40nlW#c!sIplt1H*RF{+_*t;gXM;jlZ~UNjoW*h0HBZee*HoitI_>&0vmaPgUx37$^KCtw8is>aF&d2z`QKDrfs? zqdE1PZv|e)Bty*nkDcs&>@427YSjQ(-Ldb3`41nK0km|xl36511p9gV)*-1_tst*e1NoI*i9Nk861jIpCAU1Q{)0t9Y6?*j~F2GP3P0(yc2IUpk~PlBn^AvJpAV5OFQb$YB})vAc_k zg#+ui=vIQBF@AGP<=O*JsC4uwwqCj=ZOdF&Y{YfRRlcVYF{i3cWa@@yerCyYS}V#5 zU|$Z4aW!wINp0?>XVs2f@p(rR=SJdFbx7S+sn=NP5OasmCOwrcI*Hh%AtQWbrm>i@ z<&f)D1Yb&Gf_J42XVXOS?n$AnxvNlofE=hgM}(0h6K>~+r%dCdL~6ZWe| zGu^Mu{lkPOG~tw=N~PoOu!_1(s=PYzWJ#iLx1JkJX9=T~-oB;j?HT%f;z*#&0q~vd z{ygxQGUf%-d3j=6gsEfM=&X{Rf^~Q+-;f^@1HhIbPXDSNrQPNL$55IZn;&PLs5sz6 zr_izB=QRo?2YGF>J%58h21cNha5Azd7i`On!(ys!PCfK>!=gSfCgjal!aeP-fcL{w z4}VBE?XeZU%0jE=^rzqU&Kf03Oj+wr^RuwtJ+bJ#pHs>)c$_uv&u@Dh{odp()>`1B zRM&SFf9G#!V!q$<2PKQ6{LuRWU7?W!~3^g>n8ubwO>0u z!;RC%=9N0fRpd-)XZBk*m{Wzn?0ZE2`}SnT%$5cOyk^c8&0%gh`M9U8G%g!g#J&~y z+)j>uk7K$O?>|0U=V{-WCNsnp9Adm$BxSU;O0*X@sIK1 zP1k9d1J)or>IpF-?J$O>f;{zOVi7|gkbfv84*+k9Trfj;t7Ds#-- z>p6JXX?+}!XSx^E@_ovDo1w;BSg+W9NUHF&79{ZghE$u+S96V1Z0%Z!u9lYq&`W4m z!)ao1{pMHrjr|_a5&f=5mj)X5c5Cr}55c1jWz4BBw{Y6t>H4ZWS`#Zzw-mWnv3e+1+&8 za;|E%Xt*D-8kjaB9k1jRYS_y8clfL9#sTpUowU{0s#MXu=)ln`Ijc(XevdbbGz#Zk zEbk7D*mito2iK%;2cT{(C&dV+&iV8>Z%6&omOV-?>Q5F_uG=|8HT6k)x=5iUy}w&7 z^CpVrQ_ThZ%iTJ|PBV-(GN*HlkUpEig&i)11>C$+)XEc~l^M~72yfxP9c?l#Nk*Y)mN>vzheYqWm+dr+$paN9bqk)T|wnjWq(Ino};yrW(E8Z z(a#e>VZ6E=zrfs9RhGwAn+Fn57!%faY_U`wE8e`0q?17p~)66C!YF&nK+;O~+W(DZ_ z(j2NV_YpMU0&G#Jp?Wko$yVd_nd$y{ZM8t&66mjs;nSY=DW*jr{`Z;KbA^T}&8g&Q z2RV5We>=;WPu1iTaw-RZ$Q;OxX1DN4?FwlUM7t)&fZLkSNi^s+f>u##84S?)n@aS+ zpq-e2$@cS&5zR9C*X(|kkP?d?kE6)w#tk#EyZ@_t)3f&g zdU^}}|Eo7th*SEq1ddxleSR!q?4Kb$4T3F9`MA!+eX>+k)|gtYQHfw?C!pPB)5}f~ zPcLsiro8n`E%iy2O1rC{#jp4qCmPxtN_rn=HeGD}Cv|?)7>70w?sXtVU7O;b1trU4Qi*j&g!np_I7!LPatyK7 zq=)sY&>}%nH2Amgh;J#}T_H1;8??9kNH4f`@EmN8OAH?nxU#181WZ@Pcngqzpp!fw z3mdxv2$H8y10r@Lye+|B@Ii+$@~~1EY_K3~5BDz40hYIg9!AQO=V z??xfjz`D=vG!-ScYB4S8zMBt9q$XC3hiW>S>#2pH``ejczaJl8MNA@*2cvUt(UnFR_W9cd?ZVP!+}W0AyeAXmXl(xznhnv5v+>*h^F{zc^elJK6y3%!7K4(nE_baaKyU0 zi6^G>zgiGF-n*qO`1u!ee20e2`hx}G`*V%jG3P7U=g7O?2Z&qTJ?p%f_m`n=x)^yRIVg=@zj5SXD;cY?@;reUc zHVq-}tWp*gS+|ESepxGmE`>&Ow+Wc*MCQxSZ1E7O3hfi%ixkUF)j{EgV!UlVHMdU< z5?_7C+ZS6nVRb@+-ayNX-9BqD3i+!Jvgs(a^rM}(G#b{0f^zEf35?#`J*mdn!Ztiw z1_G^Yi%F0#cK{Grg443S!_3u~i|@kNY5z=<+nM(4x_) zfYWdMdGCtoHbCgRhQipqLD0@QR>=x!8(Bv$Vw{@(8>f`|7EEYxwQ-=YIRPP z4fApxp!ZC2NplJ)*hNkjpz<0w!?O^i3mi6gOFoJyAVw!p=9Df}4gi0aG!na-H5Xy? zN5X)c6Y~nU_OCEMPf!@uM0vkNacOje$6P=9z|Jj{iW&%K1^UDtN=a2a$kAGlw~%;_ zehAt%C*94ak0k7vDQjU0du>jE@}I;sCh1gyzH%?_=8Ju4x7Gqa#6cPNiz3Xkbs>a} z01*xCp7ESeT;x3rvb=MSu5-hu>1%HdI_?3PAO|#yYzpJe~-ADA4jh*YJY42=jQI5 z-W99YWuG+n$ZQI<$}ZpoCyHrLai8X&j2o@+5}I~4)oT`__fqgaFQrBZyesKhY6|%l zCoYM&)!*NGcZ`c}wA?~)LS9sqHwfO*1~WTdrHdWRWmaqx;%x_+ip6A3Gw){|F4KL| zw!CD$kM(_v4Nz`_*DRVkW|-w42RwdoS1SQv+Js!!-)esuIM))mMcT0V$it7h=-8ij z#J5KWS+&xwoNTO0WHZQaHibQ#`sZuyALGW;2N55Iteg0~SzAlEh1Q}0uTyuvFRo$c z;3;TySgLoZ?9sC2(o#xVETAykIkn#P0{CAI7An`i1)^9#_|Hoj5by+Ezd61SZqsc( zOd~y=krF6>E~3yW13tJCVjvo`^I4Tt_;|Z^^lwnXv~(qHw2Qy~&iOx&*D_H;HK_+A z5{WmS&<-0Kt$X3Xel$E)%iylo?m^2r9k?urP}ba%LqW`gsdo%ld#)ZQ$Q;6RfVU(Ymk=kWzX!R zbRZ=bvD7#-HR2{Nq3}+PH}B`giH3kWj+*79OQM%Kp<*P5OcvUcDA)Exs^a(qMf*1E zr(OL@%Doin)YBES?yX!5MM_>9{i`(zKi)btNweKby{JZprrr=>ramepbmu~Z8cCY(Cp0JvWl!{sR z(YRV6_}~p2vI}qXvO-TqvjdD5m!SP_OCMrf3jwxNFjGFgysv@jcAKDuRFdYjjGf9~ zo)IBTyKNkw;@H!CA-YK`SsaZloJ=_Xot;<2pi&&4xtCU$U5a`}5ufzqm_+TJ0iz6WQ0K*tnXx1}<3b{@wO1E3CUE{!zF?ZX4-q zZ4)X;y)^lBMbi2>;yca0OlSGU(_5d7|84*3kkm^JPZMFD1#iaOVxQ=nw^O7HXSPk( zY)6IA8`tM7wl;)Ovw;EyRvUrh$o3B3exds3qBS2sH*wV{)v7F^7RcOoA4y1%oa8VY zMS(+Nj864_AOd%TwQL%WY>m1tZLqAwD2}c6ZzEX+9>{ply+_gTQ8&Fs*5V6b?aK`B zFv><1O60Ulfk4DOrG&nz_B%5ryJ*G2tAD34k9r$AF&5kCUc!in$83h4sJ+##W5b*@ z7CEmOekPgfhe_&2C$T^C-os;SxELDgiKx9_mWa2MdTHGAsZxNo>OTjEK0kNxUyonz9()1ATVH%R+WM3C{E0p|GzOPwO zm#9&=i-?9@l&GM5u&R59NB+fx3_hSKOdbA43GR&z2lhp_uSNlO-h72A%{k! z@;}bi7|GOirB0p%MnJ}PfufRIsut_oM!b|nHP26og7wCPTGd2WOvX5grl<+#H;QN# zc#Vv6G8e95GtYE)`-|M>do3yE5}0P%^xM?(BKEoyaDV*OqoTbe33Is<_acA#SMxuo zay62M?5k6EEVJ$wfVEzdkDUl`Nz%{JFLGnfwsrnuM&Dbc7H{L9$ax$yI9>UTS1M|x z80}>FNt_1Z_`&CSIMf|^{iqGF4CX0PT-px9&!Kf_D*3H)#RwKI=&%BdMz@bd~*c&_pv2R<(z1La&LfH z?Ru^mXZYE0B@P~;6Kb7*Jktg&KVO@N#fZjBoll&ES}TK57N}=yZ5e>BjdksYl(Cq1 zt=jVIQzEWua(Nkc*&R)5k7qLsfW4o0f|%=srz44lrE`OcMEJhkG4Eq8oFqq$MDp)p zyK{*Q4~xgM2%R3!H;@^Gj<4kmmx*mk@4`ksOrFxGdgE?=N>|X$UnRDeb}>B*Hp1Hv z`f+sBc5oUyJ3@RcIHYgc1h)Q|{{g7{G4FHS#CPbXDb>hq`O-o*|HbnJ(+&|Au>WdK zOOV=J9oytWB~i!S{Yi&n|B;Sm>M1&1Xc1vqo|Jdku=9>tUi2R|5)13cMLb-P^G>|vjN;| zsu(3qXZ?ow0+y?U)6-Tv@yLJB&N$B9v;FLXP8k&3w-9RMdOo7siQ-yS0R^9ruy1GX zY|J0HKX%y}T)IjX@=g`HJp0Qvr&M!dlf)Nf9#EsT=(R=>N1(TbMKQF~ae%~w>|oRNOsxm|0b~$zG>-n!4mmPJv5cE(*~*_EebUDAv~tZUrsU8Z{7~(b zuElJJ&fqCin&Vrb@Tya3w42@4cUkszv+imHSvcQkl*4yF&z@0yeF0Of3xu9M!~`48e53p-ns+X6Y&t%? zMFTo=djbc1YDeUL#of}{T223zwuY>@8Q7#Z+ce&75z zuO3LCz(?6O=X#Vb)j~YHXKb6Esa>UGibiDj3UYm^RVd3>l%Qm*vh*8b4~TaWlW7r6zC>}uWDKLoO}xI zd@;1nHHFOls{pU3z~rZ>vS7D9*6jX*vj&AtcP+5i(nZbF*#e6<71uuSJ;T;sC$8>M zEn8&;Q<*p5`Dz!oR`(T53;XX(Q^QUH0#UlzSP+!E4qS%S-0Lk+W2=C|yLl#4atr#D(I zX?VdYSO}Jun)T>q{*OOD&Qc#R28vSsl`Q6j7CE84l>8H^F(MaAobMYR2HjQcqZ@PS z;~5)fIs>J0j}tDuW(?SS1KaxJX{}nPWjh{0$k$VT>*`p23odxeQ1-NswNi)DEp*31 z_fdLNf-M7sNcs*<)Au3(yGAl2g2}o6bD;;~S9HT; zE%MZ74PQd8A$4+g2+e*KxYW_Sy6cou;-cwTjVJjAAmZ1iuUu;s^pU| z(yFUvMqzg-ce4gAe%UW^{~G-oV=xlDu{LbD;bH+*0L=VSMYd^G2Q^68^}X~KUsai^ z3B)Z=O&Ng){#kHON6bi>Ukc;dQa3`sWEr2kw(b<#v@t~6{J=p-{2jkw?6;Y(FH$A6 zc*iIoYyZka^gopxblv6;caAkv<#%^hA~`nLD;i`LI(_!4@f^D${_(}7f-+q$W67kR zK~641st=S2Kx0sDgRG1t&*!Xgi(hp3`ExVAnt5FS$!xl{Zn7| z?H`c&@86Pa8~UH5?N z)E}(tOP&jxq-?mPgGa8aaa_-5ujz$X|K97WACRG^o2q)}pGh%cxO`ga(DlnySm3w- z5J@XDaRv9$9;5SL6p{M0s^Ngve)A22h6f=}Q7AX9sINaP|!OUT|=AY&Mk+@U3 z&vedr^y_GhgNbD$_*0~>3Zn@+S0ZUow?@6@h2mSJ`b{id2zPmL%^&VajIGHeK)(cg z?WCAY@s$|xEi33xPOof>x__44_AK%7vIRS%UBzy_;rlm_%c zmo2BKBOHT6JuM_rdHgSoaUz%RFoPvkZJ}yF`C@HRWz|0wHMv|vf@4K(6$KyOJ>dwT zh>G$^>?qZs9Ym)XZ|WNSG5IEwHRhDjXO`LL-WQm8?#U)`M*`8r#Y*HtMal(5j74xUw z7kx8!Tw`cel;wF=HIQz((#c|kks{R7X~D(%k!(rR>`(Z9%;DHQ?NC!by#ZPIBTqjl zXwp;l4t~oG#W8QwT;-3d1ScT8a)bd9@(H=x6)BGM)Z6eOpH0UgEmiv~eJ<*_iR!7- ziAMdub9b^JH(3q0-xM|3L-Uym<;sb>pX1XydCLAs{>A(g2r4JVAF!0q{=;5r%;t^w zeR7^Iee6{|QNzGd!&VO-&>h1zvAUNV>Lo9wn*0lpm&q}BFym79uemG$Vq zb!Hb!lzy0xoVO2AK3|!CH2GQ#ch1n6eI*dx-A_l5?~&9FXo=`pD;`aDQ zzbli5e~xc#nZt<(*AV03j-7^bdVz((Q8jN&g}La%uRpEboy~0ZBsQ>|D!S^o0=2k6 zLWBN%pcZ}?HjSL@S)Q=B7FW|T2CNKU!bFC(biFaCyCpEGdAsuyR@R_;kaC%kmBG&S z|Gh0&V61VCm%e-^q`PcG_I~rKK7xg=>p#EW`{$tmZIa74o{!loYa%_yZ1Vk9%cHX$ zTmg}I7k;3_KWaXaqQB)Pt16w6aHZ~O!zHQPK4EFuYf&r{_3LU*VQ3H7c2q1KAL4v1 z$h&V;$@x)?w#8k1IAI0HHBclwkjH{Hkvdp!!Zb+0Vq(EN$zaGcZF}8Tn_7aH} ztCKCVG!U*q{#$ugeRNZi{ro^JAM+nGXYXlh<_oM;wZ5Dw2f7`H;i?L!}DCS1oBZ5mE!>AMFxmO`ETZ=pwdQ!hf>*XOgI6HVA| zbhKJnJ}7dRoHF8YoS28ZyqI%Mf{!~-z2IL2%QdwMUMEKcp&WqY4+CfEgW!ACVU6sTAKyjtl`Bd{JEvE#D2~noz#=Ip7~8osPTX$+;OSmH>_Z*!Zeg9pY2( zB2#GFcRP7cA9dPM3O2lPz(1ah9aWdnGS52UT_rm3Z-so1R2<^>?K=6!O9e~7I{F7D zn%&h`O*;Ix|IzEi$c>XPc0)7z26HTSiMb5rD5-YV(;LQ8=^4Zh#hDdakB=hp`rY3V zQtkEolrXe5hy_Rf#Ee>Cla{{h>JsAXT!lc1w}FzD%C=Iyd;&2R<})Aa0i)`EWsQ?fR> ze@t;XPq<};FdTZSad+*{MT(c&VFt^|Z!VBG&94_&s+ba@mHbcn7>U#ByXAEk!Y<+9 zovpWLZhllvWq&R9hksxu4$!ns#VFM-_DZ8?USL1pt+Y@AO|Wee;y#mMSx58~ACdv{ z-xa%Ev%))}+4H|1MNA6rmTU+4YbCEE(Azu)O&n20Z!UjgwEk9k1w%&^ZF|dWzZbLo z*3KUrifU;M^lA>i6V10zdaf(3<^Jl>@pPMMBlHEjg=Th;FX3%~rp4j|Lt~pj=ifV_ zG2DWl1ZGXyjL~gsnHcvikCab?3DI>3`^=xEiZK%=W#agkUODcJkZ|6mGN5uOfiIY@ zpD8=Y!P1eeaClBnYWydcPt3$_R#U=`KsH15*ikw)LIiAp!h2__o$Fo}lc>f>myMsBciJJXv$tSuIaRS_JY9_PU;&#^Z zwxI7P`7*(7w}R1^s23|ls^%KzhNimLDO=;1n}Kx;M1AD^3#Z_qZ%tlNkZ$THA3HTU zqet~lsC+WDgSnf5(qtWMo)TuuMZea3a;~`!{n>4RI zW_X)_UG8SkDfg5(Ba)F1;Lone{ANORzWVsaIp7W@S=lhbCxfzWuu!DiV=@-NjU-f2*j>Y5pX|WmPD7|?LEaU9jTjZNu(!0vBhv7i1UG8FP zT(oJwyrB0=?#;@3yG%p1tyQ~~zk|fzzgii2wZcT_O_pP$(1F3f-lFL;wDNBUClMU*;<11Qj|BhXo=Y;(A&J&{dR#+#f5GQ zqufU#j<**cS1gP^nlzMCk5r{;uNCbKPwTqHMvw-%HZ6WJ6Pyh3iZX9f8Q&F`aTMK$ zG|GgxPIol?&o~bz=Y1)pw(3B0Z}0BsW!I4(T^=9Og7GW-G9%bJ2Zj6iq(EXYzl4MM zh>lCrLF9q&i*+$co9tmw)v^Sm#Grs&fb8W*q@vb#`?I*?=4(>e+e47D8vd8$UP=oV~u4*K)cPakGABObrWDhW}T5V0Qiwh;^h9Ha*Rr~ zVzbPp)O+h%O0LRToA|mLw^e7iehgXY8{Mam5PtpYmbFd1e`M}1o7mgPTKDW@<%IW- zk^fb{Ia6R&+#MJDH=b2s6vwf8+LapjAe}d}F?-jiH_)tnfe!80RL%w5m117t6O~)e zGUU92BQL3WV#8hk9|TeIa_-sYGx|PDfsX4}^px)n&RTT^@{yqfZs*R6Za5g#kJbVO z{+@BuN2mWg(cS@pVJ%!ei?E~JThG6W5D;}8wi<2!JJJ4R2SF5gx+1Xtmx@Ev*K(IE zDX&?PQ*e9V945>_H|INn((~zBj0#za8?4`p6Q6XU8k!@ub$^kgC*#R^D5C;eNwVzA z9mY4Eu&sOl97YU5FZhXaa3gfmOfryj7}KxDS|}7B{J3&`YkFw(oouJYybPxh`W`T` zQ|{Drn(2?Kl>+AYG_GfuCL#sjd^Jft>-9<)IQE0Dkrms0oEuLMX?!F8i<%(70ZFN& zaF-iCv6W@|-gbXh4PW=tZg^Zff4gk{ulh<1?yigJlg#R61>?*!V+@m8U==nl$R^2$ zA6Gh^dfc{e=fLEPfQbtn1LY&Hr6&T~+YGvkvRg>WJ+fy+`=GFg;nzpIZ2r=EpCm{; z^<{2tSzD{VRIpzq>KdsigS4Az zjEBl(oC-9XFNDf%6tj3fA)o3juPS7#2FI3($?CQ6Q01Q) zPC9@dz(rmmfm)!<48&8f!BQ7gsG{M^7uMKPLY#OpPyCyioD^nZv~8^=7lX8NaF3*K?iY^!=3DMl%9eF}PuoNzGj8K|=^IidIUw z2u^>Z=ye$0zs|1~r1!z}c`2v$4^!qUNRlVZ^9G~mB8y;+cS1WH>6qC(k64RASwE2! zP)W55A6G4zR7XvZW#-HDmyYKvY?~W%cHCgCuIoU^4m2RNu-jR8d{w_N+tGyZ&}TL} zmbgZ+jP_0xCxqM%`>@0-q^;3@l|gGP!yjWPuT|Xgdk?hB=%Ky(S&G1+``Edb#34B+ zXeoL9Ttz3KWz2Dy)AEu5{s8`C3MpJXgtX`)-=y~oNzYdX#eGb6d<&ra7hBt8jzdb& zA#b1I9_xBsJ3NbhzvI&^wr~UV^=`n3w^c^#|H-Yn*<$Z?VG7Ea$jD;_yMpZ(CJE~- za^|)#cs;a!^w;~T)Q|jgxjS|C7k~XdFWOBK#ie1J)KC63!^~BNpbR&);(pc_+h7!R zEki9*v5%;OWN27Z^tyv19)5ohEBGrkO70YaZR6FAJcRduef!txtm9OF{>o-y_<&`4 zELggrW43w+AOEw?++jOMW*RaZf{;|tZhrf(gu#S#P*=-GxkV+l_L5vSftnwDY>M4I z{3=u-0zaTNkk3mBvf6E=aZBK(l&+&l=yE6i;VqF+e1@k5a&v+KhENeS3ed(>Y(T2j z0u4()4}4ob$DIZG9@CztF5^UbkFyh%p6c`9PmW+bQlOff^Uz2+deJS~20_M6sKHFa zvMty}EpKq`3iEvPvH!jW;PAaqdv_~CRTIXG(8}qYY%D*)(xOf>XJnsh8S$K7+F!}s zI+U;8>98_A3e=~CjSn+B8Y`&1#S=n`-aN>+ z4;p)^PzWvl#gnk#H99tFnHG%jqMF_7)t2%7aC}uumFm(CZK7LBPVkaUl}^Q07FDbk zAC1bpXGi-=O$J=pe~P)+Ith9+9+r^4aOc8B3S7j4ad8~jPmn3BK`O4XxH3;t`W9d= z+BxmmQPzmYfU6os$SZkOmLrv!vo%6B_}JR9B)pqpF8gk(=*Y!08H2WGv(2w``QH`g z_g%`@h#O7_jO2_D<*-wSTv_F>B`LpqX4xzdqx}HXLo(X+KOh8;%ww2C_V2O0wm0BA za5NYB0Pao}S|^hL34%Q@^H%Y#TPd&$&$U`zu87(*)x$MO7v*^EchyP_g|($CBP8pmfwGvM^a@Azhkj8@<#4?aGg%F|haTFPWQboFVYJnJ zq8h0&`$>PGH2QZ+YHa4%=V{g7>D~W*_kdn~ntr?>6nn}a*&X)gEuJ~1pf|jYOK=2k zyVm{I%TN<9V>|H>j}6_d>2qeSteMj_PH}dWgz`!{X9B3%G`tG}jK3*KsxI4`LwEoh z1N~C1mmO^^l@5CBHS$D#nb0HC?ArGVQteHvl;hv3~G6%#anA< z@B-fzm^#1MtgKeqw^>oOFVIg6&+#e$J*CvyQbE@ab#M(0*~w#8O zVf)5{>Ge#>gtI7A-O#CbKJ=dW#%s%V6W0U8EW}EbmmFY3je2XE*E8E=t!hkNRig~<<;Dv?R zxXp%M=1@Uk$2VZMY4zJVgoT`z7eW#>_Em>$m=23hzyh^YQrmHd6#8$6Rmo;XXC%el zI_?pxo)39VK{6$Q5zEh;0;=uDfBK!#pHwuUgN~P&UstgnCM*hBnxQ$`0%CyqmZ0j9 zk)RKH(;0K((+^p+Dx=&c9JXUxTm+=v!_Vhg$mYcc|8(DbhSV1NT9@t|xE<+j2_Mrb zwTYL@72p)A7+PcJq_^WQ;X0@MZ23n_apJ?9jH0Run>Ua$$JS{?eRbdqe5io)x0NYs z1;tw_OODtUczwF80XIc%c~J#!MEbOSuZD^##&>uBSC8cWoGv&S;xkiQ>dxwO@YDP$ ze2yKlgv5a3sr>#2Wp5o6N3ivOC&3Bst|7tQS(f1L8eD>F@WtIFIKeHryA#~q-Q8JS z-_4bJp8Kn(Zq@t8?nuw{bWhLJ_WADToD*d#UbxKRcgO6n+xL_d5dl9&W3Jgk5>w0} z=z_;4{Cx{8Wge-)7-rNFR@QD+P{0~K4OgUsb}12-pQ1P6%hDmiiYoB~e@0WTK-Izg z#~rJ;vk93Tn-%QU#`_+W+0byYih_@%eoik_!MPcWi5WC?-P1P=FR*x>ay5r|y%p3h z%cl(Cj&%OmI2w z3Y#+1_cD@xln8!bI$2d?m}@{@e;=JT6lRUqJ~i#Cho76 zQ~Ptl0hu2xq*5K=okQnF8#(jU(GBQMa+UksNjb>fU9dYgcyJ^?8m8vJtVCTSiPJ5Vrm>(|COu;vP?0Uvk=EsdQahX262gH?5 zVVBTL0&xQwe`2Z1)Ur7p!E;M(uFv(?Uo>u<&FNzizw zZV*26XQm+Lb;dW*)glrikkdLs^JRJNv3r=-&|ytaN2b60l=binbcBQYbPU_~$k8fT zPVcp09gO0FtCG^XIA;f?C+Jx)sA34}9MFHazH_QM0y4=5gS!46HRZuTxh^3p`r>Y$YOj9tz36|y$>YD^ zsCSm;P2pDZ?q+j59qJ1anyVHH64-kgUtQf0WGBKT2vj7MkZW z)ZuP%ispSWnr=(eNmvtW_GENij%Su-+T6U92NGbC+^LADqBMEVQdY=lkdPSv)><)k zOt2P=<7p;GSBs`j)Z4X+-F+43JSxdm(?|l!LnPv!>to{^}o$i)NHB@qhVTOR73 zk5&TncH?XfejiI*(?$FpB^=SU-lwjf#CgG!7GbC>3p8h?ztT#bjfztfH~5dxG&jcg z%LTZ0>|Ye0iUcdpIXQ-;#bRZ2bI@9ANglv z+y5mb+aCQ}NPbJzHV4p6lIhRe@|xtqMd#}Oj4QZx8~?#1Sb@2swx?%$d2Xc8&+}sb z>1Z5?g)T<-h}p4^&|DiK5`_T%nQD62&vCcd@u^%>A=pWK_R#8AJs6eNz49EWbhw>q z2u-uu>s9i=z4Z8^Rw8~Yfp@IPkMSxsMjt*q1f3}*iZu}R+B4?xVZ9Bp z*6B(#{k_-7M4VgbLMQTT=F~W*2w%l!RWhXu@Y$<&7oiw~#j&uV43*su&!dmN+5`5% z8Sc<0eIErqrzqq^SC|oa&c;}M<@i=B9w6?W%Axf6=P|5Ue;85%uj@L9#Qde@Pf}CJ z{HyTuS@=c<8O}W(%MzhtnPvfD&%sGZl}_gZUOMq*eY7iKZcQ|%q_!;WO?prEl?{K$a!izGzzsS2pEmWYPj0MFjj~GS2#13945oL_g zr>h5X3iUX;C&HMtb<+r$sF=akO0<=N!o+-vIHQpRb3-xV92mnHv%F6%7VKh?eOf=< z1g3bzA{o&eI0UU_)!Ll>L%N9X;f^&E!houqcezaHfzh=KsULg9s!SQPetWGQN61ch z*Cv2TVmlBmB}x`pTbNP>itT1X3%j7PJSg*iu@tM=z8`0~u#Z5oK)mWNd_D>zRGHBH zx!s2xB@saw@xxyyoDhj$GKo0SDBm<9WDZBl9jSK^N2IukxoWEGd0TMZ8q zlB7}Evg+nydM%|81X6i4FuVIH=!lI@Pd&=?&ag z*=eGh5EjlUe-mviyI)!m{}pw|z^w2u6so6Aq$c*^(#&vk66vwm$BPe#R~+$(MQ~R4 zwxz2kB47tL&*$#lQmCy8E(&W}QILOY^EnEaV^lIo4BeFbG6L8JjWwlar(mcA|LiC; zOfN$>MgZ^s`$^8u_3=`Dj>m@6aswwLq%N>#7xYf5pkbT}5T;WB=y~e;)oy+m4Hh4} zqv~2-DROI(!*b?JY^%gW7D&2NjiHUU{@CqTtO$I#q1JBtO=o)ERMeU?znfdU;LqT} z3n;3*=a1!040azl4@ewn zGmQ1xv(;X%m!lz_Y1lYgz`6qI6|T#FXtAz1!z^|GKXu98K*@^1zq;gYvc*4%sWTVb zVbXNGSF>rjv#3~ZV|KCn{(vnrB*}-RkW-rQ<1Hi4LZVQ|mAG;YwrYy@kgRF3Zwcu= zQVW#D>&?@p>hl1r)y88>fdD$Tj_pLRxBn$m)-6z{m*^-pXR(jBmKGF}MEh*SD@vY# zn)1Q|OSpN92AT_M?OGV2N-UXu&bfS@xB_uqgOaJ*aN`%@hD=|E6-4#l5q4qSZs9iv zQ(a_7GS@HDvh~uQU^91gLC+;xaHi7q;T!UMyduyOjG%Ol*+|qM7}S%U&N)!~pZVRF z`3raRnk`#(k+qT8q{{Nt;-bjJ+GeJTn(DhEjQ4xxLO`VO$is2uy17QVMjIe`W)nh- zjF;?c{a~yAms1-3x_~byHkox>ZtYB*Y5f7B0dKGm1;iialvxQnoaX&d_Sk+cB{4t! z7H+_08n?t|Y4-GOxL+Oa9~EbKZ8y8bkb4HSRIorK%cMENGL*@qjcsPnI^IU3u>6n` z;;%;O`e*1bnWFP3yH2*lJu5Qkv&`5}qzKaD z?L(j3hwsEbQ^<6cVbJ~gB|doyU%}1OZPVw|h2=SSvr@TNhCx1|hi04r4`Fc-&aHI3 zFdz`2?l&)jk8q!hL8%Rz1Iy!$qklP^={HaKy4`C71e^A}j<#Wggq2C@3%93bCKS!x zC`JVgyy^8*8CR_?mf(SJZVGnWi6+I^PAind7fu`{ev z0;`&~@nlQ4T7WOroWkBa!J*1tKe5AQ|H0tQ^Gzbt_$=b@Z*;6Y0()$ddosytLSBaL z>6YR@U?ExS+Fsei3^QI{neXi85$l#)62~OD_;ZQrl7O1bkq;=DGTmGsdNy`KJNrHV z5;zZ=_+m1-#-0+a*OcG7{egKUnO(T;K?N4G)pCs4Szw4_`BkvHH&lGdMHD1$y@%lZnjuZ@s+M ziwMnH(VQgPz`{CvM$0W3_5WA0^l42r%%FMc-pB8BVV&6-;PJHg!)JT6MLabBFc`H= zdoAPa9rPoJTJnW|T9bu8wvC!xTE#qt!X#mqYMZ!~6EE65%GEpP_S4K??kZMqSYBW7 zTIPQ1dFSU}@PKmI}9 ze9t7KYD){2nNzpyBDY^9-o!^}Akfj#!Z(-wvuKQbRxI*MgeQ0ZmW;H4gs;izXm@^^ z|85j~46PP!aht*0>Jdo0Oh0D|Cp|{+noqUm4SH#vM6Zqu|0`n7^ZirAjN#;d!RCiL z8{|VN5Gd_x(?0edh^&*INA?aySJ7nvf2)?j1@^IZITT)VjeNP{N{YP4X-RU@=W6

    =FCv^!#K+m8nFc8?*;qJU#Xsiu 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

    9%D2&b6re3k z966M=OHM&FaHm&q&8nRH8aMh<9hKW~IQzLj-ve*u zS;bYItn*Zf)DA_cXz`Z@^SR~DmsI(2(qQ6%^~;|ItTV|T^yW`O?8Lc2VBXtCLXRwt z0KDOjcihYbisUFPz+&|xZ&})5&O+j%$L~%PV3Qw?VsG%#??6ClFW!Tw^s~lJLMoSb7Fd})QszNN(d(_7g_1U`)BH6vBK2u)@!A|_ga#i9D z_$fsu$g^nYoXcW%ylsHa)Az4F7oK-V+Le64rvitfigtxh8e(v%g3tO`3wT@l0JT@a z*vkm6%facSf~Y|s(<8XCiAkT>irrw-cR>sOwy$J`HG4Kg3I{&s7H~RT-h^>L1YT{2 zBjW0_LGs1n4ZnI)TwN8B#-7~)Q$;c2Sh$5>MZ#?dx%E-fs;G-v#>J0hE z3V#%cLz=5BnCq#V|J02)ZnlpfY)|IGxQ#LSu?Gk~FVM|__U4+7 z!}pmXRPw9T0JpS()&~2K7b00B$3!z4R*x$5ZTNU#&!F967{7ilrem$zW_-Ll#k58_ z7gFw*>8_0jnWuoeAV&obDM}iH9m|m60rVbqhq!{Q*WA45w6)wE<|CgNXF{oz=4bk|*%9wt^^{lL@OtClG$)fHP%xx= zpjogJoIZ%Ox)oa*QN97zE;T6npGIl!ZeM>gm-g*0n9EB%jAdHKeuM5(4c4AthMKFa zPd@sSc zi+`X9ppmbq_C|80f?i#t>6E{nm=m7c7ijL>l> zO;tvm98sWjFMFCa-wR9l06cvQVr?<-s1<|Ws`7wxBHQoKaDll>tHf#W>P zTdVZy(f{R)Utlqs7a8-z{r-$_?5noV_X+7kwhy~qVC2CQihq;#*BptuA*}-)xbD}v zf1*2nxWI&xV6qFVYj$Al1Q{W9tdzUa6&}kKv6^-+G)WIght_Uoh$7gWVxaP!vub`P zL8Nh(MT(EVhi>>Qv?)t9W|R|QH-D+1Zuyi1b_e19CkH-PzghEC(*+)m^~g)yhb5w1 zMxv|E!XFWI6fJ{5XNpY?zb~Q;eN?P9W_avu&b6!5^{)6tc+(*iS!q@W@aAH&(wF?D zU*%~xZ&@q+@BJ>Modj}~M;l*cJ$D6<=`rrIlQ@Id`l*yvKV{d}MkxNqM{%9TS=Px0 zmYD;3LjfIh&6(Ye1+z79z(j}Wxbn4M-Rpe*Y2>#LPjk@(hLPE0z=Ts0PO5d2liU#; z`zyV{G%23GiZ@4vO{xJBZ4>LkF`ac^c~dodgY=1wg`8m{tm0N=*^k8rT8&U$Pe?6R zs)ewAT=*{D)KU+N>uZ|X(mCD@aT~}bvR{P)L+RDsi*f#=7fKBe$|D&rOG`xP=lpug z?@+_I1TcI|ZVGV9I)a+Dgb)XWxB{CjY~dT++&d zL3``XqjC>mo&AM9x3jR;CKMX7=jR!aMF;WW>~wB*bxtBTS3{YA|c#qpR2cRgaSiQk2Veln5UFleoQnC6kLGNeLR=S zilo-3{9HTPH5ph{-i41`T1&VBi)yT%eu;k@awCb<(}Sl(uWL5dyl<8t&-KS z6p0%gyBsS&1BwR~c&?AZK7{%_uIl5NkFfAHDv);jroEB;IxI*w{ikz_qH5>@pyOrs zBcozk$$ZIXd^%??EWakp<_Da;c#0Xix^rMuI+^C+?T)|sKx5>WEvz;ODjn6agZuy~9rvR@52g}vEU$8;x4&VC@J zGk<#d?W}*^ zd-~jIts!{9q>Dlt=wD6zJ-`R01e!9+QxKDE?bQCGNK@uwPov8>1qQ1<3Y1q znjtJgYbl5Jq8Xg0Y7s)f`G?I@_MD5S7xN_JMb75S>vnotoZV|ZZ=k?mclvcd#xm_n z-F6yHZRx9&a{plbMUcsib6uB=-%;$9Gvs`(p+^Ki<`LE*u?QvFyXl>&uaV;>Tp#lz zHZwv2*?gRF_1dr4#Q(-@HcRp;k}63dakYK_?VUvDKLj8%pR*z`` zn)3M8ue^`v6lRcGBaF;NUxGK*<>YX9hrw)^7LXkkQ1CY#k-T>gi20DA})-TFmT zJ_hwI_JA&OY9OQRW|r9Q&&ded=?(C&Uz#-*NJ$*@Ox;LNkomhowe{!j(i7~Rm@S(t zE-!L7op<#!@dfgKIQY|N-WkJ0x|o7+rq~Lzr;?u_X!&T2D)2ji1aTLnbmZ)s=4I%_ zvTNs?gnD6xb$DY(`qS@-A&Skj0$cFd_DONEA13#daR%;sTcCR*ZWrTITP(zu{Czjd z*7qB)@9%Ijo`sD*^DH2v9d55pj;arU@k^YpP_~bV7~;rgbz)X_u*sCE_svf@kBcF7 zVjb5aE-3R1WRNUha=Mc9S3mp#e$E9kN#{&`mnQwlVIu zHcR^U2=vts`#9NVpgaFZYw+({8zv&UU-cHPc7OIjQyBk+N23a;;FDn@ugY(eSr&~x z$H>T?Clk&OseW|tuir|wW5i~$^g8=5{z_yM9G%2`VRuJeufn1{;|h6LWKv?G$zSe$ zs>%~6=x@*4CHb(m+MO|;XXP_XWgwx>h3?oXfNj2ACy+j91*BJ#TR z1+j5Pj^iirW9b07~i%8RJ#QAl!MimPxV13)-Hd{#BbdZ?Lo}UXq8v6WlA%o{(!m?qui3{ zF1U@qO%JCPUU1e+?v5jW>gOK~YLW?8gb2o^$Hz3@-12(eP3LN)3@qOD*rLV0jYcGbiM42E(`Q}Z9Z3{S zcuBT34^g_GKE2&rorRVl2hVpKW6Z`h!$~fEvr6=vxJ&o z>Tza(V=PLL24b{4Iqp^3s-d%+9mA+vF1Y{;|g`8vRl8Y#!0^uDfTHZ5Q&A~9O6t&*l=`f^Qxj^GFj-BPjyr^Nwvru zDfZOAB{6?|#L2l*c?(!0PmHm)g}?&nZcU+^A(Aew^oJs)je7@_3L#8&4d=vQEc^ao zL*Sb0zgutWRk?X$!zYuGE(qtz@R+smI0E0wJg`j9Lj47G45JBN@+AmO9oICd_>Ch*6qI>7sq7c?bpzT#2 zNEqqn9VNLh`mdJ9;Yd*td zmXb{3NyirkP?_}IYk^-^5PO$7&52Kx=h*{`W@C5xW2;5B#S81Xc8381p7mB!)ypX3 z*8BNH=_{aALpfe#oOWeDAWkseD7$PzoRk}d>r+EY?oO*K%QnAh+5<1^r}hpT7U|Z4 zWp;3E<-&O67DOo#Dx`1un$8K?OM?*P}3!fE2gYua*G{@C0>uC158u_Xy;$VO_j`3Jgo zW+vUa#63tT;mM(SF8sJ0h=4f@2a9Touvr%xm+}#@EE$1^Mk-?RCdn!G&h}l0wBuL8 z%1pLf+yH z#UTqiTtwx@xZo=`zq_Kb_Dm1`wP{NuUjA;$Cjs;=VGjH&deKWDDKn|f2v(Wyy1KbV!R|*rz#7}=#2~v!)B?h%2?j&ZL%#siwHLM)@2n)8v8F@WJ%-mIPDF_ zmH3vbFm{+Or9;tF_M8Q2c3c;nhPt5QT7bAP;XJemz(WM=Z)lROJuc;ahZU@h#&2PI z21CmV6tdG4nq*_0BVW1KU@KAy;WEgp&7D~fw8qJw*seMj)F)+M9ZtAI@wbjPs8{#e zlv9+Q6K60{`hFk}`SPj69sOSIGeK+!rwLs0&LM{>2{I6psmF5Id>a+2FGIGVf zztMu9%8NYIzAF?Qv#b>=5{+l<-Wz0DCkMhon01~t2G$Gk&Tlqu@yg@L>@DTfT?p{b zbbHN0RfSddGbNo0i81=S9!`N#ev{MpnK%mf*0cTfp)wSnJN3sMDP*E9F)kn+OFAz9 zLc3O)@l;=e{bM(U1(zkXxO|CEet9tlM1&^rLefKDTH=S?0i{Cb+NgP7)uyrb(^ zELB?)byF@4{Wc)HW$otWZLRXJk%)w;IJ(jd| z<~u~a&+%-Q*loWV^{p3zSNb@!0~I4$?w8C!R|)zzBa|ZOxf(HR&7(&*Vk%n}%GJc9PLSWRrCN~~T9s~QiOH#@{3iZTsTL5?(s#&15B$!|(5euR^LhU3$ihR^?jsMT z!{Ie*y8ky|>0?`3L9cEHW;u5TT^)@MgG@@?*1cr`WIt;U#I_|bTb0@=L@T|D{9+|~ z7Ko(n zGGk^gM>+gvLKk-IvHJMl!LR5{RM%g;qrx1uIb4`W9;}iwkM>SK4;iuG5#B46vaWn@ z|L8JiXjo}sAKc3!boCylM(%68P5zYb0`99MPBwoTA&N;~P1WqUXQNa`ruUe;>y%7H zT_)4t`fFmkotrBriY{C63=Y|t%vGf(FYO3OoA8yKRUTsuSC0;*K;A032q&FLTrQx0 zbAuc|f}C?Z-e|rcdD31dK;m`Zn5+7wBF5Yo>F03b@kcgnvm*7$OnNghzo_(Y|4UDh zU`0ln(UmPk^PirTlI|n7M5r8=)<$P9(*%=O)+fdS+#j~c&FcGMlQJx1#yDQ(Pm*8> zo~zjTB$>M1eJgAv^1VdF!$n!NXf6_D!rivqPXU{GK@e8`hNAp!s4{8UGMojJMDK7X z_2TvwPSp>_byDKhYTdA_$~=97A``SboAKg!JY zz{~MnI|R}RXj|ATMHf!SJXke%^Ian}lNMkWee1}edRy3QFS1J{l3$B2>RMuT(7Vax z2?Sm#f`|&Ga+VS;;qW{`jWmX5;v8Y`7KU?Q%yZh6;(13$pIozH+@G!PK_AH!crA~( zBS*CkPR`n8W`NDwm1pm~WnkjkMbB>Xz|_2IZMpnImVT+E?b5Ii>I@==t4h2(lW)Xc z<*@5IafnVMG_#dn#beX!a1Xq;Jer6UTYF5YwlN!)fj<9WbJ$OjHoGxYJ6(Y6X1Rg6 z!=Hnep#1b%ggPNp((O7fit6Y>PY*I=+^%lDPxPJw!nBG3(SI?Gd;G~WO78*Fq%TRC z>EF;Lo~gh&FwWCXHLM3F5MPQ#hNx29)Vu)_;qZw&jFpC9%4+SEH}znS#sXKQ@%CY9 zqa5}V=LU;8VrBbEODBRMqOb%Eyo$cN9|;{;TB-SS*vo2PkmUwzg*bQzIj`PS){_2$<3n4csd%f8YQT=^G?6 zVk*_rwF_tT+WiK=Qe|GA=kWZ|+C^!k2$99a<4%I@w0B0}kdM>rmpUlIF9}W1*D_tr zP^BSH3Fq||HwR`%C#ha6!S39otyQ2$;gO;oOZ*lDrYn5Q35y5kvuJVr1uvMvcUtjW z@@JHqWj^3v3@RcDO*tcrD*o*8DMUD=p@Fyp+T-nOg&h3-$lU0yoX!~^LG6h-dv`Dl zIZO1(X&ZvVT!!rtHBZStP64B}^ zWTXDSvcAzZO{`MPZJVja{ZHco`Qq?pjRnm->o#lx28`7xuQd6t@I~yBP6aL>vBAKl z)_SCUC~D8Q3s8?XS#DDN`Fw|e5>SWc`10BO2F&$jS0S^7|GLlNX(R9;ICT@Odi|28 z*4FtB;&G7I<&3sPb%{c{~kANt$S*3<-40MS@gXS-vWtqU{Wf*Be%U?r9^VM`nEHNT`QU z8C_F8V|EMgtZJCkmKeRW-7G_j;U-QZ(57lalp=FO+>bJ~n>5VqLA6e{@gm43_E~^$ zC{Vw{#mT$>!H*)w#S#nF_Yh-{V{7Ymfc~hy8?zRGFamuKZ%z$p@uhZ_X$mqKKz=Hl z>!d6rYpByP%tRPbWo)FBoEd%G0;g;%LI@YZGTGLA3KMgG#Q+2B3oiC~!LQwx)3ocU zF787euciAT+8C@>I}A;18Age|H2kS>^vWtzf0gw=oU|>zJqoE`9ZKC2rNV>3`tcil z8!f%-_qR`hRgPR+CBd3UrX1ADem2+aKF9Q-o9H`y9nAUSx9Lpk69K1_Os-#U55j0o z<>A%DTh(p?^vI%miA+S!gQIk!5WN;)WKORhXGZq-@cJ*SY4WHF!LmFKf0U#5c`eWU z<%Ub0oPQhfs~Ix0uv)<;R>)NGT76>JZV%5IM~qgoPfR;61xs-9m3p}zTFy!MYf@8_ zCnI*DpJ6b({Tu*SU4Rn_r=Son% z&9l6Dh>)2kxILCr3C1t_=*cc@2lXaAALN3Ar((ir?NKX>d<^3EWAozCdgPbMQoTo! z^W{Zg%EA*$80B3AJIuuoDckmXAXzsZxDxDhFTGuCZeTS;@}W*-lChaLyZ8A3y}Mu7 zrqe&Ir-_`09c5as`sQbK3m3+?+yA_omu~@|(8@T8eJZN!w|Mhld+NDyxUwC+&_WEW z&*5>6JefK|heUkF1<291B^7a`3Y7GF`Ehz2zRm~}XVXPmK5&&j1aSII?mJ^`KDbTv zS_HL(!I`(O4F|6vvk4Ul6sC4==Irk`@Sy0v6(kmwC4(}HC&pdpD;?z4Y?tsbFQPAb zIOPdK^gKZ`HDm;9lQk-zW>+%@^YN8j%#c->7_EVQpTGZT7+NaDd+EtmU*rCA8KJ_rrgP_8z%MKd zy0fOCWst(0nx#RgbsH{%ja=x{9s5+ddjgnbTDUCsuSCNuMQ=`?yP_ttTZi_FY?7iQex#pPMG{#~noY5+IS)@qHRuQ#Ry3<4 z6ymJ*&7|m5I(KwU_oe>$Lp~9TJ2Y0F$0!_x2~K+HE&%06nAbS=ljuXb@vNwkv8FzXVWPpo%Z(sJ4T63G1I`E*?_V;^rp}@LN8% zPDJCD=fS;rHiMB2N>w#T*#0ngzZt{{RDMIrv#&~E7v`(nV^IDB)0s0F?8G@4AoXMn z*6{g$QWCYaaS1PSwtoXbk`jyBu!8GZ5B=ak>vs+9Rag`pM>>>_4QdtmFl0F~(i*FZc9 zQPy+&6_o*=O2zJOcW)3WJ7JOgt>@D>i;Svs$jeT5&E@=2{Sn5Pmh4<)zIDFP9`$Y5 zq{Kr^356;MeS?_Ebbd(<67+W7^~|nW&PIqd@y_Dy0g^BdgVt^e3!{zcsGUjlteCm{ zM^VpNPaF0_ibK>@LdmoH#Ts@~I|1>hn!QftA;`rZvv8Kpo;RN1G*aB}9YqA_yFnG& zQ7=UfIJ58X9&mpjq=DL69p*pmka_Kx7wWbyT-){s@o2Y)T+jIQtQ8*Ya9?61dJNDY zy2mo3;|FgyT^l!(sYRP#PX|&juL;LKUxSoKLnh2TPKGO5z$_ZAppNphS;LkH0)n7Rxb7GUy%nXg&cl^G$BMR1j^OXWSHEbQ3NpW z?W(BInrT&LP{7tMcees#D%(}O?|t#?_Q?v6Ej#-f*1FH6rMX<(q5?9tj=#}65~A-1 zMkR6!r#5$5U>dS7YDji6Qu2xRy^R-Z1lzRBx*yGXE0kztA0S-j@(9p^K9$Arsq{VYN0 zg;RH#U8PvGB@&--rDC_+uhFsl>dJ6#{MZ8nMt(y)tS+i@dj+F}AZuxo)W0*NXfyIS z?nb_)u$YM=I-L}yFx%&wR|~wH+VBgI;t1Q<-!BqpkEdouMU$RBo=OxknztfbTk5+U zB&SF?s+@{u+8_jy4^v%lUS>xetaw5NYQrGfYi(u|ZV9CdWYgrojMy=_^V#!Ns%&W~ z9Q@SyT$rgAeWyX9RmFA0RqJ~i4-!E%XVSrR37httdm=XMf73C1v09tzR#I7R&@Syb z+_gpnAeF)$Pn7!{Wvi)I1qy%lu|c9!`|YV3%SJalpjvc|O})F_fL0J3=l7yHla5>C zbi8$1y|EBBx1*X{XZMuTTL>t{y8_%PeLj@lN)j8p3PzTM5V-0LB1^T3e!eFvS5u6S zx0L1Z@M5y0ZkT44&-@(V-5;)gFsys{aFJynmSLc7JyhNBI*yervxi=>pr9_EtO zSVB(hkfa-d%^{CCFNQ)ULUtdUh4U_g+;{LHAZ9{NrfiDeGo(05VFXMVyFE%Bk4f6_ zm8|nwpJqIee-*)w)yx}S=3`CT{e0-=k@DwNAKik*nY_!soor++mD+27eslOfR5I=Q zGGfTFemiyHn%eQI=zW3K0cEU$gwGO- zr}+)Trm5Us2l98bz5k7OZkBQb^XT7O%&l4-2v>H(66t{6(QbIlB;Jx<_-81(Ojnqd;_gWVw0 zZDoZOmuN(}Q0k9Z&+VohiT>S;1~EIRIj-vYfbM`N=Lj+53KYYG`El}v#V>6?k+b{s zVRl>wz2A7kEO)71T*g^%RV8Dz&7|{z?ljb1cqe%XDY3b(eh&`v0dGITZPjSOm8LII zh;=#*pP)Z4+>>@<-w|rR!>sn~zqh=PFXSPY_rjla!)hM|F_~e~91IM|JKY-q6%Rja z^5xSzY&q4RjWV62G_2A+Wm4N}!?_Sbl^4tT2oPn{c%XOwlw|-<^IA7oRoWspP4Kz9 z^2(Z(eCEzD#L7w|aHr}y+OsAq`T^JeSoMmg(P6W65T3podDRmHrs@Ff>X|gT-Gkcq3hYx@naUAP0vII5`gPF}8}zg!C~mgtuT>)6ZB)u?7VH`u0zyLG%D0sEe$&t2O!I*XuzSA1i(Y?kQRY7A zKguu+C|8*gn9|@y7vJ`j7*zH|B`9W7_jEX0DX1{`et#K6FC z+nBUOXf#tM-4E8&P5lX(E$=a{_gLC`Vgg)RHtaJMjhTolu!+sY>6~(O9lGgXon`bL zUs_9^4wJ#NL$&pLx?dd1fivb@5I{0c^JO@Lnn~C_6M7 zhqVzg%k#ucVmj~f0>AJhxjk^Am?(8`uqXox1m2%jA&WTVkVu)qBZTgwn5>kofAH_% zC(hu0q`0N!q{+~Or@hmUYPb0D@yFGWd6LlPwW(iVhjsTuEQJH1~5>lb@3 zfoy#qA=WO8+`XiA(4c?nI<8AcY-{KV9{2K3*@s*lI`_m<`(baR;AoZR_`8HKyn9vx zIlq{P&71CjdQgrNDcc;k(7Q3LO+TZEDiQryHy=>e(}!K$WI$E2HW`O@*JczGhvYHt zVJ)PUb6QDyuzQ(vjZGB5q6uKKxIc;wU>r}iZm2XM+uxsHOM#+U5Pf1c=m(a5gFjGxMvQTLdhgw=0Js}l#* z?|6DOcfudY-;TWIgA;J*^P{Z_^1)i3VC>#mbtV$5lMf~yrAPLKB^AdYZ@Cq z-8p8d?r}XDw1dzh+y^0G+NnR1cS-Hgln53W!nQF=Mv@tHjS24WlmxB6ql&e%^%O5C zsqzlkd;$R)_GY{5)h#>06^p^u-Ch~)?yUO6ohF4JV_1D-zJ~ zO-|#&6oTmuH3kv!mEhFzmFEewpG&Loeuq0)Y#FQx$T*8zO+RSJQjrHW)!2ppFnR4? zN}Ux7b7P$$vA(at5bgg-@l7eZEo$?2;fJ{}jrabuwoyC-Z6P_Jsao3YtFH|eY! zjF95Is0D8=w1YSJQvdYrAk7e&!9*Y^S0wJH3QKj{4ft(%V$tw28uz|P=(!+yf8XjZ z5R47tfZM@!cxHIeJ%i=mQXE!6x(Vd2_tF84;IPQejXhnXW^>cLOZ6r(_~hwzJ_=YA zwTar>&Zq~T>1`prLo;fbTsiqzUr-(3op3&+8Um~KUAZm=%2x&ZjjCxUx*VtH!XZv$ zZEn>z9p=tQ_;UQSbz&uPZt3gUUqKoK6cqpfKmwfqh^m9O!$lc_0RS^-002J#7ocS7 zVDIEYuk2#zVri^o>TK`oWNhk8uWVuHWNPwX$3lkArYaVuw%@0OHJO-|RT)_5teoxb z2=g%k6u6e@G(ekJf$T)7Y-Uqp97v`Vzc<3$IgiCh}fD+e?vUADlvzIg%ueuiAyd4 zc0&Ri=4N{?2W(6XD=uk3+BeyKlOC^VvMUi#R~Hn>4t;(ZA3rShTz!R|JLhQP-f6(% zhGI>ODV9^jW3(qb=qD9j;wLcMBZ3tc92|=MTz!5efN7{qn0A0acd=Xx!N##q5(EZ$#QkZY{yYkfjy?&d9NE`7raPNClE<0IEVOICCuLvJ|i1ZdQ4wyKy_RCR0eU_aZl6?sR9 zq8MBp5DFFb2`~LxT?r&B^8yOBXQN@3ObOf1a4T@k^s9=SUyAxHg4QnEM-7NDb9M>4a(~{oI;_oQy z-q-xR6cS_Bh0IP0o|mQQ*PStZ63aWc!s59>(0=IlJxA#7V zhwzSHzBTb}VYd|NY*%`@q3Amn0a+NTz?9!NiPy1>u^luvT=aJ9D5r8(q-TWJR%s}Y zmG3m$sGCS6wF$q=#)k!rMswnDe=qNO`jf{+3~Q$h)vy;iB7eJG<{6Q0idJv=&My)%FN{Zl=JiL0b72aT$f zWYH5E4o{4y_o$wak7wR7a|B#la3`^wYgv_sHR=tQFVI_bA2uuLXNjG}d9md>c|Av*K956ypKTEv81x5GSR_m4g+WesCB$EL(O#@I;FN1 zR2yd0r4~Kzj5_<*1MR?0`={=IK=(acj-4KHJxl)GS;67Oumurh>K~$Z^aOg}zD}_X z$p9y<8Tr`Ic++oh{eDcj-gzS;)pxlaW-xd!ak8q9i#`~ha)KgA#$>u$ls_o%cIhZ{ zOm9ny@uc#8bxN<6ElIe$t#U40`!xM#^-h%dGV3s@WP9rNf4o}HDmhuZtnwMPxm%;X zO`P=4741nHPg7K`e}9fJ2o;Qd`a5BID5>|sF^DbnE@1zXZB>>dYfW}gS7`O}o_UkY zmC?Zub*W$D(y4zu@wQrfh|o>g?%%v(el4i;aaJik?(5e1iSX~5z4MkP#R3QbF#FDk z-hlFIL_-qAZD>0zn&g{eY&guT(SaI zh^bPMPdmBi%pQt;qOmfHdZ)#ru_k$nA*V8}pUwT?zwq~2PPpWa*;z{i_lx*JyA)u0 zW>!{>nqBolbmBa^cx3-Fx#7S^z#%LSI94rpRybS9_870b_vQl&7=D-^2Uj2?xf0ltzbYmdE;SkeMIlQY`O_;~<5RnV+K_-b#k_}xBDk3 zFgW%S;=7XA88BQ+qsz9x#+8SI+!}^(s|h0{Ih^i{tSo&G629y6Zrc{ z`R^(ByI55_Lk9;NOH&hJ3qw0|Q|Eu8$8lE?Ra$@m9YI(Cg#Qi(cu@cVB8D!8vi2sX zHp<4|=7Qlr!GcxkFz!$QKq@5w0QYZTj2$3=h^3*qlcBAQp{Kp8%RiyA#F<1nY5;&1 zGuS_%3#UN;X~+EUp+VDL64Bq%P`{h^uUq|JsZ9|0d!V?u{A+;xQ{Y`B>R|ErrA+?= z6)pq}kTrENH2H4qKT%xAhFR|4sPOL$^Iw9#_Z)0;?+`W@@tNMAunQvW~9HYQFc4kiW$ zW>$74Ha13P=KnC>{#o_XNQj>Oz;D|y6#x+aw;Jfm{(sd##@^hXg^ih+m6?f|fsLJ! zm5qss&cV+7p925g82#@OyQcn+0{>r4(|-#4cm4R^g{6Owq { }} /> - + {formatMessage(messages.reportTemplateTitle)} @@ -73,7 +73,7 @@ const PowerBITemplates = () => { - + {formatMessage(messages.dataflowTemplateTitle)} From 90b54964caa8f77f1407ff15f6587adf6428015e Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Fri, 13 Oct 2023 09:04:41 +0100 Subject: [PATCH 16/62] [TAN-396] Fixed pubic API visibility --- front/app/containers/Admin/tools/PublicAPI/index.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/front/app/containers/Admin/tools/PublicAPI/index.tsx b/front/app/containers/Admin/tools/PublicAPI/index.tsx index 0908bea4f00d..af1eb71665d5 100644 --- a/front/app/containers/Admin/tools/PublicAPI/index.tsx +++ b/front/app/containers/Admin/tools/PublicAPI/index.tsx @@ -11,8 +11,6 @@ export const PublicAPI = () => { const isPublicAPIEnabled = useFeatureFlag({ name: 'public_api_tokens' }); const { formatMessage } = useIntl(); - if (!isPublicAPIEnabled) return null; - return ( Date: Fri, 13 Oct 2023 09:25:17 +0100 Subject: [PATCH 17/62] [TAN-396] Code tidy --- .../tools/PowerBI/PowerBITemplates/index.tsx | 14 +++++++++++--- .../containers/Admin/tools/PowerBI/index.tsx | 15 ++++++++++++--- .../tools/PublicAPI/PublicAPITokens/index.tsx | 19 ++++++++++++++----- front/app/containers/Admin/tools/index.tsx | 2 +- 4 files changed, 38 insertions(+), 12 deletions(-) diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx index 44b6270099f6..487241a3c461 100644 --- a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx @@ -1,5 +1,6 @@ import React from 'react'; +// components import { Box, Button, @@ -7,15 +8,22 @@ import { Text, Title, } from '@citizenlab/cl2-component-library'; -import messages from './messages'; +import GoBackButton from 'components/UI/GoBackButton'; + +// intl import { FormattedMessage, useIntl } from 'utils/cl-intl'; +import messages from './messages'; + +// hooks import useFeatureFlag from 'hooks/useFeatureFlag'; + +// utils import { isNilOrError } from 'utils/helperUtils'; -import { saveTemplateFile } from './saveTemplateFile'; -import GoBackButton from 'components/UI/GoBackButton'; import clHistory from 'utils/cl-router/history'; import Link from 'utils/cl-router/Link'; +import { saveTemplateFile } from './saveTemplateFile'; + const PowerBITemplates = () => { const isPowerBIEnabled = useFeatureFlag({ name: 'power_bi' }); const { formatMessage } = useIntl(); diff --git a/front/app/containers/Admin/tools/PowerBI/index.tsx b/front/app/containers/Admin/tools/PowerBI/index.tsx index 3a477f85afbb..b738bf0f5f0e 100644 --- a/front/app/containers/Admin/tools/PowerBI/index.tsx +++ b/front/app/containers/Admin/tools/PowerBI/index.tsx @@ -1,13 +1,22 @@ import React from 'react'; + +// components import { Box, Text, colors } from '@citizenlab/cl2-component-library'; import Button from 'components/UI/Button'; + +// intl import { FormattedMessage, useIntl } from 'utils/cl-intl'; import messages from '../messages'; -import powerBIImage from './power-bi.png'; -import Tippy from '@tippyjs/react'; + +// hooks import useFeatureFlag from 'hooks/useFeatureFlag'; -export const PowerBI = () => { +// utils +import Tippy from '@tippyjs/react'; + +import powerBIImage from './power-bi.png'; + +const PowerBI = () => { const isPowerBIEnabled = useFeatureFlag({ name: 'power_bi' }); const { formatMessage } = useIntl(); diff --git a/front/app/containers/Admin/tools/PublicAPI/PublicAPITokens/index.tsx b/front/app/containers/Admin/tools/PublicAPI/PublicAPITokens/index.tsx index 441316576286..aefbb70df6fc 100644 --- a/front/app/containers/Admin/tools/PublicAPI/PublicAPITokens/index.tsx +++ b/front/app/containers/Admin/tools/PublicAPI/PublicAPITokens/index.tsx @@ -1,5 +1,6 @@ import React, { useState } from 'react'; -import { useIntl, FormattedMessage } from 'utils/cl-intl'; + +// components import { Title, Text, @@ -15,13 +16,21 @@ import { Box, Spinner, } from '@citizenlab/cl2-component-library'; +import GoBackButton from 'components/UI/GoBackButton'; +import Modal from 'components/UI/Modal'; + +// intl +import { useIntl, FormattedMessage } from 'utils/cl-intl'; import messages from './messages'; + +// hooks import useDeleteApiClient from 'api/api_clients/useDeleteApiClient'; -import CreateTokenModal from './CreateTokenModal'; -import Modal from 'components/UI/Modal'; import useApiClients from 'api/api_clients/useApiClients'; -import GoBackButton from '../../../../../components/UI/GoBackButton'; -import clHistory from '../../../../../utils/cl-router/history'; + +// utils +import clHistory from 'utils/cl-router/history'; + +import CreateTokenModal from './CreateTokenModal'; const PublicAPITokens = () => { const [isModalOpen, setIsModalOpen] = useState(false); diff --git a/front/app/containers/Admin/tools/index.tsx b/front/app/containers/Admin/tools/index.tsx index 26acf4ffb544..255142cff983 100644 --- a/front/app/containers/Admin/tools/index.tsx +++ b/front/app/containers/Admin/tools/index.tsx @@ -8,7 +8,7 @@ import messages from './messages'; import Workshops from './Workshops'; import Widget from './Widget'; import PublicAPI from './PublicAPI'; -import { PowerBI } from './PowerBI'; +import PowerBI from './PowerBI'; export const Tools = () => { const { formatMessage } = useIntl(); From 4f0bf2db96c46b873b5c1490e451b2ea2976c95c Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Fri, 13 Oct 2023 12:50:11 +0100 Subject: [PATCH 18/62] [TAN-396] Typo --- .../containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts index ad38088b5128..37da0b07a556 100644 --- a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts @@ -21,7 +21,7 @@ export default defineMessages({ reportTemplateDescription: { id: 'app.containers.Admin.tools.powerBITemplates.reportTemplateDescription', defaultMessage: - 'This template create a Power BI report based on your CitizenLab data. ' + + 'This template will create a Power BI report based on your CitizenLab data. ' + 'It will set up all the data connections to your CitizenLab ' + 'platform, create the data model and some default dashboards. ' + 'When you open the template in Power BI you will be prompted to enter your public API credentials.', From 8a3d9e0442eb0044a97804b3541a3556dbf26b1f Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Fri, 13 Oct 2023 13:05:32 +0100 Subject: [PATCH 19/62] [TAN-396] Typo --- .../containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts index 37da0b07a556..38ec10622daa 100644 --- a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts @@ -19,7 +19,7 @@ export default defineMessages({ defaultMessage: 'Report template', }, reportTemplateDescription: { - id: 'app.containers.Admin.tools.powerBITemplates.reportTemplateDescription', + id: 'app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2', defaultMessage: 'This template will create a Power BI report based on your CitizenLab data. ' + 'It will set up all the data connections to your CitizenLab ' + From 9f4c457041993653ed2d4ef71bd8b6b53188355d Mon Sep 17 00:00:00 2001 From: CircleCI Date: Fri, 13 Oct 2023 12:07:49 +0000 Subject: [PATCH 20/62] Translations updated by CI (extract-intl) --- front/app/translations/admin/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/translations/admin/en.json b/front/app/translations/admin/en.json index e9d321c818e3..ac6ea15b3ab1 100644 --- a/front/app/translations/admin/en.json +++ b/front/app/translations/admin/en.json @@ -969,7 +969,7 @@ "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Dataflow template", "app.containers.Admin.tools.powerBITemplates.intro": "Note: To use either of these Power BI templates, you must first {link}", "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "create a set of credentials for our public API", - "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription": "This template create a Power BI report based on your CitizenLab data. It will set up all the data connections to your CitizenLab platform, create the data model and some default dashboards. When you open the template in Power BI you will be prompted to enter your public API credentials.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "This template will create a Power BI report based on your CitizenLab data. It will set up all the data connections to your CitizenLab platform, create the data model and some default dashboards. When you open the template in Power BI you will be prompted to enter your public API credentials.", "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Download reporting template", "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Report template", "app.containers.Admin.tools.powerBITemplates.title": "Power BI templates", From 43bfb3124d357fc4f03a67eed7d3aead62346d5e Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Mon, 16 Oct 2023 10:30:51 +0100 Subject: [PATCH 21/62] [TAN-396] PR fix --- .../public_api/power_bi_template_policy.rb | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/back/engines/commercial/public_api/app/policies/public_api/power_bi_template_policy.rb b/back/engines/commercial/public_api/app/policies/public_api/power_bi_template_policy.rb index cdbd59320029..6b5309c8027f 100644 --- a/back/engines/commercial/public_api/app/policies/public_api/power_bi_template_policy.rb +++ b/back/engines/commercial/public_api/app/policies/public_api/power_bi_template_policy.rb @@ -2,23 +2,6 @@ module PublicApi class PowerBiTemplatePolicy < ApplicationPolicy - class Scope - attr_reader :user, :scope - - def initialize(user, scope) - @user = user - @scope = scope - end - - def resolve - if user&.active? && user&.admin? - scope.all - else - scope.none - end - end - end - def show? active? && admin? end From 82ff79934c28b0e61c33e171c6a92d9373e8d8f2 Mon Sep 17 00:00:00 2001 From: brentguf Date: Wed, 18 Oct 2023 10:38:52 +0200 Subject: [PATCH 22/62] Turn off seat_based_billing by default --- .../commercial/multi_tenancy/lib/tasks/core/create_tenant.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/back/engines/commercial/multi_tenancy/lib/tasks/core/create_tenant.rake b/back/engines/commercial/multi_tenancy/lib/tasks/core/create_tenant.rake index a0dbff0fa3d5..6b91d9d5c219 100644 --- a/back/engines/commercial/multi_tenancy/lib/tasks/core/create_tenant.rake +++ b/back/engines/commercial/multi_tenancy/lib/tasks/core/create_tenant.rake @@ -338,7 +338,7 @@ namespace :cl2_back do # rubocop:disable Metrics/BlockLength duration: 90 }, seat_based_billing: { - enabled: true, + enabled: false, allowed: true }, public_api_tokens: { From 49a9c3f72ceddba55420eb28c8d73564ff9abd52 Mon Sep 17 00:00:00 2001 From: brentguf Date: Wed, 18 Oct 2023 10:46:14 +0200 Subject: [PATCH 23/62] Revert previous commit --- .../commercial/multi_tenancy/lib/tasks/core/create_tenant.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/back/engines/commercial/multi_tenancy/lib/tasks/core/create_tenant.rake b/back/engines/commercial/multi_tenancy/lib/tasks/core/create_tenant.rake index 6b91d9d5c219..a0dbff0fa3d5 100644 --- a/back/engines/commercial/multi_tenancy/lib/tasks/core/create_tenant.rake +++ b/back/engines/commercial/multi_tenancy/lib/tasks/core/create_tenant.rake @@ -338,7 +338,7 @@ namespace :cl2_back do # rubocop:disable Metrics/BlockLength duration: 90 }, seat_based_billing: { - enabled: false, + enabled: true, allowed: true }, public_api_tokens: { From 2cd72105f0b98265acc130728b1ea2ceaa40a38d Mon Sep 17 00:00:00 2001 From: brentguf Date: Wed, 18 Oct 2023 15:41:49 +0200 Subject: [PATCH 24/62] Clean up code that can go in before hook --- .../e2e/invitation_authentication_flow.cy.ts | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/front/cypress/e2e/invitation_authentication_flow.cy.ts b/front/cypress/e2e/invitation_authentication_flow.cy.ts index 9cb3b92756d6..5516561c24f9 100644 --- a/front/cypress/e2e/invitation_authentication_flow.cy.ts +++ b/front/cypress/e2e/invitation_authentication_flow.cy.ts @@ -46,19 +46,18 @@ function deleteInvites() { } describe('Invitation authentication flow', () => { - beforeEach(() => { - cy.intercept('POST', '**/invites/*').as('postInvitesRequest'); + before(() => { + deleteInvites(); cy.setAdminLoginCookie(); + }); + + it('has correct invitations', () => { + cy.intercept('POST', '**/invites/*').as('postInvitesRequest'); cy.visit('/admin/users/invitations'); cy.get('input[type=file]').selectFile('cypress/fixtures/invites.xlsx'); cy.get('.e2e-submit-wrapper-button button').click(); cy.wait('@postInvitesRequest'); cy.get('.e2e-submit-wrapper-button button').contains('Success'); - cy.logout(); - }); - - it('has correct invitations', () => { - cy.setAdminLoginCookie(); cy.visit('/admin/users/invitations/all'); cy.contains('jack@johnson.com'); cy.contains('Jack Johnson'); @@ -118,9 +117,4 @@ describe('Invitation authentication flow', () => { cy.get('#e2e-success-continue-button').click(); }); }); - - afterEach(() => { - cy.logout(); - deleteInvites(); - }); }); From 4f39802ecd805dcffa0febd7121dedcac6fad2d9 Mon Sep 17 00:00:00 2001 From: brentguf Date: Wed, 18 Oct 2023 16:41:14 +0200 Subject: [PATCH 25/62] Remove appConfig updates --- .../e2e/admin/users/seat-billing.cy.ts | 24 ------------------- 1 file changed, 24 deletions(-) diff --git a/front/cypress/e2e/admin/users/seat-billing.cy.ts b/front/cypress/e2e/admin/users/seat-billing.cy.ts index 7a7fae6e89be..c20f03934b97 100644 --- a/front/cypress/e2e/admin/users/seat-billing.cy.ts +++ b/front/cypress/e2e/admin/users/seat-billing.cy.ts @@ -5,30 +5,6 @@ describe('Seat based billing', () => { let createdUserIds: string[] = []; let adminAndmoderatorsCount: number; - before(() => { - cy.apiUpdateAppConfiguration({ - settings: { - seat_based_billing: { - allowed: true, - enabled: true, - }, - }, - }); - }); - - // This is important to make sure it doesn't clash with other E2E tests. - // E.g. unexpectedly showing the seats modal in the invitation flow E2E tests. - after(() => { - cy.apiUpdateAppConfiguration({ - settings: { - seat_based_billing: { - allowed: true, - enabled: false, - }, - }, - }); - }); - type CreateUserType = { firstName: string; lastName: string; From b8c744895bd928ea787507e5259ba3f6b30788bb Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Wed, 18 Oct 2023 15:48:53 +0000 Subject: [PATCH 26/62] New translations en.json (French, Belgium) --- front/app/translations/admin/fr-BE.json | 72 ++++++++++++------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/front/app/translations/admin/fr-BE.json b/front/app/translations/admin/fr-BE.json index 9f6ca938a5c8..11b0e4f28747 100644 --- a/front/app/translations/admin/fr-BE.json +++ b/front/app/translations/admin/fr-BE.json @@ -1998,52 +1998,52 @@ "app.containers.AdminPage.projects.project.analysis.LaunchModal.limitation3Title": "Volume de données et précision :", "app.containers.AdminPage.projects.project.analysis.LaunchModal.subtitle": "Nous vous recommandons d'utiliser les résumés générés par l'IA comme point de départ pour votre analyse d'un grand nombre de soumissions, mais pas comme une vérité absolue.", "app.containers.AdminPage.projects.project.analysis.LaunchModal.title": "Comment travailler avec l'IA", - "app.containers.AdminPage.projects.project.analysis.Tags.addInputToTag": "Ajouter les entrées sélectionnées à la balise", + "app.containers.AdminPage.projects.project.analysis.Tags.addInputToTag": "Ajouter l'étiquette aux contributions sélectionnées", "app.containers.AdminPage.projects.project.analysis.Tags.addTag": "Ajouter l'étiquette", "app.containers.AdminPage.projects.project.analysis.Tags.allInput": "Toutes les contributions", "app.containers.AdminPage.projects.project.analysis.Tags.allInputs": "Toutes les contributions", "app.containers.AdminPage.projects.project.analysis.Tags.allTags": "Toutes les étiquettes", "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignNo": "Non, je le ferai", - "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignQuestion": "Souhaitez-vous attribuer automatiquement des entrées à votre balise ?", + "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignQuestion": "Souhaitez-vous auto-étiqueter les contributions avec cette nouvelle étiquette ?", "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignStep2AutoText1": "Il existe différentes méthodes pour étiqueter les contributions automatiquement.", - "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignStep2AutoText2": "Utilisez le bouton d'étiquetage automatique pour lancer la méthode de votre choix.", - "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignStep2ManualText1": "Cliquez sur une balise pour l'affecter à l'entrée sélectionnée.", - "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignYes": "Oui, étiquetage automatique", - "app.containers.AdminPage.projects.project.analysis.Tags.autoTag": "Auto-tag", - "app.containers.AdminPage.projects.project.analysis.Tags.autoTagDescription": "Les étiquettes automatiques sont automatiquement dérivées par l'ordinateur. Vous pouvez les modifier ou les supprimer à tout moment.", - "app.containers.AdminPage.projects.project.analysis.Tags.autoTagTitle": "Auto-tag", - "app.containers.AdminPage.projects.project.analysis.Tags.byLabelSubtitle1": "Sélectionnez au maximum 9 balises entre lesquelles vous souhaitez répartir les entrées. Les entrées déjà associées à ces balises ne seront pas classées à nouveau.", + "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignStep2AutoText2": "Utilisez le bouton « Auto-étiquetage » pour lancer la méthode de votre choix.", + "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignStep2ManualText1": "Cliquez sur une étiquette pour l'ajouter à la contribution sélectionnée.", + "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignYes": "Oui", + "app.containers.AdminPage.projects.project.analysis.Tags.autoTag": "Auto-étiqueter", + "app.containers.AdminPage.projects.project.analysis.Tags.autoTagDescription": "L'auto-étiquetage ajoutera automatiquement des étiquettes à vos contributions. Vous pourrez modifier (ou supprimer) celles-ci à tout moment.", + "app.containers.AdminPage.projects.project.analysis.Tags.autoTagTitle": "Étiquetage automatique", + "app.containers.AdminPage.projects.project.analysis.Tags.byLabelSubtitle1": "Sélectionnez jusqu'à 9 étiquettes parmi lesquelles vous souhaitez répartir les contributions. Les contributions déjà associées à ces étiquettes ne seront pas classées à nouveau.", "app.containers.AdminPage.projects.project.analysis.Tags.byLabelSubtitle2": "La classification repose uniquement sur le nom de l'étiquette. Choisissez des mots-clés pertinents pour obtenir les meilleurs résultats.", - "app.containers.AdminPage.projects.project.analysis.Tags.byLabelTitle": "Tags : Par étiquette", - "app.containers.AdminPage.projects.project.analysis.Tags.classificationByExampleDescription": "Vous créez les étiquettes et attribuez manuellement quelques entrées à titre d'exemple, l'ordinateur attribue le reste.", - "app.containers.AdminPage.projects.project.analysis.Tags.classificationByExampleTitle": "Tags : Par exemple", - "app.containers.AdminPage.projects.project.analysis.Tags.classificationByExampleTooltip": "Similaire à \"Tags : par étiquette\" mais avec une précision accrue car vous entraînez le système avec de bons exemples.", - "app.containers.AdminPage.projects.project.analysis.Tags.classificationByLabelDescription": "Vous créez les étiquettes, l'ordinateur attribue les entrées.", - "app.containers.AdminPage.projects.project.analysis.Tags.classificationByLabelTitle": "Tags : Par étiquette", - "app.containers.AdminPage.projects.project.analysis.Tags.classificationByLabelTooltip": "Cela fonctionne bien lorsque vous disposez d'un ensemble prédéfini de balises ou lorsque votre projet a une portée limitée en termes de balises.", - "app.containers.AdminPage.projects.project.analysis.Tags.controversialTagDescription": "Détecter les intrants présentant un taux d'aversion significatif", - "app.containers.AdminPage.projects.project.analysis.Tags.controversialTagTitle": "Controverses", + "app.containers.AdminPage.projects.project.analysis.Tags.byLabelTitle": "Thèmes — par intitulé", + "app.containers.AdminPage.projects.project.analysis.Tags.classificationByExampleDescription": "Vous créez les étiquettes que vous ajoutez à quelques contributions à titre d'exemple, l'IA étiquette le reste", + "app.containers.AdminPage.projects.project.analysis.Tags.classificationByExampleTitle": "Thèmes — par l'exemple", + "app.containers.AdminPage.projects.project.analysis.Tags.classificationByExampleTooltip": "Similaire à \"Thèmes – par l'exemple\" mais avec une précision accrue car vous entraînez le système avec de bons exemples.", + "app.containers.AdminPage.projects.project.analysis.Tags.classificationByLabelDescription": "Vous créez les étiquettes, l'IA les ajoute automatiquement aux contributions", + "app.containers.AdminPage.projects.project.analysis.Tags.classificationByLabelTitle": "Thèmes — par intitulé", + "app.containers.AdminPage.projects.project.analysis.Tags.classificationByLabelTooltip": "Fonctionne bien lorsque vous disposez d'un ensemble prédéfini d'étiquettes ou lorsque le projet se concentre sur des sujets précis.", + "app.containers.AdminPage.projects.project.analysis.Tags.controversialTagDescription": "Détecte les contributions présentant un ratio de like-dislike important", + "app.containers.AdminPage.projects.project.analysis.Tags.controversialTagTitle": "Controversé", "app.containers.AdminPage.projects.project.analysis.Tags.deleteTag": "Supprimer l'étiquette", "app.containers.AdminPage.projects.project.analysis.Tags.deleteTagConfirmation": "Êtes-vous sûr de vouloir supprimer cette étiquette ?", "app.containers.AdminPage.projects.project.analysis.Tags.dontShowAgain": "Ne plus afficher", "app.containers.AdminPage.projects.project.analysis.Tags.editTag": "Modifier l'étiquette", "app.containers.AdminPage.projects.project.analysis.Tags.emptyNameError": "Un nom est requis.", - "app.containers.AdminPage.projects.project.analysis.Tags.fewShotSubtitle": "Sélectionnez au maximum 9 balises entre lesquelles vous souhaitez que les entrées soient réparties.", - "app.containers.AdminPage.projects.project.analysis.Tags.fewShotSubtitle2": "La classification est basée sur les entrées actuellement attribuées aux étiquettes. L'ordinateur essaiera de suivre votre exemple.", - "app.containers.AdminPage.projects.project.analysis.Tags.fewShotTitle": "Tags : Par exemple", - "app.containers.AdminPage.projects.project.analysis.Tags.fullyAutomatedDescription": "L'ordinateur détecte automatiquement les étiquettes et les affecte à vos entrées.", - "app.containers.AdminPage.projects.project.analysis.Tags.fullyAutomatedTitle": "Tags : Entièrement automatisé", - "app.containers.AdminPage.projects.project.analysis.Tags.fullyAutomatedTooltip": "Fonctionne bien lorsque vos projets couvrent un large éventail d'étiquettes. Un bon point de départ.", + "app.containers.AdminPage.projects.project.analysis.Tags.fewShotSubtitle": "Sélectionnez jusqu'à 9 étiquettes parmi lesquelles vous souhaitez répartir les contributions.", + "app.containers.AdminPage.projects.project.analysis.Tags.fewShotSubtitle2": "La classification se fait en se basant sur les contributions actuellement étiquetées. L'IA essaiera de suivre votre exemple.", + "app.containers.AdminPage.projects.project.analysis.Tags.fewShotTitle": "Thèmes — par l'exemple", + "app.containers.AdminPage.projects.project.analysis.Tags.fullyAutomatedDescription": "L'IA infère automatiquement des étiquettes et les ajoute à vos contributions.", + "app.containers.AdminPage.projects.project.analysis.Tags.fullyAutomatedTitle": "Thèmes — entièrement automatisé", + "app.containers.AdminPage.projects.project.analysis.Tags.fullyAutomatedTooltip": "Fonctionne bien lorsque vos projets abordent un large éventail de sujets. Un bon point de départ.", "app.containers.AdminPage.projects.project.analysis.Tags.howToTag": "Comment voulez-vous étiqueter ?", "app.containers.AdminPage.projects.project.analysis.Tags.inputsWithoutTags": "Contributions sans étiquettes", "app.containers.AdminPage.projects.project.analysis.Tags.languageTagDescription": "Détecter la langue de chaque contribution", "app.containers.AdminPage.projects.project.analysis.Tags.languageTagTitle": "Langue", - "app.containers.AdminPage.projects.project.analysis.Tags.launch": "Lancement", + "app.containers.AdminPage.projects.project.analysis.Tags.launch": "Démarrer", "app.containers.AdminPage.projects.project.analysis.Tags.noActiveFilters": "Aucun filtre actif", - "app.containers.AdminPage.projects.project.analysis.Tags.noTags": "Utilisez des balises pour subdiviser et filtrer les entrées, afin de réaliser des résumés plus précis ou plus ciblés.", + "app.containers.AdminPage.projects.project.analysis.Tags.noTags": "Utilisez des étiquettes pour subdiviser et filtrer les contributions afin de créer des résumés plus précis ou ciblés.", "app.containers.AdminPage.projects.project.analysis.Tags.other": "Autre", - "app.containers.AdminPage.projects.project.analysis.Tags.platformTags": "Tags : Tags de la plate-forme", - "app.containers.AdminPage.projects.project.analysis.Tags.platformTagsDescription": "Attribuez les balises de plate-forme existantes que l'auteur a sélectionnées lors de la publication.", + "app.containers.AdminPage.projects.project.analysis.Tags.platformTags": "Étiquettes de la plateforme", + "app.containers.AdminPage.projects.project.analysis.Tags.platformTagsDescription": "Importe les étiquettes de la plateforme choisies par l'auteur lors de la publication", "app.containers.AdminPage.projects.project.analysis.Tags.renameTag": "Renommer l'étiquette", "app.containers.AdminPage.projects.project.analysis.Tags.renameTagModalCancel": "Annuler", "app.containers.AdminPage.projects.project.analysis.Tags.renameTagModalNameLabel": "Nom", @@ -2053,19 +2053,19 @@ "app.containers.AdminPage.projects.project.analysis.Tags.sentimentTagTitle": "Sentiment", "app.containers.AdminPage.projects.project.analysis.Tags.tagDetection": "Détection des étiquettes", "app.containers.AdminPage.projects.project.analysis.Tags.useCurrentFilters": "Utiliser les filtres actuels", - "app.containers.AdminPage.projects.project.analysis.Tags.whatToTag": "Quels sont les intrants que vous souhaitez marquer ?", + "app.containers.AdminPage.projects.project.analysis.Tags.whatToTag": "Quelles contributions souhaitez-vous étiqueter ?", "app.containers.AdminPage.projects.project.analysis.Tasks.autotaggingTask": "Tâche d'auto-étiquetage", - "app.containers.AdminPage.projects.project.analysis.Tasks.controversial": "Controverses", - "app.containers.AdminPage.projects.project.analysis.Tasks.custom": "Personnalisés", + "app.containers.AdminPage.projects.project.analysis.Tasks.controversial": "Controversé", + "app.containers.AdminPage.projects.project.analysis.Tasks.custom": "Personnalisé", "app.containers.AdminPage.projects.project.analysis.Tasks.endedAt": "Terminé", "app.containers.AdminPage.projects.project.analysis.Tasks.failed": "Échec", "app.containers.AdminPage.projects.project.analysis.Tasks.fewShotClassification": "Par exemple", "app.containers.AdminPage.projects.project.analysis.Tasks.inProgress": "En cours", - "app.containers.AdminPage.projects.project.analysis.Tasks.labelClassification": "Par étiquette", + "app.containers.AdminPage.projects.project.analysis.Tasks.labelClassification": "Par intitulé", "app.containers.AdminPage.projects.project.analysis.Tasks.language": "Langue", - "app.containers.AdminPage.projects.project.analysis.Tasks.nlpTopic": "Balise NLP", + "app.containers.AdminPage.projects.project.analysis.Tasks.nlpTopic": "Étiquette NLP", "app.containers.AdminPage.projects.project.analysis.Tasks.noJobs": "Aucune tâche d'IA récente n'a été effectuée", - "app.containers.AdminPage.projects.project.analysis.Tasks.platformTopic": "Étiquette de plate-forme", + "app.containers.AdminPage.projects.project.analysis.Tasks.platformTopic": "Étiquette de la plateforme", "app.containers.AdminPage.projects.project.analysis.Tasks.queued": "En attente", "app.containers.AdminPage.projects.project.analysis.Tasks.sentiment": "Sentiment", "app.containers.AdminPage.projects.project.analysis.Tasks.startedAt": "Commencé", @@ -2091,11 +2091,11 @@ "app.containers.AdminPage.projects.project.analysis.authorsByAge": "Auteurs par âge", "app.containers.AdminPage.projects.project.analysis.authorsByDomicile": "Auteurs par domicile", "app.containers.AdminPage.projects.project.analysis.backgroundJobs": "Tâches IA en arrière-plan", - "app.containers.AdminPage.projects.project.analysis.comments": "Problèmes", + "app.containers.AdminPage.projects.project.analysis.comments": "Commentaires", "app.containers.AdminPage.projects.project.analysis.demographicsTitle": "Données démographiques", "app.containers.AdminPage.projects.project.analysis.domicileChartTooLarge": "Le tableau des domiciles est trop grand pour être affiché", "app.containers.AdminPage.projects.project.analysis.end": "Fin", - "app.containers.AdminPage.projects.project.analysis.filter": "N'affichez que les entrées ayant cette valeur", + "app.containers.AdminPage.projects.project.analysis.filter": "Afficher uniquement les contributions ayant cette valeur", "app.containers.AdminPage.projects.project.analysis.inputsWIthoutTags": "Contributions sans étiquettes", "app.containers.AdminPage.projects.project.analysis.manageIdea": "Gérer l'idée", "app.containers.AdminPage.projects.project.analysis.noAnswer": "Pas de réponse", From da33a1630762390fdbfa34881b3979bfea05f4bd Mon Sep 17 00:00:00 2001 From: brentguf Date: Thu, 19 Oct 2023 11:53:19 +0200 Subject: [PATCH 27/62] Remove created admins after tests (to fix invitation_authentication) --- front/cypress/e2e/admin/idea_manager.cy.ts | 6 +++ .../e2e/admin/initiative_manager.cy.ts | 38 +++++++++++-------- 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/front/cypress/e2e/admin/idea_manager.cy.ts b/front/cypress/e2e/admin/idea_manager.cy.ts index 52116e31a2dd..41aa4243b797 100644 --- a/front/cypress/e2e/admin/idea_manager.cy.ts +++ b/front/cypress/e2e/admin/idea_manager.cy.ts @@ -141,10 +141,12 @@ describe('Idea manager', () => { const password = randomString(); let newAdminFirstName: string; let newAdminLastName: string; + let adminUserId: string; before(() => { cy.apiCreateAdmin(firstName, lastName, email, password).then( (newAdmin) => { + adminUserId = newAdmin.body.data.id; newAdminFirstName = newAdmin.body.data.attributes.first_name; newAdminLastName = newAdmin.body.data.attributes.last_name; cy.apiConfirmUser(email, password); @@ -154,6 +156,10 @@ describe('Idea manager', () => { cy.setAdminLoginCookie(); }); + after(() => { + cy.apiRemoveUser(adminUserId); + }); + it('Assigns a user to an idea', () => { cy.visit('/admin/ideas/'); diff --git a/front/cypress/e2e/admin/initiative_manager.cy.ts b/front/cypress/e2e/admin/initiative_manager.cy.ts index b8ca8469e4cf..d196f70090cb 100644 --- a/front/cypress/e2e/admin/initiative_manager.cy.ts +++ b/front/cypress/e2e/admin/initiative_manager.cy.ts @@ -1,7 +1,7 @@ import { ProposalsSettings } from '../../../app/api/app_configuration/types'; import { randomString, randomEmail } from '../../support/commands'; -describe('Initaitve manager', () => { +describe('Initiative manager', () => { beforeEach(() => { cy.setAdminLoginCookie(); }); @@ -25,17 +25,19 @@ describe('Initaitve manager', () => { let initiativeId1: string; let initiativeId2: string; let initiativeId3: string; + let adminUserId1: string; + let adminUserId2: string; before(() => { // create two extra initiatives, with different assignees // so we can check with greater certainty that all initiatives are being show in the tests cy.apiCreateAdmin(firstName1, lastName1, email1, password1).then( (user) => { - const userId = user.body.data.id; + adminUserId1 = user.body.data.id; cy.apiCreateInitiative({ initiativeTitle: initiativeTitle1, initiativeContent: initiativeContent1, - assigneeId: userId, + assigneeId: adminUserId1, }).then((initiative) => { initiativeId1 = initiative.body.data.id; }); @@ -44,11 +46,11 @@ describe('Initaitve manager', () => { cy.apiCreateAdmin(firstName2, lastName2, email2, password2).then( (user) => { - const userId = user.body.data.id; + adminUserId2 = user.body.data.id; cy.apiCreateInitiative({ initiativeTitle: initiativeTitle2, initiativeContent: initiativeContent2, - assigneeId: userId, + assigneeId: adminUserId2, }).then((initiative) => { initiativeId2 = initiative.body.data.id; }); @@ -69,6 +71,14 @@ describe('Initaitve manager', () => { }); }); + after(() => { + cy.apiRemoveInitiative(initiativeId1); + cy.apiRemoveInitiative(initiativeId2); + cy.apiRemoveInitiative(initiativeId3); + cy.apiRemoveUser(adminUserId1); + cy.apiRemoveUser(adminUserId2); + }); + it('Filters on All initiatives', () => { cy.visit('/admin/initiatives/'); // grab and open assignee filter menu @@ -90,11 +100,6 @@ describe('Initaitve manager', () => { // Check whether the newly created idea is assigned to the user cy.get('.e2e-initiative-row').should('have.length', 1); }); - after(() => { - cy.apiRemoveInitiative(initiativeId1); - cy.apiRemoveInitiative(initiativeId2); - cy.apiRemoveInitiative(initiativeId3); - }); }); describe('Need feedback toggle', () => { @@ -140,8 +145,6 @@ describe('Initaitve manager', () => { assigneeId: userId, }).then((initiative) => { initiativeId1 = initiative.body.data.id; - const officialFeedbackContent = randomString(); - const officialFeedbackAuthor = randomString(); moveInitiativeToThresholdReached(initiativeId1); }); @@ -213,6 +216,7 @@ describe('Initaitve manager', () => { let initiativeId: string; let newAdminFirstName: string; let newAdminLastName: string; + let adminUserId1: string; before(() => { cy.apiCreateInitiative({ initiativeTitle, initiativeContent }).then( @@ -223,6 +227,7 @@ describe('Initaitve manager', () => { cy.apiCreateAdmin(firstName, lastName, email, password).then( (newAdmin) => { + adminUserId1 = newAdmin.body.data.id; newAdminFirstName = newAdmin.body.data.attributes.first_name; newAdminLastName = newAdmin.body.data.attributes.last_name; cy.apiConfirmUser(email, password); @@ -232,6 +237,11 @@ describe('Initaitve manager', () => { cy.setAdminLoginCookie(); }); + after(() => { + cy.apiRemoveInitiative(initiativeId); + cy.apiRemoveUser(adminUserId1); + }); + it('Assigns a user to an initiative', () => { cy.visit('/admin/initiatives/'); // grab and open assignee filter menu @@ -256,9 +266,5 @@ describe('Initaitve manager', () => { // Check if initiative is there cy.get('.e2e-initiative-row').should('have.length', 1); }); - - after(() => { - cy.apiRemoveInitiative(initiativeId); - }); }); }); From 4f81f1bc6c477056706dc2da9df94a8f38400ab0 Mon Sep 17 00:00:00 2001 From: brentguf Date: Thu, 19 Oct 2023 11:55:00 +0200 Subject: [PATCH 28/62] Add warning/comment --- front/cypress/support/commands.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/front/cypress/support/commands.ts b/front/cypress/support/commands.ts index b3404f3700eb..b1cdbea287be 100644 --- a/front/cypress/support/commands.ts +++ b/front/cypress/support/commands.ts @@ -261,9 +261,12 @@ export function apiCreateAdmin( firstName: string, lastName: string, email: string, - password: string, - registration_completed_at?: string + password: string ) { + /* + IMPORTANT: at the time of writing, this does not increase additional_admins_number in appConfig correctly, + so it's important to remove admins after creating them in order to not influence other tests. + */ return cy.apiLogin('admin@citizenlab.co', 'democracy2.0').then((response) => { const adminJwt = response.body.jwt; From 530b318ecdbeaa9f3b5a1d38d46da3d773f4cfd2 Mon Sep 17 00:00:00 2001 From: brentguf Date: Thu, 19 Oct 2023 12:14:48 +0200 Subject: [PATCH 29/62] Only set admin cookies when necessary --- front/cypress/e2e/invitation_authentication_flow.cy.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/front/cypress/e2e/invitation_authentication_flow.cy.ts b/front/cypress/e2e/invitation_authentication_flow.cy.ts index 5516561c24f9..37d84fbbf128 100644 --- a/front/cypress/e2e/invitation_authentication_flow.cy.ts +++ b/front/cypress/e2e/invitation_authentication_flow.cy.ts @@ -48,11 +48,11 @@ function deleteInvites() { describe('Invitation authentication flow', () => { before(() => { deleteInvites(); - cy.setAdminLoginCookie(); }); it('has correct invitations', () => { cy.intercept('POST', '**/invites/*').as('postInvitesRequest'); + cy.setAdminLoginCookie(); cy.visit('/admin/users/invitations'); cy.get('input[type=file]').selectFile('cypress/fixtures/invites.xlsx'); cy.get('.e2e-submit-wrapper-button button').click(); @@ -62,6 +62,7 @@ describe('Invitation authentication flow', () => { cy.contains('jack@johnson.com'); cy.contains('Jack Johnson'); cy.contains('John Jackson'); + cy.logout(); }); // TODO: remove user after this test From de84dba39c6ac543fc9ff4c72263aed87c4eeac0 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 19 Oct 2023 10:28:00 +0000 Subject: [PATCH 30/62] New translations en.json (Dutch) --- front/app/translations/admin/nl-NL.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/translations/admin/nl-NL.json b/front/app/translations/admin/nl-NL.json index 083f123c9b9e..27eb6e844963 100644 --- a/front/app/translations/admin/nl-NL.json +++ b/front/app/translations/admin/nl-NL.json @@ -2106,7 +2106,7 @@ "app.containers.AdminPage.projects.project.analysis.search": "Zoeken", "app.containers.AdminPage.projects.project.analysis.start": "Start", "app.containers.AdminPage.projects.project.analysis.supportArticle": "Supportartikel", - "app.containers.AdminPage.projects.project.analysis.supportArticleLink": "https://support.citizenlab.co/en/articles/8316692-ai-analysis", + "app.containers.AdminPage.projects.project.analysis.supportArticleLink": "https://support.citizenlab.co/nl/articles/8316692-ai-analyse", "app.containers.AdminPage.projects.project.analysis.unknown": "Onbekend", "app.containers.AdminPage.projects.project.analysis.votes": "Stemmen", "app.containers.AdminPage.widgets.copied": "Gekopieerd", From 6571b14287432194bb691e997362abbb0d262c82 Mon Sep 17 00:00:00 2001 From: Amanda Anderson Date: Thu, 19 Oct 2023 15:09:19 +0200 Subject: [PATCH 31/62] Fix issue with 2 column banner --- front/app/components/UI/Image/index.tsx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/front/app/components/UI/Image/index.tsx b/front/app/components/UI/Image/index.tsx index ea561caabdd8..b2afc053f511 100644 --- a/front/app/components/UI/Image/index.tsx +++ b/front/app/components/UI/Image/index.tsx @@ -5,6 +5,13 @@ import React, { PureComponent } from 'react'; import styled, { css } from 'styled-components'; import { colors } from 'utils/styleUtils'; +const Fallback = styled.div<{ src: string | undefined }>` + background-repeat: no-repeat; + background-position: center center; + background-size: cover; + background-image: url(${({ src }) => src}); +`; + const ImageElement = styled.img<{ cover: boolean; fadeIn: boolean; @@ -80,7 +87,7 @@ export default class Image extends PureComponent { const { isLazy } = this.props; const { loaded } = this.state; - return ( + let image = ( { loading={isLazy ? 'lazy' : 'eager'} /> ); + + if (cover) { + image = ; + } + + return image; } } From 0e06fa2283b0b6b3ad01e9f90284b60ccc7002ce Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 19 Oct 2023 13:32:38 +0000 Subject: [PATCH 32/62] New translations en.yml (German) --- back/engines/free/email_campaigns/config/locales/de-DE.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/back/engines/free/email_campaigns/config/locales/de-DE.yml b/back/engines/free/email_campaigns/config/locales/de-DE.yml index 3d9165a1afe3..2282e3b999c0 100644 --- a/back/engines/free/email_campaigns/config/locales/de-DE.yml +++ b/back/engines/free/email_campaigns/config/locales/de-DE.yml @@ -375,7 +375,7 @@ de: no_projects: 'Noch keine Projekte erhalten' preheader: 'Ein Admin der Beteiligungsplattform %{organizationName} hat Sie soeben zu einer:einem Manager:in des folgenden Projektordners ernannt' subject: 'Sie wurden zu einer:einem Ordnermanager:in auf der Plattform von %{organizationName} ernannt' - text_manage_folder: 'Mit einem Ordner können Sie mehrere Beteiligungsprojekte zusammen organisieren. Als Ordner-Manager*in können Sie den Ordner und die Ordnerbeschreibung bearbeiten und neue Projekte erstellen (um Projekte zu löschen, müssen Sie Ihren Plattform-Admin kontaktieren). Sie werden außerdem Projektmanagementrechte für alle Projekte innerhalb des Ordners erhalten. So können Sie die Projekte bearbeiten, die Eingaben verwalten und E-Mails an Teilnehmende senden.' + text_manage_folder: 'Mit einem Ordner können Sie mehrere Beteiligungsprojekte zusammen organisieren. Als Ordner-Manager*in können Sie den Ordner und die Ordnerbeschreibung bearbeiten und neue Projekte erstellen (um Projekte zu löschen, müssen Sie Ihren Plattform-Admin kontaktieren). Sie werden außerdem Projektmanagementrechte für alle Projekte innerhalb des Ordners erhalten. So können Sie die Projekte bearbeiten, die Beiträge verwalten und E-Mails an Teilnehmende senden.' text_moderate_analyse_input: 'Sobald die Projekte gestartet wurden, werden die ersten Beiträge eingehen. Sie werden wöchentliche Berichte mit den wichtigsten Aktivitäten erhalten, damit Sie den Überblick behalten können. Mit dem Beitragsmanager in Ihrer Admin-Ansicht können Sie sich die Beiträge ansehen und sie verwalten (z. B. können Sie einen Status zuweisen und auf Beiträge und Kommentare antworten).' text_design_participatory_process: 'Sie können die verschiedenen Beteiligungsprojekte in Ihrem Ordner verwalten – konfigurieren Sie die Teilnahmemethode, fügen Sie eine Projektbeschreibung hinzu, hängen Sie Bilder an und informieren Sie über relevante Ereignisse. Sie können auch festlegen, wie Teilnehmende bei Ihren Projekten mitwirken können. Zum Beispiel können Sie die Zugriffsrechte festlegen und die Beitrags-, Abstimmungs- und Kommentareinstellungen konfigurieren.' title_design_participatory_process: 'Gestalten Sie den partizipativen Prozess' From 973bbf91c1c2fc0b8f2aaa108bb2d05851cde580 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 19 Oct 2023 13:32:40 +0000 Subject: [PATCH 33/62] New translations en.json (German) --- front/app/translations/admin/de-DE.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/front/app/translations/admin/de-DE.json b/front/app/translations/admin/de-DE.json index 5e960039af6f..12593f58bb0e 100644 --- a/front/app/translations/admin/de-DE.json +++ b/front/app/translations/admin/de-DE.json @@ -2025,7 +2025,7 @@ "app.containers.AdminPage.projects.project.analysis.Tags.controversialTagTitle": "Umstritten", "app.containers.AdminPage.projects.project.analysis.Tags.deleteTag": "Themen-Tag löschen", "app.containers.AdminPage.projects.project.analysis.Tags.deleteTagConfirmation": "Diesen Themen-Tag wirklich entfernen?", - "app.containers.AdminPage.projects.project.analysis.Tags.dontShowAgain": "Zeigen Sie das nicht mehr", + "app.containers.AdminPage.projects.project.analysis.Tags.dontShowAgain": "Nicht mehr anzeigen", "app.containers.AdminPage.projects.project.analysis.Tags.editTag": "Themen-Tag bearbeiten", "app.containers.AdminPage.projects.project.analysis.Tags.emptyNameError": "Name hinzufügen", "app.containers.AdminPage.projects.project.analysis.Tags.fewShotSubtitle": "Wählen Sie maximal 9 Tags aus, auf die die Eingaben verteilt werden sollen.", @@ -2053,7 +2053,7 @@ "app.containers.AdminPage.projects.project.analysis.Tags.sentimentTagTitle": "Stimmung", "app.containers.AdminPage.projects.project.analysis.Tags.tagDetection": "Tag-Erkennung", "app.containers.AdminPage.projects.project.analysis.Tags.useCurrentFilters": "Aktuelle Filter verwenden", - "app.containers.AdminPage.projects.project.analysis.Tags.whatToTag": "Welche Eingaben möchten Sie markieren?", + "app.containers.AdminPage.projects.project.analysis.Tags.whatToTag": "Welche Beiträge möchten Sie markieren?", "app.containers.AdminPage.projects.project.analysis.Tasks.autotaggingTask": "Autotagging-Aufgabe", "app.containers.AdminPage.projects.project.analysis.Tasks.controversial": "Umstritten", "app.containers.AdminPage.projects.project.analysis.Tasks.custom": "Benutzerdefiniert", From 21b1507e0cd29a836689e6d981b2aac38d187b53 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 19 Oct 2023 13:32:42 +0000 Subject: [PATCH 34/62] New translations en.json (Portuguese, Brazilian) --- front/app/translations/pt-BR.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/translations/pt-BR.json b/front/app/translations/pt-BR.json index 26237976e0e7..d60b86580c91 100644 --- a/front/app/translations/pt-BR.json +++ b/front/app/translations/pt-BR.json @@ -1141,7 +1141,7 @@ "app.containers.InitiativesShow.manageInvitationsLinkText": "Gerir os convites de co-patrocínio", "app.containers.InitiativesShow.metaOgTitle": "Apoiar esta proposta : {initiativeTitle}", "app.containers.InitiativesShow.metaTitle": "Proposta - {initiativeTitle}", - "app.containers.InitiativesShow.numberOfCosponsorsNotYetMet": "{requiredNumberOfCosponsors, plural, one {A sua proposta necessita de 1 co-patrocínio aceite. Até lá, não será considerada. {manageInvitationsLink}} other {A sua proposta necessita de {requiredNumberOfCosponsors} co-patrocínios aceites. Até lá, não será considerada. {manageInvitationsLink}.}}", + "app.containers.InitiativesShow.numberOfCosponsorsNotYetMet": "{requiredNumberOfCosponsors, plural, one {Sua proposta precisa de 1 co-patrocínio aceito. Até lá, ela não será considerada. {manageInvitationsLink}} other {Sua proposta precisa de {requiredNumberOfCosponsors} co-patrocínios aceitos. Até lá, ela não será considerada. {manageInvitationsLink}.}}", "app.containers.InitiativesShow.pending1": "pendente", "app.containers.InitiativesShow.postedBy": "Proposta publicada por {authorName}", "app.containers.InitiativesShow.postedByShort": "Publicado por {authorName}", From 06621f6341303a2616f28f3458c234e82ef9a3d7 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 19 Oct 2023 15:55:22 +0000 Subject: [PATCH 35/62] New translations en.yml (Portuguese, Brazilian) --- .../free/email_campaigns/config/locales/pt-BR.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/back/engines/free/email_campaigns/config/locales/pt-BR.yml b/back/engines/free/email_campaigns/config/locales/pt-BR.yml index 38dea601ecea..0bc1b873fc42 100644 --- a/back/engines/free/email_campaigns/config/locales/pt-BR.yml +++ b/back/engines/free/email_campaigns/config/locales/pt-BR.yml @@ -528,13 +528,13 @@ pt: body_3: 'Recomendamos que você analise os resultados e fique atento para mais atualizações sobre as próximas etapas.' cta_see_results: 'Veja os resultados na plataforma' event_registration_confirmation: - subject: "Está inscrito! A sua inscrição em \"%{eventTitle}\" está confirmada" - header_message: "%{firstName}obrigado por se registar em" + subject: "Você está dentro! Sua inscrição para \"%{eventTitle}\" está confirmada" + header_message: "%{firstName}, obrigado por registrar-se para" event_details: labels: date: 'Data' location: 'Localização' - online_link: 'Ligação em linha' + online_link: 'Link on-line' description: 'Descrição' project: 'Projeto' cta_go_to_event: 'Ver o evento' @@ -561,7 +561,7 @@ pt: managers: 'Gestores' admins_assigned_to_a_proposal: 'Administradores atribuídos a uma proposta' admins_and_managers_assigned_to_the_input: 'Administradores e gestores atribuídos à entrada' - new_attendee: 'Utilizador recentemente registado' + new_attendee: 'Usuário recém-registrado' user_who_is_invited_to_cosponsor_a_proposal: 'Utilizador que é convidado a co-patrocinar uma proposta' user_who_is_receiving_admin_rights: 'Usuário que está recebendo direitos de administrador' user_who_is_receiving_folder_moderator_rights: 'Usuário que está recebendo direitos de moderador de pasta' @@ -638,4 +638,4 @@ pt: voting_basket_submitted: 'Os votos são enviados' 7_days_after_invite_is_sent: '7 dias após o envio do convite' 7_days_before_the_project_changes_phase: '7 dias antes da fase de mudanças do projeto' - registration_to_event: 'Inscrição num evento' + registration_to_event: 'Inscrição em um evento' From 742a4a0f45a4537c7969e4686f816f11c2e1b3cf Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 19 Oct 2023 15:55:24 +0000 Subject: [PATCH 36/62] New translations en.json (Portuguese, Brazilian) --- front/app/translations/admin/pt-BR.json | 30 ++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/front/app/translations/admin/pt-BR.json b/front/app/translations/admin/pt-BR.json index 8abbf24bad52..172aba31aef3 100644 --- a/front/app/translations/admin/pt-BR.json +++ b/front/app/translations/admin/pt-BR.json @@ -453,7 +453,7 @@ "app.containers.Admin.Invitations.helmetTitle": "Painel de convite de administrador", "app.containers.Admin.Invitations.importOptionsInfo": "Você pode adicionar uma mensagem pessoal ao convite, adicionar pessoas a um grupo ou conceder a elas direitos de administrador ou moderação. Visite {supportPageLink} para mais informações.", "app.containers.Admin.Invitations.importTab": "Importar endereços de e-mail", - "app.containers.Admin.Invitations.invitationExpirationWarning": "Tenha em atenção que os convites expiram ao fim de 14 dias. Após este período, ainda pode reenviá-los.", + "app.containers.Admin.Invitations.invitationExpirationWarning": "Esteja ciente de que os convites expiram após 14 dias. Após esse período, você ainda poderá reenviá-los.", "app.containers.Admin.Invitations.invitationOptions": "Opções de convite", "app.containers.Admin.Invitations.invitationSubtitle": "Convide pessoas que ainda não estão cadastradas na plataforma. Importe seus endereços de e-mail colocando-os no modelo de importação ou insira os endereços de e-mail manualmente. Se desejar, adicione uma mensagem pessoal, dê direitos extras às pessoas ou adicione-as a um grupo manual.", "app.containers.Admin.Invitations.invitePeople": "Convites", @@ -1969,10 +1969,10 @@ "app.containers.AdminPage.projects.project.analysis.Insights.appliesTo": "Aplica-se às entradas atualmente seleccionadas", "app.containers.AdminPage.projects.project.analysis.Insights.ask": "Perguntar", "app.containers.AdminPage.projects.project.analysis.Insights.askQuestion": "Fazer uma pergunta", - "app.containers.AdminPage.projects.project.analysis.Insights.deleteQuestion": "Eliminar a pergunta", - "app.containers.AdminPage.projects.project.analysis.Insights.deleteQuestionConfirmation": "Tem a certeza de que pretende apagar esta pergunta?", - "app.containers.AdminPage.projects.project.analysis.Insights.deleteSummary": "Eliminar resumo", - "app.containers.AdminPage.projects.project.analysis.Insights.deleteSummaryConfirmation": "Tem a certeza de que pretende eliminar estes resumos?", + "app.containers.AdminPage.projects.project.analysis.Insights.deleteQuestion": "Excluir pergunta", + "app.containers.AdminPage.projects.project.analysis.Insights.deleteQuestionConfirmation": "Tem certeza de que deseja excluir esta pergunta?", + "app.containers.AdminPage.projects.project.analysis.Insights.deleteSummary": "Excluir resumo", + "app.containers.AdminPage.projects.project.analysis.Insights.deleteSummaryConfirmation": "Tem certeza de que deseja excluir estes resumos?", "app.containers.AdminPage.projects.project.analysis.Insights.emptyList": "Os seus resumos de texto serão apresentados aqui, mas atualmente ainda não tem nenhum.", "app.containers.AdminPage.projects.project.analysis.Insights.emptyListDescription": "Clique no botão Resumir automaticamente acima para começar.", "app.containers.AdminPage.projects.project.analysis.Insights.percentage": "%", @@ -1999,10 +1999,10 @@ "app.containers.AdminPage.projects.project.analysis.LaunchModal.subtitle": "Recomendamos a utilização de resumos gerados por IA como ponto de partida para compreender grandes conjuntos de dados, mas não como a palavra final.", "app.containers.AdminPage.projects.project.analysis.LaunchModal.title": "Como trabalhar com a IA", "app.containers.AdminPage.projects.project.analysis.Tags.addInputToTag": "Adicionar entradas seleccionadas à etiqueta", - "app.containers.AdminPage.projects.project.analysis.Tags.addTag": "Adicionar etiqueta", + "app.containers.AdminPage.projects.project.analysis.Tags.addTag": "Adicionar tag", "app.containers.AdminPage.projects.project.analysis.Tags.allInput": "Todas as entradas", "app.containers.AdminPage.projects.project.analysis.Tags.allInputs": "Todas as entradas", - "app.containers.AdminPage.projects.project.analysis.Tags.allTags": "Todas as etiquetas", + "app.containers.AdminPage.projects.project.analysis.Tags.allTags": "Todas as tags", "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignNo": "Não, eu faço-o", "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignQuestion": "Pretende atribuir automaticamente entradas à sua etiqueta?", "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignStep2AutoText1": "Existem métodos diferentes para atribuir automaticamente entradas a etiquetas.", @@ -2023,10 +2023,10 @@ "app.containers.AdminPage.projects.project.analysis.Tags.classificationByLabelTooltip": "Isto funciona bem quando tem um conjunto predefinido de etiquetas ou quando o seu projeto tem um âmbito limitado em termos de etiquetas.", "app.containers.AdminPage.projects.project.analysis.Tags.controversialTagDescription": "Detetar entradas com um rácio significativo de não gosto/gosto", "app.containers.AdminPage.projects.project.analysis.Tags.controversialTagTitle": "Polémica", - "app.containers.AdminPage.projects.project.analysis.Tags.deleteTag": "Eliminar etiqueta", - "app.containers.AdminPage.projects.project.analysis.Tags.deleteTagConfirmation": "Tem a certeza de que pretende apagar esta etiqueta?", + "app.containers.AdminPage.projects.project.analysis.Tags.deleteTag": "Excluir tag", + "app.containers.AdminPage.projects.project.analysis.Tags.deleteTagConfirmation": "Tem certeza de que deseja excluir esta tag?", "app.containers.AdminPage.projects.project.analysis.Tags.dontShowAgain": "Não voltar a mostrar isto", - "app.containers.AdminPage.projects.project.analysis.Tags.editTag": "Editar etiqueta", + "app.containers.AdminPage.projects.project.analysis.Tags.editTag": "Editar tag", "app.containers.AdminPage.projects.project.analysis.Tags.emptyNameError": "Adicionar nome", "app.containers.AdminPage.projects.project.analysis.Tags.fewShotSubtitle": "Seleccione o máximo de 9 etiquetas pelas quais pretende que as entradas sejam distribuídas.", "app.containers.AdminPage.projects.project.analysis.Tags.fewShotSubtitle2": "A classificação é baseada nas entradas atualmente atribuídas às etiquetas. O computador tentará seguir o seu exemplo.", @@ -2047,8 +2047,8 @@ "app.containers.AdminPage.projects.project.analysis.Tags.renameTag": "Mudar o nome da etiqueta", "app.containers.AdminPage.projects.project.analysis.Tags.renameTagModalCancel": "Cancelar", "app.containers.AdminPage.projects.project.analysis.Tags.renameTagModalNameLabel": "Nome", - "app.containers.AdminPage.projects.project.analysis.Tags.renameTagModalSave": "Guardar", - "app.containers.AdminPage.projects.project.analysis.Tags.renameTagModalTitle": "Mudar o nome da etiqueta", + "app.containers.AdminPage.projects.project.analysis.Tags.renameTagModalSave": "Salvar", + "app.containers.AdminPage.projects.project.analysis.Tags.renameTagModalTitle": "Renomear tag", "app.containers.AdminPage.projects.project.analysis.Tags.sentimentTagDescription": "Atribuir um sentimento positivo ou negativo a cada entrada, derivado do texto", "app.containers.AdminPage.projects.project.analysis.Tags.sentimentTagTitle": "Sentimento", "app.containers.AdminPage.projects.project.analysis.Tags.tagDetection": "Deteção de etiquetas", @@ -2078,13 +2078,13 @@ "app.containers.AdminPage.projects.project.analysis.TopBar.below": "Abaixo", "app.containers.AdminPage.projects.project.analysis.TopBar.birthyear": "Ano de nascimento", "app.containers.AdminPage.projects.project.analysis.TopBar.domicile": "Domicílio", - "app.containers.AdminPage.projects.project.analysis.TopBar.engagement": "Compromisso", + "app.containers.AdminPage.projects.project.analysis.TopBar.engagement": "Engajamento", "app.containers.AdminPage.projects.project.analysis.TopBar.filters": "Filtros", "app.containers.AdminPage.projects.project.analysis.TopBar.from": "De", - "app.containers.AdminPage.projects.project.analysis.TopBar.gender": "Género", + "app.containers.AdminPage.projects.project.analysis.TopBar.gender": "Gênero", "app.containers.AdminPage.projects.project.analysis.TopBar.input": "Entrada", "app.containers.AdminPage.projects.project.analysis.TopBar.numberOfComments": "Número de comentários", - "app.containers.AdminPage.projects.project.analysis.TopBar.numberOfReactions": "Número de reacções", + "app.containers.AdminPage.projects.project.analysis.TopBar.numberOfReactions": "Número de reações", "app.containers.AdminPage.projects.project.analysis.TopBar.numberOfVotes": "Número de votos", "app.containers.AdminPage.projects.project.analysis.TopBar.to": "Para", "app.containers.AdminPage.projects.project.analysis.anonymous": "Contribuição anónima", From ab34a6c1b27a988d9188c128b784713231375150 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Thu, 19 Oct 2023 17:47:46 +0000 Subject: [PATCH 37/62] New translations en.json (Portuguese, Brazilian) --- front/app/translations/admin/pt-BR.json | 158 ++++++++++++------------ 1 file changed, 79 insertions(+), 79 deletions(-) diff --git a/front/app/translations/admin/pt-BR.json b/front/app/translations/admin/pt-BR.json index 172aba31aef3..6130fd56b405 100644 --- a/front/app/translations/admin/pt-BR.json +++ b/front/app/translations/admin/pt-BR.json @@ -241,15 +241,15 @@ "app.components.app.containers.AdminPage.ProjectEdit.projectTerm": "Projeto", "app.components.app.containers.AdminPage.ProjectEdit.questionTerm": "Pergunta", "app.components.formBuilder.editWarningModal.addOrReorder": "Adicionar ou reordenar perguntas", - "app.components.formBuilder.editWarningModal.addOrReorderDescription": "Os seus dados de resposta podem ser incorrectos", + "app.components.formBuilder.editWarningModal.addOrReorderDescription": "Os seus dados de resposta podem ser incorretos", "app.components.formBuilder.editWarningModal.changeQuestionText2": "Editar texto", - "app.components.formBuilder.editWarningModal.changeQuestionTextDescription": "Corrigir um erro de digitação? Não afectará os seus dados de resposta", - "app.components.formBuilder.editWarningModal.deleteAQuestionDescription": "Perderá os dados de resposta associados a essa pergunta", - "app.components.formBuilder.editWarningModal.deteleAQuestion": "Eliminar uma pergunta", - "app.components.formBuilder.editWarningModal.exportYouResponses2": "exportar as suas respostas.", - "app.components.formBuilder.editWarningModal.loseDataWarning3": "Aviso: Pode perder os dados de resposta para sempre. Antes de continuar,", + "app.components.formBuilder.editWarningModal.changeQuestionTextDescription": "Corrigindo um erro de digitação? Isso não afetará seus dados de resposta", + "app.components.formBuilder.editWarningModal.deleteAQuestionDescription": "Você perderá os dados de resposta vinculados a essa pergunta", + "app.components.formBuilder.editWarningModal.deteleAQuestion": "Excluir uma pergunta", + "app.components.formBuilder.editWarningModal.exportYouResponses2": "exporte suas respostas.", + "app.components.formBuilder.editWarningModal.loseDataWarning3": "Aviso: você poderá perder dados de resposta para sempre. Antes de continuar,", "app.components.formBuilder.editWarningModal.noCancel": "Não, cancelar", - "app.components.formBuilder.editWarningModal.title4": "Editar inquérito em direto", + "app.components.formBuilder.editWarningModal.title4": "Editar pesquisa ao vivo", "app.components.formBuilder.editWarningModal.yesContinue": "Sim, continuar", "app.components.onboarding.askFollowPreferences": "Pedir aos utilizadores para seguirem áreas ou tópicos", "app.components.onboarding.followHelperText": "Isto ativa um passo no processo de registo em que os utilizadores poderão seguir as áreas ou tópicos que selecionar abaixo", @@ -540,7 +540,7 @@ "app.containers.Admin.PagesAndMenu.addButton": "Adicionar à barra de navegação", "app.containers.Admin.PagesAndMenu.components.NavbarItemForm.navbarItemTitle": "Nome na barra de navegação", "app.containers.Admin.PagesAndMenu.components.deletePageConfirmationHidden": "Tem a certeza de que quer apagar esta página? Isto não pode ser desfeito.", - "app.containers.Admin.PagesAndMenu.components.emptyTitleError1": "Fornecer um título para todas as línguas", + "app.containers.Admin.PagesAndMenu.components.emptyTitleError1": "Forneça um título para todos os idiomas", "app.containers.Admin.PagesAndMenu.components.hiddenFromNavigation": "Outras páginas disponíveis", "app.containers.Admin.PagesAndMenu.components.savePage": "Salvar página", "app.containers.Admin.PagesAndMenu.components.saveSuccess": "Página salva com sucesso", @@ -803,10 +803,10 @@ "app.containers.Admin.projectFolders.containers.settings.ProjectFolderForm.imageSupportPageURL": "https://support.citizenlab.co/en/articles/1346397-what-are-the-recommended-dimensions-and-sizes-of-the-platform-images", "app.containers.Admin.projectFolders.containers.settings.ProjectFolderForm.supportPageLinkText": "visite o nosso centro de apoio", "app.containers.Admin.projects.all.PDFExportModal.phase": "Fase", - "app.containers.Admin.projects.all.PDFExportModal.selectIdeationPhase": "Seleccione uma fase de ideação.", + "app.containers.Admin.projects.all.PDFExportModal.selectIdeationPhase": "Por favor, selecione uma fase de idealização.", "app.containers.Admin.projects.all.askPersonalData": "Solicitar dados pessoais", - "app.containers.Admin.projects.all.clickExportToPDFIdeaForm2": "Clique em \"Exportar como pdf\" abaixo para descarregar uma versão em pdf do formulário de introdução. Tenha em atenção que, de momento, os campos Imagens, Carregamento de ficheiros, Etiquetas e Escala linear não são suportados na versão pdf.", - "app.containers.Admin.projects.all.clickExportToPDFSurvey2": "Clique em \"Exportar como pdf\" abaixo para descarregar uma versão em pdf do inquérito. Tenha em atenção que, de momento, os campos Escala Linear e Carregamento de Ficheiro não são suportados na versão pdf.", + "app.containers.Admin.projects.all.clickExportToPDFIdeaForm2": "Clique em 'Exportar como PDF' abaixo para baixar uma versão em PDF do formulário de entrada. Esteja ciente de que no momento os campos Imagens, Upload de Arquivos, Tags e Escala Linear não são suportados para a versão pdf.", + "app.containers.Admin.projects.all.clickExportToPDFSurvey2": "Clique em 'Exportar como PDF' abaixo para baixar uma versão em PDF da pesquisa. Esteja ciente de que no momento os campos Escala Linear e Upload de Arquivo não são suportados para a versão pdf.", "app.containers.Admin.projects.all.components.archived": "Arquivado", "app.containers.Admin.projects.all.components.draft": "Rascunho", "app.containers.Admin.projects.all.components.manageButtonLabel": "Gerenciar", @@ -819,7 +819,7 @@ "app.containers.Admin.projects.all.deleteProjectConfirmation": "Tem certeza de que deseja excluir este projeto? Isto não pode ser desfeito.", "app.containers.Admin.projects.all.deleteProjectError": "Ocorreu um erro ao excluir este projeto, tente novamente mais tarde.", "app.containers.Admin.projects.all.exportAsPDF": "Exportar como pdf", - "app.containers.Admin.projects.all.itIsAlsoPossible": "Também é possível carregar os formulários de entrada preenchidos de volta para a plataforma. O nosso importador de dados offline detecta automaticamente a caligrafia dos formulários. Isto torna a combinação da participação online e offline muito mais fácil. Para abrir o importador de entradas offline, vá ao separador \"Gestor de entradas\" deste projeto e clique em \"Adicionar entradas offline\".", + "app.containers.Admin.projects.all.itIsAlsoPossible": "Também é possível enviar os formulários de entrada preenchidos de volta para a plataforma. Nosso importador de entrada offline detectará automaticamente a escrita manual nos formulários. Isso torna muito mais fácil combinar a participação online e offline. Para abrir o importador de entrada offline, vá para a guia 'Gerenciador de entrada' deste projeto e clique em 'Adicionar entradas offline'.", "app.containers.Admin.projects.all.itIsAlsoPossibleSurvey": "Também é possível fazer o upload dos questionários preenchidos de volta para a plataforma. Nosso importador de entrada off-line detectará automaticamente a caligrafia nos formulários. Isso facilita muito a combinação da participação on-line e off-line. Para abrir o Offline Input Importer, vá para a guia \"Survey\" (Pesquisa) deste projeto e clique em \"Add offline inputs\" (Adicionar entradas off-line).", "app.containers.Admin.projects.all.personalDataExplanation": "Para solicitar o nome, o e-mail e o consentimento das pessoas para criar automaticamente uma conta para elas, marque a caixa de seleção abaixo. Se você não marcar essa caixa, ou se o usuário não consentir com a criação de uma conta, a entrada será tratada como anônima.", "app.containers.Admin.projects.project.ideas.addOfflineInputs": "Adicionar entradas offline", @@ -836,15 +836,15 @@ "app.containers.Admin.projects.project.ideas.consentModalText4LinkText": "aqui", "app.containers.Admin.projects.project.ideas.consentModalTitle": "Antes de continuar", "app.containers.Admin.projects.project.offlineInputs.ImportModal.addToPhase": "Adicionar à fase", - "app.containers.Admin.projects.project.offlineInputs.ImportModal.consentNeeded": "É necessário dar o seu consentimento para poder continuar", + "app.containers.Admin.projects.project.offlineInputs.ImportModal.consentNeeded": "Você precisa consentir com isso antes de continuar", "app.containers.Admin.projects.project.offlineInputs.ImportModal.formHasPersonalData": "O formulário carregado foi criado com a seção \"Personal data\" (Dados pessoais)", - "app.containers.Admin.projects.project.offlineInputs.ImportModal.formLanguage": "Língua de formação", - "app.containers.Admin.projects.project.offlineInputs.ImportModal.googleConsent2": "Autorizo o processamento deste ficheiro utilizando o Google Cloud Form Parser", + "app.containers.Admin.projects.project.offlineInputs.ImportModal.formLanguage": "Linguagem do formulário", + "app.containers.Admin.projects.project.offlineInputs.ImportModal.googleConsent2": "Autorizo o processamento deste arquivo utilizando o Google Cloud Form Parser", "app.containers.Admin.projects.project.offlineInputs.ImportModal.here": "aqui", "app.containers.Admin.projects.project.offlineInputs.ImportModal.inputImporter": "Importador de entradas", - "app.containers.Admin.projects.project.offlineInputs.ImportModal.pleaseUploadFile": "Carregue um ficheiro para continuar", + "app.containers.Admin.projects.project.offlineInputs.ImportModal.pleaseUploadFile": "Por favor, faça upload de um arquivo para continuar", "app.containers.Admin.projects.project.offlineInputs.ImportModal.upload": "Carregar", - "app.containers.Admin.projects.project.offlineInputs.ImportModal.uploadAPdfExcelFile": "Carregue um ficheiro PDF de formulários digitalizados ou um ficheiro Excel preenchido. O PDF deve utilizar um formulário impresso a partir deste projeto. O ficheiro Excel deve utilizar o modelo fornecido para este projeto. Estes podem ser descarregados {hereLink}.", + "app.containers.Admin.projects.project.offlineInputs.ImportModal.uploadAPdfExcelFile": "Carregue um arquivo PDF de formulários digitalizados ou um arquivo Excel preenchido. O PDF deverá utilizar formulário impresso deste projeto. O arquivo Excel deve utilizar o modelo fornecido para este projeto. Eles podem ser baixados {hereLink}.", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.AuthorInput.addANewUser": "Adicionar um novo usuário", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.AuthorInput.enterAValidEmail": "Digite um e-mail válido para criar uma nova conta", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.aNewAccountWillBeCreated": "Uma nova conta será criada com esse e-mail. Essa entrada será adicionada a ela.", @@ -855,20 +855,20 @@ "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.userConsent": "Consentimento do usuário (criar conta de usuário)", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.approve": "Aprovar", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.author": "Autor:", - "app.containers.Admin.projects.project.offlineInputs.ReviewSection.email": "Correio eletrónico:", + "app.containers.Admin.projects.project.offlineInputs.ReviewSection.email": "E-mail:", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.formDataNotValid": "Dados de formulário inválidos. Verifique se há erros no formulário acima.", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.ideaImportedAnonymously": "Esta ideia foi importada de forma anónima.", - "app.containers.Admin.projects.project.offlineInputs.ReviewSection.importFile2": "Importação", + "app.containers.Admin.projects.project.offlineInputs.ReviewSection.importFile2": "Importar", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.importedInputs": "Entradas importadas", - "app.containers.Admin.projects.project.offlineInputs.ReviewSection.locale": "Local:", - "app.containers.Admin.projects.project.offlineInputs.ReviewSection.noIdeasYet3": "Ainda não há nada para rever. Clique em \"{importFile}\" para importar um ficheiro PDF que contenha formulários de entrada digitalizados ou um ficheiro Excel que contenha entradas.", + "app.containers.Admin.projects.project.offlineInputs.ReviewSection.locale": "Localidade:", + "app.containers.Admin.projects.project.offlineInputs.ReviewSection.noIdeasYet3": "Nada para revisar ainda. Clique em \"{importFile}\" para importar um arquivo PDF contendo formulários de entrada digitalizados ou um arquivo Excel contendo entradas.", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.noTitleInputLabel": "Entrada", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.page": "Página", - "app.containers.Admin.projects.project.offlineInputs.ReviewSection.pdfNotAvailable": "Não é possível visualizar o ficheiro importado. A visualização do ficheiro importado só está disponível para importações de PDF.", + "app.containers.Admin.projects.project.offlineInputs.ReviewSection.pdfNotAvailable": "Não é possível exibir o arquivo importado. A visualização de arquivos importados está disponível apenas para importações de PDF.", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.phase": "Fase:", - "app.containers.Admin.projects.project.offlineInputs.ReviewSection.phaseNotAllowed2": "A fase selecionada não pode conter entradas. Por favor, seleccione outra.", - "app.containers.Admin.projects.project.offlineInputs.TopBar.noPhasesInProject": "Este projeto não contém quaisquer fases que possam conter ideias.", - "app.containers.Admin.projects.project.offlineInputs.TopBar.selectAPhase": "Seleccione a fase a que pretende adicionar estas entradas.", + "app.containers.Admin.projects.project.offlineInputs.ReviewSection.phaseNotAllowed2": "A fase selecionada não pode conter entradas. Selecione outra.", + "app.containers.Admin.projects.project.offlineInputs.TopBar.noPhasesInProject": "Este projeto não contém nenhuma fase que possa conter ideias.", + "app.containers.Admin.projects.project.offlineInputs.TopBar.selectAPhase": "Selecione em qual fase você deseja adicionar essas entradas.", "app.containers.Admin.projects.project.offlineInputs.inputImporter": "Importador de entradas", "app.containers.Admin.projects.project.survey.analysisSelectQuestionsForAnalysis": "Selecione questões relacionadas para análise", "app.containers.Admin.projects.project.survey.analysisSelectQuestionsSubtitle": "Deseja incluir alguma outra questão relacionada em sua análise de {question}?", @@ -886,9 +886,9 @@ "app.containers.Admin.projects.project.survey.deleteAnalysis": "Deletar", "app.containers.Admin.projects.project.survey.deleteAnalysisConfirmation": "Tem certeza de que deseja excluir esta entrada? Essa ação não pode ser desfeita.", "app.containers.Admin.projects.project.survey.newAnalysis": "Nova análise", - "app.containers.Admin.projects.project.survey.nextInsight": "Próxima visão", + "app.containers.Admin.projects.project.survey.nextInsight": "Próximo insight", "app.containers.Admin.projects.project.survey.openAnalysis": "Análise de IA aberta", - "app.containers.Admin.projects.project.survey.previousInsight": "Visão anterior", + "app.containers.Admin.projects.project.survey.previousInsight": "Insight anterior", "app.containers.Admin.projects.project.survey.viewAnalysis": "Visualizar", "app.containers.Admin.reporting.chartsSection": "CARTUCHOS", "app.containers.Admin.reporting.components.ReportBuilder.Templates.descriptionPlaceHolder": "Esse é o texto. Você pode editá-lo e formatá-lo usando o editor no painel à direita.", @@ -1496,11 +1496,11 @@ "app.containers.AdminPage.ProjectEdit.survey.deleteSurveyResultsConfirmation2": "Tem a certeza de que quer apagar todos os resultados da pesquisa?", "app.containers.AdminPage.ProjectEdit.survey.disabledSurveyMessage2": "O conteúdo da pesquisa não pode ser editado, uma vez que os resultados da pesquisa já começaram a chegar.", "app.containers.AdminPage.ProjectEdit.survey.downloadAllResults2": "Descarregar todos os resultados da pesquisa", - "app.containers.AdminPage.ProjectEdit.survey.downloadExcelTemplate": "Descarregar um modelo Excel", + "app.containers.AdminPage.ProjectEdit.survey.downloadExcelTemplate": "Baixe um modelo Excel", "app.containers.AdminPage.ProjectEdit.survey.downloadResults2": "Descarregar resultados da pesquisa", - "app.containers.AdminPage.ProjectEdit.survey.downloadSurvey": "Descarregar o inquérito como pdf", + "app.containers.AdminPage.ProjectEdit.survey.downloadSurvey": "Baixe a pesquisa em PDF", "app.containers.AdminPage.ProjectEdit.survey.editSurveyContent2": "Editar o conteúdo da pesquisa", - "app.containers.AdminPage.ProjectEdit.survey.existingSubmissionsWarning": "As respostas a este inquérito já começaram a chegar. As alterações ao inquérito podem resultar na perda de dados e em dados incompletos nos ficheiros exportados.", + "app.containers.AdminPage.ProjectEdit.survey.existingSubmissionsWarning": "Os envios para esta pesquisa começaram a chegar. Alterações na pesquisa podem resultar em perda de dados e dados incompletos nos arquivos exportados.", "app.containers.AdminPage.ProjectEdit.survey.informationText2": "As respostas a perguntas de resposta curta e longa estão atualmente disponíveis apenas no download da pesquisa", "app.containers.AdminPage.ProjectEdit.survey.linear_scale2": "Escala linear", "app.containers.AdminPage.ProjectEdit.survey.multiline_text2": "Resposta longa", @@ -1601,8 +1601,8 @@ "app.containers.AdminPage.ProjectEvents.usersTabLinkText": "Utilizadores", "app.containers.AdminPage.ProjectIdeaForm.collapseAll": "Preencher todos os campos", "app.containers.AdminPage.ProjectIdeaForm.descriptionLabel": "Descrição do campo", - "app.containers.AdminPage.ProjectIdeaForm.downloadExcelTemplate": "Descarregar um modelo Excel", - "app.containers.AdminPage.ProjectIdeaForm.downloadInputForm": "Descarregar o formulário de introdução como pdf", + "app.containers.AdminPage.ProjectIdeaForm.downloadExcelTemplate": "Baixe um modelo Excel", + "app.containers.AdminPage.ProjectIdeaForm.downloadInputForm": "Baixe o formulário de entrada como pdf", "app.containers.AdminPage.ProjectIdeaForm.editInputForm": "Editar formulário de entrada", "app.containers.AdminPage.ProjectIdeaForm.enabled": "Ativado", "app.containers.AdminPage.ProjectIdeaForm.enabledTooltipContent": "Inclua este campo.", @@ -1966,60 +1966,60 @@ "app.containers.AdminPage.projects.all.projectsAndFolders": "Projetos e pastas", "app.containers.AdminPage.projects.project.analysis.AIAnalysis": "Análise de IA", "app.containers.AdminPage.projects.project.analysis.Insights.accuracy": "Precisão: {accuracy}{percentage}", - "app.containers.AdminPage.projects.project.analysis.Insights.appliesTo": "Aplica-se às entradas atualmente seleccionadas", + "app.containers.AdminPage.projects.project.analysis.Insights.appliesTo": "Aplica-se às entradas atualmente selecionadas", "app.containers.AdminPage.projects.project.analysis.Insights.ask": "Perguntar", - "app.containers.AdminPage.projects.project.analysis.Insights.askQuestion": "Fazer uma pergunta", + "app.containers.AdminPage.projects.project.analysis.Insights.askQuestion": "Faça uma pergunta", "app.containers.AdminPage.projects.project.analysis.Insights.deleteQuestion": "Excluir pergunta", "app.containers.AdminPage.projects.project.analysis.Insights.deleteQuestionConfirmation": "Tem certeza de que deseja excluir esta pergunta?", "app.containers.AdminPage.projects.project.analysis.Insights.deleteSummary": "Excluir resumo", "app.containers.AdminPage.projects.project.analysis.Insights.deleteSummaryConfirmation": "Tem certeza de que deseja excluir estes resumos?", - "app.containers.AdminPage.projects.project.analysis.Insights.emptyList": "Os seus resumos de texto serão apresentados aqui, mas atualmente ainda não tem nenhum.", + "app.containers.AdminPage.projects.project.analysis.Insights.emptyList": "Seus resumos de texto serão exibidos aqui, mas você ainda não tem nenhum.", "app.containers.AdminPage.projects.project.analysis.Insights.emptyListDescription": "Clique no botão Resumir automaticamente acima para começar.", "app.containers.AdminPage.projects.project.analysis.Insights.percentage": "%", - "app.containers.AdminPage.projects.project.analysis.Insights.questionAccuracyTooltip": "Fazer perguntas sobre menos entradas conduz a uma maior precisão. Reduza a atual seleção de entradas utilizando etiquetas, pesquisa ou filtros demográficos.", + "app.containers.AdminPage.projects.project.analysis.Insights.questionAccuracyTooltip": "Fazer perguntas sobre menos entradas leva a uma maior precisão. Reduza a seleção de entrada atual usando tags, pesquisa ou filtros demográficos.", "app.containers.AdminPage.projects.project.analysis.Insights.questionsFor": "Perguntas para", "app.containers.AdminPage.projects.project.analysis.Insights.questionsForAllInputs": "Pergunta para todas as entradas", - "app.containers.AdminPage.projects.project.analysis.Insights.rate": "Avaliar a qualidade deste conhecimento", + "app.containers.AdminPage.projects.project.analysis.Insights.rate": "Avalie a qualidade deste insight", "app.containers.AdminPage.projects.project.analysis.Insights.restoreFilters": "Restaurar filtros", "app.containers.AdminPage.projects.project.analysis.Insights.summarize": "Resumir automaticamente", - "app.containers.AdminPage.projects.project.analysis.Insights.summaryAccuracyTooltip": "Resumir menos entradas leva a uma maior precisão. Reduza a atual seleção de entradas utilizando etiquetas, pesquisa ou filtros demográficos.", + "app.containers.AdminPage.projects.project.analysis.Insights.summaryAccuracyTooltip": "Resumir menos entradas leva a uma maior precisão. Reduza a seleção de entrada atual usando tags, pesquisa ou filtros demográficos.", "app.containers.AdminPage.projects.project.analysis.Insights.summaryFor": "Resumo para", "app.containers.AdminPage.projects.project.analysis.Insights.summaryForAllInputs": "Resumo para todas as entradas", "app.containers.AdminPage.projects.project.analysis.Insights.thankYou": "Obrigado pelo seu feedback", - "app.containers.AdminPage.projects.project.analysis.Insights.tooManyInputs": "Demasiadas entradas", - "app.containers.AdminPage.projects.project.analysis.Insights.tooManyInputsTooltip": "Reduzir a seleção de entrada atual utilizando etiquetas, pesquisa ou filtros demográficos", - "app.containers.AdminPage.projects.project.analysis.LaunchModal.agreeButton": "Compreendo", - "app.containers.AdminPage.projects.project.analysis.LaunchModal.description": "A nossa plataforma permite-lhe explorar os temas principais, resumir os dados e examinar várias perspectivas. Se estiver à procura de respostas ou conhecimentos específicos, considere a possibilidade de utilizar a funcionalidade \"Fazer uma pergunta\" para ir mais além do resumo.", - "app.containers.AdminPage.projects.project.analysis.LaunchModal.limitation1Text": "Embora seja raro, a IA pode ocasionalmente gerar informações que não estavam explicitamente presentes no conjunto de dados original.", + "app.containers.AdminPage.projects.project.analysis.Insights.tooManyInputs": "Excesso de entradas", + "app.containers.AdminPage.projects.project.analysis.Insights.tooManyInputsTooltip": "Reduza a seleção de entrada atual usando tags, pesquisa ou filtros demográficos", + "app.containers.AdminPage.projects.project.analysis.LaunchModal.agreeButton": "Eu entendo", + "app.containers.AdminPage.projects.project.analysis.LaunchModal.description": "Nossa plataforma permite explorar os temas principais, resumir os dados e examinar várias perspectivas. Se você estiver procurando respostas ou insights específicos, considere usar o recurso \"Faça uma pergunta\" para se aprofundar além do resumo.", + "app.containers.AdminPage.projects.project.analysis.LaunchModal.limitation1Text": "Embora raro, a IA pode ocasionalmente gerar informações que não estavam explicitamente presentes no conjunto de dados original.", "app.containers.AdminPage.projects.project.analysis.LaunchModal.limitation1Title": "Alucinações:", - "app.containers.AdminPage.projects.project.analysis.LaunchModal.limitation2Text": "A IA pode dar mais ênfase a certos temas ou ideias do que a outros, distorcendo potencialmente a interpretação global.", + "app.containers.AdminPage.projects.project.analysis.LaunchModal.limitation2Text": "A IA pode enfatizar determinados temas ou ideias mais do que outros, distorcendo potencialmente a interpretação geral.", "app.containers.AdminPage.projects.project.analysis.LaunchModal.limitation2Title": "Exagero:", - "app.containers.AdminPage.projects.project.analysis.LaunchModal.limitation3Text": "O nosso sistema está optimizado para lidar com 20-200 entradas bem definidas para obter os resultados mais precisos. À medida que o volume de dados aumenta para além deste intervalo, o resumo pode tornar-se mais elevado e generalizado. Isto não significa que a IA se torne \"menos exacta\", mas sim que se concentrará em tendências e padrões mais amplos. Para obter informações com mais nuances, recomendamos a utilização da funcionalidade de marcação (automática) para segmentar conjuntos de dados maiores em subconjuntos mais pequenos e mais fáceis de gerir.", - "app.containers.AdminPage.projects.project.analysis.LaunchModal.limitation3Title": "Volume e exatidão dos dados:", - "app.containers.AdminPage.projects.project.analysis.LaunchModal.subtitle": "Recomendamos a utilização de resumos gerados por IA como ponto de partida para compreender grandes conjuntos de dados, mas não como a palavra final.", + "app.containers.AdminPage.projects.project.analysis.LaunchModal.limitation3Text": "Nosso sistema é otimizado para lidar com 20 a 200 entradas bem definidas para obter resultados mais precisos. À medida que o volume de dados aumenta além deste intervalo, o resumo pode tornar-se mais de alto nível e generalizado. Isto não significa que a IA se torne “menos precisa”, mas sim que se concentrará em tendências e padrões mais amplos. Para obter informações mais detalhadas, recomendamos usar o recurso de marcação (automática) para segmentar conjuntos de dados maiores em subconjuntos menores e mais gerenciáveis.", + "app.containers.AdminPage.projects.project.analysis.LaunchModal.limitation3Title": "Volume e precisão de dados:", + "app.containers.AdminPage.projects.project.analysis.LaunchModal.subtitle": "Recomendamos o uso de resumos gerados por IA como ponto de partida para a compreensão de grandes conjuntos de dados, mas não como a palavra final.", "app.containers.AdminPage.projects.project.analysis.LaunchModal.title": "Como trabalhar com a IA", - "app.containers.AdminPage.projects.project.analysis.Tags.addInputToTag": "Adicionar entradas seleccionadas à etiqueta", + "app.containers.AdminPage.projects.project.analysis.Tags.addInputToTag": "Adicione entradas selecionadas à tag", "app.containers.AdminPage.projects.project.analysis.Tags.addTag": "Adicionar tag", "app.containers.AdminPage.projects.project.analysis.Tags.allInput": "Todas as entradas", "app.containers.AdminPage.projects.project.analysis.Tags.allInputs": "Todas as entradas", "app.containers.AdminPage.projects.project.analysis.Tags.allTags": "Todas as tags", - "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignNo": "Não, eu faço-o", - "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignQuestion": "Pretende atribuir automaticamente entradas à sua etiqueta?", - "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignStep2AutoText1": "Existem métodos diferentes para atribuir automaticamente entradas a etiquetas.", + "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignNo": "Não, eu farei isso", + "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignQuestion": "Você deseja atribuir entradas automaticamente à sua tag?", + "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignStep2AutoText1": "Existem métodos diferentes para atribuir entradas automaticamente às tags.", "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignStep2AutoText2": "Utilize o botão de etiqueta automática para iniciar o seu método preferido.", - "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignStep2ManualText1": "Clique numa etiqueta para a atribuir à entrada atualmente selecionada.", - "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignYes": "Sim, etiqueta automática", - "app.containers.AdminPage.projects.project.analysis.Tags.autoTag": "Etiqueta automática", - "app.containers.AdminPage.projects.project.analysis.Tags.autoTagDescription": "As etiquetas automáticas são derivadas automaticamente pelo computador. Pode alterá-las ou removê-las em qualquer altura.", - "app.containers.AdminPage.projects.project.analysis.Tags.autoTagTitle": "Etiqueta automática", - "app.containers.AdminPage.projects.project.analysis.Tags.byLabelSubtitle1": "Seleccione o máximo de 9 etiquetas entre as quais pretende que as entradas sejam distribuídas. As entradas já associadas a estas etiquetas não voltarão a ser classificadas.", - "app.containers.AdminPage.projects.project.analysis.Tags.byLabelSubtitle2": "A classificação baseia-se apenas no nome da etiqueta. Escolha palavras-chave relevantes para obter os melhores resultados.", - "app.containers.AdminPage.projects.project.analysis.Tags.byLabelTitle": "Etiquetas: Por etiqueta", - "app.containers.AdminPage.projects.project.analysis.Tags.classificationByExampleDescription": "O utilizador cria as etiquetas e atribui manualmente algumas entradas, por exemplo, e o computador atribui as restantes", - "app.containers.AdminPage.projects.project.analysis.Tags.classificationByExampleTitle": "Etiquetas: Por exemplo", - "app.containers.AdminPage.projects.project.analysis.Tags.classificationByExampleTooltip": "Semelhante a \"Etiquetas: por etiqueta\", mas com maior precisão, uma vez que está a treinar o sistema com bons exemplos.", - "app.containers.AdminPage.projects.project.analysis.Tags.classificationByLabelDescription": "O utilizador cria as etiquetas, o computador atribui as entradas", - "app.containers.AdminPage.projects.project.analysis.Tags.classificationByLabelTitle": "Etiquetas: Por etiqueta", + "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignStep2ManualText1": "Clique em uma tag para atribuí-la à entrada atualmente selecionada.", + "app.containers.AdminPage.projects.project.analysis.Tags.autoAssignYes": "Sim, tag automática", + "app.containers.AdminPage.projects.project.analysis.Tags.autoTag": "Tag automática", + "app.containers.AdminPage.projects.project.analysis.Tags.autoTagDescription": "As tags automáticas são derivadas automaticamente pelo computador. Você pode alterá-los ou removê-los a qualquer momento.", + "app.containers.AdminPage.projects.project.analysis.Tags.autoTagTitle": "Tag automática", + "app.containers.AdminPage.projects.project.analysis.Tags.byLabelSubtitle1": "Selecione no máximo 9 tags entre as quais você gostaria que as entradas fossem distribuídas. As entradas já associados a estas tags não serão classificados novamente.", + "app.containers.AdminPage.projects.project.analysis.Tags.byLabelSubtitle2": "A classificação é baseada exclusivamente no nome da tag. Escolha palavras-chave relevantes para obter os melhores resultados.", + "app.containers.AdminPage.projects.project.analysis.Tags.byLabelTitle": "Tags: Por etiqueta", + "app.containers.AdminPage.projects.project.analysis.Tags.classificationByExampleDescription": "Você cria as tags e atribui manualmente algumas entradas como exemplo, o computador atribui o resto", + "app.containers.AdminPage.projects.project.analysis.Tags.classificationByExampleTitle": "Tags: Por exemplo", + "app.containers.AdminPage.projects.project.analysis.Tags.classificationByExampleTooltip": "Semelhante a \"Tags: por etiqueta\", mas com maior precisão à medida que você treina o sistema com bons exemplos.", + "app.containers.AdminPage.projects.project.analysis.Tags.classificationByLabelDescription": "Você cria as tags, o computador atribui as entradas", + "app.containers.AdminPage.projects.project.analysis.Tags.classificationByLabelTitle": "Tags: Por etiqueta", "app.containers.AdminPage.projects.project.analysis.Tags.classificationByLabelTooltip": "Isto funciona bem quando tem um conjunto predefinido de etiquetas ou quando o seu projeto tem um âmbito limitado em termos de etiquetas.", "app.containers.AdminPage.projects.project.analysis.Tags.controversialTagDescription": "Detetar entradas com um rácio significativo de não gosto/gosto", "app.containers.AdminPage.projects.project.analysis.Tags.controversialTagTitle": "Polémica", @@ -2060,17 +2060,17 @@ "app.containers.AdminPage.projects.project.analysis.Tasks.endedAt": "Terminou em", "app.containers.AdminPage.projects.project.analysis.Tasks.failed": "Falhado", "app.containers.AdminPage.projects.project.analysis.Tasks.fewShotClassification": "Por exemplo", - "app.containers.AdminPage.projects.project.analysis.Tasks.inProgress": "Em curso", + "app.containers.AdminPage.projects.project.analysis.Tasks.inProgress": "Em andamento", "app.containers.AdminPage.projects.project.analysis.Tasks.labelClassification": "Por etiqueta", - "app.containers.AdminPage.projects.project.analysis.Tasks.language": "Língua", - "app.containers.AdminPage.projects.project.analysis.Tasks.nlpTopic": "Etiqueta PNL", - "app.containers.AdminPage.projects.project.analysis.Tasks.noJobs": "Não foram efectuadas tarefas de IA recentes", - "app.containers.AdminPage.projects.project.analysis.Tasks.platformTopic": "Etiqueta da plataforma", - "app.containers.AdminPage.projects.project.analysis.Tasks.queued": "Em fila de espera", + "app.containers.AdminPage.projects.project.analysis.Tasks.language": "Linguagem", + "app.containers.AdminPage.projects.project.analysis.Tasks.nlpTopic": "Tag NLP", + "app.containers.AdminPage.projects.project.analysis.Tasks.noJobs": "Não foram efetuadas tarefas de IA recentes", + "app.containers.AdminPage.projects.project.analysis.Tasks.platformTopic": "Tag da plataforma", + "app.containers.AdminPage.projects.project.analysis.Tasks.queued": "Em fila", "app.containers.AdminPage.projects.project.analysis.Tasks.sentiment": "Sentimento", "app.containers.AdminPage.projects.project.analysis.Tasks.startedAt": "Iniciado em", - "app.containers.AdminPage.projects.project.analysis.Tasks.succeeded": "Obteve sucesso", - "app.containers.AdminPage.projects.project.analysis.Tasks.summarizationTask": "Tarefa de compactação", + "app.containers.AdminPage.projects.project.analysis.Tasks.succeeded": "Sucesso", + "app.containers.AdminPage.projects.project.analysis.Tasks.summarizationTask": "Tarefa de resumo", "app.containers.AdminPage.projects.project.analysis.Tasks.triggeredAt": "Acionado em", "app.containers.AdminPage.projects.project.analysis.TopBar.above": "Acima", "app.containers.AdminPage.projects.project.analysis.TopBar.all": "Todos", @@ -2087,20 +2087,20 @@ "app.containers.AdminPage.projects.project.analysis.TopBar.numberOfReactions": "Número de reações", "app.containers.AdminPage.projects.project.analysis.TopBar.numberOfVotes": "Número de votos", "app.containers.AdminPage.projects.project.analysis.TopBar.to": "Para", - "app.containers.AdminPage.projects.project.analysis.anonymous": "Contribuição anónima", + "app.containers.AdminPage.projects.project.analysis.anonymous": "Entrada anônima", "app.containers.AdminPage.projects.project.analysis.authorsByAge": "Autores por idade", "app.containers.AdminPage.projects.project.analysis.authorsByDomicile": "Autores por domicílio", - "app.containers.AdminPage.projects.project.analysis.backgroundJobs": "Empregos de fundo", + "app.containers.AdminPage.projects.project.analysis.backgroundJobs": "Trabalhos em segundo plano", "app.containers.AdminPage.projects.project.analysis.comments": "Comentários", "app.containers.AdminPage.projects.project.analysis.demographicsTitle": "Dados demográficos", - "app.containers.AdminPage.projects.project.analysis.domicileChartTooLarge": "O mapa do domicílio é demasiado grande para ser apresentado", + "app.containers.AdminPage.projects.project.analysis.domicileChartTooLarge": "O gráfico de domicílio é muito grande para ser exibido", "app.containers.AdminPage.projects.project.analysis.end": "Fim", "app.containers.AdminPage.projects.project.analysis.filter": "Mostrar apenas entradas com este valor", - "app.containers.AdminPage.projects.project.analysis.inputsWIthoutTags": "Entradas sem etiquetas", - "app.containers.AdminPage.projects.project.analysis.manageIdea": "Gerir a ideia", + "app.containers.AdminPage.projects.project.analysis.inputsWIthoutTags": "Entradas sem tags", + "app.containers.AdminPage.projects.project.analysis.manageIdea": "Gerenciar ideia", "app.containers.AdminPage.projects.project.analysis.noAnswer": "Sem resposta", - "app.containers.AdminPage.projects.project.analysis.noInputs": "Nenhuma entrada corresponde aos seus filtros actuais", - "app.containers.AdminPage.projects.project.analysis.reactions": "Reacções", + "app.containers.AdminPage.projects.project.analysis.noInputs": "Nenhuma entrada corresponde aos seus filtros atuais", + "app.containers.AdminPage.projects.project.analysis.reactions": "Reações", "app.containers.AdminPage.projects.project.analysis.removeFilter": "Remover filtro", "app.containers.AdminPage.projects.project.analysis.removeFilterItem": "Remover filtro", "app.containers.AdminPage.projects.project.analysis.search": "Pesquisar", From cc7337da36a7bdc7754269e2bf271efcda494e0d Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 10:49:38 +0000 Subject: [PATCH 38/62] New translations en.json (German) --- front/app/translations/de-DE.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/front/app/translations/de-DE.json b/front/app/translations/de-DE.json index b0f957524fa6..9cb3378449f2 100644 --- a/front/app/translations/de-DE.json +++ b/front/app/translations/de-DE.json @@ -278,7 +278,7 @@ "app.components.ParticipationCTABars.VotingCTABar.votesLeft2": "{votesLeft} / {totalNumberOfVotes} {totalNumberOfVotes, plural, =0 {{votesTerm}} one {{voteTerm}} other {{votesTerm}}} übrig", "app.components.ParticipationCTABars.allocateBudget": "Mitmachen", "app.components.ParticipationCTABars.mobileProjectOpenForSubmission": "Offen für Beteiligung", - "app.components.ParticipationCTABars.poll": "Nehmen Sie an der Umfrage teil", + "app.components.ParticipationCTABars.poll": "An Abstimmung teilnehmen", "app.components.ParticipationCTABars.projectClosedForSubmission": "Sie können derzeit nicht an diesem Projekt teilnehmen", "app.components.ParticipationCTABars.projectOpenForSubmission": "Dieses Projekt ist derzeit zur Beteiligung geöffnet.", "app.components.ParticipationCTABars.reviewDocument": "Dokument überprüfen", From fc0004cace77a029de5edd75c76d582b81f8bd04 Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Fri, 20 Oct 2023 12:12:56 +0100 Subject: [PATCH 39/62] [TAN-396] PR enhancement --- .../controllers/web_api/v1/power_bi_templates_controller.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb b/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb index e549e25d04c5..c8b746c7260d 100644 --- a/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb +++ b/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb @@ -6,14 +6,15 @@ class WebApi::V1::PowerBiTemplatesController < ApplicationController def show authorize :'public_api/power_bi_template' - if params[:id] == 'dataflow' + case params[:id] + when 'dataflow' template = Rails.root.join('engines/commercial/public_api/files/power_bi/dataflow.json') # Search and replace API base URL file_text = open(template).read host = AppConfiguration.instance.base_backend_uri replaced = file_text.gsub(/##BASE_URL##/, "#{host}/api/v2/") send_data replaced, type: 'application/octet-stream' - elsif params[:id] == 'report' + when 'report' template = Rails.root.join('engines/commercial/public_api/files/power_bi/report.pbit') send_data open(template).read, type: 'application/octet-stream' else From 7cd55a579ce613d05dd6c2953a47153c5e5e0182 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:24 +0000 Subject: [PATCH 40/62] New translations en.json (German) --- front/app/translations/admin/de-DE.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/de-DE.json b/front/app/translations/admin/de-DE.json index 12593f58bb0e..8f7d5b67f717 100644 --- a/front/app/translations/admin/de-DE.json +++ b/front/app/translations/admin/de-DE.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "API-Schlüssel verwalten", "app.containers.Admin.tools.manageWidget": "Widget verwalten", "app.containers.Admin.tools.manageWorkshops": "Workshops verwalten", + "app.containers.Admin.tools.powerBIAPIImage": "Power BI Bild", + "app.containers.Admin.tools.powerBIDescription": "Verwenden Sie unsere Plug & Play Power BI-Vorlagen, um auf Citizenlab-Daten in Ihrem Microsoft Power BI-Arbeitsbereich zuzugreifen.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI ist ein reines Premium-Feature. Wenden Sie sich an Ihre Kundenbetreuerin, wenn Sie weitere Informationen dazu wünschen.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Vorlagen herunterladen", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Wenn Sie Ihre CitizenLab-Daten in einem Power BI-Datenfluss verwenden möchten, können Sie mit dieser Vorlage einen neuen Datenfluss einrichten, der sich mit Ihren CitizenLab-Daten verbindet. Nachdem Sie diese Vorlage heruntergeladen haben, müssen Sie zunächst die folgenden Zeichenfolgen ##CLIENT_ID## und ##CLIENT_SECRET## in der Vorlage finden und durch Ihre öffentlichen API-Zugangsdaten ersetzen, bevor Sie sie in PowerBI hochladen.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Vorlage für Datenfluss herunterladen", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Datenfluss-Vorlage", + "app.containers.Admin.tools.powerBITemplates.intro": "Hinweis: Um eine dieser Power BI-Vorlagen zu verwenden, müssen Sie zunächst {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "eine Reihe von Anmeldeinformationen für unsere öffentliche API erstellen", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Diese Vorlage erstellt einen Power BI-Bericht auf der Grundlage Ihrer CitizenLab-Daten. Sie richtet alle Datenverbindungen zu Ihrer CitizenLab-Plattform ein, erstellt das Datenmodell und einige Standard-Dashboards. Wenn Sie die Vorlage in Power BI öffnen, werden Sie aufgefordert, Ihre öffentlichen API-Anmeldedaten einzugeben.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Berichtsvorlage herunterladen", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Berichtsvorlage", + "app.containers.Admin.tools.powerBITemplates.title": "Power BI-Vorlagen", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Verwalten Sie die Anmeldeinformationen, um benutzerdefinierte Integrationen auf unserer öffentlichen API zu erstellen.", + "app.containers.Admin.tools.publicAPIDisabled": "Die öffentliche API ist ein reines Premium-Feature. Wenden Sie sich an Ihre Kundenbetreuerin, wenn Sie weitere Informationen dazu wünschen.", "app.containers.Admin.tools.publicAPIImage": "Öffentliches API-Bild", "app.containers.Admin.tools.publicAPITitle": "Öffentlicher API-Zugang", "app.containers.Admin.tools.toolsLabel": "Werkzeuge", From 13d4227ecb4ac2ded9833f39bfafde4a55812e74 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:27 +0000 Subject: [PATCH 41/62] New translations en.json (French) --- front/app/translations/admin/fr-FR.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/fr-FR.json b/front/app/translations/admin/fr-FR.json index 1ff4ec08c74c..5ffe880d49c7 100644 --- a/front/app/translations/admin/fr-FR.json +++ b/front/app/translations/admin/fr-FR.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Gérer les clés API", "app.containers.Admin.tools.manageWidget": "Gérer le widget", "app.containers.Admin.tools.manageWorkshops": "Gérer les ateliers numériques", + "app.containers.Admin.tools.powerBIAPIImage": "Image Power BI", + "app.containers.Admin.tools.powerBIDescription": "Utilisez nos modèles Power BI prêts à l'emploi pour accéder aux données de CitizenLab dans votre espace de travail Microsoft Power BI.", + "app.containers.Admin.tools.powerBIDisabled": "L'intégration Power BI est réservée aux utilisateurs Premium uniquement. Pour en savoir plus à ce sujet, veuillez contacter votre responsable GovSuccess.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Télécharger les modèles", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Si vous souhaitez d'utiliser vos données CitizenLab dans un flux de données Power BI, ce modèle vous permettra de configurer un nouveau flux de données qui se connecte à vos données CitizenLab. Une fois que vous avez téléchargé ce modèle, vous devez d'abord trouver et remplacer les chaînes suivantes ##CLIENT_ID## et ##CLIENT_SECRET## dans le modèle avec vos identifiants pour l'API publique avant de charger le template dans Power BI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Téléchargez le modèle de flux de données", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Modèle de flux de données", + "app.containers.Admin.tools.powerBITemplates.intro": "Remarque : Pour utiliser l'un de ces modèles Power BI, vous devez d'abord {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "créer des identifiants pour notre API publique", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Ce modèle générera un rapport Power BI à partir de vos données CitizenLab. Il établira toutes les connexions aux données de votre plateforme CitizenLab, créera le modèle de données et quelques tableaux de bord par défaut. Lorsque vous ouvrirez le modèle dans Power BI, vous serez invité(e) à saisir vos identifiants pour l'API publique de CitizenLab.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Téléchargez le modèle de rapport", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Modèle de rapport", + "app.containers.Admin.tools.powerBITemplates.title": "Modèles Power BI", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Gérez les clés d'accès nécessaires pour créer des intégrations personnalisées avec notre API publique.", + "app.containers.Admin.tools.publicAPIDisabled": "L'API publique est une fonctionnalité Premium uniquement. Contactez votre GovSuccess Manager si vous souhaitez obtenir plus d'informations à ce sujet.", "app.containers.Admin.tools.publicAPIImage": "Image de l'API publique", "app.containers.Admin.tools.publicAPITitle": "Accès à l'API publique", "app.containers.Admin.tools.toolsLabel": "Outils", From 368125d63f8c4e09f93436a74047e7d495aff96a Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:29 +0000 Subject: [PATCH 42/62] New translations en.json (Spanish) --- front/app/translations/admin/es-ES.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/es-ES.json b/front/app/translations/admin/es-ES.json index b7fbf8569218..86192b05b53a 100644 --- a/front/app/translations/admin/es-ES.json +++ b/front/app/translations/admin/es-ES.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Gestionar claves API", "app.containers.Admin.tools.manageWidget": "Administrar widget", "app.containers.Admin.tools.manageWorkshops": "Gestionar talleres", + "app.containers.Admin.tools.powerBIAPIImage": "Imagen de Power BI", + "app.containers.Admin.tools.powerBIDescription": "Utiliza nuestras plantillas plug & play de Power BI para acceder a los datos de Citizenlab en tu espacio de trabajo de Microsoft Power BI.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI es una función sólo Premium. Ponte en contacto con tu Gestor de GovSuccess si quieres más información al respecto.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Descargar plantillas", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Si pretendes utilizar tus datos de CitizenLab dentro de un flujo de datos de Power BI, esta plantilla te permitirá configurar un nuevo flujo de datos que conecte con tus datos de CitizenLab. Una vez que hayas descargado esta plantilla, primero debes encontrar y sustituir las siguientes cadenas ##CLIENT_ID## y ##CLIENT_SECRET## en la plantilla por tus credenciales de la API pública antes de cargarla en PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Descargar plantilla de flujo de datos", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Plantilla de flujo de datos", + "app.containers.Admin.tools.powerBITemplates.intro": "Nota: Para utilizar cualquiera de estas plantillas de Power BI, primero debes {link}.", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "crear un conjunto de credenciales para nuestra API pública", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Esta plantilla creará un informe Power BI basado en tus datos de CitizenLab. Configurará todas las conexiones de datos a tu plataforma CitizenLab, creará el modelo de datos y algunos cuadros de mando predeterminados. Cuando abras la plantilla en Power BI, se te pedirá que introduzcas tus credenciales de la API pública.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Descargar plantilla de informe", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Plantilla de informe", + "app.containers.Admin.tools.powerBITemplates.title": "Plantillas Power BI", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Gestiona las credenciales para crear integraciones personalizadas en nuestra API pública.", + "app.containers.Admin.tools.publicAPIDisabled": "La API pública es una función sólo Premium. Ponte en contacto con tu Gestor de GovSuccess si quieres más información al respecto.", "app.containers.Admin.tools.publicAPIImage": "Imagen pública de la API", "app.containers.Admin.tools.publicAPITitle": "Acceso público a la API", "app.containers.Admin.tools.toolsLabel": "Herramientas", From 7fcb891efb96c17333fc8d43aab6483270064041 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:31 +0000 Subject: [PATCH 43/62] New translations en.json (Arabic) --- front/app/translations/admin/ar-SA.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/ar-SA.json b/front/app/translations/admin/ar-SA.json index ef8876a62cdc..71a3b1ca22ab 100644 --- a/front/app/translations/admin/ar-SA.json +++ b/front/app/translations/admin/ar-SA.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "إدارة مفاتيح API", "app.containers.Admin.tools.manageWidget": "إدارة القطعة", "app.containers.Admin.tools.manageWorkshops": "إدارة ورش العمل", + "app.containers.Admin.tools.powerBIAPIImage": "صورة ‏باور بي اي‏", + "app.containers.Admin.tools.powerBIDescription": "استخدم قوالب Power BI الخاصة بنا للتوصيل والتشغيل للوصول إلى بيانات Citizenlab في مساحة عمل Microsoft Power BI الخاصة بك.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI هي ميزة مميزة فقط. اتصل بمدير GovSuccess الخاص بك إذا كنت تريد المزيد من المعلومات حول هذا الأمر.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "تنزيل القوالب", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "إذا كنت تنوي استخدام بيانات CitizenLab الخاصة بك ضمن تدفق بيانات Power BI، فسيسمح لك هذا القالب بإعداد تدفق بيانات جديد يتصل ببيانات CitizenLab الخاصة بك. بمجرد تنزيل هذا القالب، يجب عليك أولاً البحث عن السلاسل التالية واستبدالها ##CLIENT_ID## و##CLIENT_SECRET## في القالب ببيانات اعتماد واجهة برمجة التطبيقات العامة الخاصة بك قبل التحميل إلى PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "تحميل قالب تدفق البيانات", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "قالب تدفق البيانات", + "app.containers.Admin.tools.powerBITemplates.intro": "ملاحظة: لاستخدام أي من قوالب Power BI هذه، يجب عليك أولاً {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "إنشاء مجموعة من بيانات الاعتماد لواجهة برمجة التطبيقات العامة لدينا", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "سيقوم هذا القالب بإنشاء تقرير Power BI استنادًا إلى بيانات CitizenLab الخاصة بك. سيقوم بإعداد جميع اتصالات البيانات إلى منصة CitizenLab الخاصة بك، وإنشاء نموذج البيانات وبعض لوحات المعلومات الافتراضية. عندما تفتح القالب في Power BI، ستتم مطالبتك بإدخال بيانات اعتماد API العامة الخاصة بك.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "تحميل نموذج التقارير", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "قالب التقرير", + "app.containers.Admin.tools.powerBITemplates.title": "قوالب Power BI", + "app.containers.Admin.tools.powerBITitle": "الطاقة بي", "app.containers.Admin.tools.publicAPIDescription": "إدارة بيانات الاعتماد لإنشاء عمليات تكامل مخصصة على واجهة برمجة التطبيقات العامة الخاصة بنا.", + "app.containers.Admin.tools.publicAPIDisabled": "واجهة برمجة التطبيقات العامة هي ميزة مميزة فقط. اتصل بمدير GovSuccess الخاص بك إذا كنت تريد المزيد من المعلومات حول هذا الأمر.", "app.containers.Admin.tools.publicAPIImage": "صورة API العامة", "app.containers.Admin.tools.publicAPITitle": "وصول API العام", "app.containers.Admin.tools.toolsLabel": "أدوات", From 17910d22a29f7db1793a021e4b8d8f15ca9757e0 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:33 +0000 Subject: [PATCH 44/62] New translations en.json (Danish) --- front/app/translations/admin/da-DK.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/da-DK.json b/front/app/translations/admin/da-DK.json index 073c3eef963e..d77418d1f58a 100644 --- a/front/app/translations/admin/da-DK.json +++ b/front/app/translations/admin/da-DK.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Administrer API-nøgler", "app.containers.Admin.tools.manageWidget": "Administrer widget", "app.containers.Admin.tools.manageWorkshops": "Administrer workshops", + "app.containers.Admin.tools.powerBIAPIImage": "Power BI-billede", + "app.containers.Admin.tools.powerBIDescription": "Brug vores plug & play Power BI-skabeloner til at få adgang til Citizenlab-data i dit Microsoft Power BI-arbejdsområde.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI er kun en Premium-funktion. Kontakt Søren Kielgast på soren@citizenlab. dk, hvis du vil have mere information om dette.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Download skabeloner", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Hvis du har til hensigt at bruge dine CitizenLab-data i et Power BI-dataflow, vil denne skabelon give dig mulighed for at oprette et nyt dataflow, der forbinder til dine CitizenLab-data. Når du har downloadet denne skabelon, skal du først finde og erstatte de følgende strenge ##CLIENT_ID## og ##CLIENT_SECRET## i skabelonen med dine offentlige API-legitimationsoplysninger, før du uploader til PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Download skabelon til dataflow", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Dataflow-skabelon", + "app.containers.Admin.tools.powerBITemplates.intro": "Bemærk: For at bruge en af disse Power BI-skabeloner, skal du først {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "oprette et sæt legitimationsoplysninger til vores offentlige API", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Denne skabelon opretter en Power BI-rapport baseret på dine CitizenLab-data. Den opsætter alle dataforbindelser til din CitizenLab-platform, opretter datamodellen og nogle standard dashboards. Når du åbner skabelonen i Power BI, vil du blive bedt om at indtaste dine offentlige API-legitimationsoplysninger.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Download skabelon til rapportering", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Rapportskabelon", + "app.containers.Admin.tools.powerBITemplates.title": "Power BI-skabeloner", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Administrer legitimationsoplysningerne til at oprette brugerdefinerede integrationer på vores offentlige API.", + "app.containers.Admin.tools.publicAPIDisabled": "Den offentlige API er en Premium-funktion. Kontakt din GovSuccess Manager, hvis du vil have mere information om dette.", "app.containers.Admin.tools.publicAPIImage": "Offentligt API-billede", "app.containers.Admin.tools.publicAPITitle": "Offentlig API-adgang", "app.containers.Admin.tools.toolsLabel": "Værktøj", From 990115ac31c7926c218728e7177ed9e3f88e8163 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:35 +0000 Subject: [PATCH 45/62] New translations en.json (Dutch) --- front/app/translations/admin/nl-NL.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/nl-NL.json b/front/app/translations/admin/nl-NL.json index 27eb6e844963..393f2aae1e3c 100644 --- a/front/app/translations/admin/nl-NL.json +++ b/front/app/translations/admin/nl-NL.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Beheer API-sleutels", "app.containers.Admin.tools.manageWidget": "Beheer widget", "app.containers.Admin.tools.manageWorkshops": "Beheer workshops", + "app.containers.Admin.tools.powerBIAPIImage": "Power BI-afbeelding", + "app.containers.Admin.tools.powerBIDescription": "Gebruik onze plug & play Power BI-sjablonen om toegang te krijgen tot Citizenlab data in je Microsoft Power BI Workspace.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI is alleen beschikbaar binnen het Premium abonnement. Neem contact op met je Government Success Manager als je hier meer informatie over wilt.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Download sjablonen", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Als je van plan bent je CitizenLab data te gebruiken in een Power BI data flow, kun je met dit sjabloon een nieuwe data flow opzetten die verbinding maakt met je CitizenLab data. Als je dit sjabloon hebt gedownload, moet je eerst de volgende strings ##CLIENT_ID## en ##CLIENT_SECRET## in het sjabloon vinden en vervangen door je openbare API-referenties voordat je deze naar PowerBI uploadt.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Download data flow sjabloon", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Dataflow sjabloon", + "app.containers.Admin.tools.powerBITemplates.intro": "Opmerking: Om een van deze Power BI-sjablonen te gebruiken, moet je eerst {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "maak een reeks referenties aan voor onze openbare API", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Dit sjabloon maakt een Power BI-rapport op basis van je CitizenLab data. Het zal alle dataverbindingen met je CitizenLab platform opzetten, het datamodel en een aantal standaard dashboards maken. Als je het sjabloon opent in Power BI, wordt je gevraagd om je openbare API-referenties in te voeren.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Download rapportagesjabloon", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Rapportagesjabloon", + "app.containers.Admin.tools.powerBITemplates.title": "Power BI-sjablonen", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Beheer de credentials om aangepaste integraties te maken op onze openbare API.", + "app.containers.Admin.tools.publicAPIDisabled": "De openbare API is alleen beschikbaar binnen het Premium abonnement. Neem contact op met je Government Success Manager als je hier meer informatie over wilt.", "app.containers.Admin.tools.publicAPIImage": "Openbare API-afbeelding", "app.containers.Admin.tools.publicAPITitle": "Openbare API-toegang", "app.containers.Admin.tools.toolsLabel": "Tools", From bcc028efd0c6d402f49dd0158158b993c5c810a0 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:36 +0000 Subject: [PATCH 46/62] New translations en.json (Norwegian) --- front/app/translations/admin/nb-NO.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/nb-NO.json b/front/app/translations/admin/nb-NO.json index a4a7f5350b76..74ae6f07b868 100644 --- a/front/app/translations/admin/nb-NO.json +++ b/front/app/translations/admin/nb-NO.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Administrer API-nøkler", "app.containers.Admin.tools.manageWidget": "Administrer widget", "app.containers.Admin.tools.manageWorkshops": "Administrere verksteder", + "app.containers.Admin.tools.powerBIAPIImage": "Power BI-bilde", + "app.containers.Admin.tools.powerBIDescription": "Bruk våre plug & play Power BI-maler for å få tilgang til Citizenlab-data i ditt Microsoft Power BI-arbeidsområde.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI er en Premium-funksjon. Kontakt din GovSuccess Manager hvis du ønsker mer informasjon om dette.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Last ned maler", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Hvis du har tenkt å bruke CitizenLab-dataene dine i en Power BI-dataflyt, vil denne malen tillate deg å sette opp en ny dataflyt som kobles til CitizenLab-dataene dine. Når du har lastet ned denne malen, må du først finne og erstatte følgende strenger ##CLIENT_ID## og ##CLIENT_SECRET## i malen med din offentlige API-legitimasjon før du laster opp til PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Last ned mal for dataflyt", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Dataflytmal", + "app.containers.Admin.tools.powerBITemplates.intro": "Merk: For å bruke en av disse Power BI-malene må du først {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "opprette et sett med legitimasjon for vår offentlige API", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Denne malen vil lage en Power BI-rapport basert på CitizenLab-dataene dine. Den vil sette opp alle datatilkoblingene til CitizenLab-plattformen din, lage datamodellen og noen standard dashboards. Når du åpner malen i Power BI, blir du bedt om å angi den offentlige API-legitimasjonen din.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Last ned rapporteringsmal", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Rapportmal", + "app.containers.Admin.tools.powerBITemplates.title": "Power BI-maler", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Administrer legitimasjonen for å lage tilpassede integrasjoner på vår offentlige API.", + "app.containers.Admin.tools.publicAPIDisabled": "Den offentlige API-en er kun en Premium-funksjon. Kontakt din GovSuccess Manager hvis du ønsker mer informasjon om dette.", "app.containers.Admin.tools.publicAPIImage": "Offentlig API-bilde", "app.containers.Admin.tools.publicAPITitle": "Offentlig API-tilgang", "app.containers.Admin.tools.toolsLabel": "Verktøy", From be737ad3d1cac9f4f92629aeb71f75344edcf92e Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:38 +0000 Subject: [PATCH 47/62] New translations en.json (Polish) --- front/app/translations/admin/pl-PL.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/pl-PL.json b/front/app/translations/admin/pl-PL.json index beed042c6574..9c6269f2bc9f 100644 --- a/front/app/translations/admin/pl-PL.json +++ b/front/app/translations/admin/pl-PL.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Zarządzaj kluczami API", "app.containers.Admin.tools.manageWidget": "Zarządzaj widżetem", "app.containers.Admin.tools.manageWorkshops": "Zarządzaj warsztatami", + "app.containers.Admin.tools.powerBIAPIImage": "Obraz Power BI", + "app.containers.Admin.tools.powerBIDescription": "Skorzystaj z naszych szablonów Power BI typu plug & play, aby uzyskać dostęp do danych Citizenlab w obszarze roboczym Microsoft Power BI.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI jest funkcją dostępną wyłącznie w wersji Premium. Skontaktuj się ze swoim GovSuccess Managerem, jeśli chcesz uzyskać więcej informacji na ten temat.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Pobierz szablony", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Jeśli zamierzasz używać danych CitizenLab w przepływie danych Power BI, ten szablon pozwoli ci skonfigurować nowy przepływ danych, który łączy się z danymi CitizenLab. Po pobraniu tego szablonu musisz najpierw znaleźć i zastąpić następujące ciągi ##CLIENT_ID## i ##CLIENT_SECRET## w szablonie swoimi publicznymi danymi uwierzytelniającymi API przed przesłaniem do PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Pobierz szablon przepływu danych", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Szablon przepływu danych", + "app.containers.Admin.tools.powerBITemplates.intro": "Uwaga: Aby użyć któregokolwiek z tych szablonów Power BI, musisz najpierw {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "utwórz zestaw poświadczeń dla naszego publicznego API", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Ten szablon utworzy raport Power BI na podstawie twoich danych CitizenLab. Skonfiguruje wszystkie połączenia danych z twoją platformą CitizenLab, utworzy model danych i niektóre domyślne pulpity nawigacyjne. Po otwarciu szablonu w Power BI zostaniesz poproszony o wprowadzenie poświadczeń publicznego API.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Pobierz szablon raportu", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Szablon raportu", + "app.containers.Admin.tools.powerBITemplates.title": "Szablony Power BI", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Zarządzaj danymi uwierzytelniającymi, aby tworzyć niestandardowe integracje z naszym publicznym interfejsem API.", + "app.containers.Admin.tools.publicAPIDisabled": "Publiczny interfejs API jest funkcją dostępną wyłącznie w wersji Premium. Skontaktuj się ze swoim menedżerem GovSuccess, jeśli chcesz uzyskać więcej informacji na ten temat.", "app.containers.Admin.tools.publicAPIImage": "Publiczny obraz API", "app.containers.Admin.tools.publicAPITitle": "Publiczny dostęp do API", "app.containers.Admin.tools.toolsLabel": "Narzędzia", From 934ad955283ccdd69e4939716f0f6e95ed7d002a Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:40 +0000 Subject: [PATCH 48/62] New translations en.json (Serbian (Cyrillic)) --- front/app/translations/admin/sr-SP.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/sr-SP.json b/front/app/translations/admin/sr-SP.json index f80daedd7e19..f5685e030b22 100644 --- a/front/app/translations/admin/sr-SP.json +++ b/front/app/translations/admin/sr-SP.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Управљајте АПИ кључевима", "app.containers.Admin.tools.manageWidget": "Управљај виџетом", "app.containers.Admin.tools.manageWorkshops": "Управљајте радионицама", + "app.containers.Admin.tools.powerBIAPIImage": "Повер БИ слика", + "app.containers.Admin.tools.powerBIDescription": "Користите наше плуг & плаи Повер БИ шаблоне да бисте приступили подацима Цитизенлаб-а у свом Мицрософт Повер БИ радном простору.", + "app.containers.Admin.tools.powerBIDisabled": "Повер БИ је функција само за Премиум. Обратите се свом ГовСуццесс менаџеру ако желите више информација о овоме.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Преузмите шаблоне", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Ако намеравате да користите своје ЦитизенЛаб податке у оквиру Повер БИ тока података, овај шаблон ће вам омогућити да подесите нови ток података који се повезује са вашим ЦитизенЛаб подацима. Када преузмете овај шаблон, прво морате да пронађете и замените следеће стрингове ##ЦЛИЕНТ_ИД## и ##ЦЛИЕНТ_СЕЦРЕТ## у шаблону својим јавним АПИ акредитивима пре него што их отпремите у ПоверБИ.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Преузмите шаблон тока података", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Шаблон тока података", + "app.containers.Admin.tools.powerBITemplates.intro": "Напомена: Да бисте користили било који од ових Повер БИ шаблона, прво морате {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "креирајте скуп акредитива за наш јавни АПИ", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Овај шаблон ће креирати Повер БИ извештај на основу ваших ЦитизенЛаб података. Поставиће све везе за податке са вашом ЦитизенЛаб платформом, креираће модел података и неке подразумеване контролне табле. Када отворите шаблон у Повер БИ-ју, од вас ће бити затражено да унесете своје јавне АПИ акредитиве.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Преузмите шаблон за извештавање", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Шаблон извештаја", + "app.containers.Admin.tools.powerBITemplates.title": "Повер БИ шаблони", + "app.containers.Admin.tools.powerBITitle": "Повер БИ", "app.containers.Admin.tools.publicAPIDescription": "Управљајте акредитивима да бисте креирали прилагођене интеграције на нашем јавном АПИ-ју.", + "app.containers.Admin.tools.publicAPIDisabled": "Јавни АПИ је функција само за Премиум. Обратите се свом ГовСуццесс менаџеру ако желите више информација о овоме.", "app.containers.Admin.tools.publicAPIImage": "Слика јавног АПИ-ја", "app.containers.Admin.tools.publicAPITitle": "Јавни АПИ приступ", "app.containers.Admin.tools.toolsLabel": "Алати", From ad051c60b2e74375898c326b8ee4590d8b9ca108 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:42 +0000 Subject: [PATCH 49/62] New translations en.json (Swedish) --- front/app/translations/admin/sv-SE.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/sv-SE.json b/front/app/translations/admin/sv-SE.json index 3b46e024b232..4bbe0c001a19 100644 --- a/front/app/translations/admin/sv-SE.json +++ b/front/app/translations/admin/sv-SE.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Hantera API-nycklar", "app.containers.Admin.tools.manageWidget": "Hantera widget", "app.containers.Admin.tools.manageWorkshops": "Leda workshops", + "app.containers.Admin.tools.powerBIAPIImage": "Power BI-bild", + "app.containers.Admin.tools.powerBIDescription": "Använd våra plug & play Power BI-mallar för att få tillgång till Citizenlab-data i din Microsoft Power BI-arbetsyta.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI är en funktion som endast finns i Premium. Kontakta din GovSuccess Manager om du vill ha mer information om detta.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Ladda ner mallar", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Om du tänker använda dina CitizenLab-data i ett Power BI-dataflöde kan du med hjälp av den här mallen skapa ett nytt dataflöde som ansluter till dina CitizenLab-data. När du har laddat ner denna mall måste du först hitta och ersätta följande strängar ##CLIENT_ID## och ##CLIENT_SECRET## i mallen med dina offentliga API-autentiseringsuppgifter innan du laddar upp till PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Ladda ner mall för dataflöde", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Dataflödesmall", + "app.containers.Admin.tools.powerBITemplates.intro": "Observera: För att kunna använda någon av dessa Power BI-mallar måste du först {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "skapa en uppsättning autentiseringsuppgifter för vårt offentliga API", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Den här mallen skapar en Power BI-rapport baserad på dina CitizenLab-data. Den konfigurerar alla dataanslutningar till din CitizenLab-plattform, skapar datamodellen och några standardinstrumentpaneler. När du öppnar mallen i Power BI kommer du att uppmanas att ange dina offentliga API-autentiseringsuppgifter.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Ladda ner rapporteringsmall", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Mall för rapport", + "app.containers.Admin.tools.powerBITemplates.title": "Power BI-mallar", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Hantera autentiseringsuppgifterna för att skapa anpassade integrationer på vårt offentliga API.", + "app.containers.Admin.tools.publicAPIDisabled": "Det offentliga API:et är en Premium-funktion. Kontakta din GovSuccess Manager om du vill ha mer information om detta.", "app.containers.Admin.tools.publicAPIImage": "Bild för offentligt API", "app.containers.Admin.tools.publicAPITitle": "Offentlig API-åtkomst", "app.containers.Admin.tools.toolsLabel": "Verktyg", From 1a2ffb77e30d0b685dc88e6393c5eea3dbe20548 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:44 +0000 Subject: [PATCH 50/62] New translations en.json (Turkish) --- front/app/translations/admin/tr-TR.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/tr-TR.json b/front/app/translations/admin/tr-TR.json index 6500a731fb26..8899b37f559e 100644 --- a/front/app/translations/admin/tr-TR.json +++ b/front/app/translations/admin/tr-TR.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "API Anahtarlarını Yönetme", "app.containers.Admin.tools.manageWidget": "Widget'ı yönet", "app.containers.Admin.tools.manageWorkshops": "Atölye çalışmalarını yönetin", + "app.containers.Admin.tools.powerBIAPIImage": "Power BI görüntüsü", + "app.containers.Admin.tools.powerBIDescription": "Microsoft Power BI Çalışma Alanınızdaki Citizenlab verilerine erişmek için tak ve çalıştır Power BI Şablonlarımızı kullanın.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI yalnızca Premium bir özelliktir. Bu konuda daha fazla bilgi almak istiyorsanız GovSuccess Yöneticinizle iletişime geçin.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Şablonları indirin", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "CitizenLab verilerinizi bir Power BI veri akışında kullanmayı düşünüyorsanız, bu şablon CitizenLab verilerinize bağlanan yeni bir veri akışı oluşturmanızı sağlayacaktır. Bu şablonu indirdikten sonra, PowerBI'ye yüklemeden önce şablonda aşağıdaki ##CLIENT_ID## ve ##CLIENT_SECRET## dizelerini bulup genel API kimlik bilgilerinizle değiştirmeniz gerekir.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Veri akışı şablonunu indirin", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Veri akışı şablonu", + "app.containers.Admin.tools.powerBITemplates.intro": "Not: Bu Power BI şablonlarından birini kullanmak için önce {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "genel API'miz için bir dizi kimlik bilgisi oluşturun", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Bu şablon, CitizenLab verilerinize dayalı bir Power BI raporu oluşturacaktır. CitizenLab platformunuza tüm veri bağlantılarını kuracak, veri modelini ve bazı varsayılan gösterge tablolarını oluşturacaktır. Şablonu Power BI'da açtığınızda genel API kimlik bilgilerinizi girmeniz istenecektir.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Raporlama şablonunu indirin", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Rapor şablonu", + "app.containers.Admin.tools.powerBITemplates.title": "Power BI şablonları", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Genel API'mizde özel entegrasyonlar oluşturmak için kimlik bilgilerini yönetin.", + "app.containers.Admin.tools.publicAPIDisabled": "Genel API yalnızca Premium bir özelliktir. Bu konuda daha fazla bilgi istiyorsanız GovSuccess Yöneticinizle iletişime geçin.", "app.containers.Admin.tools.publicAPIImage": "Genel API görüntüsü", "app.containers.Admin.tools.publicAPITitle": "Genel API Erişimi", "app.containers.Admin.tools.toolsLabel": "Araçlar", From 3d1f375befc6e833ac774849ee7ea1249ad9a35c Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:45 +0000 Subject: [PATCH 51/62] New translations en.json (Portuguese, Brazilian) --- front/app/translations/admin/pt-BR.json | 31 ++++++++++++++++++------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/front/app/translations/admin/pt-BR.json b/front/app/translations/admin/pt-BR.json index 6130fd56b405..dbb52247f4e2 100644 --- a/front/app/translations/admin/pt-BR.json +++ b/front/app/translations/admin/pt-BR.json @@ -820,8 +820,8 @@ "app.containers.Admin.projects.all.deleteProjectError": "Ocorreu um erro ao excluir este projeto, tente novamente mais tarde.", "app.containers.Admin.projects.all.exportAsPDF": "Exportar como pdf", "app.containers.Admin.projects.all.itIsAlsoPossible": "Também é possível enviar os formulários de entrada preenchidos de volta para a plataforma. Nosso importador de entrada offline detectará automaticamente a escrita manual nos formulários. Isso torna muito mais fácil combinar a participação online e offline. Para abrir o importador de entrada offline, vá para a guia 'Gerenciador de entrada' deste projeto e clique em 'Adicionar entradas offline'.", - "app.containers.Admin.projects.all.itIsAlsoPossibleSurvey": "Também é possível fazer o upload dos questionários preenchidos de volta para a plataforma. Nosso importador de entrada off-line detectará automaticamente a caligrafia nos formulários. Isso facilita muito a combinação da participação on-line e off-line. Para abrir o Offline Input Importer, vá para a guia \"Survey\" (Pesquisa) deste projeto e clique em \"Add offline inputs\" (Adicionar entradas off-line).", - "app.containers.Admin.projects.all.personalDataExplanation": "Para solicitar o nome, o e-mail e o consentimento das pessoas para criar automaticamente uma conta para elas, marque a caixa de seleção abaixo. Se você não marcar essa caixa, ou se o usuário não consentir com a criação de uma conta, a entrada será tratada como anônima.", + "app.containers.Admin.projects.all.itIsAlsoPossibleSurvey": "Também é possível enviar os questionários preenchidos de volta para a plataforma. Nosso importador de entrada offline detectará automaticamente a escrita manual nos formulários. Isso torna muito mais fácil combinar a participação online e offline. Para abrir o importador de entradas offline, vá para a guia 'Pesquisa' deste projeto e clique em 'Adicionar entradas offline'.", + "app.containers.Admin.projects.all.personalDataExplanation": "Para solicitar às pessoas seu nome, e-mail e consentimento para criar automaticamente uma conta para elas, marque a caixa de seleção abaixo. Se você não marcar esta caixa ou se o usuário não concordar com a criação de uma conta, a entrada será tratada como anônima.", "app.containers.Admin.projects.project.ideas.addOfflineInputs": "Adicionar entradas offline", "app.containers.Admin.projects.project.ideas.analysisAction": "Ir para a análise da IA", "app.containers.Admin.projects.project.ideas.analysisText": "Desbloqueie resumos alimentados por IA e faça perguntas sobre a entrada do seu projeto.", @@ -837,7 +837,7 @@ "app.containers.Admin.projects.project.ideas.consentModalTitle": "Antes de continuar", "app.containers.Admin.projects.project.offlineInputs.ImportModal.addToPhase": "Adicionar à fase", "app.containers.Admin.projects.project.offlineInputs.ImportModal.consentNeeded": "Você precisa consentir com isso antes de continuar", - "app.containers.Admin.projects.project.offlineInputs.ImportModal.formHasPersonalData": "O formulário carregado foi criado com a seção \"Personal data\" (Dados pessoais)", + "app.containers.Admin.projects.project.offlineInputs.ImportModal.formHasPersonalData": "O formulário carregado foi criado com a seção \"Dados pessoais\"", "app.containers.Admin.projects.project.offlineInputs.ImportModal.formLanguage": "Linguagem do formulário", "app.containers.Admin.projects.project.offlineInputs.ImportModal.googleConsent2": "Autorizo o processamento deste arquivo utilizando o Google Cloud Form Parser", "app.containers.Admin.projects.project.offlineInputs.ImportModal.here": "aqui", @@ -848,9 +848,9 @@ "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.AuthorInput.addANewUser": "Adicionar um novo usuário", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.AuthorInput.enterAValidEmail": "Digite um e-mail válido para criar uma nova conta", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.aNewAccountWillBeCreated": "Uma nova conta será criada com esse e-mail. Essa entrada será adicionada a ela.", - "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.firstName": "Nome próprio", - "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.lastName": "Apelido", - "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.pleaseEnterValidEmail": "Digite um endereço de e-mail válido.", + "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.firstName": "Primeiro nome", + "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.lastName": "Sobrenome", + "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.pleaseEnterValidEmail": "Por favor insira um endereço de e-mail válido.", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.thereIsAlreadyAnAccount": "Já existe uma conta associada a esse e-mail. Essa entrada será adicionada a ela.", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.IdeaEditor.userConsent": "Consentimento do usuário (criar conta de usuário)", "app.containers.Admin.projects.project.offlineInputs.ReviewSection.approve": "Aprovar", @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Gerenciar chaves de API", "app.containers.Admin.tools.manageWidget": "Gerenciar ferramenta", "app.containers.Admin.tools.manageWorkshops": "Gerenciar seminários", + "app.containers.Admin.tools.powerBIAPIImage": "Imagem do Power BI", + "app.containers.Admin.tools.powerBIDescription": "Use nossos modelos plug & play do Power BI para acessar os dados do Citizenlab em seu Microsoft Power BI Workspace.", + "app.containers.Admin.tools.powerBIDisabled": "O Power BI é um recurso exclusivo do Premium. Entre em contato com o seu gerente do GovSuccess se você quiser obter mais informações sobre isso.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Baixar modelos", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Se você pretende usar seus dados do CitizenLab em um fluxo de dados do Power BI, esse modelo permitirá que você configure um novo fluxo de dados que se conecte aos seus dados do CitizenLab. Depois de fazer o download desse modelo, você deve primeiro encontrar e substituir as seguintes cadeias de caracteres ##CLIENT_ID## e ##CLIENT_SECRET## no modelo com suas credenciais de API pública antes de fazer o upload para o PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Baixar modelo de fluxo de dados", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Modelo de fluxo de dados", + "app.containers.Admin.tools.powerBITemplates.intro": "Observação: para usar qualquer um desses modelos do Power BI, você deve primeiro acessar {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "criar um conjunto de credenciais para nossa API pública", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Esse modelo criará um relatório do Power BI com base nos dados do CitizenLab que você possui. Você configurará todas as conexões de dados com a plataforma CitizenLab, criará o modelo de dados e alguns painéis padrão. Ao abrir o modelo no Power BI, você será solicitado a inserir suas credenciais de API pública.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Baixar modelo de relatório", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Modelo de relatório", + "app.containers.Admin.tools.powerBITemplates.title": "Modelos do Power BI", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Gerencie as credenciais para criar integrações personalizadas em nossa API pública.", + "app.containers.Admin.tools.publicAPIDisabled": "A API pública é um recurso exclusivo do Premium. Entre em contato com o seu gerente do GovSuccess se você quiser obter mais informações sobre isso.", "app.containers.Admin.tools.publicAPIImage": "Imagem da API pública", "app.containers.Admin.tools.publicAPITitle": "Acesso público à API", "app.containers.Admin.tools.toolsLabel": "Ferramentas", @@ -2104,8 +2119,8 @@ "app.containers.AdminPage.projects.project.analysis.removeFilter": "Remover filtro", "app.containers.AdminPage.projects.project.analysis.removeFilterItem": "Remover filtro", "app.containers.AdminPage.projects.project.analysis.search": "Pesquisar", - "app.containers.AdminPage.projects.project.analysis.start": "Início", - "app.containers.AdminPage.projects.project.analysis.supportArticle": "Artigo de apoio", + "app.containers.AdminPage.projects.project.analysis.start": "Iniciar", + "app.containers.AdminPage.projects.project.analysis.supportArticle": "Artigo de suporte", "app.containers.AdminPage.projects.project.analysis.supportArticleLink": "https://support.citizenlab.co/en/articles/8316692-ai-analysis", "app.containers.AdminPage.projects.project.analysis.unknown": "Desconhecido", "app.containers.AdminPage.projects.project.analysis.votes": "Votos", From 14a720fb51662e9bb4cddfa5bde787b0669b74c2 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:47 +0000 Subject: [PATCH 52/62] New translations en.json (Spanish, Chile) --- front/app/translations/admin/es-CL.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/es-CL.json b/front/app/translations/admin/es-CL.json index 94a1edf8db96..ad336af97fb1 100644 --- a/front/app/translations/admin/es-CL.json +++ b/front/app/translations/admin/es-CL.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Gestionar claves API", "app.containers.Admin.tools.manageWidget": "Administrar widget", "app.containers.Admin.tools.manageWorkshops": "Gestionar talleres", + "app.containers.Admin.tools.powerBIAPIImage": "Imagen de Power BI", + "app.containers.Admin.tools.powerBIDescription": "Utiliza nuestras plantillas plug & play de Power BI para acceder a los datos de Citizenlab en tu espacio de trabajo de Microsoft Power BI.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI es una función sólo Premium. Ponte en contacto con tu Gestor de GovSuccess si quieres más información al respecto.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Descargar plantillas", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Si pretendes utilizar tus datos de CitizenLab dentro de un flujo de datos de Power BI, esta plantilla te permitirá configurar un nuevo flujo de datos que conecte con tus datos de CitizenLab. Una vez que hayas descargado esta plantilla, primero debes encontrar y sustituir las siguientes cadenas ##CLIENT_ID## y ##CLIENT_SECRET## en la plantilla por tus credenciales de la API pública antes de cargarla en PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Descargar plantilla de flujo de datos", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Plantilla de flujo de datos", + "app.containers.Admin.tools.powerBITemplates.intro": "Nota: Para utilizar cualquiera de estas plantillas de Power BI, primero debes {link}.", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "crear un conjunto de credenciales para nuestra API pública", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Esta plantilla creará un informe Power BI basado en tus datos de CitizenLab. Configurará todas las conexiones de datos a tu plataforma CitizenLab, creará el modelo de datos y algunos cuadros de mando predeterminados. Cuando abras la plantilla en Power BI, se te pedirá que introduzcas tus credenciales de la API pública.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Descargar plantilla de informe", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Plantilla de informe", + "app.containers.Admin.tools.powerBITemplates.title": "Plantillas Power BI", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Gestiona las credenciales para crear integraciones personalizadas en nuestra API pública.", + "app.containers.Admin.tools.publicAPIDisabled": "La API pública es una función sólo Premium. Ponte en contacto con tu Gestor de GovSuccess si quieres más información al respecto.", "app.containers.Admin.tools.publicAPIImage": "Imagen pública de la API", "app.containers.Admin.tools.publicAPITitle": "Acceso público a la API", "app.containers.Admin.tools.toolsLabel": "Herramientas", From d0cac794afdaf3878af998c5212c66d70426da47 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:48 +0000 Subject: [PATCH 53/62] New translations en.json (Croatian) --- front/app/translations/admin/hr-HR.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/hr-HR.json b/front/app/translations/admin/hr-HR.json index 0216c9b4c29c..3ecec4ea1278 100644 --- a/front/app/translations/admin/hr-HR.json +++ b/front/app/translations/admin/hr-HR.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Upravljanje API ključevima", "app.containers.Admin.tools.manageWidget": "Upravljanje widgetom", "app.containers.Admin.tools.manageWorkshops": "Vodite radionice", + "app.containers.Admin.tools.powerBIAPIImage": "Power BI slika", + "app.containers.Admin.tools.powerBIDescription": "Koristite naše plug & play Power BI predloške za pristup podacima Citizenlaba u vašem Microsoft Power BI Workspaceu.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI značajka je samo za Premium. Kontaktirajte svog GovSuccess Managera ako želite više informacija o ovome.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Preuzmite predloške", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Ako namjeravate koristiti svoje CitizenLab podatke unutar Power BI protoka podataka, ovaj predložak će vam omogućiti da postavite novi protok podataka koji se povezuje s vašim CitizenLab podacima. Nakon što preuzmete ovaj predložak, prvo morate pronaći i zamijeniti sljedeće nizove ##CLIENT_ID## i ##CLIENT_SECRET## u predlošku svojim javnim API vjerodajnicama prije učitavanja u PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Preuzmite predložak protoka podataka", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Predložak tijeka podataka", + "app.containers.Admin.tools.powerBITemplates.intro": "Napomena: Da biste koristili bilo koji od ovih Power BI predložaka, prvo morate {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "izradite skup vjerodajnica za naš javni API", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Ovaj će predložak izraditi Power BI izvješće na temelju vaših CitizenLab podataka. Postavit će sve podatkovne veze s vašom CitizenLab platformom, izraditi podatkovni model i neke zadane nadzorne ploče. Kada otvorite predložak u Power BI-u, od vas će se tražiti da unesete svoje javne API vjerodajnice.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Preuzmite obrazac izvješća", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Predložak izvješća", + "app.containers.Admin.tools.powerBITemplates.title": "Power BI predlošci", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Upravljajte vjerodajnicama za stvaranje prilagođenih integracija na našem javnom API-ju.", + "app.containers.Admin.tools.publicAPIDisabled": "Javni API značajka je samo za Premium. Kontaktirajte svog GovSuccess Managera ako želite više informacija o ovome.", "app.containers.Admin.tools.publicAPIImage": "Slika javnog API-ja", "app.containers.Admin.tools.publicAPITitle": "Javni API pristup", "app.containers.Admin.tools.toolsLabel": "Alati", From b13ba477ebc48774eeea1875d687665be77d3faa Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:50 +0000 Subject: [PATCH 54/62] New translations en.json (Latvian) --- front/app/translations/admin/lv-LV.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/lv-LV.json b/front/app/translations/admin/lv-LV.json index ecb4ec474560..c46a3fb8e9f1 100644 --- a/front/app/translations/admin/lv-LV.json +++ b/front/app/translations/admin/lv-LV.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "API atslēgu pārvaldība", "app.containers.Admin.tools.manageWidget": "Pārvaldīt logrīku", "app.containers.Admin.tools.manageWorkshops": "Darbsemināru pārvaldība", + "app.containers.Admin.tools.powerBIAPIImage": "Power BI attēls", + "app.containers.Admin.tools.powerBIDescription": "Izmantojiet mūsu plug & play Power BI veidnes, lai piekļūtu Citizenlab datiem savā Microsoft Power BI darba vidē.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI ir tikai Premium klases funkcija. Sazinieties ar savu GovSuccess menedžeri, ja vēlaties saņemt vairāk informācijas par šo pakalpojumu.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Lejupielādēt veidnes", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Ja plānojat izmantot CitizenLab datus Power BI datu plūsmā, šī veidne ļaus iestatīt jaunu datu plūsmu, kas ir savienota ar jūsu CitizenLab datiem. Kad esat lejupielādējis šo veidni, pirms augšupielādēšanas PowerBI jums vispirms jāatrod un jāaizstāj šablonā šādas virknes ##CLIENT_ID### un ##CLIENT_SECRET### ar saviem publiskajiem API akreditācijas datiem.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Lejupielādēt datu plūsmas veidni", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Datu plūsmas veidne", + "app.containers.Admin.tools.powerBITemplates.intro": "Piezīme: Lai izmantotu kādu no šīm Power BI veidnēm, vispirms ir jābūt {link}.", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "izveidot mūsu publiskā API pilnvaru kopumu.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Šī veidne izveidos Power BI pārskatu, pamatojoties uz jūsu CitizenLab datiem. Tajā tiks iestatīti visi datu savienojumi ar jūsu CitizenLab platformu, izveidots datu modelis un daži noklusējuma paneļi. Atverot veidni Power BI programmā, jums tiks piedāvāts ievadīt publiskos API akreditācijas datus.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Lejupielādēt ziņojuma veidni", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Ziņojuma veidne", + "app.containers.Admin.tools.powerBITemplates.title": "Power BI veidnes", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Pārvaldiet akreditācijas datus, lai izveidotu pielāgotas integrācijas mūsu publiskajā API.", + "app.containers.Admin.tools.publicAPIDisabled": "Publiskā API ir tikai Premium klases funkcija. Sazinieties ar savu GovSuccess menedžeri, ja vēlaties saņemt vairāk informācijas par šo tēmu.", "app.containers.Admin.tools.publicAPIImage": "Publiskais API attēls", "app.containers.Admin.tools.publicAPITitle": "Publiskā piekļuve API", "app.containers.Admin.tools.toolsLabel": "Instrumenti", From 8d2d7121dbfcb51a36a442acc8a81fa1c88fa1dc Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:52 +0000 Subject: [PATCH 55/62] New translations en.json (English, Canada) --- front/app/translations/admin/en-CA.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/en-CA.json b/front/app/translations/admin/en-CA.json index f041e183bce4..ce563af744ca 100644 --- a/front/app/translations/admin/en-CA.json +++ b/front/app/translations/admin/en-CA.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Manage API Keys", "app.containers.Admin.tools.manageWidget": "Manage widget", "app.containers.Admin.tools.manageWorkshops": "Manage workshops", + "app.containers.Admin.tools.powerBIAPIImage": "Power BI image", + "app.containers.Admin.tools.powerBIDescription": "Use our plug & play Power BI Templates to access Citizenlab data in your Microsoft Power BI Workspace.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI is a Premium-only feature. Contact your GovSuccess Manager if you want more info on this.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Download templates", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "If you intend to use your CitizenLab data within a Power BI data flow, this template will allow you to set up a new data flow that connects to your CitizenLab data. Once you have downloaded this template you must first find and replace the following strings ##CLIENT_ID## and ##CLIENT_SECRET## in the template with your public API credentials before uploading to PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Download data flow template", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Dataflow template", + "app.containers.Admin.tools.powerBITemplates.intro": "Note: To use either of these Power BI templates, you must first {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "create a set of credentials for our public API", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "This template will create a Power BI report based on your CitizenLab data. It will set up all the data connections to your CitizenLab platform, create the data model and some default dashboards. When you open the template in Power BI you will be prompted to enter your public API credentials.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Download reporting template", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Report template", + "app.containers.Admin.tools.powerBITemplates.title": "Power BI templates", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Manage the credentials to create custom integrations on our public API.", + "app.containers.Admin.tools.publicAPIDisabled": "The public API is a Premium-only feature. Contact your GovSuccess Manager if you want more info on this.", "app.containers.Admin.tools.publicAPIImage": "Public API image", "app.containers.Admin.tools.publicAPITitle": "Public API Access", "app.containers.Admin.tools.toolsLabel": "Tools", From a80b2cbd0efc3b72221a00b9b117426435d4cea1 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:53 +0000 Subject: [PATCH 56/62] New translations en.json (English, United Kingdom) --- front/app/translations/admin/en-GB.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/en-GB.json b/front/app/translations/admin/en-GB.json index d63a95a6a1d0..4971181ec9bc 100644 --- a/front/app/translations/admin/en-GB.json +++ b/front/app/translations/admin/en-GB.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Manage API Keys", "app.containers.Admin.tools.manageWidget": "Manage widget", "app.containers.Admin.tools.manageWorkshops": "Manage workshops", + "app.containers.Admin.tools.powerBIAPIImage": "Power BI image", + "app.containers.Admin.tools.powerBIDescription": "Use our plug & play Power BI Templates to access Citizenlab data in your Microsoft Power BI Workspace.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI is a Premium-only feature. Contact your GovSuccess Manager if you want more info on this.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Download templates", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "If you intend to use your CitizenLab data within a Power BI data flow, this template will allow you to set up a new data flow that connects to your CitizenLab data. Once you have downloaded this template you must first find and replace the following strings ##CLIENT_ID## and ##CLIENT_SECRET## in the template with your public API credentials before uploading to PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Download data flow template", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Dataflow template", + "app.containers.Admin.tools.powerBITemplates.intro": "Note: To use either of these Power BI templates, you must first {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "create a set of credentials for our public API", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "This template will create a Power BI report based on your CitizenLab data. It will set up all the data connections to your CitizenLab platform, create the data model and some default dashboards. When you open the template in Power BI you will be prompted to enter your public API credentials.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Download reporting template", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Report template", + "app.containers.Admin.tools.powerBITemplates.title": "Power BI templates", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Manage the credentials to create custom integrations on our public API.", + "app.containers.Admin.tools.publicAPIDisabled": "The public API is a Premium-only feature. Contact your GovSuccess Manager if you want more info on this.", "app.containers.Admin.tools.publicAPIImage": "Public API image", "app.containers.Admin.tools.publicAPITitle": "Public API Access", "app.containers.Admin.tools.toolsLabel": "Tools", From d9e5d09357d0a22226b73a34c8f73aa6f4cf8fd4 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:55 +0000 Subject: [PATCH 57/62] New translations en.json (Serbian (Latin)) --- front/app/translations/admin/sr-Latn.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/sr-Latn.json b/front/app/translations/admin/sr-Latn.json index dc522ff44602..91ed011ba828 100644 --- a/front/app/translations/admin/sr-Latn.json +++ b/front/app/translations/admin/sr-Latn.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Управљајте АПИ кључевима", "app.containers.Admin.tools.manageWidget": "Управљај виџетом", "app.containers.Admin.tools.manageWorkshops": "Управљајте радионицама", + "app.containers.Admin.tools.powerBIAPIImage": "Power BI image", + "app.containers.Admin.tools.powerBIDescription": "Use our plug & play Power BI Templates to access Citizenlab data in your Microsoft Power BI Workspace.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI is a Premium-only feature. Contact your GovSuccess Manager if you want more info on this.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Download templates", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "If you intend to use your CitizenLab data within a Power BI data flow, this template will allow you to set up a new data flow that connects to your CitizenLab data. Once you have downloaded this template you must first find and replace the following strings ##CLIENT_ID## and ##CLIENT_SECRET## in the template with your public API credentials before uploading to PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Download data flow template", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Dataflow template", + "app.containers.Admin.tools.powerBITemplates.intro": "Note: To use either of these Power BI templates, you must first {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "create a set of credentials for our public API", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "This template will create a Power BI report based on your CitizenLab data. It will set up all the data connections to your CitizenLab platform, create the data model and some default dashboards. When you open the template in Power BI you will be prompted to enter your public API credentials.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Download reporting template", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Report template", + "app.containers.Admin.tools.powerBITemplates.title": "Power BI templates", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Управљајте акредитивима да бисте креирали прилагођене интеграције на нашем јавном АПИ-ју.", + "app.containers.Admin.tools.publicAPIDisabled": "The public API is a Premium-only feature. Contact your GovSuccess Manager if you want more info on this.", "app.containers.Admin.tools.publicAPIImage": "Слика јавног АПИ-ја", "app.containers.Admin.tools.publicAPITitle": "Јавни АПИ приступ", "app.containers.Admin.tools.toolsLabel": "Алати", From 50410d0ccb4b83ea2c62cfc990c64308ffc88496 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:56 +0000 Subject: [PATCH 58/62] New translations en.yml (Dutch, Belgium) --- back/engines/free/email_campaigns/config/locales/nl-BE.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/back/engines/free/email_campaigns/config/locales/nl-BE.yml b/back/engines/free/email_campaigns/config/locales/nl-BE.yml index 6aaf5d07a27e..6e6a6ae70c98 100644 --- a/back/engines/free/email_campaigns/config/locales/nl-BE.yml +++ b/back/engines/free/email_campaigns/config/locales/nl-BE.yml @@ -582,7 +582,7 @@ nl-BE: content_type: comments: 'Reacties' content_moderation: 'Inhoudelijke moderatie' - events: 'Evenementen' + events: 'Activiteiten' general: 'Algemeen' inputs: 'Bijdragen' internal_comments: 'Interne reacties' @@ -638,4 +638,4 @@ nl-BE: voting_basket_submitted: 'Stemmen zijn verzonden' 7_days_after_invite_is_sent: '7 dagen na verzending van de uitnodiging' 7_days_before_the_project_changes_phase: '7 dagen voor het project van fase verandert' - registration_to_event: 'Registratie voor een evenement' + registration_to_event: 'Registratie voor een activiteit' From 028717c1bf639ecbf5e67f664cd76795a77f3ee1 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:54:58 +0000 Subject: [PATCH 59/62] New translations en.json (Dutch, Belgium) --- front/app/translations/admin/nl-BE.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/nl-BE.json b/front/app/translations/admin/nl-BE.json index a00126efd7d6..c6d4b53d05c7 100644 --- a/front/app/translations/admin/nl-BE.json +++ b/front/app/translations/admin/nl-BE.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Beheer API-sleutels", "app.containers.Admin.tools.manageWidget": "Beheer widget", "app.containers.Admin.tools.manageWorkshops": "Beheer workshops", + "app.containers.Admin.tools.powerBIAPIImage": "Power BI-afbeelding", + "app.containers.Admin.tools.powerBIDescription": "Gebruik onze plug & play Power BI-sjablonen om toegang te krijgen tot Citizenlab-gegevens in uw Microsoft Power BI-werkruimte.", + "app.containers.Admin.tools.powerBIDisabled": "Power BI is een Premium-functie. Neem contact op met uw GovSuccess Manager als u hier meer informatie over wilt.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Sjabloon downloaden", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Als u van plan bent uw CitizenLab data te gebruiken binnen een Power BI data flow, kunt u met dit sjabloon een nieuwe data flow opzetten die aansluit op uw CitizenLab data. Nadat u deze sjabloon heeft gedownload, moet u eerst de volgende tekenreeksen ##CLIENT_ID## en ##CLIENT_SECRET## in de sjabloon zoeken en vervangen door uw openbare API-gegevens voordat u deze uploadt naar PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Download data flow sjabloon", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Dataflow sjabloon", + "app.containers.Admin.tools.powerBITemplates.intro": "Opmerking: als u een van deze Power BI-sjablonen wilt gebruiken, moet u eerst {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "maak een set referenties voor onze openbare API", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Met dit sjabloon wordt een Power BI-rapport gemaakt op basis van uw CitizenLab data. Het zal alle dataverbindingen met uw CitizenLab-platform opzetten, het datamodel en enkele standaarddashboards creëren. Wanneer u de sjabloon in Power BI opent, wordt u gevraagd uw openbare API-gegevens in te voeren.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Rapportagesjabloon downloaden", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Rapportagesjabloon", + "app.containers.Admin.tools.powerBITemplates.title": "Power BI-sjablonen", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Beheer de credentials om aangepaste integraties te maken op onze openbare API.", + "app.containers.Admin.tools.publicAPIDisabled": "De openbare API is alleen beschikbaar voor Premium gebruikers. Neem contact op met uw GovSuccess Manager als u hier meer informatie over wilt.", "app.containers.Admin.tools.publicAPIImage": "Openbare API-afbeelding", "app.containers.Admin.tools.publicAPITitle": "Openbare API-toegang", "app.containers.Admin.tools.toolsLabel": "Tools", From 2c2c7f77eb0690f36f4106db902b137b78040323 Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:55:01 +0000 Subject: [PATCH 60/62] New translations en.json (French, Belgium) --- front/app/translations/admin/fr-BE.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/fr-BE.json b/front/app/translations/admin/fr-BE.json index 11b0e4f28747..12b7586f596b 100644 --- a/front/app/translations/admin/fr-BE.json +++ b/front/app/translations/admin/fr-BE.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "Gérer les clés API", "app.containers.Admin.tools.manageWidget": "Gérer le widget", "app.containers.Admin.tools.manageWorkshops": "Gérer les ateliers numériques", + "app.containers.Admin.tools.powerBIAPIImage": "Image Power BI", + "app.containers.Admin.tools.powerBIDescription": "Utilisez nos modèles Power BI prêts à l'emploi pour accéder aux données de CitizenLab dans votre espace de travail Microsoft Power BI.", + "app.containers.Admin.tools.powerBIDisabled": "L'intégration Power BI est réservée aux utilisateurs Premium uniquement. Pour en savoir plus à ce sujet, veuillez contacter votre responsable GovSuccess.", + "app.containers.Admin.tools.powerBIDownloadTemplates": "Télécharger les modèles", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "Si vous souhaitez d'utiliser vos données CitizenLab dans un flux de données Power BI, ce modèle vous permettra de configurer un nouveau flux de données qui se connecte à vos données CitizenLab. Une fois que vous avez téléchargé ce modèle, vous devez d'abord trouver et remplacer les chaînes suivantes ##CLIENT_ID## et ##CLIENT_SECRET## dans le modèle avec vos identifiants pour l'API publique avant de charger le template dans Power BI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Téléchargez le modèle de flux de données", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Modèle de flux de données", + "app.containers.Admin.tools.powerBITemplates.intro": "Remarque : Pour utiliser l'un de ces modèles Power BI, vous devez d'abord {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "créer des identifiants pour notre API publique", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "Ce modèle générera un rapport Power BI à partir de vos données CitizenLab. Il établira toutes les connexions aux données de votre plateforme CitizenLab, créera le modèle de données et quelques tableaux de bord par défaut. Lorsque vous ouvrirez le modèle dans Power BI, vous serez invité(e) à saisir vos identifiants pour l'API publique de CitizenLab.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Téléchargez le modèle de rapport", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Modèle de rapport", + "app.containers.Admin.tools.powerBITemplates.title": "Modèles Power BI", + "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Gérez les clés d'accès nécessaires pour créer des intégrations personnalisées avec notre API publique.", + "app.containers.Admin.tools.publicAPIDisabled": "L'API publique est une fonctionnalité Premium uniquement. Contactez votre GovSuccess Manager si vous souhaitez obtenir plus d'informations à ce sujet.", "app.containers.Admin.tools.publicAPIImage": "Image de l'API publique", "app.containers.Admin.tools.publicAPITitle": "Accès à l'API publique", "app.containers.Admin.tools.toolsLabel": "Outils", From 92695bb2fd449270f216038708fc254e99395c8d Mon Sep 17 00:00:00 2001 From: cl-dev-bot <88031410+cl-dev-bot@users.noreply.github.com> Date: Fri, 20 Oct 2023 12:55:02 +0000 Subject: [PATCH 61/62] New translations en.json (Acholi) --- front/app/translations/admin/ach-UG.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/front/app/translations/admin/ach-UG.json b/front/app/translations/admin/ach-UG.json index a0ac710d24ef..63f3369f3a72 100644 --- a/front/app/translations/admin/ach-UG.json +++ b/front/app/translations/admin/ach-UG.json @@ -960,7 +960,22 @@ "app.containers.Admin.tools.managePublicAPIKeys": "crwdns667357:0crwdne667357:0", "app.containers.Admin.tools.manageWidget": "crwdns667359:0crwdne667359:0", "app.containers.Admin.tools.manageWorkshops": "crwdns667361:0crwdne667361:0", + "app.containers.Admin.tools.powerBIAPIImage": "crwdns1211236:0crwdne1211236:0", + "app.containers.Admin.tools.powerBIDescription": "crwdns1211238:0crwdne1211238:0", + "app.containers.Admin.tools.powerBIDisabled": "crwdns1211240:0crwdne1211240:0", + "app.containers.Admin.tools.powerBIDownloadTemplates": "crwdns1211242:0crwdne1211242:0", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "crwdns1211244:0crwdne1211244:0", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "crwdns1211246:0crwdne1211246:0", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "crwdns1211248:0crwdne1211248:0", + "app.containers.Admin.tools.powerBITemplates.intro": "crwdns1211250:0{link}crwdne1211250:0", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "crwdns1211252:0crwdne1211252:0", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription2": "crwdns1211254:0crwdne1211254:0", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "crwdns1211256:0crwdne1211256:0", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "crwdns1211258:0crwdne1211258:0", + "app.containers.Admin.tools.powerBITemplates.title": "crwdns1211260:0crwdne1211260:0", + "app.containers.Admin.tools.powerBITitle": "crwdns1211262:0crwdne1211262:0", "app.containers.Admin.tools.publicAPIDescription": "crwdns667363:0crwdne667363:0", + "app.containers.Admin.tools.publicAPIDisabled": "crwdns1211264:0crwdne1211264:0", "app.containers.Admin.tools.publicAPIImage": "crwdns667365:0crwdne667365:0", "app.containers.Admin.tools.publicAPITitle": "crwdns667367:0crwdne667367:0", "app.containers.Admin.tools.toolsLabel": "crwdns667369:0crwdne667369:0", From 398c5ade4dbcc3d189e5e90d4b5aaf6066f7ae14 Mon Sep 17 00:00:00 2001 From: EdwinKato Date: Mon, 23 Oct 2023 08:18:41 +0300 Subject: [PATCH 62/62] Update front readme --- front/README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/front/README.md b/front/README.md index d4af17a6cc76..3e796a582827 100644 --- a/front/README.md +++ b/front/README.md @@ -9,24 +9,27 @@ ## Setup 1. `git clone` the repository -2. Run `npm install` in the root of the repository +2. Run `npm run install:all` in the root of the repository ## Running If you have [citizenlab/back][cl2back] running on the same machine, with the default port (4000): ``` -npm start +npm run start:front ``` If [citizenlab/back][cl2back] runs on a different machine / port: ``` -API_HOST=XXX API_PORT=YYY npm start +API_HOST=XXX API_PORT=YYY npm run start:front ``` (replace `XXX` with the hostname or ip and `YYY` with the port of your instance of cl2-back) +Please note that `npm run start:front` only watches changes made to the front folder. To run and watch changes made in both +the front folder and the component library, please run `npm run start:cl-linked` + ## E2E tests The E2E tests are run whenever a change to the Master branch occurs. You can view the results on CircleCI.

  • n*~R!H3MoM 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 literal 0 HcmV?d00001 diff --git a/back/engines/commercial/public_api/config/routes.rb b/back/engines/commercial/public_api/config/routes.rb index fbd06314964f..75268a60cd81 100644 --- a/back/engines/commercial/public_api/config/routes.rb +++ b/back/engines/commercial/public_api/config/routes.rb @@ -53,6 +53,7 @@ namespace :web_api, defaults: { format: :json } do namespace :v1 do resources :api_clients, except: [:update] + resources :power_bi_templates, only: [:show] end end end diff --git a/back/engines/commercial/public_api/spec/acceptance/web_api/power_bi_templates_spec.rb b/back/engines/commercial/public_api/spec/acceptance/web_api/power_bi_templates_spec.rb new file mode 100644 index 000000000000..8fef87618664 --- /dev/null +++ b/back/engines/commercial/public_api/spec/acceptance/web_api/power_bi_templates_spec.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +require 'rails_helper' +require 'rspec_api_documentation/dsl' + +resource 'Power BI templates' do + explanation 'Download the two power BI templates - admin only' + + before { header 'Content-Type', 'application/json' } + + get 'web_api/v1/power_bi_templates/:id' do + let(:id) { 'dataflow' } + + context 'as an admin' do + before { admin_header_token } + + example_request 'Dataflow template' do + assert_status 200 + end + end + + context 'as a normal user' do + before { header_token_for create(:user) } + + example_request 'Unauthorised dataflow template' do + assert_status 401 + end + end + + context 'as a public user' do + example_request 'Unauthorised dataflow template' do + assert_status 401 + end + end + end +end From 263baae9eb622c057005954dc77f6100331dc6a3 Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Tue, 10 Oct 2023 16:29:36 +0100 Subject: [PATCH 05/62] [TAN-396] Trying to get download to work --- .../tools/PowerBI/PowerBITemplates/index.tsx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx index 48e0b1b439d2..b721514d2dd9 100644 --- a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx @@ -10,17 +10,34 @@ import { import messages from './messages'; import { useIntl } from 'utils/cl-intl'; import useFeatureFlag from 'hooks/useFeatureFlag'; +import { requestBlob } from 'utils/requestBlob'; +import { saveAs } from 'file-saver'; +import { reportError } from 'utils/loggingUtils'; +import { API_PATH } from 'containers/App/constants'; const PowerBITemplates = () => { const isPowerBIEnabled = useFeatureFlag({ name: 'power_bi' }); const { formatMessage } = useIntl(); + const saveFile = (filename: string, mimeType: string) => { + const file = `${API_PATH}web_api/v1/power_bi_templates/${filename}`; + try { + const blob = await requestBlob(file, mimeType as any); + saveAs(blob, filename); + } catch (error) { + reportError(error); + throw error; + } + }; + const downloadReportingTemplate = () => { console.log('downloading reporting template'); + saveFile('reporting.pbit', 'application/pbit'); }; const downloadDataFlowTemplate = () => { console.log('downloading reporting template'); + saveFile('dataflow.json', 'application/json'); }; if (!isPowerBIEnabled) return null; From 5f434475eaa2ec7a3aebfefd7a7590fc653a03fe Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Tue, 10 Oct 2023 16:30:43 +0100 Subject: [PATCH 06/62] [TAN-396] Trying to get download to work --- .../Admin/tools/PowerBI/PowerBITemplates/index.tsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx index b721514d2dd9..6e5ce6142c86 100644 --- a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx @@ -19,6 +19,7 @@ const PowerBITemplates = () => { const isPowerBIEnabled = useFeatureFlag({ name: 'power_bi' }); const { formatMessage } = useIntl(); + // TODO: Need to get this working const saveFile = (filename: string, mimeType: string) => { const file = `${API_PATH}web_api/v1/power_bi_templates/${filename}`; try { @@ -45,16 +46,14 @@ const PowerBITemplates = () => { return ( <> {formatMessage(messages.title)} - + // TODO: Finish text and move to messages Note: To use either of these Power BI, you must first{' '} create a set of credentials for our public API - Report template - This will create set up all the data connections to your CitizenLab @@ -70,9 +69,7 @@ const PowerBITemplates = () => { Download reporting template (.pbit) - Dataflow template - If you intend to use your CitizenLab data within a Power BI dataflow, From 0e385d91d614257e9a75b5444942cfeb09469657 Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Wed, 11 Oct 2023 11:57:46 +0100 Subject: [PATCH 07/62] [TAN-396] Working downloads --- .../tools/PowerBI/PowerBITemplates/index.tsx | 25 ++++++------------- 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx index 6e5ce6142c86..95d4c5012077 100644 --- a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx @@ -10,35 +10,24 @@ import { import messages from './messages'; import { useIntl } from 'utils/cl-intl'; import useFeatureFlag from 'hooks/useFeatureFlag'; -import { requestBlob } from 'utils/requestBlob'; -import { saveAs } from 'file-saver'; -import { reportError } from 'utils/loggingUtils'; -import { API_PATH } from 'containers/App/constants'; +import { isNilOrError } from 'utils/helperUtils'; +import { saveTemplateFile } from './saveTemplateFile'; const PowerBITemplates = () => { const isPowerBIEnabled = useFeatureFlag({ name: 'power_bi' }); const { formatMessage } = useIntl(); - // TODO: Need to get this working - const saveFile = (filename: string, mimeType: string) => { - const file = `${API_PATH}web_api/v1/power_bi_templates/${filename}`; - try { - const blob = await requestBlob(file, mimeType as any); - saveAs(blob, filename); - } catch (error) { - reportError(error); - throw error; - } + const handleDownloadTemplate = async (fileName, mimeType) => { + if (isNilOrError(fileName)) return; + await saveTemplateFile({ fileName, mimeType }); }; const downloadReportingTemplate = () => { - console.log('downloading reporting template'); - saveFile('reporting.pbit', 'application/pbit'); + handleDownloadTemplate('reporting.pbit', 'application/pbit'); }; const downloadDataFlowTemplate = () => { - console.log('downloading reporting template'); - saveFile('dataflow.json', 'application/json'); + handleDownloadTemplate('dataflow.json', 'application/json'); }; if (!isPowerBIEnabled) return null; From 6d2a46e400726f7c1fadc960f16b8768e63ae497 Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Wed, 11 Oct 2023 11:58:11 +0100 Subject: [PATCH 08/62] [TAN-396] Working downloads --- .../PowerBITemplates/saveTemplateFile.ts | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 front/app/containers/Admin/tools/PowerBI/PowerBITemplates/saveTemplateFile.ts diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/saveTemplateFile.ts b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/saveTemplateFile.ts new file mode 100644 index 000000000000..85aef27082e8 --- /dev/null +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/saveTemplateFile.ts @@ -0,0 +1,23 @@ +// utils +import { requestBlob } from 'utils/requestBlob'; +import { saveAs } from 'file-saver'; +import { reportError } from 'utils/loggingUtils'; + +// typings +import { API_PATH } from 'containers/App/constants'; + +interface Params { + fileName: string; + mimeType: string; +} + +export async function saveTemplateFile({ fileName, mimeType }: Params) { + const file = `${API_PATH}/power_bi_templates/${fileName}`; + try { + const blob = await requestBlob(file, mimeType as any); + saveAs(blob, fileName); + } catch (error) { + reportError(error); + throw error; + } +} From ebe9121c432a1cbe00a70bf18269e926ceb632c6 Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Wed, 11 Oct 2023 15:31:19 +0100 Subject: [PATCH 09/62] [TAN-396] Reformatted and added back buttons --- .../tools/PowerBI/PowerBITemplates/index.tsx | 95 +++++++++++-------- .../PowerBI/PowerBITemplates/messages.ts | 42 ++++++++ .../tools/PublicAPI/PublicAPITokens/index.tsx | 6 ++ 3 files changed, 101 insertions(+), 42 deletions(-) diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx index 95d4c5012077..460febd6ba59 100644 --- a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx @@ -8,10 +8,13 @@ import { Title, } from '@citizenlab/cl2-component-library'; import messages from './messages'; -import { useIntl } from 'utils/cl-intl'; +import { FormattedMessage, useIntl } from 'utils/cl-intl'; import useFeatureFlag from 'hooks/useFeatureFlag'; import { isNilOrError } from 'utils/helperUtils'; import { saveTemplateFile } from './saveTemplateFile'; +import GoBackButton from '../../../../../components/UI/GoBackButton'; +import clHistory from '../../../../../utils/cl-router/history'; +import Link from '../../../../../utils/cl-router/Link'; const PowerBITemplates = () => { const isPowerBIEnabled = useFeatureFlag({ name: 'power_bi' }); @@ -34,50 +37,58 @@ const PowerBITemplates = () => { return ( <> - {formatMessage(messages.title)} - // TODO: Finish text and move to messages + + + + + + {formatMessage(messages.title)} + - Note: To use either of these Power BI, you must first{' '} - - create a set of credentials for our public API - + + {formatMessage(messages.publicApiLinkText)} + + ), + }} + /> - Report template - - - This will create set up all the data connections to your CitizenLab - platform, create the data model and some default dashboards. When you - open the template in Power BI you will be prompted to enter your - public API credentials. - - + + + {formatMessage(messages.reportTemplateTitle)} + + + + {formatMessage(messages.reportTemplateDescription)} + + + - Dataflow template - - - If you intend to use your CitizenLab data within a Power BI dataflow, - this template will allow you to set up a new dataflow that connects to - CitizenLab data. Once you have downloaded this template you must find - and replace the following strings in the template with your public API - credentials before uploading to PowerBI: -
      -
    • ##CLIENT_ID##
    • -
    • ##CLIENT_SECRET##
    • -
    -
    - + + + {formatMessage(messages.dataflowTemplateTitle)} + + + + {formatMessage(messages.dataflowTemplateDescription)} + + + ); diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts index a4739a5c6117..d5a50407d357 100644 --- a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts @@ -5,4 +5,46 @@ export default defineMessages({ id: 'app.containers.Admin.tools.powerBITemplates.title', defaultMessage: 'Power BI templates', }, + intro: { + id: 'app.containers.Admin.tools.powerBITemplates.intro', + defaultMessage: + 'Note: To use either of these Power BI templates, you must first {link}', + }, + publicApiLinkText: { + id: 'app.containers.Admin.tools.powerBITemplates.publicApiLinkText', + defaultMessage: 'create a set of credentials for our public API', + }, + reportTemplateTitle: { + id: 'app.containers.Admin.tools.powerBITemplates.reportTemplateTitle', + defaultMessage: 'Report template', + }, + reportTemplateDescription: { + id: 'app.containers.Admin.tools.powerBITemplates.reportTemplateDescription', + defaultMessage: + 'This template create a Power BI report based on your CitizenLab data. ' + + 'It will set up all the data connections to your CitizenLab ' + + 'platform, create the data model and some default dashboards. ' + + 'When you open the template in Power BI you will be prompted to enter your public API credentials.', + }, + reportTemplateDownload: { + id: 'app.containers.Admin.tools.powerBITemplates.reportTemplateDownload', + defaultMessage: 'Download reporting template', + }, + dataflowTemplateTitle: { + id: 'app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle', + defaultMessage: 'Dataflow template', + }, + dataflowTemplateDescription: { + id: 'app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription', + defaultMessage: + 'If you intend to use your CitizenLab data within a Power BI data flow, ' + + 'this template will allow you to set up a new data flow that connects to your CitizenLab data. ' + + 'Once you have downloaded this template you must first find and replace the following ' + + 'strings ##CLIENT_ID## and ##CLIENT_SECRET## in the template with your public API ' + + 'credentials before uploading to PowerBI.', + }, + dataflowTemplateDownload: { + id: 'app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload', + defaultMessage: 'Download data flow template', + }, }); diff --git a/front/app/containers/Admin/tools/PublicAPI/PublicAPITokens/index.tsx b/front/app/containers/Admin/tools/PublicAPI/PublicAPITokens/index.tsx index 772439669230..441316576286 100644 --- a/front/app/containers/Admin/tools/PublicAPI/PublicAPITokens/index.tsx +++ b/front/app/containers/Admin/tools/PublicAPI/PublicAPITokens/index.tsx @@ -20,6 +20,8 @@ import useDeleteApiClient from 'api/api_clients/useDeleteApiClient'; import CreateTokenModal from './CreateTokenModal'; import Modal from 'components/UI/Modal'; import useApiClients from 'api/api_clients/useApiClients'; +import GoBackButton from '../../../../../components/UI/GoBackButton'; +import clHistory from '../../../../../utils/cl-router/history'; const PublicAPITokens = () => { const [isModalOpen, setIsModalOpen] = useState(false); @@ -43,6 +45,10 @@ const PublicAPITokens = () => { return ( <> + + + + {formatMessage(messages.title)} From ad0490d6eb7ff756dd05a22c0e7e678a3167450a Mon Sep 17 00:00:00 2001 From: CircleCI Date: Wed, 11 Oct 2023 14:33:19 +0000 Subject: [PATCH 10/62] Translations updated by CI (extract-intl) --- front/app/translations/admin/en.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/front/app/translations/admin/en.json b/front/app/translations/admin/en.json index 0d83554597d8..3015a27883f1 100644 --- a/front/app/translations/admin/en.json +++ b/front/app/translations/admin/en.json @@ -907,6 +907,14 @@ "app.containers.Admin.tools.powerBIDescription": "Use our plug & play Power BI Templates to access Citizenlab data in your Microsoft Power BI Workspace.", "app.containers.Admin.tools.powerBIDisabled": "Power BI is a Premium-only feature. Contact your GovSuccess Manager if you want more info on this.", "app.containers.Admin.tools.powerBIDownloadTemplates": "Download templates", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDescription": "If you intend to use your CitizenLab data within a Power BI data flow, this template will allow you to set up a new data flow that connects to your CitizenLab data. Once you have downloaded this template you must first find and replace the following strings ##CLIENT_ID## and ##CLIENT_SECRET## in the template with your public API credentials before uploading to PowerBI.", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateDownload": "Download data flow template", + "app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle": "Dataflow template", + "app.containers.Admin.tools.powerBITemplates.intro": "Note: To use either of these Power BI templates, you must first {link}", + "app.containers.Admin.tools.powerBITemplates.publicApiLinkText": "create a set of credentials for our public API", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDescription": "This template create a Power BI report based on your CitizenLab data. It will set up all the data connections to your CitizenLab platform, create the data model and some default dashboards. When you open the template in Power BI you will be prompted to enter your public API credentials.", + "app.containers.Admin.tools.powerBITemplates.reportTemplateDownload": "Download reporting template", + "app.containers.Admin.tools.powerBITemplates.reportTemplateTitle": "Report template", "app.containers.Admin.tools.powerBITemplates.title": "Power BI templates", "app.containers.Admin.tools.powerBITitle": "Power BI", "app.containers.Admin.tools.publicAPIDescription": "Manage the credentials to create custom integrations on our public API.", From 4dc08fbb33f4babd624460a802c8c4b65e13db95 Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Wed, 11 Oct 2023 16:19:00 +0100 Subject: [PATCH 11/62] [TAN-396] Working template search and replace --- .../v1/power_bi_templates_controller.rb | 22 ++++++--- .../public_api/config/power_bi/dataflow.json | 2 +- .../web_api/power_bi_templates_spec.rb | 46 ++++++++++++++----- .../tools/PowerBI/PowerBITemplates/index.tsx | 14 +++--- .../PowerBI/PowerBITemplates/messages.ts | 2 +- .../PowerBITemplates/saveTemplateFile.ts | 8 ++-- 6 files changed, 64 insertions(+), 30 deletions(-) diff --git a/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb b/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb index eda44f060685..dc4fdd7d9242 100644 --- a/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb +++ b/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb @@ -2,15 +2,25 @@ module PublicApi class WebApi::V1::PowerBiTemplatesController < ApplicationController - - # Download a template - protected so only available to admins + # Download a template - only available to admins def show - dataflow_template = Rails.root.join('engines/commercial/public_api/config/power_bi/dataflow.json') - reporting_template = Rails.root.join('engines/commercial/public_api/config/power_bi/report.pbit') - authorize :'public_api/power_bi_template' - send_data open(dataflow_template).read, type: 'application/octet-stream' + if params[:id] == 'dataflow' + template = Rails.root.join('engines/commercial/public_api/config/power_bi/dataflow.json') + # Search and replace host name + file_text = open(template).read + replaced = file_text.gsub(/##BASE_URL##/, 'https://TEST.citizenlab.co/api/v2/') + + binding.pry + + send_data replaced, type: 'application/octet-stream' + elsif params[:id] == 'report' + template = Rails.root.join('engines/commercial/public_api/config/power_bi/report.pbit') + send_data open(template).read, type: 'application/octet-stream' + else + render json: { error: 'Not found' }, status: :not_found + end end end end diff --git a/back/engines/commercial/public_api/config/power_bi/dataflow.json b/back/engines/commercial/public_api/config/power_bi/dataflow.json index b1957db50e3a..859d679bc384 100644 --- a/back/engines/commercial/public_api/config/power_bi/dataflow.json +++ b/back/engines/commercial/public_api/config/power_bi/dataflow.json @@ -183,7 +183,7 @@ "queryGroupId": "5503512d-1506-4446-8b69-5e96e2452ed6" } }, - "document": "section Section1;\r\nshared BaseUrl = \"https://havant.citizenlab.co/api/v2/\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared Locale = \"en-GB\" meta [IsParameterQuery=true, List={\"en-GB\"}, DefaultValue=\"en-GB\", Type=\"Text\", IsParameterQueryRequired=true];\r\nshared ClientID = \"##CLIENT_ID##\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared ClientSecret = \"##CLIENT_SECRET##\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared LimitPerPage = let\n Source = \"100\"\nin\n Source;\r\nshared comments = let\n Source = ApiGET(\"comments\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"body\", \"author_id\", \"post_id\", \"parent_id\", \"created_at\", \"updated_at\", \"body_updated_at\", \"likes_count\", \"dislikes_count\", \"children_count\", \"publication_status\", \"post_type\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"post_id\", type text}, {\"parent_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"body_updated_at\", type datetime}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"children_count\", Int64.Type}, {\"publication_status\", type text}, {\"post_type\", type text}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}}),\n #\"Renamed Columns\" = Table.RenameColumns(#\"Changed Type1\",{{\"post_id\", \"idea_id\"}})\nin\n #\"Renamed Columns\";\r\nshared ideas = let\r\n Source = ApiGET(\"ideas\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"project_id\", \"project_title\", \"created_at\", \"updated_at\", \"location_point\", \"location_description\", \"slug\", \"budget\", \"baskets_count\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"proposed_budget\", \"creation_phase_id\", \"images\", \"href\", \"status\", \"custom_field_values\", \"type\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"published_at\", type datetime}, {\"publication_status\", type text}, {\"project_id\", type text}, {\"project_title\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"location_point\", type text}, {\"location_description\", type text}, {\"slug\", type text}, {\"budget\", Int64.Type}, {\"baskets_count\", Int64.Type}, {\"official_feedbacks_count\", Int64.Type}, {\"assignee_id\", type text}, {\"assigned_at\", type datetime}, {\"proposed_budget\", Int64.Type}, {\"creation_phase_id\", type any}, {\"images\", type any}, {\"href\", type text}, {\"status\", type text}, {\"custom_field_values\", type any}, {\"data_refreshed_at\", type datetime}, {\"type\", type text}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"votes_count\", type text}, {\"creation_phase_id\", type text}, {\"images\", type text}, {\"custom_field_values\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"votes_count\", null}, {\"creation_phase_id\", null}, {\"images\", null}, {\"custom_field_values\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared reactions = let\n Source = ApiGET(\"reactions\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"mode\", \"user_id\", \"reactable_id\", \"created_at\", \"updated_at\", \"reactable_type\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"mode\", type text}, {\"user_id\", type text}, {\"reactable_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"reactable_type\", type text}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared projects = let\r\n Source = ApiGET(\"projects\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description_html\", \"description_preview\", \"process_type\", \"participation_method\", \"slug\", \"folder_id\", \"href\", \"visible_to\", \"images\", \"created_at\", \"updated_at\", \"ideas_count\", \"comments_count\", \"map_center_geojson\", \"posting_enabled\", \"commenting_enabled\", \"reacting_enabled\", \"reacting_like_method\", \"reacting_like_limited_max\", \"reacting_dislike_enabled\", \"reacting_dislike_method\", \"reacting_dislike_limited_max\", \"voting_max_total\", \"voting_min_total\", \"publication_status\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description_html\", type text}, {\"description_preview\", type text}, {\"process_type\", type text}, {\"participation_method\", type text}, {\"slug\", type text}, {\"folder_id\", type text}, {\"href\", type text}, {\"visible_to\", type text}, {\"images\", type any}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"ideas_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"map_center_geojson\", type any}, {\"posting_enabled\", type logical}, {\"commenting_enabled\", type logical}, {\"reacting_enabled\", type logical}, {\"reacting_like_method\", type text}, {\"reacting_like_limited_max\", Int64.Type}, {\"reacting_dislike_enabled\", type logical}, {\"reacting_dislike_method\", type text}, {\"reacting_dislike_limited_max\", Int64.Type}, {\"voting_max_total\", Int64.Type}, {\"voting_min_total\", Int64.Type}, {\"publication_status\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"images\", type text}, {\"baskets_count\", type text}, {\"votes_count\", type text}, {\"map_center_geojson\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"images\", null}, {\"baskets_count\", null}, {\"votes_count\", null}, {\"map_center_geojson\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared phases = let\r\n Source = ApiGET(\"phases\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"participation_method\", \"project_id\", \"project_title\", \"start_at\", \"end_at\", \"created_at\", \"updated_at\", \"ideas_count\", \"posting_enabled\", \"commenting_enabled\", \"reacting_enabled\", \"reacting_like_method\", \"reacting_like_limited_max\", \"reacting_dislike_enabled\", \"reacting_dislike_method\", \"reacting_dislike_limited_max\", \"voting_max_total\", \"voting_min_total\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"participation_method\", type text}, {\"project_id\", type text}, {\"project_title\", type text}, {\"start_at\", type date}, {\"end_at\", type date}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"ideas_count\", Int64.Type}, {\"posting_enabled\", type logical}, {\"commenting_enabled\", type logical}, {\"reacting_enabled\", type logical}, {\"reacting_like_method\", type text}, {\"reacting_like_limited_max\", Int64.Type}, {\"reacting_dislike_enabled\", type logical}, {\"reacting_dislike_method\", type text}, {\"reacting_dislike_limited_max\", Int64.Type}, {\"voting_max_total\", Int64.Type}, {\"voting_min_total\", Int64.Type}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type\", {{\"baskets_count\", type text}, {\"votes_count\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"baskets_count\", null}, {\"votes_count\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared project_folders = let\r\n Source = ApiGET(\"project_folders\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"slug\", \"created_at\", \"updated_at\", \"publication_status\", \"title_multiloc\", \"title\", \"description_multiloc\", \"description\", \"description_preview_multiloc\", \"description_preview\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"slug\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"publication_status\", type text}, {\"title_multiloc\", type any}, {\"title\", type text}, {\"description_multiloc\", type any}, {\"description\", type text}, {\"description_preview_multiloc\", type any}, {\"description_preview\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}, {\"description_preview_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}, {\"description_preview_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared topics = let\n Source = ApiGET(\"topics\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared users = let\r\n Source = ApiGET(\"users\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email\", \"slug\", \"roles\", \"created_at\", \"updated_at\", \"first_name\", \"last_name\", \"locale\", \"bio\", \"registration_completed_at\", \"verified\", \"email_confirmed_at\", \"email_confirmation_code_sent_at\", \"confirmation_required\", \"custom_field_values\", \"status\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"email\", type text}, {\"slug\", type text}, {\"roles\", type any}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"first_name\", type text}, {\"last_name\", type text}, {\"locale\", type text}, {\"bio\", type any}, {\"registration_completed_at\", type datetime}, {\"verified\", type logical}, {\"email_confirmed_at\", type datetime}, {\"email_confirmation_code_sent_at\", type datetime}, {\"confirmation_required\", type logical}, {\"custom_field_values\", type any}, {\"status\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"registration_completed_at\", \"registration_completed_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"registration_completed_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"roles\", type text}, {\"bio\", type text}, {\"custom_field_values\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"roles\", null}, {\"bio\", null}, {\"custom_field_values\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared initiatives = let\r\n Source = ApiGET(\"initiatives\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"created_at\", \"updated_at\", \"threshold_reached_at\", \"location_point\", \"location_description\", \"slug\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"href\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"published_at\", type datetime}, {\"publication_status\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"location_point\", type text}, {\"location_description\", type text}, {\"slug\", type text}, {\"official_feedbacks_count\", Int64.Type}, {\"assignee_id\", type text}, {\"assigned_at\", type datetime}, {\"href\", type text}, {\"data_refreshed_at\", type datetime}, {\"threshold_reached_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"body_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"body_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared project_topics = let\n Source = ApiGET(\"project_topics\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"project_id\", \"topic_id\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"project_id\", type text}, {\"topic_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared idea_topics = let\r\n Source = ApiGET(\"idea_topics\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"idea_id\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"idea_id\", type text}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type\", {{\"topic_id\", type text}, {\"data_refreshed_at\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"topic_id\", null}, {\"data_refreshed_at\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared users_custom_fields = let\r\n Source = ApiGET(\"users\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email\", \"slug\", \"roles\", \"created_at\", \"updated_at\", \"first_name\", \"last_name\", \"locale\", \"bio\", \"registration_completed_at\", \"verified\", \"email_confirmed_at\", \"email_confirmation_code_sent_at\", \"confirmation_required\", \"custom_field_values\", \"status\", \"data_refreshed_at\"}, {}),\r\n SelectedColumns = Table.SelectColumns(ExpandColumn, {\"id\", \"custom_field_values\"}),\r\n RemoveNullRecords = Table.SelectRows(SelectedColumns, each Record.FieldNames([custom_field_values]) <> {}),\r\n AddFieldsColumn = Table.AddColumn(RemoveNullRecords, \"fields\", each Record.FieldNames([custom_field_values])),\r\n FieldNames = Table.Distinct(Table.ExpandListColumn(AddFieldsColumn, \"fields\"), {\"fields\"})[fields],\r\n ExpandedFields = Table.ExpandRecordColumn(RemoveNullRecords, \"custom_field_values\", FieldNames, FieldNames),\r\n #\"Transform columns\" = Table.TransformColumnTypes(ExpandedFields, {{\"id\", type text}, {\"gender\", type text}, {\"domicile\", type text}, {\"birthyear\", type text}, {\"geboorteplaats\", type text}, {\"fjeriphjtr\", type text}, {\"municipality_code\", type text}, {\"race\", type text}, {\"education\", type text}, {\"do_you_want_car_free_sundays\", type text}, {\"leeftijd\", type text}, {\"i_agree_that_citizenlab_can_use_my_phone_number_to_send_text_messages\", type text}, {\"supportersclub\", type text}, {\"first_time_heard\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"id\", null}, {\"gender\", null}, {\"domicile\", null}, {\"birthyear\", null}, {\"geboorteplaats\", null}, {\"fjeriphjtr\", null}, {\"municipality_code\", null}, {\"race\", null}, {\"education\", null}, {\"do_you_want_car_free_sundays\", null}, {\"leeftijd\", null}, {\"i_agree_that_citizenlab_can_use_my_phone_number_to_send_text_messages\", null}, {\"supportersclub\", null}, {\"first_time_heard\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared ideas_custom_fields = let\r\n Source = ApiGET(\"ideas\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"project_id\", \"project_title\", \"created_at\", \"updated_at\", \"location_point\", \"location_description\", \"slug\", \"budget\", \"baskets_count\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"proposed_budget\", \"creation_phase_id\", \"images\", \"href\", \"status\", \"custom_field_values\", \"data_refreshed_at\"}, {}),\r\n SelectedColumns = Table.SelectColumns(ExpandColumn, {\"id\", \"custom_field_values\"}),\r\n RemoveNullRecords = Table.SelectRows(SelectedColumns, each Record.FieldNames([custom_field_values]) <> {}),\r\n Fields = Table.AddColumn(RemoveNullRecords, \"fields\", each Record.FieldNames([custom_field_values])),\r\n FieldNames = Table.Distinct(Table.ExpandListColumn(Fields, \"fields\"), {\"fields\"})[fields],\r\n ExpandedFields = Table.ExpandRecordColumn(RemoveNullRecords, \"custom_field_values\", FieldNames, FieldNames),\r\n #\"Transform columns\" = Table.TransformColumnTypes(ExpandedFields, {{\"id\", type text}, {\"question\", type text}, {\"single_choice\", type text}, {\"your_question\", type text}, {\"sdsafsd\", type text}, {\"what_s_your_favorite_sport\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"id\", null}, {\"question\", null}, {\"single_choice\", null}, {\"your_question\", null}, {\"sdsafsd\", null}, {\"what_s_your_favorite_sport\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared idea_phases = let\n Source = ApiGET(\"idea_phases\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"idea_id\", \"phase_id\", \"baskets_count\", \"votes_count\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"idea_id\", type text}, {\"phase_id\", type text}, {\"baskets_count\", Int64.Type}, {\"votes_count\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared baskets = let\n Source = ApiGET(\"baskets\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"user_id\", \"project_id\", \"phase_id\", \"submitted_at\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"user_id\", type text}, {\"project_id\", type text}, {\"phase_id\", type text}, {\"submitted_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared basket_ideas = let\n Source = ApiGET(\"basket_ideas\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"basket_id\", \"idea_id\", \"votes\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"basket_id\", type text}, {\"idea_id\", type text}, {\"votes\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared email_campaigns = let\r\n Source = ApiGET(\"email_campaigns\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"sender\", \"reply_to\", \"subject\", \"body\", \"created_at\", \"updated_at\", \"deliveries_count\", \"subject_multiloc\", \"body_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"sender\", type text}, {\"reply_to\", type text}, {\"subject\", type text}, {\"body\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"deliveries_count\", Int64.Type}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"subject_multiloc\", type text}, {\"body_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"subject_multiloc\", null}, {\"body_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared email_campaign_deliveries = let\n Source = ApiGET(\"email_campaign_deliveries\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email_campaign_id\", \"user_id\", \"delivery_status\", \"sent_at\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"email_campaign_id\", type text}, {\"user_id\", type text}, {\"delivery_status\", type text}, {\"sent_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared events = let\r\n Source = ApiGET(\"events\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"project_id\", \"title\", \"description\", \"location\", \"location_point\", \"attendees_count\", \"start_at\", \"end_at\", \"created_at\", \"updated_at\", \"title_multiloc\", \"description_multiloc\", \"location_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"project_id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"location\", type text}, {\"location_point\", type text}, {\"attendees_count\", Int64.Type}, {\"start_at\", type datetime}, {\"end_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}, {\"location_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}, {\"location_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared event_attendances = let\r\n Source = ApiGET(\"event_attendances\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"event_id\", \"attendee_id\", \"created_at\", \"updated_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"event_id\", type text}, {\"attendee_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"data_refreshed_at\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"data_refreshed_at\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared volunteering_causes = let\r\n Source = ApiGET(\"volunteering_causes\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"project_id\", \"phase_id\", \"volunteers_count\", \"created_at\", \"updated_at\", \"title_multiloc\", \"description_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"project_id\", type text}, {\"phase_id\", type text}, {\"volunteers_count\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared volunteering_volunteers = let\r\n Source = ApiGET(\"volunteering_volunteers\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"volunteering_cause_id\", \"user_id\", \"created_at\", \"updated_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"volunteering_cause_id\", type text}, {\"user_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"data_refreshed_at\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"data_refreshed_at\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared ApiAccessToken = let\n Source = () => let \n AccessTokenCall = Web.Contents(BaseUrl, \n [\n RelativePath= \"authenticate\", \n Headers = [#\"Content-Type\"= \"application/json\", #\"Accept\"= \"application/json\"], \n Content = Text.ToBinary(\"{\n \"\"auth\"\": {\n \"\"client_id\"\": \"\"\" & ClientID & \"\"\",\n \"\"client_secret\"\": \"\"\" & ClientSecret & \"\"\"\n }\n }\"\n )\n ]\n )\n in\n AccessTokenCall\nin\n Source;\r\nshared ApiGET = let\n Source = (RelativeUrl as text) =>\n let\n // These variables configured based on the API structure. Query folding options used in functions might also change with API version\n //Global Variables\n BaseUrl = #\"BaseUrl\", \n LimitPerPage = #\"LimitPerPage\", // number of max items returned in one API call\n Locale = #\"Locale\", // number of max items returned in one API call\n AccessTokenCall = ApiAccessToken(), \n FirstCall = Web.Contents(\n BaseUrl, \n [\n RelativePath = RelativeUrl & \"?locale=\" & Locale & \"&page_size=\" & LimitPerPage, \n ManualStatusHandling = {200, 400, 401, 403, 404, 429, 500, 503}, \n Headers = [\n #\"Content-Type\" = \"application/json\", \n Authorization = \"Bearer \" & Json.Document(AccessTokenCall, 65001)[jwt]\n ]\n ]\n ), \n FirstCallMetaData = Value.Metadata(FirstCall), \n PageCount = \n if FirstCallMetaData[Response.Status] = 200 then\n Json.Document(FirstCall)[#\"meta\"][#\"total_pages\"]\n else\n null, // # Pages in total\n GetData = (Page) =>\n let\n PageOffset = Number.ToText(Page), \n NextCall = Web.Contents(\n BaseUrl, \n [\n RelativePath = RelativeUrl\n & \"?locale=\"\n & Locale\n & \"&page_size=\"\n & LimitPerPage\n & \"&page_number=\"\n & PageOffset, \n ManualStatusHandling = {200, 400, 401, 403, 404, 429, 500, 503}, \n Headers = [\n #\"Content-Type\" = \"application/json\", \n Authorization = \"Bearer \" & Json.Document(AccessTokenCall, 65001)[jwt]\n ]\n ]\n ), \n MetaData = Value.Metadata(NextCall), \n Delay = DelayFn(0.1), \n Response = \n if MetaData[Response.Status] = 200 then // check the call status if ok\n (\n let\n Json = Json.Document(NextCall), \n Value = Table.AddColumn(\n Table.FromList(\n Record.ToTable(Json){0}[Value], \n Splitter.SplitByNothing(), \n null, \n null, \n ExtraValues.Error\n ), \n \"Data\", \n each Record.AddField([Column1], \"data_refreshed_at\", Delay)\n )[Data]\n in\n Value\n )\n else\n null\n in\n Response, \n PageIndices = {1 .. PageCount}, \n Pages = List.Transform(PageIndices, each GetData(_)), \n ToTable = Table.FromList(Pages, Splitter.SplitByNothing(), null, null, ExtraValues.Error)\n in \n ToTable\nin\n Source;\r\nshared DelayFn = let\n Source = (secondsInput as number) => let\n //Find current time\n One = DateTime.LocalNow(),\n //Define Wait function\n Wait = (seconds as number, action as function) => \n if (List.Count(\n List.Generate(\n () => DateTimeZone.LocalNow() + #duration(0,0,0,seconds), \n (x) => DateTimeZone.LocalNow() < x, \n (x) => x)\n ) = 0) \n then null else action(),\n //Call Wait function to wait 5 seconds\n //then return the current time again\n Two = Wait(secondsInput,DateTime.LocalNow),\n //Display start time, finish time, and duration\n //Output = \"Start Time: \" & DateTime.ToText(One) & \n // \" Finish Time:\" & DateTime.ToText(Two) & \n // \" Difference: \" & Duration.ToText(Two-One)\n Output = DateTime.ToText(Two)\n in\n Output\nin\n Source;\r\n", + "document": "section Section1;\r\nshared BaseUrl = \"##BASE_URL##\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared Locale = \"en-GB\" meta [IsParameterQuery=true, List={\"en-GB\"}, DefaultValue=\"en-GB\", Type=\"Text\", IsParameterQueryRequired=true];\r\nshared ClientID = \"##CLIENT_ID##\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared ClientSecret = \"##CLIENT_SECRET##\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared LimitPerPage = let\n Source = \"100\"\nin\n Source;\r\nshared comments = let\n Source = ApiGET(\"comments\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"body\", \"author_id\", \"post_id\", \"parent_id\", \"created_at\", \"updated_at\", \"body_updated_at\", \"likes_count\", \"dislikes_count\", \"children_count\", \"publication_status\", \"post_type\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"post_id\", type text}, {\"parent_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"body_updated_at\", type datetime}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"children_count\", Int64.Type}, {\"publication_status\", type text}, {\"post_type\", type text}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}}),\n #\"Renamed Columns\" = Table.RenameColumns(#\"Changed Type1\",{{\"post_id\", \"idea_id\"}})\nin\n #\"Renamed Columns\";\r\nshared ideas = let\r\n Source = ApiGET(\"ideas\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"project_id\", \"project_title\", \"created_at\", \"updated_at\", \"location_point\", \"location_description\", \"slug\", \"budget\", \"baskets_count\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"proposed_budget\", \"creation_phase_id\", \"images\", \"href\", \"status\", \"custom_field_values\", \"type\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"published_at\", type datetime}, {\"publication_status\", type text}, {\"project_id\", type text}, {\"project_title\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"location_point\", type text}, {\"location_description\", type text}, {\"slug\", type text}, {\"budget\", Int64.Type}, {\"baskets_count\", Int64.Type}, {\"official_feedbacks_count\", Int64.Type}, {\"assignee_id\", type text}, {\"assigned_at\", type datetime}, {\"proposed_budget\", Int64.Type}, {\"creation_phase_id\", type any}, {\"images\", type any}, {\"href\", type text}, {\"status\", type text}, {\"custom_field_values\", type any}, {\"data_refreshed_at\", type datetime}, {\"type\", type text}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"votes_count\", type text}, {\"creation_phase_id\", type text}, {\"images\", type text}, {\"custom_field_values\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"votes_count\", null}, {\"creation_phase_id\", null}, {\"images\", null}, {\"custom_field_values\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared reactions = let\n Source = ApiGET(\"reactions\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"mode\", \"user_id\", \"reactable_id\", \"created_at\", \"updated_at\", \"reactable_type\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"mode\", type text}, {\"user_id\", type text}, {\"reactable_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"reactable_type\", type text}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared projects = let\r\n Source = ApiGET(\"projects\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description_html\", \"description_preview\", \"process_type\", \"participation_method\", \"slug\", \"folder_id\", \"href\", \"visible_to\", \"images\", \"created_at\", \"updated_at\", \"ideas_count\", \"comments_count\", \"map_center_geojson\", \"posting_enabled\", \"commenting_enabled\", \"reacting_enabled\", \"reacting_like_method\", \"reacting_like_limited_max\", \"reacting_dislike_enabled\", \"reacting_dislike_method\", \"reacting_dislike_limited_max\", \"voting_max_total\", \"voting_min_total\", \"publication_status\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description_html\", type text}, {\"description_preview\", type text}, {\"process_type\", type text}, {\"participation_method\", type text}, {\"slug\", type text}, {\"folder_id\", type text}, {\"href\", type text}, {\"visible_to\", type text}, {\"images\", type any}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"ideas_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"map_center_geojson\", type any}, {\"posting_enabled\", type logical}, {\"commenting_enabled\", type logical}, {\"reacting_enabled\", type logical}, {\"reacting_like_method\", type text}, {\"reacting_like_limited_max\", Int64.Type}, {\"reacting_dislike_enabled\", type logical}, {\"reacting_dislike_method\", type text}, {\"reacting_dislike_limited_max\", Int64.Type}, {\"voting_max_total\", Int64.Type}, {\"voting_min_total\", Int64.Type}, {\"publication_status\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"images\", type text}, {\"baskets_count\", type text}, {\"votes_count\", type text}, {\"map_center_geojson\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"images\", null}, {\"baskets_count\", null}, {\"votes_count\", null}, {\"map_center_geojson\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared phases = let\r\n Source = ApiGET(\"phases\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"participation_method\", \"project_id\", \"project_title\", \"start_at\", \"end_at\", \"created_at\", \"updated_at\", \"ideas_count\", \"posting_enabled\", \"commenting_enabled\", \"reacting_enabled\", \"reacting_like_method\", \"reacting_like_limited_max\", \"reacting_dislike_enabled\", \"reacting_dislike_method\", \"reacting_dislike_limited_max\", \"voting_max_total\", \"voting_min_total\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"participation_method\", type text}, {\"project_id\", type text}, {\"project_title\", type text}, {\"start_at\", type date}, {\"end_at\", type date}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"ideas_count\", Int64.Type}, {\"posting_enabled\", type logical}, {\"commenting_enabled\", type logical}, {\"reacting_enabled\", type logical}, {\"reacting_like_method\", type text}, {\"reacting_like_limited_max\", Int64.Type}, {\"reacting_dislike_enabled\", type logical}, {\"reacting_dislike_method\", type text}, {\"reacting_dislike_limited_max\", Int64.Type}, {\"voting_max_total\", Int64.Type}, {\"voting_min_total\", Int64.Type}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type\", {{\"baskets_count\", type text}, {\"votes_count\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"baskets_count\", null}, {\"votes_count\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared project_folders = let\r\n Source = ApiGET(\"project_folders\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"slug\", \"created_at\", \"updated_at\", \"publication_status\", \"title_multiloc\", \"title\", \"description_multiloc\", \"description\", \"description_preview_multiloc\", \"description_preview\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"slug\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"publication_status\", type text}, {\"title_multiloc\", type any}, {\"title\", type text}, {\"description_multiloc\", type any}, {\"description\", type text}, {\"description_preview_multiloc\", type any}, {\"description_preview\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}, {\"description_preview_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}, {\"description_preview_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared topics = let\n Source = ApiGET(\"topics\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared users = let\r\n Source = ApiGET(\"users\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email\", \"slug\", \"roles\", \"created_at\", \"updated_at\", \"first_name\", \"last_name\", \"locale\", \"bio\", \"registration_completed_at\", \"verified\", \"email_confirmed_at\", \"email_confirmation_code_sent_at\", \"confirmation_required\", \"custom_field_values\", \"status\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"email\", type text}, {\"slug\", type text}, {\"roles\", type any}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"first_name\", type text}, {\"last_name\", type text}, {\"locale\", type text}, {\"bio\", type any}, {\"registration_completed_at\", type datetime}, {\"verified\", type logical}, {\"email_confirmed_at\", type datetime}, {\"email_confirmation_code_sent_at\", type datetime}, {\"confirmation_required\", type logical}, {\"custom_field_values\", type any}, {\"status\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"registration_completed_at\", \"registration_completed_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"registration_completed_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"roles\", type text}, {\"bio\", type text}, {\"custom_field_values\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"roles\", null}, {\"bio\", null}, {\"custom_field_values\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared initiatives = let\r\n Source = ApiGET(\"initiatives\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"created_at\", \"updated_at\", \"threshold_reached_at\", \"location_point\", \"location_description\", \"slug\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"href\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"published_at\", type datetime}, {\"publication_status\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"location_point\", type text}, {\"location_description\", type text}, {\"slug\", type text}, {\"official_feedbacks_count\", Int64.Type}, {\"assignee_id\", type text}, {\"assigned_at\", type datetime}, {\"href\", type text}, {\"data_refreshed_at\", type datetime}, {\"threshold_reached_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"body_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"body_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared project_topics = let\n Source = ApiGET(\"project_topics\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"project_id\", \"topic_id\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"project_id\", type text}, {\"topic_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared idea_topics = let\r\n Source = ApiGET(\"idea_topics\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"idea_id\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"idea_id\", type text}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type\", {{\"topic_id\", type text}, {\"data_refreshed_at\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"topic_id\", null}, {\"data_refreshed_at\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared users_custom_fields = let\r\n Source = ApiGET(\"users\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email\", \"slug\", \"roles\", \"created_at\", \"updated_at\", \"first_name\", \"last_name\", \"locale\", \"bio\", \"registration_completed_at\", \"verified\", \"email_confirmed_at\", \"email_confirmation_code_sent_at\", \"confirmation_required\", \"custom_field_values\", \"status\", \"data_refreshed_at\"}, {}),\r\n SelectedColumns = Table.SelectColumns(ExpandColumn, {\"id\", \"custom_field_values\"}),\r\n RemoveNullRecords = Table.SelectRows(SelectedColumns, each Record.FieldNames([custom_field_values]) <> {}),\r\n AddFieldsColumn = Table.AddColumn(RemoveNullRecords, \"fields\", each Record.FieldNames([custom_field_values])),\r\n FieldNames = Table.Distinct(Table.ExpandListColumn(AddFieldsColumn, \"fields\"), {\"fields\"})[fields],\r\n ExpandedFields = Table.ExpandRecordColumn(RemoveNullRecords, \"custom_field_values\", FieldNames, FieldNames),\r\n #\"Transform columns\" = Table.TransformColumnTypes(ExpandedFields, {{\"id\", type text}, {\"gender\", type text}, {\"domicile\", type text}, {\"birthyear\", type text}, {\"geboorteplaats\", type text}, {\"fjeriphjtr\", type text}, {\"municipality_code\", type text}, {\"race\", type text}, {\"education\", type text}, {\"do_you_want_car_free_sundays\", type text}, {\"leeftijd\", type text}, {\"i_agree_that_citizenlab_can_use_my_phone_number_to_send_text_messages\", type text}, {\"supportersclub\", type text}, {\"first_time_heard\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"id\", null}, {\"gender\", null}, {\"domicile\", null}, {\"birthyear\", null}, {\"geboorteplaats\", null}, {\"fjeriphjtr\", null}, {\"municipality_code\", null}, {\"race\", null}, {\"education\", null}, {\"do_you_want_car_free_sundays\", null}, {\"leeftijd\", null}, {\"i_agree_that_citizenlab_can_use_my_phone_number_to_send_text_messages\", null}, {\"supportersclub\", null}, {\"first_time_heard\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared ideas_custom_fields = let\r\n Source = ApiGET(\"ideas\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"project_id\", \"project_title\", \"created_at\", \"updated_at\", \"location_point\", \"location_description\", \"slug\", \"budget\", \"baskets_count\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"proposed_budget\", \"creation_phase_id\", \"images\", \"href\", \"status\", \"custom_field_values\", \"data_refreshed_at\"}, {}),\r\n SelectedColumns = Table.SelectColumns(ExpandColumn, {\"id\", \"custom_field_values\"}),\r\n RemoveNullRecords = Table.SelectRows(SelectedColumns, each Record.FieldNames([custom_field_values]) <> {}),\r\n Fields = Table.AddColumn(RemoveNullRecords, \"fields\", each Record.FieldNames([custom_field_values])),\r\n FieldNames = Table.Distinct(Table.ExpandListColumn(Fields, \"fields\"), {\"fields\"})[fields],\r\n ExpandedFields = Table.ExpandRecordColumn(RemoveNullRecords, \"custom_field_values\", FieldNames, FieldNames),\r\n #\"Transform columns\" = Table.TransformColumnTypes(ExpandedFields, {{\"id\", type text}, {\"question\", type text}, {\"single_choice\", type text}, {\"your_question\", type text}, {\"sdsafsd\", type text}, {\"what_s_your_favorite_sport\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"id\", null}, {\"question\", null}, {\"single_choice\", null}, {\"your_question\", null}, {\"sdsafsd\", null}, {\"what_s_your_favorite_sport\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared idea_phases = let\n Source = ApiGET(\"idea_phases\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"idea_id\", \"phase_id\", \"baskets_count\", \"votes_count\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"idea_id\", type text}, {\"phase_id\", type text}, {\"baskets_count\", Int64.Type}, {\"votes_count\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared baskets = let\n Source = ApiGET(\"baskets\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"user_id\", \"project_id\", \"phase_id\", \"submitted_at\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"user_id\", type text}, {\"project_id\", type text}, {\"phase_id\", type text}, {\"submitted_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared basket_ideas = let\n Source = ApiGET(\"basket_ideas\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"basket_id\", \"idea_id\", \"votes\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"basket_id\", type text}, {\"idea_id\", type text}, {\"votes\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared email_campaigns = let\r\n Source = ApiGET(\"email_campaigns\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"sender\", \"reply_to\", \"subject\", \"body\", \"created_at\", \"updated_at\", \"deliveries_count\", \"subject_multiloc\", \"body_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"sender\", type text}, {\"reply_to\", type text}, {\"subject\", type text}, {\"body\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"deliveries_count\", Int64.Type}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"subject_multiloc\", type text}, {\"body_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"subject_multiloc\", null}, {\"body_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared email_campaign_deliveries = let\n Source = ApiGET(\"email_campaign_deliveries\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email_campaign_id\", \"user_id\", \"delivery_status\", \"sent_at\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"email_campaign_id\", type text}, {\"user_id\", type text}, {\"delivery_status\", type text}, {\"sent_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared events = let\r\n Source = ApiGET(\"events\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"project_id\", \"title\", \"description\", \"location\", \"location_point\", \"attendees_count\", \"start_at\", \"end_at\", \"created_at\", \"updated_at\", \"title_multiloc\", \"description_multiloc\", \"location_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"project_id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"location\", type text}, {\"location_point\", type text}, {\"attendees_count\", Int64.Type}, {\"start_at\", type datetime}, {\"end_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}, {\"location_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}, {\"location_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared event_attendances = let\r\n Source = ApiGET(\"event_attendances\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"event_id\", \"attendee_id\", \"created_at\", \"updated_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"event_id\", type text}, {\"attendee_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"data_refreshed_at\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"data_refreshed_at\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared volunteering_causes = let\r\n Source = ApiGET(\"volunteering_causes\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"project_id\", \"phase_id\", \"volunteers_count\", \"created_at\", \"updated_at\", \"title_multiloc\", \"description_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"project_id\", type text}, {\"phase_id\", type text}, {\"volunteers_count\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared volunteering_volunteers = let\r\n Source = ApiGET(\"volunteering_volunteers\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"volunteering_cause_id\", \"user_id\", \"created_at\", \"updated_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"volunteering_cause_id\", type text}, {\"user_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"data_refreshed_at\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"data_refreshed_at\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared ApiAccessToken = let\n Source = () => let \n AccessTokenCall = Web.Contents(BaseUrl, \n [\n RelativePath= \"authenticate\", \n Headers = [#\"Content-Type\"= \"application/json\", #\"Accept\"= \"application/json\"], \n Content = Text.ToBinary(\"{\n \"\"auth\"\": {\n \"\"client_id\"\": \"\"\" & ClientID & \"\"\",\n \"\"client_secret\"\": \"\"\" & ClientSecret & \"\"\"\n }\n }\"\n )\n ]\n )\n in\n AccessTokenCall\nin\n Source;\r\nshared ApiGET = let\n Source = (RelativeUrl as text) =>\n let\n // These variables configured based on the API structure. Query folding options used in functions might also change with API version\n //Global Variables\n BaseUrl = #\"BaseUrl\", \n LimitPerPage = #\"LimitPerPage\", // number of max items returned in one API call\n Locale = #\"Locale\", // number of max items returned in one API call\n AccessTokenCall = ApiAccessToken(), \n FirstCall = Web.Contents(\n BaseUrl, \n [\n RelativePath = RelativeUrl & \"?locale=\" & Locale & \"&page_size=\" & LimitPerPage, \n ManualStatusHandling = {200, 400, 401, 403, 404, 429, 500, 503}, \n Headers = [\n #\"Content-Type\" = \"application/json\", \n Authorization = \"Bearer \" & Json.Document(AccessTokenCall, 65001)[jwt]\n ]\n ]\n ), \n FirstCallMetaData = Value.Metadata(FirstCall), \n PageCount = \n if FirstCallMetaData[Response.Status] = 200 then\n Json.Document(FirstCall)[#\"meta\"][#\"total_pages\"]\n else\n null, // # Pages in total\n GetData = (Page) =>\n let\n PageOffset = Number.ToText(Page), \n NextCall = Web.Contents(\n BaseUrl, \n [\n RelativePath = RelativeUrl\n & \"?locale=\"\n & Locale\n & \"&page_size=\"\n & LimitPerPage\n & \"&page_number=\"\n & PageOffset, \n ManualStatusHandling = {200, 400, 401, 403, 404, 429, 500, 503}, \n Headers = [\n #\"Content-Type\" = \"application/json\", \n Authorization = \"Bearer \" & Json.Document(AccessTokenCall, 65001)[jwt]\n ]\n ]\n ), \n MetaData = Value.Metadata(NextCall), \n Delay = DelayFn(0.1), \n Response = \n if MetaData[Response.Status] = 200 then // check the call status if ok\n (\n let\n Json = Json.Document(NextCall), \n Value = Table.AddColumn(\n Table.FromList(\n Record.ToTable(Json){0}[Value], \n Splitter.SplitByNothing(), \n null, \n null, \n ExtraValues.Error\n ), \n \"Data\", \n each Record.AddField([Column1], \"data_refreshed_at\", Delay)\n )[Data]\n in\n Value\n )\n else\n null\n in\n Response, \n PageIndices = {1 .. PageCount}, \n Pages = List.Transform(PageIndices, each GetData(_)), \n ToTable = Table.FromList(Pages, Splitter.SplitByNothing(), null, null, ExtraValues.Error)\n in \n ToTable\nin\n Source;\r\nshared DelayFn = let\n Source = (secondsInput as number) => let\n //Find current time\n One = DateTime.LocalNow(),\n //Define Wait function\n Wait = (seconds as number, action as function) => \n if (List.Count(\n List.Generate(\n () => DateTimeZone.LocalNow() + #duration(0,0,0,seconds), \n (x) => DateTimeZone.LocalNow() < x, \n (x) => x)\n ) = 0) \n then null else action(),\n //Call Wait function to wait 5 seconds\n //then return the current time again\n Two = Wait(secondsInput,DateTime.LocalNow),\n //Display start time, finish time, and duration\n //Output = \"Start Time: \" & DateTime.ToText(One) & \n // \" Finish Time:\" & DateTime.ToText(Two) & \n // \" Difference: \" & Duration.ToText(Two-One)\n Output = DateTime.ToText(Two)\n in\n Output\nin\n Source;\r\n", "connectionOverrides": [ { "path": "https://demo.stg.citizenlab.co/api/v2", diff --git a/back/engines/commercial/public_api/spec/acceptance/web_api/power_bi_templates_spec.rb b/back/engines/commercial/public_api/spec/acceptance/web_api/power_bi_templates_spec.rb index 8fef87618664..fd953e3f8bd6 100644 --- a/back/engines/commercial/public_api/spec/acceptance/web_api/power_bi_templates_spec.rb +++ b/back/engines/commercial/public_api/spec/acceptance/web_api/power_bi_templates_spec.rb @@ -9,27 +9,49 @@ before { header 'Content-Type', 'application/json' } get 'web_api/v1/power_bi_templates/:id' do - let(:id) { 'dataflow' } - context 'as an admin' do before { admin_header_token } - example_request 'Dataflow template' do - assert_status 200 + context 'dataflow' do + let(:id) { 'dataflow' } + + example_request 'Dataflow template' do + assert_status 200 + end + end + + context 'report' do + let(:id) { 'report' } + + example_request 'Reporting template' do + assert_status 200 + end end - end - context 'as a normal user' do - before { header_token_for create(:user) } + context 'anything else' do + let(:id) { 'anything' } - example_request 'Unauthorised dataflow template' do - assert_status 401 + example_request 'Not found' do + assert_status 404 + end end end - context 'as a public user' do - example_request 'Unauthorised dataflow template' do - assert_status 401 + context 'unauthenticated' do + let(:id) { 'dataflow.json' } + + context 'as a normal user' do + before { header_token_for create(:user) } + + example_request 'Unauthorised dataflow template' do + assert_status 401 + end + end + + context 'as a public user' do + example_request 'Unauthorised dataflow template' do + assert_status 401 + end end end end diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx index 460febd6ba59..ea64e43fdd2c 100644 --- a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/index.tsx @@ -12,25 +12,25 @@ import { FormattedMessage, useIntl } from 'utils/cl-intl'; import useFeatureFlag from 'hooks/useFeatureFlag'; import { isNilOrError } from 'utils/helperUtils'; import { saveTemplateFile } from './saveTemplateFile'; -import GoBackButton from '../../../../../components/UI/GoBackButton'; -import clHistory from '../../../../../utils/cl-router/history'; -import Link from '../../../../../utils/cl-router/Link'; +import GoBackButton from 'components/UI/GoBackButton'; +import clHistory from 'utils/cl-router/history'; +import Link from 'utils/cl-router/Link'; const PowerBITemplates = () => { const isPowerBIEnabled = useFeatureFlag({ name: 'power_bi' }); const { formatMessage } = useIntl(); - const handleDownloadTemplate = async (fileName, mimeType) => { + const handleDownloadTemplate = async (fileName, fileExtension) => { if (isNilOrError(fileName)) return; - await saveTemplateFile({ fileName, mimeType }); + await saveTemplateFile({ fileName, fileExtension }); }; const downloadReportingTemplate = () => { - handleDownloadTemplate('reporting.pbit', 'application/pbit'); + handleDownloadTemplate('report', 'pbit'); }; const downloadDataFlowTemplate = () => { - handleDownloadTemplate('dataflow.json', 'application/json'); + handleDownloadTemplate('dataflow', 'json'); }; if (!isPowerBIEnabled) return null; diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts index d5a50407d357..ad38088b5128 100644 --- a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/messages.ts @@ -28,7 +28,7 @@ export default defineMessages({ }, reportTemplateDownload: { id: 'app.containers.Admin.tools.powerBITemplates.reportTemplateDownload', - defaultMessage: 'Download reporting template', + defaultMessage: 'Download report template', }, dataflowTemplateTitle: { id: 'app.containers.Admin.tools.powerBITemplates.dataflowTemplateTitle', diff --git a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/saveTemplateFile.ts b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/saveTemplateFile.ts index 85aef27082e8..68c2e98398b9 100644 --- a/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/saveTemplateFile.ts +++ b/front/app/containers/Admin/tools/PowerBI/PowerBITemplates/saveTemplateFile.ts @@ -8,14 +8,16 @@ import { API_PATH } from 'containers/App/constants'; interface Params { fileName: string; - mimeType: string; + fileExtension: string; } -export async function saveTemplateFile({ fileName, mimeType }: Params) { +export async function saveTemplateFile({ fileName, fileExtension }: Params) { const file = `${API_PATH}/power_bi_templates/${fileName}`; try { + const mimeType = + fileExtension === 'pbit' ? 'application/pbit' : 'application/json'; const blob = await requestBlob(file, mimeType as any); - saveAs(blob, fileName); + saveAs(blob, `${fileName}.${fileExtension}`); } catch (error) { reportError(error); throw error; From ce64c76c0e663b76dc2ee367a8a991adc7673ab4 Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Wed, 11 Oct 2023 16:19:54 +0100 Subject: [PATCH 12/62] [TAN-396] Working template search and replace --- .../app/controllers/web_api/v1/power_bi_templates_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb b/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb index dc4fdd7d9242..a7326b074d35 100644 --- a/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb +++ b/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb @@ -12,7 +12,7 @@ def show file_text = open(template).read replaced = file_text.gsub(/##BASE_URL##/, 'https://TEST.citizenlab.co/api/v2/') - binding.pry + # TODO: We need the actual host in here send_data replaced, type: 'application/octet-stream' elsif params[:id] == 'report' From c47895e11a6149e522b1f9b8dae16fbde8891860 Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Wed, 11 Oct 2023 16:36:15 +0100 Subject: [PATCH 13/62] [TAN-396] Added real host --- .../web_api/v1/power_bi_templates_controller.rb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb b/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb index a7326b074d35..6a466a8ce291 100644 --- a/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb +++ b/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb @@ -8,12 +8,10 @@ def show if params[:id] == 'dataflow' template = Rails.root.join('engines/commercial/public_api/config/power_bi/dataflow.json') - # Search and replace host name + # Search and replace API base URL file_text = open(template).read - replaced = file_text.gsub(/##BASE_URL##/, 'https://TEST.citizenlab.co/api/v2/') - - # TODO: We need the actual host in here - + host = AppConfiguration.instance.base_backend_uri + replaced = file_text.gsub(/##BASE_URL##/, "#{host}/api/v2/") send_data replaced, type: 'application/octet-stream' elsif params[:id] == 'report' template = Rails.root.join('engines/commercial/public_api/config/power_bi/report.pbit') From 71c5a74d3c7fb39e39569397cff41d10eaa4ac13 Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Thu, 12 Oct 2023 16:43:30 +0100 Subject: [PATCH 14/62] [TAN-396] Added feature to seeds --- .../multi_tenancy/db/seeds/tenants.rb | 4 + .../public_api/config/power_bi/dataflow.json | 152 ++++++++++++++---- 2 files changed, 121 insertions(+), 35 deletions(-) diff --git a/back/engines/commercial/multi_tenancy/db/seeds/tenants.rb b/back/engines/commercial/multi_tenancy/db/seeds/tenants.rb index c46d49bdc4b6..eba610ab3ae3 100644 --- a/back/engines/commercial/multi_tenancy/db/seeds/tenants.rb +++ b/back/engines/commercial/multi_tenancy/db/seeds/tenants.rb @@ -443,6 +443,10 @@ def create_localhost_tenant public_api_tokens: { enabled: true, allowed: true + }, + power_bi: { + enabled: true, + allowed: true } }) ) diff --git a/back/engines/commercial/public_api/config/power_bi/dataflow.json b/back/engines/commercial/public_api/config/power_bi/dataflow.json index 859d679bc384..05b11c175250 100644 --- a/back/engines/commercial/public_api/config/power_bi/dataflow.json +++ b/back/engines/commercial/public_api/config/power_bi/dataflow.json @@ -3,12 +3,11 @@ "description": "", "version": "1.0", "culture": "en-US", - "modifiedTime": "2023-09-29T00:01:57.1174011+00:00", - "ppdf:outputFileFormat": "csv", + "modifiedTime": "2023-10-08T12:40:46.2424186+00:00", + "ppdf:outputFileFormat": "Csv", "pbi:mashup": { "fastCombine": true, "allowNativeQueries": false, - "skipAutomaticHeaderAndTypeDetection": false, "queriesMetadata": { "BaseUrl": { "queryId": "dda00317-93f1-4609-a813-5b00c1b777c7", @@ -183,7 +182,7 @@ "queryGroupId": "5503512d-1506-4446-8b69-5e96e2452ed6" } }, - "document": "section Section1;\r\nshared BaseUrl = \"##BASE_URL##\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared Locale = \"en-GB\" meta [IsParameterQuery=true, List={\"en-GB\"}, DefaultValue=\"en-GB\", Type=\"Text\", IsParameterQueryRequired=true];\r\nshared ClientID = \"##CLIENT_ID##\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared ClientSecret = \"##CLIENT_SECRET##\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared LimitPerPage = let\n Source = \"100\"\nin\n Source;\r\nshared comments = let\n Source = ApiGET(\"comments\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"body\", \"author_id\", \"post_id\", \"parent_id\", \"created_at\", \"updated_at\", \"body_updated_at\", \"likes_count\", \"dislikes_count\", \"children_count\", \"publication_status\", \"post_type\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"post_id\", type text}, {\"parent_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"body_updated_at\", type datetime}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"children_count\", Int64.Type}, {\"publication_status\", type text}, {\"post_type\", type text}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}}),\n #\"Renamed Columns\" = Table.RenameColumns(#\"Changed Type1\",{{\"post_id\", \"idea_id\"}})\nin\n #\"Renamed Columns\";\r\nshared ideas = let\r\n Source = ApiGET(\"ideas\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"project_id\", \"project_title\", \"created_at\", \"updated_at\", \"location_point\", \"location_description\", \"slug\", \"budget\", \"baskets_count\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"proposed_budget\", \"creation_phase_id\", \"images\", \"href\", \"status\", \"custom_field_values\", \"type\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"published_at\", type datetime}, {\"publication_status\", type text}, {\"project_id\", type text}, {\"project_title\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"location_point\", type text}, {\"location_description\", type text}, {\"slug\", type text}, {\"budget\", Int64.Type}, {\"baskets_count\", Int64.Type}, {\"official_feedbacks_count\", Int64.Type}, {\"assignee_id\", type text}, {\"assigned_at\", type datetime}, {\"proposed_budget\", Int64.Type}, {\"creation_phase_id\", type any}, {\"images\", type any}, {\"href\", type text}, {\"status\", type text}, {\"custom_field_values\", type any}, {\"data_refreshed_at\", type datetime}, {\"type\", type text}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"votes_count\", type text}, {\"creation_phase_id\", type text}, {\"images\", type text}, {\"custom_field_values\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"votes_count\", null}, {\"creation_phase_id\", null}, {\"images\", null}, {\"custom_field_values\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared reactions = let\n Source = ApiGET(\"reactions\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"mode\", \"user_id\", \"reactable_id\", \"created_at\", \"updated_at\", \"reactable_type\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"mode\", type text}, {\"user_id\", type text}, {\"reactable_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"reactable_type\", type text}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared projects = let\r\n Source = ApiGET(\"projects\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description_html\", \"description_preview\", \"process_type\", \"participation_method\", \"slug\", \"folder_id\", \"href\", \"visible_to\", \"images\", \"created_at\", \"updated_at\", \"ideas_count\", \"comments_count\", \"map_center_geojson\", \"posting_enabled\", \"commenting_enabled\", \"reacting_enabled\", \"reacting_like_method\", \"reacting_like_limited_max\", \"reacting_dislike_enabled\", \"reacting_dislike_method\", \"reacting_dislike_limited_max\", \"voting_max_total\", \"voting_min_total\", \"publication_status\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description_html\", type text}, {\"description_preview\", type text}, {\"process_type\", type text}, {\"participation_method\", type text}, {\"slug\", type text}, {\"folder_id\", type text}, {\"href\", type text}, {\"visible_to\", type text}, {\"images\", type any}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"ideas_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"map_center_geojson\", type any}, {\"posting_enabled\", type logical}, {\"commenting_enabled\", type logical}, {\"reacting_enabled\", type logical}, {\"reacting_like_method\", type text}, {\"reacting_like_limited_max\", Int64.Type}, {\"reacting_dislike_enabled\", type logical}, {\"reacting_dislike_method\", type text}, {\"reacting_dislike_limited_max\", Int64.Type}, {\"voting_max_total\", Int64.Type}, {\"voting_min_total\", Int64.Type}, {\"publication_status\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"images\", type text}, {\"baskets_count\", type text}, {\"votes_count\", type text}, {\"map_center_geojson\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"images\", null}, {\"baskets_count\", null}, {\"votes_count\", null}, {\"map_center_geojson\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared phases = let\r\n Source = ApiGET(\"phases\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"participation_method\", \"project_id\", \"project_title\", \"start_at\", \"end_at\", \"created_at\", \"updated_at\", \"ideas_count\", \"posting_enabled\", \"commenting_enabled\", \"reacting_enabled\", \"reacting_like_method\", \"reacting_like_limited_max\", \"reacting_dislike_enabled\", \"reacting_dislike_method\", \"reacting_dislike_limited_max\", \"voting_max_total\", \"voting_min_total\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"participation_method\", type text}, {\"project_id\", type text}, {\"project_title\", type text}, {\"start_at\", type date}, {\"end_at\", type date}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"ideas_count\", Int64.Type}, {\"posting_enabled\", type logical}, {\"commenting_enabled\", type logical}, {\"reacting_enabled\", type logical}, {\"reacting_like_method\", type text}, {\"reacting_like_limited_max\", Int64.Type}, {\"reacting_dislike_enabled\", type logical}, {\"reacting_dislike_method\", type text}, {\"reacting_dislike_limited_max\", Int64.Type}, {\"voting_max_total\", Int64.Type}, {\"voting_min_total\", Int64.Type}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type\", {{\"baskets_count\", type text}, {\"votes_count\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"baskets_count\", null}, {\"votes_count\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared project_folders = let\r\n Source = ApiGET(\"project_folders\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"slug\", \"created_at\", \"updated_at\", \"publication_status\", \"title_multiloc\", \"title\", \"description_multiloc\", \"description\", \"description_preview_multiloc\", \"description_preview\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"slug\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"publication_status\", type text}, {\"title_multiloc\", type any}, {\"title\", type text}, {\"description_multiloc\", type any}, {\"description\", type text}, {\"description_preview_multiloc\", type any}, {\"description_preview\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}, {\"description_preview_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}, {\"description_preview_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared topics = let\n Source = ApiGET(\"topics\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared users = let\r\n Source = ApiGET(\"users\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email\", \"slug\", \"roles\", \"created_at\", \"updated_at\", \"first_name\", \"last_name\", \"locale\", \"bio\", \"registration_completed_at\", \"verified\", \"email_confirmed_at\", \"email_confirmation_code_sent_at\", \"confirmation_required\", \"custom_field_values\", \"status\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"email\", type text}, {\"slug\", type text}, {\"roles\", type any}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"first_name\", type text}, {\"last_name\", type text}, {\"locale\", type text}, {\"bio\", type any}, {\"registration_completed_at\", type datetime}, {\"verified\", type logical}, {\"email_confirmed_at\", type datetime}, {\"email_confirmation_code_sent_at\", type datetime}, {\"confirmation_required\", type logical}, {\"custom_field_values\", type any}, {\"status\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"registration_completed_at\", \"registration_completed_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"registration_completed_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"roles\", type text}, {\"bio\", type text}, {\"custom_field_values\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"roles\", null}, {\"bio\", null}, {\"custom_field_values\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared initiatives = let\r\n Source = ApiGET(\"initiatives\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"created_at\", \"updated_at\", \"threshold_reached_at\", \"location_point\", \"location_description\", \"slug\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"href\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"published_at\", type datetime}, {\"publication_status\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"location_point\", type text}, {\"location_description\", type text}, {\"slug\", type text}, {\"official_feedbacks_count\", Int64.Type}, {\"assignee_id\", type text}, {\"assigned_at\", type datetime}, {\"href\", type text}, {\"data_refreshed_at\", type datetime}, {\"threshold_reached_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"body_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"body_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared project_topics = let\n Source = ApiGET(\"project_topics\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"project_id\", \"topic_id\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"project_id\", type text}, {\"topic_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared idea_topics = let\r\n Source = ApiGET(\"idea_topics\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"idea_id\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"idea_id\", type text}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type\", {{\"topic_id\", type text}, {\"data_refreshed_at\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"topic_id\", null}, {\"data_refreshed_at\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared users_custom_fields = let\r\n Source = ApiGET(\"users\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email\", \"slug\", \"roles\", \"created_at\", \"updated_at\", \"first_name\", \"last_name\", \"locale\", \"bio\", \"registration_completed_at\", \"verified\", \"email_confirmed_at\", \"email_confirmation_code_sent_at\", \"confirmation_required\", \"custom_field_values\", \"status\", \"data_refreshed_at\"}, {}),\r\n SelectedColumns = Table.SelectColumns(ExpandColumn, {\"id\", \"custom_field_values\"}),\r\n RemoveNullRecords = Table.SelectRows(SelectedColumns, each Record.FieldNames([custom_field_values]) <> {}),\r\n AddFieldsColumn = Table.AddColumn(RemoveNullRecords, \"fields\", each Record.FieldNames([custom_field_values])),\r\n FieldNames = Table.Distinct(Table.ExpandListColumn(AddFieldsColumn, \"fields\"), {\"fields\"})[fields],\r\n ExpandedFields = Table.ExpandRecordColumn(RemoveNullRecords, \"custom_field_values\", FieldNames, FieldNames),\r\n #\"Transform columns\" = Table.TransformColumnTypes(ExpandedFields, {{\"id\", type text}, {\"gender\", type text}, {\"domicile\", type text}, {\"birthyear\", type text}, {\"geboorteplaats\", type text}, {\"fjeriphjtr\", type text}, {\"municipality_code\", type text}, {\"race\", type text}, {\"education\", type text}, {\"do_you_want_car_free_sundays\", type text}, {\"leeftijd\", type text}, {\"i_agree_that_citizenlab_can_use_my_phone_number_to_send_text_messages\", type text}, {\"supportersclub\", type text}, {\"first_time_heard\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"id\", null}, {\"gender\", null}, {\"domicile\", null}, {\"birthyear\", null}, {\"geboorteplaats\", null}, {\"fjeriphjtr\", null}, {\"municipality_code\", null}, {\"race\", null}, {\"education\", null}, {\"do_you_want_car_free_sundays\", null}, {\"leeftijd\", null}, {\"i_agree_that_citizenlab_can_use_my_phone_number_to_send_text_messages\", null}, {\"supportersclub\", null}, {\"first_time_heard\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared ideas_custom_fields = let\r\n Source = ApiGET(\"ideas\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"project_id\", \"project_title\", \"created_at\", \"updated_at\", \"location_point\", \"location_description\", \"slug\", \"budget\", \"baskets_count\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"proposed_budget\", \"creation_phase_id\", \"images\", \"href\", \"status\", \"custom_field_values\", \"data_refreshed_at\"}, {}),\r\n SelectedColumns = Table.SelectColumns(ExpandColumn, {\"id\", \"custom_field_values\"}),\r\n RemoveNullRecords = Table.SelectRows(SelectedColumns, each Record.FieldNames([custom_field_values]) <> {}),\r\n Fields = Table.AddColumn(RemoveNullRecords, \"fields\", each Record.FieldNames([custom_field_values])),\r\n FieldNames = Table.Distinct(Table.ExpandListColumn(Fields, \"fields\"), {\"fields\"})[fields],\r\n ExpandedFields = Table.ExpandRecordColumn(RemoveNullRecords, \"custom_field_values\", FieldNames, FieldNames),\r\n #\"Transform columns\" = Table.TransformColumnTypes(ExpandedFields, {{\"id\", type text}, {\"question\", type text}, {\"single_choice\", type text}, {\"your_question\", type text}, {\"sdsafsd\", type text}, {\"what_s_your_favorite_sport\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"id\", null}, {\"question\", null}, {\"single_choice\", null}, {\"your_question\", null}, {\"sdsafsd\", null}, {\"what_s_your_favorite_sport\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared idea_phases = let\n Source = ApiGET(\"idea_phases\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"idea_id\", \"phase_id\", \"baskets_count\", \"votes_count\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"idea_id\", type text}, {\"phase_id\", type text}, {\"baskets_count\", Int64.Type}, {\"votes_count\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared baskets = let\n Source = ApiGET(\"baskets\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"user_id\", \"project_id\", \"phase_id\", \"submitted_at\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"user_id\", type text}, {\"project_id\", type text}, {\"phase_id\", type text}, {\"submitted_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared basket_ideas = let\n Source = ApiGET(\"basket_ideas\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"basket_id\", \"idea_id\", \"votes\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"basket_id\", type text}, {\"idea_id\", type text}, {\"votes\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared email_campaigns = let\r\n Source = ApiGET(\"email_campaigns\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"sender\", \"reply_to\", \"subject\", \"body\", \"created_at\", \"updated_at\", \"deliveries_count\", \"subject_multiloc\", \"body_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"sender\", type text}, {\"reply_to\", type text}, {\"subject\", type text}, {\"body\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"deliveries_count\", Int64.Type}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"subject_multiloc\", type text}, {\"body_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"subject_multiloc\", null}, {\"body_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared email_campaign_deliveries = let\n Source = ApiGET(\"email_campaign_deliveries\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email_campaign_id\", \"user_id\", \"delivery_status\", \"sent_at\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"email_campaign_id\", type text}, {\"user_id\", type text}, {\"delivery_status\", type text}, {\"sent_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared events = let\r\n Source = ApiGET(\"events\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"project_id\", \"title\", \"description\", \"location\", \"location_point\", \"attendees_count\", \"start_at\", \"end_at\", \"created_at\", \"updated_at\", \"title_multiloc\", \"description_multiloc\", \"location_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"project_id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"location\", type text}, {\"location_point\", type text}, {\"attendees_count\", Int64.Type}, {\"start_at\", type datetime}, {\"end_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}, {\"location_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}, {\"location_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared event_attendances = let\r\n Source = ApiGET(\"event_attendances\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"event_id\", \"attendee_id\", \"created_at\", \"updated_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"event_id\", type text}, {\"attendee_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"data_refreshed_at\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"data_refreshed_at\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared volunteering_causes = let\r\n Source = ApiGET(\"volunteering_causes\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"project_id\", \"phase_id\", \"volunteers_count\", \"created_at\", \"updated_at\", \"title_multiloc\", \"description_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"project_id\", type text}, {\"phase_id\", type text}, {\"volunteers_count\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared volunteering_volunteers = let\r\n Source = ApiGET(\"volunteering_volunteers\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"volunteering_cause_id\", \"user_id\", \"created_at\", \"updated_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"volunteering_cause_id\", type text}, {\"user_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"data_refreshed_at\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"data_refreshed_at\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared ApiAccessToken = let\n Source = () => let \n AccessTokenCall = Web.Contents(BaseUrl, \n [\n RelativePath= \"authenticate\", \n Headers = [#\"Content-Type\"= \"application/json\", #\"Accept\"= \"application/json\"], \n Content = Text.ToBinary(\"{\n \"\"auth\"\": {\n \"\"client_id\"\": \"\"\" & ClientID & \"\"\",\n \"\"client_secret\"\": \"\"\" & ClientSecret & \"\"\"\n }\n }\"\n )\n ]\n )\n in\n AccessTokenCall\nin\n Source;\r\nshared ApiGET = let\n Source = (RelativeUrl as text) =>\n let\n // These variables configured based on the API structure. Query folding options used in functions might also change with API version\n //Global Variables\n BaseUrl = #\"BaseUrl\", \n LimitPerPage = #\"LimitPerPage\", // number of max items returned in one API call\n Locale = #\"Locale\", // number of max items returned in one API call\n AccessTokenCall = ApiAccessToken(), \n FirstCall = Web.Contents(\n BaseUrl, \n [\n RelativePath = RelativeUrl & \"?locale=\" & Locale & \"&page_size=\" & LimitPerPage, \n ManualStatusHandling = {200, 400, 401, 403, 404, 429, 500, 503}, \n Headers = [\n #\"Content-Type\" = \"application/json\", \n Authorization = \"Bearer \" & Json.Document(AccessTokenCall, 65001)[jwt]\n ]\n ]\n ), \n FirstCallMetaData = Value.Metadata(FirstCall), \n PageCount = \n if FirstCallMetaData[Response.Status] = 200 then\n Json.Document(FirstCall)[#\"meta\"][#\"total_pages\"]\n else\n null, // # Pages in total\n GetData = (Page) =>\n let\n PageOffset = Number.ToText(Page), \n NextCall = Web.Contents(\n BaseUrl, \n [\n RelativePath = RelativeUrl\n & \"?locale=\"\n & Locale\n & \"&page_size=\"\n & LimitPerPage\n & \"&page_number=\"\n & PageOffset, \n ManualStatusHandling = {200, 400, 401, 403, 404, 429, 500, 503}, \n Headers = [\n #\"Content-Type\" = \"application/json\", \n Authorization = \"Bearer \" & Json.Document(AccessTokenCall, 65001)[jwt]\n ]\n ]\n ), \n MetaData = Value.Metadata(NextCall), \n Delay = DelayFn(0.1), \n Response = \n if MetaData[Response.Status] = 200 then // check the call status if ok\n (\n let\n Json = Json.Document(NextCall), \n Value = Table.AddColumn(\n Table.FromList(\n Record.ToTable(Json){0}[Value], \n Splitter.SplitByNothing(), \n null, \n null, \n ExtraValues.Error\n ), \n \"Data\", \n each Record.AddField([Column1], \"data_refreshed_at\", Delay)\n )[Data]\n in\n Value\n )\n else\n null\n in\n Response, \n PageIndices = {1 .. PageCount}, \n Pages = List.Transform(PageIndices, each GetData(_)), \n ToTable = Table.FromList(Pages, Splitter.SplitByNothing(), null, null, ExtraValues.Error)\n in \n ToTable\nin\n Source;\r\nshared DelayFn = let\n Source = (secondsInput as number) => let\n //Find current time\n One = DateTime.LocalNow(),\n //Define Wait function\n Wait = (seconds as number, action as function) => \n if (List.Count(\n List.Generate(\n () => DateTimeZone.LocalNow() + #duration(0,0,0,seconds), \n (x) => DateTimeZone.LocalNow() < x, \n (x) => x)\n ) = 0) \n then null else action(),\n //Call Wait function to wait 5 seconds\n //then return the current time again\n Two = Wait(secondsInput,DateTime.LocalNow),\n //Display start time, finish time, and duration\n //Output = \"Start Time: \" & DateTime.ToText(One) & \n // \" Finish Time:\" & DateTime.ToText(Two) & \n // \" Difference: \" & Duration.ToText(Two-One)\n Output = DateTime.ToText(Two)\n in\n Output\nin\n Source;\r\n", + "document": "section Section1;\r\nshared BaseUrl = \"##BASE_URL##\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared Locale = \"en\" meta [IsParameterQuery=true, List={\"en\",\"ar-MA\",\"ar-SA\",\"ca-ES\",\"da-DK\",\"de-DE\",\"el-GR\",\"en-CA\",\"en-GB\",\"es-CL\",\"es-ES\",\"fr-BE\",\"fr-FR\",\"hr-HR\",\"hu-HU\",\"it-IT\",\"kl-GL\",\"lb-LU\",\"lv-LV\",\"mi\",\"nb-NO\",\"nl-BE\",\"nl-NL\",\"pl-PL\",\"pt-BR\",\"ro-RO\",\"sr-Latn\",\"sr-SP\",\"sv-SE\",\"tr-TR\"}, DefaultValue=\"en\", Type=\"Text\", IsParameterQueryRequired=true];\r\nshared ClientID = \"##CLIENT_ID##\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared ClientSecret = \"##CLIENT_SECRET##\" meta [IsParameterQuery=true, Type=\"Text\", IsParameterQueryRequired=true];\r\nshared LimitPerPage = let\n Source = \"100\"\nin\n Source;\r\nshared comments = let\n Source = ApiGET(\"comments\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"body\", \"author_id\", \"post_id\", \"parent_id\", \"created_at\", \"updated_at\", \"body_updated_at\", \"likes_count\", \"dislikes_count\", \"children_count\", \"publication_status\", \"post_type\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"post_id\", type text}, {\"parent_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"body_updated_at\", type datetime}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"children_count\", Int64.Type}, {\"publication_status\", type text}, {\"post_type\", type text}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}}),\n #\"Renamed Columns\" = Table.RenameColumns(#\"Changed Type1\",{{\"post_id\", \"idea_id\"}})\nin\n #\"Renamed Columns\";\r\nshared ideas = let\r\n Source = ApiGET(\"ideas\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"project_id\", \"project_title\", \"created_at\", \"updated_at\", \"location_point\", \"location_description\", \"slug\", \"budget\", \"baskets_count\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"proposed_budget\", \"creation_phase_id\", \"images\", \"href\", \"status\", \"custom_field_values\", \"type\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"published_at\", type datetime}, {\"publication_status\", type text}, {\"project_id\", type text}, {\"project_title\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"location_point\", type text}, {\"location_description\", type text}, {\"slug\", type text}, {\"budget\", Int64.Type}, {\"baskets_count\", Int64.Type}, {\"official_feedbacks_count\", Int64.Type}, {\"assignee_id\", type text}, {\"assigned_at\", type datetime}, {\"proposed_budget\", Int64.Type}, {\"creation_phase_id\", type any}, {\"images\", type any}, {\"href\", type text}, {\"status\", type text}, {\"custom_field_values\", type any}, {\"data_refreshed_at\", type datetime}, {\"type\", type text}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"votes_count\", type text}, {\"creation_phase_id\", type text}, {\"images\", type text}, {\"custom_field_values\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"votes_count\", null}, {\"creation_phase_id\", null}, {\"images\", null}, {\"custom_field_values\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared reactions = let\n Source = ApiGET(\"reactions\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"mode\", \"user_id\", \"reactable_id\", \"created_at\", \"updated_at\", \"reactable_type\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"mode\", type text}, {\"user_id\", type text}, {\"reactable_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"reactable_type\", type text}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared projects = let\r\n Source = ApiGET(\"projects\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description_html\", \"description_preview\", \"process_type\", \"participation_method\", \"slug\", \"folder_id\", \"href\", \"visible_to\", \"images\", \"created_at\", \"updated_at\", \"ideas_count\", \"comments_count\", \"map_center_geojson\", \"posting_enabled\", \"commenting_enabled\", \"reacting_enabled\", \"reacting_like_method\", \"reacting_like_limited_max\", \"reacting_dislike_enabled\", \"reacting_dislike_method\", \"reacting_dislike_limited_max\", \"voting_max_total\", \"voting_min_total\", \"publication_status\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description_html\", type text}, {\"description_preview\", type text}, {\"process_type\", type text}, {\"participation_method\", type text}, {\"slug\", type text}, {\"folder_id\", type text}, {\"href\", type text}, {\"visible_to\", type text}, {\"images\", type any}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"ideas_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"map_center_geojson\", type any}, {\"posting_enabled\", type logical}, {\"commenting_enabled\", type logical}, {\"reacting_enabled\", type logical}, {\"reacting_like_method\", type text}, {\"reacting_like_limited_max\", Int64.Type}, {\"reacting_dislike_enabled\", type logical}, {\"reacting_dislike_method\", type text}, {\"reacting_dislike_limited_max\", Int64.Type}, {\"voting_max_total\", Int64.Type}, {\"voting_min_total\", Int64.Type}, {\"publication_status\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"images\", type text}, {\"baskets_count\", type text}, {\"votes_count\", type text}, {\"map_center_geojson\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"images\", null}, {\"baskets_count\", null}, {\"votes_count\", null}, {\"map_center_geojson\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared phases = let\r\n Source = ApiGET(\"phases\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"participation_method\", \"project_id\", \"project_title\", \"start_at\", \"end_at\", \"created_at\", \"updated_at\", \"ideas_count\", \"posting_enabled\", \"commenting_enabled\", \"reacting_enabled\", \"reacting_like_method\", \"reacting_like_limited_max\", \"reacting_dislike_enabled\", \"reacting_dislike_method\", \"reacting_dislike_limited_max\", \"voting_max_total\", \"voting_min_total\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"participation_method\", type text}, {\"project_id\", type text}, {\"project_title\", type text}, {\"start_at\", type date}, {\"end_at\", type date}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"ideas_count\", Int64.Type}, {\"posting_enabled\", type logical}, {\"commenting_enabled\", type logical}, {\"reacting_enabled\", type logical}, {\"reacting_like_method\", type text}, {\"reacting_like_limited_max\", Int64.Type}, {\"reacting_dislike_enabled\", type logical}, {\"reacting_dislike_method\", type text}, {\"reacting_dislike_limited_max\", Int64.Type}, {\"voting_max_total\", Int64.Type}, {\"voting_min_total\", Int64.Type}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type\", {{\"baskets_count\", type text}, {\"votes_count\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"baskets_count\", null}, {\"votes_count\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared project_folders = let\r\n Source = ApiGET(\"project_folders\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"slug\", \"created_at\", \"updated_at\", \"publication_status\", \"title_multiloc\", \"title\", \"description_multiloc\", \"description\", \"description_preview_multiloc\", \"description_preview\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"slug\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"publication_status\", type text}, {\"title_multiloc\", type any}, {\"title\", type text}, {\"description_multiloc\", type any}, {\"description\", type text}, {\"description_preview_multiloc\", type any}, {\"description_preview\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}, {\"description_preview_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}, {\"description_preview_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared topics = let\n Source = ApiGET(\"topics\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared users = let\r\n Source = ApiGET(\"users\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email\", \"slug\", \"roles\", \"created_at\", \"updated_at\", \"first_name\", \"last_name\", \"locale\", \"bio\", \"registration_completed_at\", \"verified\", \"email_confirmed_at\", \"email_confirmation_code_sent_at\", \"confirmation_required\", \"custom_field_values\", \"status\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"email\", type text}, {\"slug\", type text}, {\"roles\", type any}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"first_name\", type text}, {\"last_name\", type text}, {\"locale\", type text}, {\"bio\", type any}, {\"registration_completed_at\", type datetime}, {\"verified\", type logical}, {\"email_confirmed_at\", type datetime}, {\"email_confirmation_code_sent_at\", type datetime}, {\"confirmation_required\", type logical}, {\"custom_field_values\", type any}, {\"status\", type text}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"registration_completed_at\", \"registration_completed_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"registration_completed_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"roles\", type text}, {\"bio\", type text}, {\"custom_field_values\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"roles\", null}, {\"bio\", null}, {\"custom_field_values\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared initiatives = let\r\n Source = ApiGET(\"initiatives\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"created_at\", \"updated_at\", \"threshold_reached_at\", \"location_point\", \"location_description\", \"slug\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"href\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"body\", type text}, {\"author_id\", type text}, {\"likes_count\", Int64.Type}, {\"dislikes_count\", Int64.Type}, {\"comments_count\", Int64.Type}, {\"published_at\", type datetime}, {\"publication_status\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"location_point\", type text}, {\"location_description\", type text}, {\"slug\", type text}, {\"official_feedbacks_count\", Int64.Type}, {\"assignee_id\", type text}, {\"assigned_at\", type datetime}, {\"href\", type text}, {\"data_refreshed_at\", type datetime}, {\"threshold_reached_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"body_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"body_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared project_topics = let\n Source = ApiGET(\"project_topics\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"project_id\", \"topic_id\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"project_id\", type text}, {\"topic_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared idea_topics = let\r\n Source = ApiGET(\"idea_topics\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"idea_id\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"idea_id\", type text}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type\", {{\"topic_id\", type text}, {\"data_refreshed_at\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"topic_id\", null}, {\"data_refreshed_at\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared users_custom_fields = let\r\n Source = ApiGET(\"users\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email\", \"slug\", \"roles\", \"created_at\", \"updated_at\", \"first_name\", \"last_name\", \"locale\", \"bio\", \"registration_completed_at\", \"verified\", \"email_confirmed_at\", \"email_confirmation_code_sent_at\", \"confirmation_required\", \"custom_field_values\", \"status\", \"data_refreshed_at\"}, {}),\r\n SelectedColumns = Table.SelectColumns(ExpandColumn, {\"id\", \"custom_field_values\"}),\r\n RemoveNullRecords = Table.SelectRows(SelectedColumns, each Record.FieldNames([custom_field_values]) <> {}),\r\n AddFieldsColumn = Table.AddColumn(RemoveNullRecords, \"fields\", each Record.FieldNames([custom_field_values])),\r\n FieldNames = Table.Distinct(Table.ExpandListColumn(AddFieldsColumn, \"fields\"), {\"fields\"})[fields],\r\n ExpandedFields = Table.ExpandRecordColumn(RemoveNullRecords, \"custom_field_values\", FieldNames, FieldNames),\r\n TransformColumns = Table.TransformColumnTypes(ExpandedFields, List.Transform(FieldNames, each {_, Text.Type})),\r\n ReplaceErrors = Table.ReplaceErrorValues(TransformColumns, List.Transform(FieldNames, each {_, null})),\r\n #\"Transform columns\" = Table.TransformColumnTypes(ReplaceErrors, {{\"id\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"id\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared ideas_custom_fields = let\r\n Source = ApiGET(\"ideas\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"body\", \"author_id\", \"likes_count\", \"dislikes_count\", \"comments_count\", \"published_at\", \"publication_status\", \"project_id\", \"project_title\", \"created_at\", \"updated_at\", \"location_point\", \"location_description\", \"slug\", \"budget\", \"baskets_count\", \"official_feedbacks_count\", \"assignee_id\", \"assigned_at\", \"proposed_budget\", \"creation_phase_id\", \"images\", \"href\", \"status\", \"custom_field_values\", \"data_refreshed_at\"}, {}),\r\n SelectedColumns = Table.SelectColumns(ExpandColumn, {\"id\", \"custom_field_values\"}),\r\n RemoveNullRecords = Table.SelectRows(SelectedColumns, each Record.FieldNames([custom_field_values]) <> {}),\r\n Fields = Table.AddColumn(RemoveNullRecords, \"fields\", each Record.FieldNames([custom_field_values])),\r\n FieldNames = Table.Distinct(Table.ExpandListColumn(Fields, \"fields\"), {\"fields\"})[fields],\r\n ExpandedFields = Table.ExpandRecordColumn(RemoveNullRecords, \"custom_field_values\", FieldNames, FieldNames),\r\n TransformColumns = Table.TransformColumnTypes(ExpandedFields, List.Transform(FieldNames, each {_, Text.Type})),\r\n ReplaceErrors = Table.ReplaceErrorValues(TransformColumns, List.Transform(FieldNames, each {_, null})),\r\n #\"Transform columns\" = Table.TransformColumnTypes(ReplaceErrors, {{\"id\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"id\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared idea_phases = let\n Source = ApiGET(\"idea_phases\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"idea_id\", \"phase_id\", \"baskets_count\", \"votes_count\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"idea_id\", type text}, {\"phase_id\", type text}, {\"baskets_count\", Int64.Type}, {\"votes_count\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared baskets = let\n Source = ApiGET(\"baskets\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"user_id\", \"project_id\", \"phase_id\", \"submitted_at\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"user_id\", type text}, {\"project_id\", type text}, {\"phase_id\", type text}, {\"submitted_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared basket_ideas = let\n Source = ApiGET(\"basket_ideas\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"basket_id\", \"idea_id\", \"votes\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"basket_id\", type text}, {\"idea_id\", type text}, {\"votes\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared email_campaigns = let\r\n Source = ApiGET(\"email_campaigns\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"sender\", \"reply_to\", \"subject\", \"body\", \"created_at\", \"updated_at\", \"deliveries_count\", \"subject_multiloc\", \"body_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"sender\", type text}, {\"reply_to\", type text}, {\"subject\", type text}, {\"body\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"deliveries_count\", Int64.Type}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"subject_multiloc\", type text}, {\"body_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"subject_multiloc\", null}, {\"body_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared email_campaign_deliveries = let\n Source = ApiGET(\"email_campaign_deliveries\"),\n ExpandColumn = \n try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"email_campaign_id\", \"user_id\", \"delivery_status\", \"sent_at\", \"created_at\", \"updated_at\", \"data_refreshed_at\"}, {}),\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn,{{\"id\", type text}, {\"email_campaign_id\", type text}, {\"user_id\", type text}, {\"delivery_status\", type text}, {\"sent_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\",{{\"created_at_date\", type date}})\nin\n #\"Changed Type1\";\r\nshared events = let\r\n Source = ApiGET(\"events\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"project_id\", \"title\", \"description\", \"location\", \"location_point\", \"attendees_count\", \"start_at\", \"end_at\", \"created_at\", \"updated_at\", \"title_multiloc\", \"description_multiloc\", \"location_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"project_id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"location\", type text}, {\"location_point\", type text}, {\"attendees_count\", Int64.Type}, {\"start_at\", type datetime}, {\"end_at\", type datetime}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}, {\"location_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}, {\"location_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared event_attendances = let\r\n Source = ApiGET(\"event_attendances\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"event_id\", \"attendee_id\", \"created_at\", \"updated_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"event_id\", type text}, {\"attendee_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}})\r\nin\r\n #\"Changed Type1\";\r\nshared volunteering_causes = let\r\n Source = ApiGET(\"volunteering_causes\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\",\n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"title\", \"description\", \"project_id\", \"phase_id\", \"volunteers_count\", \"created_at\", \"updated_at\", \"title_multiloc\", \"description_multiloc\", \"data_refreshed_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"title\", type text}, {\"description\", type text}, {\"project_id\", type text}, {\"phase_id\", type text}, {\"volunteers_count\", Int64.Type}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}}),\r\n #\"Transform columns\" = Table.TransformColumnTypes(#\"Changed Type1\", {{\"title_multiloc\", type text}, {\"description_multiloc\", type text}}),\r\n #\"Replace errors\" = Table.ReplaceErrorValues(#\"Transform columns\", {{\"title_multiloc\", null}, {\"description_multiloc\", null}})\r\nin\r\n #\"Replace errors\";\r\nshared volunteering_volunteers = let\r\n Source = ApiGET(\"volunteering_volunteers\"),\r\n ExpandColumn = try Table.ExpandRecordColumn(\n Table.ExpandListColumn(Source, \"Column1\"), \n \"Column1\", \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0}), \n Record.FieldNames(Table.ExpandListColumn(Source, \"Column1\")[Column1]{0})\n )\n otherwise #table({\"id\", \"volunteering_cause_id\", \"user_id\", \"created_at\", \"updated_at\"}, {}),\r\n #\"Changed Type\" = Table.TransformColumnTypes(ExpandColumn, {{\"id\", type text}, {\"volunteering_cause_id\", type text}, {\"user_id\", type text}, {\"created_at\", type datetime}, {\"updated_at\", type datetime}, {\"data_refreshed_at\", type datetime}}),\r\n #\"Duplicated Column\" = Table.DuplicateColumn(#\"Changed Type\", \"created_at\", \"created_at_date\"),\r\n #\"Changed Type1\" = Table.TransformColumnTypes(#\"Duplicated Column\", {{\"created_at_date\", type date}})\r\nin\r\n #\"Changed Type1\";\r\nshared ApiAccessToken = let\n Source = () => let \n AccessTokenCall = Web.Contents(BaseUrl, \n [\n RelativePath= \"authenticate\", \n Headers = [#\"Content-Type\"= \"application/json\", #\"Accept\"= \"application/json\"], \n Content = Text.ToBinary(\"{\n \"\"auth\"\": {\n \"\"client_id\"\": \"\"\" & ClientID & \"\"\",\n \"\"client_secret\"\": \"\"\" & ClientSecret & \"\"\"\n }\n }\"\n )\n ]\n )\n in\n AccessTokenCall\nin\n Source;\r\nshared ApiGET = let\n Source = (RelativeUrl as text) =>\n let\n // These variables configured based on the API structure. Query folding options used in functions might also change with API version\n //Global Variables\n BaseUrl = #\"BaseUrl\", \n LimitPerPage = #\"LimitPerPage\", // number of max items returned in one API call\n Locale = #\"Locale\", // number of max items returned in one API call\n AccessTokenCall = ApiAccessToken(), \n FirstCall = Web.Contents(\n BaseUrl, \n [\n RelativePath = RelativeUrl & \"?locale=\" & Locale & \"&page_size=\" & LimitPerPage, \n ManualStatusHandling = {200, 400, 401, 403, 404, 429, 500, 503}, \n Headers = [\n #\"Content-Type\" = \"application/json\", \n Authorization = \"Bearer \" & Json.Document(AccessTokenCall, 65001)[jwt]\n ]\n ]\n ), \n FirstCallMetaData = Value.Metadata(FirstCall), \n PageCount = \n if FirstCallMetaData[Response.Status] = 200 then\n Json.Document(FirstCall)[#\"meta\"][#\"total_pages\"]\n else\n null, // # Pages in total\n GetData = (Page) =>\n let\n PageOffset = Number.ToText(Page), \n NextCall = Web.Contents(\n BaseUrl, \n [\n RelativePath = RelativeUrl\n & \"?locale=\"\n & Locale\n & \"&page_size=\"\n & LimitPerPage\n & \"&page_number=\"\n & PageOffset, \n ManualStatusHandling = {200, 400, 401, 403, 404, 429, 500, 503}, \n Headers = [\n #\"Content-Type\" = \"application/json\", \n Authorization = \"Bearer \" & Json.Document(AccessTokenCall, 65001)[jwt]\n ]\n ]\n ), \n MetaData = Value.Metadata(NextCall), \n Delay = DelayFn(0.1), \n Response = \n if MetaData[Response.Status] = 200 then // check the call status if ok\n (\n let\n Json = Json.Document(NextCall), \n Value = Table.AddColumn(\n Table.FromList(\n Record.ToTable(Json){0}[Value], \n Splitter.SplitByNothing(), \n null, \n null, \n ExtraValues.Error\n ), \n \"Data\", \n each Record.AddField([Column1], \"data_refreshed_at\", Delay)\n )[Data]\n in\n Value\n )\n else\n null\n in\n Response, \n PageIndices = {1 .. PageCount}, \n Pages = List.Transform(PageIndices, each GetData(_)), \n ToTable = Table.FromList(Pages, Splitter.SplitByNothing(), null, null, ExtraValues.Error)\n in \n ToTable\nin\n Source;\r\nshared DelayFn = let\n Source = (secondsInput as number) => let\n //Find current time\n One = DateTime.LocalNow(),\n //Define Wait function\n Wait = (seconds as number, action as function) => \n if (List.Count(\n List.Generate(\n () => DateTimeZone.LocalNow() + #duration(0,0,0,seconds), \n (x) => DateTimeZone.LocalNow() < x, \n (x) => x)\n ) = 0) \n then null else action(),\n //Call Wait function to wait 5 seconds\n //then return the current time again\n Two = Wait(secondsInput,DateTime.LocalNow),\n //Display start time, finish time, and duration\n //Output = \"Start Time: \" & DateTime.ToText(One) & \n // \" Finish Time:\" & DateTime.ToText(Two) & \n // \" Difference: \" & Duration.ToText(Two-One)\n Output = DateTime.ToText(Two)\n in\n Output\nin\n Source;\r\n", "connectionOverrides": [ { "path": "https://demo.stg.citizenlab.co/api/v2", @@ -231,9 +230,9 @@ ], "partitions": [ { - "name": "Part001", - "refreshTime": "2023-09-23T21:16:21.8357233+00:00", - "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/comments.csv?snapshot=2023-09-23T21%3A16%3A21.8291381Z" + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:49.2485744+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/comments.csv?snapshot=2023-10-05T20%3A24%3A49.2261922Z" } ] }, @@ -277,6 +276,13 @@ { "name": "type", "dataType": "string" }, { "name": "data_refreshed_at", "dataType": "dateTime" }, { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:44.3110324+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/ideas.csv?snapshot=2023-10-05T20%3A24%3A44.2650492Z" + } ] }, { @@ -300,9 +306,9 @@ ], "partitions": [ { - "name": "Part001", - "refreshTime": "2023-09-23T21:17:22.8878447+00:00", - "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/reactions.csv?snapshot=2023-09-23T21%3A17%3A22.8751172Z" + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:53.0300498+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/reactions.csv?snapshot=2023-10-05T20%3A24%3A52.9940230Z" } ] }, @@ -346,6 +352,13 @@ { "name": "publication_status", "dataType": "string" }, { "name": "data_refreshed_at", "dataType": "dateTime" }, { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:50.4360392+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/projects.csv?snapshot=2023-10-05T20%3A24%3A50.4055135Z" + } ] }, { @@ -381,6 +394,13 @@ { "name": "voting_max_total", "dataType": "int64" }, { "name": "voting_min_total", "dataType": "int64" }, { "name": "data_refreshed_at", "dataType": "dateTime" } + ], + "partitions": [ + { + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:48.764155+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/phases.csv?snapshot=2023-10-05T20%3A24%3A48.7424719Z" + } ] }, { @@ -408,9 +428,9 @@ ], "partitions": [ { - "name": "Part001", - "refreshTime": "2023-09-23T21:18:54.2658416+00:00", - "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/project_folders.csv?snapshot=2023-09-23T21%3A18%3A54.2537013Z" + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:47.9985134+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/project_folders.csv?snapshot=2023-10-05T20%3A24%3A47.9689164Z" } ] }, @@ -433,9 +453,9 @@ ], "partitions": [ { - "name": "Part001", - "refreshTime": "2023-09-23T21:19:24.7043701+00:00", - "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/topics.csv?snapshot=2023-09-23T21%3A19%3A24.6922424Z" + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:47.8579007+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/topics.csv?snapshot=2023-10-05T20%3A24%3A47.8279968Z" } ] }, @@ -470,9 +490,9 @@ ], "partitions": [ { - "name": "Part001", - "refreshTime": "2023-09-23T21:19:55.2415453+00:00", - "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/users.csv?snapshot=2023-09-23T21%3A19%3A55.2427195Z" + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:57.6079881+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/users.csv?snapshot=2023-10-05T20%3A24%3A57.5793827Z" } ] }, @@ -508,6 +528,13 @@ { "name": "body_multiloc", "dataType": "string" }, { "name": "data_refreshed_at", "dataType": "dateTime" }, { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:49.8891435+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/initiatives.csv?snapshot=2023-10-05T20%3A24%3A49.8698217Z" + } ] }, { @@ -528,9 +555,9 @@ ], "partitions": [ { - "name": "Part001", - "refreshTime": "2023-09-23T21:20:56.2231045+00:00", - "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/project_topics.csv?snapshot=2023-09-23T21%3A20%3A56.2107498Z" + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:47.5141486+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/project_topics.csv?snapshot=2023-10-05T20%3A24%3A47.4742005Z" } ] }, @@ -549,9 +576,9 @@ ], "partitions": [ { - "name": "Part001", - "refreshTime": "2023-09-23T21:21:26.8518785+00:00", - "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/idea_topics.csv?snapshot=2023-09-23T21%3A21%3A26.8401814Z" + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:42.2016952+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/idea_topics.csv?snapshot=2023-10-05T20%3A24%3A42.1782507Z" } ] }, @@ -570,7 +597,6 @@ { "name": "birthyear", "dataType": "string" }, { "name": "geboorteplaats", "dataType": "string" }, { "name": "fjeriphjtr", "dataType": "string" }, - { "name": "municipality_code", "dataType": "string" }, { "name": "race", "dataType": "string" }, { "name": "education", "dataType": "string" }, { "name": "do_you_want_car_free_sundays", "dataType": "string" }, @@ -581,13 +607,6 @@ }, { "name": "supportersclub", "dataType": "string" }, { "name": "first_time_heard", "dataType": "string" } - ], - "partitions": [ - { - "name": "Part001", - "refreshTime": "2023-09-23T21:22:57.3397386+00:00", - "location": "https://wabiweufpcdsa.blob.core.windows.net:443/d3838329-cc9a-4b5b-89eb-ff64dae6b220/users_custom_fields.csv?snapshot=2023-09-23T21%3A22%3A57.3282820Z" - } ] }, { @@ -624,6 +643,13 @@ { "name": "updated_at", "dataType": "dateTime" }, { "name": "data_refreshed_at", "dataType": "dateTime" }, { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:40.7016184+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/idea_phases.csv?snapshot=2023-10-05T20%3A24%3A40.6721169Z" + } ] }, { @@ -644,6 +670,13 @@ { "name": "updated_at", "dataType": "dateTime" }, { "name": "data_refreshed_at", "dataType": "dateTime" }, { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:47.8891493+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/baskets.csv?snapshot=2023-10-05T20%3A24%3A47.8289964Z" + } ] }, { @@ -662,6 +695,13 @@ { "name": "updated_at", "dataType": "dateTime" }, { "name": "data_refreshed_at", "dataType": "dateTime" }, { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:47.732908+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/basket_ideas.csv?snapshot=2023-10-05T20%3A24%3A47.7040685Z" + } ] }, { @@ -685,6 +725,13 @@ { "name": "body_multiloc", "dataType": "string" }, { "name": "data_refreshed_at", "dataType": "dateTime" }, { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:40.8266317+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/email_campaigns.csv?snapshot=2023-10-05T20%3A24%3A40.8060406Z" + } ] }, { @@ -705,6 +752,13 @@ { "name": "updated_at", "dataType": "dateTime" }, { "name": "data_refreshed_at", "dataType": "dateTime" }, { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:26:11.1735995+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/email_campaign_deliveries.csv?snapshot=2023-10-05T20%3A26%3A11.1470278Z" + } ] }, { @@ -732,6 +786,13 @@ { "name": "location_multiloc", "dataType": "string" }, { "name": "data_refreshed_at", "dataType": "dateTime" }, { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:47.45165+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/events.csv?snapshot=2023-10-05T20%3A24%3A47.4292274Z" + } ] }, { @@ -748,8 +809,15 @@ { "name": "attendee_id", "dataType": "string" }, { "name": "created_at", "dataType": "dateTime" }, { "name": "updated_at", "dataType": "dateTime" }, - { "name": "data_refreshed_at", "dataType": "string" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:47.2485208+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/event_attendances.csv?snapshot=2023-10-05T20%3A24%3A47.2183488Z" + } ] }, { @@ -773,6 +841,13 @@ { "name": "description_multiloc", "dataType": "string" }, { "name": "data_refreshed_at", "dataType": "dateTime" }, { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:40.7484923+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/volunteering_causes.csv?snapshot=2023-10-05T20%3A24%3A40.6971028Z" + } ] }, { @@ -789,8 +864,15 @@ { "name": "user_id", "dataType": "string" }, { "name": "created_at", "dataType": "dateTime" }, { "name": "updated_at", "dataType": "dateTime" }, - { "name": "data_refreshed_at", "dataType": "string" }, + { "name": "data_refreshed_at", "dataType": "dateTime" }, { "name": "created_at_date", "dataType": "date" } + ], + "partitions": [ + { + "name": "FullRefreshPolicyPartition", + "refreshTime": "2023-10-05T20:24:41.2484804+00:00", + "location": "https://wabiweuepcdsap1.blob.core.windows.net:443/8e0a886d-5aa0-4d92-80f6-339d6311b9c6/volunteering_volunteers.csv?snapshot=2023-10-05T20%3A24%3A41.2078087Z" + } ] } ] From 4000fbb6c906fb586fbb8c4c8aff9e228f9ff19c Mon Sep 17 00:00:00 2001 From: jamesspeake Date: Fri, 13 Oct 2023 08:31:45 +0100 Subject: [PATCH 15/62] [TAN-396] Updated file locations --- .../v1/power_bi_templates_controller.rb | 6 +++--- .../public_api/config/power_bi/report.pbit | Bin 192687 -> 0 bytes .../{config => files}/power_bi/dataflow.json | 0 .../public_api/files/power_bi/report.pbit | Bin 0 -> 187146 bytes .../tools/PowerBI/PowerBITemplates/index.tsx | 4 ++-- 5 files changed, 5 insertions(+), 5 deletions(-) delete mode 100644 back/engines/commercial/public_api/config/power_bi/report.pbit rename back/engines/commercial/public_api/{config => files}/power_bi/dataflow.json (100%) create mode 100644 back/engines/commercial/public_api/files/power_bi/report.pbit diff --git a/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb b/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb index 6a466a8ce291..e549e25d04c5 100644 --- a/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb +++ b/back/engines/commercial/public_api/app/controllers/web_api/v1/power_bi_templates_controller.rb @@ -2,19 +2,19 @@ module PublicApi class WebApi::V1::PowerBiTemplatesController < ApplicationController - # Download a template - only available to admins + # Download a template - files behind a controller to give permission only to admins def show authorize :'public_api/power_bi_template' if params[:id] == 'dataflow' - template = Rails.root.join('engines/commercial/public_api/config/power_bi/dataflow.json') + template = Rails.root.join('engines/commercial/public_api/files/power_bi/dataflow.json') # Search and replace API base URL file_text = open(template).read host = AppConfiguration.instance.base_backend_uri replaced = file_text.gsub(/##BASE_URL##/, "#{host}/api/v2/") send_data replaced, type: 'application/octet-stream' elsif params[:id] == 'report' - template = Rails.root.join('engines/commercial/public_api/config/power_bi/report.pbit') + template = Rails.root.join('engines/commercial/public_api/files/power_bi/report.pbit') send_data open(template).read, type: 'application/octet-stream' else render json: { error: 'Not found' }, status: :not_found diff --git a/back/engines/commercial/public_api/config/power_bi/report.pbit b/back/engines/commercial/public_api/config/power_bi/report.pbit deleted file mode 100644 index bc3ac0c80ce8374a03cabe34f50173c04c024d73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192687 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 z 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