diff --git a/.gitattributes b/.gitattributes
index 6252750..0934645 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,3 +1,3 @@
docs/ export-ignore
resources/
-!resources/*.base64
\ No newline at end of file
+!resources/*.base64
diff --git a/live-testing/test.md b/live-testing/test.md
index 9485a64..815d287 100644
--- a/live-testing/test.md
+++ b/live-testing/test.md
@@ -1,7 +1,7 @@
# Why?
Why do you want to use fancy symbols in your standard monospace font? Obviously to have a fancy prompt like mine :-)
-
+
And because when you live in a terminal a symbol can convey more informations in less space creating a dense and beautiful (for those who have a certain aesthetic taste) informative workspace
diff --git a/markdown2html.py b/markdown2html.py
index c5c7efc..4e70cbd 100644
--- a/markdown2html.py
+++ b/markdown2html.py
@@ -25,13 +25,6 @@ markdowner = Markdown(extras=["fenced-code-blocks", "cuddled-lists"])
# does it stupidly throw them out? (we could implement something of our own)
executor = concurrent.futures.ThreadPoolExecutor(max_workers=5)
-images_cache = {}
-
-
-class LoadingError(Exception):
- pass
-
-
def markdown2html(markdown, basepath, re_render, resources, viewport_width):
""" converts the markdown to html, loads the images and puts in base64 for sublime
to understand them correctly. That means that we are responsible for loading the
@@ -59,12 +52,7 @@ def markdown2html(markdown, basepath, re_render, resources, viewport_width):
# realpath: simplify that paths so that we don't have duplicated caches
path = os.path.realpath(os.path.expanduser(os.path.join(basepath, src)))
- try:
- base64, (width, height) = get_base64_image(path, re_render)
- except FileNotFoundError as e:
- base64, (width, height) = resources["base64_404_image"]
- except LoadingError:
- base64, (width, height) = resources["base64_loading_image"]
+ base64, (width, height) = get_base64_image(path, re_render, resources)
img_element["src"] = base64
if width > viewport_width:
@@ -100,8 +88,10 @@ def markdown2html(markdown, basepath, re_render, resources, viewport_width):
"
", "
"
)
+images_cache = {}
+images_loading = []
-def get_base64_image(path, re_render):
+def get_base64_image(path, re_render, resources):
""" Gets the base64 for the image (local and remote images). re_render is a
callback which is called when we finish loading an image from the internet
to trigger an update of the preview (the image will then be loaded from the cache)
@@ -109,13 +99,20 @@ def get_base64_image(path, re_render):
return base64_data, (width, height)
"""
- def callback(path, future):
+ def callback(path, resources, future):
# altering images_cache is "safe" to do because callback is called in the same
# thread as add_done_callback:
# > Added callables are called in the order that they were added and are always
# > called in a thread belonging to the process that added them
# > --- Python docs
- images_cache[path] = future.result()
+ try:
+ images_cache[path] = future.result()
+ except urllib.error.HTTPError as e:
+ images_cache[path] = resources['base64_404_image']
+ print("Error loading {!r}: {!r}".format(path, e))
+
+ images_loading.remove(path)
+
# we render, which means this function will be called again, but this time, we
# will read from the cache
re_render()
@@ -124,8 +121,11 @@ def get_base64_image(path, re_render):
return images_cache[path]
if path.startswith("http://") or path.startswith("https://"):
- executor.submit(load_image, path).add_done_callback(partial(callback, path))
- raise LoadingError()
+ # FIXME: submiting a load of loaders, we should only have one
+ if path not in images_loading:
+ executor.submit(load_image, path).add_done_callback(partial(callback, path, resources))
+ images_loading.append(path)
+ return resources['base64_loading_image']
with open(path, "rb") as fhandle:
image_content = fhandle.read()
diff --git a/resources/404.base64 b/resources/404.base64
index 2b78083..7b17d20 100644
--- a/resources/404.base64
+++ b/resources/404.base64
@@ -1,3 +1,3 @@
100
43
-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
\ No newline at end of file
+data:image/png;base64,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
\ No newline at end of file
diff --git a/resources/convertresources.py b/resources/convertresources.py
index a1474f7..2cb14b7 100644
--- a/resources/convertresources.py
+++ b/resources/convertresources.py
@@ -26,6 +26,7 @@ def make_cache(image_name):
width, height = get_image_size(png)
png.seek(0)
base64.write(bytes("{}\n{}\n".format(width, height), encoding="utf-8"))
+ base64.write(b'data:image/png;base64,')
base64.write(b64encode(png.read()))
diff --git a/resources/loading.base64 b/resources/loading.base64
index 07ed4b3..6bf3c0d 100644
--- a/resources/loading.base64
+++ b/resources/loading.base64
@@ -1,3 +1,3 @@
128
128
-iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAAAAADmVT4XAAASanpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHja3ZpZliMrkobfWUUvATAMg+UwnlM76OX3Z4RuTneoW1X90h3KlBQudxxs+AcU4fz3P274L35KlxKKWqu91shP6aXnwZsWv36+XlMs7/mHQ+/3n46Hbx9kDgmv8vVrPZ/zB8f1+wVWPsfnz8eDrc847TNQ+jbw+xG/s7//nNc+A0n+Op4+v4f+uW6UH5bz+Z/XZ9jP4L/+XoxgbGU8ySEfSRJ5bn4XYQbSZfCc3nPNfqTwvnye7Y9jF769/SV43979Ers4Psfl51CEWD8n1F9i9Dme9Jfj8u02+acZpe93/umDfFOOP/78ELt7d7v3fK1ulEqkavgs6relvHecOAmlvMsqD+O/8t7eo/NoLHGRsU02J48VUk+ZaN9U0k4j3XTe60qLKZZ8svGa88ryjjWx3POSrxTwSDcb6dlBGrlaZE04nL/NJb379ne/lRp33okzc2KwxBW/e4Q/OvjvPL4NdK+XbkqxfYsV88oecKbhmfNnziIh6X5iqi++7xF+qJv4Q2KFDOoLc2OBI86vIaam77UlL8/CeRpLiF+tkWx/BiBE3FuZDNVdUqxJNNUULWdLiTg28jOYeZaSJxlIqnmncMmN0AmWW/Z7c42ld27W/HUYaCERKlWM1NBAJKsUpX6sNGpoqGgJqlrVtGnXUaWWqrVWq45Rw8SKqVUza9ZtNGmlaavNWmu9jZ67AGHaa7fQW+99DG46GHpw9eCMMWaeMsvUWafNNvsci/JZZemqy1ZbfY2dt2zaf9dtYbfd9zjpUEqnHD312Gmnn3GptSu3XL312m233/Eta5+s/py19Evm/jpr6ZM1z1h559n3rHHY7LchksOJes7IWC6JjJtngILOnrPYUinZM+c5iz3TFJrJWlJPzk6eMTJYTsp607fcfc/cX+YtaPmX8pb/LHPBU/e/kbngqftk7vd5+4Os7fEYRV6CvAs9plEuwMZJIzf+gcf//mv4Twf4vzRQ86jnPGsjK7xswLyc2Alyr22stYXwbzEtlLz2vW4fS8JoN+9upK7EC1gMVwma+sjz1HHb3PASpVQuaL+HnM5AHcDiFntfir2evXoKM965ZgfZ+7mFfixjJ72iF5S/jSKdk5cBt1yN/a7bKBOrm9GSMUjh2ls0UFR9mY079LfFFRcLCz0TlV/XYUGuVvyjP38N/+yE373OlS6VWwcKrRuAWvO4s4Y9yhUkBsU6J1RIEHpa2+ZS69NWLTcSF19p22Yp10O3eI8cS9f6kUj7pB1cdRkHR6YlDGw4oxMjHX2xek5e8ZxRQBnbdZ7VNqGP7WrZIP1crR3NZZ0gjv42yBgp6mee1i74cWgjm1D3HGX228+W1I6Mc2tPkz6du7Yo2xgcUmwj6L1Z01ReZ5V7Pd5K6tdm4GUnd7urF91q91An9zTwhzzcpvPrWqZwZyCPXxef7xen6sfe5Xly+XyXk9kpAyJmarHWMYDPTtBr37MtgA1xQq3FcgogdIY0tchqiNK/0iXhT08o2SIKZcK73h63dxK50ZpbCcQGRVlomt4WlRyEW3MC7cbsB3gF7OgGu2gtlFHZYCxaVrR3Q0fva5U2iaQ+kZikAp6zjjFvChkVAmV3Mct17Ips3Z1MWDwRlG6xAcAz+RWkDvg076MK8J+JVjGVrlLWhGlTPsi7VkvqWle1K9RjK3cJhdDOhiIIKBBOOe/IvIXCPrZvRaARSJ/UuUHPRdS1mVdNnFbS6X7LRP7GLFpZJXwxzmSdnstedQroDTrYICUkhbJvFuDq+HX2HHtYrRDqnnctqu8eECKeBf6LUgA3beY57G4Kb7RGNsxo+XvuDjkD/gels8RL9RxmERcajqb0daYyfYV7DJ/Pnoi2nXJnJnQWKaTh1D9BsANylJAkIOruV55cvj5d0ylISaddA/KgJCjKeoeCvG2BxJmFekyus4HFh2jdh4hexGWQRW5TWSLHSpnbM6k3J1tp73QOYgKxon3dOCq9azvc4zRNZY2MUTrD9phnggCT4mexyLg0zVX1BoAF2IODox4Tb4iGQACl+oog5HvlZR1IubM2gOq1pbN0XlaBFti8kYlSSerpGrd253HJaa8lRwcxQuf/GyTkXGMFqlGIJFLkwZIDujcuykbxD+ZxcWizXi/h6Z0pRrAfYUBTyexlXaVm3b4Z7TeZXewBJEyH7toE4ShhnZk4ZQctydwwU44LaUxd0IjVnGGurVIoQpqKviCYaVgYp654GYMKXPMSl70bkicXxpyg9WBSlW6jpiEU2oDi3TDiNyYkKfRjAFRfi8yuc8A9PhdadlwFQF9TACMEv5O3iRC61K3J9OwbdTNxU1Cu9ABg2xjQKTGAm2FCGHIg15brqsKYGQY4kPRSoAVxeLiO9G+UncoZsGSvu5L+eWgGEGKB+QtVyvqiI9mAjIobgOkEVghpYeWnguKscN1aI1Fo3pDWaoCWI3FAid0aIXo0geM1Qg1xCFvIWiQJpiIdwA+MLywf2AIGYLErjmKbXqsefrcnwCLkPGFDSu0e6oT7HQ/9JD1256YxKgZn4ydNtS2CMgE/gGrWG6py85JlR9Xj9Zabp6q4waAn2ll0b+6FzoNloBqYmSYhfiN1vG5/ymDcQHlALVVhz0kXADwr5VY8StQbj+nxoy20wmfAKriO7EXm1tcgjuNU+ww/HpilPMOvX/4+9wkZo4XWdO70sY3q5+iB3rACwwH3kSpZQ4NTsUPhG9wyPQngNUaqa6dCKUeW0MwNwV9LlfD1ZgwKorZ864Lria3D9sUnIp1Vx3hlCpOZLIFtTxOZWTcQ6S7/Wr5BHJRRYpoU6qNVC/7c8QEtYrTdrNXbhiqGqUHIfk7Pu4F0+A0X8flcstOCa5tokESk2J+fQDyJID5J3e45HjA+MlNjctufgEmlzzIlueB1Gr6SycB4RwuFQZ65m4AZaKB66RfqZhRYbybr1zc6nIzAPow0lQMeUQZwhSdzpfDmAu7ANhATqncBV1gVxoDs46pHvdeTK03Fc0w8D/oElQREW+7MuWG/OjOavvWCd4Mcb0SxzEZQM6ZLLumEThcxgMtBKF/crOobYsq/H1/DzwfQ2QCMuCtUV5IpbcBlo5kYlw8O8wHT6EKg6C6vkyTo0iw4SALf7mtVMp0gFwCRf+gKvKX7zV6R0y0dZA2UQHwrvNIzpJwjfE2VHeoICkDiy3U8mEis3BSKocKxoZ7BRi/SOb8s5Pev4fMm1rk6gYZX9yajExFD6AesCJZRWIiraR4o3DbE97SXV+pcWUixBOg5fiGQP0OzGAJ/h2t4J/zF5+4ZbcAjir4JBj9PzLoihDC30M0FOxzSENN4dQqF65AAiI8LkL3hMsXvGwEbpxL5JI2N8t+L+aHVjy3brsIBabBiZXAP5KIESQL8ig3KYNLJdAV4Eb0kJ/lb3VVPgJEjXppW3aDIfBg83R00FImzx/k73FtL6KhlnBQqpUAMEM/qiEB0ioLbnr3VUJbJnULCRnghUdqUzlYvehcKE+eArMHrOAkftDlaChPxQkmjPyRz9B3nSSkUPh/iWlC8sLW7nB+uCr+/bEXEs1Yop+U1NlwPP6XLJfYXywzfDyDTsJsYRMMCuuyF0aRBeQ2Qa4gH9fJ0N1aNxdGix0HxgwuhodD16UNahZRiI5g5JbkwyPQozeNOpmh59D2+thsieOhllrAAvtz1tbScXR+6eKL/tdIpEA09Bl3ljaQ1lw7H+QOK41NygylakMvCNL/g3ID8qYjX3ei31WxSPAAS+A1xVPXmT2uM6vWANgdHtKMM9jgnuesDmF2CCg7yMNxxPvvrpnyvDi24kJqh7A1VUj9TcoG3RijiAOFRe8WBR8wIkMnnKCD6cVWfc0Zsk2T7WkYcEECaE+NO951Oy50QPYygLYW+qRgiCEB7GSB9dHmsHShJSPc5gQJVR0VXSBR66WubAt+BPNZxXFv+bRWKCDwRAzLBYOhZPyI0uFqGfVxDU3KdVExWM2D73t3IL2DqopsBwmG257lYLRkLzXRdJh98D1lZoSDWG25ukslDpyLM6ut7lCAO6U4FWLzA7x1eXpiM7nssmGWOsRzMOmBK9zNVx+i5U1qVSbWCcavAERSLEM04R0GFUH1oBgzN8c0aHwtBMRGJMbtlsoBbQBJSZJYWSNs2kNRAqI4cLYOhI6d5U8RVAHs0EeaQUiaFpKZl1BIyp1jwrWXgEpOCLJ3ps0v0T7ZHugMwYICAR3qfg+cITk6Gn/L9fCfU5PKDjkQqpkliqRa3lqhPusFpnoKDp2jJ1fCsbvorA0uIuGBbSN+CGQYRofoiAKWQsw2sjkt3MvualI6MNl4iaNWxtsNhTPTLPj00byB9fophDlLp+JamyB4SdwMC76jxS3yhqAsWPfVYcJHMyL3D/pnX/qy3dIFzRhmX/Lylzld/4rvzroSk2z6oghoQq1jGgjbrSK/KYVwaq6SYFFmDlkes4pjp+eJqw5EeqkQ3k/Mdt6GifMjQ3VrT0NRUxntibgGVxaKIzuhPNVw6GH9ZEYTo1AWceeG15LsJJ8+b0AInUHYyhVsmJzwqmf4piJu22kqR2D2BBqORSRAKisE2oG4xVTwhl2zgelILiCvkErbSBEm0EHQg1UaVAWisfWL1EReR9hffDoIDz5g50n24WffID1gwx0i8hkKODyTIAdTkjJqyQmZ59wd6sDv8OREwy3XgKYAWygIAd3vi8isFxyrPwzEWjPNDGSIBUOFfKgEL4NoZ7NqJoqioVYTqGgIZo95SpqV3HrUTo4Z12ztLJWtl7fd1rYIJZGOh+bmaBJ0OFJ1bkaszOzsc2G5MR2kXViUG30ak5XtEjgmwi+oj7AigZw0ajQreiFAY0BJa1b/qy9R1m2X60IeZ1nI0QILHuY4+8Cixyk1Vr4Ilw4ZrQ2lA/mMnatGTW1wBCLZR3EVhmpLGMwXpR7KkUyRYquIaHu2KdXVAIvjYxc+OC0AD7QG0yEFiQvvjo2BhSDRNpFAgci5koMYDisoGCzBaTVAhbyfJPT7WEKQlfOLQ9mwPdg+HgGNvSFngYwffCenx2QPdTyHnjDlEkRY9LaNzNL2N6X/yGn44EEt91dSHNXAa54WcAPXfdis5YG2/Ff4gQm52IF78TqE9A5YXQM+QW7dGUHvy2iZO1PME6Y5/JY00iYrqzG4eoHHBClxrRJzmyG4UUbVoRWrfUEQkBJIVLzz6ghL8XvX4l6VoO0nODUhx54YG9JJdCjS1hfEjEq0n8tTWBGv9i/eEg/ZNrNdJIG+B1I4H9oK+zfcI4IvNva+vcnChhewbXgC1f9sy1HcicAu7IFwon+s7u/L2uhjB9/jq6xusPUHwTROAExUIDASsLnwPdiKvgGBPLEg3+67EzbBvGfBAcS/uu72wxvMYEOCCsA7SArqlIMIi9ddlLCjuhtVwWPBCour67elCBCyLxjPznUZ3pn3nrGQHkHQ0X5FC6uGe9jRrTmMyZEu+5Uwzbe5b8bHy9pIW/ThIZ2MRdyzfkjh90o7JGw8howEkO6Av9Ciu2hJTZc2+pYoNSHQ6fYhcW0QKDYO4fRvrovRqKdhWcWRMfQTaBZoDzZSq+rHb7AEMbZHv+ysG6KeRAYrE4y2FVMCbSrzTouICDiphE0AI3MLKw+uAupmCZcdBCZOwN/jbEhnKRD3bhHIAJcu/oqeGLYY30+g7JRD3f/BFVEgRkUqdZ1p9/caLvg+9HNlnQi0COYKkrde//BHv40siIQw83Hq7uReoxZ0+5T7waVCGEETm2NaAapbTQV1uYC84QrqQOdf/lgBNi7iYhqyZvbvpCa0qTYhLaFTI7kJ5FHh50jp7+x9AeLa6vGxBvtYVQL3Xq+XxbnvTOPAaCdZvZYo6+irUV6fvG3v3yYPqWq2Ot7eMFKWWoisxvEdGnmAiSsDNPxMQn0jY9IpvAoJKgAISJ2+nuO0f0rUGh0BQvv29URWVZjugP+hxQttOKQwv0keuDWJslH4CXV1THdommUcTRVggxezbz+603ffBbUj2BjVJQAgAxQ5rckEwsMrxMr8/EBr69wsg/J0Tfat4e7f5tq3k+rVtW1iKfnRS3wFHkLCyw5Y7lOo7L+bfWYlv8AGSs9TfjKHgDcU3SVYaveDEkm+Y+xdsEHcA9kFn+Km0En3XnJjS9PA5ZImVxC8wH/8GDc9hBsu5wOHenp/uG370DfEMZXffXcT65O37jM+wY7hRDm/SSN1YrGJGS0Njw9KbIh/lV+Uc/sVvIP/09f/tQPeGTfjD/wD7TzMQNUoCNwAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+MLEAMsMGZjQFkAAAoaSURBVHja7VpbbBxXGf7+M7Nrr71rr++XpE7rWImrOEnTuGrTq9SLQCpxQUXwwBNCCAleUN9QVZHQ8sAjgqoqQiAknlBbpEBA0CttqtYkdnNxmlZp0tRx4vs69u56vbsz5+NhZtbr685kY0VIOy+JZ3bO/53v///vP+c/I8TtvRQqACoAKgAqACoAKgAqACoA/r8BkLcVADWgy4RglvOyzn34sRx6sLpMEgNd2ta68EfulTrDqH81zzIuBLVva9tDoC/tFBHZ+YVdeKwDAwjmAr00OGg+uVcJAECuXwWA0Yluj03LVsqQrYsBZn/zW1v+/PIhOEa0BgDa4tnP21qFwmrLskBGXrFFpl5OrsJVwGdBIW9vYRpeywkoJz5dZdm9bIcYbiGANgMC6H/a6wGg5fK0hQB27REA/PsYiwG4/2iLAKCMLQQQ/zYBcPIjm8VzdRC4BIS2kgF5NEZA+EZ6raPp+sW85QC4LPdy59MCQAYvFFsRAQDHAfBkgD7rVEkdsC6+M7br620OUAkN/IUA9PH+NS86AGSZACttmZGQKpeBMz/541svP3/Vm+z+fQDAY9edGJBCKGh71YzyN9L5zFyuTBdo+9gCiLNHrrjj13+XBDj9AbniZVoO5aZ3LzefF1InWSYD+csUAOd+MebeeKQRhMjrqZVKwLzDkEdAdj7nT5VKAJBQj2gAOHv0K2esbc+IADh5lgAEBKALZcEVATK7YAl9qVLJGPlOq/OTMz+/4vj4aVMA8LgGDIEAYtIjwBUByc27vld1UiYD0vtii1uInDiQvffRDUO2tosS6WgvhKByPJBNOn9S6sNl64C+58UWZxbnj4wSgppnAQBzs5Cu50IiVT/tKixODc//FAAw4pGSLpBSUULwk+dnnP/vOdqloMeevQZI8/HtYOY/g7j/sQjEXgQgjJigZBfyjn0Vr2ZJAMaRUgiFHb2DaQGA6ZEDcWE0ckIz9LNDBsTsefSxnpAIlNgAwyGhZOctCACqeMRHZZTSgkly+AWXg76jXUBu8L9W/8NV4maZYyRvwzCFyM9786+v9lMVxI9ik0MuAjnwq7hAE2r9wWkn3KKo6iPlFCOCdtZmYedz8Jetzv3hEQFFbWAfks979quXSzU1N1SkjYoRx45d7Ly/Lw7DKXcHXnphEgCQ8eRng6RRzrPl+Wsrlc5HGsMbxOP6LqDcOHJFA40PP3JXCAJQy/ALMwSqf9+7KaNLc1zhf6ZTKQ0g3BkOlAUc/hsFWPrsnQtmvIqAkva+oSRCP3548xWXgayIcvKfkl+YurEEArDDEQRi4K9/EO9521OHOkzAUuOn0729ZinpymalOuTsHBeSlje+xFsDAeDQS46jhQBqHnpiZ9jNN/rILQqgF+cXddG9jrpgADK/e49FP1IHvrYv4n+xR51aWFoR+dF2I5gOMDP49gj1sk156Ef1vgFY40teAgsoqKqPGUGFiMxeev9EqujODw/7JmAmUfCWQNXURYybUkLqqcE3x+j95tHn/K7heT3trkbIqljtppK82apYjI5nHh9584wrrs2+Y8BbmFEi9bVKpLxynL/ywbsLgMSO7vQdA+lxTYFE66qNUmnjpxjZiaG3r3Z9ry/Api81bZmxekNuSTkGgVw2bAbqZWitRPyIhvjezTPYnq+svSHXbP0Db/t9tynWY4BEKsPimUs0IhLQvpVflRkh/2moT/wruWIuqnHgQEAGZidyxaxRjJY25RfAp69Zq/Jg8k8N3YHmvzCqZYUfqMer4+IvBjiUX9ugOxeMgHmuHTlBv0GYU2sX5/mAbeS1UUjbbxao3XptsPYE6+VE17m57j5xXRfc96Ba2WBh6Km7A9lHvGUNh/EW8Z2G+as3iu9TNXeawdpZ5OJSoYMqFEi41vCtAwIW6w4BYVAhwuo3NhhBbvdHLKbP2VACibG/7ohPAER+/MxU60MNARali2OLNW0xw4fjSrmAQPriR1e0sOP7jb7tZ85lIBLtbCzdty3BAO3E2ZMziiAmTj/um4GJDEAuJMOtbbUlXGFuvg4ZHTqXdVniqPadie5imrmr1xs76o2bAkDo1OcnRwt9YkGT/xjwWjOEPTVT296yScN2w+25njjzyVxxPW2+zz+AjsTSstSmvhhtaYtJsCDU9of/LrR5RUNq7z3UHEAL01dnrOJFnNF1hwoEwP7qVasIc9P9++MisomgrZI8IjMxlS0aW/U1BnKBGrULdlT3Az21Ao3cVK45WsI+kUmZMVNQ0719ZjxFjwY9FwyAhD1qovsOdioFALPHR1n79K4SACbO5dC4PwrQ7GxbGJ+1XVKCbk6nf70kVOzs31unHC1OvD4BoPoHzZsCSH6YB1h3MOqmweL0ZAakMu6JBdyen/9Hwuh5YEe1WwO0Yx985sCmBHx1VgAg2h8rrI7np25Yoe5WCZaG0tedMupNOrsbIvHaFHwUGO9x6tRBN/Ek1NyUt8xw8GZ1TUujAWf+1LOvTzpURe7Y/DCqKew8Tg+nCogkXBO+mWLEwoR0wrNfNdAr4NwkW5tW7lQ4P6saYwq8ds5yDNcejN2iVi05+8aEmxuHe0V48a0sq5/YpVb4/pSFUP8OkNcdBJDowdjNt2pX2HfjDwgP3G0oZN7PUpbeXQSgE599liCApU9swDq9SFGde0MiAJgaSvpYbpl+7DtNWlQN7BYKvpwXkOlEFPrzj/IIPdArkswC4NLEXYDq5HkLAJgcujcm5TOQeM2df/VArwFBfkQAKBUGUictUflTacAQAuBlG4DatsdVndRwiuUe2+HGG978v7EbEGBmnADY1gTMLwGU7BxQX6cAIDFHAmrbXncnnBxaLJcBfjwuXvwrAcALWgBwjwk4Z+jaEpg7NQDoL53k6ewznTxKXSwXgH3JITE8sFtEAJ383FGJ7qI9D4BOZ85jiwAgqtPlQCd0uS5wGrThb+52j8UvZwAQO6NSrIus2Q4CyF5z7nkIxCzz3BDmPgFQ/a1dhjOyNSIARPpWv3iXEgBy2Tux6dhjkpDtqtw03G+dTDc82S1aAQQmJgGA7a2ra0BD3ZwAWJhtc+astoUuZKq6ukr1tkoCCB3qz4VDHts879jba6xZQHQPAwAvt3nctrdahlG+EgpCtaFCuCUvEwBqd6ydV4dTcK6nl8cOG7dCilesVb/ICCDsWUfla7cDAK2xYN8YBgOQOy8AaNy9jmNlhzPWl3nZOgDTswAg7estb6SpAQCwkNhCBmYcvdtjrrcyMu904jSJrQMQEUAQ3bHBfqgGAiC0hQDuaCW06t/gAKymR6jZ0B4oBoJ90Fhz+NQltW+/rG0qAYDs4hWrs7cqWEMvYI+IWVne6k4fswGow4WYZB4Bu2mBP+uV6vDy/OPbAUpXQ5EehgMPWE6XjOnTY7LtntpyjjLKAwBaML0vum4DgFtxVb6urwCoAKgAqACoAKgAqACoAPgfia4AaU1KIEMAAAAASUVORK5CYII=
\ No newline at end of file
+data:image/png;base64,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
\ No newline at end of file