From 2ec8d5f1c5eaccb02463fa7c7b79221053397e2a Mon Sep 17 00:00:00 2001 From: Victor Wiebe Date: Fri, 12 Jun 2026 22:57:49 +0000 Subject: [PATCH] Phase 4: user-facing README with screenshots - README rewritten for end users: quick start, full option reference for both blocks, date-resolution rules, drilldown, limitations, credits - Four screenshots added under docs/screenshots/ - SPEC.md remains the design/developer document, linked from README --- README.md | 222 +++++++++---------------- docs/screenshots/gtd-block.png | Bin 0 -> 24128 bytes docs/screenshots/month-grid-config.png | Bin 0 -> 54609 bytes docs/screenshots/month-grid.png | Bin 0 -> 40474 bytes docs/screenshots/todo-due-date.png | Bin 0 -> 21567 bytes 5 files changed, 75 insertions(+), 147 deletions(-) create mode 100644 docs/screenshots/gtd-block.png create mode 100644 docs/screenshots/month-grid-config.png create mode 100644 docs/screenshots/month-grid.png create mode 100644 docs/screenshots/todo-due-date.png diff --git a/README.md b/README.md index 7eca313..0fe5c67 100644 --- a/README.md +++ b/README.md @@ -1,180 +1,108 @@ -# GTD Calendar — Project Specification (v1 Draft) +# GTD Calendar — a Joplin plugin -A fork of [WeMakeMachines/joplin-plugin-event-calendar](https://github.com/WeMakeMachines/joplin-plugin-event-calendar) (MIT) that inverts the plugin's data model: instead of events living as YAML inside the calendar note, the calendar is **populated by real Joplin notes and todos** in the surrounding folder tree, with clickable drilldown to the source note. +**Your notes and to-dos, on a calendar, inside a note.** -**Working name:** `joplin-plugin-gtd-calendar` -**Proposed manifest id:** `com.victorwiebe.joplin.plugin.gtd-calendar` (must differ from upstream's id so both plugins can coexist during development) +GTD Calendar renders day, week, and month calendars in any Joplin note — populated not by hand-maintained YAML, but by the actual notes and to-dos in the surrounding folder. Click an event and it opens the note. Items without a date collect in an **Unscheduled** bucket below the calendar, GTD-style. ---- +![Month grid view](docs/screenshots/month-grid.png) -## 1. Concept +## How it works -A note anywhere in a folder contains a ` ```gtd-calendar ` fenced block. That block renders as a Day/Week/Month calendar populated by notes and todos in scope. Items opt in (by default) via a ` ```gtd ` fenced block in their body. Clicking a calendar event opens the underlying note. +Put a `gtd-calendar` fenced code block in a note. That note becomes a calendar of the notes and to-dos around it: -Dateless items are not lost — they collect in an **Unscheduled** section below the calendar grid, functioning as a GTD next-actions / someday-maybe bucket. + ```gtd-calendar + view: month-grid + title: GTD Calendar + todos: all + ``` ---- +![Config and result side by side](docs/screenshots/month-grid-config.png) -## 2. Schema Reference +Notes and to-dos opt in to the calendar with a `gtd` fenced code block — even an empty one. The block can also set a date (for plain notes), colours, an icon, and hover text: -### 2.1 The `gtd-calendar` block (lives in the calendar note) + ```gtd + date: 2026-06-19 + fg-colour: red + text: Seen on hover + ``` -``` -```gtd-calendar -view: month # day | week | month (default: day, matching upstream) -title: Editorial Schedule -scope: this-folder # this-folder | children | (default: this-folder) -notes: gtd-only # gtd-only | all | none (default: gtd-only) -todos: gtd-only # gtd-only | all | none (default: gtd-only) -sort: asc # asc | desc (default: asc) -sort-type: title # title | modified_date (default: title) -``` +![A note with a gtd block](docs/screenshots/gtd-block.png) -| Key | Values | Default | Notes | +To-dos don't need any of that for scheduling — their normal Joplin **due date** places them on the calendar automatically (when admitted by your `todos:` setting): + +![A todo scheduled by its native due date](docs/screenshots/todo-due-date.png) + +## Installation + +Search for **GTD Calendar** in *Tools → Options → Plugins* (desktop). + +Manual install: download the `.jpl` from the [releases](https://gitea.skeletonworks.online/vwiebe/joplin-plugin-gtd-calendar/releases), then *Plugins → gear icon → Install from file*. + +Requires Joplin **2.7+** on desktop. + +## The `gtd-calendar` block + +Goes in the note that should display the calendar. All options are optional. + +| Option | Values | Default | What it does | |---|---|---|---| -| `view` | `day`, `week`, `month` (also `d`/`w`/`m`, as upstream) | `day` | Grouping granularity of the grid. | -| `title` | string | none | Rendered as a heading above the calendar. | -| `scope` | `this-folder`, `children`, or an integer | `this-folder` | `children` = unlimited recursion into subfolders. An integer *n* = this folder plus *n* levels of descendants (`0` ≡ `this-folder`). Documentation will caution that broad scopes scan every note body in the tree. | -| `notes` | `gtd-only`, `all`, `none` | `gtd-only` | Which plain notes participate. `all` includes notes without a `gtd` block (they receive default styling and are Unscheduled unless... see §3.2). | -| `todos` | `gtd-only`, `all`, `none` | `gtd-only` | Same semantics for todos. | -| `sort` | `asc`, `desc` | `asc` | Order of events **within** each day/week/month grouping and within Unscheduled. Groupings themselves always run chronologically. | -| `sort-type` | `title`, `modified_date` | `title` | Field used by `sort`. `modified_date` maps to Joplin's `updated_time`. | +| `view` | `day`, `week`, `month`, `month-grid` | `day` | `day`/`week`/`month` (or `d`/`w`/`m`) render a compact tile strip spanning all events. `month-grid` (or `grid`) renders the entire **current** calendar month as a classic 7-column grid with weekday headers. | +| `title` | text | — | Heading above the calendar. | +| `scope` | `this-folder`, `children`, or a number | `this-folder` | Which folders to scan: just this one, all descendants, or *n* levels down (`scope: 2`). Broad scopes scan every note body in the tree — fine for normal folders, worth knowing for huge ones. | +| `notes` | `gtd-only`, `all`, `none` | `gtd-only` | Which plain notes appear: only those with a `gtd` block, every note in scope, or none. | +| `todos` | `gtd-only`, `all`, `none` | `gtd-only` | Same, for to-dos. `todos: all` is handy — every to-do with a due date lands on the calendar with zero markup. | +| `sort` | `asc`, `desc` | `asc` | Order of events *within* each day/week/month and in Unscheduled. The timeline itself is always chronological. | +| `sort-type` | `title`, `modified_date` | `title` | What `sort` sorts by. | -Unknown keys are ignored with a console warning. A malformed block renders an inline error box rather than failing silently (improvement over upstream, which swallows parse errors into the console). +Invalid values fall back to defaults and show a ⚠ warning above the calendar. -### 2.2 The `gtd` block (lives in participating notes/todos) +## The `gtd` block -``` -```gtd -date: 2026-07-04 # required for notes to be scheduled; optional override for todos -bg-colour: teal # any CSS color value -fg-colour: white -icon: 🦴 -title: Override title # optional; defaults to the note's own title -text: Hover text # optional; tooltip detail, as upstream -``` +Goes in any note or to-do that should appear on the calendar. **An empty block is valid** — it's the minimal opt-in. All properties are optional: -| Key | Applies to | Behavior | +| Property | Example | What it does | |---|---|---| -| `date` | notes | Required for the item to appear **in the grid**; without it the note goes to Unscheduled. Accepts `yyyy-mm-dd` (and `mm-dd-yyyy` for upstream parity). | -| `date` | todos | Optional. If present, **overrides** `todo_due` (explicit beats implicit). | -| `bg-colour` / `bgColor` | both | Event tile background. Both spellings accepted; `bg-colour` is canonical for this fork. | -| `fg-colour` | both | Event tile text color (new vs. upstream). | -| `icon` | both | Emoji/short string, as upstream. Defaults: type indicator (see §4). | -| `title` | both | Overrides the note title on the tile. | -| `text` | both | Tooltip body. | +| `date` | `2026-07-04` | Schedules the item (`yyyy-mm-dd` or `mm-dd-yyyy`). Required for plain notes to appear in the grid; for to-dos it *overrides* the Joplin due date. | +| `bg-colour` | `teal`, `#264653` | Tile/chip background. Any CSS colour. (`bgColor` also accepted.) Without it, the item gets a stable pastel derived from its note ID. | +| `fg-colour` | `white` | Tile/chip text colour. | +| `icon` | `🦴` | Shown on the tile/chip instead of the first two characters of the title. | +| `title` | `Launch day` | Replaces the note's title on the calendar only. | +| `text` | `Seen on hover` | Detail line in the hover card / tooltip. | -An **empty** ` ```gtd ` block is valid and meaningful: it is the opt-in signal with all defaults. +### Where do dates come from? ---- +1. A `date:` in the `gtd` block always wins. +2. Otherwise, a to-do uses its Joplin **due date**. +3. No date at all → the item appears in the **Unscheduled** section below the calendar: your dateless next-actions, always in view, one click from their notes. -## 3. Data Model Rules +To-dos keep being real Joplin to-dos throughout — due dates still sort, alarm, and sync exactly as before. Completed to-dos render checked and struck through. -### 3.1 Date resolution +## Drilldown -1. **Todos:** `todo_due` from the Joplin API. A `date:` in the `gtd` block overrides it. -2. **Notes:** `date:` from the `gtd` block only. No fallback to created/updated time — those are not event dates and would produce misleading calendars. -3. **No resolvable date** → item is rendered in the **Unscheduled** section below the grid. +Everything is clickable: single-event tiles, every row of a multi-event hover card, every chip in the month grid, every Unscheduled chip. Clicking opens the source note. -### 3.2 Inclusion matrix +## Limitations -An item appears on the calendar iff its type's mode admits it: +- Desktop only (relies on plugin messaging and the `openNote` command; mobile plugin support is partial). +- `month-grid` always shows the current month; there is no month navigation yet. +- The calendar refreshes when the note re-renders (e.g. switching notes); edits to *other* notes don't live-update an open calendar. -| Mode | Has `gtd` block | No `gtd` block | -|---|---|---| -| `gtd-only` (default) | ✅ included | ❌ excluded | -| `all` | ✅ included | ✅ included (default styling) | -| `none` | ❌ excluded | ❌ excluded | +## Bugs & feedback -The calendar note itself is always excluded from results, as is any note whose only `gtd-calendar` block makes it a calendar (a note may, however, be both an event and contain a calendar if it has both block types — edge case, supported, documented). +Issues and ideas: [the repository](https://gitea.skeletonworks.online/vwiebe/joplin-plugin-gtd-calendar/issues), or find me on the Joplin forum. -### 3.3 Completed todos +## Development -**v1 decision:** completed todos (`todo_completed > 0`) render with strikethrough + checked indicator, and a future `completed: show | hide` calendar option is reserved. (Logged as decision D3 below; cheap to change.) - ---- - -## 4. Rendering - -- Reuses upstream's grouping/renderer architecture (`DayGrouping`/`WeekGrouping`/`MonthGrouping` + DOM renderers + CSS asset), including the empty-grouping placeholders and current-date highlight. -- **Fixes upstream bug:** `Calendar/index.ts` imports `WeekGrouping` from `Month/MonthGrouping`, so the week view silently groups by month. Corrected in the fork. -- **Type distinction:** todos render with a checkbox glyph (☐ / ☑ when completed); notes render with a document glyph. Glyphs are suppressed if the item supplies its own `icon`. A subtle border-style difference (solid vs. dashed, TBD in CSS) keeps the distinction visible under custom colours. -- **Unscheduled section:** pinned below the grid, with its own header, honoring `sort` / `sort-type`. -- **Drilldown:** each tile is clickable and opens the source note. - ---- - -## 5. Architecture - -Upstream is a single synchronous markdown-it content script with no data API access. The fork becomes a three-part plugin: - -``` -┌─────────────────────────────┐ -│ 1. Markdown-it content │ Intercepts ```gtd-calendar fences. -│ script (renderer) │ Parses YAML config, emits a placeholder -│ │
carrying the config as data-attrs. -└──────────────┬──────────────┘ - │ (rendered HTML) -┌──────────────▼──────────────┐ -│ 2. Webview asset script │ Finds placeholders, calls -│ (runs in rendered note) │ webviewApi.postMessage(config). -│ │ Receives event data, builds the -│ │ calendar DOM via the (reused) -│ │ grouping/renderer classes. -│ │ Click → postMessage({open: noteId}). -└──────────────┬──────────────┘ - │ postMessage / onMessage -┌──────────────▼──────────────┐ -│ 3. Main plugin process │ joplin.contentScripts.onMessage: -│ (index.ts) │ • resolve current note's folder -│ │ (joplin.workspace.selectedNote) -│ │ • build folder tree, apply scope -│ │ • fetch notes/todos (id, title, -│ │ is_todo, todo_due, todo_completed, -│ │ updated_time, body) -│ │ • parse ```gtd blocks from bodies -│ │ • apply inclusion matrix, return -│ │ structured event list -│ │ • handle open: joplin.commands -│ │ .execute('openNote', noteId) -└─────────────────────────────┘ +```bash +npm install +npm test # 47 unit tests +npm run dist # builds publish/*.jpl ``` -### Performance notes +Design notes and the full v1 specification live in [SPEC.md](SPEC.md). -- Folder tree and note list fetched per render request; paginated API calls (`page`/`has_more`). -- Body scanning is limited to items in scope. For large scopes, pre-filter with Joplin's search API (`body:"```gtd"`-style query) before fetching full bodies. Cache by `updated_time` if needed; not a v1 requirement. -- Refresh model: re-render occurs on note switch (Joplin behavior). `joplin.workspace.onNoteChange` live refresh is a stretch goal, not v1. +## Credits & license -### Platform caveats +A fork of [Event Calendar](https://github.com/WeMakeMachines/joplin-plugin-event-calendar) by **Franco Speziali** (WeMakeMachines), whose tile-strip design this plugin proudly keeps. Forked with gratitude under the MIT license; this plugin is MIT as well. -- Desktop is the target. Mobile plugin support is partial; `openNote` behavior there is unverified. The "embed search" pairing remains a documented fallback for mobile users. - ---- - -## 6. Implementation Phases - -1. **Phase 0 — Scaffolding.** Fork, rename (manifest id, plugin name, file names), build pipeline verified (`npm install && npm run dist`), upstream week-view bug fixed, upstream tests green. -2. **Phase 1 — Plumbing.** Placeholder rendering for `gtd-calendar` fences; webview ⇄ plugin message round-trip proven with a hardcoded payload. -3. **Phase 2 — Data layer.** Folder tree + scope resolution; note/todo fetching; `gtd` block parsing; inclusion matrix; date resolution; unit tests for all of it (the upstream Jest setup carries over). -4. **Phase 3 — Rendering.** Wire real data into the reused renderers; Unscheduled section; type glyphs; fg-colour support; sort options. -5. **Phase 4 — Drilldown & polish.** Click-to-open; error boxes for malformed YAML; docs/README; scope-performance warnings. - ---- - -## 7. Decision Log / Open Items - -| # | Decision | Status | -|---|---|---| -| D1 | Defaults: `notes: gtd-only`, `todos: gtd-only` | ⚠️ **Confirm** — earlier discussion said todos are *always* included (i.e. `todos: all` default); the final message specified `gtd-only` as default for both. Spec follows the final message. | -| D2 | `gtd` `date:` overrides `todo_due` (vs. emitting a warning) | Adopted; revisit if confusing in practice. | -| D3 | Completed todos: shown struck-through in v1; `completed:` option reserved | Proposed, unconfirmed. | -| D4 | `sort`/`sort-type` act within groupings only; grid is always chronological | Confirmed. | -| D5 | Colour key spelling: `bg-colour`/`fg-colour` canonical, `bgColor` accepted for upstream parity | Proposed. | -| D6 | Future options parked: `completed:`, tag-based filtering, week-start day, live refresh | Backlog. | - ---- - -## 8. Licensing & Attribution - -Upstream is MIT (© Franco Speziali / WeMakeMachines). The fork retains the MIT license, preserves the original copyright notice, and credits upstream in the README per standard practice. \ No newline at end of file +Made by [Victor Wiebe](https://victorwiebe.com). Creative work for an uncaring world. diff --git a/docs/screenshots/gtd-block.png b/docs/screenshots/gtd-block.png new file mode 100644 index 0000000000000000000000000000000000000000..d5dd2a414f924f55dc2aab89ec4e440d7547d351 GIT binary patch literal 24128 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%0A!5Fdk|3avez+a%5 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 QUjgzTrvE4AB)d2KGv~;H6aWAK literal 0 HcmV?d00001 diff --git a/docs/screenshots/month-grid-config.png b/docs/screenshots/month-grid-config.png new file mode 100644 index 0000000000000000000000000000000000000000..25c461e28e68610883cf973c7b83bbe90042409e GIT binary patch literal 54609 zcmeFZd0dl8moOUJrEL{8LPPb*hKbSWl=%&((lZ?{mz|l=DTz6_xs&{=H!>>IjK`s=hQiM zs_HpaPreO(djmLm%f!?Kux}p#uy5}J`1W?+kg1W8^KEM@6H{~8zYtmhdvM?~0O0Ev zjJJm0`0d(I3Rd0&+R{PJj&W=4|m_gFM0hF?)p!-TLAvg z{0Vz`419e;{^a#1{3-D<4?i?=?|yjiD+34uSOegI8-KQc@An?~(*OY7O#op3?|-Ga zW&i+{(Ez|1(O+ru&j5fEj{ty*?!VIh(n){|-sSJr9oV~m=jjOmd?*9}#B2co@g4x+ zi2dJbdzb%2wjcLMGJA6Q?|r-gJ^&BEj{sAEAHWTuwufl~E(0_G+TTV1Mu3C+4;(nK z|KQ%`;K753zCU*O`#m^u^ym-AfG19!0-gW@#ZSvfic3g=fWR|9osl|s?!tu&;*zrR zvghSx&R;nHXC?dgihh6S`{RcXA3rYvlsNz2hHrlWfQP>uIB;2Z~y*%`@cJW;^3i!`}glZ2-x@C9vyh-l=x2) z8sE!axsI?#1tsN{z3A-&oz~QXXx~7hT>^t2C8x-_;(slWPo$JK^dGkQE&r7cEJV^M z>f+=(6E|Ap>%GdQ{?7KFIsZ%LhxTZOz~+`uO#H}sXgchE-wP15PG&1 zY@aR5e1E4Gn)vfZKsZ$gUjK*-(m=Mbrf|~)4c0}Fu`dkWBB^)9q;P;4OAYGFO@-#V z_q4XjCKk;a#;5WmiC}P0F4hg};1{_+Y4F^s;HzRqPlY$V#C#dVThQu053(RI) zFM7-{OI%CZVxde!+sxZUWu;duXfx0rjH7RghMB4_pPZ`eFu-3Z!~uzn6gar#pi{-q zRYxe2`o4xTXo}>Ko8EMreB@P6?i0~RT|7t9&?hLl-QZ-sw%L`yYM4!_%rp#712Yx9 zqQJYc&u$*u#;qjL$pn5xQ#BU*@L{H2Dm3w-cw)fQj<05sWiVgzoa*c-|18E+FAY^H zOL+f=+y%O)?p$n_B>Its#8+DPHzAPDW(TyOY@(?G&R(`=G!KnA!Ww9SsybRg&gm~= z7i9~hucd)e4XZ0*UY+twvDcI0_LRL^K` zb%VCkPRn{?PkG9!IR;!B=4>s!wr=xh`m`P3#CT33dRv7J+}2uz+3UTD<~tCR4(Dcl z+M=cycV7jhUucGwU=7J|$UPcuM&j$=4ocND(UL-!W%7Lk7x0`v_k{GID%@fX* ztvCj@LZgyLDH-n84yfIS`w=KaA^ZC4Y0P`iVy?7LC(aLW^}(!HfZrun!t5OfblPw{ z#Gpp}W4+AKR+3W#3mxDfF5&n$nGd+gOI*wmoAHIGkZK(>RPzedZh-E9FmHP}D{Kh*5?R8T08b#;AnNNmlyk*o}(-dvn$Kpl^UvLP;sVD7_>zw*sH`{byxcsQGby z5c%09ALYac#W`-pY`xRM9?#}#Ty78~@?3M=C~d~i9Bs|ABL|bIr8lSX`nXF~#=|yD zH`QzK0VHz3+5(O_5Y*o-otLU4MaB(HH*gW*y@06JvgMz5(-=~|et{|0F54OXJ{Rrlu}%E~FZb-V4l#BmSRi%rrF z&*fxhJub-IV=iwd>dUl-5B_YSQ|L7hVW_R&@wFcHUgU^Hu{Q#Xd*$5TkO=gCgl1L4 zW_OQGghzchu8=D#n#`loJzrmbJ(gN}HUIq_r`9qIe)p($YM+jnhCibum0WK-O(9@=_j<5?k}8312B!T$=BK3wEA&<$pZo?8OBu8m2(X(%g>Y|NA#aoNgFiz^AFWm!jPQ`+F zIHRK(ayjlBU^Tc~H-k^Wd6|3z*l0AnYLMea@9H0EpVMG$U)q2d2`fe-MLS|+@8Jg< z6gq1Pu#;pTf0%gy*4HgcRsm_?ujltzPx|L2QQh~9fiW%Y7S5gSr5qx|uTdpmLU;J- z^4Ot)*)#lvhTuAJ!r^&R;T)X(AZqZS7s1`7U#sq51>)TO{|C4 z$ACsXiSuC&Az$ffX1+#@|dVL~{BA%b1)Nz4r}4Hg&dye#h@| zN-Fq){_cAN6bWk-0$yp|Dr95il~Q(T?@Zpq<{D^|$kFn_>tom4gxYM&_Su3eN8jT6 z<~frN$;G8SrhqhJ{$_y2;cIzOgOctLPI#Z5uijPC=YXz+qvuBzWpU$MepB<0v8DD2DsOiy%%6EZ=oa#0R`l2V3 z9t37AW{xV`>u7S3Lz3PsL6d{>F z?gj-3NA(ZCNV!bJ6m)x;1WIRLu1HVZPj@r!%V=^^4>g7Lht~Usmp= ze*~Ff|Mlhk%!7W8@ME2!Pru-{sg)Ql_ov{#)&Z!q0wPqD(afh6YHLus_vQLSPG9}4 zIwr>#9+J=D4B!#PTLg*BvQqxgR>pU}T)CjecNp4eG~~$*(lrJ|-i}nMznL`u zJKlRy6*Ni}Y6LXOJE$RJblsG?vlX;{oR`e|u{YWKE?6CCUA?eeV6e=DMc}9G4{f+Nb_k72_FF9^`>f2qyd-Ejvs^mF~16MM!gzcMa zlG?(7pEq26ZYI5uK2o&2T*z|>M4RW3z5$Mh+81x%=r1lIG$O{8ar0=F8QP(wfK(F+ z&eNbgkc#D?(GH9U{XJe5BRCGXqh?VmlU2tw^SHkm!p<}mZ8Y#XL7=d7W8;S9N$~=G zL+Qf#a!y+1!pME@slJ}3>bP~@X_z^4gC850W9V*V*XtN@t)1_ZnYB1F`6Sz_lLLTO z{GVEG$kct!%rp$5FS-@RCAULvm@40ioueUZ&N_v>5`6c%=gnQeYS%(^la(2sYmFS9 zqjr+8XOg?EH}E%$gpTY-@N3E+sGYBBA2@wlI9IqSCS0b|nN=3HNR=_=pKN~&auK25 zjOw`XoL-8;UNlL(t3R9PUV2lA8``4n&6gmMB=tnO@!#Q1Y;;}r7u)pkqwaPJw@2Np z>pRW)w-$Vp^v;Y9pI>|oE%tlQTFoepsXUJQ2+p>wOKQ58Lug;Nh)SBknb?@jpl}y6 zVm~Kho))-5uC_1+p8}1JDa$sA%h{f**u){UshyPNk^@tlM~5BWZz}t)H}=l-k1l`o zRNc<07d@|FKK4ucA^qbk*s)>Li#Rm8)|mo(BQS=&CE9QKHTi`^j>$i>#i=Eg^+JqW zThDQiS)^KU9jPRGjhf|yOBtBJjo;Ovp9oU5TidntI&W3AO2O^LJ2ZM;884Mzlp#?n zM9B^MlF)DkG=fpq0YyfsAJn(77gsJ9^BI)7RJl@Vs{J|v?&mS4uiLFjM{5TEoMBmx zF^I&R5%Lvt&Ogx>CTkxkYhBz{_Vh`H^KrwK$6{w&(laxxL~5GxlsEBxHS7Y^h*7z( z7FZ3GS~qg(!tHpq_Zzpy(%=+n2;$U^ zU+IKtUdKe1YZD$N)gSyd9(h!X*g@lwY*<2s!|R6pdoAXngj4W#T5-w!Q$Md79q}== zV?A<}Rlmhdcks|%SC>)WfA`cDhKKXr*%|!?FviA{w28cSY-RPNO{v^jb3r0{eooGj zB+A?6GdGy=f4qwqR(z;vS3zv3O~@(9aGoSPNaANQ%_|@A-o^?S%4#Fd7;R8|A%?y( zf)IrET?N+`c|Y^KOhz=!fV|sdtyi_OA;3gt+Sxs(U-YsRh1Gc9A?7T!t`vi(#sX)j z*ryTV+$)J%(&8KX_G3E6%+#8jSI6M?H(LY)eoVV3$-#pz=rtP;8IGmT`un+VB#Sdx zAm|xdQK^EQiW6F2jV|w^VEjE8ySc4nDQ{T`%o%9BosLP*f@mqa^8#ND^g%g4!@exR zlW=D!J3wF_S+xU%_-pHXjNkNN$2e{ro+jS)N;)e={%Be$ow=;;s1<#7MqESqLyQ*C z(9d+Ux`IQ)60)+2Hzg``nX@rxeoEfCQH^p^gDdct6%dl8(U#Dqjn3doL#S_6$3TT0 z^Cq33lOZ!J%el%?{E*XvEfkF+Dz1dc-4#mB$@XaEquOJQ?798Q$n^Yb zPL6hyxF)M?fDY8G#YBa4biAH0yrw`?P|g9aM|L$ONj5*RQBFj9Lwj;za4U#x-FrwE zo_A(B5G%`6;BUT6q)o#icC`rP5wH60n+tZc#fe<#&|rY`mn4uXwJHy{^`f#L?3NLp z)=VsD(7Wea_$2Hokkl1$(-f03wlPDjZ(*qkQ>(p~GJ-SM)aCYGV282!H-HxH#hv0U zwb;&>ZojA)DEpM2NyDfdMZr~;ksH`6K*!q&s>YO_u_+!ohZT)U-3}fBY_$2LWOj}B z^Xu0GBbzq4n?lRS_+fAX+(%3QR&4Cv)2#RosoB0dkDs1iv-DISm)+EGSdH*iN;+N| z0=f7d8hKsT;|ayxhWE)S#8nQVFYRUN<*Xt|^K4jnY5)hr9Cni$kS)<3&?29GRjwEUtRHvmW$r}eM&0t(8DM=U zXAf~d0V^twNW=t5cCM>Atd@m*rcSmM-DOGs?w}gbFY1rhvo?u?DB63UuXXR{!%Hj% zY~G=EHF~eXcS4`Tuv_ro{TA)7t_Rh1NliCvXN?5S75}n$KDxgBE>0nRD=cW)o)Qk1 z7md$dQ}os79!ApRRRUZ5t+cvdkrcF2mgi@$s$Tt#Qw`5&tZZ&1UQ|^vpN5oP%V$Nm zl@I!qmgL&zY!Rjce+IG~NHlIbI`{C_S$cH*f zX$u=#FeBQWgQu&qp2?_jZ&gNY#Ni1Z@fK1l8YP3==!f3`ZwWd#R`i_95 zj8up%ja2GmC>q+U``&rY5V~+#nCkyv}}~mz=e{ zv@RvW&-hgjzhQBi7qzud8B!^6_OI@+KZCP}Ai%QWjFFSQN2*{>2KoRnO_s?4LIp%} z&fP^>Q`gXbOw*>)Pfu^eLxL#*vMrX=4c`E}!j;m29m4G2Kpcu-p#8pZGf5@j##kXw zisRIBz!J<``Y8j=m|yVu%J04&Mm`XfIa?iN903#u&*_{s*~R@4Pt$qL{|4B85Li&t zMD-I2zEtG-jT}E;ez!xuPxhUyq@fm)DxKg(oI4y%8&J`)(;uT9E!dyE?cHkw2|}}8 zp(Ues?-oqS!S$j=4?vZgo=AU%VN*0{c>E2L>#Ubfz&Zl5f*gj9Hz30 z9@p3QJi{@?oO7}ws80Oh#`ey~v-gucAYyKk8b_|21NwwOP`BI7LUTQWGWp(%^HdpY z==cn9bo61>@`*#tV&YSa1^ys*JK~D~kGy*HbfZ?~BV+$%;kokBcNi~Xprx+i3@eq! zbW`dG>2o==x{xNLnK99GM)df0|FBm<3_h>0}&{ChuYn@+?2UfVAQ*<{gj$V>CPrNfP?1T-6=?4us7jFXq2gQs6 z&0tBK=~Dl21MDt|o#M;SAm%%( z*+*NC zqWTx_6#N84E^(o>eQ4~_+t`)Yw>aG%_&9Qf*!u><-Z#&qCT-39X{lvpo{a}g)9S|j zzcA;bWCM|U6AV@E;34auDQD8WmF9xMzjv`e-fRg{)7`Cd@H!H>d&(n~v$~BfG8KTW0|9(4h#$+bnR5PlcxiNKO((52$tC<8n8r<6Mj7)pBAe}E zV<(cvA7pf?X_U=m(_OLWVgaN>Fq3>Pvi?omQ|oyD`#wd(`IJu>y8VkXA?BgVn?c>3 zv8MMIKT3&?K6rZv2-+~m-<~n#Gk5Ch`Rj)#y3K<+O<#BlQnTuijJxj4V76&sD?QILXJ2o%9YlB7bDn3?vb#e6P?dm2)r1ZAssCMxsj#%Z2nH z2O3Rfule1bkV8wSG-^DZYdXeMb#p0Z5mSG_rP?|rxay7Ee$C%f%k;1BxOCGjB zsqKvp%Oz$|p^PjuGR6+c84!8?+6xb;`T)(3E6YdT*s7D7=6h(odXR@F(vOIAu?y~| zKW4W0`U7eZ%)HVsJ-r63 zTOzJ1I&}@+5Lsp+km>#Z)mbn10Y+H0Q zl^ZeFKRSG4p<@I54Y0Qm8j}i!B&6Dz=0!Pnl#n{f=3XxRY{?7OS$)kMB=8kUX30(5 z!1_17Y_B75Bp=IO6Ap8dN|TzuV!&^&VDpm0N%?%H8c?He*R$Bp-a!XFtUN80<{!Cr zFT?iq=0aT%^2CBh*-F7@vzDFTt4kw3bAB1f9P6w*Jh$mt`g|eWn^uErZNp0Dy9YuS zNnN0&M{nYGmj+;Z`!m>fDTCe9-bVxxCw8t-&}UfnOUytG>8YI4g5|iJu)ewynn@yW z{1-05K|aa*U814jg9e#Ua>%1K`(f(U+IMepB`P8RE-9k>)fEI1Dn#nLW)g@JA-tdifOd-~xK#mrla3jEf)E8U(ykZ|nk3SJSLNdE8ubIP=OL^RZGue-Md4^+$LM3%h@sA_I*-L~^qz&Uoz z;Lr%k9dbl2teXDV9ND(~D0zgLOD2H5k?IAwtn%WK&)$^DR~oc+$?(9Hp<%Mv8-S%MNf;#$?w{cX#J1(%d>$T_l84T3&z?VaCnCp9BvvSr3E6;02YGAz&*B-z;^vjhuUqqc$65z8Vg*)1O&xKsj%OJAlJCK@a^#wrT+C#u>iCbn!dPeA zMA+OK7LPKVz&J{GWG^+LnxCBWVdaD`ku$nDI^71Fh9*yGk3QhG?e#>W9aw1lU8ZaM zQ-!`s`MKsUJTbjJfcKX8xKQTW4bsVKn~tWcR*K~JJokplPCD9L`A(e&s=2T5s`&G; zgMHZM4%7k04X}Cc3L?Bw&q|nL7i79*Uzaq2Po^3A%CV-#jgGPuFyNp`y!#OJ>dOn4d;Y zT2?TOyA&x6GqqLY@dg^LH%X`U+A@o(`1cF=Zi=+v(@FG?xh}=kgQH;PsqnM4A?`)Y z*jlZ}fpgHcPqAdX$g{3=W|7b4v7*Lt(y$2SI)l(_4ZiU1<2OLz<=sW+btA2mE-j%l z&=$_CGk7|(sC1Y8QIBI;lmu0?h5*r8gW9xRPX=k0Dy0VfFBp zwmLox;`Q3MjSyBK`={q;E>ep5%j@($T7cG-F%{HDtP)d^UR=yb9Jx811d9V|l~*|j zvj)EbK4rvu3wnEs1wj5B#u{Z9%Z$g!ZAmT%QTBEKe3SL|{P^}-h>8kfml<0SMfvTG z^20H=54Ri5o&i+RJEF(}>lq`5Em?>rPkGg2<^J89D6jWy91y`ap)r}08cpGXv>oqq$XoMLHwGS!&-wC?V?XTrB_l)EDlJNFBj5dbX`bA18`{s z8ygA~kNW8+g+E#R_IJ)6a#t0IN^gU;OxoNCE*%jFMB5O`2_N|nNgmmRKxqADTAp-n z&nxBdr|0zTroY~e?)yvD=<<9IsHzPQ{MjK@q$BW^tK|I3{8Fg7;s(9)m;B!){!{ZF zpwd7nOj4!|cp8O9Loy*vwF0E`ZJ>p1_0V(qZlJE>s1d(TJ?9Gm9XSPu-i%CefF z^cS}qU^Yxu)hsUrc1251(buF*L#Eh?@0DR1_m|iQO#aCR2TdMIHAA|B>;yq|eY8O5 z^8d_wm`H;YMIJ`Eq<#}(LZTgUmbOk)*E@CU@1p&^^6xaIM0QwF7}5sWgg8n8_3~c_ zVUDJ}d1-gL@-Le|#bCL@_Ig%DufR0Hw|&1u)w0KJ?y-Vj-9>UzJ4(SaY+Xl?=XI&lafI$VfcQu&L!?6asd&!V5d5|@pOizy|Ua2Z3! zM$7-CXzPD(Ef3{_oc@qI19P}s&e)t=N`Hk#_WG2!);gS4a@YB zvfg3lN*4dfMRZ~OLs=iMCAdfU_F|#MU%lJWN10eqPtKXReo#z4qMC4TM8aHz9>yUL zXE-T0mOWGp4j5GxUI9tlXQopnvXrBT@nAK{W$W3$F$H;^Unpb(g~DNR*M7qp#bdm+fpO$N2se0!)Y2PMJRrifp%~GOqR`RwWyJ%=UvFmU zb^fE4M{((+FC^>E$p6)WVgKCm_Wd*Ez%PFp>i;%q{8L~3pCW(h^1skncsE>3Iz$+J zdcjwWY)4dVOV8fG)|Cv;q9+?YuGMa^|6!w;(smoaQ-M{5vu6lW8>Z1&Cq;9lxDWQu zM-;QK?!^y6diCeGOWvP(IeN|F?}Po{{akPNf#pN=iT3r4%k%Miv~I5?wB_LvPITbz znqhpdVcC0naIkhem7bTf=DfF@a>YYH_Y^`uckTQ&=w+9`NI`M*benzS^<8sdNs&4# zB~D?6&!G?NoPNB?m>$1gcrotFh`EoL^BO$M{?Exm>`$qWhmL7E+uF@SWw|Ksrv)2$ zGpT#Vuesu%dAHKyy^bDw^QEF@FBGb<8hGo;-%C zrk0vMub(+jT9BDu$sC})TR@hSB38v$e$?#OYlH{o(o>I8W(LvY;6{U#Wg^OT9kO%A zjUs7aHxST_z<^)2i=FF=I-ARLat!f%?|7iBUsK7hOSssf!H>@dYt&vQ5^FIx$p!Ad zS2#pSlCdl64l$PF5MW+%;Hx_yt8g}|}bYWYT{=htmqUcoeonbH}PTS{Zr z0sG~8LE=i~0<@*>)hi~Yb+nNw{S zqS{jMgmKZU2RUSYs48Ix?gAF^Vfwbn~`>#J!yCOV& zD-3I**Xvdi;s}zy1T4X;y$6=@OB@TZH;ae@FK2I=D%7HDKOt0kq$F|3*SwmCc61Qw z_JyF$!D|}a&c>(d9X2I~z;)YQ-|UsAVB}-eMaNZKNLforRinl26d~l@s|tcU_i31QZlY{P$zh2k0IEiUNr{$D%C2oeR2w^5D? zyb-4bztYhRglcXX=7q~L-iU8w36$0H0J5<(H{v9s1N;8vlaSB7X;PoU1}T+(5DfM_ zF%+vXjxDHkm|vVuBHqj$dp(~dfh}#5GW{^hDxaBKIyJ`atRJ(zGdSXx++#oE4*7T~ zkL11Jv>XuXl%#)nmPJXx>lmOfR}t6go2q{0&jcs2N6mru!&h!2>wD!!OWSKk;D%sv zwcSh?L{VJMCAx2WE>%L5Q}N!)tblpe@wO;#IJAGIIHRONt`eW0V8cZeRpIrIqfu|F z&J4~^=turAWpQ-ESl^dZzhb!qo25x>O_@;~F1PULZbL2kL=HhY`NZ1j=Iaejeq_;3P;h8*%g_6}U_~R93KM z6|$1S_8XWo$U3Qg-Zy{bBlNSur)|DoVeW4866h;&f^pWja$?F~jdb^vcUashc&edO z>;MyzWnsg7=a>e;Tp|wNZ%355+E-^G>tC5H77qDKg6}Eq1%(OPMy30KAT%ai4%Ge# zKN&k?9%#(>ESPYzpXYRPdqsX935E8WoqWu+#2`K!|-a!7HGPq4PC`m*D0nv-Mw(2M>N zod|aJYW7EeEy~=;N8L$s2oTx*va2RSLlSs?{=?@jZJ&=v?78%$1tW#6)Uwl7N8gj^ zP++Hny3RpWfI^9D(?AaZ_TL#S@2jKw!b?e1;(x8LW20gPs zq^}3rgk}3mvGR;<6*AGV_JE9rcjoU}WLATyc)vW6sx?$PgTbk_ zV}58UY4rRCxb76QDN>udU+>8D6)UMz!Ce%iB?rQ9CSY7j=k|QEP*2hMY4!k!h3uVZ zS)VuOC`=XBC`Ru1~hk863iZrU)xURj498Gc{x zyW<$F?FhSOyc+=zNy5fXnm9R?uLQ{yH3fk*8Lu?6OrI8QIx6O^hUO6MT2O*+lWpZG zC42MM@tMS|qAkY?qQH2nGunANfN;Th!@qaiLgdsL(1Yk@%>-fd?Ft1ZWnd;x59P}A zx>OYd-F+umJC8TMy6FFAsBK~q1w;0#g!7K ze#oA@9I$}`LK8LOn-4`Br)$mN@Gw0lt$;z)ZtBj5L+4@)1jeXCB))pGsb29A>#|wn< zrr~7w5Q(mj_61M$Z`MlE-=rJ2=&_(JPF}2+US3k>{x;P+6<;#DYL*}Gd%X=VyBtUDNUl5=mwy_NpI^w7%`CIj;?WNq) z&x!_hNHDrfZ%9Yojn_qsY`TQ#!%|%9$Q(kw5+-spsBx_$KOKfbL z?BMIXi8Ya{-2uMbtr&r}m&NTbtD<4xo+8U;(8dmOXe2HMU&Ku1tTPhEggAb*Lh4DQ(cfL9zJLgpl+O>eHW56!+7mJ0QMahW zPv5e+UoWf#a`9vt^)D}lswYhN6WpBKB3k9VsT{Z0L4n5M)z5a0f?qG7i*4j`SdFSyK`B!$kN49F2N!pI zol-MBdT;MIS8L{a79$UphqRd3`J>XHMKh`O z>j-CQM)sU6T%n7v@6G5BnCg0J%WT&F257GJ$Qa03i`n_G5cc!_tY7{cL*_n8as4Hy z2b0&b0+}8-b)w|cDy!MiA0K!D&fR&yDEj!r*6%~gEFZei9iGblch8ki5YYET`4Tw|NCR7 z5%9B$i$^r+oHDHLY@rV^-jbqGObQJp_-KIch3dW;r?INd?pIl(L{Lcmq1WY<+Jcgq zThnNQUw^zd8mPNI_p8_0xbz%p=*msLf|}tj`=n(02bLEsi{wzg`XJH$N?BQ|m)UYA zw1Y@UL;Cuxe&U_aFqu0t4rV)15R#Ci`m*E9;~>$8(jOyNR5a8wJYL;(v~S0xyh{rx z%a^XBj<3grW!W2Qci$mxe|BA{tKP(6gnEiJCotc z;rq~Kcn+R0)>^7Qr;ME`S|VjmM39m#RA1SBlD&Uro*iYF=Ig_vEDCKDEnYb=tK6i< z(k6hj8I~ns_w5D0QUV2;p(8;tgMlyYik9YvNBg>MW$s| zEmqyzr?eMy-7V&<@&$CzbT_`ei6L#RxDwC;vYEN3fIiIGkU>vioZkpQr=^`J#7TP# zUt)cj>MOTs?E&LEys4k2#kG7AXr=xrIF+!WYYr=P($VrgN#omY?Ml`E!QtdxOK?jxuxe zHSBdaENp_-)fPMVm=z58`M={-@9K~i6Oyfg_h|oy{5MMfhphj5AI%=m?h~9oSfv+5 zU^9n7ttB=kik=R$EmA&{X9f)yV|gFVnvjR77vWV_<$s$Vp*+9a?aKKmolu>+8DyV& zy5dNM_3A8&BnNXGRY5h{#XUk<@|C=-yyH~jWlm!CJ1r{C3|#WvG@!mW>GI@Ws5V7Q zWs7?+R#`&zPU=0DcApP&D;L-*7BZ>~w;mhz7ME#^Yz8?ruMwQGTsSB{jYm#UJt<|( z#d-&|`Zfoz8FpN4s`nOSVGD@V&^iaMfrf$jG^rme74OuxfJ}P^nk)_klyRonOutU< zIkk3Y*W=gVele!N=VkA>UnsN7Qsn(vVWy*qRDyw&_>{iPa9C9xc7Wbnca>U^#1&Ue z%wH@jzFESxU@~p$YRn0m+LKiE1FtRSy7j&R)KX3CGUZ1M8{lciI-&N+j>HRrM1u2X1ky zQ9aj9QHg3lc3?kx#4^e=g2{8}$*5FzpOpYD2vHYQW<^|@^)NnZt)1plR_P7=1}KkS zMK@9|vtDeTyR6dLnGb^n^~{vmfioBExPEox-U>OS6!dCAlI}pY0+?kD8*0bUA6iJ2 z5(cb%K84aN)s}H`Lqn2ULhYte)#Q)G= z|BHlAP7L~5{IqT@;@^<(sT+}1qpF!U{g8@kCec=1pkcVTEv^G4Cm-KCA)+a?44y^q zpnJ6f-3Kx1F4}brLA}@nxCK1yst+AnfWA-AZKls_80e(uhQ26%kQB4FTx+9d(vd$b zGPYeWFBUm0Ph~AF#BPRNk0-sIVGN9vfLCltH>We}$5TJeh$xI#VZ>>?&Ltw-+(Q?f zq;Bn&FuFr8-N*@Z%zSSkTdxsLXy{y`buLPONi{njRaB2|@r+uYCQrB84UK2u!MxfP zzS~($=t)-O{K9opdT>+omk#0!Tu zBug`CWgnL-KBf%+SiTy5wX16Zq?2WDmOVE*_1MGm>P(O95t1TZHDx>M@M`Mef?p|I z?R(7093`1KuwD+@W(IUm4I>kwM9#pD4qAoGd;{dvExSdi=hc^f0}R@%p13iOW6g&& zC(;EH8hQs39c6lW^Sgp#2WZjkJG@s$TNg3DG5rH!+t=S~o?7@(^tSq?wWIp+OlF&f z^@6HkD}}F|3c-bfq+(-dEY-R+i73kKlQK2;y)fpA zR}00_!ry|uVz(GoInorg3F_M(5G`Lpt3{r&M+D4SoGR7L3#D|=c59pTmKaJYnn9aPwNUPO6F^IPS7Rkro#DOE=K=>0zg_b4 zCUCx3sQrGY&!9U3b49a+Nf5s1N)V87-%w+CMEqUGf}_G1VQT3rP~&~ydp;)k3(gc+A2H^4Yf8lfgE7E>t+xxd`cN-pRPoek&&Jya^0-knO{rsg1p!a+i78YWE zNj~zxNh?%bdS0eS968LT+k|KL)DH5X@$o!@ARMfb2CtQea^pN0uBax5xm$CZVWm=~ z`C?cIP=i~}tb(EV9R2Ml0Z+Z#7j{)rp-lVh_p2*nygKEBPux6r>_pe%yi=sj4U${)x95S;eA#mjlWb`5i!my_nf!3tRQC3_vIJ?;@C=?E%3syXSDSylNayx96QxUZuL{8$+ZZUjWypXF~R-x1A zCxnbJi$@PMS&cGcFyk-!TlYVgQztGsg~wPvAqmc%+;ptt4*qcWZ6PgFcX5ecbaQm~ zL!EtX5T&Tf@`p!nVw^JPxwtxK)fAsCxnxJr`&Z(u!rV8D@p9S19I8|nohMa`=t7~f zP;q5)Ok3Ve1=cQpo$I(&O`vN~G*Fs}av8;NIbi6IxMVM1OaZFfS$;rFWl82;*+h}Q z821m(nB7F%gk>`);5ELfZW!kDL+#`vOZPvBb+zk%G2-u(4me1{2XzPe6m;T z)xFxX#!wn7zd)Fox>n@9sJv?Z3VseOym(RB_V)7@iG;Y*Y8ioP<{5Ziz~0k&jlBy! z493KsaNiX7R^(dQ%d5T|;KplONy*aW_vk^%9+$@rn%T}q+h;v9QU+N~V%3CMOuO%| zJ*xV2A5yYXrFhQkAQ9PyyJF7dh$~Y+tCW`r-YtTX{LmojdC_as7)xfW4vjq9b%%OC z=$)DtGGW6xrt2HPaUpexuNN6r7{^nn*xK;e1mh|i)Il}b6h_rt?obNg}hEDW{|uG%mcT0nm> zP%#0sfIF%x+c6~YdYIMGtQM$ygWLy!N#Swjr}eRQC*^vd;4PNri(@hrlfX6oO3Yb5 zv}EA%hBe8kb(UuB$w5xv<+l5bnh}2t?uxLe%Ym=hRBFw(NaeN3`wxe9o0WG`nswiq zBLwG8sD31}YU2rYi0k3M{ywU-P!K1rr$KCH^4?dQFcowmt-=-whZ;>CtEOXJl0@xT$*)7pgcDW`7DDE{DXq4+mE!gs- zy}xLI;-XK_+RtE=5uk*iG43O*3%?|kFgj$ck=65IMC{^0h}hfBpZWGaHax1u72in5 zD-UMM^j**(&DBhZTeU|+;W6{Kif73Wz%ENaZ;#le~GyO{U#kd7cH27XtZBtym`Fj^e|g{!c8uR`i?bIxS)qwlf%o-#MYRb zlni#phZ=&sU(`1*nl3pmUo?anf=y-hyp|dVhK$WeRG((ee2UZ=(B5 zdMuf9|MM7w?g!DazXG9D46jhYb7gkkL8;IuHXINF)al^CY4BjiKWfY0*Y%HoxA#tx1Hp8y{ZS>r#_~**Q7c&0%-sS=mYuFH(|NU6g2e_%+WPGHu z9kX?-B6RTRBmTNqS%951dXzPW>NG+gGz`9SpKgYE&Xq`Rh-H$8lWb)~F*JJDsCU97 zKEqgd)ORtsF!;EZrE`dwO}d3!P|iRqgS}cpoUnk)b~P(&4+*IrHoOttE;&o(#w=x< zUIteMZHJBM6Di~g?lO*D3AovIY5aM0s9es1OtOv#8OxLE(sgkAl|ihTeEG7^wu&|9 zHM@3wHWOpJ$YiQ2hSzGhw?d9(kqM4c>UX)X{N-0m^!9Txr zTD2iQal4o~5)zTbUM-2Zkv% z$8i*U$*pXY8RNIhP*6aX`7bS{;}EfEb<8Eh_{hAG;FK3Xf65Orj)NGgMlq4mnUanKo-C3W0Kd1V*)VwIYT64%5H4Gasp}* ztx>W|B?G)!)6Dw9;A1S(c1+ZqSoJ-%l1yJ}+I1WwN1i{aT|kDoJ*X>G5GPI^|DI+n z$*MGt)c0caryk|9U5ay#*zNrG5y@l6Y0o@Ku44yjkCH5(>fhpFlVoS*sKm|70hBcA zjV03J2z}VCvTs3jH?c>EylPBcI{jYGwRHJrI%ycI@9|}+kKQGzk5*;wNE+=rwWAHt z!ZffVTz?YVEn`K7uWr5PCY0!C6PjXqu}iTlqsb6)L!@CMe&de-5q~9u&2tLgOp5T8 zzND&zwl#FrnhVYvdkaaxxx4E8AWm^$*3M@cECy+_T|z2{t_Y)g1Ti;`J4CO70Lo8SHMCpht1RbqC7^;ogke5laP$t* zbb3}>mQzN6n_4fhxyyd;e(jjwWCRT^Sq54;%D)YPfXE{mu*<5MI+pfK9_(TrqP6X; zw0u$0&9^@BY59RX{!lMrUSRp^7d&L_r21vMb2fbJ!Ne6-mh9#tw)69 zCdwC6zX6`3yH-HmXk5gZX1(SnP|gSppEG4)QNzqRGfCO;bELzmj~Y1QXPx|KwPip3 z`EYz5*-LyMT8<+@(XfExD01o#*d?X68J*<2!}51`>4o3BaPaSE4ezwoF0`xe#h)=? zi6TmQUmvZQY&>TAC?bFu*YZOPRc}b;gnYkU*GH@Wi@ooTYcg5?#e$8sAVj2zQbZDg zr8fZ!y&94bAQYvDgdUo7MMXdXDFNw9Cn1RhLKRp+S`ZKjAfZXG0i_Cv-l*U?cinT& z?)laG`P}>whWDLJd1mIBdD?fpDKcKL76f-gj4&}Z-3zBEuM6P^SJ+I+mNMTLV`12AW9zXmveGt@&CRc@iUd zBmpLNZ{m_mND*MBc+DQ`Usp5@Q@2oLjkpumIA%0(kFF*rC+N74Qx0l%BA=4PpT!3SoGOw|a~nUs0g;+?i_LGfaA8DukVnMIS9QFetNglBnqlUrd(+ zQo|sl-?H>s_Z-!ZYjZnZW=y!DmnMJGxI; z7%o$}44n-f7Sbv-VHF@=b<*=l=x|YZTesuEt8~rbt~>1~oZk+)rg?GBIh0MR{>nG>t_^aH?jrZb;R8=o4pgBmHp<7wPKA7{q zbNO64fr1VxN*AiLk}KTQy}b+@iItU%OrS@gD+#gKMIuQ}sqW@3 z7d(S~vy?Aa3V3Ezm=3v>nchsgK$1B)u0B4ms;aJhplg;?s`|1W;engb>T_g-N*+zr z-crS2G)8<)Ce%4oBduUFI9QDhz^q3;ceyS?L9yx$nG1}ti7?S9A<#o9%8-+Crofdh z4UBtmTJHT1N?~dlvxb!x+&Tr7g_!H+J*38oaoOttmKot1B}vA4>{Yu3YkR(6IdACu z5q_u>JLpOB%nO&$n5XBA99Cxmq~ckaj9`{k@@hlz{0>wkel zJ+%(jm3-U+*xMGN(T{WEdIVEd)jL;hT-Rv^%I7{ZL4kHRQ#@KSbD;hs6C1gV{BKZtuHZ3Qk8Got<4EAZ53jJpK|>p}Ylv z^f@cEh;R|CiX#{8S}5TOlWwmRA4Uz5J=)a77O0lZez_6pqq@M>#*{Vu0Q+R}n&ZgvsG$vF8 zXB%Ze9}X_o%W+@^i5Q#12#@GK=Q6|oo5Rt-ut~m|K&KU}{*X}8b1X5UMvzqn*1+r% zery-3I4Qo4sjXjd$w^8FXY=9m(%QjKefN&OezymEl+x8+jI@2V;v+SMgIRUqRiLxL z>)?Q*k!!t@m8oqA0S}P<4NSCRM+?Fw6-T?_M(oj91A*a(a{F!R2J$1p8U2FPizsK` zeNCATh9(c19D<3dGJNeq2Ez(@Mv8^*rh! zvJ;Id8Ie==Pj4=_#C4#jHY!K}r3Igj>6tU3%`cmo_&r~H>#UcQ)^ilyny$zR6RWl^j{2|g~414AK|?}COs{Tech`w<12tqy9%=y$?7eG{YLhl z7?krIwZxF5-H1=fA5@ysckPpMdQ#YBk>Ky=;nL4sK=G^1F^@|)K-gCR8jAJ zL>ZwI%7o4nGVS^*Gh8phrtt@jD+6_}MoX&%xW!HcB(U`65u~T* z-Dz-Lb#85LNxRyIPaYP9*2#6^gXGIb^ery1mmCIMCseEZZpg!kbD2Hdf;US0w;tmiYo2Y^YnDb&8WfQyfFO9xf{gZkq-fcs&e8`F zRez$kPjnMtqJJ}Aml_>PI&b{;i7J^6oumU4l`%Vfysi$c;2;F0P60)hz3iS+aTyUt z(_?)o2Wj1uq8br4g~OAo^|EZ2_AxH0+s$_Qp?eN#4oDVAv#&|TTqcK5vB7lDjBYZ8 zin=~Umz3RrX);^v*Q=nNZ7w#=k`aEz{&5j-46owx8#MZ5g^SrUH@`64QEq&E zVD0ss=DO4J;U$IR0f@@IxBvBnqv3OQoSERm^d0UdHdDgoSakW(F=R|!d>aDL2rw!B76Sn(mLuyT_lHeh!wq2E>+$culoftG; z>3!X7X1i7GO&$Z-Z%rpIG)~G4@bS5QSRH2D-?rVk+!Ei~9(>Oiq^f>l zcxggXCh4TujP-7OVL;~E{aJecG1<92DZHMBsVekx`DU(J>!Phy?YHX5j*k8z$z$1$ z#{-e~<(tT^D*;`{m@fPin*BdQ+H*kO1k*<-noJ5FNrJ44vMBH9=tsuV4qaKPJ?nRt zb!BGiq0`k&1Yy019*?5;S$4o80`SyK0Sl ze$w58hp1;$YzWD;2MMCRds(chFlSb{Rkr!T+EXQ89eu^}+_!?GKS)i)H8}=N$^&(c zxj~$gA*HRI?b7kGdLFY}H)gJPfNYja{eIHnQ-xu74Pk?4;>wZ1?dqK81{@POj~R=wu*-k&iFV6c4wX3c-^Rbv^Z3Wd`{*8pHP+9g*nvkRZdiE~R6*hZ%|#?k z!Z52F|ApZ;erY+ouc#`~qeB~8M0@6Ryo?Z?cQa#1u>~cEA=JabCS7_L0J)Wx?CwsF zeN{DjuQ!B)@02Dv7eC*g=;{}1McE!haC(jNDr=0qE$=oX?w z*`mcrUA?3k_m>B7g!>6+dqkMEs#dOLG}K* zedI?jB{qy*#mM>*QC9eNVi&gzMD^3b&noxa2Xxuq3$7pknt2!6k80(u<8hqtS+5(F zuGtc%PWI{@flbtwdLA^Hj{f|}ecoL!2hM-1MkZT-!Jxm0vPf>S2@>Lud`L&|!3NaL z^7#HT=q$}y99l?4TB|xGFyg4Z*|#7ods z*tWH_H~ZzD3FP}LQst?=SpMMY3!40;tz?H`dW4=JB^aGH=1)Gl5`QfxD9yVxShgh6 znCCggsWU#MIl{xdNvmy9X?*|2Z|&d8-}Mm7n-dqunwwW9)u;8i^9`k(9mo%TmtdJu z>T2$ebcMU<9S2`Q=;z!#U8YY4@%2l4OQhsDmVlDa26VJ^x7$@nOAiRU!=^bf1;A?# zNph3*9U^;|-y0yFWoHGQI~`$!;BqaXgWqWM^YXf=?AG>zR8(tEav6gV^N zVI6Pv9woGmrF*NDbvU3A6WXok5cL)~g6mi&*0Hu{AUTg0n>^5~&`IH#)0j_~jy09@ z?&RvPZ>b537}lCG+0gPS_ZmeCjj9*8)`>s-Ejayv5bk|v=M}DB8~BB-T}d3>>HmVP z_qx0|8l|LEq6JLAh+eHP3~zhN_w#Dm6cL{6ZP zjmT>!v&|2MY>d3zbqrMv{Ah({EV^oo8O~o}`UlU3R6J>?9L*c5bRJ~U0eHml*CeCDB zb`0H8%kgN^$LjE~^E1`xNmPf4GZ==%4ydZCg5oOC0F+|Ps|k=vJ&7wkyu~cunHey9 zpNvO2xngJ5H^kTx9YV-yWSn(YUa&{7YM5DHdtXVmc#l;=Q|!AJw_;8~-qc6xQa!>~ zd%-^WL95M_`K+gyDhg;av|X$vV0>}Jfn-{N>=8ZUSMtElI+@MAB zTu&X($xyW~KEZF8&RZ#tuOYDNyh9TOvw7i6r^$zLg+N{;SpPkLhXLfRA)vBrdUi$8CLIMP7{%csx-)8&bx@AMb>zvtbJ4y3y{ah-B6Hy}(}jNWaHzxe$Hdv{>e+BxO!n+e;A z?RB=xWRyZ%X!ov<)9N{u;~em?Rg$qHZ(t~EDdIdDH=sAaC7SGN{k@D|W(KkG?*~0} zS>$)P!}k}vQdGNK0|Z;2rQ81BtN5>!eyHQGt_{I&j<8%w^iAZju$i#I>sZpSts*J0kq#Bc(@2l3Vpjn@M z>&KaK_ZMa7ymc<%tOheV?OwcXl`i&Pb*sJ53+xw_?(^>$aKPpbboCE@oEm+LTHvY& z^(Uy*T+hYUT|LZjd86FWP+e`~2?7G*`Zx?vSEM;Hx2i2+&UT_I9dfK&%V!i|_ytuY z-rp1kXro(8w1iTaQs;)TAfp1(0PsDWH+qh8y;@ZvI z-(CRlih6@vY{_=kIM*4^wW$}Q7k4(ACX)fm{6fci!-=ZLN+lb!`$61f>y#MyUQ94er#>Fe)LiXQ|*&>?nles7Kh3+f<#)wAry!P?GkGbJJ5i2z=nt4300h^JJ0b5DUmY$NalXk z{S(?L&6;+VsxS<}0{~#fo2)`%jjQ@BPjL1e6qK}#l&9GX6*!&^Sk^TCTmQIMVM z^9sVARO>h$4GeKI&{T*~6tOZg2`9S^&qflGyY^Ougbvf2`D9djF`V;Kw!^^j6+l(_ zikT+Lzn2~7s1(nga~RDJiNmp&3s4HC;Qg~*s}(WxQUH;J z&8A#{=R3=$WW03%4Ge#HE#Q_Yj}9Hhj*h`&*Dba@pBCH>Ha6OrX-3zO5M&T=&9^}+ zG+6AoGzn*qDpf(cx}i}Rj95xf%?03#1haGA zltJVfXvE)L#KRTNjX`UCx>JZ9Z>MM8Wk%Z;V~Txx@-bn#>*fU1S!P*Y!jUTZ8M}D) zuCAHoNd53O&A0)lvNUD$DL2xRNniV+-n}Iik7NX|woW*9eo2>-;;?`TgIkPfr1uX z;)ovV1ASv3zG-j%u7aztN%|3^x&pMq% z!#Ehm}))#$qkoDz$f7+PQ$>PdD(NN-$#`v;gpYA$t`HnT9Z2L9ePJYH1`R^h@^N~_89}EFw>dEg` zUiC+Bika{?xsp zfk9r&b8zW=-IPi!cxx5)Rs{vbj3x!`65iR+W9=~4vK<~%bQ;a0E8qG?m8qiW;c96? z(Tm$fTqGXquX<2nS1nZ))jZ`}oV0|P-rWe=sX<-z**w*`#W|DdG;ZfL*LMELpzamZ z>fj~J&4idTLHCto=}nwovWD57#i#I|3Kv*O^dAsYlzN#N{sVQKPuSj1PJA0LLNBk7 z;eP%jLFv{;qn?|Q3x<>^MN?opB9*9lPl1<2Vt zcLa`UhTE~UZ#+U>T|mnETocE{Dga=#Y<|*>Yl2`KG-~9<@X z4RS0AF1fjhe}xtN#3}wjJ#CQfsH*czu1T5Ipwy{HR)~A5BcXKwlx9=*{6^Y7WvI#L zU$Pd?FJ2`wI_b)IQ9g=oWW?wWtSJ2w@KvL{oy;BU^zzrg%Y!jyFx*MXNe&D_-Zjj` z=~!1a#!umn_lk(gJCY*2aRHS(49lkH z82i-uEBFO3_qNA+xT9V^Cxks?ClOaO62}bXT58f)Q7P`15z395u{^W88_p(G%=n$$ z0`Cx!t_t5tqU0S4(d zzlQce&r}YwJNQcqr(^MXd2Z3?grbtP!gb0}Yf`x(Dd^c}TUu1#@YJ|+GowZ?7BXoL~3uWUk}atNyxosF59 zp7OAWM2+FxJikZonEnheZ*sb*?cP;|fy3inp_hqeMKMn1Yjm_&vsh0=DzIPf*UA8Q z@^vlIkEr$`ta6Kf!g7_d)m+!3*XBlQEiuNn5fYGE>(;l_WnW2^Y3cf@gt<_3>LuSV z3{RBjdZ)R9=m25A2KE+q*xyxl+f*KD+bp+OQ|d}n3Di@16miLSBk*%eYE+|W;L`rB zB*n9(Jb#qw=fcv&o4CMA#^!HFtzfNg@dqe+9@Veu97|2jBDjm> zWXIXKnUuN}8+AdEp5!MZ$+w<;s%kr|tC*UdYN-7S=}nbP0V)ESjsXgdZd`fmvZ`;J zqV({>=y@bTGr9ib5KHW{L;8Vw{kLw!{Vq&XK@b%Y|!kwF7I(V?p zRL;=OM0A?*@|yM=eJD6(F7R)%B=ibkBCHk}H)=jD15U@ka)4LPgkXcy{WY*}Rp>5Y zDoy62xo4hXa>5WEFW=}CNFkFry};$_4h3u?>T+(6<}wOmTN&Pj+JxawN5c{bmX&xE zuiUS>VadOy3CY*}kft6+|9;OI-m@gjFjKn%ZK12nSuSXl=+pdcZlfG6+&}l!%Y6HX z(Z6%k;^crb=|da?V2%FB>gzir2Kd)U;q-Ux*LMB?>_1bc@6S>O;>$%1vw=3y=rN2g zK{-Qt6*KEc1b34N@5tthZ30XJ_7*Q=E5}o{zKiAT%kJXDH8a1*uf>;7|B=WJ5S8rgrXr_>Flm|>-jqePzMhZ)Ugx4i#PJx!{l@kAaSk7@^#Cu=!KY)BQjRH<7RDmS#7jKSmud_M-auxy`)cU0sLurv?2tWX?X*0Z}7 zWtv3I%S-MjL4@PZm&tuBITWGCb+p2);5_w4P8}XN|poTgEGL-Zk@?HM8nb* z1>a?J*QY=DK5l18o&I`Yu%2nQUb9!`%l31KiM=FZ4O6KVu^N| zPI2snU$Njr&ub$19n>pmZZlF2iUdJX*|!?h<&e z)HG+$)UH?UmvV)DE)U!cYcu8>s&qt5XWg-2g3UwKXpIyq)SRh-`~HL!{%V81W5K1v z64O=@_>@O?X2Pc0nZX=%=@*mS4+!XdDlR4Sna({M>%K6=jBm+oMg$%`>7y94+TO-U z_aFP6HKA$clnb4z`)*)LT0A2Aqhs9C0ttz9X3(*DWxZ9wKny(3G4u{Ej0kI%d}?|pWxYf@sl z`=V+5*PNY5cb7Zs$qXLXH;Ncg|FK)(b}{N#L%g~cx%4hU7AONNeh*mgnDo525%so> zz90Q#wS1d13=Fo0J7P=M&ROm2WTLx(&3-==N$PAT_NaV+v7-*t7O;(|@y1E&B^YpYr<2>P7nmj-)RP z4qq6?Ea{hWEmkFMH7GxLq!@L zGoOwB_v2Etf5K%~*MpfiyPD`X_WcJwdjU#Yxo1AkUBC`2K=Hf=(B{`Ky8X?LSh7kA3^iZc;;D-%$Ee_}>IJrk^J9Ha_pONnS=>T%uOLg5sCtx9RX{ws`a%$D0C(YC116_}%}F0{;61z@E^^kV47GJt&}NB-roqk z@irYoWQ@`cQ2%OKgfkgtDgu+A$r%z#Dh2wT+q!l>sAM~NeWy&ia%CrpN~j3Rsfq0V zs)N~1a%DTc%X^=(a+|QjQNVsIZB+?IQI&m_eOz;!4;;_B_QGbZ<74%Ep60eurv4+9 z5ZxBGg#z6Gu(C-IUBt*(d9*RZ(JdcFOq89-&Gw6Q*P7!iNg(qQtOQ?gSo}gnY z;`mzidf?{|sdxUU#J}4DqnZ~27wMN*j4JLmAWpmGWjg9s7G3RZ?d@uoS2V@7GK;OI zDrYKI9JOEdeslAAD~f*IlJ_g;@Fm$->h)&s^6c%C?BinK9+qKYg&oEt^s2BEG&w@O+>!1bbeq&Mhy_o)cz$uQnqP=199d36hW&?_PNxG7st< z?!GG0O1ab7S%c+r>L2DP?d|g+y`6Kp+(WNh-ec2B^@q;#4&w3EHGs^x%o{nzqppwu zh(9A;8FT4MKXfQ|=;BU~PSABW+pqWRR)w3JU({#v0 zWESR@5#jp@G>&ZNzhoVe zx7eW1H+d3huW|NLtA`Nvv?=a0gF!_e;n zp^fx^Xy|)&FfZ?Eo}eS>_9-Yp2tBZIgnIFK&XKNdG;IV(L<>GuNw zHM0A1!{m5C@843_Ia&`So6aW%x#%6jyl5=w$2hkmwSe*_6>ifrTm(On^ngWKlhC5^ z7@rU<8Y!r`Se3PVjHbb@cmY^YPitkyhNqNZ%_1813e%_RXpTj(q(SBOu`c8f=EEP6 zeAmy@D`vNLmxB)xVOsQ9RfD{rLWDPWDw<5>oGL`rc`sJmno510YMnW~9A^yoWzGks z+8FaWZJrx%?XGRdwb=$G_?%jItElocHHZ`r7DAMTw_{;_#!k)2Sq`B)AwZz0jaZOSx=M!c@eeopjd+PK%O1(?Zi0-hB z9b0tczdrXpJmTE(D=Esy~bzN=1 z1=i@ET0X96uEI)0ut#H-PVe-Cr`R;^r@`tv%aXfJ{!PSi7=3{X? zl8r0sr}N%6loyWStM|fxm-f^}E$Ky%%hb-PzsXAl^mkW<9@ZAZAmwjwbu8@Pfn2Pw! z_DbLW2j}NK@(4xAczJB_#mI))6>5A_N2fKDu z1OoOud-PXw??%t`GEyHzQL5C`DnQ>1&Bw#{@F^^DP`cxKdhl-XwrY_sWc% zjg3PylhE6ZcrioSB(yz?4Q{w01%>S~@Dag2{GjA>MM`B%HN|-_0E32k@V6l)7O@;p6JXt7`4KlGbqnye&kA@V&Ln}TO!Mm4lDGV z3U%LAbSPy=EO0ZKoo80phj0tj5338PT47JzG#|*W?4Jt38Dax+c)u_N0QiH481Ze4 z0P#wrrVNNubT#h2$SJ|#4($BCh4 z(^o4`#0#5x5&E_rB>(2OqUWqZp9OnFuNueA$2QHSII;=G+zQ=eiBfEOjn_Q6Y%0n+ z{PNaPIsoHdC#CBkj4uj&L{LF4|vNTLJ%uzP)H zEB{yp(OUQ^vh335LY3{r^KGY{LpzRO|5D@jH|>cVH!Jo=aUXVGa+)(ct3*@Mju%KW zrTAon0RV_l@0FZwFVe|!-m7(P5xx!!QS|u6^8MvfbT_O%U6@XK_N|q6eYTR%%_H?5 z2vb-`1{7g;CO>ZSMyga^PJ~9EV^kO}`i7VbZDZJFyk3PcKqH#YUF|T% zW;`3{HpxoW=%3J73Ft$f3`;pH?FpeHxaM|x0M3U2EA_ooPfmov!e3{p_|&gfGQ*yy zj|%GygSAU4q=X0U9Z2Fj4G1j4_y`Tm+-A>3QMX|edO(n7OA7rkVksV)nmUf<%O5B?B%U>i_{Ca#*mfpvngtKi*(^IgN?*7 zf87C*HWlArV+7 zN8YM4Bw=t?)CQmp0&Pl<6?z>Ix0TB2`zc=7jMUTTtB};)R}Jctd8pLwy%)MrKWWQJ z@!6~-QP(c?2{+jE4nMadzWfDFoo$iwum(sq>&0YvA-fzDjF5bZrRscLY!SYP?ld$~Ju8O7ilw4H6u_c#6owY* z7)f}Rb+mB2oSAhh{$0I*?x_!G$NRF54Xrp;^8;hGQ2_7c1i=^7X_4jjj-Enaz1}3y zFp8IGh9*l*<(4_Qlx{pGsOR8fufjX8*2Knky;iF_z|pN%*K3GPr0DRW0TONVkl8kF zeml~H>wwvolJ2IG`O8(!2JJv&981MLC~W9ta*o$8o_Ua&8M$X}l@X;4z$}HQcV0(2 zJu9R+CHE`aFngNKcU8!m<#Vh)ya$(8g0P}q<*qgG8>I7%`kLb0;D_>Jq2}i>4_m`> zZ8fu|OuIoqn4p5vo6 zxr>OR+VfFv_jF{kp}p^(B#IIqRqH!Ae&`+WdOzz^Sv~(~*=-f^h+s1~^YO#SA&AO! z(d2JVn{xqBTcKa{t-~gvbQVm9qU3W4OK2|T6@d$-mh7z&;>$YZ1TT0 znlSt$8vtGL_n+uOt0^K)MovmCIg(m*Y#v7J_1M-upLMI{8X<;8ZA`jjtK3Nt*;9@BvZo_?U$xoVlE*zLD$BVvNr%39|d_Nr= zd3!yA*{HrQB&0vAQ2$LAw8~5VhTLpCAJ>yM+puGsMo-sg(hgSLb>R*uJU23|)ch== ztnLBL^6n(Y@9f5YQrOYdy!S~{GP?pwlw#%*d1`7`3ob2nDY5wPq1NqhgMQRq=Dh9i z4<9ajeDPsnbtnvm!c^3Mko@7>^m;N5aTZZ~DWkn*l=bKNq*MOC zWjbNsku5MMazdHTT3NbJ6+${4>Q|_$}B%y{g-imr}NqcmCQV zWi)mRV>2swwykRu2GMxhPJ&lHq9=`hEA;7*MS4aSFX1U(8l6 zW9ZoDC6K$GHgkMq|Mp*o_CNOsMz<%M^13B-M=)`SGLE_2Dvpfr)Cz}1$NRjRv=xq8 z|E#AYx+IY6?jaI-`oXO&sv^$|qg9g^{g6m5H~)*~f3B84$OSU>9}ev?PHzbAsNQb# z(K*+A7PXDAfJ0;U7Gw(%GGXt#vEfv@SM@>K;QQs-%#O)gSL?QDsZ={2ef^hQIJb4} z5i0cE3yx%0`fc?*t=ixvWs1P^uJm8#x06Ty+M`c63mQb!SWY^CK*c1g?o&ExHyLK) zASYJbf~%b9**o%LePZ;j(($+quG77G4WekVt;T(iCCY@=Uw>h^8vjOaC$TT&Pd^Mz zQmLjsGbb)4`v;O#nY6(Xzd8z9#gofEFDngxypa=hE{{0gS}R>F<9mTE%*`t4fi=^+ z)-e)~#MWhti#vZgPXDP#bX(R7G5J|ZqxV$!_D?TuMMwqR90KdVG!3_3*Bi>5qJ9e4vmYLMxf=E+j&ZSb2B-ug&j2SQzIu z-)AaA#cgZ;E?%bPI6tIZ@MQ(Mg-RXFPtr(x@#2n;kB^l z6~TR5Ssdt{onyzc75Z)0%VHeqRMb^H&!)w0o261*EEpNz+cSDbq-t_2hMwd_TrXWDm_Rs8#4YjPi%#<9Gs{IZ$8$76%e68ZyuaF@x|&Q#wuf2O*6Uyg+d|KKL9K%vth0_XW%~mD5lb zX}5eIbEy1=K^vWWP8q*`t(Y6yTIr0_lKR=-;9Il}{g!)#8Oc&RoE#B)!}GN!Si!2# zyw(#f{sQu(KuYCU6RVp(mvcfNvs9Z3yy8%)$}FB4e(kZVTTt@4qfesJMa&*mWW!X=YaVDjR8a8|=;FQ<0J0`GI_m;0<~qEP zh>ftBoMUeP9J)r0v2Vn`1EDG8D)$CSV>Ni?ntv*W~IJ%f(E}xrETiK4%&0<;P5&NrP!@lyb75--~n4X6g9G+LB=t zza4w&M{IM78)qCD5@rR3(p6V=p$}_=%GeIJCU3>e`-A{#ZzvsYtnW3?i$rJ)M%cGo zI{^T)KrTg7i0R3aQmZnE-pmv~mJSaHe*daoF@Jz)L=S_Xz!EXxUX;Htp@t@h^V??;^yoV`1%R+6hd%{j*2I_e0-5 zaT>_|-N}~Wd-UpGD*bvs+@+hW3D7Wuzl&-6v`7ZgVS-v@=R=-#m& zecP!S_H2{$ib`wxOldXCyE5?qS$&S79hw=44BgZb5cd7o%M z>Evq+(gtY}p8mDPF|u=*6{0p-aP|$)KfDo zzJKYzkWRe+V(_h8_rGp<_iTyZA)Mpm+isCgNS2N*==PaV+idzJA!!nTd0*28nQ(lOHx%PY&d($qM%EY_8X^G!s02$ssqWk@z@}159_3zVpYcoz8RaZhAf&LpwRfNYQ zE`K`;{LRYywcsOxu%1C0Zafy` z(gx5SbArMqV5&Olg4aIgbV|AmB$%RMkr8r3ki($l0g6E-fNOc$lUSkm4iDAMsuBDJ zir7I8`4JTU?Z~{V$<)~-xEFD?>1jz%I=Br=_0bqp|LxIQksBKBY#-)g4?jl-itK)3 zxFtKI3G6SKEtc*r!E*6J_ZxX6d}pht*R_m5EerTB z3_0UM*S`LI*QbE)nmJxj!ApQkf^yEH8urOVMsgjrzSFyN_M*@mUBj8Yyct7w8Al}T zRTq*MkLn^5PT73+d-Z&CHgLvUBk-KiiKwtwn8X_^(JHn_$jdk#%$B$E_SJ3C|a1W4>{h#Ayuf&6h((x zg9vR+J3$a~^-^Eqx(|ZBKD^@PgeZ$Hm8wBQgd% zKlY8EKJ;A$(S$xd& z{l#97Q>$t9LqZ1+%qY^7!>bG!ep=+;GamR~G)dtvW2>RU`p16;2eF55LYuqwbkne_ znC!>jTfS#U699m!z+g3kbZEwR1?lhU(2Ngn{(&5%^#0Xs{#Q`N<3FY=U(OoSH-7iM zz#r3&tCcH2;=?lt6zmT)z3cr8cM5jBw41zr0_L5oNnd%_ImH@xa_EXUY zpe(o9o7X&(${V+UO^P&D7q>@8n)}8U{s;o>P zpn;ZSe`}4%bS{yWQ93GOkBBu-Itja9f{pG3Yn7`l_fRzQ;{@nkLo>UU2+~$z*tQN( z&%xIZe>-dlx!9O;TrI3;voecH-Gq5JuCsF6LU}!pr_*sTn^f0)?;5@f%_1Bf!z7_K z?E;Hk8|DgSjL5|NGJmB53B*xqO~a zD#S>-uRG+m%o0`SG((Bl!S?BuDB<~uSeVqojD?5%;+YOPnm5;CN=hsjR>9S;CMst3 zXx_Bz`jxiSiSKD$HQ zjr-AjL1iCx*4EZm8N{VE?OTSU#~5`kgq|-v@0>jZUO402D(AI%XlNKkuR{O#6lKk< zfETBipPf!B?9*wYGahu{OH=lonS(`jxRGKjwNgZ)g zOzWk6VR*;XA9iXmXGPqncBj}@kD0MplH1v+O6)r{JC~5~sR1qEsN=)xUbP%$J)HT4 z0m~Z$AVd0f;?sQ@meGf2F>&e7qcJJdj~$~U&)UHExrwsv7pRsud_QQ2iMe57 zG3V!+;3~rk9o-jfst>Cs5kTAqYxJPMPfF9#feoaFj>=s-wv;LUtf(Y>&D z`zq2c%gj1?2};dqiLHhuRO{=sCkvWs+#RHzLngL%eHpxod*ig?HFYcQ(3i5}aWfL? zI*YJ<5?U{b9g3Tyb-vB+_SLC&?)L9!U&t+K?6>t!1y}U8{o+Wo9UBedRQNx=op)GM z+1mDr~YMr_Bw5@W~BiCVd zx)?9J`&Vp1+zSgP{wCz_;i7U51M%BnZidpMW>G>@#O0{{| zM;8D>wSIRvfayQzVoL#=1A;ntL|DH1K38P@2a&nCzSH)oJOswAO$s#!Tujzb*?f#Z zYWZTmO77Uq+n2ETYB%)PNLY+kRjJGvbN$RC=<)9R5A-9Prpl8~s4suy)vyNvY)RxS z9}!9jKLVLOp;_48iCEI#Y4#TJDY&ebfzfF+otBja1*+jE*kAruM|{1XuYGq^vB<%_ zMpF{1oX<8o`P|vnfdIu!M@mH5+Afa|xdI0;&@p84zF>q>Nl{LC+R_OKkm=;;0%Cic zwhMmV70jf0T*tdL8dm*XJm?><-kqJMNAx;CKwJYiTULZ#5wuP)yGM=BRS$pouxHbl z7DqYh6`9kZMN}WjMOa!_Sv1BvYiUy$aptARLv(A^7dzkL*6-S-VFysPx5AK#`{B)Q z+*`4C1BTkN3<>(sU=ew1XOA_!PrLi#7xMPh^7laF+}Y}uBJ$Q|3Th&C*zH@vXj(x* z{=15+yD$A?G`*FUXR2YmeMKt)irk9eQfL3IpA2eaS2p1fTV{>tl?Y27eCqI+R%Bd& z>qqKFqJ}Du`*KcQGyC?K>puPDWmMD(wUX7@#cO&d{fuPw40X&$yaGgcjWKKQeO2$i@mb|>m-PcnSph$$ zO$iG!M4TA+?Tlaq*@oNp8~8DEL3JX=3iQyeCFwc}__!BZXTt8PH;l@$*4;It{eV4h z9e;t(j+<>q)i3PXr6(^b%~{Toj@fi8zq@=c@3$e8?LoJ+bp{5=_TRM!XrFX&v1J#- z+edHI{(@Q&k@TY_wS_JVKT36#V$!fqhY$l5nS#241owWtk^m9X?!v>sjRJknKl{fh z+!^l~1Euer~I{n|5?T}6b|AE%ZCi@VeUZBjIp{qgdtUCD1qr6>4HbjiH42d5YYQn#AH z+^ABcEU>p$adjU2HXSBN-+TiG3m^UtS^BS|{ErcY6T0jqDCtyBbI+9CR3emcp%`I) z8I>KYNZAnKRsA=-Qa|D~leU?CePU(HEhXNxS!8~JUf-yc{tow6FRJPh+tTfURbWgHJ|{bNsq zxoDqo-+yPH@Gd!xbSJlk>X`@i)?%{0Oh?`$n=~ZLV>mC1x*bSicpmv+dUzdPe81Ys zan_GL34ya|4>ZY0Mbg18dGiEX ze}ShbK2x)G^n^61IX6AVakdf>jeRW2v!CkNX|r;z+auxLXKW7*=!$<~grRfZQ63+D>NO$%8|;iQ~Q;SFnBweLzDt@2z?@`#MkDs}V|MI=ZPUN%3BvqG6%o-vp<_WJ?4B+Bt{4LKfMu4mR< zQZ2~h1yqMJyb40=9S1vfPQGaI3vDyqx`D3GSeT5nS%~c-&e}tVT=|yv*Q-N0-YrzV z&S{1hJ*12l3JfuQUOy|9wfy}Tmw#Qy{d<2u`KR(e8HD_%i}hc5sBo4%ONv;M+fEda zF}X47+1tq~IlR6uPQW1S@$IMiHKT^CMzb--CAh1eJC>bG`TC?rq>Rf@5L_v46^m<^ z)@o%&)I{Zh6uZRWgSQG{v)(oP(HU=nKkaz+|Gdji^lS!kqPX_tT3q&}vMD51jvDu96^3gq9$?6NB5({^NsRR1hm;kbC*2em3 z2VmAmuHc;Iqhr)Ih~$|WW08=6%MGExbAC#+N#plY3gLbiL9}>GBixV|=HHMeZ_4E^yxiIxzd|fqFGT=qBHiwcpnPQVKp2&x zxIYE!&t*k#!3s;tK z;UChU?hY0cxopE{Ov=pa-0qXA>rL?bt|_F6O+Fv-c8;+Bu> z{ELu@pZED!FJTA1^kiwATVG;qTor9?`n`1iKRt|$5Wm@D#(Enldh!E+SEZ-+i{#`) z4jmpM>*Su?9b_WHRBvWX{`V*Q|5D@s?U&f@McoG84_xnWJ8QRf zDs66tv3CBq2d#hR*(X%}vzHO?-tLUQ{rS!Rarvv?e@6=aBP0Gmlw~EYKl2bkdGwif zfcsF~_&`|xLl;V}eVkKH?BxFUYOlR`TPLsmsMOemBq2(TG@*&HoY?O=j?|a@SoT9u z#dvK%S7ND;rJWuz6mBmE)r*W|V)2WVQzPk~tHxiwUuuL$s~GyKR=ncH?_NtXZ!-0+ zUr5OsXH<<~jvY<}3gCLS+%qTOp!ZOcis>@8|d3bJn z<6*c#qkgzYxZQn5kOrwU?5=tLn6tB(VzT2%3~JV5()kb!_Sm9rwguGdb|oaIVXXE> zL~rK1V>|)0D(c$fn1>d-AG>PSljgGNz#tj%vqarU*}#nqxGVWugti`WZz@i|C*_c) z3>jgGlap_=>xFsJWeUINZ5Q?eU8rih3)IOlR1%7(C7zb;6b|RSV6tUEoglqSNT-o^MYRXQ;DWR7WIIj< z8?{9Kyi2qNan|*{bBo?qMAZCt)4*|vYu|3D(1n+c=!Xv)6#gyiLP0BqML9AYin-24= zuEVVPG7qisqZmHm<`Ix^R^0+B9M-13Uk%=m+Yr{}C0nz4j64c12VgVmWnX26n3 zJKR+h=0MTo3|+XqW#s>A-F7WfQuUDxx`fe(c0mY17h)(Z7xfM4>SK1+Kk7+;1MHqv zvUb9&^*w1Q>4}Uxp_7_2kQGR zgG&fvH=Wg--rTKK*eZO}4blg7F$Xxvl)0^I4Nzm3XU+~|7)l8@lXtySKc~xahE4W0 z(wOq#nUM@M7S;0W+@5DQ(0AzXRGzeJevserIKA0X!|eNbUTMo6(rD=($I=0jJ}l5z zq}^f9xZ%^$(`^fwo7t=>511?=<8ll2JEVflYG^iq?=}=u(`7N>Uad_ZltvA@6wgzWg&w<-z!X}w-*l<~o(F7>Bb`ZaI~Z^t6%-h5?y z)54`PUCjipqjh3sf906F1-=*LE&>;Y3Fd=wSy?JfRBF)ci~zVq8HG0j$7pe0CkyFs znq#5rXw{C1G2M-yqUkwv8MF#r5mjA7~%ejuI>S+&B&tOKjHVKd;sV(hH z%}AL8;8-Y%I zsqx|GeEH9pI&!izsLq!MT2`1d3~kwmuXQd-_uiZ42#kvZ;SsDiis6`6JcE9dQr6_t zlERmiLpM_&-+m9wF4^5e&+bZ@56?;;s0!ATPI8232N3mR;&n)O!yE_RubY|!;&P6y z&pfI%XKaMCj6LcJvWEiV(guNwwZ+;cfv2s{so)|CyocjhJcbiNu@w#tf@`yswFUBe z@^^;V%hUwh*X3GTdLWqzlkB0^gzaZ%ciSx#K*$x+_)!dO$hBa?*-c}B!0bafR6k8# zGcvD`uvDzll0BpV@T&DWjeQ5G8@Id7=7%q#I!dX^6morkf1G-*%aoj&tpdEK%xVt> z26Cc})mOxl-G-Ks8aC|^2naIaQCT}PFa_0GS?T# z9PRGW3xP#C}O}@ZxufpC+yoSt1>;hwmq!1V6MA+-RNn@Y>JvP(9kG>5_$zEw5+p zY;Ue%dTD`L%Age9cVSwqGY~*ZP1zlAD@5xN4Hc1!)l7;sGD#ddkhH!b^Ch2(q$Eg2 zw-E{rN4E^|^d1SC0EXcjf1UbLSTDXMbPawJ_w%lCxx}4yTJ1Z~M=hg96r1`Se-u37 z{>~}tskm3u5O-kgD99$ng%V_K#{lD;fCh0-E0hNZ0isNGE#h{i!=q>0*s+LP(;*K% zgID{wCfJ*`hF)O--(8oO8ygKo)IS*{HJir0nuur%>tB^!;j$)Pi9}Z$4L?;tGE3)S z-b3f5%v4`MQ6b7$&Q|6kXJ0(4L#!4$4+JhqohrUp51#ia^HIP{1mxoqya>9(USxsv z6PoErPuP&K3-Mr(b(zMQ3XL`FB~Y5<7r9L$F~>#;nhoPik?&CHmo<_%&wbbYUM=Y7 zT?cRMw0?^9i-nG}@BGM-xrE8(_&w{ymOd(tU@|RbM5!ba>DX}e3q0MNJRKPe6O6=? zW`SFqA-M+2NylPWYhh&(-ddxJft8(d2hpxl`@?a_A|V_y$JCS#&6jPx3;Gvl1W!po zdN{9!YqCB>O{9V!&|-l&9BBms8l3e+MBTfU$c#-$mYaFZKQ=@%mvzCx@cc>K*FV}d z&CBZrmGpfh@-Ynn5^Zw29@QCIqU4%-%Mhh9&iwI1_lDu(+WJ4~9Z1obEpEIVXk3R!wDDl`+=>Jr_ zjJlCH(3A3so>Tt3Y}A@IfZS144GFi4JJy0 z9!{=^1hsO9N4wV^4#woLDjtK)4`!F@9SF0V^L0I?8x@yDemD=L?Dgxv%%0nhc-eiu zXN1%yh1xPaGJvq4M~O|f@jswVk_Lki2zTh!@;dOg;1W$+@sL*8PZi~WdTpL?bzrJZ zYjB}Jj;NrI#XB$uLWeb0T}Pf4k5vTY)8Vl8Nao|I zeB{~vH0V9`TpWE18j@QtA5*2@dl_#rSOh@7jPvNOfh(F@P>GxnJGr-We?4*~U60+K zYuWoC*5%C%C(AavL}4e)lVC~ru(v9ehA zmY=e4As*H;Mq4snV2v-9@^j#4O-Il^XB{JInmlz+AqBvu*Z}=i27H?bN4(8AOG50| z^K3~QPf#oJ4)%7?(#d*~V>+|&w+|hGO&3KL=HvK9)D^0pWd4Rd&B2Vs82ZuVPj%Ki z`dAT}Y1>jFT|Pih0|ZL6cK{YEPv^g#c~k-W)3pozgbHUam=4Ku>W^vzmW>3y{b(H8+jIywVFDpRI|y^!{A=hHn8+dZ`S% zP&(^eu3Q>x5Y3y#*^riW&P1L80z+V&nS^r}cg{*zmkHXI23@R^n6N<=+Y+6<|Elx}4(XxR{KsCJFzW~JKQKSTfH|BvKwllODUAvKArJHz%+@H$8*YIkMcGApM z=?t3F7Vn^$UK+=&U8`(Riv~u!+_71sP=o>#ol%o%+v%P^T}Sm1jou@w8I<8u6_2llo@F0+gHZ0}PWQ9ek!U_^ zRskOCSt+Tu`Pmr-at`quZGSEpEvQab#2_=4&?2p~d6=5U$aq$i`(V+Iq!UxU;lP$^ zPhI=9^X{KXOG`j=EGU#KWQ#$+#T7-1;oDe>C=>vdpLab5!)MMbeE}z)=0Z)#_je?; zw70Gxe2mp_wL^omq7-7AQmI{^z2dtF3-&5(=89w$D`r^JCu`@3Q;rp6K((rfO7<%l}1!o1D9b*s4a1wL9XH%_fJF zHVuX!jMdBWZ4Id;=|Ln;kG_V7&Q^K43aFIeRg20en?{AoeW0w_fo4^SdAcKrfx5U7 z+F;iLR5>ShsZp%5oy`x8Bo!v(EixzMsLT;P6wr#PSWp_@L z&%yI13fPmQTjsJyn8pF~gQOr$E#e|w;#{4xO{{G#%IXHcA{aN4eEDe;Edin23LlGj z{^4A(_uuc@KhiJ9bDi(Z$7pscVyinJY_7szEFXah;InV7n!;+mAzCYO3P^Xr^s*UA zE&B*(GaB&SriPoCUi1B0*q8vt4-2w|Qh`}A3O+ZVED56Wd+oF)%cyC@=XZeTY$~%# zhO3@bDPau&%ZLCJ9zmX&0!GGjk7tUNoZc`6DXv$aV)*d-E@@ll%FhVgAG|b;T-m%c zwHo`TcYmhut!aZxSWavf&l;|zOG{&zIuo(f26H6#p`Rb<+S+TQd!`}8O%L-$B1oF) zC@7p)Rk`(5wxph1!>AsJONHp;wW-5yKV3jaX%v^2R(FXTIS%X`PcM!P$eqINuJF>gq+ zyy~ZsRX93O2KGb zF&^8;n&Mk*ZbtiPwaMc;jwAcN!=CgCyxjg|3U#Fd36YST2b;8IJ{i;vtmuzed`T-S zs9sh7xMaw_L;thGUtynjGILdT9Gtmf?;HcD;pWPxf%Y>;2`4Q@(5>I%9RwGpV# zP8^lJnlQk#x#@65C_yvVQryzONC+!4ISd229C&1T7U#{v;zkYBM9^^0jN7!Zzabd0 z7B@mslTk}0A=9LecfND(3`nOk&0V<(}Zj+%2 zO$HbrmhrygVk& zyo4L}c8=Z2@(tDN{-j(zoIhVd8Um-IM0Xz5)}>2}*uM{^(h_sCgqYGSG6f5VVU?$Q z(IXYGjw{kGq9uxCLA}$0$g$w0@JieyE;qT#ID_rjJ=knY)R%yG&vI&HfGN0#CoYIp z&StVGPnKRA?L{TEK_MD|$0IUO{WD7Z5y$q~`fe{ZIP^?A_m$n3%h|=@sQHuvSwd0l z2r43c?=;%Wt42OQyo|ztg-#i}y}K;@o|#`*SxnGv7@;^&&~Wtt0Ms~GBae)FC?}W3 ze@@K@L>{#JoSXlYByhbH!oJ{dg^o}GB8NLw<=%{@Nb1-6r=wKlrlVh5+iGOCV}F@wvLbof$PVurNq$_L{Y}E zNXa%uwUylowe=~!HG#>M(I7g6D)$9dUE;E*z;iGTaprwQKw vQGUU{U9-P<8!W=ewx~f9C%`*lw~a literal 0 HcmV?d00001 diff --git a/docs/screenshots/month-grid.png b/docs/screenshots/month-grid.png new file mode 100644 index 0000000000000000000000000000000000000000..4fb6c6d0a543dca25266ca5acec64ce90354dc96 GIT binary patch literal 40474 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 AT>t<8 literal 0 HcmV?d00001 diff --git a/docs/screenshots/todo-due-date.png b/docs/screenshots/todo-due-date.png new file mode 100644 index 0000000000000000000000000000000000000000..729e5c2df011223fc2b7cc17a517792c3726ef96 GIT binary patch literal 21567 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 W+kc;Ee^a*qHrf7Ps%-b|P5eJ;=D