{"id":105,"date":"2011-07-22T10:58:33","date_gmt":"2011-07-22T08:58:33","guid":{"rendered":"http:\/\/hasselba.ch\/blog\/?p=105"},"modified":"2012-04-02T13:43:44","modified_gmt":"2012-04-02T11:43:44","slug":"xpages-inmemory-agents","status":"publish","type":"post","link":"https:\/\/hasselba.ch\/blog\/?p=105","title":{"rendered":"XPages &#038; InMemory-Agents"},"content":{"rendered":"<p>Mit InMemory-Agents lassen sich Agenten wunderbar in XPage-Applikationen integrieren. Die XPage wartet, bis der Agent durchgelaufen ist, und \u00fcber den Documentcontext kann eine bidirektionale Kommunikation zwischen den beiden\u00a0 stattfinden. Ohne irgendwelche mehr oder minder dubiose Workarounds f\u00fcr das Zwischenspeichern von Werten (z.B. Speichern des Dokumentes, Arbeiten mit Profildokumenten, usw.) k\u00f6nnen auf diesem Weise bestehende LotusScript-Agenten in eine XPage integriert werden:<\/p>\n<p>Hier ein kleines Beispiel mit einem Button, der einen Agent startet, und dessen Ergebnis auswertet :<\/p>\n<pre>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;xp:view xmlns:xp=\"http:\/\/www.ibm.com\/xsp\/core\"&gt;\r\n   &lt;xp:button value=\"Label\" id=\"button1\"&gt;\r\n       &lt;xp:eventHandler event=\"onclick\" submit=\"true\"\r\n       refreshMode=\"complete\"&gt;\r\n         &lt;xp:this.action&gt;&lt;![CDATA[#{javascript:\r\n            var document = database.createDocument();\r\n            var agent = database.getAgent(\"InMemoryAgent\");\r\n            <span style=\"color: #ff0000;\">agent.runWithDocumentContext( document );<\/span>\r\n            <span style=\"color: #000000;\">print( document.getItemValueString(\"InMemReturn\") );<\/span>\r\n            }]]&gt;\r\n         &lt;\/xp:this.action&gt;\r\n      &lt;\/xp:eventHandler&gt;\r\n   &lt;\/xp:button&gt;\r\n&lt;\/xp:view&gt;<\/pre>\n<p><em>[In Rot: Der Aufruf des Agenten. Der Code nach dem Aufruf wird erst nach Laufen des Agenten ausgef\u00fchrt ]<\/em><\/p>\n<p>Der LotusScript-Agent f\u00fcr dieses Beispiel schreibt den aktuellen Zeitstempel in das \u00fcbergebene Dokument:<\/p>\n<pre>Option Public\r\nOption Declare\r\n\r\nSub Initialize\r\n Dim session As New NotesSession\r\n Dim doc As NotesDocument\r\n\r\n Set doc = session.Documentcontext\r\n doc.Appenditemvalue \"InMemReturn\", CStr(Now)\r\n\r\nEnd Sub<\/pre>\n<p>Der print-Befehl in der obigen XPage wird erst nach der Verarbeitung des Agenten ausgef\u00fchrt; auf der Serverkonsole wird der aktuelle Datumsstring ausgegeben.<\/p>\n<p>Nat\u00fcrlich kann es sich auch um einen Java-Agenten handeln, doch f\u00fcr beide gilt, da\u00df der Haken &#8222;Run as Web user&#8220; aktiviert sein mu\u00df:<\/p>\n<p><img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAASsAAABpCAIAAADtIZIwAAAPsklEQVR4nO2d7U8bRx7H5y+4F5X6oupJfdGTKhVq+UXfmNd36iW9REQCXHFJ2kipm+sVmijBAbeBnnTJnRoSm7RAIdBQtQ3UND1agg9MSNLwGCDBBEwMDg9JSHp5Ig\/4EZL4Xuzu7OzurFk79trr\/L76vBjPzszOlv1kZ23Xi9rOuhi+cwwebDr5j69+tBxpBgBAHRCj31c\/nj7Q0Oaevb700BeBQCBqBbWddX3bMfDvr39++jQCAIDKoLazrs+PtXvmbzx58hQAAJVBbWdd+6rtvkDo8ZOnAACoDGo767IcaX78+AkAAOrDGri6+gQAAPVhDVxZfYx585NBhZC9AACIA9bA8MpjzJufDB44HVqTNz8ZJHuFVx6HVy59ZrQYBFQdu\/pY0kwdfjtWYjEYW06nZu8AoAjWwFB4FfNGyTklF8A3Ss6RvULh1VD4UoXRYijp8ZIvjVXHFlYlLZPGQs+Wqkuh8GoozBjYfFq1XQNA7FAMfH33GfxxYeXPHrlPEl\/ffUYynMjAVe+PVQajpWJQreNZ6NlitBhYAwFAA7AGBkMrmNd29gRWnzJ8fuISLot4bWcP2SsYWgmGxiuMFkPJqRmuZoYxcABvqtpitBiMzadCK8HQza9L8GKVqcHNmiu4TRUDwsEZ+F2Qw1ZtEQzIjC8cWdydmAMxbQBQDdbAQHAF8+pHzs++G16TVz9ykr0CwZVAcLzcaDHsOTVNvjQ2n+LLVY1z0k03G\/eImlnK+3E904UcWVLGw86d2mK0GGzjAeqwku7TrVXMvnBBckQAkFxYA\/3BMOaVDztnlsIMn9Z34bKIVz7sJHv5g2F\/0FUueSemcY7YtOeUh2nZ32wwWra03vCLX1KalfeL23taq7iRhe1ZA13+YNgfvMEY2C3ZHe7uaa0y8O0BIAVwBgbCmJd3dJy\/GWAwf9GGyyJe3tFB9vIHwv4A54O4XrzJY68yGC3lfdzWvmaD0bLFfkM8AlfPtBdR3ifZ4yxnYCDsD3AGcrujdWfakDUAoCqsgT5\/CPPS9vaPD51Yk5e2t5O9fP6Qz8\/40O0R10s29R43GC2b7Ys+8UtKs\/JeSXu5Ya90bzZaDDaXzx\/y+Rcb91gMxuNO6e6k9B438B0BQD1YA5f9IcyL29rsnkcMOz8\/jssiXtzWRvZa9oeW\/a59RothT\/dlcb10k2ufkdVjmVCFq7fs66XVs93l6rmXNtdytGZ8vdPG7etK92ajZbN9UTJtAEgurIGPfEHMC1tPNE7cZ\/j7P4\/hsogXtp4gez3yBR\/5xvYZLYY9Tre4nrrpegO\/AjzeJWzWYGXqbQ1e4Qgy7fGwXXxHZnxhS3F3Yg70aQNAcmENfLgcxBQ3Tf7ur61rUtw0SfZKEGOfMjIkfmQASEewgYH0ABuY8pkAgBqwBj54FEgPxj41Wgy7nZOpnwkAqAFr4P2HfgAA1Ic1cOmhHwAA9eEMfOADAEB9WAPv3fcBAKA+rIF37y8DAKA+rIF3lpYBAFAf7tMIiPbT1NSkxo88QxIaMDBzAgZqMWBg5gQM1GLAwMwJGKjFgIGZEzBQiwEDMydgoBYDBmZOwEAtBgzMnICBWgwYmDkBA7UYMDBzAgZqMayBTZCMSKpPJ0jMYQ1M9TQgCQgYqMWwBi4sXAS0jkID7\/3+D0CqkDVwfv4CoHXAwPRH1sC5uVFA64CB6Y+sgbOzI4DWAQPTH1kDvd5hGjYj4mNsoLaR0L1Lj7It3coaA4kDDEx\/ZA2cmRmmYTOibItzeGZmeMa5S482HaU3A9KC+AxU0gUSd5QaOD19nobNiLLLuqRlIB0BA9MwSg30eIZoWAtQdlnXkMcz5KnPRQVWpr6+gFuYsjWtZXquol7YS7xJ9BJIJGBgGkapgVNTgzQOF\/C3gbl1lK3ZpZ2DU3W5qOAwpX7KXqpH+lI7v0ncEkgkYGAaRqmBbvcAjUP5KGuvY8DtHnA7inW4XLuR0zJrr4PZhHR7fxD3chTr0MZackBxSyCRgIFpGKUGTk7206jMR1nmDqbcYtah\/Nr+yY5iHdpYy9bgrf0d5iyEUH4t0YtvKYBoCSQSMDANo9TAiYk+GpV5KMt8sm9iom\/iZJGOKddsRLqik2QN1\/6kOUtnbiF6tZh1SGdukY7MtaTuFIgTMDANo9TA8fFeGgfz+PvArJJ2prK5RIcQQki3IU+XVdLeO169gWuzoZrthRvzI+RVS1sCiQQMTMMoNdDlOgdonYQbeNhqVUKc5+bzEaUGjo39CmidZBjooyUUCoXD4UAg4PP5wMDoUWrgxYtnAa2TJAN\/au8iOT\/qamw+u\/dA65X5Rb\/fLzTQYSK+xmhyxHayxhGHidyLw4RybF76NmEnolmSo9TA0dEzgNZJnoEjY26GUdfUvaWHxg8b\/1h4pOuMKxAISAzkTm6HSQ0HSc28thzEu+W15ch4lpYGjoycBrROsg28MD61cO3mfzrH\/lR45P293\/\/22\/8kq1Dy5FblRCc889pyTDZbDiukvIDpaeDwcA+gdZJnoHt6dv7aDbfnyqNl39Zd37y1+ctTvVPeK1eiGcgXqVo6TCjHZmMXrVIh+OUsbxR1cYtNYwr4mkhcHMVdHSaUY3OwlZJdU2cr2TttTJMpByFTrP+14XdiMidJMrD\/\/IXzY7Pf\/jR0b2nJ+at73daa7ebvQ6GQ2z1FM1B6FyhnIHH2yq5XufayN3V4i8PENhS1F\/yjwG1DhFkiB2mzFe+dPib1wqrUQDV\/zwuSvNBP4xjPCRzGwLmFq8UV9rc2fzk2ee2D0ua336v97xl3IBC4Mjsnew302nL4c1b+Ghhlvcq7jAeUWTsyenCSMJdCfg3KX6zwvwuC3UnUpk1MtPe1xozpvzZcA5+7xGrghbHxuau3\/rylet27NW+\/V7tt93eh8IrP57t67VqUVShxHxa7gbzAgts55swXXwu9tpwcm4O8ATTZBHeH4h7k7qSbZSfG732NMQUBAyHixGrgwNDw7bsPDtZ1r3+39i\/bvmrrGmc+DLx586ayd2KIE5ZfrEU1UNBVsIn2BgujBjka6al0fUjUUFyizla0d+qYYCBEWWI1cHhkdGbGO3\/tVmWd09bY82g5cPfevTt37t66dTuqgYQ+eElpMilbhXLrvByTiT\/nZT9lFHkqvq8kF43citFkypEdTjpb6d5pY4KBEEWJ7zsxfr8\/HA6HQiG\/309+Pwa+ExM9cRr44Pp8f91BZ0URw\/mGw6rMFqJG4HuhaiYeAx9cn3f8q9T98\/HA0h2mxllRNFB9IIbdJvXLSQ4TQshgVesj1YyLcgMhz554DPzlQBmr3\/TXLJGIs6Jo4qdvFe3TazUQ3jlMyTSQ+FQJojBgoJqJx8D6He8Elu5EendE+v4WOfc+SySCF6UkixcGRCMyAqpzjRK97QVREjBQzcRp4JORckawJ6cKMdQdOCuKxFXcElQsIaOmaBtRabB6yesbfyklOyKTg2sjXOpaCfFhnRotYKCaidPAlb5dkUjEWVEUbl8Xbl8Xbl8fbl\/PlXHNugjVQLprxHoRuyW9XEYzUDASoZpgVIPVy5RAQLmAgWomTgMXW7cGe7b77Qa\/Pcdvzwn2bB+pKdxfuH5\/4Xrm2sgU9heuHzvdKbdvzkOD1St6b4a9mFHWq1EMxO1kDMQdQMDoAQPVTDwGnmlp2l+43vvNO6GhzxiGv8hnZFv0XmY8HDvdGV0\/JlGudhHxWzaRSOTZDOR6mEwgYLSAgWomzs8Df6k9VFfyASPb\/sL13+8vw7Itei8vei8zBeouvVaT8CbPYPXiCyJ+h9TKV0pWodx33dGaBoocxqtfEDBKROcEoCbSP4fsd2IY0zDK\/8CC901IFwQbuHrROzHEa4Nh7Wsgv7ol7wVBwKhJ+Vn4PCP9c2TYt9LgHnDtpPwsfJ6R\/jkyy0AQUEFSfhY+z0j\/HJljILsehY\/n10rKz8LnGemfI3MMhEC0GDAQAkllwEAIJJUBAyGQVAZ+Ky2jkurTCRJz4BqYOUmCgWo\/B0K4ayW\/bB17M+aYFHZS2PIZwhq4sHAR0DrJMVDd50BQd53IZsoPQ6UDZg2cn78AaJ3kGqju4xaSaaDCo1DpeFkD5+ZGAa2T9GvgMzwHgvx5P\/4HTKJ1kXm6g7KHQEh+XpCZp+iHuKNMT9gymTKyBs7OjgBaJ7n3gc\/0HAiiSvQrolG7SH63N+pDIOiDiDpSZZKbHu1XvxMd1kCvd5iGzUjciOstJ2SapRMNm7j5bmqQPahsS3fsI3fv0sfXUS2SeA18xudACH+a2oGftRJtiUt7usMaD2yQvN2CkOQnumkyrT29JIY1cGZmmIbNiLItTlxGyGiTaak+5Nw4nLv0aNNRrmw5qrhjTHtJV5K6Ck3QcyDYzTEayPVf44EN0n8v8KzT3sDp6fM0bEaUXdbFvezaqUebjtJbqo9wbgxHNyH9zq44OiamcYpR652Y2J8DIV7mEbdwUbtInu5AVEaZoWCmcaxCJdNTYRXq8QzRsBag7LIu\/LK1TI8K6oc8niFP1049d5lna7gGRCXZHZetBSi7rJ7tXlA\/1FWWza5yy1rZcfjBc+tx37Jcopm1AC9FCqzCCRPjRBmti7pJdAiivVA74sOXTpL6nzSJJNnAZ3kOBLmApDajXwMpT3eI9sAGgXkIEY+dWPO90OjTU8HAqalBGocLUHZpJ35pL9WjgjqmnikMTnV+rGfb2Ev1SF9ql+mOy4cLEEL6jzunBqfqchHiutTlIpRbJ+pVl6svtbNdCg7LNhNgL9UjhKdHHw3PRLQphkOQHD51kqoC34nRYlgD3e4BGofyUdZeB375w15d1l7HgNtRrEMba7lmtfkov1ZcKemOy9RKouwo1pF32\/mHFIwjwVGsQ3hWMqNJNyk8BOrhyx6XeoCBWgxr4ORkP43KfJRl7uBedhTr0MZasjDZPznZX5uP8mvFlZLuuEytJMrxjEOhw5yF8iujjSbdpHDX1MOXPS71AAO1GNbAiYk+GpV5KMt8EpdRXo2kfLJIhzbWTPRNTLSYdUhnbiG6t5h1XLOajYgdSjSmtFyZh0TjyDXDlRw1RVwNnkyU0aSbpIcgO0PJ4csdl3qAgVoMa+D4eC+Ng3n8Ki2rpJ3Y1F6ko9Tz7fOqe8fHe8erN3CvN+SxLQ\/m8V1kyvzgCOUdlGtWnYcb0CaM66OMJt5EOQRiL9SOax2LioCBWgxroMt1DtA6YKAWwxo4NvYroHXAQC2GNfDixbOA1gEDtRjWwNHRM4DWAQO1GNbAkZHTgNYBA7UY1sDh4R5A6yTcwKnL090951pPtAPJA34nJnOScAOvXb996+6DxI4JEQV+Ky2jktiT49r124kdECIN\/n8jIJoPGKjF\/B9obVf3rOwgswAAAABJRU5ErkJggg==\" alt=\"\" \/><\/p>\n<p>Ist der Haken nicht aktiviert, erh\u00e4lt man ansonsten eine im ersten Moment nichtssagende Fehlermeldung serviert:<\/p>\n<pre>Exception occured calling\r\nNotesAgent.runWithDocumentContext (lotus.domino.local.Document) null<\/pre>\n<p><img decoding=\"async\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABLcAAAF8CAIAAACyjc6JAAAgAElEQVR4nO3dO7LrOmI2UM3nxjfhHDrszDEzR846urkDcwIOOuryBJjeapdnoerqcv2JI0edONIfSCIeBEBQb52zVp2qs7dEggBISvw2+DicAAAA4Orw7goAAADwQaREAAAAAikRAACAoJAS\/wYAAMDPSkoEAAAgkBIBAAAIpEQAAAACKREAAIBASgQAACCQEgEAAAikRAAAAAIpEQAAgEBKBAAAIJASAQAACKREdvuvf\/2\/X385Lf\/+5S+PKfY\/\/vla5j\/\/z\/OqEeZqLqVzMgAA+PGUU2J0\/P2P\/0im\/59\/uR6U\/\/Ff\/997qvxKf\/nHpR\/+8L\/\/9cp596ivrGcv7vkpsd6HN1dDSgQAgDYpsUlKzIUN4FHhsKXah7dXQ0oEAIA2KbFJSswtG8Arxi07UuLuakiJAADQ9oCUmB5PhwnKR\/DLcX\/p6L9c1D\/\/T3g9mr50HP\/\/\/u0PafWyxe1ZaDgBMv4XZ4Z6W+6Zt1Gl4ircTom7OyFvxbkz1yd5llZ69u\/\/\/u0\/b1v71T6sV+OOvl31XjUlPm7FAQDAZ3poSiz8i2cPEa4WJKoB4D\/\/94\/5xHFpy1KW6l0nKwakvoU2k95GW+6Zt9UPJTemxNoSn5US97T69pR4a9+uOrD9N4iHrDgAAPhMj02J67QWLhtbH3avRwjrp\/mFA\/RLgSE3Ri+uT1D8yz\/SJmyOhaYqZzz2tOWeeXed7tiXEm\/phCwlpvOmg4SxaNU0yu9q9fYZp0k19i3l5s31QSsOAAA+08PPOD1bnflZvpAsf7FxkJ29dfn1D\/\/3x\/WLzWsme47+g3JK6WrLPfM+OCXe2gk3pcRoXDEUdWur96XEm\/t2vbmuJ3v8igMAgM\/0pJS4Chjp0N\/q3+VYv3WQvZTwh\/\/9r+WwfjkvNH5xFWDaVwnuTol9bbln3mekxBs6YX9KjM7JjGt+c6t3pcQ7+nbd0nyyJ6w4AAD4TOWUGF3J9jEpMQ6Bf7mU9i9\/War6f\/\/2n9e6Fe9w8xOnxJs7YWdKjCJiFuqkRAAA+B6bKTENA9GxcuMKrr8VDrs7rmfbOsheyvyXf\/5HFIouJf\/xD6t5+2p7xxmnrbbcM+8jU+LeTijdqbUnJUZjletq3NrqG8843d232ynxCSsOAAA+UyUlVk4dLCaBzsPuMG92xB\/dW2XjIDu7V+d1muxcyvCY9cKdUW9NiWny6WnLPfM+JyU272ha+LtA4Wq97dvGVELUja3eHtNOFndz33akxMevOAAA+Ey1lNg+xW7jxpJ\/Kw9D1R4kcOo+yE6euBDSYJIee5690Z0S18942HjiQlyB2+e9NSUW29jVCc2nWWylxOqTNuLVdFura31YG9m7sW97UuLDVxwAAHymekr829\/+VrzlydbdR7MZ89uNlsJn++TVSn3Kj3ZoPELj\/O6+scR1hbduyhKy6x3zPjQldnVC3o2\/\/OM\/+s847UqJt7a63IfN8z\/3L6UvJT54xQEAwGfaSIkAAAD8VKREAAAAAikRAACAQEoEAAAgkBIBAAAIpEQAAAACKREAAIBASgQAACCQEgEAAAikRAAAAAIpEQAAgKCQEgEAAPhpSYkAAAAEUiIAAACBlAgAAEAgJQIAABBIiQAAAARSIgAAAIGUCAAAQCAlAgAAEEiJAAAABFIiAAAAgZQIAABAICUCAAAQSIkAAAAEO1PicRoOw3R8Tl1q5vFwOBwOh3HeM9ejqtpVzrWKj+qcXU1+y0qhR23VWGUAAHywUko8TsMhti+dpeXcfyg8j7fX4KZq7K72cRouNXzQwf\/dTf55dPb4A1NZvnc0\/zIgJQIA8IVqKTE6hJ3HG5PiQw6FQwS7p4SnpsR5XGp4nIb7D\/7vb\/LP4z0psbsoKREAgC\/UkRJP0eBW+lY0rLLjUDgdjLlOkE18+TWedpyX8zpXSy3UpFBCqZrx+8N0XNdus8lRMqyFxNub3CpqVc75h2kszl+dsTJ9eSU+ZlnjHCfhys+tTruUMwy1SZKX6iXd3yE9q2ZdYM9GFXdXYWkAAPAsfSlxiYnRW8lUxeGvjgGT4zQU82eeRspRs3TIvdRkq4Rru+I5mzVpLGiYjt1Drjc3ua+lUR2iE1frM5anryzyccvKTtM9RD+X+jDttKicVV9tdNH2ZDs75LYCezYq8RAAgDfpTInXo9fwVpyvTuVRtJ7T6mrH8c3IdJyGaFiwUpPelLg6FK+mxPqC4rpsHtrf1ORbWtpT80oe3u6NO5cVpjtOwzBNl5N2o5N3d3ZaZxftmqzaIbGbenh\/dwEAwMvcPJa4OvtzM26lb+Tz9UemfNCuUpOulJjMXRrc6WhyGpArOee+Jt\/W0p6aPyUldizrdM1HYSR2nAuRqbvTOrto12Q9HXJbgTd0FwAAvMrN1yVmB\/Ql1ePp7Lh5T2QKpx5WClwvvfOAe\/coWTTBRkq8r8k3t7Sn5k8fS2wUPo+Hcbp2XvLLDZ3W2UW7JtuXEvcUeEt3AQDAi+y8x2n0Vn4ce5znnuPp9MUo9CUna87j4VBII\/NYuwHNuibpcE3lNNB5LMSSdPrNJscp8fFN3tPSesjZ6qJ65TsruXdZS08sL4aim51WGhXMb5xT2Cz7Jrs9Je4scH93lTd9AAB4gp3PSywcuy+Kx9Prc+nSkzzHMdyuJHp9nCrH06kknWUvF2dc1TE+4S+5Jcoy\/WaTj9MwTPP19XIcvbXJWysnnb4ZctpdtJ6+WPlqJfcuqzDTKswXO21VznrlFjfLrsnuSIn7CtzfXVIiAAAvU0qJAAAA\/KykRAAAAAIpEQAAgEBKBAAAIJASAQAACKREAAAAAikRAACAQEoEAAAgkBIBAAAIpEQAAAACKREAAIBASgQAACCQEgEAAAikRAAAAAIpEQAAgEBKBAAAIJASAQAACB6ZEv\/8x9Ovv5x+\/VPpvb+f\/umX06+\/nH77\/YELvE9cpQ+sHgAAwDuUU+Jf\/3T69Zf83z\/9+0ZZUiIAAMC3a6bEP57+e09ZUiIAAMC3uyUl\/ve\/J2OMf\/775fUlJcYT\/PX83iqG9RZyrUM2ffxWlk7XlS8vq5kSa9UDAAD4se1Oiee3Lmef\/p5EwUtau76bhLc0hvUUEkfB5QzYv5aq106J1WXVU2KjegAAAD+2Hdcl\/vnvIU0tY2u\/ReGqldZKkaynkFM073Jh5I6U2FhWLSU2qwcAAPBj2zmW+HshPZYHDxspcU8h8UKXnLYjJTaWVUuJzeoBAAD82PalxOVqveJ1ep0pcVchp1OIbcv0\/SmxtaxKSmxXDwAA4Me2cyyxeS\/QvWec9hRSXOgNZ5wWlrV1xqlTTAEAgJ\/QjXevie\/m8tve6xL3FHJ2eTG9IU3+a+XeNtVlbd29plg9AACAH9sDnoSxnJy5a0yvs5BFfu\/TtHrtd8vL2vMkDCegAgAAP4lySvxw7RALAADAzaREAAAAAikRAACA4CtTIgAAAE8iJQIAABBIiQAAAARSIgAAAIGUCAAAQCAlAgAAEEiJAAAABFIiAAAAgZQIAABAICUCAAAQSIkAAAAEUiIAAACBlAgAAEAgJQIAABB8WEo8TsPhcDgcxvndNXmI4zQM0\/HdtQAAAOj39JQ4j4dUMzYlKfE86xfHrEtIvDbq6s4IPI9PitHHafjm3gYAAB7iqSnxkhCjRDOPO3LIt6fE60himr6O03BXyJvHwzju6cZuUiIAAPDclLgOiYlkiO060ZIM0zHIS3gpzXJ5bZimsTTt6vV8dPP6cnH6ZYGhEcVql9q6nG6apa\/jNJynK7wepcppXC\/lvKBxLqTtYn+l1Y1bui4\/HfFMS0+T7TwWV0jc2FD4D3LuMAAA\/DyemRLT3JHGhXicsOfn+ltxkLv8nKae7PVCDWvTn5fQVb11SgzXJKZpcB6vk7VSYhbK4l+uZ+OWZs1+Wb0etXRdfnMscZk7WnJcieM0FAqPAiUAAPAdnntdYn5FXiUARr\/VU2Ltt2UMsJweG4GzOJYWTx9fHnkY53aNMlGCqqXl9lhiMQJeQ2Ka0GqRMRtxLJ8BW11uaWUOQznwZlMVBk4BAIAv8Zp7nCY5aZiOhfS4lRKrs+xNiYXXe1Nivdor2TBbcjpmfDLovpQYQmK8hOr0qzsHnVt0Y0osTRAtYasyAADAd3jpkzBCVqsOw\/WOJQY7U2Ly8s6U2H8\/nWQUL05K8RV+e1PiOqSGVvSMJa4naC63NFv1vjm1QkrDjQAAwCd78t1rkkQRRbLVdXzXy9rWKTG7sc1qlr1jibUl9KTEarWzNxpXDcbBKb\/i8NBMiauTN8sFHaehNrB3Os5za6wyj3TxVYXl6xKTs0\/Xlb\/3fq4AAMDrveAep7WzM4uPEaycZVo57fSWlBjXaxz3jSVWq51OFJ8YeiqM0YUnHkZdNE7tscTCFX5RqgsFDeMYT1i4dWn9pNCsw5eUWLvHabyG01vOZq8CAABf46VnnP4kspD4hsW\/8UpAFyICAMCXkxIf7h0hMRm2fev4nZQIAABfTkoEAAAgkBIBAAAIpMQ7OLsSAAD44Tw9Ja5udFp6FuILNW6TuvvSvr0p8VlPnH\/v\/WoAAIAfylNTYv50wSjPvC0llip2SYm1BzNWvT8lLhlcSgQAAB7jBc9LXKetdHyx9CzE9OF7xWBZmn5Z5DQNrejUTon5C9V2HKfh\/HjCrBb1Bx5GrY7mK3ZC0tBhmqInK86FakiJAADAQzwzJaaxKM02WeSLf41+rqbE9s+roJXbSonpBM2UmLbhPE1tzHBrLDGUkJeWPdM+rYqUCAAAPM5zr0tcX\/B3jTNpSqz9VkuJ1blXgS6JjVkobaTE9Su15kXxbMlvt6XEwq\/N0mrVAAAAuMNr7nGapMV1ziuEyWZKrE7fe0nhc1LiZhrcnRK7RiClRAAA4IFe+iSMntHARN9Y4moJd6fEvpBoLBEAAPjxPPnuNavL7irX+uXp7jgN45y9Xrj+sDl9u2aNlJgX0r57TXI3neh+N+nsodrZ1Y9xqfXrEqVEAADgRV5wj9P8rNCzcNZo5bTT+NYtpSKK02+nxBuel9i+e015pqjt4xRSXNbqVidk9zgtp8TOu\/UAAAD0eukZpwAAAHw4KREAAIBASgQAACCQEgEAAAjekRKvt2jZuhPpU5e+604vy01iXnt\/mNojNIrTAAAAPMJTU2LlJqfflhL7nu34BD0JUEoEAAAe6hUp8T1psGZ3Siw+TVFKBAAAfkxvSYmlwbnCU\/+SxxFeClky3jTm54Cm5VwXmj7TcJzrJWT1uLycvDoMw2qSZhSuP\/9wih6oOFcmL55xWpvm+pbICAAA3OPdKTEe2UtG+eIkuZ4+znvjfFoN+BUrcJyGMNeqhFjy+sZYYiMlzmM6W1zeMn14I538Ur0sJdanSd4CAAC40YuvSwxxKIyELZkr\/qV2LWAtSc6rocVT5eTQahZdV7grJVZl54IepyEE2uz1axMKVU1TYnUaEREAAHiMN48llgbtotdTrZSYJ7xV4YtaCYXXH54SSzcsvf5auMBwNUtlmnU+BgAAuNGHpsRqFmuNBK6WumcsMb2pzZNS4pPGEq8nzxpMBAAA7vYh1yXG1xbG+S3Me76osCMlrrNm8brEyjmrhYUXU2J6XWGpkafWdYmllHjvdYkuTAQAAB7gHc9LTNPd6uTS8j1OL0GsPRK4KqJ1j9PGOavjWB9LjEq85x6nhZSYTH5tbOsep8k0y3tOPQUAAO7w1JS40wufRAgAAEDR21NiOtYnIgIAALzV21MiAAAAH0RKBAAAIJASAQAACKREAAAAAikRAACAQEoEAAAgkBIBAAAIpEQAAAACKREAAIBASgQAACCQEgEAAAikRAAAAAIpEQAAgEBKBAAAIJASAQAACKREAAAAAikRAACAQEoEAAAgkBIBAAAIpEQAAAACKREAAIBASgQAACCQEgEAAAikRAAAAAIpEQAAgEBKBAAAIJASAQAACKREAAAAAikRAACA4DtS4p\/\/ePr1l9Ovf3p3PQAAAH50zZT499M\/\/XL69ZfTr7+c\/vz3F1WoSEoEAAB4jVZK\/O9\/v0TEX385\/dO\/v6xKBVIiAADAa7RS4m+\/hJT46y+nv0ZvZbHtr386\/frL6dc\/nv47m+D677ffk7ni\/PnXyiyF0ioz\/nbNsZdqZItLB0LjEt4+RgoAAPBp6inx92uO+v1y3uk5ep21U+Jv6fDjX\/+Ux7bzW40Rwstb1wLbM\/4WZ9HfkwSYVez866Viv+dpEwAAgGpKjPPVOs61UuLfC6lye67UMuL3144Zk1CaLj0p5\/rWMn74W6WeAAAAP61KSrwGqnP0WrLWkq96Ytv6msa956k+OCX+nhf+CZdcAgAAfJRySswu3tud96KboxavSyzMVcmlD0yJ66wLAABAppwSs8sC16\/0nzsaR7jGXFksfOoZp04xBQAAqCmlxHRY7ywbiFvuJnpOcUls+z26gjENZq2w93ur\/MekxFWx53mFRgAAgEUhJa6j1OkUnUR6jWrrawizvBffazSZpRL2kscz\/vEpKfFUOpnWCagAAACL1vMSAQAA+NlIiQAAAARSIgAAAIGUCAAAQCAlAgAAEEiJAAAABFIiAAAAgZQIAABAICUCAAAQSIkAAAAEUiIAAACBlAgAAEAgJQIAABBIiQAAAARSIgAAAIGUCAAAQCAlAgAAEHxMSjxOw2GYjt2v31Pmo6Z\/rHk8HA6Hw2GcKxO8sXrv7ZmXeVIze4r9\/B6+v4af30YAAE6n03NT4nEaDqnGIeInpMS7zGMr4XXNHs89j+eqX\/8\/\/agH2ddw\/OCmLcU+tOyuVbDaEopzfd3alBIBAH4az06J3QeF354S5\/EwjuNdVd2KmD\/wQfaDm5YVd5yG2+N7q+Ci9ZYgJT6qBAAAXuI9KTEaZUwHyqYwAnQ5rk8L2ZoxDQPHaTgM4zhkRW4UdcxnHKbjMnHtIHceD+McD\/yVokqyoHjh8e\/jXJux3UVpD+zo4f6106hDbcZCY2uLvLyXjkBHL0ZLWvq5OHErcmdVzLqu2sxzaeWlZTa2hOM0HA7DNOdFJSu91JGNni\/1cL1nOrfJ0Jy8nFqnNcsMvZ30w2qVS5EAAB\/gDSlxdTw8zqfrkeJy5LucgJnlh80Z8yWFOeJzOutFLcfB1\/fn8ZD8XFzSORok54fWj8izifJmVmdsdVFSr309vO6zrZ4pFlKesdjYtcamEsqJl7o5cbFxcZvncZzz5lSaOY\/XLWB7NKy9JdT6K\/k1rWUaUQs9v93DoWd2bZOFdVraBlplrnu79FbPFgIAwAu98rrE9fHoeaJogKI2gNY\/Y16BbFhkfWBdKqqW2WrLChGmfhlh+RC5VNXtrmi+vreH85Z090zeqNKM9WBdbX7+eujZ1U\/VibMxsPXKKS+31cxSylprbQlpV9y56PbmVOuZfYVUKtzekJZfq72dLatvCwEA4IVeP5aYnsK2HMR3pcSOGRsV6C9qZ0osj3M1Dqaj5RcmfkBK3NPDu9bO3i4tNnZjTWV\/XcjHnNKQWJk4b9OQnfBY7oS9XR0tfOmFypawav8DFl3fnGo9c\/M22VmT6NdKb5e2g54tBACAF3pLSqyNGu0aS2wvpfRWdSyxsdCOlJgPmVbOTqzO21xibZrG63t7OLGnZ04da6dRgfJb8+q+L1nsqp96mkyclz7Od4wlls5\/riyntiUcLmdcbp6ouXsscU833lvI\/WOJq34oLxoAgHd693WJp9PpOM99EahrxuqSroeoPXXYkxJXh7xLpEhOpYsub5zHUMb1UDopuTJjb0rc2cONPmv3zKlj7RQbu1aJYck6W8acKkErTHxMr25L\/jpQu1Ku0aVxLVqnR1a3hKi0aP7qCaj16xIr+Xxjc4obsGebXF\/KW\/2rRKXMem8n\/VBbtMAIAPAmb7\/H6b4ItD1jfTGFG6DWitqREgvjImkquS58Sg+Rs0oVBq9WM3anxH09vGvtNAspzFhsbGlRqyx4OBzO95mt3ZanMXF9xUfvbJ3nvFXA5p8Lli1hnTmzhQzd9zgt9Xy5h2vd2L9Npi8P41jd3iplNns79ENx0VIiAMAbPTMlwpdy6iMAAD8xKRFWpEQAAH5iUiIAAACBlAgAAEDwkSnR+X5r11t8VJ8\/Xuu0d3Vm8+Y6n+5T67zc6OWbH0N\/bcT9Hfyy1bS59z1klk1v3yzvrMDb6\/+ZHt4tz+vnD\/mWecbO9aP6kFXGPJbvmfcy9y\/3ITV\/YPN\/vG142Uju97gj8GenxPRh649aoe1m129DuaOQJ7lxoa0HMGyU\/LBmpquyf3U+qALhnpi76nnbkp8ScSsPENxzvBM9LHK9Oh63g2W3eH3GAdlxGtaVzZf71N2z\/\/O4Y+97wCwd7tkaz32b1Knw0sYSX5kSLxtDdn\/hPbW9xQO\/pVM31+3Z31Prnb2xtI+IHHfsXLfV8zMPRrPvk+yxUcmXxTJBx76cbw+fncTLrci+HG9qwr0ftvWb4W+W\/KTt7UM242enxG\/fgDsePb6v5M9OieuPpQetsIfsZl+UEjcPjxolP6mZ\/Zvyo\/7+NAwd5Txok3twSly+tPJv9eSRER01zb\/4T89Zvy\/YNaopMXuwytM+4ufxMI5dG3HP3nf\/LL3F3pcSC4\/b+eSUOI5xIHhBSuzfKvb66JS4a6W8OyXes3P9SCkx\/Q5e\/VFl9V2xIyXmnxKfe6BdeSxTXOHiV80tJd9Zq8pznh+86F21eotXpMRv3oCLh3n3lPzRKbHxaR7F\/WE6XpoxXY9asuZNY\/pXgfRvBcXm50fgcSHh8e3rQrJ6rWa\/1i2v0mqycmm3LXQYwly1kmvNLB55NxvYu2aTfq8Wu9pGC1Num8d4q9ioWKkJtbXWWiXD+SGGXeurR+FLujJOUm\/pZkrMSr0cR9SbX25O+wCivC+s9s2lgOIG1pESs8ZsbmPjOCxvLxPX1tC5J1fHWeujqHgbWDW5Z5Z25dc7bKmqha1w7758nIbzwyyjwejk957Pq1adq7vFjvqvKpz0cLI9rOfes7fG06ZHFPlWcdcqWLqo+Z21+ntRNNn2l932Z297G6t\/2rzsW6b5IZzVs7Bzda+d9vb82G\/tSm+ve37jw6RVbLShHqdhmKZow13eq32X9a3Ka\/829rvSy822bH5Q37FbtY8SNr+eGiWX5z9OQ7pCDsM0r+dNvriTOnZ8jtU6M5u20uzK3lHtitba6fpg2To+2mh++eWuj4hC+UsXfMsGfK3w+rOjc4fN1tGnp8Rqio9X2jxeHjuercelefGk8SbTbPZ6R0p25GUFraJOsvVG6zHbxspVWu0r5dJuW2jlaLY2S6mZXTNuSw7Wtlu6WYF8X8k\/dy67TNe2XtnkamutMFW18q3GbjVhNee6F9Nv\/EpLO8YS5\/RIobCK4+Z3bqVxB9X2hVO+Y6fJMav3sW8ssRicy9vY9f15PCQ\/F7fsa8\/EvbX5aVvuga1Z9u6wjS65Z1++THNt8Ln\/sw14c0uo17m86vfWv1Dh6M1osvqW1rO3Zms9\/6TJYuJdq6D+dVOqZalizc+9nv1iYxurlP+ub5nCh3BWoY2da7Ma9e35sd\/amyfG7vgwKReb7hDJ3zfCT7Xvsh0balhkZTcvHtFV29L+oL5rtyp+kqyb0fh62nt8GP1Y6PNQaHkj6\/ocq\/5a+xxr1Hlzuc2107FN1r4IinXq3ZzWBTQ+VL96A87mWjW7bxf4ppR4yv6QEdZIVue+74PGp3YuP7DrKLxwmn+tDj1V6ivtloXunKX8mdKo0obV2tsqdrMCTWGi3nqWNrnO75LyYVbH+upRKKp2sNNq21ZKTP+IXP3WWR8un9J1V0q8vd9e6VJqn4Pr5q6WG32ed25jzX2\/0I\/1cL5ZeOcst32whIpGa\/yeffm6Os5zRn952dwS9rY3K3ZP\/UsVDoXUtqi9H8K14\/fiVlGNjDd\/Dq8kZW7v4GmNu\/eLWlH5Tndn6+7+lmmt5a2d6+a109mfuybbdZTS2971x9E1oCT\/RztU58bQ2lCvi6ntd7cd0ZV\/vm+3qn2zl6u0448RzY+s4zQckgtiCvOWUuLeKuW\/bv4dovLx27Pc4s+b21LP6ticeL05FUrYlRK\/ZwO+KA0m7v186Pnq6fPCe5xej4orK\/Gm9ofXk6+46rpsFJKmi91HxreVdstCd86SfqZ0VGlrJebTbhW7WYH1gUpcSPWTt6+221+Q2cI3U+LOJpyKCy0tueMv7T0p8frZVzpQyGfZuUn0fnulv9Y+ytdLyKZM\/wLYt4019\/1SN1b\/ALxZeG+Tb\/pg2ejh\/fty8s0ab+d9PbyjvR2v1\/ejQoWX+W45sKssJXonXk87torbP4eLq+b61rpirc+9PftFrajqYcptrbvtW6b5IdzoyUetnV2tvmePbvT87p3otP6sD78v23LnxtDaUOM\/0xRmufGIrvzzfbtV3PDO3r7\/w6RReJi3MyXuWVOn8ufYY5pc\/PnOmvdNXNlvOj4iqgv9ng04VPjnTInLHnzzWGJ7lLZW4I5PgVKZ7e2+WqW+0m5Z6M5Zks23p0p15Y\/grWI3K7CxxPpHc3+Na2ut8KfoXWOJe9tSn7f0sdA1VeUTLrkHR2fzN6va\/+11KnVmVtR6CdXe7t\/Gmvt+mCsVjrD2fDF0znLbB0veA9k0+\/flaOdNI9CeLWH3sdrO+lcqfJlzHO8bS6wtZWlCaau4cxX0fFXvOpZK7NkvNhe0q+Tqgm74ltn6EG416kFrZ1er79qju6fvW4nzeDiMU\/IHwfOFcemus70xNLa32kHOsqaeOBSzt7b1Tu\/80Ljlq3\/rC\/dZY4n11hXrvGu5xZ83t6XqF0Gpqv2bU+dHRK0rvmkDXmr8k6TEY3qmdDoyEM4lG9snASd7Xvyn4NZBddeBXV7I6gNnnjc+W6MqrdZEubQHLHTnLNHrXTOW2rK8WuzzjWI3K9Cp87OyuMn1rbXwxt6N5Ib6723atUFdJ6TN6QOiO0kAABedSURBVOWZ1f2oe5Poq2e6Y1d3jcuL5U0sejUqrn8ba+37y2tJJy6LSdb1vFx00CqwY5ab9vHiAo7TUB1haq+4UrOzF7s+r+p1Lq\/6vfVvVPjyJ9rCF0D0c+feOo\/hxTnc4Km8Vdy3CuqfJKVaFirW\/rLbsV8Upq6\/+IJvmcqSoo+nrp1r5wbW3J6f9q29nNTSaHhne0sfkoVb9pTa2Lcvl8pParWx350vJNv5Wbp3+2nsVtl3X\/RV0\/X1tP+rf\/noiPJBPu9cuXtN3+dYpTPLHxfJxlbbO7a7ovhzxwdL64vgPMm+5hcCQuk4rVz+0l\/ftAGfKmMGfSUUqtr47O3z9CdhlAeBone2RmO3Cih\/+Ebv1TfodSHpAmuzl6pUOx5d\/Wn61oWuvsw6ZynsYM0ZaxvVvB5IT1tfK3azAp3aR97F4tMPyEK903YVByu61teGtO+WOcLL6UdCfa\/uTYnZMW+j+dV1V1rX2wed0ZzLO7UatvbcQkV7t7Haz+WuufRqdFx6Xfa0VXiYuTnLZuUbvZQuYBjHvftys935i9ufV606l1b93vq3KnyevPSRU\/x4bu6t8Q657PDVrSJvQrPH9nzdrKdZVaw542Yderax+jbz1G+ZVV+Xerhr59qzdtrbc+dcezunNyX2tbfY\/PzPKR1bYOdBV75bVHbz7Iiupy31z9W7d6vKF27P19POr\/7jNGSH6Odp83njb+6Oj83C7OvOrHxcpBtb7eN3qyuKP3d9sJRbVElxt2xOxeO0UtdnHXP7El+8ARdDYqvP21Vtf\/Z2eOUZp\/vd3bzH+8AqPVp5G\/0w+yr5o6y1zlbnEewDm19MifDhKucT8RGsHT5U8a90sPJ5H2JS4k4fWKUH+wFD4g+z1pa\/GTUbv\/qY+azmXxvxOTWChmRk4vM\/G38y1g5fYXUqLOQ+ciP57JQIAADAa0mJAAAABFIiAAAAgZQIAABAICUCAAAQSIkAAAAEUiIAAACBlAgAAEAgJQIAABBIiQAAAARSIgAAAIGUCAAAQCAlAgAAEEiJAAAABD9xSjxOw+FwOBzG+S3LHabja5cLAADQ4bkp8RrEDk+KY\/N4SO2JXl0p8byEhyY6KREAAPhgLxlLvIS5x6bEdaHz+PjoJSUCAAA\/l9enxGz87xKWsjR2SVLjXJt+K3muRzGvM0zTcCkmWuY1uQ1DvJh00YVYVxwrjedKM2x52DMp5NWnvwIAAKTeOpYYZcE0JsZvVKZvncyaLu84Deu0WU6J66o0xhIbS4nnjWubJNJV+U8YtwQAANjpLSkxG1Y7v35cxvjiH+vTZzkxGp8rp63iGarF5Ba\/UU9upXeyk0mXSZLX41\/SQsREAADg7V6eEgsjaUnqWzJVOqxYmP4qSYshkuUDkQ9OicWlZC\/mKTGOw4dhOpaCrpQIAAC81QtTYjWOXUPVJR2OYy0kllPiaiH3jiXWB\/sqjVpsjCWuUqLRQwAA4NO8IiUWbl4TDw2G4BYNrS3BqTZ9fkPTOEC2rkvcTomF0ctiML3husTaaGrSBW5gAwAAvNHzUmL19jLhKsNxzMYGl3nipFSefvWoxDQ01u9x2kqJhfqGd+67x+lqCeV7nFYSKQAAwIu85IzTz+cZhgAAAKfTSUq8kBIBAABOp5OUCAAAQExKBAAAIJASAQAACKREAAAAAikRAACAQEoEAAAgkBIBAAAIpEQAAAACKREAAIBASgQAACCQEgEAAAikRAAAAAIpEQAAgOAVKfFvAAAAfIkXpcQXLAUAAID7SYkAAAAEUiIAAACBlAgAAEDwlSlxHg+Hw2GYjo8t9mnm8XA4DNO7q\/F2j++HS4nfsiE8z3EaDrFxfneN7jEN0To9ToN9BwDgtb4vJR6n4TDOp3n8qnAwjx98pDsNLwsVXf2wqz5Jovix7Fsv8xiy4Tx+clDcaFfckPILAAA81\/elxItySjyPMm4fUp6nu4xDRb8k76WjVOfBmmE6XodttpYSDe+Mc5KOonGfpJCw5GE6h59zGeeJwgjq+dVhGK9lJ0XFw0rXhV7KGcd8ufkY1EarVpN3DOrW+qHYz436VNfLMM3LXNE7lemT\/h+GME5V6re29fo6NbaTWvl7+6FRTrTyjlF6\/q7t7fxXoER1OPHbzioAAPgSP2lKPKWH0ek4zLzMnh+wXg9Kzz9vDYgsxSdnWk7DIVnu9fV4+Oc4Dcux7zEeeVlafZyG8+TX2ZbJ4mYdpyE9cL+UdEwH4J45lljth0Y\/l+tTmf6cYC6LOEbvVKaP2z6P8Xop91ujYcX1tTQ0206q5e\/sh3o56Yjb9ddv296KA4fxVpS9LiUCADzeD5YSdxZxPR7Nr4OqjXX0LzSbchkMOeZHyNcJq6diVo\/al5HPcQ6TFQb7wpF6oZxL83tT4u6xxFo\/rMraTomV6bNkFZpZLT8avKuPcW39raF56ux6O2mUv6sfGuUUU+LXbW\/HaT2UeCoOMAIA8DQ\/c0q8Hsgmh9fJqEV+jP35KXFvOafT6aljidWU2OrnUn2q02fXJYZ+aKzHtNSlonsb1nzzuH6pWoNd\/VBbbvGM06\/b3qREAIAP8IOlxB1nnC6lVG+oGJ8z11popeTskrrSmY3xQXZ6Ul04HzCcrZedF1g+aq+enNc8ar\/+9vi7nlT6odnPhfrUpz93SvTW5vRpN0dDcfWVW9iuauvr\/Nu6qHL5e\/uhUc+8p0vj5F+wve054zQ+sxcAgMf5vpQYny+4OkbcmxILQxfROXTDOC4388gXu72M5MTGMVyS1zrDsPR6mH6YpjFU6zzR9VkQ8X1H0rMAkxMDr5eWnYs7rqr6hAGbSj9U+rlan+L0c9oflfu\/JOWvO6fY\/+lb5e2qtL5a20mx\/L39UC6n824337C99d+9Zh7LJQAAcKfvS4nAj6z3SRjN0V8AAO4gJQKfpXoSOAAALyElAgAAEEiJAAAABFIiAAAAgZQIAABAICUCAAAQSIkAAAAEX5kSo8d+e1wab3d50vzjS\/zirXseD4dlL31XJZInapxrNM7HaYg7N6ro4TxBvbzztKsy3\/mgjvf1c6U\/PbkEAH4M35cSo2dpz2P7oI6f2zS8bOuYx44j4131SRLOZ6u26zgNwzSPz2rIRn\/OY\/LpcJyGc5iZx3UYPHZ29zkSXWeex2F43TZW95Z+rvdn1vEAwDf6vpQYO+bHL9e\/bz9peT+NZYRiOQoMgxXJ6EU4LD0P8A7T8XgZ6t1aC5VykoVP0ZjacRlCDsMml4P2cSnqutB44o7arCbvGKmO5hnnKCUW29WoT7U\/h2kujZpX+y2MsR+GIYznlPqtaUf\/t\/v5snvm8eVF63ca0heP03CebB7X6zZLia3ljvPlUyf+uVj\/yyjbMF63kaym0Qz5i\/l+dFxePsW\/vbOfG\/1ZHU5cDcYCAJ\/qq1PiegBHSnyY5Lg5Hh2Y5\/iINunr+AS8edxYDZVyws\/LYMXl9TRzJQe4YY40aD1vS4iGtLMzTuv9U65PvR9C64\/RO5Xp47afj9uv05T7rWZv\/1fbFV5P9tNXrd\/1gNZ1lR3zzXZdcnW550A2j8N0PC9gqUO5\/kmUGufoD1vTcEj2r3i9FPejNATGbX9TPzf6M947stelRAD4Dl+bEuODGp4iHGcnB43p8EKWEnccABbLSUchkqPzQybMEY\/L3ZYSd48lZi2Nq13vn8aZe+vps0Pv0Mxq+fEVdtWxoI2dZn\/\/V9sVxbTw48vWbykKbrU7T4mF5S7DdtcUF8YVi\/Vf2nvtgksBhbMgkuHi4rYX5okneG8\/V+zrfQDg83xlSkz\/OM6zhEPi5PzIZCzi1pRYKSc7Vy0UWL3w77FHt72qKbHVP6X6VKfPYsv1rWb\/p6UuFd3Rrv39f6r0c\/muMC9bv89NiWFEtziOl5V7fv\/+lLi8nlbtrf1cISUCwLf7vpQYn01XfNMQ4+PM4zDlA4npoNmNKbFeTry4+Ky82klszaPb593nKI\/O4QzDev8U6tPqh+zyv83p02sXo\/Gl+kop7C97+7\/crlUaKZ6Z+cz1u+8WKrtT4qpd5frXUmL+V4C0u+r70TScr4FNAmWxPm\/djyoLef8tYQGAXt+WEjfuWiElPth6SCZaA8M4Lnd83PNAgVY56RtDdn1UvoRl2uU0wMMhvdyrtzr7JSd4jsspiNV2VepTnP58RuP516xNtfLXndPot7RC9RW81f\/ldoUSznMn90J62frtHM4qbrjl5Yb1kTVkCWZpQXEp12ebHJebpJbPHN7aj+Kc9hn9XFC5e03p5rIAwIf6tpTIz2Q9wsMrPbv\/n1v+D\/lAhpued\/Hi\/ajS8c1RbQDgw0iJfJxoEMTJaW\/w7P5\/2fr9kf7IULo30Yb37EeVgUQA4LtIiQAAAARSIgAAAIGUCAAAQCAlAgAAEEiJAAAABFIiAAAAwVemxPhp0o8tmR9a+tjx5bf0+fA9D08Iz0YvvrH7mQWfJTx0YZiO0\/D5bdj5xIvLE+6fV5+X8uQJAOAJvi8lzmM4wvPU9a\/2hgCyeih5zxZUrGc1PsXPFJ\/HTw6KxRbEVa6G4TvKf3w5lYe4N83jByervf12SwcAADR9X0qMrVLieRTEIdMjRI\/xLnXy4XAYpmkM78bDaFGMPxwO47gUleaPPYNu5xmG6XiddZzTGHOu1rkyreWO87m085TLEflSo6Sx9Xoep2GclnfT4cjot3gTjcpKmhuP3Z0nL7fr\/OowXDbyy2ylLr25\/5tDh+v637J+S\/U8xSv10q5hOnZtJ9PQt8NHRY1zkhK\/YL1sNq0ceuN9AgBghy9Nidfjt\/zYSEp8nHleujE+EA8\/H6chOgKNA\/txGtID4jBHfMS6e6zpetB7\/vk8c5JroqHC8nIvx9PzOAzj5YdkEyqOTtfGEuOAHObKRnauvy659PLidbmrsbtQZqFdS6uusy2TPab\/V2Ot0cTl+u9dv7V6Xn45piXWywk17trf41OJkzNOv2O97Ghd9rqUCADc4ktT4kXnVWTcIh3WiI9n40kKA4mrOYop7nRTSlyv7kZKLL0+j8N0\/nUahul4V0ost6uYEldjdNc5qqc+VtPINSSfl3KZ7FH9X0uJ1frvLL9ez+jdvAqt7eTYN5SYtWvpxm9ZL1t6B1QBAPp8d0r88OuLvlkSwMMRbXZuW5a+Sj4sJZ6mYRyvwW0Yx6wKD0+Jx+VUxaemkUf1f+3cxUelxPYOez1FIJvti1Pia\/YLKREAeLTvS4nx8dDq5iDOOH2QOC2kZwDGMSo+W682rts8Gg4Z85APwJXWYyUlxuOZHSlxGIbrgfxq3KqSEgv17EuJ4Ze04BAe0n4LCyi3q5pGHtb\/tfrU6n9f+Uk94yv++raTU9bddflaic44\/Y71stW60kLiM7QBAPb4vpSY3Val9JaU+ADRuXLDOA7JqXLLG0N2PVV+Zt0y7fWSrfSEwnl1947kjXVuLJ2nGOoT7qbTWG584B2l3Lz8\/IY0q9MFy+V33rUlv+6ur13n1XCeaE5aeg1yj+n\/rfqE1+8v\/77t5FJa1w4fr+HzfWOW4cQvWS9VlRHgeewuAQAg9Y0pkU9RHHmDl\/rpHwRR6QBXbQMAt5MS2S0aTHQyG+\/3U\/+xovoYDACA20mJAAAABFIiAAAAgZQIAABAICUCAAAQSIkAAAAEUiIAAADB96ZEj4z+SOPh9MCHEgzDaUdh8+lwOHkqQGY8nA7RvwfuMsfpWuyY\/tpca9Nwmez+7WRYGjXeu96ft93O46Xbzw1flrJjvcx5r57LvKHJ5xmXf5+ws9T65zjtq97e6QGApm9NidNwGKdpkBK\/2jC23p3H\/ZFm\/ugjxXZ7n1r+NBRS0APqs+rwzjKL9dklLmFMA8+z+7kt227P4Xk6XuJQtkV39sO5kKXYcbi9jVm\/9Sz9qf3Z6J9x1V1te6cHAOq+MiXO42GYjqfjOiXO48EI4yMMh9NhOE1jYXRouA4EXQaFrkeQxTGi84vjUs514jDudP23XmdD3zFfXNSchpZlrOmQHuaO0VjKedjnXM85enc6Xkoers28jMOUmrAs9J725ubQ+ecVce7Y4nI3y8\/SSGP6dfntfogPzecxLCUetlpHkaw+xf5v9PO6hM12PWS7PZ2q62WRbbfnKs3nDlmNshb7obj9jPMlrcU\/F\/unvb7iJZ6LavRzrT8b66vYz43+bPTPw4YTV4OxAMCW70uJx2m4xEAp8amGLOREB3bxCW\/zmBwTr4\/dp6F8hHpqj1HMebSrTrYc\/KVnnA6HJLEsr4\/RmMw0hNmnoZB2kkPYMZksPqtwGtKgeEN7V5awsQy2nJrLbZffP5ZYLL\/RD3HSGOOzIqPNYh34i9tJMW222ls5c7LWDw\/Zbmvr5bqM1XZ73USznWjXcs+dfO6Wcyxf2rh3fRXbUivn8lapP2vr61Tp5+p+0eifeWe0q00vJQLAbt+XEs9BcDE88GoiYtmRfeOg8JRO1nn0f2qmmuIh9VpW4DKYEEeXs0uAqZ+SWkuJy8HuucDzZOsxlvgI+Ib2ZrJRkTgt1JbbLr8zJdbKr\/XDpZzrUX5c56yo21Jiu73xvD1p+f7ttrZeFp3b7Q3LHefk7yDLuOLe9bWMndYGbDu3q3ZKLI4e93yAZDpPKLh5egCg4vtSYlAYS+RxsjvHSInJ0fbOcs5uTomhnOaFlw8YS6yU306J5+rFr2SjOslblfqU+63zQtO5Ky0\/PCWuC3xuSoxGaC9t3L++liUuw4yNcpJlrWouJQLAj+sHS4nOOH2coX5HkIelxGuQSA5YL5N2n3EaTRbfxSRJudFBcHLHjjm51Coev9pIifU7f9zS3rkwSjak14L23HGk0Z\/llFiavlh+OyWu6x+nqeXsx3Z9iv1fbW+aQrM\/CtT64SHbbW29hIo9MyUuhlvXV7zEaYjOFt65XdXW1+mBKfFBZ5zefEtYAPiJfWtKXM47Tc84lRIfZxhO4\/rktDk\/M+3S16vX47tWhEuk0vPc5uLdQZYK9A0LxHdJGaPDwcYZj0Pp9fhBDue7kiw32zhfEhbfk2NelXNXe0spMbmbSHZ9Y+XMwGL5jScu1OqTlb\/UpNYPp9r1ddf+HJeJK9tJsf+zG6Ik02flpNmg0K7HbbeN9bLUtme7La6X4nLDTV+W6\/fS1vWvr6Wo+PLd+Of+7aq8vir93N4vah5195qx8gkDANR9a0rk6fY9q\/AJbnkSxg\/q\/udG8AzF9WK7fZTHPAlj74AkAHA6SYmU1e4e+epq\/NyHdx+yFshsrpeffLt9iIc9BgMAuIWUCAAAQCAlAgAAELwoJQIAAPAVXpESAQAA+BZSIgAAAIGUCAAAQCAlAgAAEEiJAAAABFIiAAAAgZQIAABAICUCAAAQSIkAAAAEUiIAAACBlAgAAEAgJQIAABBIiQAAAARSIgAAAIGUCAAAQCAlAgAAEPwMKXEeD4fDYZiO764IAADAx\/u4lHiOdJFzursn6XXOe5yGQ8k439IOAACAr\/TslLgKfa3odZk4em8eX5cSb54eAADgx\/H8scRSTiwPz61DYrGIYTrmhcaJLh0SHOc09V3fbQ0QrlPitWbTNNxSgfxFo5MAAMDHesEZp6szOWujdMV4dVEf37vMdZ48DZrHaUhTYjWHJqopsVz\/PRUwUAkAAHy4l1yXmIasRkYrXBp4yVNbye1cajmCXV+d0neTAtYll8YSC8G1owLpi2IiAADwyV5z95oo\/XXFoyQtDtMxz1aX9+PRuXHORvWC5khgQUdK3FOB4l1xpEQAAOAzveoep9ektuuSvCiuJcktyWhRSGuOJR6GaU7m61lsWsJS+X0VMHoIAAB8j5c9CeM4DVtJabmhafj9UL7eb32hX+dlgV0XJnaMJd5SgSRkuoENAADwmV74vMR57LprTOW8zHDeZhz3DofDOI55BItKyG8eEwYW63m167rEPRVYveg2pwAAwKd6YUoEAADg40mJAAAABFIiAAAAgZQIAABAICUCAAAQSIkAAAAEUiIAAACBlAgAAEAgJQIAABBIiQAAAARSIgAAAIGUCAAAQCAlAgAAEEiJAAAABFIiAAAAgZQIAABA8IqU+DcAAAC+xP8HlsIc5MLYtBsAAAAASUVORK5CYII=\" alt=\"\" \/><\/p>\n<p>Die Meldung verwirrt im ersten Moment, und es ist das erste Mal, da\u00df sich im <span style=\"text-decoration: underline;\">Stack Trace<\/span> eine wirklich aussagekr\u00e4ftige Information wiederfindet (man mu\u00df etwas suchen, hier stark verk\u00fcrzt):<\/p>\n<p>(&#8230;)<br \/>\ncom.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:304)<br \/>\ncom.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:261)<br \/>\ncom.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:291)<br \/>\n<strong>NotesException: Unable to pass doc context &#8211; Inner agent must run as webuser<\/strong><br \/>\nlotus.domino.local.Agent.runWithDocumentContext(Unknown Source)<br \/>\ncom.ibm.xsp.script.DominoHelper$5.run(DominoHelper.java:154)<br \/>\n(&#8230;)<\/p>\n<p><em>[In Fett: Die erste aussagekr\u00e4ftige Stack Trace-Meldung. Es geht doch, liebe IBM!]<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit InMemory-Agents lassen sich Agenten wunderbar in XPage-Applikationen integrieren. Die XPage wartet, bis der Agent durchgelaufen ist, und \u00fcber den Documentcontext kann eine bidirektionale Kommunikation zwischen den beiden\u00a0 stattfinden. Ohne irgendwelche mehr oder minder dubiose Workarounds f\u00fcr das Zwischenspeichern von &hellip; <a href=\"https:\/\/hasselba.ch\/blog\/?p=105\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21,1,20,74],"tags":[79,7,80,5,3],"class_list":["post-105","post","type-post","status-publish","format-standard","hentry","category-agenten","category-allgemein","category-lotus-script","category-xpages","tag-agenten","tag-domino","tag-lotus-script","tag-ssjs","tag-xpages"],"_links":{"self":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=105"}],"version-history":[{"count":7,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/105\/revisions"}],"predecessor-version":[{"id":604,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/105\/revisions\/604"}],"wp:attachment":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=105"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=105"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}