From e8f2f39e4c747aac38fcdc440aba42ebb98596ca Mon Sep 17 00:00:00 2001 From: Andrew Neisch Date: Mon, 1 Apr 2024 21:37:22 -0500 Subject: [PATCH] Changes for 2024.4 --- README.md | 2 +- configuration.yaml | 28 -- www/community/lovelace-wallpanel/wallpanel.js | 384 +++++++++++------- .../lovelace-wallpanel/wallpanel.js.gz | Bin 27459 -> 27653 bytes 4 files changed, 228 insertions(+), 186 deletions(-) diff --git a/README.md b/README.md index 862a56e9..8407c6fa 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ Also using Grafana/Influx for graphing, both running in Docker containers on NUC Description | value -- | -- Lines of ESPHome YAML | 2801 -Lines of Home Assistant YAML | 9195 +Lines of Home Assistant YAML | 9169 [Integrations](https://www.home-assistant.io/integrations/) in use | 58 Zigbee devices in [`zha`](https://www.home-assistant.io/integrations/zha/) | 26 Z-Wave devices in [`zwave_js`](https://www.home-assistant.io/integrations/zwave_js/) | 37 diff --git a/configuration.yaml b/configuration.yaml index 60b5e57b..ad51a72c 100644 --- a/configuration.yaml +++ b/configuration.yaml @@ -353,8 +353,6 @@ lovelace: - url: /hacsfiles/frigate-hass-card/frigate-hass-card.js type: module -map: - media_source: media_extractor: @@ -425,32 +423,6 @@ notify: data: priority: "{{ data.priority }}" -panel_iframe: - vscode: - title: VS Code - icon: mdi:wrench - url: !secret vscode_url - plane_tracking: - title: "Plane Tracking" - icon: mdi:airplane - url: !secret plane - grafana: - title: "Grafana" - icon: mdi:chart-areaspline - url: !secret grafana - esphome: - title: "ESPHome" - icon: mdi:memory - url: !secret esphome - portainer: - title: "Portainer" - icon: mdi:ferry - url: !secret portainer - nodered: - title: "Node-Red" - icon: mdi:sitemap - url: !secret nodered - plant: garden: sensors: diff --git a/www/community/lovelace-wallpanel/wallpanel.js b/www/community/lovelace-wallpanel/wallpanel.js index 87103269..80a5f162 100644 --- a/www/community/lovelace-wallpanel/wallpanel.js +++ b/www/community/lovelace-wallpanel/wallpanel.js @@ -107,7 +107,7 @@ class ScreenWakeLock { } } -const version = "4.24.1"; +const version = "4.25.0"; const defaultConfig = { enabled: false, enabled_on_tabs: [], @@ -533,7 +533,11 @@ function setToolbarHidden(hidden) { if (!panelLovelace) { return; } - const huiRoot = panelLovelace.shadowRoot.querySelector("hui-root").shadowRoot; + let huiRoot = panelLovelace.shadowRoot.querySelector("hui-root"); + if (!huiRoot) { + return; + } + huiRoot = huiRoot.shadowRoot; const view = huiRoot.querySelector("#view"); let appToolbar = huiRoot.querySelector("app-toolbar"); if (!appToolbar) { @@ -584,58 +588,6 @@ function navigate(path, keepSearch=true) { } -function findImages(hass, mediaContentId) { - logger.debug(`findImages: ${mediaContentId}`); - let excludeRegExp = []; - if (config.image_excludes) { - for (let imageExclude of config.image_excludes) { - excludeRegExp.push(new RegExp(imageExclude)); - } - } - - return new Promise( - function(resolve, reject) { - hass.callWS({ - type: "media_source/browse_media", - media_content_id: mediaContentId - }).then( - mediaEntry => { - logger.debug("Found media entry", mediaEntry); - var promises = mediaEntry.children.map(child => { - let filename = child.media_content_id.replace(/^media-source:\/\/[^/]+/, ''); - for (let exclude of excludeRegExp) { - if (exclude.test(filename)) { - return; - } - } - if (child.media_class == "image") { - //logger.debug(child); - return child.media_content_id; - } - if (child.media_class == "directory") { - return findImages(hass, child.media_content_id); - } - }); - Promise.all(promises).then(results => { - let result = []; - for (let res of results) { - if (res) { - result = result.concat(res); - } - } - resolve(result); - }) - }, - error => { - //logger.warn(error); - reject(error); - } - ); - } - ); -} - - function insertBrowserID(string) { if (!string) { logger.debug(`insertBrowserID(${string}): no string`); @@ -696,6 +648,7 @@ class WallpanelView extends HuiView { this.imageListDirection = "forwards"; // forwards, backwards this.lastImageListUpdate; this.updatingImageList = false; + this.cancelUpdatingImageList = false; this.lastImageUpdate = 0; this.messageBoxTimeout = null; this.blockEventsUntil = 0; @@ -713,7 +666,6 @@ class WallpanelView extends HuiView { this.energyCollectionUpdateInterval = 60; this.lastEnergyCollectionUpdate = 0; this.screensaverStopNavigationPathTimeout = null; - this.currentImageUrl = config.image_url; this.__hass = elHass.__hass; this.__cards = []; @@ -1431,17 +1383,17 @@ class WallpanelView extends HuiView { } cont.style.backgroundImage = "url(" + img.src + ")"; } - if (config.show_image_info && img.imagePath && /.*\.jpe?g$/i.test(img.imagePath)) { + if (config.show_image_info && /.*\.jpe?g$/i.test(img.imageUrl)) { wp.fetchEXIFInfo(img); } }); img.addEventListener('error', function() { img.setAttribute('data-loading', false); logger.error(`Failed to load image: ${img.src}`); - if (img.imagePath) { - const idx = wp.imageList.indexOf(img.imagePath); + if (img.imageUrl) { + const idx = wp.imageList.indexOf(img.imageUrl); if (idx > -1) { - logger.debug(`Removing image from list: ${img.imagePath}`); + logger.debug(`Removing image from list: ${img.imageUrl}`); wp.imageList.splice(idx, 1); } wp.updateImage(img); @@ -1466,13 +1418,24 @@ class WallpanelView extends HuiView { wallpanel.moveInfoBox(0, 0); } - if (config.show_images && (!oldConfig || !oldConfig.show_images || this.currentImageUrl != config.image_url)) { - const wp = this; - if (imageSourceType() == "url" || imageSourceType() == "media-entity") { - this.preloadImages(); + if (config.show_images && (!oldConfig || !oldConfig.show_images || oldConfig.image_url != config.image_url)) { + let switchImages = false; + if (oldConfig) { + switchImages = true; + } + + function preloadCallback(wp) { + if (switchImages) { + wp.switchActiveImage(); + } + } + + if (imageSourceType() == "unsplash-api" || imageSourceType() == "media-source") { + this.updateImageList(true, preloadCallback); } else { - this.updateImageList(true); + this.imageList = []; + this.preloadImages(preloadCallback); } } } @@ -1506,7 +1469,7 @@ class WallpanelView extends HuiView { fetchEXIFInfo(img) { let wp = this; - if (imageInfoCache[img.imageDataKey]) { + if (imageInfoCache[img.imageUrl]) { return; } if (imageInfoCacheKeys.length >= imageInfoCacheMaxSize) { @@ -1518,12 +1481,11 @@ class WallpanelView extends HuiView { const tmpImg = document.createElement("img"); tmpImg.src = img.src; - tmpImg.imagePath = img.imagePath; - tmpImg.imageDataKey = img.imageDataKey; + tmpImg.imageUrl = img.imageUrl; getImageData(tmpImg, function() { logger.debug("EXIF data:", tmpImg.exifdata); - imageInfoCacheKeys.push(tmpImg.imageDataKey); - imageInfoCache[tmpImg.imageDataKey] = tmpImg.exifdata; + imageInfoCacheKeys.push(tmpImg.imageUrl); + imageInfoCache[tmpImg.imageUrl] = tmpImg.exifdata; wp.setImageDataInfo(tmpImg); let exifLong = tmpImg.exifdata["GPSLongitude"]; @@ -1540,22 +1502,22 @@ class WallpanelView extends HuiView { let info = JSON.parse(xhr.responseText); logger.debug("nominatim data:", info); if (info && info.address) { - imageInfoCache[tmpImg.imageDataKey].address = info.address; + imageInfoCache[tmpImg.imageUrl].address = info.address; wp.setImageDataInfo(tmpImg); } } else { logger.error("nominatim error:", this.status, xhr.status, xhr.responseText); - delete imageInfoCache[tmpImg.imageDataKey]; + delete imageInfoCache[tmpImg.imageUrl]; } } xhr.onerror = function(event) { logger.error("nominatim error:", event); - delete imageInfoCache[tmpImg.imageDataKey]; + delete imageInfoCache[tmpImg.imageUrl]; } xhr.ontimeout = function(event) { logger.error("nominatim timeout:", event); - delete imageInfoCache[tmpImg.imageDataKey]; + delete imageInfoCache[tmpImg.imageUrl]; } xhr.open("GET", `https://nominatim.openstreetmap.org/reverse?lat=${latitude}&lon=${longitude}&format=json`); //xhr.setRequestHeader("User-Agent", `lovelace-wallpanel/${version}`); @@ -1566,42 +1528,41 @@ class WallpanelView extends HuiView { } setImageDataInfo(img) { - let imageInfo = imageInfoCache[img.imageDataKey]; let infoElement = null; - if (this.imageOne.imageDataKey == img.imageDataKey) { + if (this.imageOne.imageUrl == img.imageUrl) { infoElement = this.imageOneInfo; } - else if (this.imageTwo.imageDataKey == img.imageDataKey) { + else if (this.imageTwo.imageUrl == img.imageUrl) { infoElement = this.imageTwoInfo; } if (!infoElement) { return; } - if ((!config.show_image_info) || (!imageInfo)) { + if (!config.show_image_info) { infoElement.innerHTML = ""; infoElement.style.display = "none"; return; } + infoElement.style.display = "block"; + let imageInfo = imageInfoCache[img.imageUrl]; + if (!imageInfo) { + imageInfo = {}; + } let html = config.image_info_template; html = html.replace(/\${([^}]+)}/g, (match, tags, offset, string) => { - if (!imageInfo) { - return ""; - } - if (img.imagePath) { - imageInfo.image = { - url: img.imagePath, - path: img.imagePath.replace(/^media-source:\/\/[^/]+/, ""), - relativePath: img.imagePath.replace(config.image_url, "").replace(/^\/+/, ""), - filename: img.imagePath.replace(/^.*[\\/]/, ""), - folderName: "" - }; - const parts = img.imagePath.split("/"); - if (parts.length >= 2) { - imageInfo.image.folderName = parts[parts.length - 2]; - } + imageInfo.image = { + url: img.imageUrl, + path: img.imageUrl.replace(/^[^:]+:\/\/[^/]+/, ""), + relativePath: img.imageUrl.replace(config.image_url, "").replace(/^\/+/, ""), + filename: img.imageUrl.replace(/^.*[\\/]/, ""), + folderName: "" + }; + const parts = img.imageUrl.split("/"); + if (parts.length >= 2) { + imageInfo.image.folderName = parts[parts.length - 2]; } let prefix = ""; let suffix = ""; @@ -1660,38 +1621,119 @@ class WallpanelView extends HuiView { infoElement.innerHTML = html; } - updateImageList(preload = false) { - if (!config.image_url || this.updatingImageList) return; + updateImageList(preload = false, preloadCallback = null) { + if (!config.image_url) return; + let updateFunction = null; if (imageSourceType() == "unsplash-api") { - this.updateImageListFromUnsplashAPI(preload); + updateFunction = this.updateImageListFromUnsplashAPI; } else if (imageSourceType() == "media-source") { - this.updateImageListFromMediaSource(preload); + updateFunction = this.updateImageListFromMediaSource; + } + else { + return; + } + + const wp = this; + if (this.updatingImageList) { + this.cancelUpdatingImageList = true; + const start = Date.now(); + function _checkUpdating() { + if ((!this.updatingImageList) || Date.now() - start >= 5000) { + this.cancelUpdatingImageList = false; + updateFunction.bind(wp)(preload, preloadCallback); + } + else { + setTimeout(_checkUpdating, 50); + } + } + setTimeout(_checkUpdating, 1); + } + else { + this.cancelUpdatingImageList = false; + updateFunction.bind(wp)(preload, preloadCallback); } } - updateImageListFromMediaSource(preload) { + findImages(mediaContentId) { + const wp = this; + logger.debug(`findImages: ${mediaContentId}`); + let excludeRegExp = []; + if (config.image_excludes) { + for (let imageExclude of config.image_excludes) { + excludeRegExp.push(new RegExp(imageExclude)); + } + } + + return new Promise( + function(resolve, reject) { + wp.hass.callWS({ + type: "media_source/browse_media", + media_content_id: mediaContentId + }).then( + mediaEntry => { + logger.debug("Found media entry", mediaEntry); + var promises = mediaEntry.children.map(child => { + let filename = child.media_content_id.replace(/^media-source:\/\/[^/]+/, ''); + for (let exclude of excludeRegExp) { + if (exclude.test(filename)) { + return; + } + } + if (child.media_class == "image") { + //logger.debug(child); + return child.media_content_id; + } + if (child.media_class == "directory") { + if (wp.cancelUpdatingImageList) { + return; + } + return wp.findImages(child.media_content_id); + } + }); + Promise.all(promises).then(results => { + let result = []; + for (let res of results) { + if (res) { + result = result.concat(res); + } + } + resolve(result); + }) + }, + error => { + //logger.warn(error); + reject(error); + } + ); + } + ); + } + + updateImageListFromMediaSource(preload, preloadCallback = null) { this.updatingImageList = true; this.lastImageListUpdate = Date.now(); - let mediaContentId = config.image_url; - let wp = this; - findImages(this.hass, mediaContentId).then( + const mediaContentId = config.image_url; + const wp = this; + wp.findImages(mediaContentId).then( result => { - if (config.image_order == "random") { - this.imageList = result.sort((a, b) => 0.5 - Math.random()); - } - else { - this.imageList = result.sort(); - } - logger.debug("Image list from media-source is now:", this.imageList); - this.updatingImageList = false; - if (preload) { - wp.preloadImages(); + wp.updatingImageList = false; + if (!wp.cancelUpdatingImageList) { + if (config.image_order == "random") { + wp.imageList = result.sort((a, b) => 0.5 - Math.random()); + } + else { + wp.imageList = result.sort(); + } + logger.debug("Image list from media-source is now:", wp.imageList); + if (preload) { + wp.preloadImages(preloadCallback); + } } }, error => { - this.updatingImageList = false; + wp.updatingImageList = false; error = `Failed to update image list from ${config.image_url}: ${JSON.stringify(error)}`; logger.error(error); wp.displayMessage(error, 10000) @@ -1699,7 +1741,7 @@ class WallpanelView extends HuiView { ) } - updateImageListFromUnsplashAPI(preload) { + updateImageListFromUnsplashAPI(preload, preloadCallback = null) { this.updatingImageList = true; this.lastImageListUpdate = Date.now(); let wp = this; @@ -1723,11 +1765,13 @@ class WallpanelView extends HuiView { urls.push("https://source.unsplash.com/random/${width}x${height}?sig=${timestamp}"); } wp.updatingImageList = false; - wp.imageList = urls; - imageInfoCache = data; - logger.debug("Image list from unsplash is now:", wp.imageList); - if (preload) { - wp.preloadImages(); + if (!wp.cancelUpdatingImageList) { + wp.imageList = urls; + imageInfoCache = data; + logger.debug("Image list from unsplash is now:", wp.imageList); + if (preload) { + wp.preloadImages(preloadCallback); + } } }; logger.debug(`Unsplash API request: ${config.image_url}`); @@ -1743,6 +1787,7 @@ class WallpanelView extends HuiView { url = url.replace(/\${height}/g, height); url = url.replace(/\${timestamp_ms}/g, timestamp_ms); url = url.replace(/\${timestamp}/g, timestamp); + img.imageUrl = url; logger.debug(`Updating image '${img.id}' from '${url}'`); if (imageSourceType() == "media-entity") { this.updateImageUrlWithHttpFetch(img, url); @@ -1784,23 +1829,21 @@ class WallpanelView extends HuiView { return; } this.updateImageIndex(); - let imagePath = this.imageList[this.imageIndex]; - if (!imagePath) { - return; - } - img.imageDataKey = imagePath; - img.imagePath = imagePath; + img.imageUrl = this.imageList[this.imageIndex]; this.hass.callWS({ type: "media_source/resolve_media", - media_content_id: imagePath + media_content_id: img.imageUrl }).then( result => { - let src = `${document.location.origin}${result.url}`; + let src = result.url; + if ((!src.startsWith("http://")) && (!src.startsWith("https://"))) { + src = `${document.location.origin}${src}`; + } logger.debug(`Setting image src: ${src}`); img.src = src; }, error => { - logger.error(`media_source/resolve_media error for ${imagePath}:`, error); + logger.error(`media_source/resolve_media error for ${imageUrl}:`, error); } ); } @@ -1810,7 +1853,6 @@ class WallpanelView extends HuiView { return; } this.updateImageIndex(); - img.imageDataKey = this.imageList[this.imageIndex]; this.updateImageFromUrl(img, this.imageList[this.imageIndex]); } @@ -1826,12 +1868,12 @@ class WallpanelView extends HuiView { this.updateImageFromUrl(img, entityPicture + querySuffix); } - updateImage(img) { + updateImage(img, callback = null) { if (!config.show_images) { return; } img.setAttribute('data-loading', true); - img.imagePath = null; + img.imageUrl = null; if (imageSourceType() == "media-source") { this.updateImageFromMediaSource(img); @@ -1845,28 +1887,64 @@ class WallpanelView extends HuiView { else { this.updateImageFromUrl(img, config.image_url); } + + if (callback) { + const wp = this; + const start = Date.now(); + + function _checkLoading() { + if (img.getAttribute('data-loading') == "false" || Date.now() - start >= 2000) { + callback(wp, img); + } + else { + setTimeout(_checkLoading, 50); + } + } + setTimeout(_checkLoading, 1); + } } - preloadImage(img) { + preloadImage(img, callback = null) { + const wp = this; if ((this.updatingImageList) || (img.getAttribute('data-loading') == "true") || (this.screensaverRunning() && img.parentNode.style.opacity == 1)) { + if (callback) { + callback(wp, img); + } return; } - this.updateImage(img); - const wp = this; - setTimeout(function() { - wp.setImageDataInfo(img); - }, 1000); + this.updateImage(img, + function(wp, updatedImg) { + wp.setImageDataInfo(updatedImg); + if (callback) { + callback(wp, updatedImg); + } + } + ); } - preloadImages() { + preloadImages(callback = null) { logger.debug("Preloading images"); - this.preloadImage(this.imageOne); - - if (imageSourceType() !== "media-entity") { - const wp = this; - setTimeout(function() { - wp.preloadImage(wp.imageTwo); - }, 1000); + if (imageSourceType() === "media-entity") { + this.preloadImage(this.imageOne, + function(wp, updatedImg) { + if (callback) { + callback(wp); + } + } + ); + } + else { + this.preloadImage(this.imageOne, + function(wp, updatedImg) { + wp.preloadImage(wp.imageTwo, + function(wp, updatedImg) { + if (callback) { + callback(wp); + } + } + ); + } + ); } } @@ -2131,9 +2209,9 @@ class WallpanelView extends HuiView { let p = screenWakeLock._player; html += `Screen wake lock video: readyState=${p.readyState} currentTime=${p.currentTime} paused=${p.paused} ended=${p.ended}
`; } - let imagePath = wallpanel.imageList[wallpanel.imageIndex]; - if (imagePath) { - html += `Current image: ${imagePath}`; + const activeImage = this.getActiveImageElement(); + if (activeImage) { + html += `Current image: ${activeImage.imageUrl}`; } this.debugBox.innerHTML = html; this.debugBox.querySelector("#download_log").addEventListener( @@ -2158,19 +2236,11 @@ class WallpanelView extends HuiView { } this.updateImageIndex(); const inactiveImage = this.getInactiveImageElement(); - this.updateImage(inactiveImage); - - const wp = this; - const start = Date.now(); - function switchActiveImageAfterLoad() { - if (inactiveImage.getAttribute('data-loading') == "false" || Date.now() - start >= 2000) { + this.updateImage(inactiveImage, + function(wp, img) { wp.switchActiveImage(500); } - else { - setTimeout(switchActiveImageAfterLoad, 50); - } - } - setTimeout(switchActiveImageAfterLoad, 50); + ); } handleInteractionEvent(evt, isClick) { diff --git a/www/community/lovelace-wallpanel/wallpanel.js.gz b/www/community/lovelace-wallpanel/wallpanel.js.gz index 07c66b9b35c93ff023061a1606ba414d6e84b352..1efc18af11c8797824597386aba062a9d330464f 100644 GIT binary patch delta 26628 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

;2+AF{})41p>NG z)S1LFbnjrwYFpy@-XI)?DK07-4e3Rccw-PLeIO;*G-riRp+e#FPya(3G!nYGo|2oL}Xc zMh1UtSya!2FxjRPy^0+33I+xkBbdZNMd?Yl&zFU?X3WhulhKH*csZ;%i;bf^ZHq#! z(lm2Ry8g6ENk(G=;^PLGZ)u6ALsLvRq4;X17Y`;ks0}GyZ;T0+$&~gz_L5?Ryt6JMY9MpcWUe^>D+kGyp)HHaw~tt z4wIzh3~G|F%xA5ml>U5bEhB-{mPG6u=9ehkWysA17L%KXS?ILYCb$1Z(0s@4@?wYQ zn2UBQWG>LJa|%qt)floCfx|=89~&p2t)1`^_mZx_R*ajlvYk>08>2*MnX|`oDc9zb zI@`Esp>v*Rakax>G})P?DV;Q0g=~MeEafT}{3})G0s5<0$!eQw(Ii@Tf;Aa6@&~F3 z*F?0rjiM0=oQ%_Hu1Fl9z6yFWs72|tQW7XidL?xC9vZA==Vg1vM+If!-sr~uHM+Xa zfFguU68+3ISMbIARW#h&l-D$JOw&XWj)YtZMB`Uihuw}KXq6o_R=iR$x~hL9elJ+{ zb;C~9wYm1tI>a2t2Nd!Ymr*I;Z@D5<<>RwH73{CmlJ%m(tEnSg`Cy1Ag6Z_HYsSSJ~AaZwxZW+mm*CVEDP?(7|&T z3Vov8X=y|a$5Dc}C=`DvavgN3YIXyaF%KH&czl3r9O&2^_iRZ#Q9{_;>LzU9#epCn zFR8O7Ow#*NB*#$$|hc%uMA4xzC=9E~TbN7P|^ucP=Y_oeMN zBYy~r#CDGCJY=TRwD9P1z^+*Zq= z65AF0R|~_c?Sp>_R1TwWZ#1DNb`xBg@;J>xlDsKogCoy{;yP%54bx&Y1^E>%kU1ih zGVqbhY;XfZvYRLuT4#W$WHM$`n!H{{mJS@w(iO=_K0tp-51k~pa^QPm9Ps!Abpdwg z*Lb&~w1pRC^rHsIO;_} z!EOZec9iatn_73zWCmV=I|)amoC^NqP%%n^ zYnWZCZsmBuO&43WPWEPwIHS~H$750B} z0$L%c>#*#FcpHkgI2Uc+X2D*pn2uk)5~91nnX)N=!&DX~0d5d<1A>*wY+9~5wtdpxEiMS-&7NL(6Lib7V9Di(H-&%J0iGK^ zB_n#H7yx%rvmxmC32DQt#4||iORGNs&Vu_U_ws`6M%n|fIbUp>!zPDZ2Qo%N_*|nb zM^e4+F2sg?EUjUU0p%sHv)HGOZO4KCb@e)myK{?tKzK3t9EN|6U5>^BYvtUr z>nt^Q9M33~6{j;mbAojStT}G4t{0-j8pNhFnNh|$qRW{;?DIw(nO$Fxg2lR_sEp`w z7;8LMo7NyLf;T%&hSDf+%`asOqB07i`Ngt*T?Ciw=pw)Z=~M)s6I0m&JE}YH#2!bn zh4_;zSHz$kU?GQckaK@nl!JHi= z|20GT4gwaT7Z$K4@IowJj0=khSPiy_fCcCu5wN*pcNvC1DqstW77fP51#AKEoX%KO zz-9*|ow~n<9|M1Sr=5aTa1O)gUISbVdr_y{E=JyrU5NvF*2csEUeGN`q2N13@>^%-Sm_E}-MY{wM>=6bIXvY-nK;fvK0cGX#I*caR39K+XPLFdOco6;mY?QFvNf0Mgt31?^aq2RxIDRYgslB zQ`L8`I1^bEu}}|G9n;0ICML-#hiY@wBr>;VlrQRaha~=yMe^UaKK_}dap6^Q@dfd& zYvG-j!9`a<<3Kfc`t&2{=9`bL8|c4^lLZ(L-lk<)7KbXcjHc#d^I0x7_rD*aD?U*t z$A}qSpHEKcZteBxvu5GH4|SnIaN)}A7XcQj&b2-MH&*914_P;kL8dRV~8H7S#%vo$$L?SDna2ZKrFrYbfk(Rl($JCP%b3=t&?OTC4YBl_w>iw{bAvD6P#$H z={q?v{U$9a;nIK5H7~g95SOdvD#xP%1ozC?m#cg;Z?zvKB2KUoL;W1#m5ZdlS-`SG z-xjSa36{yS zBt!Osl|t|1?|)nN6v^W|$J|c_6-yM;BCE3?)QVSByqXP=$NWL3D08qFwEtPvCKrv* zU88VapH;B{nOVORX3H6?&k7Bgi42(Oc^wZ>zfoko$fli3#L`Y9(_G*=oWXEBVP9Ol z(=WalD!(~X7f*-&&3m(vdV%41j%TFJta=oJ>|m5uWPd$!WA_SgFMB_ee|;g)8&q*5 zl+~d|Ee1&+W|1Urj?Sp=G#bw(X@~9t%%F*@kwl>Y5%R29mSvOA3j~pxyz^%Iyz)y# z)&p1u#O&V8&g~)$V!ChrG5Wk^k2RAh5|&38nGh+{lGBvRR&}a?CeaGJWe8slnvo|4 zj;-u8kbi?6L3YVAmLq~LPO~bCT&n@MB>1iOT{6SfEl$dnd%cO&>jmffUbz@*&&jvu-=|Lbco?Zr@S;<1XvV7S*%kL#fl32h$Y zB~fwxWvxrmNN?WXj&D}H2K;}vGqRXJERGq_5r6UzjC>a6eiVn_Pyh^$#UmC1x2}XX zT$^6w?`D)xlL`TVNi%Bt8jN=EX`JW19$p^F)}orS8qu3Xo96YRtz2`Hjt_#jS+g2f z#2W_AL|H3(+vhgNE-}tv@ZjfXUMu(!BD_2GKa0eFYLP&HE!uhY1`#auya}Uzs2~nx zqkrP*bS~@%!yOd5QK%^um@!l7JWaM3+UD_PxWwG?TX*Ct*`xB!!;`T1@ra9Sy^bNl`ilVr5VPuNwsk z>G}yjB}(@gWecj_Fi87Rcf}ji3!rqLqKHD+!!D1Tm#jwEcmHHi zb9dkgHGT*dZ&VqDgigrZpmhDv8DCB(mh2cgm3(otp!?=w=ISCn>0_1>h<_+D(Rdty z$jRrLmmo7En9J}00325QDdUJJv7-skx{FC6*~e3HC0s339Wy$;5o0|YXch;dXj4IN zAP9Cw$Bb0Jr0(oa2l9nHwO>|%FhedZBj=KYcfg1(Mi-_S-g_?sxOLTo@#pE*wVk9@ zpAt{}l75K80PQGoaKSkBw4}@oElO z9wRhfjY3rcB;FM;Dz^uwIlC5>H8crmV}?OLFcc3yI3Pr#hR7Tm+QNmBg>1RI@Vcw? zGT`NT^gbO&=gVczt0e-5;lv)`I4~&(FMTt|ONR9vyI~O%JR6E^lYcYa`7~|uOR7g9 zc>yD>ZhhY1?WpiJJKts=VO!moz4U}fEuk-`(QQ_Q+5=X%%qcF_w;f%nOu; zDanksv7v))!~q?%NR!KsA8$)*gn8MMkd8Hw-X6N{d1j$q$3^Ps-n>kjdvtn6I8{pp zHrk(6B4J&4!;SQIPk&B4MMO;~h_mVZ>@Z6y^Nsna`)%S4fFXYTnf1ojMux@zu&hpw zo3w?-pczcy8@J>Kl3V&~m^*QVq++T%#42`B_DCq2_Vo zFEHptJ0#`}waJ*#d$URYoH6A&d&Yafjpzj7z0{} zKo`2&^weuw-RW7yGB0vkr|p`IgOUGlC4?(;6T(E&b|`{PNC$Q;yPzE4Dq;Dc*jF0` z*S}rRL#G+9jlx@s22AGWf|28L2h3lNU1S~4-lq-i#}!va)+%i199L%-u0c83Wbso* z2D{6TX5pHgP9QkhTFqCwI}*xqBk1nc=ZD~|y7`50kU%r3*fCw0?naZKDJOrQDP6^f zMA;dVw*A#P_rdPWdfTscF>aw+K65A_(jTH^@$N?&+;_b0(1^LW>rCA)2R3Uu6&BP( z^M{K6P@#j|p+T_>Dnw!;D0GOsTc=yDbn|;Hy`C}ZtSeD>CgU#^KsLU`+Epxo0NdRJ z5PJVDRH^Hp)SU%T_TJB(S$_&w0fgL|Er0~lACpij8-GKE{=5J(>#5GYMfM|Vn03o( zfhB|?%Xe%{L4`(>Ts!%N+v6%+G^8bL*;V>SYMfWmDjkhDtIIKbfig3=Y(Q0Wu3`mt zj5~Cq)7WBr3WYx=6Bn0-MG`Q7S!vL$#~p zyoHG{?tfL?QNU%S<8t1a{Z1oDp2^M~KS(s}(O2`=yQusP#c(RS2>S2?1btYXpsAan zX#qiZC1xQ)^3~jRIE9OkB*z$XBgwv#RKASEuH)vRbC4M>*iQZy6>|4x5j3JI5@|Ea zd?>nQmn-9#rZa`uOau#4nnzrnbw}?x4&+3Jp=utIYwY1;PF z)bI59RHO2J75l~4}wAY(^l3sJ^!xo*I;@9)TkHC6nZ`zEkizLmt9Biv)?H$ z!jtGL9e<`L_X>&vTM@5|D0hMDajox3@-l?LpL5Hsvtl1Ee9Di7aDOOYzl2|o$869*fYyP`=@3CLWKYPP z-SQchc_9`LXECv4-4es45{4uCk>zY_#>Fro12IT2+`_8E<_rpJcWfOn6J+kHt~}er zw^}PD?}0~6jyv$HR4r|}kEZnlxEJJu_R~*Zz4r4TwJ+n~*US6$u$Bf%ic~XAZ`Fgi z+<()(0H3OQf3T0;O?_iJqKmi3oc$!s%V9^w--$P!p_VmQPnEF+NEN~1E4m(8D1e>S)pBG&WpO4 z>bm(_1Y+Y!idi~=!3j&*)vwFKgntlh1I<1djrL(pDZ$IV<4kc7!1}SBB7YD!0ZktV zmZTr{Qlob=)NxUDrBXP$x`FIxTX;~U!|?$sTt&M`P~^loW=K+(o=U~ZNS7=Uner1M z(9H%v_drXjFnC_8$-H$4UFD%xgHFPthTtabVUpCDa;&1AQ-&ND@OcIX-*U>-A#Xe+ z2I(|(7*2S=(pD2nyo$)JG=GERy!7Ju1hc{vwppc5TUHT2Eh^!sW&vY$q(OWEiXvIU zu>gf{kOW|yhA=tuk18_hyz!~3K>Rcd;im{--b5PGowpf8y$O1yPqdz#l<=z8YSY`4 zQ<|S}VmQR3>%g0N=o40{sKh2EdhpM~24%^N7DHFPy0`YQAuoa!6MrW8t0_BkQziiw zY0RK3ZI~*EvuVSOJaLAL^G!b%7f#+EzIvIaWAV15T+JcB7L7=UeCpXdcgxdPzL}9? zIIpJ|Iu2KLJN2o4qludr@&T&hl#kWHKp6vV0R~)9YO_7lM$s@FL9Y$fbPMH4rBdC+ zwg>;##PBm5hUZK!S$~3_qR|Lcz>Jx*>~1k4jK)v`2@lP;73?DGx063^8JcaD!=ITu zSUmhw)WdTLW^nuB!a}r|M5OA0!aI^73jS4ujDu07^y2v`p!?j1DUoc}>#8!!PEy#i zq(gsPi{i_Aj4u@?!LJ}kp5Fg1rOEA2FnjS^&f(ji@Xi^)e1A!zk=zj0>(sr0d{gyh z;CInr^EL_M)$L1kng=Qd;$iz$wKb{V|BjUckJR205os1SaeJpTk|1ZLk&oEequ5e2 zaO~@=8uD?>oR6uoj@k>UH0fAqa$ZALxFH)kxtaVJa^VqR>O1!gSoafyIbU>bL&;ZX z-NNJG6jpZj7=K0kSLdpoRf?W{Eh&q*8qGP?%hvkTu0a7Q1Di&`x0U3j(tbJ|WMg>I zE*W*!fq3;w0O23?xOV-I``;_)|GfS5pn6*eJ*hIpx6VP1`Im{j^tFYHB~9|M5rtlT`-w+4zV`l}a=Zw~PnKFw#{<3nl9iD6{pF zR-_5eP|{o4yk_yTrmMqCF<9!{D!b~nv}!Hh`3!pDjULHlZSSkd-7%!CbCuuij8r%h{pQU=9U-!0(pXN_p~hV#)pCMr+N-1?l?)ur7z2mm)Z#bff;T7s@Ewway6=ArYJu*Dw+EcNfxPPtgwdj@@8ivhhN3jFBihXHavlX@l?6B4o%?28m z!F4~5hHpjT?c;--3b(jDcj4*|u`r{|2dH#D6`iw^Y1A+n6msjZ!5?*k!P_i|X@5Q! zujkT*!fcooZQHy6g{<>cBC41sb#a^0K?iJ^t%obQl4no(tVV^CnoX!a705D|?|@#9 zt8(-eSj-(qOomC*ZW)?2b787xKsT!e(M1<&&<{07SgL#BNLux27>bjmgKnXn+CJ;k z{AR2U7k_dm&jKtlL!&C~{yArY;_S^Tv}D!AmPC}^{9Q3o zRWr|D3$cdK$1t_RgyZU{eRmur(clWCQXF6~g{tW@As#k9JE_R=2oro$OzsPw+;t9w zb3tjP6&W570fh4zyBihtCA=8m5d*sQJ=GuV3MTb}Z(_r7y4ejD9RQLT)Zya^`?13NJrAFJxt zcQOljp~SY-9``b7ti>wknabo4B)N52oX1+?#>=0zZ@Cu&djMrtkALFF)};qW@%l`9 z-2%frw|vm+88m%3kf1SlOa~J^YLX~UD;0mmYm@y2iz0-aG?HaaWVt{lV_oFmQu-|wUsCgCP znS>{77<6;fTO*DVe#_|Z=+d94lBa8p&nv_kOPaR@i@(JgWpxNL>XL;tFm)nk|AfxJDWitn1rp&JoeO`uetQ2qg(bTEsSiK- z^^)74@G0h}e3T)hK~XW%KPTFOj*dGgd{Rx=w@lN5^DlvJ z!q$trbp0iHV1L6xrY89Z%jU4o80xZBH>yp)CgCNt5Km8_TZZFXBjVzGVX>eT&j?YZ zd22a;7RlBN-xY~0D^Atmm?=tKl5{~qs>5;T_d{>(kx3JF($##%p)%5oBv(AZ z!>1K*B9C@RponN$#kUYTgAhiS6){-7voo)h9n)8J|9=IAz|2cG1z?B8vC7qT@Ee|3 zlh{5d;jxECMGpB@3@HXDg7VK9uqF*u!c17CoLz{mTDFIb(2p{sK#X>=ES81eYxlOy zLlhEl43s}tXB(neGk`7$Q?(Ju8iIffd<+B^h<)@b(Zhwd`G!CVmCuhL`ZhP@ijfft z+$}D$E`QCG{&#eW&{UVmt${dI|1u6Px7vOZJX~Kv_isOr{prr6*9+p)Xou1()KEq8R@Wv^-3)t2gPQ=KJyGLs^apU~tu=L|`Nf@zPod}Qqd3b?B?V}IW|4x|}I2g}WucGd;TcGEo$vl}CI z{+?%>#AS>bN7%J|FF5A1jrcs%3LPajXYFy>dc;=KH1_08JthImwwWipZ=#b&ng?Q| zAttf3o$s>nhAZ|{F6KY7z2>VAEP zC4V0P@!~=jIX1>AM1jPi$2`jCAUQXx&<+&>9G(05 zXU%x;$(dT?l#6lL!7F4=wvsWBz>XP;)qm!hh@@h|&fM|{+QOplxRie_S24yrzTNi| zz1sIH-S0HZJ^*n{T8W|gljfn-|I*xkwj1%lB+k*tT&6Sc)XTU#;dW=9cfCk0a2ZL+ zYvTgCiG6D2;y_l6FL)^CI)igEI5U6mbmlf&vvN(ef>pPu*K?P*16r6NcW*jjt#wnaIC5A7&rbQ06fQ*CG9!1^26=l+VGRqzZ1suMezvvK0tRpML zzyRF?b(z%ZsB1u(vAS)_Y|?T?Zhy0jt-YOgc9p%EKjs2TgGfpMUp)X z2ZJ!l8&{R>bcWq@WIjM>gkYsB$dfpBc+TcMaUGAwI-e^gU>SAP~RJ>7BcXnCX$KdCiIt7G5tm z=*bD3k#M)qj)nQ7K=qQ}OM`eHfI#-+5)hk@s952<^N^MxoIRxEnwur*sY%pQp5nz` z63&F6y5r->nOgs{SCHr8)qj(TyDd8fR7HA9UOOO7lD3>)@=gzQQ8nLM%S}B|T{c%t zz8{(7?q+6*UvjrG%Z)|+_m>>46Z9`Rnr4K$&TOh_X5pg9A+E*lI*rhhsK_M)<7YFt zOm>auI`w4GMQxtlGXs#7Zpp?^ zKoy05&xS$ZVWy(8WJSHPUT4lxMWmh;d0FUbQ~T8Mwm$?c0@xi6+;Hp^$u2NgOmq4g za4_Z^Uor?z)fJu@Y(Yn?EWNj?ZE~4^vOqF#IpivIUnkG4O!;y%+aOKPi*P9$`MrSm z^xl=YyEGY}=xvGfEv^#;@{G+(Df=E?4@l&Ex@)RGWtbz34zaINE3SA+UxPr#OS<4^ z)&sJ&AVN+)^S=hKqR!V^z|Z3dyktfaf#vWDzh;L>>BaFZ-mC+zJLZR!)tPSF`s?K3{5~lZPqU=Zi~vdV`#5`X z@gG2#;2;QQEqkw{_^a0rI{pN9RQO=vgq{)%yQ4BH862ewz|%hEO3Ss^3*#iMdD6^% z8AY|rLH*|a zD!k;UUGUCbLFig!?U91S%XQ9`tD^7wEhS&W@m`qV+%SlHJ$faMUUr4fVZIzDhzS;^ zb}Ji#!=&I2BpA+M^qNmYDIIFzz>QHjl5fm3tLDo$QhK{2#`ny_D$b#e*Rl#TpOGfX z%R@AO4Fs61$euH;taZD8U_xc~oO9+C+X2*LTO~QqN_s#pJj4q3%?lN_w$d3jYI(sa zH?rQ=aO_RXi@#tqTMNoRfNDLXRd$9=bptBME{y(g)Nwx(d>4JC%TuXRy@T{IPJkQ( zR~x*XkD=05nS`?eg~n{`+)8FB&3>N{%}anuyvB@c&~qoeav*Sjqf<}WipigG|KJmJ zekuu1moKs}Dq3N!=0d|X>Vf{#H}3K;&7=P*wlnV`QTPC@lsttH$Zzfv3Rq@$1ZU{C z*Y^CW+Ds-i=x7neQ5p4eFXYzLi*3Br8jiQj3Xk8it*cMfT5*VjIbFU0c$W}z#S!F$ z9-kR2q|H3j$IiJ)azAHALk@6^v7q7++2zXYnpn051E*m{m24!l`3O7wO1zEH@reAa zhpmN6!rReTX#9x#3Q>6U%BXhr%TgdcAZ{HDZV&vIDp!*QZ0{ab_n zE9XvN3lFQw1Z58(Q{mOEGT*H;n{wB4A=#jULkoGxVLIXFOSt0t&1j6_8~!ZgkAXg` z7d(%h6T}_VuWDalo@sD47SVf#(p}93{hM7jqp!OvcUWK-u6%Y`SLOB*+g;fpl!+hU zf}w`|7!wMso`1`OY}Hv2V(yQOuqCVt$*8?O9Yw)-supkLha)jI&8c->8pjb{t4m5o zkZAy~no(qXbW1L-|8w=v@IeX)lU;iFKyAl)yX~;Enq~yrVaoFbZ(dw))d>{a zjDM{vZ$Ul9%@$y?bY7Djnn*LJ5#^&z>|jW0aY_~^|I#=^(CSPE_l(ntyh|FNtC|a5 zmgK?Q@XF276 z=-aSPDD5g7eJuzGD4k*axO)-mIg=gBj_}lWL?%1lTEMeDky7E}f-D5gk}R zVMC$2p&}tNcBTj2N@=mzo=W0|_g{hA{U({LAsdTJ)#wPuCBolD2}MU|I1JU$~wigDfKpCBsuM>|T>XlQtZ z(#;`RP7J1}x;PIf0fGj09$rsPWX>zNg5VsfQdKbHS={FKK(=rwl7{^B&TL625CRx1 zQ=qMbAdh<9A->_m6#na9UMBMtr+?scL-C<-7UHsHqt;LxFmAt*NDNieL6oR0bgL88 zmKzLSyzmuJE#RlJMnz9$u`8ia=X8-ewFagumGXk*)y1~~>?af0XcS!FqdynuqQh1p zK8D7-O3aC0lbwx|;3OmFy77lQBaSf7M&4c=a#nc{E?%q3aFs*?lkQpvL|0I}B8} zHfrmnYN%P=s6C_vA$}-DKNF#qYx|7L>SM>z1Er%n3CheyE-oBq?qaYC+)_8UG6TfO z2F9%A9yS_J;>#endtI`WtEb*Q&rH}d*_k;wwJduUmS4586ECBgM!yC99e0 zsl(Y!59W;BCO0InZnZLPGg}>_IaF%pSjBw?E9cyY^g6~221WFkS8>l!Fb!89Kk2t4 zI{4!KwSf`#-iep+vHbGf?Sj;0VI7O3!9^URu@@e{q*`k#Y_q#PecEa>FH@18`8IuCf~xR7$>DE^}jM z7iz#b+IZ`rUOiEkqgUow6j~2xNy_f=9`Ts`>+rHDf1mnorpno@tz~1(>Em<5`;R4t z?bhc;1PxR3ps2E2yCDPHIp%I`wr+7cW`jh2!H2}ilLei0oF1$5dUcsif33uR<>tcS zgxhukdK2MmK>Vhnx*m?n7<?P4~_OM)&Z!+*o&me;#Z~%-#A`7+k~l zQq}(szOkT!nDKg21`8IGTrs(7zH+O*S#a`X#Rb+|^fIXgUKN8g`!=b)buNMy4$%2} zZzc6Q>a*cqlT6wmjlwo>c$3OWZGmXkMf7NER4!TFEax%!P9kEr`Rp)6Y8&M=Vghz$mw=#Sz zizdHn51`ArKN)5taY$PPM@S?L8$IlI4;?hf<5(M~8FxK*5A;@AV{92@L@-+x0X^~q zVtI*m0hjn_ZJ_OCx&HId%b;v2r)^O6CT)sRh7UKbeo5qCe}F>3-Do`JeMO~HMHlPG z-fw;%u=A@^8m|BjhiPRmT>}MDRCSQ6Vv<;3Q;3PNi4K23hiTHg>iV3 zF9?NXrpH0=RQY8NJ_rAI;5=Q|JQ!o)IS`r1``v|%_ll(^*e=A`ylJK@3?IPYo z|7#E*MQN@d5bySA3iBZeV?bifIxv?#B-iH$Kz^qz(C{ zrd%fv*~Sk@kU%Dt9;87vEF8$LSVvTEIQ<0e-usZJ@j)Sa%7vl^bK!)X(Fg@0B}0o3 zNw|v>^MN{8zWVT*f5IC10}Jb(S<1WaqhA~}HWIL65aJH=5|?YNS>RqbaqrO-e~}K*d;`%SI|<=7Z9Qp z&CDHI&qpBBvgKIxPH4in6_hBuZuZVj=qJS^q7AvC)CLQ}n*vg?bwikhc)x4k2%`&I zREgoC82cCld@tlR-lkcm;=VCqKvdF(0WeKspE14ORy9>-+lLd|ufwcD^i%Gap2)hOe90HGBU_n@NfqI#Oa z`}ow%E86epF;S)`tO0-o#UwJGm`8JKyVclHtzb9*JerdjL(>5wF6v?beLsafr(JoHk7Xotde6-hlxE^ z)ZoEYLQfT~p0%1A<~%3QqO4?5^PFP5fk;IW2htHue?6cs#J<2pbB@F@Ot~QKN8KzY z_D@2Y46VoAA(dPc$}uPz&S__qX1^m2>? zi!Wlee}V~vt6T>Juvl`SsI@{mrI_j)DaD`^N&T~am(mm{)vAS{Rspd;`*eIZ7r9pN(i|{T=IVG#k2J@*-h+8e(Tl>Fnvje;JP-J$xcf4cSJ3K1z*!aeRWC-dr0OL@rB9jIL zu6TZ&+2RvGi_w1AZSTe~YzPYsFqONea*u_tmd6@o~; zPY_P~u~WP(+{3^kY;TjfYtPjpK?6dild^Oi!_bbWyZtyqGerm37$_pS)x_c5DCqSd zJ22YN6h;Q96qLVU2QR--J*tY9f4QeuW9qq@1D321x%<+#0$8+mWv_e`Vhtt2JIK@&Z71B<@uWYpcqa{mGA^8iTAU`*bhtk!Zjz zB2T;}X)$lr)<_qosR&C|)0~UOw^~jMR#VqviYs05LRYlTEws!vixz=a(egKA^?O*j zZWJyXu&Na;YVI|yxjS=(g*C5e$!igFe;Wsv2m9PwrKO#r<&_m>e{p~jCLXR+9FiTM zw4J~Xt{+{Cm)cQ{!hC+KiLJD?ivQJzRjUsh@{u17L>(UNwF;KSs$3QoU5Y<^Ca^eN ziJ&C>M#?|Y#sxD}iG{Y9DgjWH3+BxAvNcniDOP4+r7c)!)pEwq5t9v0&7({j%%zM8 z7Un4)aFS3xic*hHfBi`WEH!x<#vLMkw-^Z8Jdie8N?$Y0m5>ugG1+G!Yu&Ja+BqaM zDgFaSWHix{u-xv*t&K`2F?k%tu%il7+5%HDoALZnH|h9e-Wr#d=@8Yl2%7B_u?KV; zw{hop8R$mtQhc^Ek|;sf%wA)gSCs1J9Zq2JRY}w?WlE6Ee>uh&XOfK@1oImAGlEjX z3OSR|J%2ioQjRIzA535>;g&bm^qo#dm*@+DTj&mOhV$8sS=EFK^Cf(;H4{4CyM_+w z^M+xGm)hMyH0e(53}M#xMHe(%CUIU*)8tk5yp2cXnEVJt_&>PzrZ_~J3X_CY;K*Bl zNCh_5b%AwOf8nBmtHhbN_Jm5TZ|D*mO6AP}19Xd^*B)tTp{E0{&?kbMvCUbJ9a%e^ z^~902%Y8$v+uPXSFYdgD;)}WUNPICbHX8i3E)Fa}L{7S4xHZ!8>%Y3SY8hpj^I=5*=f*~bCf1n0`R0N&}eUhmYL;DZMlR*;2 zQ|KN{SMynGit`JsEJEl058=w;X%=vHUR!toxyq4I&W6o1$^o=j473PCn)?fv&y{V7 zg+es6XKXYnf4!N*4gahLQye1Q2@7?rHR~G-mRO`|>yLg6Ssu}o#Rtvo=I#ACL<_Zg z|1Yg0e}{kL$?O3$lK~q)Hd^Q7z56IG#L1%6I?NCvwdvA}*wQr$Ry+N0%+5M|R>x-@ z#yWf*&4M9Wf7*|OnV2?|+YhAT85=4RIjBc${|P~#ge{_(^VnJ5h7%0PSl3NeM6PmL z7f~vg=806!GzX6O^^>hywOue~PWIN>#K&Ms10WOQ>{4V;+&1NVan) zBU#-ylgsFgGXDCQr9fdu2lHeZD2|l9FeCAIbP_h(J*Gz zi9ILyug?u;6i0Fr<1E4=-pCL*)p5ZOQRFxdn5hLH`kgp3l=VTB1RgslOLj7{lv9PK zf22+v1#$*F+2wp>t8_LqYuD9&Fsf|ps&DUqA`mU;bwwwf>f1cS?~ zH^_w4x_6IW(?MTNa)aHnuf;gtYUF1W5eM$iaWmKsVZT2W5sXygG^K4II!(R}N9p5j z#8vUQxL4JXg8;qW3BHE^@*bD-$)^^9e?p2o34eY;cy$F^9;^rw9y}F0(;8k8*zKbk zq8n5g`8kySBrCq9e+3iTY2;TJMTP`j

kDL4gC|Me( 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⪼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

MY|ub})`86F5J4|wPsp6z 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 @Ukl4Dsh6>j|}` Jp@dta0RR~?MBe}a