From 0055ec3e35bf283e4c417a9cfdb6fbf653414750 Mon Sep 17 00:00:00 2001 From: Markus Schneider Date: Mon, 15 Sep 2014 16:13:51 +0200 Subject: [PATCH 01/12] add web_advanced_search_wildcard module --- web_advanced_search_wildcard/__init__.py | 0 web_advanced_search_wildcard/__openerp__.py | 47 +++++++++++++++++++ web_advanced_search_wildcard/i18n/de.po | 6 +++ .../i18n/search_enhanced_operators.po | 23 +++++++++ .../static/src/js/search.js | 6 +++ 5 files changed, 82 insertions(+) create mode 100644 web_advanced_search_wildcard/__init__.py create mode 100644 web_advanced_search_wildcard/__openerp__.py create mode 100644 web_advanced_search_wildcard/i18n/de.po create mode 100644 web_advanced_search_wildcard/i18n/search_enhanced_operators.po create mode 100644 web_advanced_search_wildcard/static/src/js/search.js diff --git a/web_advanced_search_wildcard/__init__.py b/web_advanced_search_wildcard/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/web_advanced_search_wildcard/__openerp__.py b/web_advanced_search_wildcard/__openerp__.py new file mode 100644 index 000000000..3308ec6f5 --- /dev/null +++ b/web_advanced_search_wildcard/__openerp__.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2010-2013 OpenERP s.a. (). +# Copyright (C) 2014 initOS GmbH & Co. KG (). +# Author Thomas Rehn +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +{ + "name": "Webmodule add wildcard operators for advanced search", + "version": "0.1", + "depends": ["web"], + 'author': 'initOS GmbH & Co. KG', + "category": "", + "summary": "Simular search in searchbar", + 'license': 'AGPL-3', + "description": """ + Allows =ilike operator to advanced search option. + Use % as a placeholder. + Example: "Zip matches 1%" gives all zip starting with 1 + Also allows insensitive exact search. + Example "Name matches john" will find "John" and "john" but not "Johnson". + """, + 'data': [ + ], + 'demo': [ + ], + 'test': [ + ], + 'js': ['static/src/js/search.js'], + 'installable': True, + 'auto_install': False, +} diff --git a/web_advanced_search_wildcard/i18n/de.po b/web_advanced_search_wildcard/i18n/de.po new file mode 100644 index 000000000..314c4df2a --- /dev/null +++ b/web_advanced_search_wildcard/i18n/de.po @@ -0,0 +1,6 @@ +#. module: web +#. openerp-web +#: code:addons/search_enhanced_operators/static/src/js/search.js:3 +#, python-format +msgid "matches" +msgstr "entspricht" diff --git a/web_advanced_search_wildcard/i18n/search_enhanced_operators.po b/web_advanced_search_wildcard/i18n/search_enhanced_operators.po new file mode 100644 index 000000000..d6a1a5ac7 --- /dev/null +++ b/web_advanced_search_wildcard/i18n/search_enhanced_operators.po @@ -0,0 +1,23 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 7.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-09-15 09:11+0000\n" +"PO-Revision-Date: 2014-09-15 11:12+0100\n" +"Last-Translator: M\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" + +#. module: search_enhanced_operators +#. openerp-web +#: code:addons/search_enhanced_operators/static/src/js/search.js:4 +#, python-format +msgid "matches" +msgstr "" + diff --git a/web_advanced_search_wildcard/static/src/js/search.js b/web_advanced_search_wildcard/static/src/js/search.js new file mode 100644 index 000000000..4a5318a8d --- /dev/null +++ b/web_advanced_search_wildcard/static/src/js/search.js @@ -0,0 +1,6 @@ +openerp.search_enhanced_operators = function(instance){ + var _lt = instance.web._lt; + instance.web.search.ExtendedSearchProposition.Char.prototype.operators.push( + {value: '=ilike', text: _lt("matches")} + ); +}; From 3b267404abda032b1d233fc5451603cb1d65e0ad Mon Sep 17 00:00:00 2001 From: Markus Schneider Date: Thu, 18 Sep 2014 13:07:44 +0200 Subject: [PATCH 02/12] rename empty translation file --- ...rch_enhanced_operators.po => web_advanced_search_wildcard.pot} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename web_advanced_search_wildcard/i18n/{search_enhanced_operators.po => web_advanced_search_wildcard.pot} (100%) diff --git a/web_advanced_search_wildcard/i18n/search_enhanced_operators.po b/web_advanced_search_wildcard/i18n/web_advanced_search_wildcard.pot similarity index 100% rename from web_advanced_search_wildcard/i18n/search_enhanced_operators.po rename to web_advanced_search_wildcard/i18n/web_advanced_search_wildcard.pot From 05670d48ff5c5880d11e2ed727721faf55616cf0 Mon Sep 17 00:00:00 2001 From: Markus Schneider Date: Mon, 22 Sep 2014 11:13:21 +0200 Subject: [PATCH 03/12] rename module inside translation file --- web_advanced_search_wildcard/i18n/de.po | 2 +- .../i18n/web_advanced_search_wildcard.pot | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/web_advanced_search_wildcard/i18n/de.po b/web_advanced_search_wildcard/i18n/de.po index 314c4df2a..bfc97d1ac 100644 --- a/web_advanced_search_wildcard/i18n/de.po +++ b/web_advanced_search_wildcard/i18n/de.po @@ -1,6 +1,6 @@ #. module: web #. openerp-web -#: code:addons/search_enhanced_operators/static/src/js/search.js:3 +#: code:addons/web_advanced_search_wildcard/static/src/js/search.js:3 #, python-format msgid "matches" msgstr "entspricht" diff --git a/web_advanced_search_wildcard/i18n/web_advanced_search_wildcard.pot b/web_advanced_search_wildcard/i18n/web_advanced_search_wildcard.pot index d6a1a5ac7..e187a2da3 100644 --- a/web_advanced_search_wildcard/i18n/web_advanced_search_wildcard.pot +++ b/web_advanced_search_wildcard/i18n/web_advanced_search_wildcard.pot @@ -14,9 +14,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: \n" -#. module: search_enhanced_operators +#. module: web_advanced_search_wildcard #. openerp-web -#: code:addons/search_enhanced_operators/static/src/js/search.js:4 +#: code:addons/web_advanced_search_wildcard/static/src/js/search.js:4 #, python-format msgid "matches" msgstr "" From 760f58ed89c159dbf33347d393077dc7b5cf37c3 Mon Sep 17 00:00:00 2001 From: Rudolf Schnapka Date: Sun, 4 Jan 2015 14:51:33 +0100 Subject: [PATCH 04/12] initial german translations (and added pot-file) --- web_advanced_search_wildcard/i18n/de.po | 27 ++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/web_advanced_search_wildcard/i18n/de.po b/web_advanced_search_wildcard/i18n/de.po index bfc97d1ac..4cfbc4f35 100644 --- a/web_advanced_search_wildcard/i18n/de.po +++ b/web_advanced_search_wildcard/i18n/de.po @@ -1,6 +1,27 @@ -#. module: web +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# +# Rudolf Schnapka , 2015. +msgid "" +msgstr "" +"Project-Id-Version: OpenERP Server 7.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-09-15 09:11+0000\n" +"PO-Revision-Date: 2015-01-04 14:07+0100\n" +"Last-Translator: Rudolf Schnapka \n" +"Language-Team: German \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"Language: de\n" +"X-Generator: Lokalize 1.5\n" + +#. module: web_advanced_search_wildcard #. openerp-web -#: code:addons/web_advanced_search_wildcard/static/src/js/search.js:3 +#: code:addons/web_advanced_search_wildcard/static/src/js/search.js:4 #, python-format msgid "matches" -msgstr "entspricht" +msgstr "gleicht" + + From ce25456eda8af8313bdad730b8325dcb13a260fb Mon Sep 17 00:00:00 2001 From: Alexandre Fayolle Date: Mon, 2 Mar 2015 17:29:16 +0100 Subject: [PATCH 05/12] Add OCA as author of OCA addons In order to get visibility on https://www.odoo.com/apps the OCA board has decided to add the OCA as author of all the addons maintained as part of the association. --- web_advanced_search_wildcard/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_advanced_search_wildcard/__openerp__.py b/web_advanced_search_wildcard/__openerp__.py index 3308ec6f5..dd4ee58ea 100644 --- a/web_advanced_search_wildcard/__openerp__.py +++ b/web_advanced_search_wildcard/__openerp__.py @@ -24,7 +24,7 @@ "name": "Webmodule add wildcard operators for advanced search", "version": "0.1", "depends": ["web"], - 'author': 'initOS GmbH & Co. KG', + 'author': "initOS GmbH & Co. KG,Odoo Community Association (OCA)", "category": "", "summary": "Simular search in searchbar", 'license': 'AGPL-3', From a5a75ae74900d94ed9a61f3c4eed1fc7672c0e9a Mon Sep 17 00:00:00 2001 From: OCA Transbot Date: Sun, 11 Oct 2015 10:34:46 -0400 Subject: [PATCH 06/12] OCA Transbot updated translations from Transifex --- web_advanced_search_wildcard/i18n/en.po | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 web_advanced_search_wildcard/i18n/en.po diff --git a/web_advanced_search_wildcard/i18n/en.po b/web_advanced_search_wildcard/i18n/en.po new file mode 100644 index 000000000..e85bb9586 --- /dev/null +++ b/web_advanced_search_wildcard/i18n/en.po @@ -0,0 +1,24 @@ +# Translation of OpenERP Server. +# This file contains the translation of the following modules: +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: web (7.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-10-07 17:50+0000\n" +"PO-Revision-Date: 2015-10-07 17:50+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: English (http://www.transifex.com/oca/OCA-web-7-0/language/en/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Language: en\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: web_advanced_search_wildcard +#. openerp-web +#: code:addons/web_advanced_search_wildcard/static/src/js/search.js:4 +#, python-format +msgid "matches" +msgstr "matches" From d856389ce9897f5758dc94bdc04e1e93b9aa5e4e Mon Sep 17 00:00:00 2001 From: lfreeke Date: Thu, 21 Jan 2016 11:21:48 +0100 Subject: [PATCH 07/12] [FIX] Adept javascript to module name --- web_advanced_search_wildcard/static/src/js/search.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_advanced_search_wildcard/static/src/js/search.js b/web_advanced_search_wildcard/static/src/js/search.js index 4a5318a8d..1b43dc0c5 100644 --- a/web_advanced_search_wildcard/static/src/js/search.js +++ b/web_advanced_search_wildcard/static/src/js/search.js @@ -1,4 +1,4 @@ -openerp.search_enhanced_operators = function(instance){ +openerp.web_advanced_search_wildcard = function(instance){ var _lt = instance.web._lt; instance.web.search.ExtendedSearchProposition.Char.prototype.operators.push( {value: '=ilike', text: _lt("matches")} From 970855a83f9f3ca4cadac4fa47985e099fe46307 Mon Sep 17 00:00:00 2001 From: lfreeke Date: Thu, 21 Jan 2016 13:30:57 +0100 Subject: [PATCH 08/12] [PORT][8.0] port web_advanced_search_wildcard Conflicts: web_advanced_search_wildcard/__openerp__.py --- web_advanced_search_wildcard/README.rst | 43 +++++++++++++++++++ web_advanced_search_wildcard/__openerp__.py | 29 +++++-------- .../views/template.xml | 10 +++++ 3 files changed, 63 insertions(+), 19 deletions(-) create mode 100644 web_advanced_search_wildcard/README.rst create mode 100644 web_advanced_search_wildcard/views/template.xml diff --git a/web_advanced_search_wildcard/README.rst b/web_advanced_search_wildcard/README.rst new file mode 100644 index 000000000..9edc5fdfe --- /dev/null +++ b/web_advanced_search_wildcard/README.rst @@ -0,0 +1,43 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :alt: License: AGPL-3 + +============================ +Web advanced search wildcard +============================ + +Allows =ilike operator to advanced search option. + +Use % as a placeholder. +Example: "Zip matches 1%" gives all zip starting with 1 +Also allows insensitive exact search. +Example "Name matches john" will find "John" and "john" but not "Johnson". + + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed feedback +`here `_. + + + +Contributors +------------ + +* Markus Schneider <> +* L Freeke + +Maintainer +---------- + +.. image:: http://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: http://odoo-community.org + +This module is maintained by the OCA. +OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. +To contribute to this module, please visit http://odoo-community.org. + + diff --git a/web_advanced_search_wildcard/__openerp__.py b/web_advanced_search_wildcard/__openerp__.py index dd4ee58ea..d2e6cd884 100644 --- a/web_advanced_search_wildcard/__openerp__.py +++ b/web_advanced_search_wildcard/__openerp__.py @@ -22,26 +22,17 @@ ############################################################################## { "name": "Webmodule add wildcard operators for advanced search", - "version": "0.1", - "depends": ["web"], - 'author': "initOS GmbH & Co. KG,Odoo Community Association (OCA)", - "category": "", "summary": "Simular search in searchbar", - 'license': 'AGPL-3', - "description": """ - Allows =ilike operator to advanced search option. - Use % as a placeholder. - Example: "Zip matches 1%" gives all zip starting with 1 - Also allows insensitive exact search. - Example "Name matches john" will find "John" and "john" but not "Johnson". - """, + "version": "8.0.1.0.0", + "category": "Uncategorized", + "license": 'AGPL-3', + "author": "initOS GmbH & Co. KG,Odoo Community Association (OCA), Therp BV", + "application": False, + "installable": True, + "depends": [ + "web" + ], 'data': [ + "views/template.xml", ], - 'demo': [ - ], - 'test': [ - ], - 'js': ['static/src/js/search.js'], - 'installable': True, - 'auto_install': False, } diff --git a/web_advanced_search_wildcard/views/template.xml b/web_advanced_search_wildcard/views/template.xml new file mode 100644 index 000000000..bfe353d55 --- /dev/null +++ b/web_advanced_search_wildcard/views/template.xml @@ -0,0 +1,10 @@ + + + + + + From f595d80d989eedc9d01f006a69edd63778bb3f63 Mon Sep 17 00:00:00 2001 From: lfreeke Date: Thu, 21 Jan 2016 14:59:16 +0100 Subject: [PATCH 09/12] [FIX] whitespace --- web_advanced_search_wildcard/README.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/web_advanced_search_wildcard/README.rst b/web_advanced_search_wildcard/README.rst index 9edc5fdfe..031b8007b 100644 --- a/web_advanced_search_wildcard/README.rst +++ b/web_advanced_search_wildcard/README.rst @@ -4,14 +4,13 @@ ============================ Web advanced search wildcard ============================ - + Allows =ilike operator to advanced search option. Use % as a placeholder. Example: "Zip matches 1%" gives all zip starting with 1 Also allows insensitive exact search. Example "Name matches john" will find "John" and "john" but not "Johnson". - Bug Tracker =========== From 127d0aa237245d17e3f51fc666615f10ca655e13 Mon Sep 17 00:00:00 2001 From: lfreeke Date: Thu, 21 Jan 2016 13:33:20 +0100 Subject: [PATCH 10/12] [MOD] Add email address in README file --- web_advanced_search_wildcard/README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web_advanced_search_wildcard/README.rst b/web_advanced_search_wildcard/README.rst index 031b8007b..8425e1d87 100644 --- a/web_advanced_search_wildcard/README.rst +++ b/web_advanced_search_wildcard/README.rst @@ -25,7 +25,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome Contributors ------------ -* Markus Schneider <> +* Markus Schneider * L Freeke Maintainer From 656e1daf3e4505f47471d7e1539403dca4103c72 Mon Sep 17 00:00:00 2001 From: lfreeke Date: Thu, 21 Jan 2016 14:16:13 +0100 Subject: [PATCH 11/12] [MOD] layout changes to readme file [MOD] Update manifest with latest OCA standard Conflicts: web_advanced_search_wildcard/__openerp__.py --- web_advanced_search_wildcard/README.rst | 20 +++++++++++---- web_advanced_search_wildcard/__openerp__.py | 27 ++++----------------- 2 files changed, 20 insertions(+), 27 deletions(-) diff --git a/web_advanced_search_wildcard/README.rst b/web_advanced_search_wildcard/README.rst index 8425e1d87..dcd65e33a 100644 --- a/web_advanced_search_wildcard/README.rst +++ b/web_advanced_search_wildcard/README.rst @@ -20,23 +20,33 @@ In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback `here `_. +Credits +======= +Images +------ + +* Odoo Community Association: `Icon `_. Contributors ------------ * Markus Schneider +* Thomas Rehn * L Freeke + Maintainer ---------- -.. image:: http://odoo-community.org/logo.png - :alt: Odoo Community Association - :target: http://odoo-community.org +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org This module is maintained by the OCA. -OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. -To contribute to this module, please visit http://odoo-community.org. +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. +To contribute to this module, please visit https://odoo-community.org. diff --git a/web_advanced_search_wildcard/__openerp__.py b/web_advanced_search_wildcard/__openerp__.py index d2e6cd884..e54a77dac 100644 --- a/web_advanced_search_wildcard/__openerp__.py +++ b/web_advanced_search_wildcard/__openerp__.py @@ -1,32 +1,15 @@ # -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2010-2013 OpenERP s.a. (). -# Copyright (C) 2014 initOS GmbH & Co. KG (). -# Author Thomas Rehn -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -############################################################################## +# © 2014 initOS GmbH & Co. KG (). +# © 2016 Therp BV . +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + { "name": "Webmodule add wildcard operators for advanced search", "summary": "Simular search in searchbar", "version": "8.0.1.0.0", "category": "Uncategorized", "license": 'AGPL-3', - "author": "initOS GmbH & Co. KG,Odoo Community Association (OCA), Therp BV", + "author": "initOS GmbH & Co. KG,Odoo Community Association (OCA),Therp BV", "application": False, "installable": True, "depends": [ From 5ca5a4abdfa24054578141b04c9ff3865af1f15d Mon Sep 17 00:00:00 2001 From: lfreeke Date: Wed, 3 Feb 2016 15:44:28 +0100 Subject: [PATCH 12/12] [MOD] Manifest [MOD] README [ADD] Screenshot --- web_advanced_search_wildcard/README.rst | 17 +++++++++++++---- web_advanced_search_wildcard/__openerp__.py | 6 +++--- .../static/description/screenshot.png | Bin 0 -> 7164 bytes 3 files changed, 16 insertions(+), 7 deletions(-) create mode 100644 web_advanced_search_wildcard/static/description/screenshot.png diff --git a/web_advanced_search_wildcard/README.rst b/web_advanced_search_wildcard/README.rst index dcd65e33a..8c6de995d 100644 --- a/web_advanced_search_wildcard/README.rst +++ b/web_advanced_search_wildcard/README.rst @@ -2,15 +2,24 @@ :alt: License: AGPL-3 ============================ -Web advanced search wildcard +Wildcard in advanced search ============================ -Allows =ilike operator to advanced search option. +Allows =ilike ('matches') operator to advanced search option. + +Usage +===== Use % as a placeholder. -Example: "Zip matches 1%" gives all zip starting with 1 + +Example: "Zip" - 'matches' - "1%" gives all zip starting with 1 + +.. image:: /web_advanced_search_wildcard/static/description/screenshot.png + :alt: Screenshot + + Also allows insensitive exact search. -Example "Name matches john" will find "John" and "john" but not "Johnson". +Example "Name" - 'matches' - "john" will find "John" and "john" but not "Johnson". Bug Tracker =========== diff --git a/web_advanced_search_wildcard/__openerp__.py b/web_advanced_search_wildcard/__openerp__.py index e54a77dac..797f3a604 100644 --- a/web_advanced_search_wildcard/__openerp__.py +++ b/web_advanced_search_wildcard/__openerp__.py @@ -4,10 +4,10 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). { - "name": "Webmodule add wildcard operators for advanced search", - "summary": "Simular search in searchbar", + "name": "Wildcard in advanced search", + "summary": "Webmodule to add wildcard operators in advanced search field", "version": "8.0.1.0.0", - "category": "Uncategorized", + "category": "web", "license": 'AGPL-3', "author": "initOS GmbH & Co. KG,Odoo Community Association (OCA),Therp BV", "application": False, diff --git a/web_advanced_search_wildcard/static/description/screenshot.png b/web_advanced_search_wildcard/static/description/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..57848f902890b9aa4c78caf54ccfbcaed08e3cf4 GIT binary patch literal 7164 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 S=28L@A