web icon indicating copy to clipboard operation
web copied to clipboard

[OCISDEV-137] Markdown editor can't upload pictures

Open JuancaG05 opened this issue 8 months ago • 4 comments

Describe the bug

When trying to upload a pic in Markdown editor (which is very cool now! 💯), via drag-and-drop or with the specific button for that purpose in toolbar ("Upload Images"), nothing happens.

Steps to reproduce

1. Open Markdown editor
2. Drag and drop an image from any folder in your computer

OR

1. Open Markdown editor
2. Select "Upload Images" and select an image

Expected behavior

The picture should be uploaded and when finished, shown in the Markdown file via [name](url) syntax.

Actual behavior

Nothing happens: no loading, no result, no error appears... there's no feedback.

Setup

I'm using infinite.owncloud.com, so:

- Web version: ownCloud Web UI 11.3.0
- oCIS version: Infinite Scale 7.1.0 Enterprise
- browser: Google Chrome

Additional context

No response

JuancaG05 avatar Apr 03 '25 09:04 JuancaG05

For now, we're going to hide it (https://github.com/owncloud/web/pull/12460) as we need to come up with some creative solution for it. If there is any.

The current issue is that there is nothing set to handle uploads. The upload part is fairly simple, we can upload the image into the same folder as the file is in. However, that introduces two new issues.

First issue is in case where the file is shared via public link (only the single file, not the parent folder) in which case user looses permissions to view/edit the images.

Second issue is a bit bigger. Right now, we're displaying images in Web using blobs. That works fine in context where we can use async loading to always get a new blob. But, the markdownit package does not support async rules when parsing content so we cannot simply fetch the blob. We cannot also fetch it after the upload and just save it because it would be gone after refresh.

I'll keep this issue open but will mark it as blocked. It's a pity that the upload will be hidden now but at least we're not showing "non-functioning" features. Of course adding image via a link still works.

LukasHirt avatar Apr 10 '25 09:04 LukasHirt

You can still upload the image and convert it to base64, markdown is able to display it. So you don't need to actually persist it on the server.

AlexAndBear avatar Apr 29 '25 20:04 AlexAndBear

I tried this and yes, the markdown displays it fine. However, the editor part then becomes quite frustrating because instead of a simple ![my img alt](./some/image/file.avif) you end up with something like this:

![you are going to scroll forever](data:image/webp;base64,UklGRsxqAABXRUJQVlA4WAoAAAAMAAAASwIApgEAVlA4IKwVAABwoACdASpMAqcBPlEokkajoqIholZ4mHAKCWlu8p/Xb//59QLRgA/qvRx8smf+ya9a7dAkH85stnlmqxmtu2AbgQj3/f1zAvtruENgg3AH7FfsBvoHAS7gBqk30n/If4DwgfuP9d/Iz92u7J8pexf7lfbBiD6/c0/10++/3b9svzS/Fv9d/pfB/426gX5F/Kf79+U35rch8AD9A/qv+d/uP44/Kj9V/ofRH69f5P3AP5j/Uv9L+b/9q6BfzP2AP5J/W/87/fPy3+pH+u/6v+U/0P/Y/23vF+h/+1/nfgZ/m/9g/2f99/e3/M/OB7GP3R9kT9jw0T+A1q9UBynNYFr8eL3LS51QHKb7F4EWBhVNarHq88mA9b/HB+vvVO4cK8peqdw4V5S9U7hwruinjyQlHfrlJElv1ykiS365SRJXSBEtVTEMenHgOnwJJIZRNGjT4ylEZnGaDKJo0aev3+Rab2dRnr6UvVO4cK8peqdw4UYzfsVLuiniKf1ykiQQzqKFbO5xpLfrlJElvz06G8TDkeyMUrYFgF4F5K8peqdw4U7dZ8CYwynHaNGpIaWlFU7hwryl6p3DhXlL1TuHCvKXXXc2KoiSykzOrSS365SRJb9cpIkt+uUkSW/V1L1TuHCvKXqncOFeUvVO4cK9APIxlk5k23podaSIQ+1ZESBKvBvS/F6SA6RSV1ziBwq+cQOFXziBifI0pOoh5Fs4Ve9nbeofkaSfFvcfJOjsrKn+Kn/9h+QG+4bN+wEgt1OWOqolMAeOv4cePfT9fFaW9tk514IBVLQMF/0hVOaFg1H6krQOoz3be1AB8AZdyTaAxI22BuFy1K0zZUWXZrVWbObdk2znYcTvOhhL1dwVhyCyATTrq5blNxRFqUSV5RTHldjpgizqz7cA4adTTcavypYk7kEWfl1xwUAAWMW4US2KfIxjO/+IQULOM3kAKmWt8UiY5zH06wHxqguHTY2X+BXUd0IJEQInpAHgUOc5CDqWWqWdhbPpqcVu8GHnWBsT/Y5O4MnQZSJqZKx1G9yDjRu5AQokMJGYtr9iZ5BiqsPnIHX/pQEwfKnVo8vh/0/mR1/ZZKaZuOsiKr3+N+7Cd/TSlMuYd/+pEM+wi5IAZMinSFGcDeFpbWesxB+hL9xwalIPfs6BxQtU3AIPpz15L88sSv5mrhgAEDaSKTwcPMdH8DsCbAbuuUMPHrrv34PFTxHUBCRIj5mowZmltyE4me4yA6NWFePO48D2CuL/f9GnQy/Sip1sXJxY/jsDiUq0CcSZsFTvwrahZUYyDn+0zcq1mmQMUScGtu0mMyGyqvbaexAZssu938RaSc6L4mEVKPArpPnR4AL/7MWOJCAqwSMUMQKvBDrtGFp8RJ2rsi6NzuFUc5We5pw0BlB3vTgadHFViYxZ9XasOFeUvVO4cK8peqdwOW6BfczyS6ylHfrlJElv1ykiS365SRJb9cpIktlU7hwryl6p3DhXlL1Vehg8jSqsDsomjRp8ZTjtGiViVLGYwynHaHr5dHFjSW/XKSJLfrlJElv1ykiS365SRB4cK8peqdw4V5S9U7hwryl6p5EuHasOFeUvVO4cK8peqdw4V3RQrkWqlJElv1ykiS365SRJb9cpIkt+uNo0+Mpx2jRp8ZTjtGjT4ynHaO9DCDFnr6UvVO4cK8peqdw4V3RQkBSWMlgk9LO5xpLfrlJCn/9vuGGeVKSJLfrbAAD++dkjPKIOrs5cU8BClyO6KZxwmILLSZfLWa/7UIvAstJl8tZr/tQcEdQ6Rz5fFjOqsaZpi+qlzWCE+Y8YidFM44TAlJPjrfqSfHVx0VWD4p7vrPgOX/dBELco0DVrKCrrRG8Y639mgi6yysD3Y0Ath80Ath+I0PyBxssoP9Ol1aAralVswgH6Zk7JxcWTOm9GkolBV0Woz9wvX3UfuZ1f+WZTT7eQChPrgO/pIfOiaQ2Oa+6rFrt/+16j/zaYtm8e/SpvzyR9p1zEyt1MUKUK1RVLrgL0e8FfPWMwcSLG5GYvKVhVUQX8WQ/dElZwo6p4CgdsAq4GbZsF+dIjemV1+hKp644v2pc7M+VFFkRgrDNSuxShWEgrT/sMARjSN6fNoqe4AGlSWE4ex3+bfK++UmERp1mICcda8Bbh5DCL7wpjBU6eHLnIxkbh47ltUNNv/OXDcydw/UJHSgdF3Cs3OlDQ9UFaOUpRCSz7VcWQnTHyYxTj3SWev8oQ6ODxU6/nd6EDZGcBOQC5RyF9ExL1BfNQZJM94Cz5UUWGfHg1RGFwL9beaUeADNSqf2sr0VXNZAsr9rRPS9kQgW7cWXpfRJA6jzIImlmsqy2VfzT5HRO6RiX0Yte/JOmuOpdv7xpk54QHltlozl3VXeSebYptfJDZoZNZKhFjuADxWctyJj1OQaKQG5v8YDJi1tf41j7Io5aR8bTVaSQoU3nu0ZlPGR0S+84KyDlBGO3X+uNg0xZ5e2v6fd6aeXd78dsbTYgsfpOhar592rNjSHqrpy5bcQi63nTPqDvh2vJa2BlhEIehj8M3965EFjbAxG4C1R0i24Cx9UC/7xf+gH3Y3/3+zCXbryut01ImAq3rZ7JON434DDQKT2wdhzF6HKCh6a0UKaJX9C+sYutuIBCL+GuUHkoq5jubIDHbX8jN78xHd8z2SMNILOMLgnQNXEN6N9bLwHxq0YAW/ifFSnOJxMY3SLlPMz1zvpYu7xxgegu2GQxFd9VTQSx6CBMnsxVVkn8j2nU9OYaRdWV1zHQNDvBByvMID/wakB+BCXpesbsYpgktwBZLk3PAwyhP0jzqspL0eweSXyWa2SRUfSqJvKrucZW7Am25pp8MBonq1GhJHJSWvKmxhz9/35bmHGGuf4GxkyDN3TIq4BQSD48D3x3Vds1aWuie9/yd5JgxbacvjJxNgfDktnBNr10s+c/j7DsRc0cdJVyG0Xn/OOkBd6alKPdB0nVTR8dKxXYSy5VmSebFI9IxmAOJCnYUeZ/jq3/0xhFTQBxAKhMuFgpgpcZ56TuWK5OvQfDjNs0U/tsM7+PN1XGZg81MUWOSyvi41lPBL4WW4rfdexNgIvqGzbHg+NiAMr8l3YYwR6OMX67hEPb8XSVcEbVQyHr0aH9HXbTA5dLPJ1l4oUVxQiQTkvBC+w1no/gvlG8vsqx5FIpWQbs1N3DnVVANr39VQNTb/v4cDNDQtyG4ImhwAo6TS0hv2sRiZ85E7vOIS0fPCgOQeSi5OZ9kQy7igpFF/Q5FJZEe7Tj1kT5O6h2YA28BmvVapm36/iiaZaS/UmFhwXiwMwAT3418g4iBITh4ZpGbE8HpDaB8azfr6nrEQnVoftqijGwj5FSzS/LzBTToEfX5gtciNYex0DDxYN2owN/D3/l/TAf/NnIPVIcsUhQY7UbI78Fwh2Y3rICIHF+eRbRT7kGk201Ft7eA1r6/FGe877v9YanWEpcCKwQ4W8v7KEeK9OgSKenDD66slFDEsqfJr/ymwL+OI+TkBqYZ8JTFL/Tn8G/2fxEW3+jgvJF8k/Ubrnj/eT1J1z0QIfbzH+pncy6XU1P0oPeuy3bkkMmE95My5v+Rj1bZpjgg169bnETG5TFTOa639g+LnZR+Unu+Eo5jvcUsDnLaPL+rEj4h1qmmd4NeMUhHG9HaT1hi6tKcA/hZAE/S2OhPQHLz5QsxCaE04Z4r7R143SU8HvRjchAOtOLktB4LLdQG5aXDFshQtIuRUHohLP7jd+L6KzX6WW51mr5LuAf3Pog0A+xFg+R25GPFGNRNdJrGHBnG0OlpTKGEMDbnXW4wVeVWcCWQzTJ+UYNyU4Xja/91K7i6kgvwEFfQT973EqN0ynBe17t3jhxuT9ZZ8LSe7TtRc90PPOyyhMSUvAhwbcx5OvuGdlku17fReM2xCbEXJxv5utoRVHgM+lwBur5DUVrrtKqCQYfdzqgQMlTtb4vkh6+pJs7eaq4hCt7VBhYPPGEoXmOU0A7uGnIiFqF0QqgsJEztlHA2HmzQJJKf+uQBP6pmN2n0pol5EiT9hwY2ThV0iCqtdABJEhjqkJbycPEnpo5yugiTzH8UigZ//x0tUveMql67gONyfV23M6+y9m9FsbF8CVCFnmvN8A7RCKr6jwDxsRLMZoKhcePMxCd1v6JYicJNKW0oTL9xHBalxOHJwWUnwkjwl5S1ubJC+Yj7iLzxBt32vH/K9Xb3/rPzgVH+Sq/8fcbRUbytnbz3o20ZTL+moizdyaUTyqHRV/2lLuzWcKzvpNELet74Hp1cy7e6pNpe8Xpln74pKecs+nqUcy/z3t5a1mffDkFzbsvNf9txW9GfDBTDz//fQVsEf/il0Vn3Pmj/4KG1lxfxAdjJZ/IjiqcRUAIXh6kwNuL0F0JtoedGtFG3Vf0RJVqfZ2gjsPyeEYIsa8Gz2MGQko9dkJbUby6/pY6v3IpgDnoir9pLht8y7Q+tvhMCeFQsR5eItQBRQoDMTygryQBglOu3EXCXDnnRu+C5imkVCFuFWPAYbo2kR4K2i7QXb6ZHfloHM5TIC2tQlKKYrfyXYVn+HFcsLV0GFNeppoYSUiVzIslojH/4LpQ/fDEE1+p/iVDo/OlAoC0ieheYAHjzjoVlS+0zzS5y59vfNVmUDdPEcgLJlSwQ5ZnNP75XQYiAqJP0z1bAywwMBwKmKrUjUgLjC0H+CmCmVGA7u/DvGbSPtXMxd+GX/MOhgxchCqt/HCvUneCyJ+6861S589S0P8kT150NqGEFMGNshEYeS5WJ/GvjGJI+zPgDCc8DtHQepEEM4egObUqBLHEiVUqjOCK7LX6SAN4wlJzVkRuJjoyTVIapBcqWbLMk0EPoJhLt7hOKzsUefOIxzoakIw+rdgFGBlNXxLvtYstxHYthupuScfH7nhdcDUxsse2zLo6IhDUDbJ/sN/SlUHpy6zpL5hI+S9hhdcYNT1DZaeSCOSd9BIPXYzPIueB/lZPol8EH3ghtjDen/ewnRpgqwLYb9SqgnJoppbzRtuaD6qPFb2eRmRyacKcdbG6JRpOYtQY9CzUtWJPqVAAUMAXmjHozzuyf0JnqhZfDeRFlaxNnwPrM0CnDOHcdux0+7Nogf0FYgpUsiXzQtcEWOx6sroFOi5FtAhOB9ea9Umt4IGLNJi5mo3AB9isNqxNERoP8GDVu9CIP8C8J72rwWh2RlvqfOjxWNKiyb9z4SbXaBvchSFPerkKTU7cxYLILU2eSKBZqfw6GrE1p7lf+165cxD/sEIMVP5Lk72ezSWUJlv+SIkT3E+f/VgS4GUUkVn9f2BridqT8sUo+r1PqSHpaun+jCsiFO+4fvcOzbnmBN0YFerZ1HnYSBhTGZ5t+MEXTYFgObiBbi9a4xVEJyRhf6M0T4ZYk7eByjyIrtyaDbiSWqCWD65Uq4LMaMewXNttrCdoJsVAl4HB5tCVHgg8M/NhtXcIwcDEK1uerbAlFnoza56QdjqxDNwnadFiOtGByp2+Yl5fvpU2Oq8Hcf/SZDcIQAfXWU/ySoIZW/nWErLRv9o/e+Z/Uqtl3U4bsOB2g25hTQ7krkc8SGwfS+1o3j9L2c6U4i/+xKQ11HeS54v4JicuBq9gPwxMONRQVR2bxRCBdDxVa3ntaOzsMQzE2NVuXJlX8xCNWoHgzBO4fyAAKwqnQ6/Fg/AvKCOdr51oFvtDSaloSYFOhcz2IXJoAcMYB8GbeH7wtd3DqAsKtdDPrcpcVozuKBAIkWwy4q0AIflaRPcCFVDI2pjnN4JVPERVRTRM8Kyo+65CdLS9zwcMzysBdHIkEBmDg+MaDfqyyvoI+0c+vLuE83LK+/H8rpYtOr5bum6jpPRCDYIVIlXk7i255HrXo19G+Hdq2JdArb8KP0eoxoeXWOvx6qQgKjPmNe83iHXbgGjOMMC1xB2RmyH2WR5ExR95bG7NUTw9mFec0S7jKliYG6r1B3HF23eeAV++F99EISlREXUgpLP6lv+3QNT/65+iknB52bwxEaGQVHdHhiDN1TLGjeecVDZ6kOzXdbkmzhfCxREvDXo35Wz3hfqYEklm9a6t6mCXDJtv2An95RP1rBt7YiHrkQNJAE96ljF9m+jH2eYKVI+Bp6ivILXe+AfuhFhp7YDsSIDWQk7YpY5hw4yvhDjKwelcDh9EnrEkqOJSfnX139xOlu5J8HR+wHhhXbY6C2Im7FrxPMmG1hmaWXWFF1IPybaMRFsqifkfsUo3gUA9ghSQOhLmcRSMCUG9JfJBbM4ZIYrJudSfOHTOThaj3zh4T8uTzvHTkgjnMHg4kr/GquC7EGn8A1xUx0d3bzgyACMGcvraHfIThtyOD0TkNr60VlD9dGhkNbj6ah6TOGo4AzKfW1y21Hyqd6tS5UJpZldfZxH8jh5q6dnHsZ+iN/nu9T/qVz+sV8gPQCDMkFIqqMiDTRgxwmg6z/ul3sHTwumkUA+1e1iZ/wzpHYgAgA9l3BcyxOrgkuaJwfbJW50dooqtp+6aWHsYXi8cBgGrJ+82TwGTcVbcWmNDzA8FMmSClvVaJ4+kdiBlXa54psuPr4HgGCsNPElSh5h7paOm2Ukqw3LJ+YKfVVpnn0XeV4uNTr25ygHk7lCq1fQbIlluFf2UMCSMqZ0ecs+tlVHko+sbT6DM4v1Zo8PwBBZl4PRLYYGUou+CE7eZVeB7OpKHB2+s3lfdM0qWJpej7wCaNNZrhj9aiz/vm2J+3YCh76dLFrU1P6GwJdBXgqcMUTm9sAI9zXmC29haukPJ2ErKR9rDUN8GUCHYfIWDhuArsDPWGZAFJgkWEA6Mc+vnZHGuj9dvds3uIdWoykC+ggN3nyRvcuc3+i3z1OEu2ti49kFyCUzrm8OXJWyNM46acrQYeBQpsaUr+LZdF4GMJD60qd/J+JXAgqbJm+cx+nowtWRiGgsa5wQ8ipvQnTcVY5yo59j5d0yNk+y2Dkid/p2+E5sEAicf2c+GdRPl4z2uJS72zU+QGv6sZxUOGzSr8aJxeediRwdhuCdQ+dH+adv5L1LkEQG2rNXinziJ3Jfu7XAPNO/LIt+kweArO/4LEJqVz6qrwUBQCR/11ZYVLzhjl5tqWKuvRAY4Lwj6ZndCEq1CQdy+ZWs74CNMkheQ9MEYEiJzo0vg1m+Wp9AWzWK7cy49UGv/UaK81KIzD077VZmQnzOnn2SGZnVzINaqve2wzCdUCn3NeAmus8xWb0JdpdKfEKZyfnXM7xkusdyeymLkgfQ+YNKcbHHsp+rLI7XrAKPtNAB3ancN0cxksIP7D++Ea6S+Lt7hEAhON0ibRZnrGCAR66141Um9JT4WGdirTJmAKaXxq/hQ0a3nPNryeajPTQ1Qu9VjquFCCU4mCBGGE5gWhZNlqJq6QgX6+ONsx9zocVXE2KAAARVhJRn4BAABNTQAqAAAACAAMAQAAAwAAAAECTAAAAQEAAwAAAAEBpwAAAQIAAwAAAAMAAACeAQYAAwAAAAEAAgAAARIAAwAAAAEAAQAAARUAAwAAAAEAAwAAARoABQAAAAEAAACkARsABQAAAAEAAACsASgAAwAAAAEAAgAAATEAAgAAAB8AAAC0ATIAAgAAABQAAADTh2kABAAAAAEAAADoAAABIAAIAAgACAAK/IAAACcQAAr8gAAAJxBBZG9iZSBQaG90b3Nob3AgMjUuMiAoV2luZG93cykAMjAyNDowMzoyMSAwNDo0NzowNAAAAASQAAAHAAAABDAyMzGgAQADAAAAAf//AACgAgAEAAAAAQAAAkygAwAEAAAAAQAAAacAAAAAAAAABgEDAAMAAAABAAYAAAEaAAUAAAABAAABbgEbAAUAAAABAAABdgEoAAMAAAABAAIAAAIBAAQAAAABAAABfgICAAQAAAABAAAAAAAAAAAAAABIAAAAAQAAAEgAAAABWE1QIIU/AAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA5LjEtYzAwMSA3OS4xNDYyODk5LCAyMDIzLzA2LzI1LTIwOjAxOjU1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1ZmZlZDcwMy02MTM1LTFkNGUtYTdmZi0yYjAzZmU4MmU0ODQ8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTkzOTAyMTYtMDZiMS0wOTQ1LThkMmItYWUxNDY0MTM0NDRhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPjE1RThFQjExNjRCREJGRjRFNEQwNURBMUFFMTE1MDBCPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDoyZWJjNWZlMC0xN2JiLTU3NDUtYTJhNi0yMWM2NDdjOTg1YWQ8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMjQtMDMtMjFUMDQ6NDc6MDQrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCAyNS4yIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNvbnZlcnRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5mcm9tIGltYWdlL2pwZWcgdG8gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcDwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gaW1hZ2UvanBlZyB0byBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplOTM5MDIxNi0wNmIxLTA5NDUtOGQyYi1hZTE0NjQxMzQ0NGE8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMjQtMDMtMjFUMDQ6NDc6MDQrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCAyNS4yIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD54bXAuaWlkOjJlYmM1ZmUwLTE3YmItNTc0NS1hMmE2LTIxYzY0N2M5ODVhZDwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+MTVFOEVCMTE2NEJEQkZGNEU0RDA1REExQUUxMTUwMEI8L3N0UmVmOmRvY3VtZW50SUQ+CiAgICAgICAgICAgIDxzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+MTVFOEVCMTE2NEJEQkZGNEU0RDA1REExQUUxMTUwMEI8L3N0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPGRjOmZvcm1hdD5hcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDI0LTAzLTIxVDA0OjQ0OjQ2KzA4OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMjQtMDMtMjFUMDQ6NDc6MDQrMDg6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDI0LTAzLTIxVDA0OjQ3OjA0KzA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCAyNS4yIChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8dGlmZjpJbWFnZVdpZHRoPjU4ODwvdGlmZjpJbWFnZVdpZHRoPgogICAgICAgICA8dGlmZjpJbWFnZUxlbmd0aD40MjM8L3RpZmY6SW1hZ2VMZW5ndGg+CiAgICAgICAgIDx0aWZmOkJpdHNQZXJTYW1wbGU+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpPjg8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaT44PC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGk+ODwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwvdGlmZjpCaXRzUGVyU2FtcGxlPgogICAgICAgICA8dGlmZjpQaG90b21ldHJpY0ludGVycHJldGF0aW9uPjI8L3RpZmY6UGhvdG9tZXRyaWNJbnRlcnByZXRhdGlvbj4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6U2FtcGxlc1BlclBpeGVsPjM8L3RpZmY6U2FtcGxlc1BlclBpeGVsPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6RXhpZlZlcnNpb24+MDIzMTwvZXhpZjpFeGlmVmVyc2lvbj4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NTg4PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjQyMzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+AFBTQUnmEwAAOEJJTQQEAAAAAAAPHAFaAAMbJUccAgAAAgAAADhCSU0EJQAAAAAAEM3P+n2ox74JBXB2rq8Fw044QklNBDoAAAAAAOUAAAAQAAAAAQAAAAAAC3ByaW50T3V0cHV0AAAABQAAAABQc3RTYm9vbAEAAAAASW50ZWVudW0AAAAASW50ZQAAAABDbHJtAAAAD3ByaW50U2l4dGVlbkJpdGJvb2wAAAAAC3ByaW50ZXJOYW1lVEVYVAAAAAEAAAAAAA9wcmludFByb29mU2V0dXBPYmpjAAAADABQAHIAbwBvAGYAIABTAGUAdAB1AHAAAAAAAApwcm9v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)

Having to scroll around it to get to whatever you want to change is already bad enough UX. Also, it might be a bit scary to regular user who has no idea about base64... thank you for the hint anyway ❤

LukasHirt avatar Apr 30 '25 07:04 LukasHirt

The b64 might be quite long, that's correct, but you can identify the element and give it a max height and make it scrollable. That behaviour would be identical to the behaviour with the previous markdown editor

AlexAndBear avatar Apr 30 '25 07:04 AlexAndBear

md-editor-v3 has been updated and now includes a link shortener 👍

AlexAndBear avatar Dec 01 '25 19:12 AlexAndBear