From ff05a80523626f2d487e7311b81d5bb425be50ce Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Tue, 26 Nov 2024 11:02:26 +0100 Subject: [PATCH 01/20] First cut at implementing tracking --- package-lock.json | 151 ++++++++++++++++++ package.json | 3 +- .../chatbot/examples/demos/Chatbot.md | 2 + .../chatbot/examples/demos/Chatbot.tsx | 44 +++-- packages/module/src/index.ts | 3 + .../src/tracking/console_tracking_provider.ts | 21 +++ packages/module/src/tracking/index.ts | 3 + .../src/tracking/segment_tracking_provider.ts | 47 ++++++ .../src/tracking/trackingProviderProxy.ts | 22 +++ packages/module/src/tracking/tracking_api.ts | 5 + .../module/src/tracking/tracking_registry.ts | 21 +++ packages/module/src/tracking/tracking_spi.ts | 8 + 12 files changed, 306 insertions(+), 24 deletions(-) create mode 100644 packages/module/src/tracking/console_tracking_provider.ts create mode 100644 packages/module/src/tracking/index.ts create mode 100644 packages/module/src/tracking/segment_tracking_provider.ts create mode 100644 packages/module/src/tracking/trackingProviderProxy.ts create mode 100644 packages/module/src/tracking/tracking_api.ts create mode 100644 packages/module/src/tracking/tracking_registry.ts create mode 100644 packages/module/src/tracking/tracking_spi.ts diff --git a/package-lock.json b/package-lock.json index e4e737e7..24dbcd86 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "packages/*" ], "dependencies": { + "@segment/analytics-next": "^1.76.0", "@patternfly/react-table": "^6.1.0", "dompurify": "^3.2.0", "react-dropzone": "^14.2.3" @@ -3242,6 +3243,27 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@lukeed/uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@lukeed/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha512-qC72D4+CDdjGqJvkFMMEAtancHUQ7/d/tAiHf64z8MopFDmcrtbcJuerDtFceuAfQJ2pDSfCKCtbqoGBNnwg0w==", + "license": "MIT", + "dependencies": { + "@lukeed/csprng": "^1.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@mdx-js/util": { "version": "1.6.16", "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.16.tgz", @@ -3973,6 +3995,96 @@ "react-dom": "15.x || 16.x || 17.x || 18.x" } }, + "node_modules/@remix-run/router": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.2.tgz", + "integrity": "sha512-+Rnav+CaoTE5QJc4Jcwh5toUpnVLKYbpU6Ys0zqbakqbaLQHeglLVHPfxOiQqdNmUy5C2lXz5dwC6tQNX2JW2Q==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@segment/analytics-core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.8.0.tgz", + "integrity": "sha512-6CrccsYRY33I3mONN2ZW8SdBpbLtu1Ict3xR+n0FemYF5RB/jG7pW6jOvDXULR8kuYMzMmGOP4HvlyUmf3qLpg==", + "license": "MIT", + "dependencies": { + "@lukeed/uuid": "^2.0.0", + "@segment/analytics-generic-utils": "1.2.0", + "dset": "^3.1.4", + "tslib": "^2.4.1" + } + }, + "node_modules/@segment/analytics-generic-utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.2.0.tgz", + "integrity": "sha512-DfnW6mW3YQOLlDQQdR89k4EqfHb0g/3XvBXkovH1FstUN93eL1kfW9CsDcVQyH3bAC5ZsFyjA/o/1Q2j0QeoWw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.1" + } + }, + "node_modules/@segment/analytics-next": { + "version": "1.76.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-next/-/analytics-next-1.76.0.tgz", + "integrity": "sha512-4n4vMvX0+bfypFWuu/UJNenT/Gv2+04SsjvnQL1eBd1hngKBV56EkCW+PCJyFRQQ7BnzHgWF4mY+vOPkdoke3A==", + "license": "MIT", + "dependencies": { + "@lukeed/uuid": "^2.0.0", + "@segment/analytics-core": "1.8.0", + "@segment/analytics-generic-utils": "1.2.0", + "@segment/analytics.js-video-plugins": "^0.2.1", + "@segment/facade": "^3.4.9", + "dset": "^3.1.4", + "js-cookie": "3.0.1", + "node-fetch": "^2.6.7", + "tslib": "^2.4.1", + "unfetch": "^4.1.0" + } + }, + "node_modules/@segment/analytics.js-video-plugins": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@segment/analytics.js-video-plugins/-/analytics.js-video-plugins-0.2.1.tgz", + "integrity": "sha512-lZwCyEXT4aaHBLNK433okEKdxGAuyrVmop4BpQqQSJuRz0DglPZgd9B/XjiiWs1UyOankg2aNYMN3VcS8t4eSQ==", + "license": "ISC", + "dependencies": { + "unfetch": "^3.1.1" + } + }, + "node_modules/@segment/analytics.js-video-plugins/node_modules/unfetch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-3.1.2.tgz", + "integrity": "sha512-L0qrK7ZeAudGiKYw6nzFjnJ2D5WHblUBwmHIqtPS6oKUd+Hcpk7/hKsSmcHsTlpd1TbTNsiRBUKRq3bHLNIqIw==", + "license": "MIT" + }, + "node_modules/@segment/facade": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/@segment/facade/-/facade-3.4.10.tgz", + "integrity": "sha512-xVQBbB/lNvk/u8+ey0kC/+g8pT3l0gCT8O2y9Z+StMMn3KAFAQ9w8xfgef67tJybktOKKU7pQGRPolRM1i1pdA==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@segment/isodate-traverse": "^1.1.1", + "inherits": "^2.0.4", + "new-date": "^1.0.3", + "obj-case": "0.2.1" + } + }, + "node_modules/@segment/isodate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@segment/isodate/-/isodate-1.0.3.tgz", + "integrity": "sha512-BtanDuvJqnACFkeeYje7pWULVv8RgZaqKHWwGFnL/g/TH/CcZjkIVTfGDp/MAxmilYHUkrX70SqwnYSTNEaN7A==", + "license": "SEE LICENSE IN LICENSE" + }, + "node_modules/@segment/isodate-traverse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@segment/isodate-traverse/-/isodate-traverse-1.1.1.tgz", + "integrity": "sha512-+G6e1SgAUkcq0EDMi+SRLfT48TNlLPF3QnSgFGVs0V9F3o3fq/woQ2rHFlW20W0yy5NnCUH0QGU3Am2rZy/E3w==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@segment/isodate": "^1.0.3" + } + }, "node_modules/@sideway/address": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", @@ -10107,6 +10219,15 @@ "node": ">=4" } }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -16867,6 +16988,15 @@ "@sideway/pinpoint": "^2.0.0" } }, + "node_modules/js-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.1.tgz", + "integrity": "sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -19536,6 +19666,15 @@ "integrity": "sha512-ye8AIYWQcP9MvoM1i0Z2jV0qed31Z8EWXYnyGNkiUAd+Fo8J+7uy90xTV8g/oAbhtjkY7iZbNTizQaXdKUuwpQ==", "dev": true }, + "node_modules/new-date": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/new-date/-/new-date-1.0.3.tgz", + "integrity": "sha512-0fsVvQPbo2I18DT2zVHpezmeeNYV2JaJSrseiHLc17GNOxJzUdx5mvSigPu8LtIfZSij5i1wXnXFspEs2CD6hA==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@segment/isodate": "1.0.3" + } + }, "node_modules/no-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", @@ -19831,6 +19970,12 @@ "node": "*" } }, + "node_modules/obj-case": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/obj-case/-/obj-case-0.2.1.tgz", + "integrity": "sha512-PquYBBTy+Y6Ob/O2574XHhDtHJlV1cJHMCgW+rDRc9J5hhmRelJB3k5dTK/3cVmFVtzvAKuENeuLpoyTzMzkOg==", + "license": "MIT" + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -25806,6 +25951,12 @@ "through": "^2.3.8" } }, + "node_modules/unfetch": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", + "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==", + "license": "MIT" + }, "node_modules/unherit": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", diff --git a/package.json b/package.json index 581ff11c..92a5e727 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,8 @@ "dependencies": { "@patternfly/react-table": "^6.1.0", "dompurify": "^3.2.0", - "react-dropzone": "^14.2.3" + "react-dropzone": "^14.2.3", + "@segment/analytics-next": "^1.76.0" }, "packageManager": "yarn@4.5.0+sha512.837566d24eec14ec0f5f1411adb544e892b3454255e61fdef8fd05f3429480102806bac7446bc9daff3896b01ae4b62d00096c7e989f1596f2af10b927532f39" } diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md index e657d3a0..fa2b25fc 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md @@ -57,6 +57,8 @@ import PFIconLogoColor from '../UI/PF-IconLogo-Color.svg'; import PFIconLogoReverse from '../UI/PF-IconLogo-Reverse.svg'; import userAvatar from '../Messages/user_avatar.svg'; import patternflyAvatar from '../Messages/patternfly_avatar.jpg'; +import { getTrackingProviders } from "@patternfly/virtual-assistant/dist/dynamic/tracking"; + ### Basic ChatBot diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx index 7c43b73b..ec7e978a 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx @@ -32,6 +32,7 @@ import PFIconLogoColor from '../UI/PF-IconLogo-Color.svg'; import PFIconLogoReverse from '../UI/PF-IconLogo-Reverse.svg'; import userAvatar from '../Messages/user_avatar.svg'; import patternflyAvatar from '../Messages/patternfly_avatar.jpg'; +import { getTrackingProviders } from "@patternfly/chatbot/dist/dynamic/tracking"; const footnoteProps = { label: 'ChatBot uses AI. Check for mistakes.', @@ -95,6 +96,9 @@ export default MessageLoading; // The timestamps re-render with them. const date = new Date(); +const tracking = getTrackingProviders(); + +const actionEventName = 'MessageAction'; const initialMessages: MessageProps[] = [ { id: '1', @@ -113,16 +117,11 @@ const initialMessages: MessageProps[] = [ avatar: patternflyAvatar, timestamp: date.toLocaleString(), actions: { - // eslint-disable-next-line no-console - positive: { onClick: () => console.log('Good response') }, - // eslint-disable-next-line no-console - negative: { onClick: () => console.log('Bad response') }, - // eslint-disable-next-line no-console - copy: { onClick: () => console.log('Copy') }, - // eslint-disable-next-line no-console - share: { onClick: () => console.log('Share') }, - // eslint-disable-next-line no-console - listen: { onClick: () => console.log('Listen') } + positive: { onClick: () => tracking.trackSingleItem(actionEventName, 'Good response') }, + negative: { onClick: () => tracking.trackSingleItem(actionEventName, 'Bad response') }, + copy: { onClick: () => tracking.trackSingleItem(actionEventName, 'Copy') }, + share: { onClick: () => tracking.trackSingleItem(actionEventName, 'Share') }, + listen: { onClick: () => tracking.trackSingleItem(actionEventName, 'Listen') } } } ]; @@ -164,6 +163,7 @@ const initialConversations = { ] }; +const actionEvent2 = 'ActionEvent2'; export const ChatbotDemo: React.FunctionComponent = () => { const [chatbotVisible, setChatbotVisible] = React.useState(true); const [displayMode, setDisplayMode] = React.useState(ChatbotDisplayMode.default); @@ -180,7 +180,7 @@ export const ChatbotDemo: React.FunctionComponent = () => { const chatbotRef = React.useRef(null); const historyRef = React.useRef(null); - // Autu-scrolls to the latest message + // Auto-scrolls to the latest message React.useEffect(() => { // don't scroll the first load - in this demo, we know we start with two messages if (messages.length > 2) { @@ -193,6 +193,7 @@ export const ChatbotDemo: React.FunctionComponent = () => { value: string | number | undefined ) => { setSelectedModel(value as string); + tracking.trackSingleItem('ModelSelected', value as string); }; const onSelectDisplayMode = ( @@ -210,6 +211,7 @@ export const ChatbotDemo: React.FunctionComponent = () => { const handleSend = (message: string) => { setIsSendButtonDisabled(true); + tracking.trackSingleItem('UserInputReceived', message); const newMessages: MessageProps[] = []; // We can't use structuredClone since messages contains functions, but we can't mutate // items that are going into state or the UI won't update correctly @@ -255,21 +257,17 @@ export const ChatbotDemo: React.FunctionComponent = () => { avatar: patternflyAvatar, timestamp: date.toLocaleString(), actions: { - // eslint-disable-next-line no-console - positive: { onClick: () => console.log('Good response') }, - // eslint-disable-next-line no-console - negative: { onClick: () => console.log('Bad response') }, - // eslint-disable-next-line no-console - copy: { onClick: () => console.log('Copy') }, - // eslint-disable-next-line no-console - share: { onClick: () => console.log('Share') }, - // eslint-disable-next-line no-console - listen: { onClick: () => console.log('Listen') } + positive: { onClick: () => tracking.trackSingleItem(actionEvent2, 'Good response') }, + negative: { onClick: () => tracking.trackSingleItem(actionEvent2, 'Bad response') }, + copy: { onClick: () => tracking.trackSingleItem(actionEvent2, 'Copy') }, + share: { onClick: () => tracking.trackSingleItem(actionEvent2, 'Share') }, + listen: { onClick: () => tracking.trackSingleItem(actionEvent2, 'Listen') } } }); setMessages(loadedMessages); // make announcement to assistive devices that new message has loaded setAnnouncement(`Message from Bot: API response goes here`); + tracking.trackSingleItem('BotResponded', ''); setIsSendButtonDisabled(false); }, 5000); }; @@ -441,9 +439,9 @@ export const ChatbotDemo: React.FunctionComponent = () => { prompts={welcomePrompts} /> {/* This code block enables scrolling to the top of the last message. - You can instead choose to move the div with scrollToBottomRef on it below + You can instead choose to move the div with scrollToBottomRef on it below the map of messages, so that users are forced to scroll to the bottom. - If you are using streaming, you will want to take a different approach; + If you are using streaming, you will want to take a different approach; see: https://github.com/patternfly/chatbot/issues/201#issuecomment-2400725173 */} {messages.map((message, index) => { if (index === messages.length - 1) { diff --git a/packages/module/src/index.ts b/packages/module/src/index.ts index 6e1cc449..cc11b8d7 100644 --- a/packages/module/src/index.ts +++ b/packages/module/src/index.ts @@ -80,3 +80,6 @@ export * from './SourcesCard'; export { default as TermsOfUse } from './TermsOfUse'; export * from './TermsOfUse'; + +export { default as tracking } from './tracking'; +export * from './tracking'; diff --git a/packages/module/src/tracking/console_tracking_provider.ts b/packages/module/src/tracking/console_tracking_provider.ts new file mode 100644 index 00000000..0a92a9c7 --- /dev/null +++ b/packages/module/src/tracking/console_tracking_provider.ts @@ -0,0 +1,21 @@ +import { TrackingSpi } from './tracking_spi'; +import { TrackingApi } from './tracking_api'; + +export class ConsoleTrackingProvider implements TrackingSpi, TrackingApi { + trackPageView(url: any) { + // eslint-disable-next-line no-console + console.log('ConsoleProvider', url); + } + // eslint-disable-next-line @typescript-eslint/no-empty-function + registerProvider(): void {} + + initialize(): void { + // eslint-disable-next-line no-console + console.log('ConsoleProvider initialize'); + } + + trackSingleItem(item: string, options: string | undefined): void { + // eslint-disable-next-line no-console + console.log('ConsoleProvider: ' + item, options); + } +} diff --git a/packages/module/src/tracking/index.ts b/packages/module/src/tracking/index.ts new file mode 100644 index 00000000..b50c1e43 --- /dev/null +++ b/packages/module/src/tracking/index.ts @@ -0,0 +1,3 @@ +export { default } from './tracking_registry'; + +export * from './tracking_registry'; diff --git a/packages/module/src/tracking/segment_tracking_provider.ts b/packages/module/src/tracking/segment_tracking_provider.ts new file mode 100644 index 00000000..dc5774e9 --- /dev/null +++ b/packages/module/src/tracking/segment_tracking_provider.ts @@ -0,0 +1,47 @@ +import { AnalyticsBrowser } from '@segment/analytics-next'; + +import { TrackingApi } from './tracking_api'; +import { TrackingSpi } from './tracking_spi'; + +export class SegmentTrackingProvider implements TrackingSpi, TrackingApi { + private analytics: AnalyticsBrowser | undefined; + trackPageView(url: any): void { + // eslint-disable-next-line no-console + console.log('SegmentProvider url', url); + if (this.analytics) { + this.analytics.page(url); + } + } + // eslint-disable-next-line @typescript-eslint/no-empty-function + registerProvider(): void {} + + initialize(): void { + // eslint-disable-next-line no-console + console.log('SegmentProvider initialize'); + const segmentKey = 'TODO-key'; // TODO add your key here + + this.analytics = AnalyticsBrowser.load( + { + writeKey: segmentKey, + cdnURL: 'https://console.redhat.com/connections/cdn' + }, + + { + integrations: { + 'Segment.io': { + apiHost: 'console.redhat.com/connections/api/v1', + protocol: 'https' + } + } + } + ); + } + + trackSingleItem(item: string, options: string | undefined): void { + // eslint-disable-next-line no-console + console.log('SegmentProvider: trackSingleItem' + item, options); + if (this.analytics) { + this.analytics.track(item, { options }); + } + } +} diff --git a/packages/module/src/tracking/trackingProviderProxy.ts b/packages/module/src/tracking/trackingProviderProxy.ts new file mode 100644 index 00000000..c0eb741a --- /dev/null +++ b/packages/module/src/tracking/trackingProviderProxy.ts @@ -0,0 +1,22 @@ +import { TrackingApi } from './tracking_api'; +class TrackingProviderProxy implements TrackingApi { + providers: TrackingApi[] = []; + + constructor(providers: TrackingApi[]) { + this.providers = providers; + } + + trackSingleItem(eventName: string, options: string | undefined): void { + for (const provider of this.providers) { + provider.trackSingleItem(eventName, options); + } + } + + trackPageView(url: any) { + for (const provider of this.providers) { + provider.trackPageView(url); + } + } +} + +export default TrackingProviderProxy; diff --git a/packages/module/src/tracking/tracking_api.ts b/packages/module/src/tracking/tracking_api.ts new file mode 100644 index 00000000..5b498bb5 --- /dev/null +++ b/packages/module/src/tracking/tracking_api.ts @@ -0,0 +1,5 @@ +export interface TrackingApi { + trackPageView: (url: string) => void; + + trackSingleItem: (eventName: string, options: string | undefined) => void; +} diff --git a/packages/module/src/tracking/tracking_registry.ts b/packages/module/src/tracking/tracking_registry.ts new file mode 100644 index 00000000..016add14 --- /dev/null +++ b/packages/module/src/tracking/tracking_registry.ts @@ -0,0 +1,21 @@ +import { TrackingSpi } from './tracking_spi'; +import { TrackingApi } from './tracking_api'; +import TrackingProviderProxy from './trackingProviderProxy'; +import { ConsoleTrackingProvider } from './console_tracking_provider'; +import { SegmentTrackingProvider } from './segment_tracking_provider'; + +export const getTrackingProviders = (): TrackingApi => { + const providers: TrackingSpi[] = []; + providers.push(new ConsoleTrackingProvider()); // TODO noop- provider? + providers.push(new SegmentTrackingProvider()); + // TODO dynamically find and register others + + // Initialize them + for (const provider of providers) { + provider.initialize(); + } + + return new TrackingProviderProxy(providers); +}; + +export default getTrackingProviders; diff --git a/packages/module/src/tracking/tracking_spi.ts b/packages/module/src/tracking/tracking_spi.ts new file mode 100644 index 00000000..6c4a8a19 --- /dev/null +++ b/packages/module/src/tracking/tracking_spi.ts @@ -0,0 +1,8 @@ +import { TrackingApi } from './tracking_api'; + +export interface TrackingSpi extends TrackingApi { + // register our tracking provider + registerProvider: () => void; + initialize: () => void; + trackSingleItem: (item: string, options?: string) => void; +} From 24c9a1b8e9cb6310f8a0af3dcce1405219ca2e89 Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Tue, 26 Nov 2024 11:23:58 +0100 Subject: [PATCH 02/20] Supply init props --- .../content/extensions/chatbot/examples/demos/Chatbot.tsx | 8 +++++++- packages/module/src/tracking/segment_tracking_provider.ts | 7 ++++--- packages/module/src/tracking/tracking_registry.ts | 6 +++--- packages/module/src/tracking/tracking_spi.ts | 6 +++++- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx index ec7e978a..f41ccdcd 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx @@ -33,6 +33,7 @@ import PFIconLogoReverse from '../UI/PF-IconLogo-Reverse.svg'; import userAvatar from '../Messages/user_avatar.svg'; import patternflyAvatar from '../Messages/patternfly_avatar.jpg'; import { getTrackingProviders } from "@patternfly/chatbot/dist/dynamic/tracking"; +import { InitProps } from "../../../../../../src/tracking/tracking_spi"; const footnoteProps = { label: 'ChatBot uses AI. Check for mistakes.', @@ -96,7 +97,12 @@ export default MessageLoading; // The timestamps re-render with them. const date = new Date(); -const tracking = getTrackingProviders(); +const initProps: InitProps = { + segmentKey: 'TODO-key', // TODO add your key here + something: 'test' +}; + +const tracking = getTrackingProviders(initProps); const actionEventName = 'MessageAction'; const initialMessages: MessageProps[] = [ diff --git a/packages/module/src/tracking/segment_tracking_provider.ts b/packages/module/src/tracking/segment_tracking_provider.ts index dc5774e9..60367e1d 100644 --- a/packages/module/src/tracking/segment_tracking_provider.ts +++ b/packages/module/src/tracking/segment_tracking_provider.ts @@ -1,7 +1,8 @@ import { AnalyticsBrowser } from '@segment/analytics-next'; import { TrackingApi } from './tracking_api'; -import { TrackingSpi } from './tracking_spi'; +import { InitProps, TrackingSpi } from "./tracking_spi"; + export class SegmentTrackingProvider implements TrackingSpi, TrackingApi { private analytics: AnalyticsBrowser | undefined; @@ -15,10 +16,10 @@ export class SegmentTrackingProvider implements TrackingSpi, TrackingApi { // eslint-disable-next-line @typescript-eslint/no-empty-function registerProvider(): void {} - initialize(): void { + initialize(props: InitProps): void { // eslint-disable-next-line no-console console.log('SegmentProvider initialize'); - const segmentKey = 'TODO-key'; // TODO add your key here + const segmentKey = 'qylQB4US91okwS4xtHIxtnka9FFHcC7g'; // TODO add your key here this.analytics = AnalyticsBrowser.load( { diff --git a/packages/module/src/tracking/tracking_registry.ts b/packages/module/src/tracking/tracking_registry.ts index 016add14..e1b60798 100644 --- a/packages/module/src/tracking/tracking_registry.ts +++ b/packages/module/src/tracking/tracking_registry.ts @@ -1,10 +1,10 @@ -import { TrackingSpi } from './tracking_spi'; +import { InitProps, TrackingSpi } from './tracking_spi'; import { TrackingApi } from './tracking_api'; import TrackingProviderProxy from './trackingProviderProxy'; import { ConsoleTrackingProvider } from './console_tracking_provider'; import { SegmentTrackingProvider } from './segment_tracking_provider'; -export const getTrackingProviders = (): TrackingApi => { +export const getTrackingProviders = (initProps: InitProps): TrackingApi => { const providers: TrackingSpi[] = []; providers.push(new ConsoleTrackingProvider()); // TODO noop- provider? providers.push(new SegmentTrackingProvider()); @@ -12,7 +12,7 @@ export const getTrackingProviders = (): TrackingApi => { // Initialize them for (const provider of providers) { - provider.initialize(); + provider.initialize(initProps); } return new TrackingProviderProxy(providers); diff --git a/packages/module/src/tracking/tracking_spi.ts b/packages/module/src/tracking/tracking_spi.ts index 6c4a8a19..120d5d95 100644 --- a/packages/module/src/tracking/tracking_spi.ts +++ b/packages/module/src/tracking/tracking_spi.ts @@ -1,8 +1,12 @@ import { TrackingApi } from './tracking_api'; +export interface InitProps { + [key: string]: string | number | boolean; +} + export interface TrackingSpi extends TrackingApi { // register our tracking provider registerProvider: () => void; - initialize: () => void; + initialize: (props: InitProps) => void; trackSingleItem: (item: string, options?: string) => void; } From 9d55c574edb7de47709d653c4ebc6d223edc5c51 Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Wed, 27 Nov 2024 09:49:14 +0100 Subject: [PATCH 03/20] Add identify and page view tracking --- .../chatbot/examples/demos/Chatbot.tsx | 2 ++ .../src/tracking/console_tracking_provider.ts | 9 ++++-- .../src/tracking/segment_tracking_provider.ts | 32 +++++++++++++------ .../src/tracking/trackingProviderProxy.ts | 8 ++++- packages/module/src/tracking/tracking_api.ts | 4 ++- 5 files changed, 41 insertions(+), 14 deletions(-) diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx index f41ccdcd..65efcd96 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx @@ -103,6 +103,8 @@ const initProps: InitProps = { }; const tracking = getTrackingProviders(initProps); +tracking.identify('user-123'); +tracking.trackPageView(); const actionEventName = 'MessageAction'; const initialMessages: MessageProps[] = [ diff --git a/packages/module/src/tracking/console_tracking_provider.ts b/packages/module/src/tracking/console_tracking_provider.ts index 0a92a9c7..77a6866a 100644 --- a/packages/module/src/tracking/console_tracking_provider.ts +++ b/packages/module/src/tracking/console_tracking_provider.ts @@ -2,9 +2,9 @@ import { TrackingSpi } from './tracking_spi'; import { TrackingApi } from './tracking_api'; export class ConsoleTrackingProvider implements TrackingSpi, TrackingApi { - trackPageView(url: any) { + trackPageView(url: string | undefined) { // eslint-disable-next-line no-console - console.log('ConsoleProvider', url); + console.log('ConsoleProvider pageView', url); } // eslint-disable-next-line @typescript-eslint/no-empty-function registerProvider(): void {} @@ -14,6 +14,11 @@ export class ConsoleTrackingProvider implements TrackingSpi, TrackingApi { console.log('ConsoleProvider initialize'); } + identify(userID: string): void { + // eslint-disable-next-line no-console + console.log('ConsoleProvider identify', userID); + } + trackSingleItem(item: string, options: string | undefined): void { // eslint-disable-next-line no-console console.log('ConsoleProvider: ' + item, options); diff --git a/packages/module/src/tracking/segment_tracking_provider.ts b/packages/module/src/tracking/segment_tracking_provider.ts index 60367e1d..5ee38f65 100644 --- a/packages/module/src/tracking/segment_tracking_provider.ts +++ b/packages/module/src/tracking/segment_tracking_provider.ts @@ -1,25 +1,17 @@ import { AnalyticsBrowser } from '@segment/analytics-next'; import { TrackingApi } from './tracking_api'; -import { InitProps, TrackingSpi } from "./tracking_spi"; - +import { InitProps, TrackingSpi } from './tracking_spi'; export class SegmentTrackingProvider implements TrackingSpi, TrackingApi { private analytics: AnalyticsBrowser | undefined; - trackPageView(url: any): void { - // eslint-disable-next-line no-console - console.log('SegmentProvider url', url); - if (this.analytics) { - this.analytics.page(url); - } - } // eslint-disable-next-line @typescript-eslint/no-empty-function registerProvider(): void {} initialize(props: InitProps): void { // eslint-disable-next-line no-console console.log('SegmentProvider initialize'); - const segmentKey = 'qylQB4US91okwS4xtHIxtnka9FFHcC7g'; // TODO add your key here + const segmentKey = props.segmentKey as string; this.analytics = AnalyticsBrowser.load( { @@ -38,6 +30,26 @@ export class SegmentTrackingProvider implements TrackingSpi, TrackingApi { ); } + identify(userID: string): void { + // eslint-disable-next-line no-console + console.log('SegmentProvider userID: ' + userID); + if (this.analytics) { + this.analytics.identify(userID); + } + } + + trackPageView(url: string | undefined): void { + // eslint-disable-next-line no-console + console.log('SegmentProvider url', url); + if (this.analytics) { + if (url) { + this.analytics.page(url); + } else { + this.analytics.page(); // Uses window.url + } + } + } + trackSingleItem(item: string, options: string | undefined): void { // eslint-disable-next-line no-console console.log('SegmentProvider: trackSingleItem' + item, options); diff --git a/packages/module/src/tracking/trackingProviderProxy.ts b/packages/module/src/tracking/trackingProviderProxy.ts index c0eb741a..d9cfaba4 100644 --- a/packages/module/src/tracking/trackingProviderProxy.ts +++ b/packages/module/src/tracking/trackingProviderProxy.ts @@ -6,13 +6,19 @@ class TrackingProviderProxy implements TrackingApi { this.providers = providers; } + identify(userID: string): void { + for (const provider of this.providers) { + provider.identify(userID); + } + } + trackSingleItem(eventName: string, options: string | undefined): void { for (const provider of this.providers) { provider.trackSingleItem(eventName, options); } } - trackPageView(url: any) { + trackPageView(url: string | undefined): void { for (const provider of this.providers) { provider.trackPageView(url); } diff --git a/packages/module/src/tracking/tracking_api.ts b/packages/module/src/tracking/tracking_api.ts index 5b498bb5..e5aa9d4b 100644 --- a/packages/module/src/tracking/tracking_api.ts +++ b/packages/module/src/tracking/tracking_api.ts @@ -1,5 +1,7 @@ export interface TrackingApi { - trackPageView: (url: string) => void; + identify: (userID: string) => void; + + trackPageView: (url: string | undefined) => void; trackSingleItem: (eventName: string, options: string | undefined) => void; } From fbd188634d65cc81e69d16b3bec92224bcd6f6bc Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Wed, 27 Nov 2024 10:29:52 +0100 Subject: [PATCH 04/20] Adapt imports --- .../content/extensions/chatbot/examples/demos/Chatbot.md | 2 +- .../content/extensions/chatbot/examples/demos/Chatbot.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md index fa2b25fc..489b6c01 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md @@ -57,7 +57,7 @@ import PFIconLogoColor from '../UI/PF-IconLogo-Color.svg'; import PFIconLogoReverse from '../UI/PF-IconLogo-Reverse.svg'; import userAvatar from '../Messages/user_avatar.svg'; import patternflyAvatar from '../Messages/patternfly_avatar.jpg'; -import { getTrackingProviders } from "@patternfly/virtual-assistant/dist/dynamic/tracking"; +import { getTrackingProviders } from "@patternfly/chatbot/dist/dynamic/tracking"; ### Basic ChatBot diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx index 65efcd96..6bdf14a0 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx @@ -33,7 +33,7 @@ import PFIconLogoReverse from '../UI/PF-IconLogo-Reverse.svg'; import userAvatar from '../Messages/user_avatar.svg'; import patternflyAvatar from '../Messages/patternfly_avatar.jpg'; import { getTrackingProviders } from "@patternfly/chatbot/dist/dynamic/tracking"; -import { InitProps } from "../../../../../../src/tracking/tracking_spi"; +import { InitProps } from "@patternfly/chatbot/dist/tracking/tracking_spi"; const footnoteProps = { label: 'ChatBot uses AI. Check for mistakes.', @@ -103,7 +103,7 @@ const initProps: InitProps = { }; const tracking = getTrackingProviders(initProps); -tracking.identify('user-123'); +tracking.identify('user-123'); // TODO get real user id tracking.trackPageView(); const actionEventName = 'MessageAction'; From 0963c414e3b65a8a6cd0557c8a0b58771c17a4b0 Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Wed, 4 Dec 2024 16:35:43 +0100 Subject: [PATCH 05/20] Report when Chatbot is hidden/shown --- .../content/extensions/chatbot/examples/demos/Chatbot.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx index 6bdf14a0..13923127 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx @@ -345,7 +345,10 @@ export const ChatbotDemo: React.FunctionComponent = () => { setChatbotVisible(!chatbotVisible)} + onToggleChatbot={function () { + setChatbotVisible(!chatbotVisible); + tracking.trackSingleItem('Chatbot Visible', (!chatbotVisible) as string); + }} id="chatbot-toggle" ref={toggleRef} /> From 8fea9e803a34b4c212fcce3e7e67a00fafa66f7d Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Thu, 5 Dec 2024 17:26:14 +0100 Subject: [PATCH 06/20] Add a Posthog provider. --- package-lock.json | 46 +++++++++++++++++++ package.json | 3 +- .../chatbot/examples/demos/Chatbot.tsx | 7 +-- .../src/tracking/posthog_tracking_provider.ts | 41 +++++++++++++++++ .../module/src/tracking/tracking_registry.ts | 2 + 5 files changed, 95 insertions(+), 4 deletions(-) create mode 100644 packages/module/src/tracking/posthog_tracking_provider.ts diff --git a/package-lock.json b/package-lock.json index 24dbcd86..3d0b2ce4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "@segment/analytics-next": "^1.76.0", "@patternfly/react-table": "^6.1.0", "dompurify": "^3.2.0", + "posthog-js": "^1.194.4", "react-dropzone": "^14.2.3" }, "devDependencies": { @@ -12025,6 +12026,12 @@ "pend": "~1.2.0" } }, + "node_modules/fflate": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", + "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==", + "license": "MIT" + }, "node_modules/figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -20990,6 +20997,39 @@ "dev": true, "license": "ISC" }, + "node_modules/posthog-js": { + "version": "1.194.4", + "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.194.4.tgz", + "integrity": "sha512-w42HfzQktNj51jb4lPf45qykPG0RSpl2WZmr1kAaPTVF9LKUwRJHA854GN0R0bx1hap2fnao/yQBktFLlg4vxQ==", + "license": "MIT", + "dependencies": { + "core-js": "^3.38.1", + "fflate": "^0.4.8", + "preact": "^10.19.3", + "web-vitals": "^4.2.0" + } + }, + "node_modules/posthog-js/node_modules/core-js": { + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.39.0.tgz", + "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/preact": { + "version": "10.25.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.1.tgz", + "integrity": "sha512-frxeZV2vhQSohQwJ7FvlqC40ze89+8friponWUFeVEkaCfhC6Eu4V0iND5C9CXz8JLndV07QRDeXzH1+Anz5Og==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/prebuild-install": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", @@ -26998,6 +27038,12 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/web-vitals": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", + "integrity": "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==", + "license": "Apache-2.0" + }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", diff --git a/package.json b/package.json index 92a5e727..90042090 100644 --- a/package.json +++ b/package.json @@ -93,7 +93,8 @@ "@patternfly/react-table": "^6.1.0", "dompurify": "^3.2.0", "react-dropzone": "^14.2.3", - "@segment/analytics-next": "^1.76.0" + "@segment/analytics-next": "^1.76.0", + "posthog-js": "^1.194.4" }, "packageManager": "yarn@4.5.0+sha512.837566d24eec14ec0f5f1411adb544e892b3454255e61fdef8fd05f3429480102806bac7446bc9daff3896b01ae4b62d00096c7e989f1596f2af10b927532f39" } diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx index 13923127..5f1bb4e9 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx @@ -32,8 +32,8 @@ import PFIconLogoColor from '../UI/PF-IconLogo-Color.svg'; import PFIconLogoReverse from '../UI/PF-IconLogo-Reverse.svg'; import userAvatar from '../Messages/user_avatar.svg'; import patternflyAvatar from '../Messages/patternfly_avatar.jpg'; -import { getTrackingProviders } from "@patternfly/chatbot/dist/dynamic/tracking"; -import { InitProps } from "@patternfly/chatbot/dist/tracking/tracking_spi"; +import { getTrackingProviders } from '@patternfly/chatbot/dist/dynamic/tracking'; +import { InitProps } from '@patternfly/chatbot/dist/dynamic/tracking/'; const footnoteProps = { label: 'ChatBot uses AI. Check for mistakes.', @@ -99,6 +99,7 @@ const date = new Date(); const initProps: InitProps = { segmentKey: 'TODO-key', // TODO add your key here + posthogKey: 'TODO-key', something: 'test' }; @@ -347,7 +348,7 @@ export const ChatbotDemo: React.FunctionComponent = () => { isChatbotVisible={chatbotVisible} onToggleChatbot={function () { setChatbotVisible(!chatbotVisible); - tracking.trackSingleItem('Chatbot Visible', (!chatbotVisible) as string); + tracking.trackSingleItem('Chatbot Visible', !chatbotVisible as string); }} id="chatbot-toggle" ref={toggleRef} diff --git a/packages/module/src/tracking/posthog_tracking_provider.ts b/packages/module/src/tracking/posthog_tracking_provider.ts new file mode 100644 index 00000000..f5588cb0 --- /dev/null +++ b/packages/module/src/tracking/posthog_tracking_provider.ts @@ -0,0 +1,41 @@ +import { posthog } from 'posthog-js'; + +import { TrackingApi } from './tracking_api'; +import { InitProps, TrackingSpi } from './tracking_spi'; + +export class PosthogTrackingProvider implements TrackingSpi, TrackingApi { + // eslint-disable-next-line @typescript-eslint/no-empty-function + registerProvider(): void {} + + initialize(props: InitProps): void { + // eslint-disable-next-line no-console + console.log('PosthogProvider initialize'); + const posthogKey = props.posthogKey as string; + + posthog.init(posthogKey, { + // eslint-disable-next-line camelcase + api_host: 'https://us.i.posthog.com', + // eslint-disable-next-line camelcase + person_profiles: 'identified_only' // or 'always' to create profiles for anonymous users as well + }); + } + + identify(userID: string): void { + // eslint-disable-next-line no-console + console.log('PosthogProvider userID: ' + userID); + posthog.identify(userID); + } + + trackPageView(url: string | undefined): void { + // eslint-disable-next-line no-console + console.log('PostHogProvider url', url); + // TODO posthog seems to record that automatically. + // How to not clash with this here? Just leave as no-op? + } + + trackSingleItem(item: string, options: string | undefined): void { + // eslint-disable-next-line no-console + console.log('PosthogProvider: trackSingleItem' + item, options); + posthog.capture(item, { options }); + } +} diff --git a/packages/module/src/tracking/tracking_registry.ts b/packages/module/src/tracking/tracking_registry.ts index e1b60798..a74bed9a 100644 --- a/packages/module/src/tracking/tracking_registry.ts +++ b/packages/module/src/tracking/tracking_registry.ts @@ -3,11 +3,13 @@ import { TrackingApi } from './tracking_api'; import TrackingProviderProxy from './trackingProviderProxy'; import { ConsoleTrackingProvider } from './console_tracking_provider'; import { SegmentTrackingProvider } from './segment_tracking_provider'; +import { PosthogTrackingProvider } from './posthog_tracking_provider'; export const getTrackingProviders = (initProps: InitProps): TrackingApi => { const providers: TrackingSpi[] = []; providers.push(new ConsoleTrackingProvider()); // TODO noop- provider? providers.push(new SegmentTrackingProvider()); + providers.push(new PosthogTrackingProvider()); // TODO dynamically find and register others // Initialize them From be9ee7f5b5eeee6015f7b4192c3fe917426813f8 Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Wed, 11 Dec 2024 10:21:45 +0100 Subject: [PATCH 07/20] Restructure event properties --- .../chatbot/examples/demos/Chatbot.tsx | 28 +++++++++---------- .../src/tracking/console_tracking_provider.ts | 6 ++-- .../src/tracking/posthog_tracking_provider.ts | 8 +++--- .../src/tracking/segment_tracking_provider.ts | 8 +++--- .../src/tracking/trackingProviderProxy.ts | 6 ++-- packages/module/src/tracking/tracking_api.ts | 6 +++- packages/module/src/tracking/tracking_spi.ts | 4 +-- 7 files changed, 35 insertions(+), 31 deletions(-) diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx index 5f1bb4e9..f481972b 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx @@ -126,11 +126,11 @@ const initialMessages: MessageProps[] = [ avatar: patternflyAvatar, timestamp: date.toLocaleString(), actions: { - positive: { onClick: () => tracking.trackSingleItem(actionEventName, 'Good response') }, - negative: { onClick: () => tracking.trackSingleItem(actionEventName, 'Bad response') }, - copy: { onClick: () => tracking.trackSingleItem(actionEventName, 'Copy') }, - share: { onClick: () => tracking.trackSingleItem(actionEventName, 'Share') }, - listen: { onClick: () => tracking.trackSingleItem(actionEventName, 'Listen') } + positive: { onClick: () => tracking.trackSingleItem(actionEventName, { response: 'Good response' }) }, + negative: { onClick: () => tracking.trackSingleItem(actionEventName, { response: 'Bad response' }) }, + copy: { onClick: () => tracking.trackSingleItem(actionEventName, { response: 'Copy' }) }, + share: { onClick: () => tracking.trackSingleItem(actionEventName, { response: 'Share' }) }, + listen: { onClick: () => tracking.trackSingleItem(actionEventName, { response: 'Listen' }) } } } ]; @@ -202,7 +202,7 @@ export const ChatbotDemo: React.FunctionComponent = () => { value: string | number | undefined ) => { setSelectedModel(value as string); - tracking.trackSingleItem('ModelSelected', value as string); + tracking.trackSingleItem('ModelSelected', { model: value }); }; const onSelectDisplayMode = ( @@ -220,7 +220,7 @@ export const ChatbotDemo: React.FunctionComponent = () => { const handleSend = (message: string) => { setIsSendButtonDisabled(true); - tracking.trackSingleItem('UserInputReceived', message); + tracking.trackSingleItem('UserInputReceived', { text: message }); const newMessages: MessageProps[] = []; // We can't use structuredClone since messages contains functions, but we can't mutate // items that are going into state or the UI won't update correctly @@ -266,17 +266,17 @@ export const ChatbotDemo: React.FunctionComponent = () => { avatar: patternflyAvatar, timestamp: date.toLocaleString(), actions: { - positive: { onClick: () => tracking.trackSingleItem(actionEvent2, 'Good response') }, - negative: { onClick: () => tracking.trackSingleItem(actionEvent2, 'Bad response') }, - copy: { onClick: () => tracking.trackSingleItem(actionEvent2, 'Copy') }, - share: { onClick: () => tracking.trackSingleItem(actionEvent2, 'Share') }, - listen: { onClick: () => tracking.trackSingleItem(actionEvent2, 'Listen') } + positive: { onClick: () => tracking.trackSingleItem(actionEvent2, { response: 'Good response' }) }, + negative: { onClick: () => tracking.trackSingleItem(actionEvent2, { response: 'Bad response' }) }, + copy: { onClick: () => tracking.trackSingleItem(actionEvent2, { response: 'Copy' }) }, + share: { onClick: () => tracking.trackSingleItem(actionEvent2, { response: 'Share' }) }, + listen: { onClick: () => tracking.trackSingleItem(actionEvent2, { response: 'Listen' }) } } }); setMessages(loadedMessages); // make announcement to assistive devices that new message has loaded setAnnouncement(`Message from Bot: API response goes here`); - tracking.trackSingleItem('BotResponded', ''); + tracking.trackSingleItem('BotResponded', { undefined }); setIsSendButtonDisabled(false); }, 5000); }; @@ -348,7 +348,7 @@ export const ChatbotDemo: React.FunctionComponent = () => { isChatbotVisible={chatbotVisible} onToggleChatbot={function () { setChatbotVisible(!chatbotVisible); - tracking.trackSingleItem('Chatbot Visible', !chatbotVisible as string); + tracking.trackSingleItem('Chatbot Visible', { isVisible: !chatbotVisible }); // TODO correct? }} id="chatbot-toggle" ref={toggleRef} diff --git a/packages/module/src/tracking/console_tracking_provider.ts b/packages/module/src/tracking/console_tracking_provider.ts index 77a6866a..7f19abc4 100644 --- a/packages/module/src/tracking/console_tracking_provider.ts +++ b/packages/module/src/tracking/console_tracking_provider.ts @@ -1,5 +1,5 @@ import { TrackingSpi } from './tracking_spi'; -import { TrackingApi } from './tracking_api'; +import { TrackingApi, TrackingEventProperties } from './tracking_api'; export class ConsoleTrackingProvider implements TrackingSpi, TrackingApi { trackPageView(url: string | undefined) { @@ -19,8 +19,8 @@ export class ConsoleTrackingProvider implements TrackingSpi, TrackingApi { console.log('ConsoleProvider identify', userID); } - trackSingleItem(item: string, options: string | undefined): void { + trackSingleItem(item: string, properties?: TrackingEventProperties): void { // eslint-disable-next-line no-console - console.log('ConsoleProvider: ' + item, options); + console.log('ConsoleProvider: ' + item, properties); } } diff --git a/packages/module/src/tracking/posthog_tracking_provider.ts b/packages/module/src/tracking/posthog_tracking_provider.ts index f5588cb0..41f4c4da 100644 --- a/packages/module/src/tracking/posthog_tracking_provider.ts +++ b/packages/module/src/tracking/posthog_tracking_provider.ts @@ -1,6 +1,6 @@ import { posthog } from 'posthog-js'; -import { TrackingApi } from './tracking_api'; +import { TrackingApi, TrackingEventProperties } from './tracking_api'; import { InitProps, TrackingSpi } from './tracking_spi'; export class PosthogTrackingProvider implements TrackingSpi, TrackingApi { @@ -33,9 +33,9 @@ export class PosthogTrackingProvider implements TrackingSpi, TrackingApi { // How to not clash with this here? Just leave as no-op? } - trackSingleItem(item: string, options: string | undefined): void { + trackSingleItem(item: string, properties?: TrackingEventProperties): void { // eslint-disable-next-line no-console - console.log('PosthogProvider: trackSingleItem' + item, options); - posthog.capture(item, { options }); + console.log('PosthogProvider: trackSingleItem' + item, properties); + posthog.capture(item, { properties }); } } diff --git a/packages/module/src/tracking/segment_tracking_provider.ts b/packages/module/src/tracking/segment_tracking_provider.ts index 5ee38f65..d87a96c3 100644 --- a/packages/module/src/tracking/segment_tracking_provider.ts +++ b/packages/module/src/tracking/segment_tracking_provider.ts @@ -1,6 +1,6 @@ import { AnalyticsBrowser } from '@segment/analytics-next'; -import { TrackingApi } from './tracking_api'; +import { TrackingApi, TrackingEventProperties } from './tracking_api'; import { InitProps, TrackingSpi } from './tracking_spi'; export class SegmentTrackingProvider implements TrackingSpi, TrackingApi { @@ -50,11 +50,11 @@ export class SegmentTrackingProvider implements TrackingSpi, TrackingApi { } } - trackSingleItem(item: string, options: string | undefined): void { + trackSingleItem(item: string, properties?: TrackingEventProperties): void { // eslint-disable-next-line no-console - console.log('SegmentProvider: trackSingleItem' + item, options); + console.log('SegmentProvider: trackSingleItem' + item, properties); if (this.analytics) { - this.analytics.track(item, { options }); + this.analytics.track(item, { properties }); } } } diff --git a/packages/module/src/tracking/trackingProviderProxy.ts b/packages/module/src/tracking/trackingProviderProxy.ts index d9cfaba4..e2c78d5c 100644 --- a/packages/module/src/tracking/trackingProviderProxy.ts +++ b/packages/module/src/tracking/trackingProviderProxy.ts @@ -1,4 +1,4 @@ -import { TrackingApi } from './tracking_api'; +import { TrackingApi, TrackingEventProperties } from './tracking_api'; class TrackingProviderProxy implements TrackingApi { providers: TrackingApi[] = []; @@ -12,9 +12,9 @@ class TrackingProviderProxy implements TrackingApi { } } - trackSingleItem(eventName: string, options: string | undefined): void { + trackSingleItem(eventName: string, properties?: TrackingEventProperties): void { for (const provider of this.providers) { - provider.trackSingleItem(eventName, options); + provider.trackSingleItem(eventName, properties); } } diff --git a/packages/module/src/tracking/tracking_api.ts b/packages/module/src/tracking/tracking_api.ts index e5aa9d4b..fef0fdc7 100644 --- a/packages/module/src/tracking/tracking_api.ts +++ b/packages/module/src/tracking/tracking_api.ts @@ -1,7 +1,11 @@ +export interface TrackingEventProperties { + [key: string]: string | number | boolean | undefined; +} + export interface TrackingApi { identify: (userID: string) => void; trackPageView: (url: string | undefined) => void; - trackSingleItem: (eventName: string, options: string | undefined) => void; + trackSingleItem: (eventName: string, properties: TrackingEventProperties | undefined) => void; } diff --git a/packages/module/src/tracking/tracking_spi.ts b/packages/module/src/tracking/tracking_spi.ts index 120d5d95..9804e979 100644 --- a/packages/module/src/tracking/tracking_spi.ts +++ b/packages/module/src/tracking/tracking_spi.ts @@ -1,4 +1,4 @@ -import { TrackingApi } from './tracking_api'; +import { TrackingApi, TrackingEventProperties } from './tracking_api'; export interface InitProps { [key: string]: string | number | boolean; @@ -8,5 +8,5 @@ export interface TrackingSpi extends TrackingApi { // register our tracking provider registerProvider: () => void; initialize: (props: InitProps) => void; - trackSingleItem: (item: string, options?: string) => void; + trackSingleItem: (item: string, properties?: TrackingEventProperties) => void; } From efa77beca3b9a0cc1eaa6954712d3bce1fce5c7b Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Wed, 11 Dec 2024 10:22:25 +0100 Subject: [PATCH 08/20] Add Umami tracking provider. --- .../chatbot/examples/demos/Chatbot.tsx | 2 + .../module/src/tracking/tracking_registry.ts | 4 +- .../src/tracking/umami_tracking_provider.ts | 46 +++++++++++++++++++ 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 packages/module/src/tracking/umami_tracking_provider.ts diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx index f481972b..702c07ef 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx @@ -100,6 +100,8 @@ const date = new Date(); const initProps: InitProps = { segmentKey: 'TODO-key', // TODO add your key here posthogKey: 'TODO-key', + umamiKey: 'TODO-key', + umamiHostUrl: 'http://localhost:3000', // TODO where is your JS provider? something: 'test' }; diff --git a/packages/module/src/tracking/tracking_registry.ts b/packages/module/src/tracking/tracking_registry.ts index a74bed9a..655db6fb 100644 --- a/packages/module/src/tracking/tracking_registry.ts +++ b/packages/module/src/tracking/tracking_registry.ts @@ -4,13 +4,15 @@ import TrackingProviderProxy from './trackingProviderProxy'; import { ConsoleTrackingProvider } from './console_tracking_provider'; import { SegmentTrackingProvider } from './segment_tracking_provider'; import { PosthogTrackingProvider } from './posthog_tracking_provider'; +import { UmamiTrackingProvider } from './umami_tracking_provider'; export const getTrackingProviders = (initProps: InitProps): TrackingApi => { const providers: TrackingSpi[] = []; providers.push(new ConsoleTrackingProvider()); // TODO noop- provider? providers.push(new SegmentTrackingProvider()); providers.push(new PosthogTrackingProvider()); - // TODO dynamically find and register others + providers.push(new UmamiTrackingProvider()); + // TODO dynamically find and register providers // Initialize them for (const provider of providers) { diff --git a/packages/module/src/tracking/umami_tracking_provider.ts b/packages/module/src/tracking/umami_tracking_provider.ts new file mode 100644 index 00000000..2ff50040 --- /dev/null +++ b/packages/module/src/tracking/umami_tracking_provider.ts @@ -0,0 +1,46 @@ +import { InitProps, TrackingSpi } from './tracking_spi'; +import { TrackingApi, TrackingEventProperties } from './tracking_api'; + +export class UmamiTrackingProvider implements TrackingSpi, TrackingApi { + // eslint-disable-next-line @typescript-eslint/no-empty-function + registerProvider(): void {} + + initialize(props: InitProps): void { + // eslint-disable-next-line no-console + console.log('UmamiProvider initialize'); + const umamiKey = props.umamiKey as string; + const hostUrl = props.umamiHostUrl as string; + + const script = document.createElement('script'); + script.src = hostUrl + '/script.js'; + script.async = true; + script.defer = true; + + // Configure Umami properties + script.setAttribute('data-website-id', umamiKey); + script.setAttribute('data-domains', 'localhost'); // TODO ? + script.setAttribute('data-auto-track', 'false'); + script.setAttribute('data-host-url', hostUrl); // TODO ? + script.setAttribute('data-exclude-search', 'false'); // TODO ? + + document.body.appendChild(script); + } + + identify(userID: string): void { + // eslint-disable-next-line no-console + console.log('UmamiProvider userID: ' + userID); + window.umami?.identify({ userID }); + } + + trackPageView(url: string | undefined): void { + // eslint-disable-next-line no-console + console.log('UmamiProvider url', url); + window.umami?.track({ url }); + } + + trackSingleItem(item: string, properties?: TrackingEventProperties): void { + // eslint-disable-next-line no-console + console.log('UmamiProvider: trackSingleItem' + item, properties); + window.umami?.track(item, properties); + } +} From fe20b5a4a141927c945b1e0b6dc2ec7a41dc7908 Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Fri, 13 Dec 2024 17:20:34 +0100 Subject: [PATCH 09/20] Declare window.umami, which will be set by the loaded js code --- packages/module/src/tracking/umami_tracking_provider.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/module/src/tracking/umami_tracking_provider.ts b/packages/module/src/tracking/umami_tracking_provider.ts index 2ff50040..5d5b1c78 100644 --- a/packages/module/src/tracking/umami_tracking_provider.ts +++ b/packages/module/src/tracking/umami_tracking_provider.ts @@ -1,6 +1,12 @@ import { InitProps, TrackingSpi } from './tracking_spi'; import { TrackingApi, TrackingEventProperties } from './tracking_api'; +declare global { + interface Window { + umami: any; + } +} + export class UmamiTrackingProvider implements TrackingSpi, TrackingApi { // eslint-disable-next-line @typescript-eslint/no-empty-function registerProvider(): void {} From a563416ac41844ee839eceb6aef300f9c0dde4a0 Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Thu, 23 Jan 2025 17:24:42 +0100 Subject: [PATCH 10/20] Change the SPI a bit wrt activation of providers. --- package-lock.json | 9 --------- .../content/extensions/chatbot/examples/demos/Chatbot.md | 5 +++++ .../extensions/chatbot/examples/demos/Chatbot.tsx | 1 + .../module/src/tracking/console_tracking_provider.ts | 4 ++++ .../module/src/tracking/posthog_tracking_provider.ts | 5 +++-- .../module/src/tracking/segment_tracking_provider.ts | 5 +++-- packages/module/src/tracking/tracking_registry.ts | 7 +++++-- packages/module/src/tracking/tracking_spi.ts | 6 ++++-- packages/module/src/tracking/umami_tracking_provider.ts | 5 +++-- 9 files changed, 28 insertions(+), 19 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3d0b2ce4..f408782d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3996,15 +3996,6 @@ "react-dom": "15.x || 16.x || 17.x || 18.x" } }, - "node_modules/@remix-run/router": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.2.tgz", - "integrity": "sha512-+Rnav+CaoTE5QJc4Jcwh5toUpnVLKYbpU6Ys0zqbakqbaLQHeglLVHPfxOiQqdNmUy5C2lXz5dwC6tQNX2JW2Q==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@segment/analytics-core": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.8.0.tgz", diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md index 489b6c01..52b0a0e8 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md @@ -83,6 +83,7 @@ This demo displays a basic ChatBot, which includes: 7. A "Skip to chatbot" button that allows you to skip to the chatbot content via the [PatternFly skip to content component](/patternfly-ai/chatbot/ui#skip-to-content). To display this button you must tab into the main window. + ```js file="./Chatbot.tsx" isFullscreen ``` @@ -128,3 +129,7 @@ Your code structure should look like this: ```js file="./EmbeddedComparisonChatbot.tsx" isFullscreen ``` + + +### Analytics + diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx index 702c07ef..0ed8bc72 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx @@ -102,6 +102,7 @@ const initProps: InitProps = { posthogKey: 'TODO-key', umamiKey: 'TODO-key', umamiHostUrl: 'http://localhost:3000', // TODO where is your JS provider? + console: true, something: 'test' }; diff --git a/packages/module/src/tracking/console_tracking_provider.ts b/packages/module/src/tracking/console_tracking_provider.ts index 7f19abc4..178b25b7 100644 --- a/packages/module/src/tracking/console_tracking_provider.ts +++ b/packages/module/src/tracking/console_tracking_provider.ts @@ -23,4 +23,8 @@ export class ConsoleTrackingProvider implements TrackingSpi, TrackingApi { // eslint-disable-next-line no-console console.log('ConsoleProvider: ' + item, properties); } + + getKey(): string { + return 'console'; + } } diff --git a/packages/module/src/tracking/posthog_tracking_provider.ts b/packages/module/src/tracking/posthog_tracking_provider.ts index 41f4c4da..fb8c7b93 100644 --- a/packages/module/src/tracking/posthog_tracking_provider.ts +++ b/packages/module/src/tracking/posthog_tracking_provider.ts @@ -4,8 +4,9 @@ import { TrackingApi, TrackingEventProperties } from './tracking_api'; import { InitProps, TrackingSpi } from './tracking_spi'; export class PosthogTrackingProvider implements TrackingSpi, TrackingApi { - // eslint-disable-next-line @typescript-eslint/no-empty-function - registerProvider(): void {} + getKey(): string { + return 'posthogKey'; + } initialize(props: InitProps): void { // eslint-disable-next-line no-console diff --git a/packages/module/src/tracking/segment_tracking_provider.ts b/packages/module/src/tracking/segment_tracking_provider.ts index d87a96c3..222e9224 100644 --- a/packages/module/src/tracking/segment_tracking_provider.ts +++ b/packages/module/src/tracking/segment_tracking_provider.ts @@ -5,8 +5,9 @@ import { InitProps, TrackingSpi } from './tracking_spi'; export class SegmentTrackingProvider implements TrackingSpi, TrackingApi { private analytics: AnalyticsBrowser | undefined; - // eslint-disable-next-line @typescript-eslint/no-empty-function - registerProvider(): void {} + getKey(): string { + return 'segmentKey'; + } initialize(props: InitProps): void { // eslint-disable-next-line no-console diff --git a/packages/module/src/tracking/tracking_registry.ts b/packages/module/src/tracking/tracking_registry.ts index 655db6fb..17303d05 100644 --- a/packages/module/src/tracking/tracking_registry.ts +++ b/packages/module/src/tracking/tracking_registry.ts @@ -8,7 +8,6 @@ import { UmamiTrackingProvider } from './umami_tracking_provider'; export const getTrackingProviders = (initProps: InitProps): TrackingApi => { const providers: TrackingSpi[] = []; - providers.push(new ConsoleTrackingProvider()); // TODO noop- provider? providers.push(new SegmentTrackingProvider()); providers.push(new PosthogTrackingProvider()); providers.push(new UmamiTrackingProvider()); @@ -16,8 +15,12 @@ export const getTrackingProviders = (initProps: InitProps): TrackingApi => { // Initialize them for (const provider of providers) { - provider.initialize(initProps); + if (Object.keys(provider).length > 0) { + provider.initialize(initProps); + } } + // Add the console provider + providers.push(new ConsoleTrackingProvider()); // TODO noop- provider? return new TrackingProviderProxy(providers); }; diff --git a/packages/module/src/tracking/tracking_spi.ts b/packages/module/src/tracking/tracking_spi.ts index 9804e979..7045dc14 100644 --- a/packages/module/src/tracking/tracking_spi.ts +++ b/packages/module/src/tracking/tracking_spi.ts @@ -5,8 +5,10 @@ export interface InitProps { } export interface TrackingSpi extends TrackingApi { - // register our tracking provider - registerProvider: () => void; + // Return a key in InitProps to check if the provided should be enabled + getKey: () => string; + // Initialize the provider initialize: (props: InitProps) => void; + // Track a single item trackSingleItem: (item: string, properties?: TrackingEventProperties) => void; } diff --git a/packages/module/src/tracking/umami_tracking_provider.ts b/packages/module/src/tracking/umami_tracking_provider.ts index 5d5b1c78..f13d03fd 100644 --- a/packages/module/src/tracking/umami_tracking_provider.ts +++ b/packages/module/src/tracking/umami_tracking_provider.ts @@ -8,8 +8,9 @@ declare global { } export class UmamiTrackingProvider implements TrackingSpi, TrackingApi { - // eslint-disable-next-line @typescript-eslint/no-empty-function - registerProvider(): void {} + getKey(): string { + return 'umamiKey'; + } initialize(props: InitProps): void { // eslint-disable-next-line no-console From c515f26489f6be9d832d2c10388ad945fdd04650 Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Thu, 23 Jan 2025 17:25:37 +0100 Subject: [PATCH 11/20] Start of documentation --- .../extensions/chatbot/about-chatbot.md | 3 + .../chatbot/examples/Analytics/Analytics.md | 146 +++++++++++++++++ .../examples/Analytics/analytics-layout.svg | 150 ++++++++++++++++++ 3 files changed, 299 insertions(+) create mode 100644 packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md create mode 100644 packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/analytics-layout.svg diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/about-chatbot.md b/packages/module/patternfly-docs/content/extensions/chatbot/about-chatbot.md index 34f61251..7a7ef7d3 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/about-chatbot.md +++ b/packages/module/patternfly-docs/content/extensions/chatbot/about-chatbot.md @@ -37,5 +37,8 @@ Explore our documentation, which covers both ChatBot UI components and message-r - Messages - [Bot and user messages](/patternfly-ai/chatbot/messages) - [File attachments](/patternfly-ai/chatbot/messages#attachments) +- Analytics support + - [Overview](/patternfly-ai/chatbot/analytics) + We will continue to grow and evolve our ChatBot. If you notice a bug or have any suggestions, feel free to file an issue in our [GitHub repository!](https://github.com/patternfly/chatbot/issues) Make sure to check if there is already a pre-existing issue before creating a new one. diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md new file mode 100644 index 00000000..032dd67f --- /dev/null +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md @@ -0,0 +1,146 @@ +--- +# Sidenav top-level section +# should be the same for all markdown files +section: PatternFly-AI +subsection: ChatBot +# Sidenav secondary level section +# should be the same for all markdown files +id: Analytics +# Tab (react | react-demos | html | html-demos | design-guidelines | accessibility) +source: react +# If you use typescript, the name of the interface to display props for +# These are found through the sourceProps function provided in patternfly-docs.source.js +propComponents: + [ + + ] +sortValue: 4 +--- + +## Overview + +The following diagram shows the main components of the Analytics tracking code: + +
+![Main elements of the tracking code.](./analytics-layout.svg) +
+ +The user code first calls the static `getTrackingProviders()` method which initialises the tracking providers. +This returns an instance of the `TrackingAPI` , which can then subsequently be used to emit analytics events. + +User code (blueish box) only interacts with the classes/methods in green. + +## Usage + +Before the code can be used, it is necessary to once supply the api-keys of the respective providers: +```nolive +const initProps: InitProps = { + segmentKey: 'TODO-key', // TODO add your key here + posthogKey: 'TODO-key', + umamiKey: 'TODO-key', + umamiHostUrl: 'http://localhost:3000', // TODO where is your JS provider? + something: 'test', + console: 'true' // Console provider +}; +``` + +Once this is done, you can get an instance of the `TrackingAPI` and then start sending events. +One of the first events should be to identify the user in some way (this can be a UUID, which stays the same for the same user). + + + +```nolive +const trackingAPI = getTrackingProviders(initProps); +trackingAPI.identify('user-123'); // TODO get real user id +// Track the page, that is currently visited. Best put into a react effect (see below) +trackingAPI.trackPageView(); +// Track a single Event +trackingAPI.trackSingleItem("MyEvent", { response: 'Good response' }) +``` + +### Page hit tracking + +For page flow tracking, you can use a snippet like this. + +```nolive +import React from 'react'; +import { useLocation } from 'react-router-dom'; + +export const useTrackPageFlow = (): void => { + const { pathname } = useLocation(); + + // notify url change events + React.useEffect(() => { + trackingAPI.trackPageView(); + }, [pathname]); +}; +``` + +### Single Event tracking + +To track single events (e.g. Button Press, Form Submission), you use the `trackSingleItem` method. + +```nolive +trackingAPI.trackSingleItem(eventName, propertyDict) +``` + +The method takes two parameters: + +* eventName : name of the event. Should be unique throughout the application (or you need to differentiate different events with the same name by supplying an additional property). +* propertyDict: a dict with key-value pairs that represent important properties of the event. The dict can be empty. + +When submitting forms, you only instrument the form itself. Don't instrument the button that calls the form. +Two major cases need to be distinguished: + +* Form submitted +* * Form submission action was successful +* * Form submission action failed +* Form was cancelled + +For form submission, you can use the +```nolive +trackingAPI.trackSingleItem(Event_Name, { + outcome: << submit , cancel >>, + success? : boolean, + error? : string, + , string/number/boolean } ) +``` + +call. Outcome is obvious, for `outcome=submit`, `success` denotes if the action (in the backend) was successful or not. +For the case of failure, `error` would yield the error message (try to strip out variable parts like the random part of a container-name). +`` are some additional properties from the form, that should be sent to analytics. +Take good judgement, what to send. +Items like names provided by the user above should not be sent. +Likewise for the content of a description field. +On the other hand for Deployments, replica count or memory server size are items that could be sent and will help us to better understand the users. + + +### Enable analytics gathering + +Only providers that have a matching key in the `InitProps` will be started and used. + +```nolive +const initProps: InitProps = { + segmentKey: 'TODO-key', // TODO add your key here + posthogKey: 'TODO-key', + umamiKey: 'TODO-key', + umamiHostUrl: 'http://localhost:3000', // TODO where is your JS provider? + console: true +``` + +If you know upfront that you only want to use one of the providers, it is possible to modify +`getTrackingProviders()` and omit the unneeded providers in the providers array. + +// TODO talk about package.json + +## Examples + + + + +## Add a new analytics provider + +To add another analytics provider, you need to implement two interfaces, `TrackingSpi` and `TrackingApi`. Most easy is probably to copy the `ConsoleTrackingProvider`. +The first thing you should do is to provide a correct value in `getKey()`. +Once you are happy enough with the implementation, you should add it in `getTrackingProviders()` to the array of providers + diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/analytics-layout.svg b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/analytics-layout.svg new file mode 100644 index 00000000..c49c7522 --- /dev/null +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/analytics-layout.svg @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + Canvas 1 + + Layer 1 + + + + + User + Code + + + + + + + TrackingProviderProxy + + + + + + + + Provider + + + + + + + Provider + + + + + + + Provider + + + + + + + + <<interface>> + TrackingSPI + + + + + + + + + + + + + + + <<registers>> + + + + + + + + + <<creates> + + + + + + <<initializes>> + + + + + + + + TrackingRegistry + + + + + + + + getTrackingProviders + + + + + + + + + <<interface> + TrackingAPI + + + + + + + + identify + + trackPageView + +trackSingleItem + + + + + + + + + + + + + <<uses>> + + + + + From 81c8ff16640ecc97dcf31be9f7a344582bdd63e6 Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Fri, 24 Jan 2025 17:58:52 +0100 Subject: [PATCH 12/20] Only add enabled providers to the Proxy --- packages/module/src/tracking/tracking_registry.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/module/src/tracking/tracking_registry.ts b/packages/module/src/tracking/tracking_registry.ts index 17303d05..6f35bedc 100644 --- a/packages/module/src/tracking/tracking_registry.ts +++ b/packages/module/src/tracking/tracking_registry.ts @@ -11,18 +11,23 @@ export const getTrackingProviders = (initProps: InitProps): TrackingApi => { providers.push(new SegmentTrackingProvider()); providers.push(new PosthogTrackingProvider()); providers.push(new UmamiTrackingProvider()); + // TODO dynamically find and register providers // Initialize them + const enabledProviders: TrackingSpi[] = []; for (const provider of providers) { - if (Object.keys(provider).length > 0) { + const key = provider.getKey(); + if (Object.keys(initProps).indexOf(key) > -1) { provider.initialize(initProps); + enabledProviders.push(provider); } } // Add the console provider - providers.push(new ConsoleTrackingProvider()); // TODO noop- provider? + const consoleTrackingProvider = new ConsoleTrackingProvider(); + enabledProviders.push(consoleTrackingProvider); // TODO noop- provider? - return new TrackingProviderProxy(providers); + return new TrackingProviderProxy(enabledProviders); }; export default getTrackingProviders; From dddc82dd84d1e5f7a3cc2d9019fce275d9e50868 Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Fri, 24 Jan 2025 17:59:40 +0100 Subject: [PATCH 13/20] Add examples to docs --- .../chatbot/examples/Analytics/Analytics.md | 45 +++++++++++++++++- .../chatbot/examples/Analytics/Events.png | Bin 0 -> 65232 bytes .../examples/Analytics/Events_Segment.png | Bin 0 -> 56621 bytes .../examples/Analytics/Events_posthog.png | Bin 0 -> 190566 bytes .../examples/Analytics/Events_umami.png | Bin 0 -> 90544 bytes 5 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Events.png create mode 100644 packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Events_Segment.png create mode 100644 packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Events_posthog.png create mode 100644 packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Events_umami.png diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md index 032dd67f..6ec84d15 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md @@ -135,12 +135,55 @@ If you know upfront that you only want to use one of the providers, it is possib ## Examples +I have started the ChatBot and done the actions 1-5 in order: +
+![Events done in the chatbot.](./Events.png) +
+ +1) Select a Model +2) Posted a question +3) Got an answer from the model +4) Clicked the thumbsUp button +5) Closed the chatbot + +### Segment + +Segment shows the events in its Source debugger with the newest event at the top. +Below the numbered events, you can also see the results of `identify` and `trackPageView`. + +
+![Events display in the Segment debugger.](./Events_segment.png) +
+ +If you clicked on an event, you'd get to see the passed properties. + +### Umami + +Events are visible in Umami under Website -> Events: + +The list is pretty similar to Segment, just differently formatted. + +
+![Events in Umami.](./Events_umami.png) +
+ +### PostHog + +PostHog shows the Events in the Activity section. + +
+![Events in PostHog.](./Events_posthog.png) +
+ +PostHog sends more events, as it integrates deeper in the provided code, +you can nevertheless see the main events that we have created in our code. ## Add a new analytics provider -To add another analytics provider, you need to implement two interfaces, `TrackingSpi` and `TrackingApi`. Most easy is probably to copy the `ConsoleTrackingProvider`. +To add another analytics provider, you need to implement two interfaces, `TrackingSpi` and `TrackingApi`. +Most easy is probably to copy the `ConsoleTrackingProvider`. The first thing you should do is to provide a correct value in `getKey()`. Once you are happy enough with the implementation, you should add it in `getTrackingProviders()` to the array of providers diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Events.png b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Events.png new file mode 100644 index 0000000000000000000000000000000000000000..41a7a06218c0c8d897c366a9ac52db26568d2f0e GIT binary patch literal 65232 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

