 Yeah, my name is Christian and I would like to at least just, you know, introduce a bit into the language server protocol and the potential idea of having a language server for Solidity. So what is the language server? What is the LSP? This protocol basically is a standardized communication protocol between the client, which is the IDE usually, and the server, which is typically some kind of compiler inside. And it does provide some facilities, not just for diagnostics, but also code completion. I mean, we all know it and code refactoring, semantic highlighting is something I also like, I also really appreciate that you see whatever symbols are also the same symbols as the one you are currently hoovering. Go to definition and find all references as well as code documentation and signature when you hoover a symbol. This is also something that I really appreciate. Another thing. Yeah, I just wanted to give a very short overview of what an LSP message lifecycle looks like. So it's JSON, obviously, and basically you, the client just sends a message over the JSON. It's a JSON protocol in form of JSON to the server, and it is then going to be decoded into a LSP high-level object. This is how I call it. So I don't want to deal with native JSON objects, but with native C++ in my case. And it's then going to be handled. And optionally, we're going to encode a response LSP object into JSON, obviously, and then just send it back. That sounds trivial, and that's also, later I can show you some live demo, by the way, but I didn't decide to go for some JSON, LSP library. Okay, so motivation, why do we actually want to have that? I mean, definitely, we time compilation validation is really nice. And I believe we mix is also having it right. We time code completion is something I would also like to have in my VIN, but probably something not every editor is having for solidity is assisted code factorization, so that you can rename symbols and that it is going to rename wherever it is also mentioned. Quick code navigation, such as go to definition is, yeah, and code introspection with just one click is actually something that I really appreciate it now with the life of IntelliSense also in in VIN, for example, and what I at least, from my point of view, that's my motivation to have it for solidity to makes some things easier. We time auto correction for common developer mistakes. A more sophisticated goal that I would think could also fit into a into a language server since the language server can propose code changes. So usually only the editors, of course, editing the code, but the server itself can say, look, here you typed if and what about in it's I mean, that's a trivial one. But just imagine the guy forgets to propose, forgets to specify the visibility of the function he's he's currently writing, then this can be proposed, you know, like, like auto fixing code, there's actually more about LSP and that's called LSIF. So usually the LSP works and let me go back one slide. The LSP works in a way that the LSP has to be running your your language service to be running, but what if, for example, you have a web page such as GitHub or other tools and lately, for example, introduced a way to also navigate through the code. And that is basically done with some kind of language server indexing format that I particularly find very interesting because maybe we could have something like this also for solidity inside of GitHub. And I also believe why this is the reason why Microsoft behind has been introducing this this feature, but that's kind of future term. So as I said, I don't use this tools as well as websites such as GitHub can benefit from this. And I don't see any other users here, but I guess only time which is kind of new still. Okay, so where are we now with regards to solidity? I would say it's, yeah, research and we are in a research and development phase. So I was bootstrapping tiny bits already and I call it Sol LS like solidity language service part of the it's currently a branch inside of the solidity GitHub repo. And what can you do? I can show you if you want to in a second, but let me first go into the challenges I had while facing while trying to implement something like this. Our internal kind of API was our internal compiler API was a little bit, yeah, not really made for LSP in mind for tooling in mind. And also our reporting, we report the precise error numbers instead of ranges.