Wx^ T/ŝhome:oci;oci-west.lisp.newestF6,CCLFIND-CLASS-CELL,?COMMON-LISPQUOTE?SOURCE-NOTET(defpackage oci-west (:use common-lisp oci cl-who hunchentoot))9BL-u^UHjRjRAyh 0h 0h 0h 0h 0Ah 0A 0 0 0XI$%QfffffňOCI-WEST,EHUNCHENTOOTECL-WHOEOCIECOMMON-LISP?%DEFINE-PACKAGE,%FUNCTION-SOURCE-NOTEF6(in-package oci-west)9+L-u"UHI9IAc ff?SET-PACKAGE,F6(defmacro with-html (&body body) `(with-html-output-to-string (*standard-output* nil :prologue t) ,@body))91@q%L-UHWVh0AHuvuA(MU$%RL-VvuAAHuعMfff$%PL-leH%HHeH%HeH%XÐ&fffG?DESTRUCTURE-STATE,?&BODYOCI-WESTBODY?ACL-WHOWITH-HTML-OUTPUT-TO-STRING,*STANDARD-OUTPUT*?KEYWORDPROLOGUE,PC-SOURCE-MAPc#pFUNCTION-SYMBOL-MAPDREST35257DARGS35256DENVIRONMENT35255DWHOLE352540?c?`?]???WITH-HTML9- E(&BODY BODY)F"6(defvar *utf-8* (flex:make-external-format :utf-8 :eol-style :lf))9NBL-UHI 0IfffffS L-@ uIMIIIfffffS L-IIc 0fffff*UTF-8*?%DEFVAR?UTF-8?EOL-STYLE?LF?AFLEXI-STREAMSMAKE-EXTERNAL-FORMAT?SET,6o(defun llygaid () (no-cache) (recompute-request-parameters :external-format *utf-8*) (setf (content-type*) "text/xml; charset=utf-8" (reply-external-format*) *utf-8*) (let ((tree (svref *oak* (read-from-string (post-parameter "s") nil 0))) (b (read-from-string (post-parameter "b") nil nil))) (if (not b) (with-html (:guesses (:letters " ") (:lines))) (let ((graph (graphicalize (setf *omg* (img<-path b)))) (*print-pretty* nil)) ;(format t "~a~%" (with-html (:guesses (:letters (fmt "~:[☹~;~1:*~{~a ~}~]" (gather-fruit tree graph :char (null (post-parameter "c"))))) (:lines (dolist (line (graph->lines graph)) (htm (:line (loop for p in line do (htm (:p :x (* 10 (cadr p)) :y (* 10 (car p))))))))) (:graph (fmt "~a" (worsen-visibility graph)))))))))9_CoF#BL-BUHAWAVATASMqMy1IS L-IHK*1eH; %@CeH%HH4BHDsIIfffS L-lIIffS L-LIHK*1eH; %@CeH%HH4BHDsvIffS L-IHK*1eH; %@CeH%HH4BHDs.VIIffS L-I 01IS L-_uG @ HGHHH9 t7IIS L-,I 0 0IfffS L-V} $IIIS L-LM=$%HPL-MM]$%T]L-IO*1eH; %@CeH%HH4BIDw IfS L-TfffL-DLM$%`PL-,jRjRAIO*1eH; %@CeH%HLABMDGA 1 0 LfS L-f%TL-HMARIO*1eH; %@CeH%HH4BIDw I 4%/c fL-dHM$%8PL-DeH<%HeH%0HWHHXHH_eH%0yHxeH4%?s ffff%TL-L]LeLuL}$%PHuйIfffffS L-Iff%TL-I!fS L-V 0VI)Mfff$%HPL-\IIIfffS L-4LM$%HPL-MUM$%TL-IO*1eH; %@CeH%HH4BIDwm IfS L-fffUL-LMm$%`PL-jRjRA1IO*1eH; %@CeH%HLABMDGA 1 0 LfS L-4IO*1eH; %@CeH%HH4BIDw VjRjRuI9IffS L-@ 0Dv%IALEȹ IIfS L-IQAXIYS L-jRjRAaIO*1eH; %@CeH%HLABMDGA 1 0 LfS L-4HuȹIiffffS L-VXH@vjRjRAqIO*1eH; %@CeH%HLABMDGA1 0 LfffS L-h 08H(M@ KH(HvH0H(HvH(jRjRAyIO*1eH; %@CeH%HLABMDGA1 0 LfffS L-H0HvHvHP%(SL-IA sI.0u_jRjRAIO*1eH; %@CeH%HLABMDGAR1 0 LfffS L-D jRjRAIO*1eH; %@CeH%HLABMDGA1 0 LfffS L-MA tOIO*1eH; %@CeH%HH4BIDwL߹IffffS L-jRjRAIO*1eH; %@CeH%HLABMDGAX1 0 LfS L-4H00HvHPf%(SL-IA sI.0u_jRjRAIO*1eH; %@CeH%HLABMDGA1 0 LfffS L- jRjRAIO*1eH; %@CeH%HLABMDGAs1 0 LfffS L-4MA tOIO*1eH; %@CeH%HH4BIDw$L߹IffffS L-jRjRAIO*1eH; %@CeH%HLABMDGA1 0 LfS L-jRjRAIO*1eH; %@CeH%HLABMDGA1 0 LfS L-,HjRjRAIO*1eH; %@CeH%HLABMDGA'1 0 LS L-HH@HvH@@ HjRjRAIO*1eH; %@CeH%HLABMDGA1 0 LffS L-LIO*1eH; %@CeH%HH4BIDwmVHuȹIfffS L-I@ tt@H8uFLkI0u2H8HvHHHHHHH 0Dv%IH 0Dv%H@ t*L@IL޹IS L-T>H@H.0t H@ 0L߹IfffffS L-HjRjRAIO*1eH; %@CeH%HLABMDGA,1 0 LffffS L-f%TL-HMARIO*1eH; %@CeH%HH4BIDwI 4%/c fL-DHM$%8PL-$eH<%HeH%0HWHHXHH_eH%0yHxeH4%?s %TL-L]LeLuL}$%PfC͓͓ ͓}׶gd͟͟I͟͟͟͟͟͟v͟%m͟͟% ͟ ͟  ͟| ͟ ͟/ ͟ ͟ ͟f ͟ ͟ ͟i͟fffWRITE-SIMPLE-STRINGHUNCHENTOOTNO-CACHEEXTERNAL-FORMATRECOMPUTE-REQUEST-PARAMETERSEtext/xml; charset=utf-8SETFHUNCHENTOOT::CONTENT-TYPE*HUNCHENTOOT::REPLY-EXTERNAL-FORMAT*OCI*OAK*EsPOST-PARAMETERREAD-FROM-STRINGEbELEMENT-TYPECHARACTERMAKE-STRING-OUTPUT-STREAMCLOSEE$ GET-OUTPUT-STREAM-STRINGIMG<-PATH*OMG*?GRAPHICALIZE*PRINT-PRETTY*E Ec?CHAR?GATHER-FRUIT~:[☹~;~1:*~{~a ~}~]?FORMATE?GRAPH->LINESEE

E
E
?WORSEN-VISIBILITYE~aFORMAT-TO-STRINGE
,KnKXm+KlKk IMT[9P +d+L+d\c4HDG<|<_<C[u<!X)<DG35286DG35285OBJECTSTREAMDG35280ĆG35277DG35279DLOOP-LIST-35284?P?LINEDG35281?GRAPHB?TREE0 / ?0  ?. $ |  t O ?4o ?2i ?0 8 ?.[ ?,t`?K?K? }K?"@?D+? K?KLLYGAIDF6V(defun llen () (no-cache) (recompute-request-parameters :external-format *utf-8*) (setf (content-type*) "text/xml; charset=utf-8" (reply-external-format*) *utf-8*) (let ((l (svref *lng* (read-from-string (post-parameter "s") nil 0))) (b (read-from-string (post-parameter "b") nil nil))) (with-html (:guesses (:letters (fmt "~a" (if (null b) "?" (string-downcase (observe-word (svref *frg* (cdr l)) (svref *oak* (car l)) (setf *omg* (img<-path b))))))) (:lines) (:graph)))))9;V# ~L-"UHAWAVM1IffS L-IHK*1eH; %@CeH%HH4BHDsII fffS L-tIIffS L-TIHK*1eH; %@CeH%HH4BHDs^I!ffS L-I)HK*1eH; %@CeH%HH4BHDsVI1I9ffS L-I 01IAS L-_uG@HGHHH9t7III9S L-4I 0 0IAfffS L- VIQIYIaffS L-LM-$%HPL-MMM$%TML-IO*1eH; %@CeH%HH4BIDwIifS L-dfffL-TLM$%`PL- E??*FRG*?OBSERVE-WORD?STRING-DOWNCASEE~aE,+U+RTu|[g.B>A4t4W4;  Xr4U4DG35298DG35297?L0?&r?$r?"?H? 4+?+?+LLENF6e(defun cof () (no-cache) (recompute-request-parameters :external-format *utf-8*) (setf (content-type*) "text/xml; charset=utf-8" (reply-external-format*) *utf-8*) (multiple-value-bind (addr addr-lst *print-pretty*) (real-remote-addr) (if addr-lst (/ (length addr) 0)) (with-input-from-string (s (format nil "~s" (char (post-parameter "c") 0))) (remember-img (read-from-string (post-parameter "s") nil 0) (img<-path (read-from-string (post-parameter "b") nil nil)) s)) (with-html (:guesses (:letters "☺") (:lines) (:graph)))))9тe#[=L-UHAWAVMM1IfffS L-IHK*1eH; %@CeH%HH4BHDs>II fffS L-lIIffS L-LIHK*1eH; %@CeH%HH4BHDsI!ffS L-M%AR1I)4%/c %L-)sHcH) h 0uHuI1Mef$%HPL-} tHu%pSL-|I9LfffffS L-\H1IAfffS L-<IIfS L-$H1IQfffS L-VMMM$%TfffffL-HuIYffffS L-fffML-IaLfffffS L-I 01IiS L-lVIqLffffS L-LI 0 0IifffS L-$IyfS L- HHuAXIS L-HM-$%@P-L-eH%HeH%0HKHHPHHSeH%0yHxeH4%?s HHIIIS L-\LM$%HPL-DM-M$%TL-$IO*1eH; %@CeH%HH4BIDwIYfS L-fff-L-LME$%`PL-jRjRAIO*1eH; %@CeH%HLABMDGA@1 0 IffffS L-Tf%TL-DHMARIO*1eH; %@CeH%HH4BIDwI4%/c fL-HM5$%8P5L-eH<%HeH%0HWHHXHH_eH%0yHxeH4%?s %TL-lLuL}$%PfC͓͓͟W͟͟fffEtext/xml; charset=utf-8REAL-REMOTE-ADDREc?CHAR?PRIN1-TO-STRING?MAKE-STRING-INPUT-STREAMEsEb?REMEMBER-IMG3 ,d*cB%T$ TTwT[]ntl=r)<r,9,Wq<T%<SADDR-LSTADDR0?&L???l?J?JCOFF6-(defun dysgu () (setf (content-type*) "text/html; charset=utf-8" (reply-external-format*) *utf-8*) (multiple-value-bind (addr addr-lst) (real-remote-addr) (declare (ignore addr)) (if addr-lst (with-html (:html)) (with-html (:html (:head (:script :type "text/javascript" :src "/dojo/dojo/dojo.js") (:script :type "text/javascript" :src "/oci/oci.js")) (:body ((:form :id "toolbar") ((:span :style "font-size: 300%") ((:a :href "#" :onclick "calculate(\"/llygaid\"); return false;") "?") ((:a :href "#" :onclick "clearShapes(); return false;") "_") (:input :type "hidden" :name "b") ((:select :name "s" :onchange "document.forms.toolbar.c.value=\"\"") (loop for i from 0 for s across *scripts* do (htm ((:option :value i) (str s))))) (:input :type "text" :name "c" :size 5) ((:a :href "#" :onclick "remember(); return false;") "!"))) (:div :id "drawboard" :class "boardDiv" :overflow "hidden") (:div :id "swg") (:div :id "grf")))))))9k-#fLLL-Z UHAWAVATASMY Ma Ii Iq ffffS L-Iy HK*1eH; %@CeH%HH4BHDsI ffS L-dMAR1I 4%/c L-<)sHcH) h 0u} 'I I I fffS L-LM%$%HPL-MME$%TEL-IO*1eH; %@CeH%HH4BIDwI fS L-lfffL-\LM$%`PL-DjRjRA IO*1eH; %@CeH%HLABMDGA1 0 LfS L-f%TL-HM}ARIO*1eH; %@CeH%HH4BIDw(I 4%/c f}L-|HM$%8PL-\eH<%HeH%0HWHHXHH_eH%0yHxeH4%?s ffff%TL-L]LeLuL}$%PI I I fffS L-LMM$%HPL-MMm$%TmL-IO*1eH; %@CeH%HH4BIDwI fS L-DfffL-4LM$%`PL-jRjRA IO*1eH; %@CeH%HLABMDGAx1 0 LfS L-jh 0I HK*1eH; %@CeH%HH4BHDs'VE1jHXfffff%pSL-dHPHPI9MHXLސ%SL-4H`IjRjRA IO*1eH; %@CeH%HLABMDGA1 0 LfffffS L-LhA wI.0u[jRjRA IO*1eH; %@CeH%HLABMDGA&1 0 LS L-\jRjRA IO*1eH; %@CeH%HLABMDGA1 0 LfffS L-ATH tMIO*1eH; %@CeH%HH4BIDwHHI S L-HjRjRA IO*1eH; %@CeH%HLABMDGA,1 0 LffffS L-DjRjRA IO*1eH; %@CeH%HLABMDGA1 0 LfS L-L`A tKIO*1eH; %@CeH%HH4BIDwLI fS L-jRjRA IO*1eH; %@CeH%HLABMDGA81 0 LfS L- E
?_!
,c n,c +c *)k)0,FDG35328DG35327DG35321DLOOP-ACROSS-LIMIT-35331DLOOP-ACROSS-INDEX-35330DLOOP-ACROSS-VECTOR-35329?I0 l?,` ;?* ~?({?&C?$>?"x?Tc ?"(?,? c ?c DYSGUF"6&(setq *dispatch-table* (nconc (list 'dispatch-easy-handlers (create-static-file-dispatcher-and-handler "/oco.html" (make-pathname :name "oco" :type "html" :version nil :defaults *this-file*)) (create-static-file-dispatcher-and-handler "/slovo.html" (make-pathname :name "slovo" :type "html" :version nil :defaults *this-file*)) (create-static-file-dispatcher-and-handler "/oci/oci.js" (make-pathname :name "oci" :type "js" :version nil :defaults *this-file*)) (create-folder-dispatcher-and-handler "/dojo/" #P"/home/dmitri/dojo/") (create-prefix-dispatcher "/dysgu" 'dysgu) (create-prefix-dispatcher "/cof" 'cof) (create-prefix-dispatcher "/llygaid" 'llygaid) (create-prefix-dispatcher "/oko/llygaid" 'llygaid) (create-prefix-dispatcher "/llen" 'llen) (create-prefix-dispatcher "/oko/llen" 'llen)) (list #'default-dispatcher)))9wD&%L-UHAWAVATASMM MMA!jRjRA)A1A9AAAIIN*1eH; %@CeH%HH4BIDvHIQA 0@LS L-LIYLfffffS L-,VjRjRA)AaA9AiAIIN*1eH; %@CeH%HH4BIDvIQA 0@LېS L-IqLfffffS L-VjRjRA)AyA9AAIIN*1eH; %@CeH%HH4BIDv)IQA 0@LېS L-ILfffffS L-VIIIffS L-VIILfffffS L-VIILfffffS L-VIILfffffS L-\VIILfffffS L-4VIILfffffS L- VIILfffffS L-VXM5fff$%xPL-VIH^ ؃H߾ 0eH,% eH%eH;%we$%H{HsH_IffS L-TI ff%TL-