m%_yuN zq1_u&q8#e)A4d#7AJ_P5G61*Q_FaB|@X;CE#XRrSbe75@uogeL)@$=Yfxj8sh;N{= zPT7md6+`clK-O$-LiUK`@0RWSNSpAnj^PjQNNU?2ns}F8sSP4J)tPLWC5D~Fn+sg0 z3kdhKoIK+Y_kTVhs3BD)07~_DfAk>-yV%DMow8e!8NhAG?KS_9QrQE6`9Iez zig-#T3N0lQ(c2Zv0QJQYpulhCK!j4}13>e$1dO~J_k8bE_H2h^NYD`L??T2!jRIFB zWgB`bH=MrypBDhTP1bv3=!nFVo|xw<9)r8qr`vVE!T!(-R2AE<{27KtSKM#EefV%Q ziU;4<+xYt%!+$W}o1WY%8E1)HBs#$nQyDMUeIDK4>DE;rr)m*tAFypB;~XF(x1$; zA8|VSN5i^XHRa%V3-UAyu%b&JJ&HL2LJ{;tfIo*CYlYH%J_ALmG1jRQz#xu*Ty@UV z8Z;1nwLV5G@JoXZknnf*@;{5otOyRSaIGVGSgSgMW^^Cir+u@y3LxGO9vp=8(^PFf_8N{Z02fJtHDx1VHF$M}R_p)z53Upm zaHSWyZX{`!0Q!glLKqcNU?3;P>a5QVU1=AW**yr(v`X{cXT;FoD8IV`kVbLg!ZHfY zE%5A=(bUuom0ej~y)U%49Ck5oN;E@!@A%J=o)rQDq!*V7cjS}QOD1qeIn;qo8hcYI zVAK-;M)xN+(y9&G9>AgJjZJ>CY~8yU6@|!<5DX%4k~ISH0#~bOKs`|U^!Om5IJ6+B zj*P*BJ);~qqn2kfrgYU_oM|L+4;-qzU&KjfTj2P=_~0r5TvZHr-uJ~oVB+9Vd4TmS z|6J(zTrD))$ken!F`L>N;~d@tMJ72?!Yi|!Vp;uCV}>i*@&PXX=b;+6UAqU5O-^>i z9p(9M+(zN>;IsFrMH9-(%0>X)VRzcm*fu}E3nAh_&arU#BF=gZO5NTt5`p=>$y6Zt z>IRYHE~bL8cfb4&;2!gOv_M4!Iv?dac0DwE_9iGR;oIi$twI!$GAt{L@|48!;Vf4< zS4%A~!4}n}FUC`Drl=b1i^V58wmxYxz?FT!_>|ZPSw=?2;xs-jtz@aKwY632b`+#W zqHmFtXdyiX0kP8iYLpG=sqE%Zm@2=e-nLQz8dL^5B}{z&2cAL7e3jf)wbQ4=&M5rn zrLB;1<46{I(Qp#1fNK;X?k;kxuyUJ0L-gBDg3hRh&TqecX+9{QfK7mOc-;q80P$r5 zA2>P59guNj-(s7ousD;Y(;CZ+ENN=35$q#F!nPA3Eb3TAQC?P2G>pt**E1>lEK9d) zv^LE0aW~592Bnpw6xV&vjvAWHD_SaL7z%@oMx(}uC1NN(g&+iPP>9c5AhsUV0KBY1 z-ECFYO&A*U$Shg!`4s76*5@)k$3cwiZI7j|(4tmS*&7WD8toJ+Qc@OPX>mzM@IsD0 zwvcM}*scF?a6NsN=g^ZseAgFKTRJEmQKuc8qbbvvGDW9}HRMnyK@^n`&e9?DGrD$} z)ONY`lO5>e@XTWpvV-T?g!Y9_tp_cYQMEu&;$a`dde?w)MFYK_lIvW#dCt5blh`P( zuCkJvCe8MF91P=wY#GIgZZcg@YFAd$^yAq1DBep4`B-7I0(PW$GEL2WUiJ^eAkz#; zdoB)7BJa)Nm?f&^z(#awP7xuocbmjh^f58W5Xe&fODuI7hv~4}b-Ru(8uq{ah^CbfL_K zeo3JTlF$BVQN5p629pB8F8vfKd(`Us4rxi0$LZtwV9t9^`N0kk5ANXcIxLFJuDX9_ zkg9XK+3^@s;qXLesbol4=7)WCXHQxy5)3J|d$x(I&kd%u$8CgR7gVT-A17cmq7aE5 zh68bP?*8T!7*#a8Ke8NVf{lpp?EVGGPz=5dDCi>6)?%_}8(<5vj42f!&Zo>lv9-S& znWb-GLk8Gci(e%^>2QC8c!n>YTH5y+JC+oxVvBSW77Yc*XB{yt=!FkDiqFOOVr%Q1 z`;uuH0o0nRFWs3Ap1nVy_>gvxstR!{q$h(>f(BG{qni`6AHgL z^TVSC;gU?-p9M;GT}+N_F$ZJOuzlkj+oyaWz348tIS??6tpWmC?K?mv>;+PhxgY1N znBX3E#6?fjRo?08+I3NL65g3$T;FQN_Wf`&c1v+n3zE%W*8AetHnfmNzCEttq!HEo z+`(E;g#|~i!oo5D0^=Jv#*SM#MZ0?fMdVUpTp2MyekuQUy*KtKPvlm5uklzxS_Zba zyXBe=)V#8G?C$k$cFQl&UNPQtaOryvW0CJ-KN#z7u0J0o7fN*$CcA^4FM#H(4?#q|QyBx!qzTQ7E4cW;_B zPP2d@25Nlq;+gev^H#{cm8YfSR6;#86u$z~v(=KaX95s97KF`5GG4$Pgx37<6b{_N zLB-btgl^Q}U_Ra&j0S6AL=r)^e2*zaoyJ04o6jV1JL6{*k3a0(7^SPJ&C2!~-}NfQ zuCBE8`;@fV90@{hkb#j$gQ_k5<5K9&^c--Dl@?H7?mD z`WX>!fj5hnryr6WOH8WVV=au9QuJxV2N~j?JQ>&dD#SeUT=H2zJ$|f!@%J-3Axqth zv=C=lD1vEzVW?6_t$?a&lAj-P&(KhKB;AT3Se)ap5!&YB3Lej&;j8_sniVji{xz{s zy;FL3VmMjfc>SzWldWCB+F+N7F0wWkr6FzX|C6hY%#Y> z3EA4y8W=csWeXhWoqu)tUN^|2PFP~{Ck=yv$Vu{t9w?RyaPGegI$u~`b`lq#<06m`GDwoT_ zTeuf^PVIDT!}(Sq9oQzaq7by^YhV@^@f-15vvp3efNR$#i!gKSlkd2y1wsw3pHiYy zbJhKltIA(BFZCdctk_wt?i{sNt`Z~`XMRWpx>~ZGXMSx@@sN} z_SBB!Z=?Jco^PhJxi<-+@G1&53FNP44vi82m0Z%GJ#>nBz|4J@8 z0Qd-veJZE?S8`>5bLiviE_65=1pa(W16ll;+>_3re;?=z-+hQlSpOsl;6vO&Vmrs7 zOUU@|1ON8|{vSL6G%@`ibm?!M$Uu5c3)<3^a==S>uzY7UC-@m~IFCw6VS?*0fUW#E zABN47N>C%hCEZR}z{kL7C{1Y3aPJki4;+&NtBoGiU(S;JG&B-GX2B#i)!Qp`?z$Ht zN{w2!MvAu8n5T|dP*9*ZgksMQ`Wkl!0V3m#TeBM6Zebz6?JBvz$6zN&n{(HYkwEMMZ8;qQUI41DqP$G~Vl-uW)5UEYG3~ z)mjZ)+zPko;MW<)xTv_Q=pGn|1+C9MFyJi9<^^DIJ!fS-cN9p&ess@>6I83pn#~@r zpI;iWQR4{Si<|#w+Qld?^=;W!N=Ii+zYEynOE$t9o0+O@mRRoJzwfJsI{oR19zDRu zFbynT(AywK_-K{A_2ErbuoF%UNFM1Kp;|*!v!5;+UTmQOqS-0cSJnaDH)h< zJyA4A=Pkb%nDu}>B-g0{ND6YYvR>++fQe*1HP5nP@uQ=o zYhVIRBzzW@_3v7UCXL@=a95cpa~#mDEh30$s4uPb_AMN?B#|6+r}>+#r= z69=(|b!Zm}9h^5v;B;{bCVQPYUSOZkS6RkiPcLD?>Vd@H2|g{%2&79#pcp4xSs)9B z*O z7qBp~yQvp|9EjcH!dA?_9W?PAt-33W`{vI@X&(q4l4cMg6XCGc00v=5?d!7_3I52$S6SPz(YMGGg#-hIfLeMeDqbWTw+%Eo2bq%WUFADPS9YN3BV#*0|Rx2_b#x>6i|u%5a%We)zOi$$sDGE z!l!V^8|aAG-A>GIM@T`3F$K(*0|huG;H<&H$p^(p`Q)| zLZ<)ah#YyfH1|ruF#?HwFn!Edlx6h(AeR;#+Z#y&cjey2r{8a{bhefwh=1HB| z2&JbR7!w8WC-;Fq`2Lx{9I02n{P%{BNtiK%q2DpH(d0Vs)7Tk>gk%O0Bl=-HEs?Bu zhH#OBv410aO3E!ie9@7!{42#bIskkoI;{Uq0}#2qJgqFYtwphHoID-xQN0 zS>3%xG%#pwJ%tks8cfIv0N*S5bdzMQ{%? zcTE)JauxiMl?PRDQC5ST$>USoG4+pNP&YhDq!$T~!kLwPVboO_?dDGHfiOY~N0;Do zFIb^|6Pj-w0px2p=M9kXU$uqwi}uAapQ6lP_%xWBkJNIt6F|j|KeD37d@9`@xCD@y zhI(HzE<-1$_)SPAenM=lF&0&`gvrAyt~7sQREL|F0u8Jm8#bLk+#!p=vY`M_L1i&V3nOiBjgSBd4L`9=Umoarp)Zwm3xFbmEl^60ez#K63o?S4L^ zXBO@vmceuuj7oDqSkr!beYZw3c=Ud{vE&fuOLrFL69HEMpZT{N11t5Edz84umizfr3CfG#x+xrL? z(PDTF@^8f^_^Ug=J(TD74=?EC*+WIYeR1HGbVu|nCBS)H!|IUp?gk#T;MUX768S6z zBMZKEj?IgRi0GTD7Rh6G4lHrw5KL|#p1=3hFR}(bS@91v&f=60YJM5{W77%S(trQ) z(TKS?bAv^A&18qmt-~;305tWA+}n}RgaysA1M*jqLY=f!XNbjPg=gnq;60Nm!9k3< zkUJHAMUW%xz|@9gr|GHT(h$GF=OFm1;OV*KgNK_zQT0RyA52hCdE8vGACe^EtJWk(@wa~bM&2Y> z@N`*25-mfQkVsG0pZ;(BX!a_EU8G0YKv`*oOl3@2~!7z9D8b z7hK!?sL#DR0;jf5-Vb1td1|epY6vuaq9n-II#plT+a>MBc>4~^p|-8-={_>@eDZga z9FOg;ndFw)K`|x@+Fu&$m)}cvwQ9v3ifE*4rjXlOiLpu~r6<(`L~UQ@!m3@!<@`RK zxhpPz)b`XQ51GZFqKJ5O+(BH0hr>X%lD3@b5U%x9@FS0S=l%T<5ds(IgN5(M?_|_5 zLXUUS-)IXqEzG%_i9QMdGz9LyAN>+Fb3w4tbN*%ydK5z7zF&g?yQ|~E_TgkKN5rN#Mbz-HWDHv zeWnPaXP_V3ERrBL{(|_s%Jd@zt3y9BZ?(DWP1ZD8oiEWMYMo>^Z|wgg00WU;LCpnn+qt|e#{)o{8zBi zfP#%V`cve81=|mJ!3GlG{|dG^aMD)G5xoAt1sfeG*#7qd{=a_$x*zotV`C>WmN{(y zyh|T(wD#Vb_!Td++1V92Ahou7g#FqV9tOmCJ{p&2%JWuNlR&dm&K*jWEdhs|%Vo*c znw#*Qlbf@%Ux!A4(T}sa<%X5;NFhH%{gE7OW5Yz)v5;FZU12O+2ZpmgKj4-p1Cc64 zUX3a`eK^oj!$Z*jMpbo9l@uaiTBwa*~#=Xq++eDWy;k&v`katA+xbvJLBxglVoN#p_tIeZn z>p^5Qe4UbWB43jMuYHu1KnO5=fRrYr*^wn?+9pH_`EGe8&&zhrk_ zM~i0DAs8$HKv@-1@NzlNo`v5$rC%RIf>k z+j^cJ?!w9Y42#575}HO`lu&e@+GDOfv-`djd!2qT){llYP?fJEF^VZHO1booT39oM z`C1C1CJ@-Skjai^-(Kz<%d34d`V!DNh&^@H;$WTX{ukfL!+;ub^sp#DALjzjk%mhd z-`!Y*Kf1tfT?BRCce0dnK#-9EHK1e3H6S8Hi`*<@SL3GlKs z6!9?Nblo5kdPw2(fa(Ko17vz2)E3K{K4fBw{x3=M4Fk*b=aB$DSF{1PcdoY-5`iiV zGOCZSaUqoIWFA~5tutS$c#{FqYb?W|Wfz5JoH3Rx_TDegNa}v?T_x|Ia_{g8EO=A{ zue%uVGWchTf4^dgseNh?!1MVEjGv>@t#^nVOcg+fWfwV(O4Id#jfvs-=Rh=IUW{$w zpLxbiQ|x?>e)0JlK0^VHILIY&N>7ErWtg3HVl~YcxJs)~V0+Q9ABr&sEDF~EEz3SV zcr9#fGX`)TwmEA$k+{&iMXi>abqB$Szrf&C1X4z_y)N2&Dv$SfH*e}(kN3Bq{i`@| z4*;3WVS-!u1VqP}Vx{A@nh!wQv0YVrEM=u4VBAPeg5_JUoZsd#RQ>LPSb0yIE9dyl zrt{&Aeu167U0*kh^~sN^O+9|afL%NaXJZV#RigP6b<_F@y(-@yhS|G;$&A(9KDHvU zpGAP|&&~d|RFU(*yEzF}&?dNl99ZgYy7E(Y;ha5J$?Yy}xnltAi97+007Kv!m%{sI zYNtPmtMD}~17+m8yfirm@&V6s-%Z_RednBOPy-Lc8!s%@F5qH8!^)}%_&?d{@QLeg z!BK)R&)M8K255TW5FZ{c1me~ro;LfYLeVkHUGmu{l$iXQ*xu%rDXaYem&&xyippFF zu!jO~Fmo77@ga!u8H3E}Tp)@E`(888Z9E zu&b86l{CL)hhCuYE|{xnn$Hna0C(b!=WLnBS?hj0MjnYyuB2!n8PEa)=JSk1y2KwGK{ksMlNtgt~YzK>g1l_}%xu)-Ow)Z%CjKzz-*1 z5+&ZUh?bgJCUd|0%xz^!mjeXjnhLzj$RwAoH_v9ck6j~kQPMje(f!)A=8}Yl!NR=7 zxH=2HnJXr6>g#6F_OL2>&CTXu5fikYN104J|wQ{~9jIn54&FP78t zRtf+$M6TqKI6X5&?(eCk--=^|Go>>wSf{7jtbp zPR~(o3hQ%a9E-$DFC2vWG2`zm3x#A-npsNrq^b$rQ#9xj0Q(6Eraa3pY+vOoFa$S8 zz@0KR@={a;ofz;BZqdptEpCZsS&$VC&O_cxLo;`l3=0?}dUOX^O#9zt`F9scn^6x^ z44zEFe(kC59=Ax%hw;Il+&o;Bca903s}eo0e`0#-BL61we$0GTfhCDC%uR0ws8CL@ zulwRzyE^j>2%qq4&pRQp!>BtL5!joK;1s9OUa$m3Mpe zbF2znuZ5^{bH8xqIC9x)GE1s>$Cp!oC^+oa|qTNM**{>2Ff-i&DXn-#xW zfLa!~kr{SVS>;2&aYi;{Sm&Cyu!>;1lHzTGPV^IY>v`T%nlsTW9zT9B!by{Ud-`XC zAD{UDY65B!x54|IQyCw1#l(CvI28fsFJA-unGB@9eg%>*9I){cfhCo$yEs=di62QM9~d+4@SuI1-$fY3@1Yl^G13DJ zoSPjBDbxN4)V42NhleFU$@^ag$cchn;H2M?P}mvx*7z4ow&=RP(4)p-0FPHGGQ^gb z{`MQ3Z!bjjxwJs{MKj@QnBp_L7*%6xshin-RW#jDi6LDW@~z*M$bG-2w_mp?O5G+4 z#SRC@e_EV1i0QRSY+|g=y|@{aB%Y?-e|CG;VK zlf0eyYk|Lp;?y|2A6{>BzdaQY;&6z;r3~AKn9L&jbSk@(Bw>VnlCP>Yq^+w>$;ou}4|?}_vb3aZoXHVl6;Qx%ZIo`XiWFY^&P`c$ zjH+29pGNsXoKuOvka(1umpc40~D4etjWJ5~m^|O#-Y2RXQ5?n6+x+VZINA!WJ^)v>exLppb#Q>qlx_ zlO&dv@jAkDbVw)!N#8w=dQ+rfv(3@JM+rN*^`RY)-Re~<>kKuuP{qFV?@b)gdYKT< z&hm;)Q_Z|r(!Mz;nKdw9nq850#{JBVh&A!L@T!s5(Hu+rcy&u|BrZm*T|HE!E2Addy}_{0D;oM#NEcI%MKF5^wtlnZJ4zoTu4_ zlW&!V-GAuwGVD?;d_ee}(f^Rnq~CM;zrIROs?9wr#Xp26?E1-xsTcQ zCaE;uWkO{#H-FvWTJB33ihT5wKc9I3N}KOrgMAnw3Z>El1%wXSUIblt3ouMQ<_Y2u zNP&Uf>wmz(Lv3I6CMXdFfGsK zsnaRT;Hqqo7Co}X8BSRS0W7uEC7b+R-1@()A5I*gUEsmdc<`SXVG*@#VBzWGw0~UN zd$Jqu;KKj+|Nrmv`QP~X!;Sdg_3{7e{_y!7 zB33|~>CSE4Wn*_RQpW;1e%gN+s6S;yTG}3mnYXnt>(PoR^c?Y1-ajM>D3mJ!k$hzZ zD^@?{qc;7{@UZwJhPM9{Shxo=nGup zr2oh~pUSoLfFJ|DmBV*)0kEHzN5^^mCw~|QfA@IwA0pNXm}rJfVwb%Ceq0o~A@KJX zMG;@T25_1oT5lJ{zpXh)VCmm~;eLJr4hce8C1I?8*P=9kiS_ToL_;2B)OKn39zp+o z%ZHUg=Rd&={{9Y5eecAL3I8L%0^f@7+>G?!wHktJdl8r6@$4VSmr;96^6we?5K=|p z7!Iv^rA##RBDb8n%NVOzC%zwGj7~v%9Oa&&Bh#0vtf#qt)<^Oe_xwc>K}bf|6NuF# zqZkvni8lIzL%QCGM!H6=XY{Ll)Sbl87^j>Z{P|jVI_JHGx`1{_@OR1RST)}D4a^R9 zXTwOQX;tcDFM*8ojwz0WPrIIVK$Hr<#}But<7d16*AZ=_#`@c>Ixkj{EkP&mF80PkCgZOZr+gDg*@GDCkE<9o3Z5(jn22w;bysRP5^xr+rE^ z_Mm+G6RY_7QMc-SM@IEm^4DC7GQEXg6azRf7kiDk3D_U2 znhPnmRINU!i7Eg1wX*h@>%YuEADMiQjJZ3u0Nt)KeguhqeI+xIU8kyNZh$zpwuOsF zpY}F^>gicbx6*_^`*Omh-Qh^_w3BsBP1NC^2u{Wo)xH&I*@+DITBK)o@@AwnwvJKI z{c8NJyHItAleMaOP-ZIH#h#Hh>Y{iln98((cWhS5c>fTVr)`$xD^9VO87PfJYozxk zwvpexwDDlUdLn!2xq8~P8jDDC=*fG_mU%U#cW;OPhVv=)hp=%xf8*Xm`8e4=O&i%v zV&l{Fb@{dJcEP%pX@aN%qmFX##!Rc*S&^ki8r!gd%Iq{J-cfbGb$lg)q3OoIh#{IUHp0T$^q1E=}inPTA$umOiJyz`8SWl zaj&nB?Tl@w94^PY!|b${epdT*e*PO?ugLD1LQ7Pc6TeXHNtshZn>u?F2sB4I%VkXD z)9G{>oh@o$G57_~oElV3(rLmf5CgT3GpPsNAq7pi7rrF8HOuIb``+bJ9u>UWXOXZX zC*1hLL7Q}{u%^QHnJo48<>`vGFm5N+4k{iAgYXN1R#f=+ik{%*(?8l6lvwG1gNU_m z3A6CkJ{cZzlnFPg`!Yq^6du^)3^AcMAS(z@l_pZ2Sa*POTV{rn#KyvqTg3Laf8!=g zK^ihyYH%ldtZ(TitRKyPO|8vV7vvu@cwMJGXf}lFj;xQhm;^r>-hKM;RZd>I`ONGCAF0>=nml?;IsS^^I}GGxrdIw5s@~ zl9hf+soN}TiBtG+npHaq$B=<9afo4;Eze01oT>Zg@in2T#s+_V8_bK1U+)_f{6tbq zw)Fc;_YARNN;72xv6A-E6s9nw67%<|42DV*lge9?^cI9E994mgjX~^zb9k=M8u_#HIxD$JehR2|4Z!~_4w;jE<5=Y>AHFP5@u}AE5n=yh?6!XU zlnh!AR)qam@Kg1LqG({l*J-ZZA}_U=c@=g~VJF3^vVOAb4Vl6t$sF}&%ju`N;>8vV zx(s1;iW5!ls%{M&=-LuhjKSH|Q>N3)c4gp`9eJ1#Kh~|h$YJ^;z6DqP@^yxcJe9V^ zCOOIrg~0<-4~YU*t1AVC+uh%G*VMc~HYq zw6tq*V!?wW3mvQiBh;PwI+fYG4#t1{SQ^mRjDUG0`}^s#?pOI(&Jy!*Dd9|| zd2}-j*x1=kYMM&VRhKVm5}~&@3Ydlqp3SK76*zOaUbUW4nim&t7QpQD7<2`qu$+89 z2IFqPiofO@UDH7(>iN|ucg^PH^=6zyZ``3A(ptLo>NQ6+dlowl&x^Bp0GYuugNk9# z7?!&>7kkZRThyiSr|@jRxd8Ai@SG8j40hl z!4r!zv1eb@vCZvCr=LSa?gnUfV5=$F;`-8rmsuybkWfwiMg_}>{qUX`YS!Q`v{scI zuLPBPB|ggVh0x zrZb(XEH)G}mWEiZElk<++(M$wq%T2Vl|pq(RY`Wnw`{_grZ5~696A$g^irPwU* zyf@C)m4!E7@u{csHM!@g!e&3j^gwabaY_loHW}CR1l2=JD|A3ZKwyU^|GqKt^~qOz z9s+Y-cxn-%YBQ5*;WQ6_^ggyY30#(Hm&sfj z*|(;*SEtHKKN`fJ%>STME2=G$NlU1Pgt?jp$|a_&h)*AeG|iIekm@-4**owlh*YbD zN;t!4bQk;!%$->s$=MKGCq}sw5^UpP%iysCh(ed&|Evd_gLBf1H<%7+(rtc z+%4>azn?x}Yfw^cld?>4Z`Zf@l>wxip z^{M=zO&ILn7gy4w2vcp?1--xpuic8Tz@kzs8~1a%7E)jt%CCJ%Sd3SHo9x=*P>swZ zKMlVT2b)O zuMya5zH7&^n*5buQUt_6Ch>D@IMZKSbgW(7Kc<|uR}i+xRjI2Pwat#wuL#SC3*mFQL8huqThC62Jl652ZR z5nV_R*}7BMnnHWK=Pl`zj75Tj%m;^XnkFE*x`|w|t@TD~V~+#RDB6}gEnUZBxMNzH zP-MCZ+wjF08Ct}*Ok@Hu4*;%<(w+u(G(`dRz*$v7o?9))y|WE_2XtEEkWe-VB?CAw za<~M2*tve*%n%6}{rV`oR-Ep%-OXD}@ zxi*6uQ|O! z%P&p?JAxc(ygpv@)o)f(XdZQ(iec_Xf%Csx3}XaWbCZ0t#ywvGCrnxl=yVX5zbQyP%GR^O6yUY~3uACi^v;muHs;62VC_Y0lz`!0uyqh$58iq*}I8y~~w zS{j>5anJDU*4DYA)HPHtmX{V(7TusPVeO7Y6i_5qWy7W9LJFIfeA0aup$fO-c^)m} z%Dy+v`YY8#1g2w51v|VN3}KDmkE1@5^2ixFBZSA;e~ZQ0P11(RA=Z{qG-U{_18VC? z+gmu7f$DY0Fsrah&cks%m*xAOw{X8XG7;gQyvSDw2yA!Kuf$X_#QibQPVBD04vC6% z@1*7u>^0j2PM>-276C!t)A`yB@MG3NCSUyzCY8NrPjVBA2_2&E?i0S!Xp)edx5v(Z;nSPM zb#URdCgpu8vEJX9;P~@7?;i@k>EJV0;IVQVdyI$2#aoP)iXW?ZE8c4tQRD-9oo0_l}eu$=nD zS#v*lrSSp$DezZUh!y|3-Lk#CsdD}lms^Fe)SvUjS7L82`7wc-^B2*fE5OKyocj&* zJIH@RFYl65#n~tdVz#eW+(Ua+-ruludT6XqIpbi$C^IH<=XzPGZh~KKCC2aTSe6qFnM* zt6RN^ESYDR_q_hg)7hdVZYzc~bcP?i5l_gb-1}~63uq7r0g_d0F|O=qIcKIme+#Gqdr_qAmq4u;{|Ws`eL9iQI&h0y zFL4S$y2(f-fgI)vJ%t?S_lS2cuzUFOg(3)_oSpmyZ9NJGRn2zbiQ^-CXF;Aev2 z33t?QUFgfFL>%<8i&w5SjV1h}Ry~dbA4gwqwy#;b^+tUBnh>X^+SC5KD3av5*CMoJ zD($FBZ+#A_^5KKspa;RzO0{vDB_0ywf%sSv`MIsN5Qh(Kk_grA=hh4E!VytC!UXxg zUF;G0doPno`4`@n2ZBMS&!2^Va|fl{1;yLDlI0H0bWPKQHU?Y5C2Ncv1Ec=p)-Y*H zwyDM%Eq;4l>T0ty@z=;_z)Zp-vt=zxb`9`{BG6fCMSlb6GXdKh_!sei_1&oXSWC62 zDT8M%T-?;(vM=R&yp`q~W&mkhs#glrg{rg_`ie6mYCsKqs(zPuS|u&7`_<|DBn3SK}Ct>rG}R)q;wm5DhR# zvLKHi!v;AX5^k9SuZrs0RxNyDY4E0~WfK?sHE?5k+^=jZv(t?Orwvu>FgzZ>pijuS zC6R4z2GXYb)gN%#$77*p%LEj%zNV~IRtv)Ks}+4LUl)>2%=F1-L{#qVFPBFL*n4K| zmv$n~ep55sl|EY`O`vF##5(CHI1vYl;i9`bHVUZ;3 zC2vX=*PZSmKLD8o{+h+d^$&VSlUtr88`kmT#)8C*_l(A0s0(6He&!k|r^n!*hN}YV zVZ@N#gp3FF+HZgI%ZZ?iKjq?|)#N~({ciGG?AwbccR)9G(}}Ufjp`1Zscx>m2Cs%Z zzBXzNF3eHJj7J|Q5aE=1`Mh1j6-%~n(ZNEy?lh)IH2YDENTYLiSt6N3_YRe)eTb($ zskYgZ>ax#ObayAU)QPhUSoWZ@;FceW{;gOD2 z0;|?j%s*pAUQJWHi!=S&*+k*i`?Q#S*0?F1@`{WS9gLmL3*3scrO&H51iDRw&wC4(_M`N< z^G_Eb5*^=I!Y>^(|ynuFbVD3fbcHHJU-haWm2e^I~ z-;9jl@S_iaI*)-#+Nl|V%ITgfvww9M5l3fS>W1LzmTO4tcG2odXhT8yx5K)PG)9oH zuqjk8B{{9p_8cC?ZAoJr@c38FcVP{Vwye(ut#xtTKWfNi4z-u69;PScWYl8HS`n_a zOlr)Ky3N4N77eB7H~ZoGlPZz^S0J2V@mcVm>X6}2nST1fYI8ZEP^`)XCxXNSs&GMN zHZ58$%;WbN4ttENh&WjLK%0*K7I190Hp?^F!v>-Gy(Hog_vOMr zoQ~ZjznD$LsJmZy&-xD%Z@J67RJOWcYbx?UitgM=-ksMoaX;4c23d^mU&q0W4e@ny z24orMOi4)URR;++)S}cu=*{;^{bOX2|KRLtpARE6a=A#wLA1fOwWc+4F(XJx+Y$)E zS`mzn3EAXHyc{Ke!L&E85CB%zipVugZwBGiZ0{f`drgw5W~f3!k;~FOvPzJRM!qWZ zw^8Gc%;ry;gly&eS|WMo<$ObpLevuG;P?)0A;d>*ALBjCx!K2oi+^{Vj=+hkh5V6Q zEIVu9J;mM!r^O5m$Z2FjSCitEL42v^{p?WI)xS-690_E$Y-UbWydtsa4EYhW>PP3f zJy5&DVYwdbSjy7=+2^cT*! zlifJwFUpn`fxwCK@8`27-qY-TaOoK~v0L~&>9#xXEx*K~&${%a_&t%$-GGBeP^Gb>mVjwtssrXJlj>bR~&Gb?LoJvV${EFoainf|Af_U$#Y62OcF z{BC_IG_?SzIAUFm?<{IH#iVD=mlON8gDmC;*~OB{3`B`VJ$+hjAm{1sG?Dk;FO|X- zEp>576MrfITY2+NG81RoO7W8=|qz6t}yKnzIX zu^ex1m5zr4S4)sU z#8aCSLXtv5b=_c6Q^;k!>GS8_Gv45Sqhw29Bvt8c{ez6oL2I?M@tmo5Gj$8 z1}SNf?j8h@?(PmHhOPmIZjo*nLOKTN9JmL8?|y6D|KPIbC)SxWd%tJzv)_2$=P}Nv zDk*|}U5ve+a%M2n)Nk}adJ3JGUrt-}!ws`sKiHw(SVko_mtZo7 zu3Lj;=Jf5ed+%a_LZ9&{mC#+GPw97GKq-dcuZ)i2Q@dlEmvT3d7SV735o}q5DgUPW zTU~bd0NB(vIPo1P4;jQ&TX6Q z5IFZApIi7>tw$6coszbhB4tB3Ifky@_P?YfnbakRij>O^%%ieB9YfqmcQb2H-vxkx zDP4a^1JQim&189oHqd-v5s&%zKj4f5x*CWvdg@Vci)%grNtr-!iOYYu5w5xOxoP%^ zZ(czZSmHpbmZfE-=7#hULybm0}&}K1w&sBReOBMas~++ zEIr~53=B-}$vDL*K2QP|R9)ZbFlEKJM+hg|H4rcfM z#ycLmesv)XGMI%c5c#%}4b_T8K7mJ4bwAo5?fF&0>uJ4Dz?ych5m8~4N<+ksW0rjE zSn^phf&r$$pe!4q>z5;W75Z~(IymM$r=;S;Z-KIe>fQ}^xR;z$&r|A3pu~N-f9aW2 zC6#wIjPDQ)R+n^u%4sn<8(XF(yNLQ4k*5HM-F=}FZtN2{Fev@N!2VgC?Da^3n!BJi)2?acA7vF+loYSDresTqL<=b=kkV&?|!q1f_s zqKqaa3=`D&(0chErIX48W3|dtD-$R8t+d2a4Ll1buuZ{F)U?tL$*^ztKhzW_)r)DL z392SibV^3{ycGsy1e^-6v7Q;cvc*tx*2KM7DBEsV$Y?n;s-s zcVPBK?-rYnzHtEeCc; z^G%D$$MaS`u%wtVMFMs-%2$F-Vd#lR=!Jt4VRcE;>h^du z8Jux83`&JjDt0P$6+r6QT?`VKP=g~$>eZN&4imMDq+V3J(>aLPwFdH@!tv!|6|^FE zb+Yb{gr^Bt@k>3R?;zALj z)1!M}VLO_|w_HvK=h9?p!Ql^{v2qmuffZ+1ymjp3R402V#Je+6K{MCrSe%@j)p@S` zK5~ewfOgHzX!}p@{a%6~ zW+HM$x%_aqwAtYzvnP#JF2ASZZNB7aau!{?hsOWLe2j%@p6z`C z{dpy+SLE`;GQWkP`HV=y!6$L5!f*MWKLcmnGT*kv_HW+G5Ae%0fmAgQ>F>LRfB2F- z4?D?iW8sb+i9#*@8}VF}sok&(G8nX2-Eq^m^$-<@0{&*E96P-F%PKMI-NORy~g8*PwXr&dVO_ zEbCsJo$l(x+`qwp%HJk%f49H{A?}q+b9*xUWC?#Ohl9q&H8I?v=hl$ew z-)Fp|d&2+tY}&)=cyKN%GQ%ic1WA&$%)+FK7{;YaxQO5yx|X_NQ3JMCJ}iR z3mI%|^6_vsJ-+luR@#V8ompll{wN5U7p3Dy7>V|V2a9rWQjq!43PLg^7BLe{@N4Dxr<@KYTpvif0(Mhfe5o#0qQi1_7VRqOhGD=(Y)YCLa09;hJ9PM5=9eiE0? z6>joub4AUs|2b*kRo!w)u+ZhisPt^S5!cK3MGw8!d#5A2ea@5aG6QGKBqWmh)MxjI zy2(E0;~j!e-iOTOWkI;?abC6XKwPZm{EE&_CP{bL4eh@N53X+jb$?34x0K0v$&(ea zEP=GYLH+eSt@R-eM#ikM=q0b_QT$uxHb-{3?6U(R(jWdpbKgI)bm>J8WIyzXWn!Nn zcw1Qx~Fp1uRlS~!i-ows%tg~Z2S5A;p zsU`??q=0Lg5dvLpw2E%R(Pzge-YfQ}p7dUi`?AwWAfO6%|LGf040SaOD93ob7&f8iz^ zPmt9x+}&^;6^6o7m_`0s5taq1dvTBOu*8=~&Z&?5^QXfj<+_JifAk?Mpd1*(gfB}Y zGXsvAn)3optt82x*0XI6Ei19BXC*2Z1N(=twR%~J-iev-)^jmG9aYvV+%<7A3EQDg zqcy?TR@_gv%oY*a3PA4lYx+|vyd`1Xn!>ASJ$XO|+ww^Y<3HH#h}m&9+nLb$D$lsF zI>ngwbH`b=3DZ7`oU>wK_JPC!@7Lb-DkiYv>$xEr7c3{uV#*#;#ir+HLOKGn zDfPhO+sAosyuoKKkK)B7+GH*!S8qV$?=o=s`#_-A9-P2^I^AnuRPx+Q#tYaKjdn0? zy?q&vfDq3_K}FAaA(lta7b!WPAA6n7E~o=B+4Be_9U%?Tn)^)-YBtr?gOeH?Gh8F` zGpJ4Y03P>WxH;g2_Wa!pIy?TjQ+#ROZ5%YP1H?J!2+Ea5H#w9i9Do<)<=E~5y}1AZ za3nO$>FA}B{tJtm-U7tmBqplKt2ZI+fbpXVj8jd3=b&HAfBEj7odACJeBz=0f7BK5 zf#8ej9m6&5<{JJW2w-SoolGz4?iwO$fiKuS)BD#@4MZCU*Em{1$L5JUbq5yYDmUVt z7$*RFoYTy48{!?@2d)BHKXZ9}`@8elYZP$KHm8vIJ8&fS8V|DYr&rOdM_r6^L3K&% z1ne^ZYym{y)_Q36%1OhEAU#N*%1!15hy`1){#qsWs!&gj)_I%Ds^2t!09SwHMn3)W zMgsm_Urz3Bn)GP)SWb29ZU3#`oA{ZWj;XfNZ;Ebrh@f7 zwFlPo+GiQ<=}}~!)l^B}1ml3k?8CkmRDx0Jv}fJ9wx`q}ty$LK(j1%spGmg=*n$T6 z-tebkZH@?9i@v($SYw;#PUv7Sp%7bX+!`lbl?2vXyN16Ve^f)TIj*xGcwtTu%vQ~` zk(0NKcnDUUkvFh2uL}NOW8r+QdZ%A*YVB;b9cyYMftRdtA5TM2e5a_W==rImqx3a$ z1o*s-Lwh@t@pC|>5!RAX&^bw9y$NxICDt_#gd%{EyD3?ej_k!f{_R}DTXL1DO0=Z9JJEzY}fRb0%_J>Vq-v3 zm416-@1nCd{?uV=OX^pK+2_|7S?RU~!7r*985!3rovST#D@L7q8N==@b)bTr8(?`g zQ=iVUcR@13r9r=ceh_!QZJjJB!514IOe}x+u4Qwc#;64%$WFY=^6oxz}N*( z<7)dw>A7(26}MvQsjdG0=8C#U?|z#=*MR7(PBUHROp#xOMyE{HFCF-qgGFDXkmK}T z+;04B&I9rxosYm^YU!+mzio0z#gcQ((-Yb_vo*uX*so{x3HF3RJY)08DZEsf^E{oc z+(v)m;piicxx@Cm9rWD$EtDWyvh!CMp~lo%fc_P#p=IhMWXfz=#aF+2W{*);uD2D7 zEXpR=-OiwNI(<~wyt!vP{y)>FL>^!rmfox;G7i)=KAho}hF0oU!EJKw{hm4)8Kji! z2gwv}zhE_wAW<@MH2OoVF@+22)tA2AfdVq5LsK+4bvm&VmqPC|ZG$<|b}4ad)gXik z6@z_YRm4%){hfG{Dj^ZE>|lBPob{x86H}<6jN4&a78PupXrYM2Abu`;g4(Qsospt> z-U<|NK%&@qp)c-@d8bO}-hU00+e@?{`qc!La-++~14^bL_mwx;%JQ+InjZw673nxH zNzLN0m9w%9SLP%&Mol92$P}s^LMVEB4=8sihj_PpO`rMU3=6cuI|*1)D%pCgT^*Ad z;T*QrJu5SM=sMF{k!qcD(Vk8NTsQTQAM?ObzJgrXDar=_7evKx|5(7O} z#{K(AGPXVYFj_89DHLc;l!z?C7B~X^u+**My*CJcMOBpN*^F~+@`sG}yfusxbcx;X zXG*4bp5ByZp0jll@jLNB_UgehO#`w>2xGzrF5A`t2O&xT?D(ZQTJ6Wpu3)Y0hq0=Rk50^8Z93q;x z3mb#~>BL+gQ4GkbH9MCwJsy%jDa2*vg6P>wSBM84?5yrV)yMliOW$U?Rc|u6j+PC@ zhyKo!+We(aZ|dBy{e1$Rw9AC6;R1an@24@`ls>^R+*3%XyND6i()>)&+Q23}%G}Us zC$M3;mdFPa<@NyL)_uUjW;HbjtA{(|djvBUDP!s3t}Yo6S!{OHWrJ&}jhLhTEg@1J zgp_+@1Od=&<_3A5APx}CV9KVb(QI;RLkGI~gU!7?@KicuL&V24v@u_yDz@SG^v85O zhg%bRjar{(bicmi=Gb*i(MaWajFZ$zsu8VjT$n=2w{myT+Muo3yY>2QgB`MoXp1G$ zOQMzhgZXrH-r0dZ6~FF8%{|BD>K-HNvjsnP`@Z2|r(a%wFf3uX8`3M_850v@I~D(- z_HYZ+@aW^{QB`&Yv1zzMT21Rj#lR47&_QF!j!+wkdWOy5Mo-AO9aG3HVrDBwyYZ45 zH904HMzstGhC+g{7C zmgv41&GR;i1m$sebkfzCmRGacsTJ1bP0^}ct;hX4Ez{$k z(F{5@ZYsI)e%`2G_J>;+%Nnl3ohPe4gubaKx3ZjKkZU-It^Yf=JNx&GJf2j3Qyx{5 zhJyk0`2CkZDW^eVkqTO|WmdzPh|b6|mwlt1eE_hj1BRY`Io(igqytEyHnJO6vI?f~ zxfyqy2q?}UxkV)`5iHQWvpY^~T1=(k2&k^c85?qL?O^xio<{Uz)hK zP#MbBAPMCxkc2}>4|5?tU;d=F7VT{vjg+biUqy>Wu|as>_*z=Z^cTQ;z zirelwFOGZC&0#`12Ak+-{B_{!ajR&2$BJ%%zL+s2B&4hwBK`a2I1LGj4&^fMb0K5R z9MDi@gQ$pp(#0yF4bMmm`-z4*K!)TF7UQLP*zj-kUci)qe;Yf9k1 zP4{g9d{mtn(U9&N=E(Q+Z}=ufn3|u`^^bUwPHz>JN8kEefucxZHKS0{Zk>y7mf1mF z(24i8OMd4Er3WKtJSbDts@2`z2{xy_Kk5EbZsWi#=+ZpDm_+PABg46l*3S^TNGXIW z5r7=%CxgqvFFaF`;cuo1m%UV{+ULv>tiGiZ;JYPtIQddIY-Z+PY%hL57vRfIQ(TKYMk$ds zKh??%0^-6V>c6{J4w_BUEn^#$mv@v+o?8^je%v~<85XYkbr+g=W7Ck(RW7p|E-oCh z)$r5BrNAhzj`+|V-3Ac0WjiLn&MQ_?@;*2ec?=D3o_0xoJK)lfEEAD9ZiJ262nf~~ zxxoPqGUir4%(#B{7541}mu%j`T9NSmXR3`~R~5&%v*yAyI_{i|=TUFBVF=s)vco-Q z{B}bn;sKIAZg=oh0~MN}b&2ag{l2h9}Q>cB0v|n8UiGG$PL~Tx%+AH$7!s6n+c6 zp{)}P?&b6Qw7f7^VO7DNISYzloj!Fm7wR?~1+TRr1th676zZB5uhuUL;xY z6TsL^bG(a&m5~98>uvUyP`fr6w6j;71~VV=$AmMsXF}Y+AIaQx-Xb9ba(nA`q$2x$WJr633T443;q^7A(+ z{(=Z!C6(YWS~%zANTAB6AT{#{`OTX*54VlOoA5;@2G>hG@@nu8u!mpX z1o~FgETD@MZ>PZrmjH+=3V=bc!d7bE6_%d!5mfEWFz!%y-bCzPAQ>d)4E08kM|1x( z~_Gcy74&u#wC*Z|f#Vzc6pPyg@o32XwGxF=VCQ>O_k&YaII8~WWmG>FtZ zpyv_?6tUru_0qF7dSC?u0D#C$qML~|l6}=NN#b*|OyeOr!1cf&Jh412$uX})fECT<8%r=zDg1c>$7zKr}Bu;j7D3<>nT86P45sckP-!*cyF&qr{D ze2bebbjA%~Xoz|1zidoJYqK!?M1UgS~~Y4J2=$6X?G z5Jn!bhJH4JtJ_(*E?_*A2Bqc4zqv?IY#!jck9FH=s2)Ff=^>m3AvkGe)uQZly&ZSp zR{;WmOa55$bp$urs_!#CpV_maQCaK0hJq!vu$!l)gY68kr!NDd1RJ|=oC{0!>7ab% zj&-EZoyeQ-au%UDO;mgr?q+h^nVsMhfG@tJ*KF$&UBc!V2N3AFSz|Q!_^GP(+8?_t zMMwl5WfIn>qx6^R0NoBQLh#t_*YY#vgSt2Ct?4WESFTA$Er?Poz~OHCz!hp^SrUf?xy9*vv_wHZkm<;^JDjb z!5i9v&rLWcCMMy45JXo;2%+KX?-T`9RcfG(?}JrK>q<>xBEd^Q4fC2#&*)b?8L%K9 zA>6iRA4=QoFbR*{WjeLRfeiAxA->P-okIf$NNAnnNH_1|6=w3kS4ZE7uw-|wOp$;; NNikVb@Vn36{{y5^^eX@W literal 0 HcmV?d00001 diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Events_Segment.png b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Events_Segment.png new file mode 100644 index 0000000000000000000000000000000000000000..a220057ba2c5b9cd3a17c07e6baf5bd17d472b61 GIT binary patch literal 56621 zcmd43b983Q)A$=sY)))Dnb@{%TNB$hCKFo|+qP}n_Qdy@^Tj#8`@Z+C`{zwoR`*lg z)m2@!v$K1DY9(A=Rtydr3mOOr2u?y=SP=*a1QQ4dI0o_yK(e6ZF$V+$U27pEBrhQ( zL?G{AXKG<>0t6%;o|FtBucU$Dcjb9P=+6%XOqt7eLhJWqS|}Ml4>SYTMQT-fxeq(`89o}^jFQgU| z7VNXFu1~f2L;Ja9Abx+yA&1#zO2}-%L0ByUX$T-^oEj_BA{f(W*4|n{5`my0Qx2aj zGgA(in3*3O*>MDFK@C9NiRv^4+(0Bs{jy{FL&V?3>#S05IkR zZjcDLv9s}Bli6>4BfnC|j2I3?y8F;O2Dt7OLM3Rde4255G!>9UqAyO1e4!LLMhh|r zFEH&QFMJ70#XrNZ?&hA%_{1R(YZt^w$vnhr=(ZT?83#YCUia$%p78FC!5(u&__$NZ zEQFqteu&rJ-8)Zk)B0UdZ4jg`D3T*AL2%#^j7|xMkDQRi%b(fJ;A3|^A;25mTYJDI zmqNT9gKlfiZC)crQ_UcDHu$9p?-_FCb9!-C zq$*Nzc+^+NM4o}i`Y8RIb*FuMx=A?HC5HF|+~)3XxMonj{ak-}eRylXuhl@h-SnC1 zNxW@emy`t><1n)0WQ_>eVx)|2R|dz-4~q^}fyOttp7(ApH`hCY_HQB^qttwnV^1d9U+B0wpJNEhIx0ORVxlLsypz-5Px@khyl%lLBCV`7hc@6WYOhzXLv zO_~CP-^~Ihz#ayxKqw*(HyZ*==okjiA$S=_j|wIt$SBXu3= z4(rT+lv^gx=Y)?HGML*mZH5V+sIQ?8zUVKb&pGbry^ZLGhJ#QQ?6}SC2B8hV)GM~5 z`kUJew-Xehhki!_m0u!fU*VL37!~&*0-9eWcUN9;UQ`*l6jmkDQqVciL%vB~=$G0r zIdht{h@#x+=|^*VCyKOa-N?-_IzhD@gnX?TjG3nCzGJ9+HQ2BDQH=e|1}Q0!(%fVy ziLsP@IKB1ybOx9DqKx>}>gC+37*>G~y`qLFHD}c#%kRsk))B8B?JavohJpZQs&Gd%!rtt>!!Qqp}PiT&E4hakf zPna$*%`SdSvQ83(TogVltdj@I7?dKuE=@zuibRiukF+HrE^aQqELk46EwL~8LkcIk znTV0*CY(fwiJ&DRPl9L`UXiCH(kc5sMw;v_E^|a--{}_K0rVN<8R|KoL}gYzfpR2% zokW9jg^GjVSu=v5kai$WlQxN1h0Iy;v}m3h+CNX|dto&NHf7Qe_)!8A#WX4#GF*a8 zA{`QM;g{0;6j)hNu|b^>;zV*Kaz_Evpolz6MV%7sQ`J*}Q_|C4G^(m7?nTDitrI*5kM(b;YtMvuX5bd<8!$-;PMBq%ftLr5foiG?}W6B@Idf z>Oj926L#qaSO}f(H>PV^&yp_zXs8xO{0g>gk@SyGfYcNn+}71rv1!b^r#T6 zfLH~yX>|#B)V;vFpv2Y5w9mBRwBa;rg>IGJz}XPp5c4qRA@6ALXz*xysCjXECwYH= z@%~cnpCk|2UXV$z`?fca<^@8c6cGVZ2((JNUHJx zc+68(nVPT6Ms-6~uiU0Qcu{6?k5!YEkyV8?&`HCCpd-v@0Nv=!ux;eA{(_v#s?Dhl z#l?3Odxd-jzXo5cvMridiP!1wldmsg(KrN^V!CU8F> z)9y>ZA^%o?D^Onze;uUeJcofgg1Vds0iK@u?QcC|0enHtL8zhJunRC~!7iZ^!6KpG zf@Ff*f|G*~L{fyU!7ONLCqI&v+hH%1D4Zy1{H4?92(XDi-TGF0RQ{DPBw3@9(mm(Tn7 z=Mv~K)GyjzWHq1&;_u|LP}rzwdbZNcQfwfegmvo>eq=p)U%5nHyf*sMZlh{bv(VB|XHXhq z=)Crvhu-3MUWBd9Xj$uc>65#V`yOrR$hN^Jizn~@h&q2<+t8Gxrls)iGMmUMGx=$< z;2G{I;u$*XJ+}5_ak187S45P%D_baK;+W*H@K{>%p79O}k%7RXQl^Zd>iZG@wAX<( zmA0svxmwF67<4Z!dl#zmrS<@b;41ClE@{y3E3Yqrj`U4#^gQH54m~ zf5CO=Qr;O0$Q$~H;srUitavUZub*zLSLaQR97kkrU^-QkL)rKzx^wT>g8jj3 z7;4(*9s7CO>84+GDZ%j$JGstc|ZNUH#rV>B9DS+SI?_p5~eCsCgZE+TtE|V|ZtHLON9F zF&f>gB_EZu^qu>xa3A(K9uF6WWKGdJ+hp_9vmN%jrELr z>QH|+yf557xG#I-EBO57QStOLpFQcjnG%+Q=}qi)cVRQbHQ@SiMZ4uH_eGZXIqufL zqjWoecc?G>INO6a)YpeMlOr&l@-y$V@UCoXNo-58(;KBasJulLC>WNV4&JZn0Vs|b zIOmb@y?6Ba!$UUb**Aa#U}PXrKo1!34HRkt1ol@S2#5^O0s(<0gaAPRT4cbFd=AKeMnN!hK>yPR zj`=fDKuJhK0?;ZMIhdH(I-1)#;cVU90v?`uER@xq)McbOjqGgb42x;7?G1_W+4*0zqEZahSP&EN#||A^^{2>zPlWW__IE+bDMWanT)z)HtJ$3Vmj zO+Y}v?O<%msVFS^Z*{;Y9wKumCwoqMdRJFhI#*^oI|nm*Mh*@RdIlzXCMH_I3|dEb zTPFiIT3bire=YK#b%aeEjT|iOoh#k&82Q`Le`%^Xnm7pA*#H!sc>hkzzm@+v_CciPW{?p_?M*gAsXA7Ki z4i*4w27hA6%g9atKV<)&&rSa)!2byNzq0w46p&6{Xm0xdUK+g6AZWq{KtTLJ62bz? zZoua{5MHPQPrj~Dlwg8T-|mqk?#YPIyG3hYsL;IPk0#LCKz`zQA z`9bIT-EV^Ah5!*3#OYpsTyZ70oa@kykm8W^Kk>F$r@M3AZEUPuwLh6I8k-Oz3GgE# zf`I}5)o=&#_dlyMd5S0h0<85f8KCKo@k4~=Lail&gairjBOm}YS%UnKA;od1JpcX- zX!OMZB3x*Ve`v}P5`gt7iAUi5ZKRqQAc7Ar|L;lxe#MB00Xvi=BC&t1{MUlZNQeOj zp@ORa@IeU@vgaB#Ay4dYch3Q$Y9T`EzkS%I1Pju4gO->f{@Ya-fM_{44()Fru2De* z8MuQBj{o5*7eI6_KOFJ54{p%Fc5;-+|JtE88W@w}2$o|&In>d}zEXsAk`{8R^fQ-= zDApOf?et85v-l^KFM*_`0D&*St6_ZI1WkaWm82l5FdBQ4aVBddwPd;^N*8qd-~k2` z1ZM}3wOK1Eo)#%_DOOG-x3{EL=MuH&DWb}?Anpy9az#`X4pY=(;J^ag5rFV~7rB-& z1#FGlhaO ztvueqm{K93eRPrVmO9mcwDSte+ZfNm9$?p~7JUEo?g?eT(uDdiHV z)Uw8gOvM&%*;+JW-X(leVdU?cOzw<5zhsNz@PsX_(Ks4XX~-9K7j`2Z1h%_k_~Wbf z`^gIDit@js;w9!)iZ#@B&gc3NB;C*>54=`w5i9x%rX23o&*gA8kz!Du|vlUO+*YrxZzDNU@cFex&6 z@~-?zty&a+ZfDPwaPf4Ip6tvhkHU{E1Lt2+P08UNEC_kI84xR8r#zKG`L~wxo zbjrhYF~QL*F2^WJI2Z|1kC3kEZH?C_#w7dXXKKP87S0XewN|e^=_?DeSsS0wA<$wh zZ6rCHk+H^wGLjn9Gq$`BBkU*#gbQ%BQm|l*y!0{7U(9XPTOWz2BoFog-!Dfe%_E#4 z;s{|C(8eI6p$Vy$5!X=JK1j>T=Aw}IrSh8^m#xkobj{Isy(igxCY?89qRH^RH77jc zLUtg3!y9XRjE%mZ9G;?JWaN;`oV2*>E&jFeZ3_C3TtJgZqn8Z@n2o-UHl~+v4jGuo z-m^cuu0{53ERHgV2?-J`EIbto9Kw0khc|=Wsy{rOmf+BmZACI6P5Ni`LI(M3hlP~< z+edL>;atfa5?!{K&RS4ENkmNeTsmE{88Mx_msj4H(dBu6$LkPhXXlsiN9`f|bZWj@ zcWeWLwF6@WYMQEnrCt>w**sT^j#Wt>c^{g|x~+~KiOtcSIN3RMZcZ8$=uw%)yCqlU zeLs3Tr(K*uEq3!CeyPS~3k}GMlFr59$IdKPvnRRubdk-Mno@?cs2S}YCHc;lw@4+O z?*Bl&eS9Rdqo;4+aUEoTaalCfyn7YBy?Mxm^|4T`(2jrMego3^IHdGs&I@HKxrBjP#gb@aYjbaH&ImFuhVbA&?u*Skm(p2E z#e^XEPrFX|ni1Wsp9$Q+K^r@vpmiM)iY z$#T0IiNO`A(qb7k>BtvL%pK0!G%fEs-BOkD5LeNtzrlF3c|tYSRUB_LyUnYMay_}f~qNjG?Yd{k!px}L=bVva~j}l&pKQmaf^43*sHIbXa7{1ZLT=z7hy> z2!sr+4;`;iM2lD@t3gOp5sC#?P2uutCiOZn=V;~OQtMzc&Qwm#jcNEK z+HO&hu6lvR*7eOzSqA8wLBP3(+NXGWI*|i8YR%537^`(c%Y_Ru%D3r)5Jr!U#epEo zJNrt6o@Ys^qK!M=z|3bBs}`+G1uspKn`8mYU3p<*e*zsU>i0BAnVv^pME-VYkPanx z)WeosDn)f6$`=7!Vrl<##T~+m!@($T@V?05@l5b$#kb}fIdMZ=C}W*=VgRm-`jxSAiz7)k)Iq*l$ zx+I#7y9jBoeN*#yJD%oaj~#RimnLN<9h~2k-`6S2R2`1(F=@>d?bVXue+-jQvyGJD z_?CYrAJS_}pbWw1Z;YwO0QWus17N5UZ_0_bMW*lx*Q9Jlgb<&M?=O#(VxBjo0DjnvglNxzW@OY0%J@5KI zY`7k0+N1+Kc)q1?~=s5eadU>-ria8=OIvp3!KMFmx>Ki8tcAQa9_G@NYdNKRce z)hmsyL=B8-Hyt0VH^7Z8cC+y+Ke(GrQ$S$EJ8CBRf7)zx#=gMeNK8F?rx$rM>wQyv zNx4J*-OhaLs6vmpPrIhgHaPhlG0(b7y*uR)nRe3J4T<UP@AH}&O<1_f`qdtqI(~N!b*T~}&XLZ8s z+nJ7Iz-?MyWYaZagES743?aRx?ta#>;}=*WY`snOxM)UOP8jQKj*jQU!DfWEK6U}9 z@$S4ur)nxPE{c@E!86uAk(=&zuduG`B#cV+zU<3yT#xg3+m&+S7vq{mojw``|le zBa5q(O&eh{5F^9Y@*bR84@{(0XPH@90>?QG=9}VXxrZ{?wJMtl^i455j_}k=8T#eB zezM|SvOUV9ONSozblAfKZBo7SS2Pd-M6|+3&a!$bYi{2&xLg$&&2-?~jWrvZ{ju0e z%cSGuG3ZN#np2Sz6Mo5FoN|_EE>@~c^eBgC9t+rQ)<$l6?TIvbbiqTzdQ@md)wxwZwi2%}fs~QUQp*LZ zI+YR_5uJ$K`1O1cB?MU5>LWC4zf|}GC9aE2uf6VY0NuE$B7bk=1WBUr}yT zb+(=EP?5VVv%@&LUF`1rY}KeaTh%vJ|1yEoD-YfCV;QW2wK+AH{xN-xk!XGu|J6k*r| z&W0D(iQW&<&Ef;v#!j#tf?elONRTOv6gHYfE$`Ov-cSWyg}ssLw&;4!$u9$2IedJ~ zPNl=?H_hSU-Yvf1>Du|J&m$orQ~2^=)#9w1frD=3wC|AEF-m3V7}=_%di-K>g5?4X zzOq5paxzrYJ_?LercxoT)WYL_ljOQW#4xZ)Dd^KoB-+6?ZQEfF;kwV|OctQ}`GN4@ zor}R*2c@l3RT5KrA+NiHO@f@s*PJm;my4s+^^#?~&kDEfE?L-ntFO?%qZ1&*Eo+y_1Y$e~!wML21n;TygI(|9z8#856D-zM4%WM^Sem|mWjTEB zkt82ap|2?fSw!Y`n)+^MgzyxyyNi785pA+~W}jI8>4|M)Nc}~6kjoWco~L4sbJeSx zGgB9jvsX#wE_x$+!!~oJB9Ifu_^y0rsABH)z{Djt8s`J+n}xO>Qtn4pmt0r*=60<% zO!8alZZPl5w(qE5$nW@KJ-5Vdltp^viY9S-j^o)hoJWvet5LS3IxLTGa4+RK?T+Ci$JlO(58av`NDBTAR);=8wW(lfZ4* z`R44u&YL`e8`JY?MX%5XKIRY{Ijj6^Zg%6GSWF>1zx__ik%YE50%a7^JeqLj{hgZ} zCTl5mi(bWc2P4Zp=nP9Tf6yyeJlJs@Qg+++y_gxP`!32Am=pdPNo@)HIos_`7i$FU zI7uKssr7WdGv)~qz10hF?-C|=xM!2!pF~1)h8K7ZN*Rhj{Tf_~OVbEZ6rVczb5um?<6f z#xUjj1QzS52irX%Vckh*%n0%$VE{haV&FNh~X#0AFVxU`d!r^-0{gI>0+Z)$qv^9ykBxg+va}%D>vx9$xHh*@k92D9W zFdu`5|75@`oNCUbtj$(Swh{f$x!(vO zzdSYZLE~-u1OgzBLkQS$znfC~zDIt!52a3lyunyair>1U0;l`9Fe)>iNK?@ngx^Z9y>z)2~`aI!Lgtr?L9W`3A+u7Y6i4W!#)K zWoOZ6eEStQ$}J9v-kdQ;*3Cj8ldD#NVsrCyTZInRIuAkGju;Xx38cy`eME^#&W2!G zl>8L+QvIpg1dOwSPPz>WVV~E#ps&91flt>&!T7pkTiC8~^j(l?ER{nYt7%TYPm`yJ z((=uz`siCzJWl!g%b40knu4bb%Ji8>ZpIQc%#Lb|K%6!TTD^k6dPOtzWn+-H!9Yte z)|oTA2bmAM3}!KlGeg^sI4_gJCWQP^lD71QnPT)i_^i-)IV@SaSRi~<(m|sBufPFD zm(Y{`U%-UvQUVUl2;hh6}0# z`~gSQF88elBg{E(MeY~JJgWDT3JR@QCC#ir#!0c@cxTh-V=Gf2cr>yMh6+lSTcjgS z?ba=%ufrI=#7OKqlJ3{iwnEd(m3>i857>RK7-b^QHXu;9Jc!Wky-_ z_c;bPGFMw_vsK~yO>=d&DUk}NU2%{d7B z=z*k8lt(u}rPNt7&U{2uXmI5vjbt4&A?0@zq2jAZj3>ZsvAb3(b`2!P-G=R&D`kc+GX>FeZB;GS_<>Epv+FV0reB z2O$VoPEw`xYBGIuCXkaN8LV6yCCJhj9_GV-l`NQZRiS4>3UUwM>uLkzn7Vq~l@waD z!XJ?kN8MK~ya)=hwoP2*w5w|bV1p~)o;lT(cF#>3i%8>0oj5dDeWkx@@sf`91hdZi zp}rxpNbVw0Fd{YH6I7d=t=^TQ70kRKZXwB!+_*7r2+H|Pwr5-1dxF-s=om-@si0ZZ z=j@?;{W>uv^Ro>lGw4ZFu1FWbRmGM!Qx$;V!7#!V=&B!(UI?3$joi(B^1n1%?OwV^ zzi3zV&91N{)*tV+Bz?;|L((oxfW8!EVE0KO+MX|g{3Zje{R=!E8*9Opz;+rKBN6^3 zC<#*F00#ZDbiPf=m)>UzXD`Q5M|R_D=H2_$COBBQJX z?p})23e_y+A=`}N`op|ptvUitUy6`UO?+8|hDv^5oZ}K5!eLYGAs0c(5XngAeOgNg zatNr8>piLgnw?LsUiwm(zI0C1J9NB5&V#Y5laZlIm71@|7lt&}PD^*DhuyDMPy3*qc{_tLxfgO1<930XS&9T1{b$v4S5!?%w^vyPR} zg|$G!(#Vj@WfpF^3*xnFo85t$pbD4u5!G8g5u)LEkRve9IqdFhylm&wtJoPnXkMN$ zc`oej&6I6T-r!+6gt|fA!`f$sUUmtY6~9Drd0^>z@nm0i*5wm%J_d%Mr34B{PpA9s z@8k6_f>{v$h6_UJDGZGXGH{JSN5BCc5f1cW(;7#t@@I#S()ZUI(#UZfBHx-_zR@f5 zJpDbwTv~HJ`n1GSy3f zZ$LuPh^yQgaF{r3xHrqNy%{d04n~7uP^YMi2)gILAl5$zez~vF(poS1?5`2RoeXI0 z9Q}@>C+DpfE!opU{(B=&XKZ=$%!7FP<1T3B9(U=P5k3dJrTJFmpUWM=3Oy<6zVBCbU|oE-P0IT}g~VZxQksE7e!Fp%;v zq3+pA3PZNG^Z;#JZ&wsEn;x`{532<-!|#{PhzDx%K%&LjxA(Ta=h^`Y63wkyAl=Whj!5QH9w*x%(hHZX90I#BENNc5WkIt^td*b=;d zdsoGKsF(+s(gc=92hY(xJA~86V365!sq<*kmw?1MW8GoBBu|Yeh8}?qgGQ0=Gwi5b zYJmanUYDbC^%I1m+ESzzR(uGv%Az!sV zg^KSp#w)iRuktNwuumiI=}@W5w5FwwC4?_S(A^gDXTJAiHC&R88ZYy3$MN z-x-K?TkW}ai@~3^&Z<_2$+M8!+ZkA}qnS9rc*9Ng%i<9>gwle?VZ3yesmN23QAQpz ze$cpGGB}cjs2J@Q!NM<#KuENmSQGQ$aACSjT+fGchK-S_7g zEjFGt(wfa6r~1DoU68vq_EkM9S+*weS*nJRT}x+8ZejPhN`~A@XQjssI&c}};p^H8 z+E|)J&o>u=|4c-~1Wwr{YVPT=PIudeCbB2aUHY+hjNR^~GhrEe;)b_*1d4Ta)srWsX4hi3na7hjMI8>d?Dd&3K$h_$1(Q8M( zX(Y>}PgyM5eS0;xpE|`i4tY&O_HMXCFw=FMb=6mH z1ji|lXEvBx9QTgy^F;M+YA|LEiG;) z;HK-N zu8p37jI3}0K`ZGWOv+9mZ%&6Cs(Ae+tlyiKiv8-R4S){*rY8on5>8?@u3SnD&8sw6 z8gzl*UY98gAB`Sa-}YG~-Y5FhmxLGS<^ikCvs;&`uj%SYO0yF?^#s;yEhwO=K6ZjkOaz_9`hBS+FLzhsX{LP~Y2*89cLH~hs+5g~N z_!0`#zvmEQIw1T5F%JQF^3Hd0k=(!WF2I!MKhgIe#vLm}1r12df5ea>>!AN&%isU7 zWgJBXioe;iAj3Z1f9W|GaO@wry%!fD_}?V}?3VE9U&#EgmE3TE2{G|Pl~Mno#D6=3 z2-^bj5752$2XwO+aIFop1`2&bi3`RpNRK_~2%|B_BejBNz{M}SuS`ok9STJrp#Uz2{wZD{BoK)PBt;t>Opz|};99X3XM?{e!MX#|a(~q$K1=wg z687-z)seA`j4C)|QiWtuT2nj}SYH_!ps*B$R3z~mQxr}6RGBp{QCF>6?sT3aAoYHJ z%a8}WfQ!pNFWfJ90}BHo?qS=I3{AUVQf64Y!RE1+idu|a<8hM6id&0bk(tRi+`6TD zbvC^{MPHd*NgSckzFK8}-n2GDJzXdH{7mX0qZ&=U=Cws#I8-c$Wyh^Hc5VkwhF3{`xB<&C!0OnG_*9Ux$_`&w@*g-I*4S zQ+T+_apJ8H*sH^a*V3gIwBjF@f1aOI4~<_){BPj>?7mhF5Rghpe?jlS>~Ps!sIH8> zB+onw9^$zlsT#O;^e7MJc)~($3k9bKURA#m5;XoyX9k-^9zpI*rHJ37Y@fjKoQaeE z5LlrykZBeE33|8k4S8%ok0bTWB|jiC;p&&lV?_4N(#eDI88-NCdC1T?74tdfEBwB+t%I=MsiJUho?o z?19YrEtuHc1H{6V$FnAzht{&C(b65J$swF`lpHC4h?Qip7EvsoSy-GnojQTJ9<$4m zLP&^9=N+dsltUCL)fr@PMns+lwYIFBu{PMw7x>ddN%TeMpiER+P7 zm$t@n?zltucsvPpGw%v_x#E$Y>(UZWOp!v(V$o*?}dI@ZkSaTQP{Yjt)uTxXUPYH<;mYuq< z^`G4ex3^4650)zC!#PJKiUYTgET6U;LW!LzLcpZ&lxceVGFS`wxq;cmen5C7eGVk| zU~o80A>*=lKcd`@R6OT{-SsGV%zOvcHe? zw0;=|171Dzi9fkq6}Zkl!KhAWd54~ijS!cxpuqmWp?R1e_?W+$kU%9ght8e}F`=Ns z!H5$Yq>&=75uQ}p(U1L1KFHljx-)0^A$_)%&-<-fTrb6ROw9(QZ z@`AcNza6T>Ch8H$wI=ne!t$!IK!l<@J|}rTwmsn#rRv2h(6`Q+O)7l)Un$LDpZ!rWkI-6sDk~1o|5MNVlS?k3w5G_l>>wd~Y4#aLVg71hXugqa=~Yph z=E1k5>D~J%XIcom@+3C&N1I}uu^35ady4eJ= z?OcWf=$^sDinfxgva6XJ6f@X4ymY+*o z+&7|vYy7}+tQKcp2=72k+%a6OC!?Z`H<6Ck*+v_rE;=q+f;U! z%SiJW03^3}41Yfxb*FMYp7nFs+nDDbB^Jw|wmZ=xm1?D2+t#2jDEMt`HNk=0A2~v` zZC4fdHWgA8vfayxzE$*rN;&>1)7TY?BxIz|^pd9IUYnk(Cne7&(1bNW!q)s)BI(P; zY8m~L>OKe;KPNw#Y^Etw3gyh(EHqVic*W*Pz3^If>zNC$wdiFh#Af-qx#yOVAMKTF2?GpYVX5>)&046&0I#N1zw?t9 z=oRZz9gHEg!T`6pxk{wGWFGL#7X%--)77G`RsxC@I9)IE3@2L=(?2!_I>xaf=_yk# zuJZ!6O(mrzM;8;Tbjs2KOOP#+D}HCP+O3G#b>8f%oYd^$s3}eRZ6CmZgy1hf2=t91 zRpub@z9b;3eP?S6BgmG^%zvx(_XmF5lzDbA`Q=}dLE>t zb4i(t&UG$Lyi=N5*M*$m{z~)lA^iM(+JK{wZ{idt`^Y z+v3Fjak*u!R^NX5!)$F)KVyq}f1lbO`y)}9SaAKpgMC)X9Sce#jK(v+@~*otw{BjD zI(f51J#S>vl!+&A9TR%jH$)Y6paue70;XH!jcz)4$i|(JGHpugIP@ojgHbdJ?%j4t zrQoHu4aaoNAwI-l+%|amL~OzH*S!3_Urr}Lf=9;(z{Dz78>!QM9tjC)k`K@BPDkzX z@Jj@o4lN_PCTKNDfKm#+=g#HI9#+uVVebj?RgJlW7H&SEi$=YM2~aSryw;3#_&n>>VheS`Q&Qd zl$9s&PovjHoQ)~o6~1SY3X_rAZ|nPYFk#*$3{|qmiI$GGKnS5(IhH+1CxDW{k^;D8 z)W|F~QlY+LXByqcG!4%$(e7JCpr#tlg@<(MIS!q6f1b0Td9V*|JvU7S!0(#(0#WzWj3qhx<1Y*tAa`uMh!`o-2tH&@A-g)bGI*v zPOCA||6U7<^d&yDVK&?I(mSg;+sj*W+TP_`=vSKd=4|XbtuHk;;2c$DwfzGFa~6$* z+h6}e&y^v`dT#S7KfSIZ+i<4nkA>5o-xVL;x~|8GOKGvc9m1g5?MmjhJ!DT_8alC0 zpNv#Bw{A`YGlj9Dq92ChH79O2VljF|IPC2|;cyhPahq_E-kg6N_p=mM>x%etI?yR- zP)3>g9S9~ynsKh$`uw>c4BiLV#9#=e|74?R5!8U1?MsFtP>|FHPKt zsl;NyGN;_-sv#($2Z%W)j#$GBS5F7YnN2q%Yz`;>*e^QM#P5TPhWx$_1_D%~SQtQr z`L5@ooeCA}07Nk!)~W`gwEG(&bieFZu9#fu8#@9R=X5$q53^{`nJ(5W3v7wdr}b({ zx$J6G_&qif<_k^@<^gD*{-LRa|0m z?*j7YI!6~z%^Wn*#|(dxk<=ttpKfR6C1`PJb5}Sf6quo6!+OMvH+J>0g& zd_ay27&fOAkruEsQ1Q*O3)w25&{1}e4>NB#h&RNuL#7OyJtvWmY$#ycsXw*i?SUR^ z`ct9-fu8ANbok0W2?XQwu_n06bfOeheRc8sH?onEa>qkjC4tPWTIe+9a7!#LMWlHs z{|EH%m}5UbFPU6MGhc`?(Jv0x-rg{TwRP-{TaG4U=JU@k9w*miye3}S?|(WFHkmJ0 z6BLjBJWA7I7)`3@**AzE8RcXQs6Zt^T_p{0R;SCFAi<#cFN6jVWySN)fg_L79D;WT zf%uQjW}%u#vUMx?61~LBt4)n0)FOs;X@=)3zGF;Kzhub&Q0VG^Q|KcuP?)^8&FW)Ox(@&|W=j)a-E^oVnd34rs_V28GrHUODb= zp33rUcyVxdfo;q%aBZDt)h1`_GG!9-wMpPSkTEEqusyf^o;GFsGTvCOqa}-IsW=5N zEF-5G2x48erD!T_pJ3+fYwaOl_-c*g7rM*TGS(dDy|78H|S++XAT z_+wG~o&}yx0%KRv;_1ZAQkAD$mPC|}tI~lZ5$0T26Y>_Fv@g< zi3CN4Q=P;(iAYr*bO5p{W#J?5cQK-*(PPGOVsG|o(^QLQG^vPIA2H+FWQq)nC@yY> zcQTtstBDw8GBjNeEnspY?e_Cb4tM+@+mUDH%+qZDND`k$9rFHd3X%pB*gENUM;*#b zjU;dbo7*~RbWs(N0IzTTl$5*)0>Aed1+OUW`y;Uyr|(CO2KD8`4zby)hd(h@7z^_y zNS*J`lKfeWC*R|dsnn;s+Az-aRmOEZRh5F46VdbsU}H`urZmeM6MmR1wSL?OkLI%0 zs|TNsx6?In>z%SPQHf)3jFc21J}^3eb-c8#usQy9o+`SPo1qW&??j_=8 zNz%}qYjs<(*_ORP3+U;r*Wb;TQJ7OZ?LI>JFYx_vLpz4Ei;C*uh*2@MMAvhG%G*E( zn)CV>0XG+529SbNP?ei`=lng3-0{NrL_$! zN)CV%W0R>s{f9iPcLQ$*o~4dI2>bM$c?CmdegYKbS1Q`Y_@-Y_qWEwBCeDFXog3Fh z@B{6^p)In{x1J<&VZZ{Vn3(ett#Tz?5}Hm};566Br5=q6R8)Yd3R6yJLKqbFJHG z=hRWq=ymYR8R9%Q1j=O^4e@O(VLS(2_6p1T0F)voJ$GRvfQOhEP2i^=514tD(u4_z zHkd743gP%xr(Nz78c%}YuDRmL3mxTv!r~X~=DuFp%cdQ%f@DMyyJOu<>*M|gj|3ka z{=D9UUSK$N2VQNkEjnaR9YdYFVY7DGswl9#TRSh64C65)d92s|(?T3tKnl5bE!UTQ%8Y zbA-np1X^4Km?ywxp^aJ1j=D*V$-a=v{S=)=A^LOwWyqR0=e-f}OWc_7sTr(zR|_(5 zjAC)5>#!+J5K4&pmY|TUZvvn%%N4Yj^S-;wx$tHJIx6yq^G``_Um>!$8`04zXx(+} z)aT}wRbs88o_*RoI?M^1>Z;3+cltD!l4zl;%DQJUfz+CN{w0nxtO~tg6IU?TmsxFKRQ)kTtdIM3 z!p9OiH}EIkXYBn8$Z(z{6^D*Ai_5^~QJb1JIeC@85w%WhIuLnPdjvVsMl3r8iE3+^dBP0B|c)_o@ za6!GkhQ>r5KrObg?$JlJs!&l{Azj8p>#C36p}8Q4OSeC1df}rYWGu8W6wD33p!G$3 zXLgr1&2@;E?vstcHKo1J4ZGIAEe=x^W}?*KJ74gNbJVYd4_}N^7=PtXL;YE zyHFM&{Z&1iyc3tks>J5Y#TM0-W&&${d)41NwG8W6bSnCamYIxlZ!cr=5kpktj*>Q4QU46=r-_Fd`XZn2Yb4KySj8+8y+DD%O ziE*L`VYPgX#+j-CeN96P?}tT8_}r1Iaz= zu&<+gb^>7O(vJiUD0Gc}&E33h5Rab*V%0SO8D=eS9>S;b8#oM%nL7!1tgsLs#p&nv z0-hgiNBwyntFXyhtFL&GK#F^@z$>7+E(w?a+ax!H&0e>Z1UY-?vT#tv{Q^8@#P5tR zQ4oq0bvekWNYO`^?Km8n7|V9cqmzPK?K9I-e*4X=OHK@*TCmzSQ6-`p&BgqU)Re>e zoMX2s&v*69I3cAjCd@WwtfZlDJv@|Oy#(q zdFO)4=*KO86b{VrjxoefFw8G}s9$NrcFNvS0{uB5)D)+04418z+9MWSoK<|)Ts~jW zn!iPJ!`35moGl~>6JwW3rw;C$@8=z`#dH@xpKegC_W5T$S_s*Hd%zUBrSO$mc;X@F zj-~@rx4cIZ{cC!WgTYvN@kc}gv7eg=Ty0r_^2;68@XO{$YH1VdL?K6pb4 zKWG!9ET3kGENVbN;WdUT2gp|(_r3^CyR400Vz?{T9JM(DUT5jbZ%)8%2T4Y)c^0FPR=OMP_%os4fJYXDo3k8*O1c`w0?ok$7a3RACC4VjD2i(}MU;-(@2PfF$aC+;pl5zC5!I^zx zP!(~_Xw`B=uZa2$>G232Ra<5WLbv4K^fWH=b&Jvh!XJ!Co{SC~g6fAckkR;mz=9or zF$UI6)KSj=R&iQyhZAR-JXcnQ2eT;a6G`v%`k;lD;)C$FiUFa+7G|pEI&=ItZOn5c z1qtZ=o<#B=$QiU7CXhJh3@A1Jp;iAPjvzoxDPsG-3F`kQsDHuk|1m*5Gpp5Pd1&WM zi67*S!F6ujYMkvJMa&0+MBY#!DxWf-&HxUeo;heHi`v0#;<4s0#xfm}#j85QZ~*WC zqc5q$ICarS*PrT(wJEM?geX3USd!rkNM@scc(cx##lP@f_yLG8ug*mgZs8l$4_CFlcHIm2xCpDuu%5l3@k1*t3q z=v)w%r4wQFExE-#GXCbYb%yvQ4oO81p*(0(c`|LXx-Z9#$L4s!LxohO<;izNh8o~ zV@(VTp>b1Mz`j7GKq+oJW7sB=b+Y%wZS4`V6Ue_tP-eNC8a@~Ni+qt92&$WDvYr04H-4E)5#WPZ`Qyxm1~T~?VMD;cU;S5 zuzxF4%*jd+-q_gKJ2yF9AJ1lv>B??OTYT+`_ww?l3M8B@Po`DOr6kO|KhNMnH{U(T zX0tqF%Mf@mqR}dD?5nFWqbt0_ZI&-n1Vu-~mC(8D2+r|-CMH<5%U}0In!CNkoZXWP zsob@&m5w^T^}CjO^AWqf!^5w9Z5z6II}*B4#TuK8 z1(XD*LK7J{9#;^vs$uC&xe!QSn#2iIf|=Y?iGGG5(Vv|#8HhsrAde?H_+V*F)~W=A zHfqXMD((GL?qW%|bBn6N-B)3`LrQ@qC>|B0#foI-@~=E}jVrT0uVfprpD?VOzD$_oLow}v14+pA{bnNVWc$yUQ(9Y*-DF3E03QcRWQi03&B zzHmBZoaOlC`rc=Ax~vdbrUEx~i0_iYX2Y=V8cC1LSyL}uk^&Lw`~A|Caoe>Sqw_`8 zw{vZurN(g!zuxWG?pIFc@%28StU`;jdnuoyukp=LX(o24UM8bHQ|5*MG$73wHQtV&(YAoO7Dl zN8P(8({Wu79+=!`|hmz{jdE25nM7_mfcD4^PU@%r3p!fcrBZX+2qj zFGcD4d00T&PVFU9eGvLa;K^Ot)5h$&!!chglzkeajZMpR@Fo<&795&e@)W5$^J3JM zciHtESFUQH*NR(jJ#dMR<1y>6e`J06mRp6w+1IA_S|77PaP`TX<$~U_Up-v=5L*9M z@>Rpt!1%tN8LVI6lsvV{6)({M<|7q2Pd-ra1=+1Pz?CFVv3S3)Yyw2+3T}@`K4!ZI zppD0*`Dp&74PZ2Q zmV5MuR5DwFwn0MJOw!B3l))pD8{?}K|2*Hw=3(_n`K!39uxsi;kz4=Ce32}OBI;8H zZQ;v(s3SKn%;af@Jm7TW7oksa4$`KGR`aDxndhaye7RalNO>-g$$}IjK4QVXH0;I6 ztUqeH@jeAmP>sF&n0*bVwb)rUK-X?UC8sQzmWVnWEh@g|^9M;F}TUSEy*<4Ge$ z^4v+JE2b-NdE0+<>X>iKb#tLRjZ9e`zXnsCJnR@*cJnNG?i{i{K8H>_X){1eE{5)Q znKH$!^f;-dJb+)}dPSUqbrup_qFDA5cBrB>p0`06LG>nmH6 z?TEiI-4`zNOGK8ZCGMlwJJsaE)Z!T|tk7>Q* zwY8R)HjO2>yb_1_iHDmfVsPSVfYDlvclowoQ-SFn&HPjIy=$d@8K=)q6wCfS(2@p< zbTRXhxLEYh+x@OU8~^q=X{FI*jX;b^aQvXILVve7dsKM7-ktOgSp}M=q<&ZEb?1~2 z8X+<_7fJ62#r#9C#7J%x6p^n|vG>&BiIhZ4PM+`Q^FN3OW5gfh%U4^IC2m3C2M0U* zo0RqWAlz#Sf{skvEdoLS!W73QeSXz1^&Q=wr)&t*y>zD(N4ZNslA6++#MpH!-$#*F zugxjF@0DUQI7=n%mmMn_19z>_f3sc3%$k7MK)Z>Ut;CuyOPsE@V6Tl)o`GwhG<6~iyG_3Z!v>AwK)_P%1k7f3+L zipp6%_{h*(r0e-Yswb_Z|1J?e5t{i+qv%k-qP)9)X2aIguOVZQsRrO55rw)VrT1%$ zCC|YX-=)<3zqxKOVqBp^uC!UeZK@y_*@? zzqqaskn1i~IP$m~eGZ6^H~4<*>|^^!h>kYqSYHmXJvVQ-*KbGo5m>vEXEXZ%bFUZP z(p;k*KFE7r{ckHemCzXr%<<|Xf$5HC%s=msR;Xi4-KaA&Q|El~OKc#^h4}MZd*sA7 z4*6Yimt<;|>m70zXbvSqMbw2d9UV%QvDKz>t~8oDw9W@$slrUAU5B~vcTVFr+0WBy zczmuATP)>@tpO*@-;bF3eqKAB+-h8K{iKK$%Asfo!&y#pOs6n{VNTzwK=i_jrjN7k#^@ zuCNfDd!Vx&*g{e&Uh6&=;!Jmj?%mH9I&DN5Pc~I=h0pqEAQsC|=mYFdb;t7l?4B|j z>kCW(RqW8~TZ(g0I@Syx&547Dv+U}&6*xhaYqdi@Y^AVnZ+%av`iwLHWp1blJTFVS+ z%I=4!Z3E#@L#NRaCdjvtV@)kZT}ItVRkAONJCD|HFs8avx-7pnCyZl zfHK&5s_Y}_T1SXdhw|IXQe)^M{vsWT#3TEZ!&(VI!om_UnoOTaX#l;Cbp60A3Xnto9&vSrL?WsB@j0 zIBwUC8=dPyLZioEa+)V(FMG0pmp_d!Ee7P zqNu2ql-|PDX^S22sCQra*?mLUArfuh#FQDwo{I)M4TsB9K9)JYAa6Zg9kQl-ZB`D` z>kDcN$-8F;%k>4Ai22x(l4xtW{Xxut=lVc6v>=>1r3Xhm1;Q@It21~rVWd%)TLQHhPb(xQ-HVm`q)2-liU-Ei;Repj`FHyrX%Z zi+2hil`@!zAA`v7Xc5mjRu{t;)(o4h_zZhRD1BhFj1M-a4`j?|2)q%_T>L_O%0zfa zT!fs?NiufZ5&8fp{y|@Dhy?=}66q0f11iM%-f9QK}AH%nx zX!f0X{;sXNC2kM>oq)vWp?D|hM-C_!y$uqaoR-{%$j!`qs4g=8B7nnc8OK8Sa~;fS zyV&=e6Uf{W4UD*&puH?I|Lv+h9v@wc9P)C}TQ3dqNBi+$%Kg@ctF-oXd!GpONW~cq z%Ew%%h&8D_EC76w;r5#7eC_j(O(7QD^ghdwc# z|3c5&k^_Fp0eq{>hMeJ0Yic#c`K+sOr*5xVmOL4*&p3m6c{XE9SN3=ESikG z`+DSb=%WjyN&_amelZH^3q6@iBH(>rE(I&ux^nQ|S!z8{O!OPG{ zBf7+g|Bj;b4t?0p3OAHHJ^F10ubp(;!LVpw5P^>qUj*y3Mk6@s0Kx&L|sgt@!LA%k_nE!)mE_M_vC&tFUV55i4UD-L07Y>&+GtZ^qB zUz|In5J*6+Ai{!y4@{!mRg)DgnEt*@S9d;*JQJoA@V;aKK706c;MJ%)fy&+Y=8XWD zia>{icn^YxGeryOulBjtN2b!~3ii1{FLw~Cm2!e4Z*#we5+@;xDu^JbBKzEf^;SZI z`T%ui`yQh&V%77q?`GRrAnO@I}4n4{U!CHVsP3Mlt z-lyNXCm3Q3ndAUvvkq7+hZqeD#@<8(3BJ3+Jde3!yW-+=NN#9L#DrlbBv>(X3*!iT zJbrsAh}*IAXQXc)VCzemLFz}Z#h(tK54`+D&|E&Sr<2f~ zlwr}jZDohBDVjn$HsWD`q#;{vG|L8#NrgVIVRf+H+2$>)F-6vubXL!5$vx zR%H5O;ClL19O0zg=G#;S>ftq#Q#acL89nzWj{`2C`Wy?PRwhcTTBYP56K3-h9kfJN ztkeQ_tBXGD*K}zYxI-XfOPcdEWu>TH2YZZ!_3K~yv$JwcaCUR5(l_x#Ad4RQu@bfh zMA1A660g|gKTfOWdfVa$G4Bil^;&3DudO!rj~D5}76~K1*DQw4iB!?bgFt!URACId z_{GH~e4jPMcaO~YH3AwTP$#aG049=M?DK5foXJ6JGNUzz1crmr0!4(+8fyBTqs#jcbRehw zN?yO#sb7iL`2+txqURc<`D0+|#yv<>B2`5G@@QU2hM_40=4U~y^R8Qrl=F=Y{qc_` z-wHo=rW-xAk19h>BFM*@p^IzVQI%@r4`T<0Io3QmwR_oFexh(0pF@K^h-yuyGdWbH}C?uYZ ztod-n#%(};;GSHK+2J~J?z%MN7MprGb{gtXAn~H89>^;y*=uQuxi!mrS*|O8r;&TW z7h3#!I8wjQnnN4-mzbKr8^?U+R+2D(rj8u&E0dI&}aJ8$TVs z{z2Bh7ZB_?drj}uk`N880ROq z76mSjP5n0jT5;VQeNJP?Rksc`j%WQ}sX;_v0p)!rk<`#kO`rgq_dHPVvqj8rCjt&< z@}UiR)isDXGC=EjbHkLcw@$rQ&|(DWJg+OduD#ZKfP25rWES%HE$b1NR@NsNzDex^ zCsab$lncvzv%b$MP_tP+!8{+udyL9mO4G?RV?zMV5-Y$H>b36IC;PoT>k?M+lN};m zSnSmzlaYWCkA<%O==+Izg?k&ohrTph7-R_Ar(NbaRk`{i*1U)4%{z*@E{(j1sL)c? z34N1|C8vPAhd>2(0eUTwU9L$$H0Cgt?z1M-HoAv`)yFT%um*efAqZ_GU?@!}_Zm8y zi&yrYp1|dXV#r6o@+m;9yELA3`fYVgZaEYM$)Ez6;>_LYamX@BN>Y*@XH=E4fOpUs zqDyYvOp&4%ov%-1>XyvlB5A#JY=Ik09)nZXKiQpu;G`|7vlsnT^q_Pneb= z8JS^>xOCtrr_}0UY)S-5ahTIt72(m*6gTld|UVb00^2Dd#aP~VLU8WJ)|H?#z zWY>oanK&uB#+>tw^#uf)yq1PJqO??49b(w3DH<`l?2 z_b&yy5crxLsNS>S*Q46#83xrJd#J)9i|NJ@Yt1^Eyhzw~t4*Oyi2$8|!~qcK_!YD|&){8DlJY8s42q1< z(T@_kCAEdbu8E~xG8_!a3%O@CHCQ<~k*h(vJ-6pXfAlkOvGo3XBXpA$*o z`h-b69ywI>;|k%|O>I~*E4;xtBUxCmFjP6@)S7;jfJfIRPmsI!ZxYv(fE=t8C_o4j z!SASsQQ@`4I|*c-fB1Pj)2wJ#Z0CKSvVsC~Fyjkbq5q9AhW`<-4<&mwj^IQ&6cygz z;`149y&|;$W5%s$SX|`K7Ln>1uIv)UZ~Qhw!w}AS2COkRu8UT9nrB|pc89l$OG7s_ z?XszJib!h{$DH@1oSYogu6tm~Vt+vT=zsyjT7JN1dX%*h?RF(h^fMafrIz4Q52&0m z64h4zwD4=XY`pnn+~H1p3S4m^5UMaq&eL6y;-1mh;6<%yYU6B_9zH^Ss|dKL(DNIR zW=`TNKtbykgIHDoE%lK*%2?2U7M?K=9BSg}f))I@d2bsfB8l4UxuS)qC}&%jmBH$I zF1@tNX%so$GfuGNIJWHK!uIo-s%Lz!vVK#hnnX$fOV;qDt3Sl(VB04t;-XOBUuPOz z@IZQQw9;nN^qmb%xAxW9C{QV6OH6NWY0YpaPeyT41~>6xUXsCuKMcVX1G<%FBiE_E z)iNxlunr{-FD8@t5t)uJM?M+wQl~8=_DwOP)kw|=5%CiT|Do>iy+uK6&!IZRW(79= zBrRD;F2+k=p8P5elqcPdwSZ_ZLI6y)nN$69v{C9H&O4EYJJ1>+NiR2r^gJke#y-LE zj$&DaKj@jBGcMnV>fpZNzyh<{lZgDw6y`tyR`7;9JqeOsSSj?n|FDJw))@QZfvS^_ z%jA;KQY`GW($g7O4a12jN3(ji1)>aDsZU)VY*%27p!bu8Wbl#h{lx!87ENRi0o0b^ z1~HQK>i?MG4iZFs;dEv{&<1kk`_v{}E*Y?UIe#c=FhdtYRHM9ygopi+Jn;egy}(9h zms*Ufe}HGbYsY zKTx9ompMA1to(o565l#^i2mE}mLrLams(6iGnV0$qsUb>F8`GZSm5$~}iw)*v{-a1osu|Lwdd_A~Bkco&0 zo!Y^et2>kGosKYeFPnlT8JW|Uvo?J_xm_LH^NjwFWeB@tRGXZrm)t`LJ8FW}Q6AwlGpBncFFfdG4D{WrE z#lT2|G@|nPpmCM8RVm0F2YX@-*9nqSt`>gOWzF7+bSz3~NiwTP;(F_k5SU@F{9EJ6 z%K<4WRQ$!+J*J+kGWdE@CQj-6|+Oz%>Ygg!WRb==p()5Kg!a!~C%4O8UfJP%nnw@*~ zBs1q{N_3z!?~ct7*l7Gxbl|f0Y+MxvwQ<>U5(`NvbMMyHG#Lf;HttBpYP6`StsK}& zghCU!My#zNzJc|~W2AI60d*Ir)C9m^STs+5bIUAW$^0i{iTQpGmDJR56vz~yFHmAR(QIrBQ(*_gP)!UCZ?KRMPK)ygKhSgw8hV_GX>TK?AQ9m7lKS|-lAg(%?gDSc zdmTh4P1lGWTHxUXLZ!v2TnWj|o+|8~B!vk&qY-h+@(*Uu1|=*Rr68kFaF))R(;b>< zK*6Ho=VvWlyo%G(`oCgF^XpAzQ=a73fawPI2OIV-yVK-6PjX9B<5@3M+Y-rmH4-eq zUOSaujFcMVT<NQG9dkYA2p@O+K^ z8`b3C1dql1N5eP#-^@9_uc<+RI-|i2Pb@KNP5LU?0;;N+a>WYsJ3T3d_WR;{I?GGd zG8%TPSY%H~lps-(hY#=EF{cfl)L+3);d>8bl;1Ah4j#NW51-x#Z#MG68}09>lK6FS zDx8#x8H=mdToq2{yPSFU5Es1PFf3Pgz;#zIg`g0#^DI~~=ax}Am2-ao4xQii?JLzx zzP?rH^HALw^iQ8d1Hk+Lwp){$`AS z)XF0QDE?w8leehW{EIx?UN)-@Sj+pFHRW<+12uFD3g`~91@wMQXv|pSkrk<4TK-0+ zFTclcXi(m5$ge@utIsHu?Aa`~ItY9Q2ucEq0#eHqVFyW)=0buU5Cq)%X4jzb8d$97ow*%v(cRtM6({jlNP;xMO)&0cf2#-FdDO{O(!srDl9#$k1+-f#UjubNb5GBfMKW^~U& zU^b?3nWJ~o=h}_m1nx9EyN~O}`%u{aO{8r0Yf-7v%Rv%L(c9tF%6kDb&^^wdjIw*| zgVt=fM#cSY_ygr^!!wLRMypVADdDMr{%z%Yi2;Xu2WzZrBg`;(DcPuG4MrSbg`k58 zpmLn4H8jOpEhXBFYV(Zk7UINYE_*b+qSmbEk=%dk^wf}wp}IPxy6n=4{Eg&)p!N`b zA}1X}$l)G}!%_Ox&D;U)0hi7HU<$jKKzqGW;0erhGRgn_0IKX=i~Y_Zo%dVvg&+_hNGV&-&}wY+f`N)LECo#8|5MlEOTpF1>pr=P%Pmo;-y1Q%xcwfXFP-~_`}R2JhQn1! z>E3_=lj8qg$rg?GOpig6mP#NlDnF%5>L#rv(lSL<>y<>K5Eg=P_Wj=InbV8RZ!R6C ztiVHIFk&Io;vyh<{&ydT1(saK{oeEp2u&Pg>ParE&4LM#G)Y#Zq0g7;1YfX@M9APZ z8Qm=UT5RvIvw2N(?B(*o1qTPu=?}W}?ljFmCnCXMlEt-TEYK=0q)uEKI23=F&xufA zq#1ASmH20RLkEy=PE>&+9y5@Qp#`Fm<*lhvY+>Xl?J@i+Yr6zEap+Cg^2a166 z>nSh2ZWk6mj7kLLv@GeKQqJM>oj86{Nr)4kyy)_`?}4oxUbKkceA893h{JS`;~<7v zE?88T%XPOl_3q(Vm@z6zgYgmatuOjX)e_%*@mNNJ#hJtHLUXc=NU=c~j+REr7JhG& zi4!Tww&n)yV-P8R>bj{^5Zf+4wLy9`z7m=8-W$d3H4p#XqJm_(SwuLYGfWGXuOn59 z*?9gN+~(1n2Lb1EFb>D1R4RkskG%z4R<}6Owt^u!rH9LqviiIc3$$7WDAls7#6zWq zl=b8R^OqR!HfS6UiyWFhbJdG=J9zJhKFMU$$=BrD)7d*q&(}SOa>A7H4uv!*BX|nC zF5T#^(~Xn_%A5S`c0~0A!Li4#OLNP9Z;-O}rXddyF-<(XO@2?ww15WIXo5{*#tl7eq)rSI^WVlupDWn?}RTl+h;67?u` zveC8~n_JX%)_^hY!gk6kNMK&i&cj&8bDAN(OK1A?er?+NW{6&EOM-?e_37;$P8F4k z%^;d~G1_H_|RlsJHRn>q)%2g1vnnU5?DuimLbQ^k}H;|iTtjN zds`N_Ba4A8=Y)S+&R-!Y0%uUYc!FM8#EmMDR=svV@sAsWxM!DPtr(2p-`qUhDg=7S zsY^Itg{JSNMp4jDHex&pCWJ(#4FbxTO|HlCA|tNW6nIowP{3@7u;S3E-TslaLq17H zHN5?iwSRFnDAD5@`Z>iCh$$G832@Ayj)+p|<=_Ftnx)I~WvQ{9uqyMHtkjz7)sL@p z?$^!%M)Xk5!mA6nCG-5Rd21+fksD)R3m+zk05Kp(v!eXkf&a6|`|bn*$n!~EUtb6_ zFC&!d@}H7d7>)+%U0^xp-k^}E^ft1%%bq94I09yr!vkqmKYA0VeQ#}kOl7rkRl<4+ zxdImlkcnKe0ZUlyIOYN99dmU0sL~OF_anUxq1Jj;sbY-ga$s38RhS=SnUsG+A_$su zU;J5%LhNURp6ovEMsrv}&VHoUA6z!a7rHWg@kA7WCrws?{# zqH9>jd}r!vW;cW`qQOqTJobeu*Xk3LoQUbFN7>K^4zkpFOKJe;iXDophHuucWq7|o zYy6_&#LVQhgt8xx=c`au<+s|*d}jI-3YG@}Yt&81tx<_JxfRoK$f)~0+Sj_I*=9V2 zL?`Ec@bxNLQF%f_&{~tZte4$cd@{Scaxj=8`h+X-*D;%1%&@GPcUzDIVZ&pUf9MOb~oUCx&xiW&&A_vo$^BG1O@ja6ewFdk#!8bi< zpM`=B+FXF?AfkW(Tg8yuV?5Llko!YD6DKvQmkEQDv8)l8o7(DEh-ZG+okpDbjD|6o z43*^3eRU&PMNspP`b7e_0}}5W7u@nUOOpj!c&Rbfw@I9zFDbeQlgT^!#jZcTYyt!*B{7Vz>hH=Yd%?R@Rq5lRFm1ZXA04(;HJT04x@Y}$ zOwODJLEsW;S6xZA=z4w6sk-a%r!~JXoUMH8cXYdaCsl5d*Zt|oYw}!E*9_5hiF1g#EmJL5(@^S@X}SpRPL)oZz%0o0ap0)vnc?BbM3?8%x7TP zuNA}rzZ#Ru&aO6iVZkYSo7%}G@jMmFOF%fADvpahyTd~d=#5hwv`+8ko3P(Z#5N*l zFQxJGH#a} zBkG@_3==+mcH~C*G(AB~9bQ!#Sj@E+ zZ1hHHZl} zTI6bfMgcp+V-h+`=+BMGFV@uapjm@XM8!9lRr%k++bRxKa{HV@4qF@tSWb`w=1|O< zLq@ zhNOr}(ZIyOqAN=L`w( zW#bf?J$Xzf*++edAuATWthmWmDz5XMEkz zwhovg5c7bqEA~W$9WUH(%N2nhzu$S>vO;2W$^xSDV1k1Alr5NANz^evY8omEdtY3J zDY*qumz^R@qdpUQkRu~{iq*ifP%x(ihGPMcg;d0u-6WS`4Vue8O${|hW8(mpj<>eq zKh0`FlMX|OJ}5k(3F#weaWw1Tvw3lj+DVpwwo>-|;(fXDEsg27u%&WEUKf5cMsFf2 zfJ_E%{Dc8Z9ZS)~N1M)&?onbQ$`H0&Mj`Yt;nf5fK(u zknbbBKteI#3ct(LxAjSI=bf!x7fCVqqv=Om%=^2BTV-p-1qUgZ5QnYi4$Q4X3n%i! ze5*H{$=mGERdf#!SKd09UzC7N9qZ7liEE!Uq3fIN{+>xp$y3-pPFs!elLT}HXzPy; zen23G1%W|}L4v+I0Bg?OuOosDXGWtY^@^QQB7X)M*<1bOMgTtih7|}4($U45Qw~ZE zH~Zd~_sCl7nSD!D1*s*(N}pghb~#n16zInO73V-bPI2ypjc;vPyF!1E8&SRKE(yi( zt3Z*<`->L!b2Vpy;!pbg*yBn`IH8RoGVI69&pwgBZu3DF6=`YvSbYn%yCWgo^I#qb zQ<1ckIyUS1mX*;xga$TXw|R|r*)5t*U*Q7+Bk1YO;NAp)!^~`jI`VOfW}cHn;O?up++w^#-$2eSbF7F&lho77PT*VgHxWu9)DbFzqQP zU`!8bb)GxGzttEEDR+~2vRU(c!@*+(yJ0G9GAOGosISc-Tmq@E&pYn@*Q?d1jUk!Nr;7k z93BbO>Np9a$Ch^G^YR)Yt>7X!7#R;ggbo0_+!B_kau#lV^E<*&>w0acYhnC8&SrC) z()NHHgh;!)r{`0o$xe%={S&$0RzIC4fKzYVOgj~{N~irdGE;c6mO4YkBOI(r~u1B-E#ZezKI|L!uU~tOX zVj7HY+76A^l-2tux3-kngsQ{RyBvCja2$PQo8=8`EkdA03#+JbY{(QAg+i;^KKwx) z7fHF#uI~BVMuiNr!lzj#X}?qGab83Tewix`Jv87Ay&(1I3bECCjbq39H$IbVaf_h& z{J#3ghh7~1m@k2Q8wd4+ORZFz2%&yc@wrm@!B9oFel$Af;!D66n3^xEwuIxKQoDTA zTmFHBZ*d#cN`naDACKMW;k`C_JZ%0|Ox9Ze375jIqZ^PCF6UmBj@Tb$1-^(4C@~n( zZJ@YIhlkK$gF%n&J!dC~5`r{!h)d-Q@OO4w8aZ*%S~y96zO$sENA`D6ABrK8f?tHj z8K~!i9`$cBekz|}OWJkNzZ3M_(hcbOiKgX~JbVDoNYt0Wp`I9(@>#-UyKSpTO6f_= z{^n^NNXeUm}odbUg~u$BEcYU6vqQNj;|y*ek`q`v2FK4-)jyo+SaLr>^F{5MKL;F}V|S0t-2?4+ z9&)}%nH(P3;5ZH>09@A=QBQ}(uT|NyvlSG-U`RA$2Ho@TIv~wOKllCI5X=?t0o5o> z$ez8X_p?L$*t$s}MaIx>eOu6*<}@+M{x3bM$dv~Jm%vIJOKY%iu>~sh_t!=vtc@b1 z+ib<)@gPs(W!4f;(I#B0uF5H{E1WckWm85^)ZGTGjw(E^iK6w%#DwIYb_|S+`<{CS zRASj{l>xl?DN~EcuhKlK$%0$r;j8>{z9(Ag34z)P9&MP@bM!-ZVI_5FlvAtu;sg$3iA+c$U+cV~gPAZZ(7oNcR5<-J+lTZVsMaWRq(Za@&yXXuU_a}FQd z<(eY3QGE|yJefR@WjX#0|H!|)KX4QE@PZ9dCl=N#m=(bH=g>4n;|zsSJ>R~~ca@xX z7dYv}x9eiCT&;Rpb$UN5O2M#88AX>A!4%8T=OwJJx`L_gRhs;gNU zlxQ!S><&WM%#B(S|7Y z`!WVleYiE+3`(12##yxWM;>ML_L$HDcgnj+7ejX5y zF~n!H%l!h9De)b;gt7!H1%Z6Kv)*(r1D>p(UC8I6;r8Mi(A^hs`cdX&H&@n zpnpEpqr|-J@0yB(txc*Yvw-GL(9tdbMXt)r#XJWBGRpo|aernO8IvZn*G@KPF zH691PyT{Oj3vUNK@^P3g;%8mrymbLoZ>WG@k$)-nzam@bDS))~FW67!0T5*3Ows&L z#CnMY*sI*+CS~zY9ssy71hB+AZtdSe0Azsnp9bz!5gLg9dGYr?@H_Tgg^GDV`ua~B z_J1xZ|6h71g7tCj-va{v!;c4J5F!eeb5xP7cee1-QOraC4-1F~_WA)Dx;tpec* zMMP89`y+kbJG;uo62`Dx5(+OAs70fqy8GQ^vDW(pxvBKP?1?=W5Q}RgmZATtuV)Y; zdSwvHR+m*MX^xkmY1VzjXtL^L3J#T@-*!iLF~(PbwadSz9~qNm>PSeG!12w8>NSRi zEiBzD8>aQQN;k>hVI)I z7lqg`f(?_O_DT6M3}kaFRWpauq7?5O5usRUQCWKmM>hG;%@J9fUlh!IIf~={EM#EM z3})DC&zz^21-zSDAVHOu@qta{q;u=-qFvM@4f5V3&Ae1F?J^2Osn@Mv&xE-oipQW< zxKRi^2R6F)(n~&TabYG>pZSko#=odEM;XWPW z+>^W%QGqQka;8QTy~%-9ANiB3nDP@;CY!NwHOX4Zuf!rKV@Z&xwoCy_{<^nChxn_* zhRd|mfD(E>aVW9TdSF;LMY_bb)`cvN{*!OK#0=!3hKU?7+@KvG*fF_<71(F7+;-D= zuq6}WWo$DmeXuWNmwI17aObEr3D3`PT>00aV1x!kd7wU-mCb)Kz-v4nslyT*CN0|B z9i)69kA1a^gM#wm>?UXWrwc$>8s#C4?#$!?s$Iqq1*zH3?Z7RafVnp>)Bqi$C7u_q zTW;?d<0}IfIq+!Y0tGt;^sV_EGEbs;1!?ayp~4K`yKWVV=uQaNkh6dbmdivr-W=Gt zVrZdN^e;~x&Xi>Su$>FgTblmfN109Iv*|0L^33z?LZiqR8%4<9jA1&veQ~G?b)Xha zDV>?@+uHUUR7_b{NKmcSHU!3;2y#gGc$M5FXhsK3KNSI9*0Dx0ySwVU=9_1-g$Mz) z;{U*u~aD3kv!uky7fFACJ z5~G(owl)Xw;jN^e5`{gxV8vT~h3V5SUYe60mybm{r!#7nnFHg)>~BrwBdU{z8yoR- znk>@0rgL_?@@L;sq0;ML!>X2QWlj~yl@k_CZtbB~D67P$Z0`)6D6H}} z=8HgI^3b8c+l)BTDAR?>X9y_3qGV;$B#bEC*eDQTRhh3DYPER%prOndYsZqghTr?Z zDEF~JHaS4Pn8Tf1M*bTHk+`92h!)0s@6k_QNE;9ih?@mfSvMbRXQu=~?gX zIDyK%bjB-pS+;32h8)3{6{#l5>=icKCl2XS|8sm)Z*R|Do>h zL%*D)GX7w_&IMPmT+J@#bFteqclq2|p;95sEYn)$FA$Z&m1Nasgbd{}qh`D-CNn=7 zxj5p+M>DWBmDI1SV8d$#yBiA{;r!!vD&=|>tOQDuRxG?3qc)X3;+Drcwt0D?A>oqwCbF?fw7MU zCq&Lnh+wd)R#E|%QzVtm&u^pjs@P;m0l*;in)5NIo)aXjyZ z=On`Bc1a|~()aoOtv}{a&iiFPlkh_H(e@1OLw}@z!1k}WA5a%z!sJqjYB4LVqYRN2 z^mw#FN&=bNnK*c{KR#HF^{qeSbc0Xmn20bM@LS)&B4=i&D8o#}I|xn{8Lmx^a*yoa zg$c<_hdlAg$!UBoMEUrH#Sow5^JK}_Jq+t_nk`5x=bb_)i?bH9JBB@+*!dY4Cx`;Q z(-4qOp!#H;q|ortsM>{01i$WN*4L%jPUY2iI5u;B1g_HbMNc|&MIesPiOmmTdjv$` zXuec}hxAU3nYu{1HC*7sR%4!v&F=?BdY!gl_+Rq~)&@|B-2r{pswq{(NcbFLQT#3M z%^zawu(Ozm+O#_x#;xx48ZKOc#DzH1SCj^1LwUvdl*;@046P{uX`sRpLwy|qSfXN- z6^2E3*~X!V?_3GVH4f8FaanW8XI`S4%J__L6+Cq|`luPLXyV)~51-d=FPNw6^)FTk z=4asZ7abm=0Vh6+)~q^F9#?OEu@sNY>kka7@Z7h>_&^Y+xXMW4F*Hkk0_QBdV8PehkOR=hUmT8m(w>Jqt=OV$ImD3qst@xjpPG zs0*Qdf8qc9N}#M3;QG4+ByVgm{Jk$Gnt)gCR^+TU;3$u<=l(eO-h9Bv)DmI?XiXbp z3~VPQC>RjsH}95S>eE_hpTh+X#pP_ZISbm{9e<_Y(@Gh$`dmN+^{v0?mwMn|Bi_&1 zuM~tXYul^sxh&ZJj`)fSo_UL8rfXqY;iV4^knohu^L6H6c25NMnd{B$4~2<62$QF^ zF?3o^3_krVm(^d78K||$1=rSGEh*QMY73BSWY?=kD|9;(ARxxkG7TfG2|6sSs{gpx z9wC@O7-uD}FOzI1p)K^&xgjI7;`ljF1M@lW>6(pwUiA2DFWvF0C__@R|INWo{rHe@ znC19G%*XZeFR>~YXqOyE0Th0L4YTr8o3=+CNk(j<#bo}i8YCG3kno3tTHmc|X5N^n z1dDTfJSVh6yu^(`Ngumh=q>O+vvY;t`w$fqq)p*_A$yrwF3^H5xYUCO*yuqrn1-cZ z@s3CNa$C6e{>${(*4)|XQxye*pd02^LMPa3&Oxy=Q~$$PmcLrSXAj=@xPJKpr`zr! z%51)xN$~nIu-m$+QfA>}+JM;NAd}HE=JeVPIh@2I@lz|~}QO;q=F{$G4N z{-~GcCt}qP&KN<3^q0Dq+fMrO_CAf1Ro`z`YLyn;!AQv_hS0#bGK)2uDuyyJ_9LJz z)KKIUnsx_7A20PmLCoPBZ~@fWS>6|)m#|1jsZle~<27SG-m>O(J72|KfPs^z?I9`GF{+T|s)m!i(Nlp;5F1gGwu2>sWjDmpMT*=Y}!*;1H@a4fXrhT`a zYvAq~v!H5y;KZ~sI7H$2$J|!0yiK=U?uhYiGBtp>dEzdE)G9 zr;XY>KdQa4!2w1?2BJh0NpqNP9&^xDy_?f{c5PmTy*OT~GnN`GO{hnj{O`AD)l}+< zPocIF6&?46EB^E|Yxp0|mlo^DhYE}G_A6vcBrMFL9P4}pjt>6@-K^xX@V4bbg>21! z?_rL_Hf)L|3uoPRXYUK?%@GF_*1Nm&7j{SVhP@51ob3&72WgLwLe|BXTE_U+VWC&^ z-yKYIlfMH$j>sCJBXEFe0GCl%-n|>Vr5H%GS?-Xy*H8pf>tCrxx@chpiK7{Hs}-3K z{RLf2<#N%G@D@aylQ6~8FgCungJ(J9H69G;=~G`C0}LW|mNX)%T)mnl5Y|hM$X6u` z25=KY;9fp^PVJN`P!S9mby-bSOvlV@Pul^52jGgoY%m#@yD&>wW@;bzW@_#qXU<1< zj~m+t=VI~{J{(Z-vk_@jhF3R)`t;Du)-LbGPYco#7^9z*R;tv!QTXpX)X_Y=W4gs^OqcDXhf*IY$9{h#x_P}lQWsTu! zqGh49eShMcYZj765IXE{_Amz1zsu{jSC)O~pQ+NZa6GqUXN44f8=sLSB3f>;q^aVC z!nK&AODTdDl+;3vidYv!MYd>@h{?)jHD{zo3=-TEy<(Hqgd>cS>#yNP{jpUQH*GoS zXNN2$Wn{2sxHrx~urBG%t7sYBEL+1_==i9l;Mj zFgki-YCP@*HN>i5->(3Jeu!nc&M-)d;2)Zp3+KkKYkki0t_vxrX)-IFv&%W*y`fg7 zgF_k(;(g)I_9~!)q*W)jsGJj;0e=BI52fc1HT|G1HO$N`!o&zAY_)U8Ge8mj0BwVc z8vY`L>ZM*Gt7tkDTD}71jm-QWt`~?bSI}z+U&D3?E4mOF6RRFtA_L_xB&oz!A*OUK zvBNQM#?-BM2v_Bluk0ly9e~Miachw7(QAo`!aAv&h-3wdKlY`I5QD#o8qu~8%a@u#@BrmhRfj8 z>r}oD_H{X1CH_qIRajmgI^?CBsOB<=->OVDs_22 zpAR@ky?ee1a=E6!b0sh#dU5Y~)}WnhmqU#D9q1$>gT0ZP4%==$yXNxZv;x#?3~ z7bgm{>E6n|TOyKiI?`HzZcF-cB=aJMJkIicQJxH1oTiOEdzbfn6 zb+&^KDSGhzirq#I1xcISeVJiQmk^BnzGAlKb{e!0?A(3lBKNeec}FnMp5c2J>Es@I z_GfIfr3T$i%545f7-Po9EA#2O_K(I_^*ASEtN^=}x?c4CtuGGmHii1ePqe9gI|QQ7 zQt^qhhk^v6!>(1MAA_S|=4N)-fV6oja@+N+AH5HgF~m%A#@ z<%`R^*L*-bO#kRf{VZIvNLc%^|$Tov1*0lvCbP*?#=EpnMf3C z?o#R5M`=2IzUMMQp)~pO7N>XQhkaVZFq1>KL-Ur!3amrjmXm})*PrgUpR_US3H{z56f_qF(w*hz zQI{cxMd`MIo90gpj>6^Crmuwv^Rq;GOb)e${&C9L235A~Dw?3?m$oj3-Xw+E$mHDr zJ^-bPYT&aFEvGceO&{U*t!7s*91_$yDka3YBe4yQSlz|;c+Ph+q{MMyWI~?ej%!#Q ziYh7+IAuoK;68BEMFb<^hZ_42K9*1>!c0+tjNb02$!g{mS?FV)OCDd|4ANh(V) z4k^Ru3gUz2OK;YZCmrKp>)7!>-AX4Qs1@ka2~Pu`zg@e%LqZhdB;jqjQ4(BTcR`pM zOkRtrJ7d-FHKZ;=hsgAb5(Fx(TR;Jld0Py3TAukMd#R4-Zq&cF(UhSgipq-#Mot{o z$i_wzM(1Fu1cZgV<3s2nwG49lE?4${wuGl2Z9RBiFh+36({y4~caBfI8xHCEh}t7_ z8R3W_vXeb5l8VS6XA#etSJ5SBS*$OsKP>7`@-37*mGYqIbdQ znuw_f3SGmo5iPEf)*5~EzcGO2=Sux-R2hYpRTnQ8EtDEuV@zP|?pSp~NSavOG*&RM zTxfkQ(t=Pwi#iN1&f@h=5pcU@PryGKtjN4FfCj z+>`42Y5VrUfvvs&0Hw+$Q1~ebGdcCXJcBUh^2fpZPB>Z*>f(@BnTg-@8jOT1q{>v< zpB9vNHh$Ve)!$y8P3S2H(0~gEc)Mwm!Z{=Oz`~VW(!4L&f{Q;?d4* z>Tt-D+i~8~LVbd~LCEzt{nXT?6|2^1B12@|gCg*v|EU`i48k8vu)Tln2Febhtm@vj zj{YnF@veS#7sm8Ci6MimPBiZ5o<1e^RFFV>9rr~ zP$UH~pP+aA_pdgS9`=iD-^Es*`*p-5{TkmCVn%%j+$Wye>pqVe>M>o?-?%VhX`m`Q z1~)gx1jjN96G^c@oX5(}zmU;v1nexuZ9L(Te;qwVv3@~g^Yaevuwt9Sz zY}T6}0gAqxhY(q74ovYg4uYbnY#{J40M2K{lHuy28h(@TC%XI$hZFvsoj4<_lsHOM z?y|P!%4Ps9+A8l2q@VvH(?f%Tma4>OZIwVcDmz?OY*!0AIVK)Qnuv99FZ(y~4N$EU zn|A$I`Z-RDQwmMr-S zr2z+M#}S^8CV0Zxp_hIMi>jO51wSZl2P&Is!xKHrHjY?2VyI{-e(T_!q zjIpEgL44^<7+w^ zosfo`A18jRQiTp;jvEQ~e($bvH$a8KRuMgW{q6Cwf2^wanXIqmMC3RfOH)0j%Et2q zVMST0g<4^a_$j~TXUBd*WeU>ElkoLXDCpAN?q)2wEaMLaIIq{kZ!(Rmeg}`b0{Tws zD`a<*AyGYN%I~nRJtc#e5@5`V^h;hN_Ckbm#mOtp(x}s)8|9rb+|Ei^KjEa6^L4CSxV?8}oF!V7r)lXHsB_7|R3 zaxV_3KR1$X^$Q8x5cDN_Cm%hEdwyWXnOm1{yFf#nn{_jByr@|~*_x{l?igH73BA7i ztrDe6iQ}E+NX(4M@K*Esr-#(wO;O+tu97iEe*CmmCK9S*Xn!uUSYkSC2fKQc zw=UNFK%s5O@RqhD-|@>bt&YQ#*Qi1=Z1r1OT9|XjT94hWA|J-A{J@+m71S@R5a+nt z2fH28&i_HP>l6UOC9EWJR0b)%wf6o^c6|W(mHfq;j{lz;>6JHT+bGI_@ei{NBLc`= z*ek9K%0D&Hjc=XLC$TdB)D;VD0tLq6o1OhrqW@ODg}YAP&@S(`(m(yvv3Ectb=+NL z_0>N$&tG@}K(~V2tnyF4H2MDrE@?>QG`OW*sraAEM1^`!2|?}ky)^oxOj19m!_8-p zH_G(y^*#UA1^FIJicgqv_CJe;^R{UBhtg|*E8YHXBES;yf&c%1^nY9eVoknTYgOC9 zK*=SCLuB0+f{N(9|7MnDOEkRyb#G()yJd7U!h}p$IqzAHb*Fu}A2gX=GSMTva#dePQ3%T7`P^`w~H*L$fo}dYM7DLw@b%Aq5z4 z9xcgy(>9#(8Z`-O8^3OuRkdJ-#K0`@KF*T!ah6f)9u2G$Pr{s?H}*L%+y zmpOQZn9$tt`{}7a{m@h~`UtdiCKR2%wmrwCkX0)8utBMs$ z8B_4=41dT2tc*7oG?4~?W+fCUvz>Bv_&;F?TQ&fe73NnPPos+9T-#`I!_cn&%ARoA zm4kk@ib6(Z8b0uReQ}YmzZYFcvnRI3J=|+F*M@QR)AdAmDuI64W!jeT>bLJeBpCv~ z^8+6NpI1PM3WLmIt*MI?e>Dd1D>N^+Sy9K(Hq(0b0OgN2xp?$8I6l-akZ4wWHGPHzjwVA z#$`2(#zhQtuc1|}1H0Z|O7-$qE@q>2UpacCdLC{X7Y2C%*DG@Dn@TiZZa4!0yjk%t zxJSD6Ce$8Y_0<6eBQ9Xn8tQN$d}v`t-&2ZG*Ha21sGm)C{kKtDq6WghKD`H>&!8_y zFI78^Wz{*|!(9CN^FK1rfJL^^?P z6y;fiu!?Z)@l7gzMCmE!LiuwVyBFkavG47SWZkKC4fby$dfQn$%1q2u_941GL6r7rXyhv4FpO}gKBZskA} zqdQsPk@Mla@SM$2L*YU`Q-@mS8CEVoPPB6eo}qFo-}44n81O@K8p`pC3A-;8OFog{ za#Tr_@$0lZ__Gl};+uUzGoqT(Pn5NMT~Cxn`bSjleWnH@(h!WFirUU3Rq^FU zN}mf|FnkJ(8o9Wv26oF|r+WIVE$*`I2L(Mb#b97qD-ba&L33GNl2ye1y|ZO{aU~r( z^6cG;ufi5ENNFO1C@+Z!n1khmq{H88E;|X$OtFVic2nPk+F_?%o|P5?5de|K|MqT8 z4DQ)k1CHTGZlEWd@eJe1@=&h58MAa9{q@FI9ps!bEnU((@-B$&x571bkVR~u%}g%- zY&<&81Qtx67;tDNE`IfxgL+x&7%<8JvxXwU=|M>=EG(4HWRD zEF~F~$G{IWnNo|DpxI~}LR2(vJv$TF%CW@G43Ic>Fr?Gh`W_cf6rmAy+kzj3<4T5R z4^@Q15q|p(b&qB6W2v1wx`n_grB*cXKuax`b&aRn?2%!0oz?|lf= z5uYY|?)MkYg>VHtTBIAl-h%hkKS#rkdbxjnzrxUkhYQMcoU>mN@1$S*lvQtK(mY;O zA)8j6jLTUjQ8`~C!Zb9IUYlOOnNu`ag8DDhhekQ>prs{$Z5IuLMB~%I+oa2 zT~?e#tDO$JK~aLlBE42#M}6ETJ|!l@ z*cBcQM)r(%k%!s(kQjuWgO}y?L|CrdsfzaaUiOoL?cpCWWif^?gl{tMRSM#Q>if|j zYO-4O@{siSr!C^LnCZn>_t`U1_xGOcdZYSHT3Dvn-pK>e-zW3?QW{8ED-L4Orjv=; z)r?2)Bh<@=>sB3Rq7!7l`QZ&hlZzo_?k#xaL0^g_`}cB9`^GaHSty8QenuV!iwl63 zMC=C*4obFI&l35H4&nE|I&#G>CIP3F;f?Ysk`%`Z?PmJ z0T~!uMRg)F~sPAEvWutYID8Zv=zx;b7W8bW=@VpqvV;mrce@FhU!8zzAL9M9A0CWI}q2a-wiz>9#-svLEdOA^jKr>&KiQeI6UK zuQ`JOpN0I~!D!{JIc-cwL~V7;9G$&qPmM=9Sm(iqnT$UD5~upCT<~gzgF*+*zZDFi z^1tclqfI?1*FB-Egci_z<%VKx+Nsj%F@nTWiN0jq;yfNRdBRyMB(G=t!)7*1md@KM za&oa4F@@X%hqz5b>$g9N1HlgtukqAgq%G7uZ&N7KWK*VSqu!eeE#q_BVR9sVFiDbb z9525*MSMlF7S&h~Z4gPOgk8hBA0_Fwu#JoBDd80}+PB@L}GJ-Qj!zx32kcRARF{V5|$?N0C37RCf#J zdZFh04!n;UZt47x7UN*!C!E!iwny^L$K8?%FqAtK6OW31iUf;>^T;UF>D6l7zw8m)@x7$k#S@VDKF?p*7)-!$Zk zYC)?Nn}Ee9r*(Hzx$ttIbwd+a;!O=OPUah1)G)Lz@{OceHeD#1N?79~Py1*)aPf%8clBxFXbgLZgo*cDfYr z-KAA7qv|lD%6@tCpqF+Zc@WX{Sp}9JLVW`9h0**HV;<3Rbu$tp85dx5ngwGrhZ4I= zFmvCrw(0l3Q@A3p)rV>6sTRC}g5tZo(WPztD0}(2<#66RL11GKX3L_oBQJhLNc)cg zh_2tQXAF>qm#h)#^sw$U16j-!jI53}*Ep(p3tQXi90XkUPWdyl&!%M?$af7tmW&l5 z&D_nzz;j9l*^a`|gvz`oF{~A3TKCF29jz!)8!@v_r5u61uW{-VcYgl# zI{4kbS+!B0N=NO$sytJ`nM6^;e-YXK9!GFT@cF^Q*-4Hqz{szQ;m8uaa z@lyDzM%Q3)aM(Oh;7)ixuW3XDw^ZnYk=RxB#F%8zuwOU(L(B@HAvKMnyMN(EIEYBB z8D38YNWnuvraHNEh$c~~#lEb5{S2KGw9-7{Gxw8*TJ}2=8V_wNH_=nN@#1zlG~F{4 ztQ0Ot8pP7CJJMjsYD9Ojdt-ib(z27Dha_tzhOqZh)((|_W47q#`%)H@seh`*EVA!< zj^6nZm+5(U`72NROR(nk@GSApKwq_T;Y6`A#sc8xzvyXqXIFsWTB(?-*N~g{s(d8w zets{6p2vXN0Z2@h*5Fp&%tsR^Ab=^rV4a61pt~1s9&7$y zED^p8hzrlw72HRplMrVqc?{tqBIqiP*}%KKYZEKA*!MfduX?$=@4Zyc(Q$}4Lb`>7 zSeq|Z}>(0VvpN!}3#JdO5Bs17J<}$6>5M$>x0N-@K-+1o z6aF@Q)W~n4n#`eInH`xbB9=xg1RbIy_hMo=7>F-bC14#)vV?D9@+;iC;e*$FsZ|2+ zuo#|f?*i!q<7)AJ4g;gf+(u#IKVUA;W>s1b!3&rgfthMT48$p{{B!+Zq9Px;Dvt&l z6eGcd^c2u^;L5T53#&G}zQ-|(YDGL!_;#dYPE#Gu>jnyb7#uuq<<-?x=D*x>sm5~*Q)0o#wV7=Zf2Pqxb{TOE>18Cen^4u)wSGZc4H zc($rQcpYoLRQHQQzD&{*jd1QHj0Q{11+I!o_b804D;VnI;uT7=~9+%D>kBx`j6o<6K zYlun#**}p_Qj7gRpd$sWbevvUdU33lJBvQjDRI4`qfiALIQ^LhCa+b~{s?uMcm%79 zVaq-Jkvm;|00WYhbWX$b%~br5T$XH z`$cyn+Rp$F;t0ja_}4i43In~H4=Or1i`|DNx;m&#?#jWi1`2LvWEkE2zy^f(kk(Oi zqjfBP*}59a#BO_Fn_pS(L3?hfUnBi1*6wukc+jzskykI~?Pik>C+Db)aodrMzP%iV z!9SwP?XDyIv@N=I7I5{3#DhBS0sgzPc&Syb`B+&zX}&x6QVZ;@-sjIuJBA~En7zlu znV`uKXI0cXfr`!z(x0_4s_(T>S0XM*zQBL`wvv;Z4zp>~PUApFgso83(@Rxde@%G% zQ&1aICKBT!s49Z&J3MA6P2!A)ry#{fzoYRogI--WhJ&b9Q}R_4EUjW=rl^Xxp()@3 zzs+(B`9!KoX>^~}j9~BhV@Gc7G}A2K8>%y+QYLHwJz-Aq(#ty;)?d|QQy&m~4 zs>Rju%KsZB_yaobizKLzco+U+uWnR+IV0!Sl6ST>OUqQ8(Mh09wIu~(Q3NG#CK6#QIJvZ!GQ z2G@9Rio3>)DaSR$B)9OB*^^(tQ6nB8ahw=p1Z3tXmalwLJXY^dec)*uHhQDFsIW|= z99yH!5msG(?$zklIuqLK6hC`Ig%NV=|12EJP0-pBS6{CszwVzahfD5fE4K+kEZwR2 zOn}!pL!nJA31ZF)s>(LbH+GwGFo7*kIuLHqo#~9oM*O|RGCWi0G z6l3TcyQB8A9(F6#;Fr}zW4V5#%>3&25P93%6!uwrC7Iv*4XHlddv$$GfcxEe< z^{<2dhqioF9`#*LC1Oa4CgaZqwIoAraVD&Z5Ky0vG&aB*=^^Gx;4;NgNy;$g+*LoE zYD1BeVdIsySTPF+e}oNKK%#s8gi5($)bh^aucUB|;vnlNA&WK(6lR-;#Xxr=6BWiw zmjXRicRHdk{vyRp9b0{h+QP$ya>w?nG^g;g+tI%R4HJgU3Z?Qq*bD~A8yu5V)WF(0 zVXD!AsYwY?FHI%`fnc?UcKU%}#lV8p*I8_h1bW(>(989sZ`I0`YS#S~?=`aPxLT0E zjD4yC5zIFMEU+lSJmUUdG%`m|plrk=(Hl->}NG`SF-(#o*Q~0 zG9Z>EaP!A@_CyDdkTu!NzpYwT=`H+DH8j3rAe;jR^i(ICtK7PB4QDhAJhVEE!dEZQ ze+t`nG~T`-LS6f78uy74&VAYV(MO(=N*Rl?Rw@e2%?+WAZK)Cy!?EqSz;v zQsQ~ueZxmo);}}b0Y86tK#yRyRSR_woVtfrtmEhMA1*iO;3Y{@=FW`-V?7KU z^)?h!VuzSu5I;cMP>c!2D3|`(cV9B^UYFyixV*VcvXq=(`<*WP5-9Je`nkV13^Y!; zXmcD&x4E>RgefMLlADC&L3M=l5Ox_S%d}!5TYEVCFIbG|^`{b=(ekGZ6p03je;Dpa z5V#Q<1%$2pL1p6eQ#wIp17E{^O{2i*guS#Di*MbM#5&vWba=;vo`DcTF@7a8FWX6` z|3M9g?1^%iYvP+rX;`8@OhNJ2sIz#eK(K*!_ro|M$mEP;dggm-Fh9lQ^D3gXLtBT%6%39|;U>$#3_m)$1Z690e8%{`~AM z)BT$Ki$v{Fr?K^Hpy>u$i%v}uM{du79P|OlTlHC2fiPovXESC&B^12 z>&|RcSc2tRn+i;%|O2ny3k5!;l`qDUVs@YxJQ@!K(wobh;%h zUHODe+d~asWsfl}ClMpRcWWe(ZYQ2F`26YgY-~ulhM$hkmMX=6sm5p{Vm2BS`Cor2 zmDc)VMrtBb1o7dI!mnkX5SLAp2iupW!*-P+kjkNhgl(wSv#qe61{(!WzvL8CqF?(rYP*z1377~iM; zWf=cERNMbs7?=(@e1HMDtXsb7e{k3zHaI_nUhkZ<=^1kO|3Y3;B*ai;Qo42rWqD=vSLTU|8n8i_4#NDK5EK93a!KEVR*;+(A6BUks9O=O6&&pj)1`Y%?z686S}!+6gVTmG{i0dMQ!m;*}tXFYfU8onW4 z2V(eVJ;I2AEeg}II4Jo0h1TWYwg}y}SmvKC0(|0bNm4AW7V3Yt2>oq~K4~BRleqpJ z?rn<(gA(ojvqhhPE#jU0zwnYIcgKf~N@%x*$xpbPLl{<()ukNsZ*yp%r)xkTV50n%NlfJzw2SfUxbT)Hpnn`iU5 zd!^Ezll^uA*O5&~m>JLGEKQ?VN6h~4M{YQaF{$L`zp(7d?O#|{WiPH1@F=G}uk~x$ zZa;P5;BvcQ%Hd9{@9^V%iI#l|Nt@(Ul}@OzNy(jQ-AiJ#o8lY(z8Lcsi+gi8oX#Cc zV}4hJv(lk5^Cl`?KfUZBKfF!Sapq#Vd-UTa)zwi7a5Ct$Nuw8x76MRn8hGCSH!Jjy=a3jY!(jZRnJ39hE{>vbb zse~q9l#GS@Bqlalmm;$tBj~Es;$*qMJGMMicfLIHCyRlIZI*A^pXdnlme}KBa8lHQ;mocqm?Hxmt_~QO`?*hKnS7vAJ4+b8+WX`eyUnK+U1_Oa}mj1EUR1Hy8Rh&lq zwGLygYLD75slbDk`;o&ZU)Y$mj>9Fvelzxmrig7ZLy*bwvHy z&}yNq)^g)}eZd1#2iwWx**?11>-{`~@<1hQ(bjmKDi+u~0lV3sY+f@?%ALaKSB9-? z(M#t8i5XUr21h}|6WiT0=3QLVjJ1g+-Ug4;zlI6`yF+u>b;fs8?2N<49s$Uy-04pK z#`32!2tx`T9kt!sahK;E!F@#P1YL?wo5TH~?T_WzCDX@%{go)D;ke0=hmNF}lnU?f zY_0?BshyXp(*N4Lb83T^w>avbFs1 zt5Ci5OQm&@%|R|O;y_ZkbWrk%sk;G)6OPK_TT|NZlTn|o{y4%>V$3uVz~5+h%YRNT z&+i#SoVh@MU?>nI7EI*vR}^v6aKLK!Pf8U{JfAiBz+gEN3O}cV3uhTUPdv|Cq8x>^ zP6bgIr&?F7W?q9?i`h-cVE{lTFlc_GQKOP_)p+!C$LN8CR4w@&-r{v#JS7=>THeAw z!<{T52Ic=P608ih%FgP)Q6N;oZH7(8U7ISIbS7U)&7k+ix#yFOP9azWQ0E&&iLMU@ zhN3O?NmvE<7{G#anU^KrXWK)?Dq$kWj?HB^=V)HM0jqo} zIjgfU26x7@hbMQ0-)oyZflg85glAff{9CKxV5sFxgR}AQc9Jj_#+x5orqiC{m*#sz zR}%SG*st7?f`H0n6?w>;=E(XifkPI2lOF)>s69;8g?R;J1RNOcPv%jDM@H5i^L`~r z{&rq3Z9a6#$FXussyPCl5$nSKOkE$7v?}1QbESt_G_E?FBn~=xUd9pm-H$PbHEt)) zN$}0mZg<5rajEBSH$+Mrk?$yH`qzC;=hb3Tc_ zRy&<6$$7N?E_FImgB#PW3I}pH)ShAm+)yiqQ@PD?(oB_=0Ae=lXHh&lE?${=LM3Ol zhV9)?Y;-pt5OTc`CS(c|oc3<>BtxfJq$=u?#PzfW$LWXT50z3S!Vq9vp(46~&vUJM zqPe58Gk%GVgZ6z;xQ|80-uOX#6)}})9KFn8C z1E0eyZmm{BTJOn%Fc5xTDIzQ|+|n2z8n2y6Pv^8H&Xho{`>A=1Nv%bCMV={Ij{_Da zVaPPP5G=)yt7X!ss-g%4N@hD?*R!5cX2__m-FxZ{ooJ)VwMOJ1EkFY zy9{m38^gYRAh6D8I%g`9o-)&jZ2ii;6P?2%feD4sz5E7E*t_ze3sgk5V6O&pu+x1TjD)BFZsnsj+H<$71GQ z9@d>-d!J9S4_j7!HmJcH@sF>T0{F|-hNm-^kQD>0_goCUW!WA8$;HS*e9WbcdAmi> z6@GSS&X%fHdM)&QUB)plY-Nk9B6F~yCVNO z^-kuQqcj(llKe$BYtBIY4^Zz>A$ttc7J#0Erz8YAat}Ig9;?{2dOUB$A z)jxl|8HX7xV2Rv9X>}Q6i10E&Qi8FKk}|s}hx<7f|KSIViFmRX=M*VYzpGO1aM?AQ z9BEW)ye#tvvi>_sl3*ZvAG@J%6LX|s@3rE##q+kJ-4&Q7Ief~(Ic?wT*yG=OZugw< z9>09by2Vv2#5jIDRZiW*s7D10wxIo#QPohc4fiRQyk=5B{!pYe8 z?J|PUjjnrN1SUUc)-O*WG+cQ!lV2d5?!@+)CF2CXYDWRwispP-456Tf!x4Vifii3$^9eEOpI18KMMGHG z4>jkx>~bQBq6uF%%rNGA>ON)_cbrlGaN#aIV8Hl;i-d#xVU&+}=h&Ld*Q>HPSw(rm zwKyjqu+?2)AJ%*o z^YnH{@U_V5bA^Szl&Ec!kmfnI{1U>)6EI?%fV&T_+*Dbj9he~9M-+TTa83WMIn8M@ zdTl-v7ym6k$4V{sQp8*df1A-zaDNWicBGG8U)S`lhLtE4@b$>qzvmPeAAH43ErP)( z$5#3bcbPfH@CyUln~8(m-;vml_g+EG$5vz=DD7n6?<*$%t-bs-mM52{20aN|mK2xa zEnKM@_Pe&-tB>rL*Y39nmp-{sxk})C6WNT)!3|Yp$&Sccs#Ti?ZTxK$5t3&QE zl5Atoy&7A#GBRaG8q%>ZAyJkQCR=eOGVZhxamO02O80NL?|FWC&iUTweb4ip^Zoc9 zh2%bOuAA>OIF(|akTuy-8ib5?9crLvpVtmN-Ezo0272fnSFVWb*>*XN`=$XEG@bcJ zq$%7sbDii0s!2(B+{WLW%HgI&IBPR6=2UDM^lwe90Xsrs>Lz@;2V&X^cTERFUW;>q z-aVdO8Wdy3tanHv)z|j#Mce!#bl}3H0|F)zc@}K?T+^M-1r6yDjYOKE^HsS%*}>4H zVFk6po{`%koJ~qJjOEFgu?v(S&$Q^JgEx0VTh|piK>bOf?P(u{D2w{7r7S^Z3g1pw zmbYE9l^?#Q+x@(SI%N>gis3M>IwibaV#;o$GZqLS;c8}~JDr;r-RS|+%mVmF z9Qbq5W_Io6D=NeJy~AVH~0V_3FelrL){u7G5*sachPP15EvbU?M8kk@5*X>%d12h+Z^r~6Yg zv7=01fB)MD9}%l8IRHOT4-|kIz{yA(wm)JAXd>X@^d3tu57#9q9u3cAl)V|5dU%01 zFuo#F_@@%p)Ci`2Hknr680J7b*+dcSz)ZJp^iizl$vA8s#T_Fl>X%+Kh1Ytr29dz! z6h4G4jTKt;ciOgbql;*~z8PUH~%1AtuHl7L=(7B5WA`{iw zvQz+;YF^?9o<8bIJ!lw9ztTRMSE{^_ZLm5TcLxM{K);R#(-S3LAY$L=Snqv9w9!*# zje%pF*cQCM8Oh{a#}~qM#TvCyOP8UL(*ic-+4VDfaroZh-5+;CXTwwnq4G^qAiRaU z*jar-NrGFEK?W6?l+4GXF;%g~$PP5X8iV{adIgwA2A4c!|Gtb?Hr%bBiKghOVJ8{` zOME1qmQn5q;b|Qi#$4OI6_<>(K@-Tb5Dz30vs1Myrup_;pZ_cJ<%~34QuMJ9kd%gh zcg6>C2!)_k@YS0gs9AZ#L;&mdbQSfD`|R2&+=EvGw)djn!TVN1NqWSgLUDYiD?Edh zTfX6T8k$Of9#PWU9<}8h$zjW9q!5E0a#^khyK~2veci-bY+(FSiu_WIB0vuHsroj6 z(R0W7jH-^#QuR1PUdBkwy!on;Ujt*jcne`g!$Czwflo~h?8q42lWpYDAq|v0rqxk= z6h~Jv)mk=FP4-%r24?aBGtqPqdamodbk?R$9M79-$ZWjp;;P}MTic`L^5t-fO~@1p zA3KEY`6$xha3t`#eH5l>5=4G-lT|+l`yudM!xxk)2Y^-Uf1S6F6Z{EFB|ZS`AIoFxC@Xn~)oR6zqebB6~kZtZpLA+AR70|C*O-};Ngf$V3*xmpr?zhzpB|AgGYvftt_ z?jR7RheIwvjP_?E9ODkB)I^V)?eoTLKB(w9Co=$Mf8>A^EpbN6d)4WGy~2HxZWPsA zAWH2=#(Oan#o}32xi39R%Fj}+_0y0p-?RUYc%sC*SAjAR5O6GU-)fxgo(Fx$shz6- zJ)tE^9%iA0ewlJ}&y;)&;)dhC2{Vdl01T3IU36cSC?8MeA54IptoNBb!M9hZZJewt IEeQ$#0u}+f$^ZZW literal 0 HcmV?d00001 diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Events_posthog.png b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Events_posthog.png new file mode 100644 index 0000000000000000000000000000000000000000..dd07a7a6046ef5ee32d0ad5003e888103b4d66bd GIT binary patch literal 190566 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%0DuzIUt<6fH6#tU{o^ly7a?Im-~ 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 p_!rLrZrGNY~H}QbS4S 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 literal 0 HcmV?d00001 From 67f9d50e72c90c03b532205fdc150f4c526e3b9f Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Mon, 27 Jan 2025 10:20:22 +0100 Subject: [PATCH 14/20] Mention segment cdn/integrations --- .../chatbot/examples/Analytics/Analytics.md | 35 +++++++++++++++---- .../src/tracking/segment_tracking_provider.ts | 7 ++-- 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md index 6ec84d15..5204d401 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md @@ -36,6 +36,14 @@ Before the code can be used, it is necessary to once supply the api-keys of the ```nolive const initProps: InitProps = { segmentKey: 'TODO-key', // TODO add your key here +// segmentCdn: 'https://my.org/cdn', // Set up segment cdn (optional) +// segmentIntegrations: { // Provide Segment integations (optional) +// 'Segment.io': { +// apiHost: 'my.api.host/api/v1', +// protocol: 'https' +// } + }, + posthogKey: 'TODO-key', umamiKey: 'TODO-key', umamiHostUrl: 'http://localhost:3000', // TODO where is your JS provider? @@ -131,7 +139,15 @@ const initProps: InitProps = { If you know upfront that you only want to use one of the providers, it is possible to modify `getTrackingProviders()` and omit the unneeded providers in the providers array. -// TODO talk about package.json +### package.json + +When using the providers you need to add some dependencies in package.json like: + +```nolive +"dependencies": { + "@segment/analytics-next": "^1.76.0", + "posthog-js": "^1.194.4" +``` ## Examples @@ -141,11 +157,11 @@ I have started the ChatBot and done the actions 1-5 in order: ![Events done in the chatbot.](./Events.png) -1) Select a Model -2) Posted a question -3) Got an answer from the model -4) Clicked the thumbsUp button -5) Closed the chatbot +1. Select a Model +2. Posted a question +3. Got an answer from the model +4. Clicked the thumbsUp button +5. Closed the chatbot ### Segment @@ -158,6 +174,9 @@ Below the numbered events, you can also see the results of `identify` and `track If you clicked on an event, you'd get to see the passed properties. +**Note**: When using the Segment provider, you may also want to set the +`segmentCdn` and `segmentIntegrations` initialization properties. + ### Umami Events are visible in Umami under Website -> Events: @@ -185,5 +204,7 @@ you can nevertheless see the main events that we have created in our code. To add another analytics provider, you need to implement two interfaces, `TrackingSpi` and `TrackingApi`. Most easy is probably to copy the `ConsoleTrackingProvider`. The first thing you should do is to provide a correct value in `getKey()`. -Once you are happy enough with the implementation, you should add it in `getTrackingProviders()` to the array of providers +Once you are happy enough with the implementation, you should add it in `getTrackingProviders()` to the array of providers. + + diff --git a/packages/module/src/tracking/segment_tracking_provider.ts b/packages/module/src/tracking/segment_tracking_provider.ts index 222e9224..a9abaf0e 100644 --- a/packages/module/src/tracking/segment_tracking_provider.ts +++ b/packages/module/src/tracking/segment_tracking_provider.ts @@ -17,15 +17,12 @@ export class SegmentTrackingProvider implements TrackingSpi, TrackingApi { this.analytics = AnalyticsBrowser.load( { writeKey: segmentKey, - cdnURL: 'https://console.redhat.com/connections/cdn' + cdnURL: props.segmentCdn as string }, { integrations: { - 'Segment.io': { - apiHost: 'console.redhat.com/connections/api/v1', - protocol: 'https' - } + ...props.segmentIntegrations } } ); From 2e1611bcb637522da0009e53d604a3893115dfd5 Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Mon, 3 Feb 2025 09:48:14 +0100 Subject: [PATCH 15/20] Ignore eslint warnings. --- packages/module/src/tracking/segment_tracking_provider.ts | 6 +++++- packages/module/src/tracking/umami_tracking_provider.ts | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/module/src/tracking/segment_tracking_provider.ts b/packages/module/src/tracking/segment_tracking_provider.ts index a9abaf0e..bbeb696c 100644 --- a/packages/module/src/tracking/segment_tracking_provider.ts +++ b/packages/module/src/tracking/segment_tracking_provider.ts @@ -14,6 +14,10 @@ export class SegmentTrackingProvider implements TrackingSpi, TrackingApi { console.log('SegmentProvider initialize'); const segmentKey = props.segmentKey as string; + // We need to create an object here, as ts lint is unhappy otherwise + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const integrations = props.segmentIntegrations as any; + this.analytics = AnalyticsBrowser.load( { writeKey: segmentKey, @@ -22,7 +26,7 @@ export class SegmentTrackingProvider implements TrackingSpi, TrackingApi { { integrations: { - ...props.segmentIntegrations + ...integrations } } ); diff --git a/packages/module/src/tracking/umami_tracking_provider.ts b/packages/module/src/tracking/umami_tracking_provider.ts index f13d03fd..09a81821 100644 --- a/packages/module/src/tracking/umami_tracking_provider.ts +++ b/packages/module/src/tracking/umami_tracking_provider.ts @@ -3,6 +3,7 @@ import { TrackingApi, TrackingEventProperties } from './tracking_api'; declare global { interface Window { + // eslint-disable-next-line @typescript-eslint/no-explicit-any umami: any; } } From 5dcd078a80ffc0f9f66e5994f1d5de2e1da5b04e Mon Sep 17 00:00:00 2001 From: Rebecca Alpert Date: Tue, 11 Feb 2025 13:25:26 -0500 Subject: [PATCH 16/20] chore(docs): Fix build issue Moved image declarations to top and moved from Markdown syntax with inline imports to HTML image tags using top-line imports. --- .../chatbot/examples/Analytics/Analytics.md | 65 +++++++++---------- 1 file changed, 31 insertions(+), 34 deletions(-) diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md index 5204d401..716a66a5 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md @@ -10,13 +10,15 @@ id: Analytics source: react # If you use typescript, the name of the interface to display props for # These are found through the sourceProps function provided in patternfly-docs.source.js -propComponents: - [ - - ] +propComponents: [] sortValue: 4 --- +import eventsSegment from './Events_Segment.png'; +import eventsUmami from './Events_umami.png'; +import eventsImg from './Events.png'; +import eventsPosthog from './Events_posthog.png'; + ## Overview The following diagram shows the main components of the Analytics tracking code: @@ -26,13 +28,14 @@ The following diagram shows the main components of the Analytics tracking code: The user code first calls the static `getTrackingProviders()` method which initialises the tracking providers. -This returns an instance of the `TrackingAPI` , which can then subsequently be used to emit analytics events. +This returns an instance of the `TrackingAPI` , which can then subsequently be used to emit analytics events. User code (blueish box) only interacts with the classes/methods in green. ## Usage Before the code can be used, it is necessary to once supply the api-keys of the respective providers: + ```nolive const initProps: InitProps = { segmentKey: 'TODO-key', // TODO add your key here @@ -43,7 +46,7 @@ const initProps: InitProps = { // protocol: 'https' // } }, - + posthogKey: 'TODO-key', umamiKey: 'TODO-key', umamiHostUrl: 'http://localhost:3000', // TODO where is your JS provider? @@ -55,8 +58,6 @@ const initProps: InitProps = { Once this is done, you can get an instance of the `TrackingAPI` and then start sending events. One of the first events should be to identify the user in some way (this can be a UUID, which stays the same for the same user). - - ```nolive const trackingAPI = getTrackingProviders(initProps); trackingAPI.identify('user-123'); // TODO get real user id @@ -94,18 +95,19 @@ trackingAPI.trackSingleItem(eventName, propertyDict) The method takes two parameters: -* eventName : name of the event. Should be unique throughout the application (or you need to differentiate different events with the same name by supplying an additional property). -* propertyDict: a dict with key-value pairs that represent important properties of the event. The dict can be empty. +- eventName : name of the event. Should be unique throughout the application (or you need to differentiate different events with the same name by supplying an additional property). +- propertyDict: a dict with key-value pairs that represent important properties of the event. The dict can be empty. When submitting forms, you only instrument the form itself. Don't instrument the button that calls the form. Two major cases need to be distinguished: -* Form submitted -* * Form submission action was successful -* * Form submission action failed -* Form was cancelled +- Form submitted +- - Form submission action was successful +- - Form submission action failed +- Form was cancelled + +For form submission, you can use the -For form submission, you can use the ```nolive trackingAPI.trackSingleItem(Event_Name, { outcome: << submit , cancel >>, @@ -116,13 +118,12 @@ trackingAPI.trackSingleItem(Event_Name, { call. Outcome is obvious, for `outcome=submit`, `success` denotes if the action (in the backend) was successful or not. For the case of failure, `error` would yield the error message (try to strip out variable parts like the random part of a container-name). -`` are some additional properties from the form, that should be sent to analytics. -Take good judgement, what to send. -Items like names provided by the user above should not be sent. -Likewise for the content of a description field. +`` are some additional properties from the form, that should be sent to analytics. +Take good judgement, what to send. +Items like names provided by the user above should not be sent. +Likewise for the content of a description field. On the other hand for Deployments, replica count or memory server size are items that could be sent and will help us to better understand the users. - ### Enable analytics gathering Only providers that have a matching key in the `InitProps` will be started and used. @@ -137,7 +138,7 @@ const initProps: InitProps = { ``` If you know upfront that you only want to use one of the providers, it is possible to modify -`getTrackingProviders()` and omit the unneeded providers in the providers array. +`getTrackingProviders()` and omit the unneeded providers in the providers array. ### package.json @@ -154,11 +155,11 @@ When using the providers you need to add some dependencies in package.json like: I have started the ChatBot and done the actions 1-5 in order:

-![Events done in the chatbot.](./Events.png) +Events done in the ChatBot
1. Select a Model -2. Posted a question +2. Posted a question 3. Got an answer from the model 4. Clicked the thumbsUp button 5. Closed the chatbot @@ -169,12 +170,12 @@ Segment shows the events in its Source debugger with the newest event at the top Below the numbered events, you can also see the results of `identify` and `trackPageView`.
-![Events display in the Segment debugger.](./Events_segment.png) +Events displayed in the Segment debugger
If you clicked on an event, you'd get to see the passed properties. -**Note**: When using the Segment provider, you may also want to set the +**Note**: When using the Segment provider, you may also want to set the `segmentCdn` and `segmentIntegrations` initialization properties. ### Umami @@ -184,27 +185,23 @@ Events are visible in Umami under Website -> Events: The list is pretty similar to Segment, just differently formatted.
-![Events in Umami.](./Events_umami.png) +Events in Umami
### PostHog -PostHog shows the Events in the Activity section. +PostHog shows the Events in the Activity section.
-![Events in PostHog.](./Events_posthog.png) +Events in PostHog
PostHog sends more events, as it integrates deeper in the provided code, you can nevertheless see the main events that we have created in our code. - ## Add a new analytics provider -To add another analytics provider, you need to implement two interfaces, `TrackingSpi` and `TrackingApi`. -Most easy is probably to copy the `ConsoleTrackingProvider`. +To add another analytics provider, you need to implement two interfaces, `TrackingSpi` and `TrackingApi`. +Most easy is probably to copy the `ConsoleTrackingProvider`. The first thing you should do is to provide a correct value in `getKey()`. Once you are happy enough with the implementation, you should add it in `getTrackingProviders()` to the array of providers. - - - From a5b6c0953e6078692cb82b85295afc07da707d74 Mon Sep 17 00:00:00 2001 From: Rebecca Alpert Date: Tue, 28 Jan 2025 17:40:01 -0500 Subject: [PATCH 17/20] feat(TableMessage): Add support for PatternFly tables --- package-lock.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index f408782d..e54954c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "packages/*" ], "dependencies": { + "@patternfly/react-table": "^6.1.0", "@segment/analytics-next": "^1.76.0", "@patternfly/react-table": "^6.1.0", "dompurify": "^3.2.0", @@ -19968,12 +19969,6 @@ "node": "*" } }, - "node_modules/obj-case": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/obj-case/-/obj-case-0.2.1.tgz", - "integrity": "sha512-PquYBBTy+Y6Ob/O2574XHhDtHJlV1cJHMCgW+rDRc9J5hhmRelJB3k5dTK/3cVmFVtzvAKuENeuLpoyTzMzkOg==", - "license": "MIT" - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", From c8fb988ad60d09b8abe43f95f4232a70b66c66a5 Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Tue, 26 Nov 2024 11:02:26 +0100 Subject: [PATCH 18/20] First cut at implementing tracking --- package-lock.json | 90 +++++++++++++++++++ .../chatbot/examples/demos/Chatbot.md | 5 -- .../src/tracking/trackingProviderProxy.ts | 2 +- 3 files changed, 91 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index e54954c2..081c95f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4078,6 +4078,96 @@ "@segment/isodate": "^1.0.3" } }, + "node_modules/@remix-run/router": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.2.tgz", + "integrity": "sha512-+Rnav+CaoTE5QJc4Jcwh5toUpnVLKYbpU6Ys0zqbakqbaLQHeglLVHPfxOiQqdNmUy5C2lXz5dwC6tQNX2JW2Q==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@segment/analytics-core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.8.0.tgz", + "integrity": "sha512-6CrccsYRY33I3mONN2ZW8SdBpbLtu1Ict3xR+n0FemYF5RB/jG7pW6jOvDXULR8kuYMzMmGOP4HvlyUmf3qLpg==", + "license": "MIT", + "dependencies": { + "@lukeed/uuid": "^2.0.0", + "@segment/analytics-generic-utils": "1.2.0", + "dset": "^3.1.4", + "tslib": "^2.4.1" + } + }, + "node_modules/@segment/analytics-generic-utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.2.0.tgz", + "integrity": "sha512-DfnW6mW3YQOLlDQQdR89k4EqfHb0g/3XvBXkovH1FstUN93eL1kfW9CsDcVQyH3bAC5ZsFyjA/o/1Q2j0QeoWw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.1" + } + }, + "node_modules/@segment/analytics-next": { + "version": "1.76.0", + "resolved": "https://registry.npmjs.org/@segment/analytics-next/-/analytics-next-1.76.0.tgz", + "integrity": "sha512-4n4vMvX0+bfypFWuu/UJNenT/Gv2+04SsjvnQL1eBd1hngKBV56EkCW+PCJyFRQQ7BnzHgWF4mY+vOPkdoke3A==", + "license": "MIT", + "dependencies": { + "@lukeed/uuid": "^2.0.0", + "@segment/analytics-core": "1.8.0", + "@segment/analytics-generic-utils": "1.2.0", + "@segment/analytics.js-video-plugins": "^0.2.1", + "@segment/facade": "^3.4.9", + "dset": "^3.1.4", + "js-cookie": "3.0.1", + "node-fetch": "^2.6.7", + "tslib": "^2.4.1", + "unfetch": "^4.1.0" + } + }, + "node_modules/@segment/analytics.js-video-plugins": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@segment/analytics.js-video-plugins/-/analytics.js-video-plugins-0.2.1.tgz", + "integrity": "sha512-lZwCyEXT4aaHBLNK433okEKdxGAuyrVmop4BpQqQSJuRz0DglPZgd9B/XjiiWs1UyOankg2aNYMN3VcS8t4eSQ==", + "license": "ISC", + "dependencies": { + "unfetch": "^3.1.1" + } + }, + "node_modules/@segment/analytics.js-video-plugins/node_modules/unfetch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-3.1.2.tgz", + "integrity": "sha512-L0qrK7ZeAudGiKYw6nzFjnJ2D5WHblUBwmHIqtPS6oKUd+Hcpk7/hKsSmcHsTlpd1TbTNsiRBUKRq3bHLNIqIw==", + "license": "MIT" + }, + "node_modules/@segment/facade": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/@segment/facade/-/facade-3.4.10.tgz", + "integrity": "sha512-xVQBbB/lNvk/u8+ey0kC/+g8pT3l0gCT8O2y9Z+StMMn3KAFAQ9w8xfgef67tJybktOKKU7pQGRPolRM1i1pdA==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@segment/isodate-traverse": "^1.1.1", + "inherits": "^2.0.4", + "new-date": "^1.0.3", + "obj-case": "0.2.1" + } + }, + "node_modules/@segment/isodate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@segment/isodate/-/isodate-1.0.3.tgz", + "integrity": "sha512-BtanDuvJqnACFkeeYje7pWULVv8RgZaqKHWwGFnL/g/TH/CcZjkIVTfGDp/MAxmilYHUkrX70SqwnYSTNEaN7A==", + "license": "SEE LICENSE IN LICENSE" + }, + "node_modules/@segment/isodate-traverse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@segment/isodate-traverse/-/isodate-traverse-1.1.1.tgz", + "integrity": "sha512-+G6e1SgAUkcq0EDMi+SRLfT48TNlLPF3QnSgFGVs0V9F3o3fq/woQ2rHFlW20W0yy5NnCUH0QGU3Am2rZy/E3w==", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@segment/isodate": "^1.0.3" + } + }, "node_modules/@sideway/address": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md index 52b0a0e8..489b6c01 100644 --- a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md @@ -83,7 +83,6 @@ This demo displays a basic ChatBot, which includes: 7. A "Skip to chatbot" button that allows you to skip to the chatbot content via the [PatternFly skip to content component](/patternfly-ai/chatbot/ui#skip-to-content). To display this button you must tab into the main window. - ```js file="./Chatbot.tsx" isFullscreen ``` @@ -129,7 +128,3 @@ Your code structure should look like this: ```js file="./EmbeddedComparisonChatbot.tsx" isFullscreen ``` - - -### Analytics - diff --git a/packages/module/src/tracking/trackingProviderProxy.ts b/packages/module/src/tracking/trackingProviderProxy.ts index e2c78d5c..ee81737b 100644 --- a/packages/module/src/tracking/trackingProviderProxy.ts +++ b/packages/module/src/tracking/trackingProviderProxy.ts @@ -18,7 +18,7 @@ class TrackingProviderProxy implements TrackingApi { } } - trackPageView(url: string | undefined): void { + trackPageView(url: any) { for (const provider of this.providers) { provider.trackPageView(url); } From 09d5bae02010b28092980a862ee6cfe990423ded Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Wed, 12 Feb 2025 10:21:56 +0100 Subject: [PATCH 19/20] update --- package-lock.json | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 081c95f4..151219e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10457,7 +10457,7 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, + "devOptional": true, "dependencies": { "iconv-lite": "^0.6.2" } @@ -10466,7 +10466,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, + "devOptional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -14021,8 +14021,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "1.3.8", @@ -19820,7 +19819,6 @@ "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, "dependencies": { "whatwg-url": "^5.0.0" }, @@ -19854,20 +19852,17 @@ "node_modules/node-fetch/node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/node-fetch/node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/node-fetch/node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -20059,6 +20054,12 @@ "node": "*" } }, + "node_modules/obj-case": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/obj-case/-/obj-case-0.2.1.tgz", + "integrity": "sha512-PquYBBTy+Y6Ob/O2574XHhDtHJlV1cJHMCgW+rDRc9J5hhmRelJB3k5dTK/3cVmFVtzvAKuENeuLpoyTzMzkOg==", + "license": "MIT" + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -23464,7 +23465,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "devOptional": true }, "node_modules/sass": { "version": "1.72.0", From e7264d529ddd2909bf45916016a34efb64262770 Mon Sep 17 00:00:00 2001 From: "Heiko W. Rupp" Date: Wed, 12 Feb 2025 10:56:54 +0100 Subject: [PATCH 20/20] Updates --- package-lock.json | 91 ----------------------------------------------- 1 file changed, 91 deletions(-) diff --git a/package-lock.json b/package-lock.json index 151219e2..045d593e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,6 @@ "dependencies": { "@patternfly/react-table": "^6.1.0", "@segment/analytics-next": "^1.76.0", - "@patternfly/react-table": "^6.1.0", "dompurify": "^3.2.0", "posthog-js": "^1.194.4", "react-dropzone": "^14.2.3" @@ -4078,96 +4077,6 @@ "@segment/isodate": "^1.0.3" } }, - "node_modules/@remix-run/router": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.2.tgz", - "integrity": "sha512-+Rnav+CaoTE5QJc4Jcwh5toUpnVLKYbpU6Ys0zqbakqbaLQHeglLVHPfxOiQqdNmUy5C2lXz5dwC6tQNX2JW2Q==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@segment/analytics-core": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.8.0.tgz", - "integrity": "sha512-6CrccsYRY33I3mONN2ZW8SdBpbLtu1Ict3xR+n0FemYF5RB/jG7pW6jOvDXULR8kuYMzMmGOP4HvlyUmf3qLpg==", - "license": "MIT", - "dependencies": { - "@lukeed/uuid": "^2.0.0", - "@segment/analytics-generic-utils": "1.2.0", - "dset": "^3.1.4", - "tslib": "^2.4.1" - } - }, - "node_modules/@segment/analytics-generic-utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-generic-utils/-/analytics-generic-utils-1.2.0.tgz", - "integrity": "sha512-DfnW6mW3YQOLlDQQdR89k4EqfHb0g/3XvBXkovH1FstUN93eL1kfW9CsDcVQyH3bAC5ZsFyjA/o/1Q2j0QeoWw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.4.1" - } - }, - "node_modules/@segment/analytics-next": { - "version": "1.76.0", - "resolved": "https://registry.npmjs.org/@segment/analytics-next/-/analytics-next-1.76.0.tgz", - "integrity": "sha512-4n4vMvX0+bfypFWuu/UJNenT/Gv2+04SsjvnQL1eBd1hngKBV56EkCW+PCJyFRQQ7BnzHgWF4mY+vOPkdoke3A==", - "license": "MIT", - "dependencies": { - "@lukeed/uuid": "^2.0.0", - "@segment/analytics-core": "1.8.0", - "@segment/analytics-generic-utils": "1.2.0", - "@segment/analytics.js-video-plugins": "^0.2.1", - "@segment/facade": "^3.4.9", - "dset": "^3.1.4", - "js-cookie": "3.0.1", - "node-fetch": "^2.6.7", - "tslib": "^2.4.1", - "unfetch": "^4.1.0" - } - }, - "node_modules/@segment/analytics.js-video-plugins": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@segment/analytics.js-video-plugins/-/analytics.js-video-plugins-0.2.1.tgz", - "integrity": "sha512-lZwCyEXT4aaHBLNK433okEKdxGAuyrVmop4BpQqQSJuRz0DglPZgd9B/XjiiWs1UyOankg2aNYMN3VcS8t4eSQ==", - "license": "ISC", - "dependencies": { - "unfetch": "^3.1.1" - } - }, - "node_modules/@segment/analytics.js-video-plugins/node_modules/unfetch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-3.1.2.tgz", - "integrity": "sha512-L0qrK7ZeAudGiKYw6nzFjnJ2D5WHblUBwmHIqtPS6oKUd+Hcpk7/hKsSmcHsTlpd1TbTNsiRBUKRq3bHLNIqIw==", - "license": "MIT" - }, - "node_modules/@segment/facade": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/@segment/facade/-/facade-3.4.10.tgz", - "integrity": "sha512-xVQBbB/lNvk/u8+ey0kC/+g8pT3l0gCT8O2y9Z+StMMn3KAFAQ9w8xfgef67tJybktOKKU7pQGRPolRM1i1pdA==", - "license": "SEE LICENSE IN LICENSE", - "dependencies": { - "@segment/isodate-traverse": "^1.1.1", - "inherits": "^2.0.4", - "new-date": "^1.0.3", - "obj-case": "0.2.1" - } - }, - "node_modules/@segment/isodate": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@segment/isodate/-/isodate-1.0.3.tgz", - "integrity": "sha512-BtanDuvJqnACFkeeYje7pWULVv8RgZaqKHWwGFnL/g/TH/CcZjkIVTfGDp/MAxmilYHUkrX70SqwnYSTNEaN7A==", - "license": "SEE LICENSE IN LICENSE" - }, - "node_modules/@segment/isodate-traverse": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@segment/isodate-traverse/-/isodate-traverse-1.1.1.tgz", - "integrity": "sha512-+G6e1SgAUkcq0EDMi+SRLfT48TNlLPF3QnSgFGVs0V9F3o3fq/woQ2rHFlW20W0yy5NnCUH0QGU3Am2rZy/E3w==", - "license": "SEE LICENSE IN LICENSE", - "dependencies": { - "@segment/isodate": "^1.0.3" - } - }, "node_modules/@sideway/address": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz",