# Bouton voila sur jupyterlite?

**URL:** <https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505>\
**Category:** JupyterLab\
**Created:** [March 17, 2023, 5:15pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505 "2023-03-17T17:15:00Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![dfialaire](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/dfialaire/32/4069_2.png) [@dfialaire](https://discourse.jupyter.org/u/dfialaire)\
**Post date:** [March 17, 2023, 5:15pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/1 "2023-03-17T17:15:00Z")

</div>

Bonjour,  
Je viens dutiliser JupyterLite associé a Github Page pour deployer mon appli python.

L’appli s’ouvre et est active bien plus rapidement qu’en passant par Render ou Heroku \*free.

Par contre, on voit le code puisque c’est une sorte de JupyterLab… c’est un peu déroutant pour l’utilisateur…

Ce serait super si les développeurs de JupyterLite ajoutaient un bouton voila au menu …

Qu’en pensez-vous ?

A+  
David

---

<div class="post-metadata">

**Author:** ![fomightez](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/fomightez/32/495_2.png) [@fomightez](https://discourse.jupyter.org/u/fomightez)\
**Post date:** [March 17, 2023, 5:57pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/2 "2023-03-17T17:57:06Z")

</div>

I may be missing something in the translation, you are saying that you are seeing code still?  
Did you deploy with Voici correctly? See [Voici repo](https://github.com/voila-dashboards/voici) and [‘How to make your own deployment’ on the Voici demo page](https://github.com/voila-dashboards/voici-demo#-how-to-make-your-own-deployment) (also linked from the main repo). You also need to make sure you are using the correct URL when you open the deployed page to get the Voici render version and not the notebook. That part looks similar to the Voila URL when using MyBinder with Voila. (There’s an example endpoint in the demo, see below.)

For now that setting up JupyterLite to work with Voici is a bit more involved so that there isn’t just a button in all JupyterLite deployments to switch the interface. More importantly, Voici is only about two weeks old.  
There is a button on [the Voici demo page](https://github.com/voila-dashboards/voici-demo#voici-demo) that you can click and see a demo running inside your browser right now. ([This](https://voila-dashboards.github.io/voici-demo) is the direct link to the demo.)

---

<div class="post-metadata">

**Author:** ![dfialaire](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/dfialaire/32/4069_2.png) [@dfialaire](https://discourse.jupyter.org/u/dfialaire)\
**Post date:** [March 17, 2023, 8:46pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/3 "2023-03-17T20:46:35Z")

</div>

Thanks a lot for Your Response fomithgez,

Since I’m trying to start my application with Voici… that looks great… but finally failed  
My Notebook have to get information in a csv file… I put this csv file near the notebook, in the ‘content’ directory… wich is in my repo :  
This is the localisation of my repo :

```auto
[https://github.com/dfialaire/Test3_Voici](https://github.com/dfialaire/Test3_Voici/blob/e337e1e96071aec305e8a06232eceede87eafe74/content/Entreprises_Complet2.csv)

```

But Voici give me a FileNotFoundError …for the csv file from different configuration :

```auto
FileNotFoundError: [Errno 44] No such file or directory: '[https://github.com/dfialaire/Test3_Voici/blob/e337e1e96071aec305e8a06232eceede87eafe74/content/Entreprises_Complet2.csv](https://github.com/dfialaire/Test3_Voici/blob/main/content/Entreprises_Complet2.csv)'

```

```auto
FileNotFoundError: [Errno 44] No such file or directory: '[https://dfialaire.github.io/Test3_Voici/main/content/Entreprises_Complet2.csv](https://dfialaire.github.io/Test3_Voici/main/content/Entreprises_Complet2.csv)'

FileNotFoundError: [Errno 44] No such file or directory: '[https://github.com/dfialaire/Test3_Voici/tree/main/content/Entreprises_Complet2.csv](https://github.com/dfialaire/Test3_Voici/tree/main/content/Entreprises_Complet2.csv)'

```

```auto
Do you have yet experimented this issue ? To get the URL of a file using Voici ?

```

```auto
If you can help, it would be great. Thank You.

```

```auto
David

```

---

<div class="post-metadata">

**Author:** ![fomightez](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/fomightez/32/495_2.png) [@fomightez](https://discourse.jupyter.org/u/fomightez)\
**Post date:** [March 18, 2023, 1:54pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/4 "2023-03-18T13:54:07Z")

</div>

I’m not specifically following what you mean, “To get the URL of a file using Voici?”

When Voivi starts up with your `Lieux_de_stages.ipynb` notebook, the first thing I see is:

```python
FileNotFoundError: [Errno 44] No such file or directory: '/files/Entreprises_Complet2.csv'

```

And that seems to be an accurate error. Looking at [here](https://github.com/dfialaire/Test3_Voici/tree/main/content) , `Entreprises_Complet2.csv` is in the ‘content’ directory’ with your notebook. So why not in your notebook have?

```python
Donnees,longueur_Donnees=Recup_Donnees("./Entreprises_Complet2.csv")

```

Or try:

```python
Donnees,longueur_Donnees=Recup_Donnees("Entreprises_Complet2.csv")

```

I suspect if things don’t work in the first cell to get the data, all the other errors follow from that and so start there to debug.

---

<div class="post-metadata">

**Author:** ![bollwyvl](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/bollwyvl/32/904_2.png) [@bollwyvl](https://discourse.jupyter.org/u/bollwyvl)\
**Post date:** [March 18, 2023, 3:11pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/5 "2023-03-18T15:11:06Z")

</div>

Note that the jupyterlite sync mechanism between the running kernel and the browser storage is rather complex, and somewhat fragile, depending on which browser you are in, how many “things” it’s trying to do at once, etc. It’s worth looking at what the full browser console log shows when these things happen: e.g. open a new tab, expand the log, then run the whole thing.

I think it’s probably more reasonable to move this to the upstream repo, where the maintainers are more likely to be able to answer the question more fully, and might have more insights into what information to ask for.

---

<div class="post-metadata">

**Author:** ![dfialaire](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/dfialaire/32/4069_2.png) [@dfialaire](https://discourse.jupyter.org/u/dfialaire)\
**Post date:** [March 18, 2023, 4:20pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/6 "2023-03-18T16:20:51Z")

</div>

I already tried this :

```auto
Donnees,longueur_Donnees=Recup_Donnees("./Entreprises_Complet2.csv")

```

and also this :

```auto
Donnees,longueur_Donnees=Recup_Donnees("Entreprises_Complet2.csv")

```

…  
Both didn’t work.  
In fact, I’ve tried all this :  
Donnees,longueur\_Donnees=Recup\_Donnees(“ttps://github.com/dfialaire/Test3\_Voici/main/content/Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“ttps://github.com/dfialaire/Test3\_Voici/blob/main/content/Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“ttps://dfialaire.github.io/Test3\_Voici/blob/main/content/Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“ttps://dfialaire.github.io/Test3\_Voici/main/content/Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“ttps://github.com/dfialaire/Test3\_Voici/tree/main/content/Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“…/content/Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“files/Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“…/…/…/files/Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“…/…/files/Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“…/files/Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“…/…/voici/render/Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“./Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“./Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“/files/Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“.\Entreprises\_Complet2.csv”) # …

Donnees,longueur\_Donnees=Recup\_Donnees(“.\Entreprises\_Complet2.csv”) # …

Donnees,longueur\_Donnees=Recup\_Donnees(“.\…\…\files\Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“.....\files\Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“Entreprises\_Complet2.csv”)

Donnees,longueur\_Donnees=Recup\_Donnees(“./Entreprises\_Complet2.csv”)

No one worked.  
So I think that my csv file is in an other folder created by Voici…  
In Github, when we do a commit, then, in the Action, we can see that this commit is starting a build phase, then a deploy phase… A the end of those 2 phase, Github is writing : Artifacts : 1

When we click on this ’ 1 '… Github show us the end of the page with the acces to our downloading Github\_Pages’s Archive :

When I download this archive, I get :  
 ![image](https://canada1.discourse-cdn.com/flex031/uploads/jupyter/original/2X/2/26fef909d0cfe7cc3f33f6ffd85130096e6b9d1a.png)

Then, This is what is in the voici’s folder :  
Folder:build ; Folder:render ; Folder:tree ; and File:index.html

And this is what is, then, in the render’s folder :  
File:Lieux\_de\_stages.html

In fact, there is only 1 place where I can find my Notebooks and also in the same place my csv’s file and my png’s file : this place is the folder ‘file’ which is in the archive…  
This folder ‘file’ gets all the file of my “content” file in Github : it get this :  
Entreprise\_complet2.csv ; Lieux\_de\_stages.ipynb ; requirements.txt ; titre2.png …  
…  
So, normaly i would say that if the Linux server is reading my Notebook, and so trying to open the csv’s file, it should find this csv in the same folder !.. But nothing work !?..

---

<div class="post-metadata">

**Author:** ![fomightez](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/fomightez/32/495_2.png) [@fomightez](https://discourse.jupyter.org/u/fomightez)\
**Post date:** [March 18, 2023, 10:37pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/7 "2023-03-18T22:37:26Z")

</div>

Importantly, for all the cases you try with ‘`https://`’ at the start, I don’t think that is the correct URL. In general. you always want to point at at the raw version of files at GitHub when fetching them. So in your case, it’d be:

```shell
https://raw.githubusercontent.com/dfialaire/Test3_Voici/main/content/Entreprises_Complet2.csv

```

Now, I don’t think that would have made things work with your earlier trials as you weren’t building in fetching it yet. (Worse yet, none of my fetching ideas worked either, see below.)

Tagging off what Nick (@bollwyvl) said, it looks like the issue is already posted about as [an issue](https://github.com/voila-dashboards/voici/issues/3), I think. It gets confusing, but I think ‘local file’ would refer to your CSV file. If I’m understanding things right.

And I recall this was an early hurdle with JupyterLite, and so I thought the workarounds that worked there, may work here. I’m was referring to [here](https://github.com/jupyterlite/jupyterlite/issues/119#issuecomment-854495013) and read on from there. (Either way, I think that post is pertinent as it touches on locating files.) That old issue thread was from back JupyterLite was more nascent than it is now.  
**However, nothing I tried worked.** I even was trying some things `open_url` that came from pyodide-http that used to work with pyscript, but failed in my attempts.

I think we have to wait until a working example comes along.

---

<div class="post-metadata">

**Author:** ![dfialaire](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/dfialaire/32/4069_2.png) [@dfialaire](https://discourse.jupyter.org/u/dfialaire)\
**Post date:** [March 19, 2023, 12:02pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/8 "2023-03-19T12:02:19Z")

</div>

Thank You formightez for Your Help,

This issue seems complex…

well, it seems it is not possible, actualy, to open an csv file from an extern URL in JupyterLite…

I tried this in jupyterLite :

import pandas, pyodide  
url = “[Entreprises\_Complet2.csv - Google Drive](https://drive.google.com/file/d/1C6ztoFj4kNxAibhH7VFjzefN0sXSUUWS/view?usp=sharing)” # Lien Google drive  
pandas.read\_csv(pyodide.http.open\_url(url))

I get this error :  
EmptyDataError: No columns to parse from file

That’s strange because when go go threw this url directly, we have the data…

I also tried with other extern url like :  
url = “[https://raw.githubusercontent.com/Peter-Fialaire/Voici\_test4/main/content/Entreprises\_Complet2.csv](https://raw.githubusercontent.com/Peter-Fialaire/Voici_test4/main/content/Entreprises_Complet2.csv)”  
url = “[Microsoft OneDrive - Access files anywhere. Create docs with free Office Online.](https://1drv.ms/u/s!AooFqnrWE7VThIxxvP5ivyhI2M1otA?e=TNOCq3)” # Lien Onedrive

Nothing worked yet…

I hope this issue will get a solution… because I really hope we had a Voici (Voila) GithubPage reading data like csv or png… files.

Have a good Day

---

<div class="post-metadata">

**Author:** ![fomightez](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/fomightez/32/495_2.png) [@fomightez](https://discourse.jupyter.org/u/fomightez)\
**Post date:** [March 19, 2023, 1:10pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/9 "2023-03-19T13:10:12Z")

</div>

JupyterLite works. It’s the filesystem in Voici that doesn’t seem to be working or is not working like we expect. That’s what needs fixing or an example. (Sorry, Voici is very cutting edge as the repo warns. It seems only the basics work so far. I’m sure this issue at Voici will be sorted soon, but it may be a few more weeks.)

The issues you are having with your CSV that is causing ` No columns to parse from file` may be that it isn’t a CSV, per se. `csv` means comma separated values. You need to specify the separator using the option of `sep = ';'` in your `pd.read_csv()`. (I’ll get back below to using that simpler with a typical, full Python kernel running on a remote computer.)  
You need to specify the separator in JupyterLite, too, The below variation on your code works in JupyterLite well:

```python
import pandas, pyodide
url = "https://raw.githubusercontent.com/Peter-Fialaire/Voici_test4/main/content/Entreprises_Complet2.csv"
df = pandas.read_csv(pyodide.http.open_url(url), sep=";")
df.head()

```

(You’ll want to learn about code blocks for posting in Discourse. It keeps your code useable by others as well as showing the formatting correctly. Look into using the ‘\</\>’ button the the posting toolbar just above the window where you type a message here or see [here](https://discourse.stonehearth.net/t/discourse-guide-code-formatting/30587) particularly under ‘Block code formatting’ section on how you can write it directly in the markdown post so you don’t need to use the button.)

* * *

Specifying the separator using the option of `sep = ';'` in `pd.read_csv()` was what I was using developing ; you can see it had worked in typical, full Python kernel [here](https://nbviewer.org/github/fomightez/voici-demotest/blob/c3a70c33d8b8740728bced4bc2af1c8b652e265a/content/test_file_read.ipynb) where it is running in a remote computer (provided via MyBinder service) **that Pandas `.read_csv()` method is able to directly access GitHub**. That ability won’t work when it is running inside your browser where it has to first fetch the file to inside the virtual system because of security around running code and tasks inside the browser.

---

<div class="post-metadata">

**Author:** ![dfialaire](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/dfialaire/32/4069_2.png) [@dfialaire](https://discourse.jupyter.org/u/dfialaire)\
**Post date:** [March 19, 2023, 4:54pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/10 "2023-03-19T16:54:25Z")

</div>

Hi,

Thank You for your help fomightez,  
and effectively I tried, as you said, to add the argument sep to the request for reading the csv file…

So,

- in the JupyterLite environnement (not Voici), I tried this code in a notebook :  
import pandas as pd  
import pyodide  
url = “[https://raw.githubusercontent.com/Peter-Fialaire/Voici\_test4/main/content/Entreprises\_Complet2.csv](https://raw.githubusercontent.com/Peter-Fialaire/Voici_test4/main/content/Entreprises_Complet2.csv)”  
Data\_Frame = pd.read\_csv(pyodide.http.open\_url(url), sep=“;”)  
Data\_Frame

…==\> it worked well : I had a frame printed. So, in this JupyterLite environnement, we can open  
a csv’s file wich is coming from an external url (raw data from Github repo)

- Then I tried to do the same, but in the JupyterLite Voici environment : just to get only  
the frame in the screen like could do Voila : I tried this in my content/notebook :

import pandas as pd  
import pyodide  
url = “[https://raw.githubusercontent.com/Peter-Fialaire/Voici\_test4/main/content/Entreprises\_Complet2.csv](https://raw.githubusercontent.com/Peter-Fialaire/Voici_test4/main/content/Entreprises_Complet2.csv)”  
Data\_Frame = pd.read\_csv(pyodide.http.open\_url(url), sep=“;”)  
Data\_Frame

==\> I get 1 first error with pandas…  
==\> ==\> So I just had to add pandas to the environment.yml: like this :  
name: voici  
channels:

- [emscripten-forge](https://repo.mamba.pm/emscripten-forge)
- [conda-forge](https://repo.mamba.pm/conda-forge)  
dependencies:
- ipywidgets
- ipyleaflet
- pytz
- pandas

==\> Then I got a 2nd error with pyodide : ModuleNotFoundError: No module named ‘pyodide’  
==\> ==\> I tried to put pyodide in the environment.yml : it didn’t worked…  
==\>==\> I also tried to install pyodide with piplite, like this :

import piplite  
await piplite.install([“pyodide”])

…I’m not sure… perhaps it’s ridiculous to do this… but it didn’t work…

---

<div class="post-metadata">

**Author:** ![fomightez](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/fomightez/32/495_2.png) [@fomightez](https://discourse.jupyter.org/u/fomightez)\
**Post date:** [March 19, 2023, 5:15pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/11 "2023-03-19T17:15:55Z")

</div>

Definitely not ridiculous to try it. But you are seeing the same thing as me.  
Right now that won’t work. [I had tried all that last night](https://github.com/fomightez/voici-demotest/commits/main). That’s what I said two posts ago about being hopeful that combining using the raw github link and `open_url` and variations might work. But frustratingly didn’t.  
The developers need to fix [this issue](https://github.com/voila-dashboards/voici/issues/3) or show us by an example.

### Workaround to embed the data inside the notebook for now

Until that time you have to include the data inside the Voici notebook-basis page. I have an example here where I have your CSV file as a string inside the notebook to illustrate an option of how to get the data into Pandas in Voici for now:

- example code as a notebook [here](https://nbviewer.org/github/fomightez/voici-demotest/blob/main/content/test_providing_inside_nb.ipynb). (The first two code cells are commented out because those methods work elsewhere, and so the Voici workaround example doesn’t start until what is presently the third cell.)
- it running in Voici is [demonstrated here](https://fomightez.github.io/voici-demotest/voici/render/test_providing_inside_nb.html?)

---

<div class="post-metadata">

**Author:** ![dfialaire](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/dfialaire/32/4069_2.png) [@dfialaire](https://discourse.jupyter.org/u/dfialaire)\
**Post date:** [March 19, 2023, 6:22pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/12 "2023-03-19T18:22:25Z")

</div>

Yeah ! You’re right…

For the moment… just have to put the data in the notebook…

And it work !!!..

```auto
(https://peter-fialaire.github.io/Voici_test4/voici/render/Lieux_de_stages.html?#close)

```

Well… this is not the final presentation form… But for now… that’s great for the JupyterLite/Voici !

The position of my element had to be precised…( and also there is no image import… so I have to replace some elements)

Thank you so much, fomightez, for your help !

---

<div class="post-metadata">

**Author:** ![fomightez](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/fomightez/32/495_2.png) [@fomightez](https://discourse.jupyter.org/u/fomightez)\
**Post date:** [March 19, 2023, 6:43pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/13 "2023-03-19T18:43:39Z")

</div>

> [@dfialaire](#):
>
> Well… this is not the final presentation form… But for now… that’s great for the JupyterLite/Voici !
> 
> The position of my element had to be precised…( and also there is no image import… so I have to replace some elements)

Yes, I wouln’t invest anytime converting everything yet unless you absolutely need it right now in Voici and cannot use Voila via MyBinder. This issue will be rectified shortly I believe. I’m confident because it works in JupyterLite that it’s not an insurmountable hurdle for those know what they are doing.

Building in the images in a workaround is possible, too. There’s at least two ways I suspect may work if you point at an image you need I can probably show you at least one working route.

---

<div class="post-metadata">

**Author:** ![jtp](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/jtp/32/19100_2.png) [@jtp](https://discourse.jupyter.org/u/jtp)\
**Post date:** [March 24, 2023, 8:17am UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/14 "2023-03-24T08:17:03Z")

</div>

> [@fomightez](#):
>
> The developers need to fix [this issue](https://github.com/voila-dashboards/voici/issues/3) or show us by an example.

That’s right I think the underlying Service Worker that allows for the kernel to manipulate the files does not seem to fetched correctly for now (404). But it’s tracked in that issue.

---

<div class="post-metadata">

**Author:** ![fomightez](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/fomightez/32/495_2.png) [@fomightez](https://discourse.jupyter.org/u/fomightez)\
**Post date:** [December 6, 2023, 4:25pm UTC](https://discourse.jupyter.org/t/bouton-voila-sur-jupyterlite/18505/15 "2023-12-06T16:25:59Z")

</div>

> [@dfialaire](#):
>
> For the moment… just have to put the data in the notebook…

For those coming upon this thread, loading the data into a Voici app from a separate CSV file is now covered in the ‘Development-indiators’ example at [The Gallery of Voici Dashboards](https://voila-dashboards.github.io/voici-gallery/).  
[The Voici Gallery](https://blog.jupyter.org/and-voici-e02367197ba2) is announced in the [latest blog post about Voici (December 2023)](https://blog.jupyter.org/and-voici-e02367197ba2).
