From 959bee2c06644b39c78a963838b2af6d20977b42 Mon Sep 17 00:00:00 2001 From: marlon-erler Date: Tue, 22 Sep 2026 15:12:45 +0200 Subject: [PATCH] make task suggestions relative to board --- dist/index.js | 136 ++++++++++++++---- src/View/.translations.ts.swp | Bin 49152 -> 0 bytes src/View/Modals/.searchModal.tsx.swp | Bin 16384 -> 0 bytes src/View/Modals/taskSettingsModal.tsx | 4 +- src/ViewModel/Global/.coreViewModel.ts.swp | Bin 16384 -> 0 bytes src/ViewModel/Global/coreViewModel.ts | 7 +- src/ViewModel/Pages/.boardViewModel.ts.swp | Bin 32768 -> 0 bytes src/ViewModel/Pages/boardViewModel.ts | 2 +- .../Pages/taskContainingPageViewModel.ts | 4 + src/ViewModel/Pages/taskViewModel.ts | 8 +- src/ViewModel/Utility/.searchViewModel.ts.swp | Bin 12288 -> 0 bytes 11 files changed, 118 insertions(+), 43 deletions(-) delete mode 100644 src/View/.translations.ts.swp delete mode 100644 src/View/Modals/.searchModal.tsx.swp delete mode 100644 src/ViewModel/Global/.coreViewModel.ts.swp delete mode 100644 src/ViewModel/Pages/.boardViewModel.ts.swp delete mode 100644 src/ViewModel/Utility/.searchViewModel.ts.swp diff --git a/dist/index.js b/dist/index.js index b1802203..b5383a78 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,10 +1,9 @@ (() => { - // node_modules/bloatless-react/index.ts + // ../bloatless-react/index.ts var State = class { - _value; - _bindings = /* @__PURE__ */ new Set(); // init constructor(initialValue) { + this._bindings = /* @__PURE__ */ new Set(); this._value = initialValue; } // value @@ -32,15 +31,17 @@ } }; var ListState = class extends State { - additionHandlers = /* @__PURE__ */ new Set(); - removalHandlers = /* @__PURE__ */ new Map(); // init constructor(initialItems) { super(new Set(initialItems)); + this.additionHandlers = /* @__PURE__ */ new Set(); + this.removalHandlers = /* @__PURE__ */ new Map(); + this.genericRemovalHandlers = /* @__PURE__ */ new Set(); } // list add(...items) { items.forEach((item) => { + if (this.value.has(item)) return; this.value.add(item); this.additionHandlers.forEach((handler) => handler(item)); }); @@ -49,6 +50,7 @@ remove(...items) { items.forEach((item) => { this.value.delete(item); + this.genericRemovalHandlers.forEach((handler) => handler(item)); if (!this.removalHandlers.has(item)) return; this.removalHandlers.get(item).forEach((handler) => handler(item)); this.removalHandlers.delete(item); @@ -68,6 +70,9 @@ this.removalHandlers.set(item, /* @__PURE__ */ new Set()); this.removalHandlers.get(item).add(handler); } + handleRemovals(handler) { + this.genericRemovalHandlers.add(handler); + } // stringification toString() { const array = [...this.value.values()]; @@ -76,11 +81,12 @@ } }; var MapState = class extends State { - additionHandlers = /* @__PURE__ */ new Set(); - removalHandlers = /* @__PURE__ */ new Map(); // init constructor(initialItems) { super(new Map(initialItems)); + this.additionHandlers = /* @__PURE__ */ new Set(); + this.removalHandlers = /* @__PURE__ */ new Map(); + this.genericRemovalHandlers = /* @__PURE__ */ new Set(); } // list set(key, item) { @@ -94,6 +100,7 @@ if (!item) return; this.value.delete(key); this.callSubscriptions(); + this.genericRemovalHandlers.forEach((handler) => handler(item)); if (!this.removalHandlers.has(item)) return; this.removalHandlers.get(item).forEach((handler) => handler(item)); this.removalHandlers.delete(item); @@ -111,6 +118,9 @@ this.removalHandlers.set(item, /* @__PURE__ */ new Set()); this.removalHandlers.get(item).add(handler); } + handleRemovals(handler) { + this.genericRemovalHandlers.add(handler); + } // stringification toString() { const array = [...this.value.entries()]; @@ -294,10 +304,13 @@ general: { deleteItemButtonAudioLabel: "delete item", searchButtonAudioLabel: "search", + searchButtonClearAudioLabel: "clear search query", abortButton: "Abort", + applyButton: "Apply", + backButton: "Back", cancelButton: "Cancel", closeButton: "Close", - backButton: "Back", + deleteButton: "Delete", continueButton: "Continue", confirmButton: "Confirm", saveButton: "Save", @@ -305,6 +318,7 @@ reloadAppButton: "Reload App", fileVersionLabel: "Version", searchLabel: "Search", + searchSuggestionsLabel: "Recent searches", waitingLabel: "Waiting...", restoreConnection: "Restore connection", noPageSelected: "No page selected" @@ -1260,7 +1274,7 @@ this.connectionModel = connectionModel2; this.chatListModel = chatListModel2; this.fileTransferModel = fileTransferModel2; - this.BUILD = "Build 26.09.21.B"; + this.BUILD = "Build 26.09.21.C"; // CONTEXT this.contextStack = /* @__PURE__ */ new Map(); this.closeContext = (contextId, fromHistoryEvent = false) => { @@ -1301,7 +1315,6 @@ this.draggedObject = new State(void 0); // SUGGESTIONS // boards & tasks - this.boardFilterStringSuggestions = new ListState(); this.taskCategorySuggestions = new ListState(); this.taskStatusSuggestions = new ListState(); this.translations = allTranslations[settingsModel2.language] || allTranslations.en; @@ -2988,6 +3001,10 @@ var SearchViewModel = class { // init constructor(allObjects, matchingObjects, getStringsOfObject, suggestions) { + this.allObjects = allObjects; + this.matchingObjects = matchingObjects; + this.getStringsOfObject = getStringsOfObject; + this.suggestions = suggestions; // state this.appliedQuery = new State(""); this.searchInput = new State(""); @@ -2996,6 +3013,11 @@ [this.searchInput, this.appliedQuery], () => this.searchInput.value == this.appliedQuery.value ); + this.cannotClear = createProxyState( + [this.searchInput], + () => this.searchInput.value == "" + ); + this.hasNoSuggestions = createProxyState([this.suggestions], () => this.suggestions.value.size == 0); // methods this.search = (searchTerm) => { this.searchInput.value = searchTerm; @@ -3010,6 +3032,12 @@ this.matchingObjects.add(object); } }; + this.clear = () => { + this.searchInput.value = ""; + }; + this.deleteSuggestion = (suggestion) => { + this.suggestions.remove(suggestion); + }; // utility this.checkDoesMatchSearch = (object) => { return checkDoesObjectMatchSearch( @@ -3018,10 +3046,6 @@ object ); }; - this.allObjects = allObjects; - this.matchingObjects = matchingObjects; - this.getStringsOfObject = getStringsOfObject; - this.suggestions = suggestions; this.allObjects.handleAddition((newObject) => { const doesMatch = this.checkDoesMatchSearch(newObject); if (doesMatch == false) { @@ -3056,6 +3080,7 @@ ); this.isPresentingSettingsModal = new State(false); this.isPresentingFilterModal = new State(false); + this.searchSuggestions = new ListState(); this.filteredTaskViewModels = new ListState(); // paths this.getBasePath = () => { @@ -3123,14 +3148,21 @@ searchTerm ]; this.coreViewModel.storageModel.write(suggestionPath, ""); - if (!this.coreViewModel.boardFilterStringSuggestions.value.has( + if (!this.searchSuggestions.value.has( searchTerm - )) { - this.coreViewModel.boardFilterStringSuggestions.add(searchTerm); + ) && searchTerm != "") { + this.searchSuggestions.add(searchTerm); } const lastSearchPath = this.getLastSearchPath(); this.coreViewModel.storageModel.write(lastSearchPath, searchTerm); }; + this.handleSearchRemoved = (searchTerm) => { + const suggestionPath = [ + ...this.getPreviousSearchesPath(), + searchTerm + ]; + this.coreViewModel.storageModel.remove(suggestionPath); + }; // view this.showTask = (taskFileContent) => { if (taskFileContent.boardId != this.boardInfo.fileId) { @@ -3209,7 +3241,7 @@ this.loadSearchSuggestions = () => { const dirPath = this.getPreviousSearchesPath(); const searches = this.coreViewModel.storageModel.list(dirPath); - this.coreViewModel.boardFilterStringSuggestions.add(...searches); + this.searchSuggestions.add(...searches.filter((x) => x != "")); }; this.restoreSearch = () => { const lastSearchPath = this.getLastSearchPath(); @@ -3255,12 +3287,13 @@ this.taskViewModels, this.filteredTaskViewModels, TaskViewModel.getStringsForFilter, - this.coreViewModel.boardFilterStringSuggestions + this.searchSuggestions ); this.searchViewModel.appliedQuery.subscribeSilent((newQuery) => { this.handleNewSearch(newQuery); }); this.restoreSearch(); + this.searchSuggestions.handleRemovals(this.handleSearchRemoved); this.isFilterActive = createProxyState( [this.searchViewModel.appliedQuery], () => this.searchViewModel.appliedQuery.value != "" @@ -5483,7 +5516,7 @@ } // src/View/Modals/searchModal.tsx - function SearchModal(coreViewModel2, searchViewModel, headline, converter, isOpen) { + function SearchModal(coreViewModel2, searchViewModel, headline, isOpen) { function close() { isOpen.value = false; } @@ -5492,10 +5525,11 @@ if (!isOpen2) return; ViewController.setFocusWithDelay(); }); - return /* @__PURE__ */ createElement("div", { class: "modal", "toggle:open": isOpen, extended: true }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("main", null, /* @__PURE__ */ createElement("h2", null, headline), /* @__PURE__ */ createElement("div", { class: "flex-row width-input" }, /* @__PURE__ */ createElement( + return /* @__PURE__ */ createElement("div", { class: "modal", "toggle:open": isOpen, extended: true }, /* @__PURE__ */ createElement("div", null, /* @__PURE__ */ createElement("main", null, /* @__PURE__ */ createElement("h2", null, headline), /* @__PURE__ */ createElement("div", { class: "flex-row" }, /* @__PURE__ */ createElement( "input", { id: "focused", + style: "max-width: unset", placeholder: coreViewModel2.translations.general.searchLabel, "bind:value": searchViewModel.searchInput, "on:enter": searchViewModel.applySearch, @@ -5511,6 +5545,15 @@ StringToOption ] } + ), /* @__PURE__ */ createElement( + "button", + { + class: "standard", + "aria-label": coreViewModel2.translations.general.searchButtonClearAudioLabel, + "on:click": searchViewModel.clear, + "toggle:disabled": searchViewModel.cannotClear + }, + /* @__PURE__ */ createElement("span", { class: "icon" }, "close") ), /* @__PURE__ */ createElement( "button", { @@ -5520,18 +5563,52 @@ "toggle:disabled": searchViewModel.cannotApplySearch }, /* @__PURE__ */ createElement("span", { class: "icon" }, "search") - )), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement( + )), /* @__PURE__ */ createElement( "div", { - class: "grid gap", - style: "grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr))", - "children:append": [ - searchViewModel.matchingObjects, - converter - ] - } + "toggle:hidden": searchViewModel.hasNoSuggestions + }, + /* @__PURE__ */ createElement("hr", null), + /* @__PURE__ */ createElement("h3", null, coreViewModel2.translations.general.searchSuggestionsLabel), + /* @__PURE__ */ createElement( + "div", + { + class: "flex-column gap", + "children:append": [ + searchViewModel.suggestions, + (suggestion) => SuggestionView(suggestion, searchViewModel, coreViewModel2) + ] + } + ) )), /* @__PURE__ */ createElement("button", { "on:click": close }, coreViewModel2.translations.general.closeButton, /* @__PURE__ */ createElement("span", { class: "icon" }, "close")))); } + function SuggestionView(suggestion, searchViewModel, coreViewModel2) { + const isApplied = createProxyState([searchViewModel.appliedQuery], () => searchViewModel.appliedQuery.value == suggestion); + function deleteSuggestion() { + searchViewModel.deleteSuggestion(suggestion); + } + function applySuggestion() { + searchViewModel.search(suggestion); + } + return /* @__PURE__ */ createElement("div", { class: "flex-row surface align-center" }, /* @__PURE__ */ createElement("span", { class: "width-100 flex-1 padding-h" }, suggestion), /* @__PURE__ */ createElement( + "button", + { + class: "danger", + "aria-label": coreViewModel2.translations.general.deleteButton, + "on:click": deleteSuggestion + }, + /* @__PURE__ */ createElement("span", { class: "icon" }, "delete") + ), /* @__PURE__ */ createElement( + "button", + { + class: "primary", + "aria-label": coreViewModel2.translations.general.applyButton, + "on:click": applySuggestion, + "toggle:disabled": isApplied + }, + /* @__PURE__ */ createElement("span", { class: "icon" }, "check") + )); + } // src/View/Components/colorPicker.tsx function ColorPicker(selectedColor) { @@ -5701,7 +5778,6 @@ coreViewModel2, boardViewModel.searchViewModel, coreViewModel2.translations.chatPage.task.filterTasksHeadline, - TaskViewModelToEntry, boardViewModel.isPresentingFilterModal ), /* @__PURE__ */ createElement("div", { "children:set": taskSettingsModal })); } diff --git a/src/View/.translations.ts.swp b/src/View/.translations.ts.swp deleted file mode 100644 index 5ff93499ce9074ccf38c1f170c1556a5111bc7a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49152 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 HYaad&qo%ju diff --git a/src/View/Modals/.searchModal.tsx.swp b/src/View/Modals/.searchModal.tsx.swp deleted file mode 100644 index 5a801363190da34643a7d6f40b6e525959064e22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmeI2ONbmr7{|-_NY-e4f#N|dCyKMWJClckPG&~pMkSaSb=O2mg4A@^%(T{Y58XAJ zUB^}Mfd>)1dhrG7#fuje1Rp4hh$r!JQN$>ycW)y8tE#)Fr{@)e2a#&#M^9IO^;Ols ztE;QO>c)=4`w!BaOFIa*3kf;-^ji=8u=xsd<0>I7PpZ_Jn+O~x+CenS`Y|{xM=}Um zicMz_ zMs9y*e0;?OyExhItO8a6tAJI&Dqt0`3RnfK0#*U5fK|XMU={ceD!^Pq{zSc=R{;R5 z|0nPNzg$4bd*B&xH<$yTZ6oAU@H%)390j+5?chqV1^j+KAwPqY;1lpMco{qij(|hp zF0dDD27jDK$PeIc@GKDEesB}m20qwI$SdF&xE%a;F6seZ15bbza1Ho%j*xf33qXPu za4q<23)%r50ms0V;Oosu1CN8_paw1izn%lXzyo)JE#Td=33(APa0|E^YzLQtpU#3W z@Emv=G{FIIJ@^U%lh48X;4Sb5cowXH5-5O6!8WiNoDI$b>NfQLY}5n=u-A@p7sgZAQapD9x_)gyWVP@%&Ft# zKN1@~DFYwr=0wzGK6M0(qFTXo0>4mqL=f?6S)E9%`a{K*WXSwTFm=(QQj7aMWTK?A z-Kw2$z543|cM0D{aqpxnJw&8_{ObT|vf` z)?3wARf-a#{^qw>^?Y)2Jm@k>%D8=Xv?H0iB|T|eCY4qvlg_C0xVf$uv4-Hd0Qm+x z%=ZJix7!u#%ldvXH^3yHgYKAjge!b%E~Xcd6kIa?%?+`)=X!y@sw6o-X+Qf;o9cpv z9$OTu|J3?Z4dYwB8+siUt`{cS#`p2$^XY&>r)*<-$Ivh{DeJ$|IhF)E#`LQ;xm!51 zGf#J&G;OFu=qmkpdqpIf@3PQ6{cfR#aweJZB02pUVvtW1nzUcm56G3^P***17G~P# z@9d$0eNrJReavV-&D>MNQTlA!?@n)t8L`PEht))`i58I5^SiwndMd^LNwv`Pxi5J* zISr*J8h__jGxtpH-^O9vS0XZ1zCg70lu7K)9;i$rC-2>w?z` z9k#Z3!gFQ2LVJG1rGBKV@^QHf&A{nJeA<1XFA-7p`At88<6&1%8^Yj3Vf@WeZSSi0 z+nl+=^SPP`>>9PJnmJUq6jj2&Fk4O64R=k>kjq}^ z)1sLwY+xdpl%S@aOMx%LKnNZ}Yk9j;%Lf=30%& z3B3j{785JX=rDa%g<%#NNt(U0XpOGkp#1CegRT;L(|r#%O?+_8O*!e@TR&!sYHF-d z?oFl&y_YjbmX;-xyxIr?jPrio3@(ZC>D*lB%MB}I=jYmRsH5iQ=nI6eb%RjSw1Ufn z55(2$3SQYd+F&U=wWrN6=+Hu`RK_oz|CjF&L4%3%P=SR#i3j63wVvSPKIsWhuE!s$ zr`7{EeL6e<(~W^AeDmH7d<-B_InbkXHrsHA$!1#}>Pmw=*HIRk>k=2y5CM~dN6})a zuGYY^j}DP~?Daesr_}rZEqKrV0;u=@WPSfpyzlqH1K>JvHP{X|f$#C2|1J0iyaX6H z0+zrT;77dIe-GXPZ-Q6BbKn4209(Npa1v#H2fmEU|5Vk%ZdL)SfK|XMU=^?mSOu&C zRspMkRbZfid6i9;JxrusrHxD1i#B+FrQ?FBZSFjrMB3-DP@wEaV&`6@;^ZDjq)HnM zqMjz!lg6^*^VwkX&^zY%6(H>-T>(-x$OoCzRUx%HWfq9yx{hfR*1$Mk&69&EYS@@S-@wGf5~20gteWuoOkmwB;{4Ix2_w5K;Niwp{ojj&)_0z2fjo8d%6(Qyl}D zeEb0alogR2@;|8e*+NUc258R diff --git a/src/View/Modals/taskSettingsModal.tsx b/src/View/Modals/taskSettingsModal.tsx index 10d71221..ae306460 100644 --- a/src/View/Modals/taskSettingsModal.tsx +++ b/src/View/Modals/taskSettingsModal.tsx @@ -113,7 +113,7 @@ export function TaskSettingsModal( hidden id={categorySuggestionId} children:append={[ - taskViewModel.coreViewModel.taskCategorySuggestions, + taskViewModel.containingViewModel.taskCategorySuggestions, StringToOption, ]} > @@ -137,7 +137,7 @@ export function TaskSettingsModal( hidden id={statusSuggestionId} children:append={[ - taskViewModel.coreViewModel.taskStatusSuggestions, + taskViewModel.containingViewModel.taskStatusSuggestions, StringToOption, ]} > diff --git a/src/ViewModel/Global/.coreViewModel.ts.swp b/src/ViewModel/Global/.coreViewModel.ts.swp deleted file mode 100644 index ade7e2effe443d6b2e3bcbf412d510a9a2470a51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 Z4sT4*tWfC*nVBRxqA*6HHd~0We*sSgrnUe8 diff --git a/src/ViewModel/Global/coreViewModel.ts b/src/ViewModel/Global/coreViewModel.ts index 80e4bdf7..2f1d2f5d 100644 --- a/src/ViewModel/Global/coreViewModel.ts +++ b/src/ViewModel/Global/coreViewModel.ts @@ -9,7 +9,7 @@ import ConnectionModel from "../../Model/Global/connectionModel"; import ChatListModel from "../../Model/Chat/chatListModel"; export default class CoreViewModel { - readonly BUILD = "Build 26.09.21.B"; + readonly BUILD = "Build 26.09.21.C"; translations: Translations; @@ -81,11 +81,6 @@ export default class CoreViewModel { // DRAG & DROP draggedObject: React.State = new React.State(undefined); - // SUGGESTIONS - // boards & tasks - taskCategorySuggestions: React.ListState = new React.ListState(); - taskStatusSuggestions: React.ListState = new React.ListState(); - // init constructor( public readonly storageModel: StorageModel, diff --git a/src/ViewModel/Pages/.boardViewModel.ts.swp b/src/ViewModel/Pages/.boardViewModel.ts.swp deleted file mode 100644 index 05a6e03707f8b61c026b971def594afef8ca38ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 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

@VW1(bxN3*wUcWR}L{;BEM8)wb zNUHF&M0lz5%#&;Op(<4Ox6&JJCjo zLE<0gy;%8LO4CoeezP^BGA24^!jnvLlsw(6ATa8vCwbHOtJ79%$xMqEnGz;2!IM*R z^lL@Yfvr9O6KCIqDY$A6y0=k%tJ)Jr^R5b~--sCGmt7?qNT5Nz-JPwOLdwojuu%ye zzc8gd_`B6tY9u5-%}cuUVP|;R3GR3=-R|q}RON91(tAGmqiU62TKcKykef7ZL;k>} zo<`GfgVZJMsiEK>cN(d&(RCI5@TD!VpAx0SVgF5Uvf8R$^qyR?kGv>%$SxgFy?U@y z53^ocj3{;XV>yk|B6Sst7^F1(NXmSLl*)>K*Ms9$>I}{S)qbs1Ssdz1Rj86^x^d@A zX7UQXx^>DuRehIWeZC12X^I-k#UeiOHK+% z)AT8`6k>X#Kcps6Y3H)Hyp8>*?Elm6_kWZ9{vU(H{~w157zgpJo9)qvI zpTKP(-wk{t`~qA8uZO3x1AGxa0Jp*|a0uiZf*w52{{L^_Hux>r1!ut5k@MF;$=ldk zsy~$kDhd4ml7L>Z^}l-EPJ*&?)~56H9`mKJk|)^8K4-;DTaSbyF7-GxcpH)qlQOsU z-(gk8!sev1&t;p`%09PT6tq&m = new React.ListState(); isFilterActive: React.State; - + // paths getBasePath = (): string[] => { return [ diff --git a/src/ViewModel/Pages/taskContainingPageViewModel.ts b/src/ViewModel/Pages/taskContainingPageViewModel.ts index 5fc5e676..8aec3d63 100644 --- a/src/ViewModel/Pages/taskContainingPageViewModel.ts +++ b/src/ViewModel/Pages/taskContainingPageViewModel.ts @@ -17,6 +17,10 @@ export default class TaskContainingPageViewModel extends Context { new React.State(undefined); taskViewModels: React.MapState = new React.MapState(); + + taskCategorySuggestions: React.ListState = new React.ListState(); + taskStatusSuggestions: React.ListState = new React.ListState(); + // methods createTaskFromBoardId = (boardId: string): void => { diff --git a/src/ViewModel/Pages/taskViewModel.ts b/src/ViewModel/Pages/taskViewModel.ts index 6578a7b2..1b923925 100644 --- a/src/ViewModel/Pages/taskViewModel.ts +++ b/src/ViewModel/Pages/taskViewModel.ts @@ -104,19 +104,19 @@ export default class TaskViewModel extends Context { updateSuggestions = (): void => { if ( - this.coreViewModel.taskCategorySuggestions.value.has( + this.containingViewModel.taskCategorySuggestions.value.has( this.category.value, ) == false ) { - this.coreViewModel.taskCategorySuggestions.add(this.category.value); + this.containingViewModel.taskCategorySuggestions.add(this.category.value); } if ( - this.coreViewModel.taskStatusSuggestions.value.has( + this.containingViewModel.taskStatusSuggestions.value.has( this.status.value, ) == false ) { - this.coreViewModel.taskStatusSuggestions.add(this.status.value); + this.containingViewModel.taskStatusSuggestions.add(this.status.value); } }; diff --git a/src/ViewModel/Utility/.searchViewModel.ts.swp b/src/ViewModel/Utility/.searchViewModel.ts.swp deleted file mode 100644 index adfc033c1033719b4965bb2909fca082a8c88cbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeHNO>Y}T7@nevQqq?13s5we3azWu4y};DB$lcMq=<%=#L10tcV^Rs z5;!0Zh>sf*;(*`}AoUOM4=PSnLIMsPkhsHz6VJ@7cQ^L74!yOSRUfZC`@ZkI@AH1x zQK!4Gxw1-MZ!8d8j}vn1lbcunICPx6xEwBwFz%_sa9pDMzx5MxQh=2fi z3z!3be1wp%fh)kZ~}M%I1U^GegQu}0G|Q@a1nSDXak13`!M&; zWygSH-~nb}mr$yK*Eh^fzpdkKwy4*3Nrgnkl9tUc(Y?xjwLhtOlB?m38icaZ=W1Og zVceG&dKZkT3L!QcMIjH~O?k4@*kV!23!#LoG>NG{;Qo8df=g>;l_`I)ZcdGPX4Cw6 z=?Pt;o^`)PJM|Xr3K4M@)1@}OVU(Ipn%Wa+#C*0!waJ*EhVn@AjM146&0s?N6Clebi*#v;_85%UC#?G-mWt+brOa9y ztBRo%N8x`p>1Tr=RH2ByLPrw~y9Ow80AXq9FG6d1Ytlma^%F*JgViroQe}ydX%0amtHr zwDdg{alWy(ps$`tsAo;tXH@j2W{GWP^D4c1xjri+G*o%z=xm=%O=-|+b34hqjZ}~I z9Xq6F5})soDd_D@fOx6i119aU;SNuRR@i>ldlgSAt43Q!l@7TYhyZ7e^=HhwcSKQp zd8685&%Qg_FmC(TPdJ+QVj{M8jD&Z|x|tWRysT&SQhRdQR%Szn?{hui7P3G~@!AQ0 zr>J#F7yX{?S|lKw1wM;oq0Z@|A9wS912Js;4|j~Ccl!#T@^L<^&{9F|ar}LyRTW0AbWzvR~X>}vPRK%q` Kg+lceB>w}>Em^Dp