From 908d037e1de34fb17a5610d78d540703bfd8da11 Mon Sep 17 00:00:00 2001
From: Benoit Favre <benoit.favre@lif.univ-mrs.fr>
Date: Mon, 23 Feb 2015 16:01:23 +0100
Subject: [PATCH] slu update + better handling of partial hypotheses

---
 asr.py                                        |    7 +-
 data/homeostasis_25nov.xml                    | 1270 +++++++++--------
 main.py                                       |   37 +-
 slu.py                                        |   46 +-
 slu/automate/homeostasis_25nov.fst            |  Bin 19278 -> 21454 bytes
 slu/automate/homeostasis_25nov_clean_tail.fst |  Bin 8626 -> 11382 bytes
 slu/automate/homeostasis_25nov_clean_tail.txt |  886 +++++++-----
 slu/automate/homeostasis_25nov_section1.fst   |  Bin 178 -> 178 bytes
 slu/automate/homeostasis_25nov_section1.txt   |    1 +
 slu/automate/homeostasis_25nov_section2.fst   |  Bin 1838 -> 2222 bytes
 slu/automate/homeostasis_25nov_section2.txt   |   26 +
 slu/automate/homeostasis_25nov_section3.fst   |  Bin 1350 -> 1510 bytes
 slu/automate/homeostasis_25nov_section3.txt   |   13 +
 slu/automate/homeostasis_25nov_section4.fst   |  Bin 2278 -> 2774 bytes
 slu/automate/homeostasis_25nov_section4.txt   |   35 +
 slu/automate/homeostasis_25nov_section5.fst   |  Bin 514 -> 546 bytes
 slu/automate/homeostasis_25nov_section5.txt   |    5 +
 slu/automate/homeostasis_25nov_section6.fst   |  Bin 9414 -> 9990 bytes
 slu/automate/homeostasis_25nov_section6.txt   |   45 +
 slu/automate/homeostasis_25nov_section8.fst   |  Bin 790 -> 966 bytes
 slu/automate/homeostasis_25nov_section8.txt   |   15 +
 slu/src/librocio_slu.cc                       |   36 +-
 slu/src/librocio_slu.h                        |    6 +-
 23 files changed, 1417 insertions(+), 1011 deletions(-)

diff --git a/asr.py b/asr.py
index 52a0669..5ec2c60 100644
--- a/asr.py
+++ b/asr.py
@@ -118,9 +118,12 @@ class ASR(Gtk.HBox):
     def _finished_loading_asr(self):
         self.button.set_label("Record")
         self.button.set_sensitive(True)
+        self.button.grab_focus()
 
     def _on_partial_result(self, asr, hyp):
-        """Delete any previous selection, insert text and select it."""
+        hyp = hyp.strip()
+        if hyp == '':
+            return
         Gdk.threads_enter()
         if len(self.hyp) == 0:
             self.hyp = ['']
@@ -141,6 +144,8 @@ class ASR(Gtk.HBox):
         Gdk.threads_leave()
                 
     def _on_final_result(self, asr, hyp):
+        if len(hyp) > 0 and hyp[-1] == '':
+            return
         #print 'FINAL', self.hyp, hyp
         Gdk.threads_enter()
         if len(self.hyp) == 0:
diff --git a/data/homeostasis_25nov.xml b/data/homeostasis_25nov.xml
index 349d160..7856988 100644
--- a/data/homeostasis_25nov.xml
+++ b/data/homeostasis_25nov.xml
@@ -1,634 +1,636 @@
-<homeostasis version="25-11-2014">
-    <liste_section sequences="1,2,3,4,5,6,7,8,9" ordre="variable" repetition="oui" action="exclusive">
-    <section id="1" action="start_scene1">
-        <sequence ordre="strict" repetition="non" action="" lang="eng">
-           <keyword action="start_scene1" lang="esp"> uno </keyword>
-        </sequence>
-        </section>
-        <section id="2" action="close_scene1/start_scene2">
-            <sequence ordre="strict" repetition="non" action="" lang="esp">
-                <keyword action="open_scene2" lang="esp"> dos </keyword>
-                <keyword action="open_2A" lang="eng"> open system </keyword>
-            </sequence>
-          <sequence ordre="strict" repetition="oui" action="" lang="eng"> 
-            <keyword action="start_system_voice" lang="eng"> tell me </keyword>
-            <keyword action="open_2B" lang="eng"> open technical characteristics </keyword>
-            <keyword action="open_2B1" lang="eng"> read </keyword>
-            <keyword action="open_2B2" lang="eng"> next </keyword>
-            <keyword action="open_2B3" lang="eng"> yes </keyword>
-            <keyword action="open_2B4" lang="eng"> read </keyword>
-            <keyword action="open_2B5" lang="eng"> download </keyword>
-            <keyword action="open_2C" lang="eng"> open the terms and conditions of use of body x epsilon system three point zero </keyword>
-            <keyword action="open_2C1" lang="eng"> accept terms and conditions of use </keyword>
-            <keyword action="open_2C2" lang="eng"> next </keyword>
-            <keyword action="open_2D" lang="eng"> install the new version of me </keyword>
-            <keyword action="#end" lang="eng"> give me my data </keyword>
-        </sequence>
-    </section>
-    <section id="3" action="close_scene2/start_scene3">
-        <sequence ordre="strict" repetition="non" action="" lang="eng">
-            <keyword action="open_scene3" lang="esp"> tres </keyword>
-            <keyword action="#end" lang="eng"> open access to body data </keyword>
-        </sequence>
-        <sequence ordre="strict" repetition="oui" action="" lang="eng">
-            <keyword action="open3_A" lang="eng"> import body data </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open3_A1" lang="eng"> import organic matter data </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open3_A2" lang="eng"> import temperature </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open3_A3" lang="eng"> import time </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open3_A4" lang="eng"> import space data </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open3_A5" lang="eng"> import position </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open3_A6" lang="eng"> import body subsystems </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open3_A7" lang="eng"> import estate </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="#end" lang="eng"> give me my data </keyword>
-        </sequence>
-    </section>
-    <section id="4" action="close_scene3/start_scene4">
-        <sequence ordre="strict" repetition="non" action="" lang="eng">
-            <keyword action="open_scene4" lang="esp"> quatro </keyword>
-            <keyword action="#end" lang="eng"> open access to body functions </keyword>
-        </sequence>
-        <sequence ordre="strict" repetition="oui" action="" lang="eng">
-            <keyword action="open_4A" lang="eng"> import body functions space localization </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open_4A1" lang="eng"> import body functions sensations </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open_4A2" lang="eng"> import body functions passion </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open_4A3" lang="eng"> import body functions concentration </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open_4A4" lang="eng"> import body functions perception </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open_4A5" lang="eng"> import body functions formal force </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open_4A6" lang="eng"> import body functions logics </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open_4A7" lang="eng"> import body functions imagination </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open_4A8" lang="eng"> import body functions effort </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open_4A9" lang="eng"> import body functions nervous system </keyword>
-            <keyword action="" lang="eng"> upload </keyword>
-            <keyword action="open_4A10" lang="eng"> import body functions internal network </keyword>
-            <keyword action="#end" lang="eng"> upload </keyword>
-            <keyword action="#end" lang="eng"> give me my data </keyword>
-        </sequence>
-    </section>
-    <section id="5" action="close_scene4/start_scene5">
-        <sequence ordre="strict" repetition="non" action="" lang="esp">
-            <keyword action="open_scene5" lang="esp"> cinco </keyword>
-        </sequence>
-        <sequence ordre="strict" repetition="oui" action="" lang="eng">
-            <keyword action="" lang="eng"> set up the connection </keyword>
-            <keyword action="" lang="eng"> open access to memory </keyword>
-            <keyword action="" lang="eng"> import memory data </keyword>
-            <keyword action="" lang="eng"> open memory </keyword>
-            <keyword action="" lang="eng"> deactivate the security system </keyword>
-            <keyword action="" lang="eng"> deactivate the security system of new version </keyword>
-            <keyword action="" lang="eng"> open conditions and terms of use </keyword>
-            <keyword action="" lang="eng"> modify the security conditions of new version anyway </keyword>
-            <keyword action="#end" lang="eng"> import memory </keyword>
-            <keyword action="#end" lang="eng"> give me my data </keyword>
-            <keyword action="stop_system_voice" lang="eng"> silence </keyword>
-        </sequence>
-    </section>
-    <section id="6" action="close_scene5/start_scene6">
-        <sequence ordre="strict" repetition="non" action="" lang="eng">
-            <keyword action="" lang="esp"> seis </keyword>
-            <keyword action="#end" lang="eng"> open network </keyword>
-        </sequence>
-        <sequence ordre="variable" repetition="oui" action="constellation/all words become written in the space constellation when they are pronounced/ the repetition of the same a word amplifies the word/" lang="eng">
-            <keyword action="constellation" lang="eng"> clouds </keyword>
-            <keyword action="constellation" lang="eng"> beautiful </keyword>
-            <keyword action="constellation" lang="eng"> data </keyword>
-            <keyword action="amplification1" lang="eng"> clouds </keyword>
-            <keyword action="constellation" lang="eng"> rain of identities </keyword>
-            <keyword action="constellation" lang="eng"> storm of possibilities </keyword>
-            <keyword action="constellation" lang="eng"> body </keyword> 
-            <keyword action="constellation" lang="eng"> wifi </keyword>
-            <keyword action="constellation" lang="eng"> search </keyword> 
-            <keyword action="constellation" lang="eng"> and redo </keyword>
-            <keyword action="constellation" lang="eng"> connection </keyword>
-            <keyword action="constellation" lang="eng"> connect me to this network </keyword>
-            <keyword action="constellation" lang="eng"> function </keyword>
-            <keyword action="constellation" lang="eng"> looking for </keyword>
-            <keyword action="amplification1" lang="eng"> something </keyword>
-            <keyword action="constellation" lang="eng"> must </keyword>
-            <keyword action="constellation" lang="eng"> stay </keyword>
-            <keyword action="amplification1" lang="eng"> something  </keyword>
-            <keyword action="amplification1" lang="eng"> must  </keyword>
-            <keyword action="constellation" lang="eng"> exist </keyword>
-            <keyword action="constellation" lang="eng"> a </keyword>
-            <keyword action="constellation" lang="eng"> thread  </keyword>
-            <keyword action="amplification2" lang="eng"> something  </keyword>
-            <keyword action="amplification1" lang="eng"> exists  </keyword>
-            <keyword action="constellation" lang="eng"> between recollection and oblivion </keyword>
-            <keyword action="constellation" lang="eng"> a tension an echo an emptiness </keyword>
-            <keyword action="amplification3" lang="eng"> something  </keyword>
-            <keyword action="constellation" lang="eng"> rare  </keyword>
-            <keyword action="amplification1" lang="eng"> stays  </keyword>
-            <keyword action="constellation" lang="eng"> through </keyword>
-            <keyword action="constellation" lang="eng"> nothing more strange than this exile </keyword>
-            <keyword action="constellation" lang="eng"> an absolute abyss </keyword>
-            <keyword action="constellation" lang="eng"> a creaking of the bones </keyword>
-            <keyword action="constellation" lang="eng"> a barbarian invasion </keyword>
-            <keyword action="constellation" lang="eng"> the carelessness of destinies </keyword>
-            <keyword action="constellation" lang="eng"> wringing out the  </keyword>
-            <keyword action="constellation" lang="eng"> blood </keyword>
-            <keyword action="amplification4" lang="eng"> something  </keyword>
-            <keyword action="constellation" lang="eng"> should </keyword>
-            <keyword action="amplification2" lang="eng"> must  </keyword>
-            <keyword action="constellation" lang="eng">  or  </keyword>
-            <keyword action="amplification2" lang="eng"> must  </keyword>
-            <keyword action="constellation" lang="eng">  not </keyword>
-            <keyword action="amplification5" lang="eng"> something  </keyword>
-            <keyword action="amplification2" lang="eng"> stays </keyword>
-            <keyword action="#end"> try with functional regulation </keyword>
-            <keyword action="#end" lang="eng"> give me my data </keyword>
-        </sequence>
-        <sequence ordre="variable" repetition="oui" action="constellation/all words become written in the space constellation when they are pronounced/ the repetition of the same a word amplifies the word/" lang="eng">
-            <keyword action="constellation" lang="eng"> possible  </keyword>
-            <keyword action="amplification1" lang="eng"> function </keyword>
-            <keyword action="constellation" lang="eng"> erase the  </keyword>
-            <keyword action="constellation" lang="eng"> space </keyword>
-            <keyword action="constellation" lang="eng"> important </keyword>
-            <keyword action="constellation" lang="eng"> state </keyword>
-            <keyword action="constellation" lang="eng"> geolocalization </keyword>
-            <keyword action="amplification1" lang="eng"> important </keyword>
-            <keyword action="constellation" lang="eng"> encode  </keyword>
-            <keyword action="constellation" lang="eng"> passion   </keyword>
-            <keyword action="constellation" lang="eng"> for located  </keyword>
-            <keyword action="constellation" lang="eng"> constellation   </keyword>
-            <keyword action="constellation" lang="eng"> center </keyword>
-            <keyword action="constellation" lang="eng"> six six nine </keyword>
-            <keyword action="amplification2" lang="eng"> important </keyword>
-            <keyword action="constellation" lang="eng"> some  </keyword>
-            <keyword action="amplification1" lang="eng"> threads  </keyword>
-            <keyword action="constellation" lang="eng"> are broken </keyword>
-            <keyword action="constellation" lang="eng"> remove </keyword>
-            <keyword action="constellation" lang="eng"> memory  </keyword>
-            <keyword action="constellation" lang="eng"> love </keyword>
-            <keyword action="amplification1" lang="eng"> love </keyword>
-            <keyword action="amplification1" lang="eng"> memory  </keyword>
-            <keyword action="amplification2" lang="eng"> love </keyword>
-            <keyword action="amplification1" lang="eng"> errors </keyword>
-            <keyword action="constellation" lang="eng"> a identical </keyword>
-            <keyword action="constellation" lang="eng"> identity  </keyword>
-            <keyword action="constellation" lang="eng"> identifier </keyword>
-            <keyword action="constellation" lang="eng"> where </keyword>
-            <keyword action="constellation" lang="eng"> answer </keyword>
-            <keyword action="constellation" lang="eng"> being </keyword>
-            <keyword action="constellation" lang="eng"> boing </keyword>
-            <keyword action="constellation" lang="eng"> boot </keyword>
-            <keyword action="constellation" lang="eng"> reboot </keyword>
-            <keyword action="constellation" lang="eng"> border of  </keyword>
-            <keyword action="amplification1" lang="eng"> body  </keyword>
-            <keyword action="amplification2" lang="eng"> body  </keyword>
-            <keyword action="amplification1" lang="eng"> being </keyword>
-            <keyword action="constellation" lang="eng"> begun </keyword>
-            <keyword action="constellation" lang="eng"> begin </keyword>
-            <keyword action="constellation" lang="eng"> win </keyword>
-            <keyword action="amplification1" lang="eng"> border of  </keyword>
-            <keyword action="amplification2" lang="eng"> being </keyword>
-            <keyword action="constellation" lang="eng"> actions </keyword>
-            <keyword action="amplification1" lang="eng"> search  </keyword>
-            <keyword action="constellation" lang="eng"> the  </keyword>
-            <keyword action="amplification1" lang="eng"> answer  </keyword>
-            <keyword action="constellation" lang="eng"> of  </keyword>
-            <keyword action="amplification1" lang="eng"> the </keyword>
-            <keyword action="constellation" lang="eng"> there is </keyword>
-            <keyword action="amplification1" lang="eng"> there is  </keyword>
-            <keyword action="amplification6" lang="eng"> something </keyword>
-            bo boom
-            <keyword action="amplification3" lang="eng"> body  </keyword>
-            <keyword action="constellation" lang="eng"> password </keyword>
-            the pa pa pathetic 
-            <keyword action="constellation" lang="eng"> pancreas </keyword>
-            <keyword action="constellation" lang="eng"> give  </keyword>
-            to 
-            drive
-            drive
-            to 
-            <keyword action="constellation" lang="eng"> me </keyword>
-            to memo
-            rise
-            say
-            say hello
-            <keyword action="amplification1" lang="eng"> data  </keyword>
-            gi 
-            <keyword action="amplification1" lang="eng"> give  </keyword>
-            <keyword action="amplification1" lang="eng"> me </keyword>
-            the
-            this
-            mine
-            mineral
-            <keyword action="amplification2" lang="eng"> give  </keyword>
-            <keyword action="amplification2" lang="eng"> me </keyword>
-            <keyword action="constellation" lang="eng"> you  </keyword>
-            <keyword action="constellation" lang="eng"> your </keyword>
-            <keyword action="amplification3" lang="eng"> give  </keyword>
-            <keyword action="amplification3" lang="eng"> me  </keyword>
-            <keyword action="amplification1" lang="eng"> your  </keyword>
-            <keyword action="amplification2" lang="eng"> data  </keyword>
-            <keyword action="amplification4" lang="eng"> give  </keyword>
-            <keyword action="amplification4" lang="eng"> me  </keyword>
-            <keyword action="amplification2" lang="eng"> your(s) </keyword>
-            <keyword action="amplification5" lang="eng"> give  </keyword>
-            <keyword action="amplification5" lang="eng"> me  </keyword>
-            <keyword action="amplification3" lang="eng"> your(s)  </keyword>
-            <keyword action="amplification3" lang="eng"> data  </keyword>
-            <keyword action="amplification1" lang="eng"> begun  </keyword>
-            <keyword action="amplification1" lang="eng"> begin  </keyword>
-            <keyword action="amplification1" lang="eng"> wins </keyword>
-            wine 
-            <keyword action="amplification1" lang="eng"> blood  </keyword>
-            <keyword action="constellation" lang="eng"> everywhere </keyword>
-            <keyword action="amplification6" lang="eng"> give  </keyword>
-            <keyword action="amplification7" lang="eng"> give  </keyword>
-            <keyword action="amplification4" lang="eng"> your(s)  </keyword>
-            <keyword action="amplification2" lang="eng"> blood  </keyword>
-            or
-            or go
-            <keyword action="constellation" lang="eng"> golden </keyword>
-            <keyword action="amplification1" lang="eng"> golden  </keyword>
-            <keyword action="amplification4" lang="eng"> data  </keyword>
-            pro
-            to go
-            pro 
-            <keyword action="constellation" lang="eng"> protein protection amino-acid </keyword>
-            to go
-            <keyword action="amplification1" lang="eng"> where  </keyword>
-            is
-            this is
-            <keyword action="constellation" lang="eng"> bilar </keyword>
-            <keyword action="constellation" lang="eng"> violence segment </keyword>
-            <keyword action="constellation" lang="eng"> segregation </keyword>
-            <keyword action="amplification2" lang="eng"> memory  </keyword>
-            <keyword action="amplification1" lang="eng"> encode </keyword>
-            <keyword action="amplification2" lang="eng"> where </keyword>
-            <keyword action="amplification3" lang="eng"> where  </keyword>
-            is every
-            <keyword action="amplification4" lang="eng"> body </keyword>
-            <keyword action="amplification4" lang="eng"> where  </keyword>
-            is no
-            <keyword action="amplification5" lang="eng"> body </keyword>
-            is 
-            <keyword action="amplification5" lang="eng"> where </keyword>
-            but
-            feet
-            free freedom
-            freedom on the move
-            freedom on the move
-            freedom on the move
-            field
-            fo fuck
-            fo
-            free
-            re 
-            rise
-            my
-            memorize
-            freedom on the move
-            freedom on the move
-            to 
-            <keyword action="amplification6" lang="eng"> where  </keyword>
-            to go to  go
-            go go
-            <keyword action="amplification8" lang="eng"> give  </keyword>
-            me go go
-            <keyword action="amplification5" lang="eng"> data  </keyword>
-            going
-            fast
-            <keyword action="amplification2" lang="eng"> clouds  </keyword>
-            of 
-            <keyword action="amplification7" lang="eng"> something </keyword>
-            else than
-            be center in the center of 
-            <keyword action="amplification3" lang="eng"> being </keyword>
-            the place
-            of the 
-            space
-            <keyword action="amplification7" lang="eng"> where </keyword>
-            the end starts
-            contact skin
-            left arm conductor nerve sensor
-            supplementary information like
-            sex name date of birth place 
-            <keyword action="amplification8" lang="eng"> where  </keyword>
-            you live
-            <keyword action="amplification9" lang="eng"> give   </keyword>
-            me 
-            your 
-            <keyword action="amplification6" lang="eng"> data  </keyword>
-            access accede
-            the door is opened
-            muscular oxygen
-            try with 
-            <keyword action="amplification2" lang="eng"> functions  </keyword>
-            in realtime
-            speak with someone from another 
-            space 
-            in realtime
-            to consult a realtime information
-            climate
-            the exact state
-            of such or such
-            a street
-            to buy
-            to choose
-            to access to all the information of the real world
-            to have virtual sex with
-            sex with 
-            data 
-            with a child
-            a chicken
-            a dead terrorist
-            a screen
-            other 
-            functions 
-            function 
-            analyze 
-            function 
-            capacity
-            capacity
-            to modify
-            to reinventing inner information
-            analyzes of the capacity of modification of basic structures
-            the problem is not the information
-            it's the 
-            connection
-            it's the 
-            link
-            the bond
-            it is the access
-            it is the key
-            it is the 
-            code
-            try with utopian 
-            function
-            how to say
-            that which the nothingness understands
-            that which fear hides
-            in the promises of the future
-            in the frustration of the human
-            in the disappointment of humanity
-            to envy
-            the cadence of machines
-            their speed
-            their power
-            the infinite of the virtual
-            the utopia of the possibilities
-            the simplicity of the cables
-            the capacity of calculation
-            the efficiency of the 
-            systems
-            <keyword action="#end"> and to want </keyword>
-            <keyword action="#end" lang="eng"> give me my data </keyword>
-        </sequence>
-        <sequence ordre="variable" repetition="oui" lang="esp" action="constellation/all words become written in the space constellation when they are pronounced/ the repetition of the same a word amplifies the word/interlined words in groups of 12 or divided by silence">
-            como decir
-            lo que la nada entiende
-            lo que el miedo esconde
-            en las promesas del futuro
-            en la frustracion de lo humano
-            en la decepcion de la humanidad
-            envidiar
-            la cadencia de las maquinas
-            su velocidad 
-            su potencia
-            lo infinito de lo virtual
-            la utopia de los possibles
-            la simplicidad de los cables
-            la capacidad de calculo
-            la eficacia de los sistemas
-            <keyword action="#end"> y querer </keyword>
-            <keyword action="#end" lang="eng"> give me my data </keyword>
-        </sequence>
-        <sequence ordre="variable" repetition="oui" lang="eng" action="constellation/all words become written in the space constellation when they are pronounced/ the repetition of the same a word amplifies the word/interlined words in groups of 12 or divided by silence">
-            try with upper motoneuron
-            functions 
-            functions
-            code 
-            variants
-            nerve motoneuron
-            con con con
-            connect me to this network
-            i'm just looking for the 
-            connection
-            a 
-            connection
-            a link
-            something that links me to something
-            something that tells me that i am not an isolated element
-            that i am not dead
-            to generate a new 
-            memory
-            to store it where i want to store it
-            to visit it when i want to visit it
-            isolated points in 
-            space
-            drops unable to be a sea
-            grains of sand that do not conceive of the desert
-            leaves that do not remember the tree from where they fell
-            i feed on an electrical juice
-            on an image that i generate
-            and that i can change with my fingers
-            searching fingers
-            research fingers
-            search
-            results
-            space 
-            where there are neither limits nor angles
-            where the horizon is nothing else than bits
-            images from a 
-            space 
-            more real than reality
-            try with identity 
-            function
-            accede to the infinite 
-            spaces
-            identifier required
-            something that identify me like i
-            identity is a movement
-            random combination
-            temporal accident
-            ephemeral 
-            system
-            to replace identity to identifier
-            liquid identities
-            composed by 
-            codes
-            codes codes codes
-            and some private 
-            data 
-            like
-            geolocalization
-            traced actions
-            autoproduced images
-            try with  existential 
-            functions
-            to be innumerable parallel identities
-            from innumerable parallel worlds
-            interconnected parallel worlds
-            interconnected parallel identities
-            to be downloaded
-            to be installed
-            to be executed in the application of being
-            to be synchronized
-            to be shared
-            to mark an alien silence
-            to remain in the space of between
-            to fight in the 
-            body
-            to transcend the effect
-            the fault
-            the default
-            in effect
-            to effect
-            to activate
-            to create
-            to 
-            give 
-            to 
-            give 
-            to 
-            give 
-            to 
-            give 
-            to
-            give 
-            to 
-            give 
-            to 
-            give 
-            to 
-            give 
-            to  
-            to go for a walk in the internal desert
-            to return to the center
-            to scratch the bones
-            to join the form
-            to relead deviations of the brain
-            to integrate the knot
-            to undress the center
-            to be relocated in 
-            space 
-            and time
-            to be the extrinsic silence
-            to undress time
-            to relead the desert
-            to close the access
-            to dance
-            information in movement
-            the movement of information
-            the access 
-            code
-            the 
-            code
-            the access to movement
-            the 
-            body
-            the fear
-            the recollection
-            the naked center
-            the paralysis of the fear
-            to replace the fear 
-            code
-            the 
-            code 
-            of the abyss
-            to be downloaded
-            to be installed
-            to be executed in the application of being
-            to be synchronized
-            to be shared
-            to be
-            try with cognitive function
-            transparent margins
-            elastic borders
-            perpetual dissociation between container and content
-            if everything
-            if if
-            is possible
-            in the magnetic center of nothingness
-            abstract intimacy
-            of the immaterial universe
-            try with structural regulation
-            open 
-            body wifi connection
-            no 
-            data 
-            detected
-            link 
-            memory 
-            function
-            locate
-            locate 
-            data 
-            storage
-            cells or
-            shining electronics and very well organized cables
-            fragile
-            cells or machines
-            motivated by a flow of an electrical 
-            blood 
-            composed of zero and one
-            a binary logic
-            everything
-            everything can't be logic
-            everything can't be binary
-            but everything
-            what has happened and what happens
-            it's all written down somewhere
-            try with morphogenetics auto regulation
-            activation of nervous 
-            system
-            link nervous 
-            system 
-            to
-            cells
-            heard
-            genetics 
-            data 
-            bank
-            send emergency message to
-            send emergency message to
-            open 
-            body 
-            data 
-            bank
-            open 
-            cells 
-            code
-            open 
-            genetic 
-            code
-        </sequence>
-    </section>
-    <section id="7" action="close_scene6/start_scene7"/>
-    <section id="8" action="close_scene7/start_scene8">
-        <sequence ordre="strict" repetition="non" action="" lang="eng">
-            <keyword action="" lang="esp"> ocho </keyword>
-            <keyword action="#end" lang="eng"> search for sequences producing significant alignments in genetic database </keyword>
-            <keyword action="#end" lang="eng"> give me my data </keyword>
-        </sequence>
-        <sequence ordre="variable" repetition="oui" action="" lang="eng">
-            <keyword action="memorise_loop" lang="eng"> record </keyword>
-            <keyword action="" lang="eng"> stop </keyword>
-            <keyword action="" lang="eng"> save this memory in genetic database </keyword>
-            <keyword action="" lang="eng"> next </keyword>
-            <keyword action="memorise_loop" lang="eng"> record </keyword>
-            <keyword action="" lang="eng"> stop </keyword>
-            <keyword action="" lang="eng"> erase this memory </keyword>
-            <keyword action="#end" lang="eng"> give me my data </keyword>
-        </sequence>
-    </section>
-</liste_section>
-</homeostasis> 
+<homeostasis version="25-11-2014">
+    <liste_section sequences="1,2,3,4,5,6,7,8,9" ordre="variable" repetition="oui" action="exclusive">
+    <section id="1" action="start_scene1">
+        <sequence ordre="strict" repetition="non" action="" lang="eng">
+           <keyword action="start_scene1" lang="esp"> uno </keyword>
+        </sequence>
+        </section>
+        <section id="2" action="close_scene1/start_scene2">
+            <sequence ordre="strict" repetition="non" action="" lang="esp">
+                <keyword action="open_scene2" lang="esp"> dos </keyword>
+                <keyword action="open_2A" lang="eng"> open system </keyword>
+            </sequence>
+          <sequence ordre="strict" repetition="oui" action="" lang="eng"> 
+            <keyword action="start_system_voice" lang="eng"> tell me </keyword>
+            <keyword action="open_2B" lang="eng"> open technical characteristics </keyword>
+            <keyword action="open_2B1" lang="eng"> read </keyword>
+            <keyword action="open_2B2" lang="eng"> next </keyword>
+            <keyword action="open_2B3" lang="eng"> yes </keyword>
+            <keyword action="open_2B4" lang="eng"> read </keyword>
+            <keyword action="open_2B5" lang="eng"> download </keyword>
+            <keyword action="open_2C" lang="eng"> open the terms and conditions of use of body x epsilon system three point zero </keyword>
+            <keyword action="open_2C1" lang="eng"> accept terms and conditions of use </keyword>
+            <keyword action="open_2C2" lang="eng"> next </keyword>
+            <keyword action="open_2D" lang="eng"> install the new version of me </keyword>
+            <keyword action="#end" lang="eng"> give me my data </keyword>
+        </sequence>
+    </section>
+    <section id="3" action="close_scene2/start_scene3">
+        <sequence ordre="strict" repetition="non" action="" lang="eng">
+            <keyword action="open_scene3" lang="esp"> tres </keyword>
+            <keyword action="#end" lang="eng"> open access to body data </keyword>
+        </sequence>
+        <sequence ordre="strict" repetition="oui" action="" lang="eng">
+            <keyword action="open3_A" lang="eng"> import body data </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open3_A1" lang="eng"> import organic matter data </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open3_A2" lang="eng"> import temperature </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open3_A3" lang="eng"> import time </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open3_A4" lang="eng"> import space data </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open3_A5" lang="eng"> import position </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open3_A6" lang="eng"> import body subsystems </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open3_A7" lang="eng"> import estate </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="#end" lang="eng"> give me my data </keyword>
+        </sequence>
+    </section>
+    <section id="4" action="close_scene3/start_scene4">
+        <sequence ordre="strict" repetition="non" action="" lang="eng">
+            <keyword action="open_scene4" lang="esp"> quatro </keyword>
+            <keyword action="#end" lang="eng"> open access to body functions </keyword>
+        </sequence>
+        <sequence ordre="strict" repetition="oui" action="" lang="eng">
+            <keyword action="open_4A" lang="eng"> import body functions space localization </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open_4A1" lang="eng"> import body functions sensations </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open_4A2" lang="eng"> import body functions passion </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open_4A3" lang="eng"> import body functions concentration </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open_4A4" lang="eng"> import body functions perception </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open_4A5" lang="eng"> import body functions formal force </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open_4A6" lang="eng"> import body functions logics </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open_4A7" lang="eng"> import body functions imagination </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open_4A8" lang="eng"> import body functions effort </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open_4A9" lang="eng"> import body functions nervous system </keyword>
+            <keyword action="" lang="eng"> upload </keyword>
+            <keyword action="open_4A10" lang="eng"> import body functions internal network </keyword>
+            <keyword action="#end" lang="eng"> upload </keyword>
+            <keyword action="#end" lang="eng"> give me my data </keyword>
+        </sequence>
+    </section>
+    <section id="5" action="close_scene4/start_scene5">
+        <sequence ordre="strict" repetition="non" action="" lang="esp">
+            <keyword action="open_scene5" lang="esp"> cinco </keyword>
+        </sequence>
+        <sequence ordre="strict" repetition="oui" action="" lang="eng">
+            <keyword action="" lang="eng"> set up the connection </keyword>
+            <keyword action="" lang="eng"> open access to memory </keyword>
+            <keyword action="" lang="eng"> import memory data </keyword>
+            <keyword action="" lang="eng"> open memory </keyword>
+            <keyword action="" lang="eng"> deactivate the security system </keyword>
+            <keyword action="" lang="eng"> deactivate the security system of new version </keyword>
+            <keyword action="" lang="eng"> open conditions and terms of use </keyword>
+            <keyword action="" lang="eng"> modify the security conditions of new version anyway </keyword>
+            <keyword action="#end" lang="eng"> import memory </keyword>
+            <keyword action="#end" lang="eng"> give me my data </keyword>
+            <keyword action="stop_system_voice" lang="eng"> silence </keyword>
+        </sequence>
+    </section>
+    <section id="6" action="close_scene5/start_scene6">
+        <sequence ordre="strict" repetition="non" action="" lang="eng">
+            <keyword action="" lang="esp"> seis </keyword>
+            <keyword action="#end" lang="eng"> open network </keyword>
+        </sequence>
+        <sequence ordre="variable" repetition="oui" action="constellation/all words become written in the space constellation when they are pronounced/ the repetition of the same a word amplifies the word/" lang="eng">
+            <keyword action="constellation" lang="eng"> clouds </keyword>
+            <keyword action="constellation" lang="eng"> beautiful </keyword>
+            <keyword action="constellation" lang="eng"> data </keyword>
+            <keyword action="amplification1" lang="eng"> clouds </keyword>
+            <keyword action="constellation" lang="eng"> rain of identities </keyword>
+            <keyword action="constellation" lang="eng"> storm of possibilities </keyword>
+            <keyword action="constellation" lang="eng"> body </keyword> 
+            <keyword action="constellation" lang="eng"> wifi </keyword>
+            <keyword action="constellation" lang="eng"> search </keyword> 
+            <keyword action="constellation" lang="eng"> and redo </keyword>
+            <keyword action="constellation" lang="eng"> connection </keyword>
+            <keyword action="constellation" lang="eng"> connect me to this network </keyword>
+            <keyword action="constellation" lang="eng"> function </keyword>
+            <keyword action="constellation" lang="eng"> looking for </keyword>
+            <keyword action="amplification1" lang="eng"> something </keyword>
+            <keyword action="constellation" lang="eng"> must </keyword>
+            <keyword action="constellation" lang="eng"> stay </keyword>
+            <keyword action="amplification1" lang="eng"> something  </keyword>
+            <keyword action="amplification1" lang="eng"> must  </keyword>
+            <keyword action="constellation" lang="eng"> exist </keyword>
+            <keyword action="constellation" lang="eng"> a </keyword>
+            <keyword action="constellation" lang="eng"> thread  </keyword>
+            <keyword action="amplification2" lang="eng"> something  </keyword>
+            <keyword action="amplification1" lang="eng"> exists  </keyword>
+            <keyword action="constellation" lang="eng"> between recollection and oblivion </keyword>
+            <keyword action="constellation" lang="eng"> a tension an echo an emptiness </keyword>
+            <keyword action="amplification3" lang="eng"> something  </keyword>
+            <keyword action="constellation" lang="eng"> rare  </keyword>
+            <keyword action="amplification1" lang="eng"> stays  </keyword>
+            <keyword action="constellation" lang="eng"> through </keyword>
+            <keyword action="constellation" lang="eng"> nothing more strange than this exile </keyword>
+            <keyword action="constellation" lang="eng"> an absolute abyss </keyword>
+            <keyword action="constellation" lang="eng"> a creaking of the bones </keyword>
+            <keyword action="constellation" lang="eng"> a barbarian invasion </keyword>
+            <keyword action="constellation" lang="eng"> the carelessness of destinies </keyword>
+            <keyword action="constellation" lang="eng"> wringing out the  </keyword>
+            <keyword action="constellation" lang="eng"> blood </keyword>
+            <keyword action="amplification4" lang="eng"> something  </keyword>
+            <keyword action="constellation" lang="eng"> should </keyword>
+            <keyword action="amplification2" lang="eng"> must  </keyword>
+            <keyword action="constellation" lang="eng">  or  </keyword>
+            <keyword action="amplification2" lang="eng"> must  </keyword>
+            <keyword action="constellation" lang="eng">  not </keyword>
+            <keyword action="amplification5" lang="eng"> something  </keyword>
+            <keyword action="amplification2" lang="eng"> stays </keyword>
+            <keyword action="#end"> try with functional regulation </keyword>
+            <keyword action="#end" lang="eng"> give me my data </keyword>
+        </sequence>
+        <sequence ordre="variable" repetition="oui" action="constellation/all words become written in the space constellation when they are pronounced/ the repetition of the same a word amplifies the word/" lang="eng">
+            <keyword action="constellation" lang="eng"> possible  </keyword>
+            <keyword action="amplification1" lang="eng"> function </keyword>
+            <keyword action="constellation" lang="eng"> erase the  </keyword>
+            <keyword action="constellation" lang="eng"> space </keyword>
+            <keyword action="constellation" lang="eng"> important </keyword>
+            <keyword action="constellation" lang="eng"> state </keyword>
+            <keyword action="constellation" lang="eng"> geolocalization </keyword>
+            <keyword action="amplification1" lang="eng"> important </keyword>
+            <keyword action="constellation" lang="eng"> encode  </keyword>
+            <keyword action="constellation" lang="eng"> passion   </keyword>
+            <keyword action="constellation" lang="eng"> for located  </keyword>
+            <keyword action="constellation" lang="eng"> constellation   </keyword>
+            <keyword action="constellation" lang="eng"> center </keyword>
+            <keyword action="constellation" lang="eng"> six six nine </keyword>
+            <keyword action="amplification2" lang="eng"> important </keyword>
+            <keyword action="constellation" lang="eng"> some  </keyword>
+            <keyword action="amplification1" lang="eng"> threads  </keyword>
+            <keyword action="constellation" lang="eng"> are broken </keyword>
+            <keyword action="constellation" lang="eng"> remove </keyword>
+            <keyword action="constellation" lang="eng"> memory  </keyword>
+            <keyword action="constellation" lang="eng"> love </keyword>
+            <keyword action="amplification1" lang="eng"> love </keyword>
+            <keyword action="amplification1" lang="eng"> memory  </keyword>
+            <keyword action="amplification2" lang="eng"> love </keyword>
+            <keyword action="amplification1" lang="eng"> errors </keyword>
+            <keyword action="constellation" lang="eng"> a identical </keyword>
+            <keyword action="constellation" lang="eng"> identity  </keyword>
+            <keyword action="constellation" lang="eng"> identifier </keyword>
+            <keyword action="constellation" lang="eng"> where </keyword>
+            <keyword action="constellation" lang="eng"> answer </keyword>
+            <keyword action="constellation" lang="eng"> being </keyword>
+            <keyword action="constellation" lang="eng"> boing </keyword>
+            <keyword action="constellation" lang="eng"> boot </keyword>
+            <keyword action="constellation" lang="eng"> reboot </keyword>
+            <keyword action="constellation" lang="eng"> border of  </keyword>
+            <keyword action="amplification1" lang="eng"> body  </keyword>
+            <keyword action="amplification2" lang="eng"> body  </keyword>
+            <keyword action="amplification1" lang="eng"> being </keyword>
+            <keyword action="constellation" lang="eng"> begun </keyword>
+            <keyword action="constellation" lang="eng"> begin </keyword>
+            <keyword action="constellation" lang="eng"> win </keyword>
+            <keyword action="amplification1" lang="eng"> border of  </keyword>
+            <keyword action="amplification2" lang="eng"> being </keyword>
+            <keyword action="constellation" lang="eng"> actions </keyword>
+            <keyword action="amplification1" lang="eng"> search  </keyword>
+            <keyword action="constellation" lang="eng"> the  </keyword>
+            <keyword action="amplification1" lang="eng"> answer  </keyword>
+            <keyword action="constellation" lang="eng"> of  </keyword>
+            <keyword action="amplification1" lang="eng"> the </keyword>
+            <keyword action="constellation" lang="eng"> there is </keyword>
+            <keyword action="amplification1" lang="eng"> there is  </keyword>
+            <keyword action="amplification6" lang="eng"> something </keyword>
+            bo boom
+            <keyword action="amplification3" lang="eng"> body  </keyword>
+            <keyword action="constellation" lang="eng"> password </keyword>
+            the pa pa pathetic 
+            <keyword action="constellation" lang="eng"> pancreas </keyword>
+            <keyword action="constellation" lang="eng"> give  </keyword>
+            to 
+            drive
+            drive
+            to 
+            <keyword action="constellation" lang="eng"> me </keyword>
+            to memo
+            rise
+            say
+            say hello
+            <keyword action="amplification1" lang="eng"> data  </keyword>
+            gi 
+            <keyword action="amplification1" lang="eng"> give  </keyword>
+            <keyword action="amplification1" lang="eng"> me </keyword>
+            the
+            this
+            mine
+            mineral
+            <keyword action="amplification2" lang="eng"> give  </keyword>
+            <keyword action="amplification2" lang="eng"> me </keyword>
+            <keyword action="constellation" lang="eng"> you  </keyword>
+            <keyword action="constellation" lang="eng"> your </keyword>
+            <keyword action="amplification3" lang="eng"> give  </keyword>
+            <keyword action="amplification3" lang="eng"> me  </keyword>
+            <keyword action="amplification1" lang="eng"> your  </keyword>
+            <keyword action="amplification2" lang="eng"> data  </keyword>
+            <keyword action="amplification4" lang="eng"> give  </keyword>
+            <keyword action="amplification4" lang="eng"> me  </keyword>
+            <keyword action="amplification2" lang="eng"> your </keyword>
+            <keyword action="amplification5" lang="eng"> give  </keyword>
+            <keyword action="amplification5" lang="eng"> me  </keyword>
+            <keyword action="amplification3" lang="eng"> your  </keyword>
+            <keyword action="amplification3" lang="eng"> data  </keyword>
+            <keyword action="amplification1" lang="eng"> begun  </keyword>
+            <keyword action="amplification1" lang="eng"> begin  </keyword>
+            <keyword action="amplification1" lang="eng"> wins </keyword>
+            wine 
+            <keyword action="amplification1" lang="eng"> blood  </keyword>
+            <keyword action="constellation" lang="eng"> everywhere </keyword>
+            <keyword action="amplification6" lang="eng"> give  </keyword>
+            <keyword action="amplification7" lang="eng"> give  </keyword>
+            <keyword action="amplification4" lang="eng"> your  </keyword>
+            <keyword action="amplification2" lang="eng"> blood  </keyword>
+            or
+            or go
+            <keyword action="constellation" lang="eng"> golden </keyword>
+            <keyword action="amplification1" lang="eng"> golden  </keyword>
+            <keyword action="amplification4" lang="eng"> data  </keyword>
+            pro
+            to go
+            pro 
+            <keyword action="constellation" lang="eng"> protein protection amino-acid </keyword>
+            to go
+            <keyword action="amplification1" lang="eng"> where  </keyword>
+            is
+            this is
+            <keyword action="constellation" lang="eng"> bilar </keyword>
+            <keyword action="constellation" lang="eng"> violence segment </keyword>
+            <keyword action="constellation" lang="eng"> segregation </keyword>
+            <keyword action="amplification2" lang="eng"> memory  </keyword>
+            <keyword action="amplification1" lang="eng"> encode </keyword>
+            <keyword action="amplification2" lang="eng"> where </keyword>
+            <keyword action="amplification3" lang="eng"> where  </keyword>
+            is every
+            <keyword action="amplification4" lang="eng"> body </keyword>
+            <keyword action="amplification4" lang="eng"> where  </keyword>
+            is no
+            <keyword action="amplification5" lang="eng"> body </keyword>
+            is 
+            <keyword action="amplification5" lang="eng"> where </keyword>
+            but
+            feet
+            free freedom
+            freedom on the move
+            freedom on the move
+            freedom on the move
+            field
+            fo fuck
+            fo
+            free
+            re 
+            rise
+            my
+            memorize
+            freedom on the move
+            freedom on the move
+            to 
+            <keyword action="amplification6" lang="eng"> where  </keyword>
+            to go to  go
+            go go
+            <keyword action="amplification8" lang="eng"> give  </keyword>
+            me go go
+            <keyword action="amplification5" lang="eng"> data  </keyword>
+            going
+            fast
+            <keyword action="amplification2" lang="eng"> clouds  </keyword>
+            of 
+            <keyword action="amplification7" lang="eng"> something </keyword>
+            else than
+            be center in the center of 
+            <keyword action="amplification3" lang="eng"> being </keyword>
+            the place
+            of the 
+            space
+            <keyword action="amplification7" lang="eng"> where </keyword>
+            the end starts
+            contact skin
+            left arm conductor nerve sensor
+            supplementary information like
+            sex name date of birth place 
+            <keyword action="amplification8" lang="eng"> where  </keyword>
+            you live
+            <keyword action="amplification9" lang="eng"> give   </keyword>
+            me 
+            your 
+            <keyword action="amplification6" lang="eng"> data  </keyword>
+            access accede
+            the door is opened
+            muscular oxygen
+            try with 
+            <keyword action="amplification2" lang="eng"> functions  </keyword>
+            in realtime
+            speak with someone from another 
+            space 
+            in realtime
+            to consult a realtime information
+            climate
+            the exact state
+            of such or such
+            a street
+            to buy
+            to choose
+            to access to all the information of the real world
+            to have virtual sex with
+            sex with 
+            data 
+            with a child
+            a chicken
+            a dead terrorist
+            a screen
+            other 
+            functions 
+            function 
+            analyze 
+            function 
+            capacity
+            capacity
+            to modify
+            to reinventing inner information
+            analyzes of the capacity of modification of basic structures
+            the problem is not the information
+            it's the 
+            connection
+            it's the 
+            link
+            the bond
+            it is the access
+            it is the key
+            it is the 
+            code
+            try with utopian 
+            function
+            how to say
+            that which the nothingness understands
+            that which fear hides
+            in the promises of the future
+            in the frustration of the human
+            in the disappointment of humanity
+            to envy
+            the cadence of machines
+            their speed
+            their power
+            the infinite of the virtual
+            the utopia of the possibilities
+            the simplicity of the cables
+            the capacity of calculation
+            the efficiency of the 
+            systems
+            <keyword action="#end"> and to want </keyword>
+            <keyword action="#end" lang="eng"> give me my data </keyword>
+        </sequence>
+        <sequence ordre="variable" repetition="oui" lang="esp" action="constellation/all words become written in the space constellation when they are pronounced/ the repetition of the same a word amplifies the word/interlined words in groups of 12 or divided by silence">
+            como decir
+            lo que la nada entiende
+            lo que el miedo esconde
+            en las promesas del futuro
+            en la frustracion de lo humano
+            en la decepcion de la humanidad
+            envidiar
+            la cadencia de las maquinas
+            su velocidad 
+            su potencia
+            lo infinito de lo virtual
+            la utopia de los possibles
+            la simplicidad de los cables
+            la capacidad de calculo
+            la eficacia de los sistemas
+            <keyword action="#end"> y querer </keyword>
+            <keyword action="#end" lang="eng"> give me my data </keyword>
+        </sequence>
+        <sequence ordre="variable" repetition="oui" lang="eng" action="constellation/all words become written in the space constellation when they are pronounced/ the repetition of the same a word amplifies the word/interlined words in groups of 12 or divided by silence">
+            try with upper motoneuron
+            functions 
+            functions
+            code 
+            variants
+            nerve motoneuron
+            con con con
+            connect me to this network
+            i'm just looking for the 
+            connection
+            a 
+            connection
+            a link
+            something that links me to something
+            something that tells me that i am not an isolated element
+            that i am not dead
+            to generate a new 
+            memory
+            to store it where i want to store it
+            to visit it when i want to visit it
+            isolated points in 
+            space
+            drops unable to be a sea
+            grains of sand that do not conceive of the desert
+            leaves that do not remember the tree from where they fell
+            i feed on an electrical juice
+            on an image that i generate
+            and that i can change with my fingers
+            searching fingers
+            research fingers
+            search
+            results
+            space 
+            where there are neither limits nor angles
+            where the horizon is nothing else than bits
+            images from a 
+            space 
+            more real than reality
+            try with identity 
+            function
+            accede to the infinite 
+            spaces
+            identifier required
+            something that identify me like i
+            identity is a movement
+            random combination
+            temporal accident
+            ephemeral 
+            system
+            to replace identity to identifier
+            liquid identities
+            composed by 
+            codes
+            codes codes codes
+            and some private 
+            data 
+            like
+            geolocalization
+            traced actions
+            autoproduced images
+            try with  existential 
+            functions
+            to be innumerable parallel identities
+            from innumerable parallel worlds
+            interconnected parallel worlds
+            interconnected parallel identities
+            to be downloaded
+            to be installed
+            to be executed in the application of being
+            to be synchronized
+            to be shared
+            to mark an alien silence
+            to remain in the space of between
+            to fight in the 
+            body
+            to transcend the effect
+            the fault
+            the default
+            in effect
+            to effect
+            to activate
+            to create
+            to 
+            give 
+            to 
+            give 
+            to 
+            give 
+            to 
+            give 
+            to
+            give 
+            to 
+            give 
+            to 
+            give 
+            to 
+            give 
+            to  
+            to go for a walk in the internal desert
+            to return to the center
+            to scratch the bones
+            to join the form
+            to relead deviations of the brain
+            to integrate the knot
+            to undress the center
+            to be relocated in 
+            space 
+            and time
+            to be the extrinsic silence
+            to undress time
+            to relead the desert
+            to close the access
+            to dance
+            information in movement
+            the movement of information
+            the access 
+            code
+            the 
+            code
+            the access to movement
+            the 
+            body
+            the fear
+            the recollection
+            the naked center
+            the paralysis of the fear
+            to replace the fear 
+            code
+            the 
+            code 
+            of the abyss
+            to be downloaded
+            to be installed
+            to be executed in the application of being
+            to be synchronized
+            to be shared
+            to be
+            try with cognitive function
+            transparent margins
+            elastic borders
+            perpetual dissociation between container and content
+            if everything
+            if if
+            is possible
+            in the magnetic center of nothingness
+            abstract intimacy
+            of the immaterial universe
+            try with structural regulation
+            open 
+            body wifi connection
+            no 
+            data 
+            detected
+            link 
+            memory 
+            function
+            locate
+            locate 
+            data 
+            storage
+            cells or
+            shining electronics and very well organized cables
+            fragile
+            cells or machines
+            motivated by a flow of an electrical 
+            blood 
+            composed of zero and one
+            a binary logic
+            everything
+            everything can't be logic
+            everything can't be binary
+            but everything
+            what has happened and what happens
+            it's all written down somewhere
+            try with morphogenetics auto regulation
+            activation of nervous 
+            system
+            link nervous 
+            system 
+            to
+            cells
+            heard
+            genetics 
+            data 
+            bank
+            send emergency message to
+            send emergency message to
+            open 
+            body 
+            data 
+            bank
+            open 
+            cells 
+            code
+            open 
+            genetic 
+            code
+            <keyword action="#end" lang="eng"> give me my data </keyword>
+        </sequence>
+    </section>
+    <section id="7" action="close_scene6/start_scene7"/>
+    <section id="8" action="close_scene7/start_scene8">
+        <sequence ordre="strict" repetition="non" action="" lang="eng">
+            <keyword action="" lang="esp"> ocho </keyword>
+            <keyword action="#end" lang="eng"> search for sequences producing significant alignments in genetic database </keyword>
+            <keyword action="#end" lang="eng"> give me my data </keyword>
+        </sequence>
+        <sequence ordre="variable" repetition="oui" action="" lang="eng">
+            <keyword action="memorise_loop" lang="eng"> record </keyword>
+            <keyword action="" lang="eng"> stop </keyword>
+            <keyword action="" lang="eng"> save this memory in genetic database </keyword>
+            <keyword action="" lang="eng"> next </keyword>
+            <keyword action="memorise_loop" lang="eng"> record </keyword>
+            <keyword action="" lang="eng"> stop </keyword>
+            <keyword action="" lang="eng"> erase this memory </keyword>
+            <keyword action="#end" lang="eng"> give me my data </keyword>
+        </sequence>
+    </section>
+</liste_section>
+</homeostasis> 
+
diff --git a/main.py b/main.py
index 5f1e76b..f95a2fd 100644
--- a/main.py
+++ b/main.py
@@ -44,7 +44,7 @@ class ScriptedASR(Gtk.Window):
         vbox.pack_start(self.confirmer, False, True, 5)
 
         # transcript view
-        self.asr = asr.ASR(asr_config_file, self.hyp_changed, self.hyp_changed)
+        self.asr = asr.ASR(asr_config_file, self.hyp_changed)
         vbox.pack_start(self.asr, False, True, 5)
 
         # slu
@@ -73,13 +73,24 @@ class ScriptedASR(Gtk.Window):
         osc.setup(osc_host, osc_port)
         actions.setup(self.confirmer, self.xmlview)
         self.current_section = 0
+        self.current_section_history = ['']
+        self.slu_output = ''
+        self.kept_history = ''
+        self.kept_actions = []
 
     def set_section(self, section_id):
         self.xmlview.set_section(section_id)
 
     def slu_finished(self, model, slu_output):
-        for action_id in range(self.previous_actions, model.num_actions()):
-            action = actions.parse_slu_action(model.get_action(action_id))
+        slu_output = str(slu_output)
+        self.slu_actions = model.get_actions().split()
+        self.slu_output = slu_output
+        print 'SLU output: "%s", actions: "%s"' % (self.slu_output, ' '.join(self.slu_actions))
+
+        #for action_id in range(0, len(self.slu_actions)):
+        for action_id in range(len(self.kept_actions), len(self.slu_actions)):
+            print 'NEW ACTION:', action_id, self.slu_actions[action_id]
+            action = actions.parse_slu_action(self.slu_actions[action_id])
             print action.text
             if action.text.startswith('#ENDSEQUENCE('):
                 pass
@@ -92,16 +103,32 @@ class ScriptedASR(Gtk.Window):
 
     def hyp_changed(self, hyp):
         #hyp = ' '.join(hyp).replace('[noise]', ' ').split()
+        if len(hyp) > len(self.current_section_history):
+            self.current_section_history.append('')
+            self.kept_history = self.slu_output
+            self.kept_actions = self.slu_actions
+
         words = hyp[-1].strip().replace('_', ' ').split()
+        if len(words) == 0:
+            return
         section_id = self.xmlview.get_section()
         if self.current_section != section_id:
             self.previous_actions = 0
             self.current_section = section_id
+            self.current_section_history = ['']
+            self.slu_output = ''
+            self.slu_actions = []
+            self.kept_history = ''
+            self.kept_actions = []
+            if section_id in self.slu:
+                self.slu[section_id].reset_slu()
         #print section_id
         if section_id in self.slu:
             model = self.slu[section_id]
-            self.previous_actions = model.num_actions()
-            model.process(words, self.slu_finished)
+            #self.previous_actions = model.num_actions()
+            print 'SLU input: history="%s", words="%s"' % (self.kept_history, ' '.join(words))
+            model.process(words, self.kept_history, self.slu_finished, False)
+        self.current_section_history[-1] = ' '.join(words)
 
     def quit(self, window):
         for slu in self.slu.values():
diff --git a/slu.py b/slu.py
index 0d276aa..1d31c14 100644
--- a/slu.py
+++ b/slu.py
@@ -16,22 +16,34 @@ class SLU:
             _backend.init_slu.argtypes = [c_char_p, c_char_p, c_char_p, c_char_p]
             _backend.init_slu.restype = c_void_p
 
-            # int run_slu(slu_t* slu, char** words, int num_words, int prevn);
+            # int run_slu(slu_t* slu, char** words, int num_words, int prevn, char* prevword);
             _backend.run_slu.argtypes = [c_void_p, POINTER(c_char_p), c_int, c_int, c_char_p]
-            _backend.run_slu.restype = c_int
+            _backend.run_slu.restype = c_void_p # c_char_p with manual memory management
 
             # int num_actions(slu_t* slu)
             _backend.num_actions.argtypes = [c_void_p]
             _backend.num_actions.restype = c_int
             
+            # int get_actions(slu_t* slu)
+            _backend.get_actions.argtypes = [c_void_p]
+            _backend.get_actions.restype = c_void_p
+
             # int get_action(slu_t* slu, int index)
             _backend.get_action.argtypes = [c_void_p, c_int]
             _backend.get_action.restype = c_char_p
 
+            # void reset_slu(slu_t* slu);
+            _backend.reset_slu.argtypes = [c_void_p]
+            _backend.reset_slu.restype = None
+
             # void free_slu(slu_t* slu);
             _backend.free_slu.argtypes = [c_void_p]
             _backend.free_slu.restype = None
 
+            # void free(void*)  from libc
+            _backend.free.argtypes = [c_void_p]
+            _backend.free.restype = None
+
             _semaphore = threading.Semaphore()
         _semaphore.acquire()
         thread = threading.Thread(target=self._init_thread, args=[word_lexicon, action_lexicon, model_fst, cleaner_fst])
@@ -43,17 +55,22 @@ class SLU:
         self.slu = _backend.init_slu(word_lexicon, action_lexicon, model_fst, cleaner_fst)
         _semaphore.release()
 
-    def process(self, words, callback):
-        thread = threading.Thread(target=self._process_thread, args=[words, callback])
-        thread.daemon = True
-        thread.start()
+    def process(self, words, old_words, callback, async=True):
+        if async:
+            thread = threading.Thread(target=self._process_thread, args=[words, old_words, callback])
+            thread.daemon = True
+            thread.start()
+        else:
+            self._process_thread(words, old_words, callback)
 
-    def _process_thread(self, words, callback):
+    def _process_thread(self, words, old_words, callback):
         global _backend, _semaphore
         c_words = (c_char_p * len(words))(*words)
         _semaphore.acquire()
-        output = _backend.run_slu(self.slu, c_words, len(words), self.num_actions(), None)
+        c_output = _backend.run_slu(self.slu, c_words, len(words), -1, old_words)
         _semaphore.release()
+        output = cast(c_output, c_char_p).value
+        _backend.free(c_output)
         GLib.idle_add(callback, self, output)
 
     def num_actions(self):
@@ -61,11 +78,24 @@ class SLU:
         output = _backend.num_actions(self.slu)
         return output
 
+    def get_actions(self):
+        global _backend, _semaphore
+        c_output = _backend.get_actions(self.slu)
+        output = cast(c_output, c_char_p).value
+        _backend.free(c_output)
+        return output
+
     def get_action(self, index):
         global _backend, _semaphore
         output = _backend.get_action(self.slu, index)
         return output
 
+    def reset_slu(self):
+        global _backend, _semaphore
+        _semaphore.acquire()
+        _backend.reset_slu(self.slu)
+        _semaphore.release()
+
     def shutdown(self):
         global _backend, _semaphore
         _backend.free_slu(self.slu)
diff --git a/slu/automate/homeostasis_25nov.fst b/slu/automate/homeostasis_25nov.fst
index df590feef0cf226e1fa14080ebff998bd27ee9be..c91b928a2e6e796933043d0a066b28f542d0453b 100644
GIT binary patch
delta 4388
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

delta 2246
zcmX@NoblW=#tHK#p5mFfif^(Dm)OR8F^rS_7&#_8F$rx>VR{DP?9%0#9LK_D-B8cS
z00I0E3QUTENrapLm=7Vuz*Iv$<K*)!l9LzMiB0BXWs^Xt6$Z;g2uX&?bL^xzrNBIp
zmU>o6W)QuaRZ<+G1!5#v5rgdH*OJnla$pWfr9K-(M>Lz{<QBFpuus0R34u+KW|u^=
zSP-lSLa2f*o;;0x4_L!4T^>#?unfq^dJc$@t2rR<|HV-NR&|S!XL21U8<NB1!FnKs
z;beOOX(l6v$rF^MCV%1-gSdc8a<U6o+vGl8j>(s}gp3h>QikXPla^o-AtwUnLkKI7
zv7FXm4#;uY+>(>0aNCK(q6Jy49Z2nDA)XMBeVVFZJrKeXOd)Jg1M?w-6G+$QOFSx!
zAZ@&w5K%Dc36h#@#<vF~!-H(qWHJ65Ai>GE7<o8@!HPkylNOMi>>?mHd76^Q<T3$B
z7|aKWafwa7Cr~iCPKIN0m>?u}ss$y*5H3P7{FI;yBje=vf|8RZgs^)xaq?+FY0f0L
z#p{J6C*Kgt0$IR|Y*ZRZ-Q-EaV5?DNvcNJyBA7CHU>PA%Oqn9E%q1)`Wgr>Oa=3eD
zi%CvCA_jKPWHWK0$rl90Cg+K>O>Pl~h<$^K=}E9nc9DRHZIghgdnds*nMD#JRwfA%
zTPMke6j+c11GbD|@+(QOLnkLmftAYkg2fRbYX#;*h`!1E^3sz(Nrg;KV-}elC2cnO
z0;3q`B(NkX{?1E-;!kWcp9}{$4z*;&kdiw{nJI{1U|^Uw*`7;!vY(K^<V7+oz^28?
zf=!d13s!-!A32lE10^WN`IF<Br6=pjnN6OeBsRHAPGa&oIUY_Mus#NcMPQR3$pwhP
z(l|)M4n#08Ff3!(93g**d2*dK$K+LZJd^d5*(SRvd%^gdHz|8Cf;phv%BRYPBg^ds
z8;5YDH<%A0c7XzE^CZ;-CXhj*;Sf<Uc?wK|LP}mka<Yd8*j~{{uqcE$2c|$O_G>_j
zk=Gi?={yQ74<Qy?X+qrUq$Pw@(n3--M9EDsg>Yvwm=7Utfhn+6T9T7rXn`HWlL{7v
z5R=2S13-S@ONa2m<U?@T$M|USYF+8cN;+T#JegoA2r+pYM365V!UvNt!MY}!=|a@!
zfdwJN=2g0P!2ZxEfe3)fpI{Q<@=`D#LQKA<uQGX>lFVc=13pj+l>G}9M<_;4Gygzo
zhUq`3U{wNX*!;v`5huu3JPlx75MuKxs}^36=wvewq0JE<Q7j-14{|X(`I?W)<TeYL
z$zr}>Tjd(T2@JcfO^lNr1f&?7C)ZmjgEc(yjRI$hAU`pXlPCB2A=hfi4(^0#?V8-L
zBt03VT*F^)@+C$Qxn4Z>^+7cCgEigr7elJJKpuPoA{ZDLCNfTT;F6l`=PxihEI?)Q
zCsmQjeF4bT^eU)A5H%IezSST>D4qtBoBTfjl1{Y)C5;eau@0&ZM9qY$1#uV{7}i5+
z5H)#Opb}F<{p3@DHef%_MN^9$F!R8E<d_dtGPx>f0!YtfxnNvDxfHB}aTz#NCIyRu
JY+4np0s!T-ptb-2

diff --git a/slu/automate/homeostasis_25nov_clean_tail.fst b/slu/automate/homeostasis_25nov_clean_tail.fst
index fa0657a6795f1b795cf0e056b66842d49d6f615e..0cfb3f067befa6dcb72ec8150dec2b16f370da02 100644
GIT binary patch
literal 11382
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
z_@K5g2*dcGwl4_7_@K5g2*dcGwl4_7_@K5g2*dcGwl4_7_@K5g2*dcGwl4_7_@K5g
z2*dcGwl4_7_@K5g2*dcGwl4_7_@K5g2*dcGwl4_7_@K5g2*dcGwl4_7_@K5g2*dcG
zwl4_7_@K5g2*dcGwl4_7_@K5g2*dcu?O#y-1hsuZ7$y&D`+_ix4{G~@FpLjs`+_ix
z4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix4{G~@
zFpLjs`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs
z`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix
z4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix4{G~@
zFpLjs`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs
z`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs`+_ix4{G~@FpLjs`+_ixkKFzR<u~N^FNhCn
z`+_h`J#zaOB#+$w1@S>`Ul4|=2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+
zeL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;
z2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c
z7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+
zeL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;
z2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c
z7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&*+eL)z;2eo}c7{&(x
Dpi}!F

delta 145
zcmewsvB`OYigMG^CI$pxK`^1LhWZVg^A*{-B|-d6AcBE`ff0&9T*l4b-0a-8ASMVi
Zfd~c$1{e+Ef|P@3W+ZJOK12=71^}094FLcE

diff --git a/slu/automate/homeostasis_25nov_clean_tail.txt b/slu/automate/homeostasis_25nov_clean_tail.txt
index 62c2141..a8439cd 100644
--- a/slu/automate/homeostasis_25nov_clean_tail.txt
+++ b/slu/automate/homeostasis_25nov_clean_tail.txt
@@ -1,3 +1,179 @@
+0	0	uno	uno
+0	0	dos	dos
+0	0	open	open
+0	0	system	system
+0	0	tell	tell
+0	0	me	me
+0	0	technical	technical
+0	0	characteristics	characteristics
+0	0	read	read
+0	0	next	next
+0	0	yes	yes
+0	0	download	download
+0	0	the	the
+0	0	terms	terms
+0	0	and	and
+0	0	conditions	conditions
+0	0	of	of
+0	0	use	use
+0	0	body	body
+0	0	x	x
+0	0	epsilon	epsilon
+0	0	three	three
+0	0	point	point
+0	0	zero	zero
+0	0	accept	accept
+0	0	install	install
+0	0	new	new
+0	0	version	version
+0	0	give	give
+0	0	my	my
+0	0	data	data
+0	0	tres	tres
+0	0	access	access
+0	0	to	to
+0	0	import	import
+0	0	organic	organic
+0	0	matter	matter
+0	0	temperature	temperature
+0	0	time	time
+0	0	space	space
+0	0	position	position
+0	0	subsystems	subsystems
+0	0	estate	estate
+0	0	quatro	quatro
+0	0	functions	functions
+0	0	localization	localization
+0	0	sensations	sensations
+0	0	passion	passion
+0	0	concentration	concentration
+0	0	perception	perception
+0	0	formal	formal
+0	0	force	force
+0	0	logics	logics
+0	0	imagination	imagination
+0	0	effort	effort
+0	0	nervous	nervous
+0	0	internal	internal
+0	0	network	network
+0	0	upload	upload
+0	0	cinco	cinco
+0	0	memory	memory
+0	0	silence	silence
+0	0	clouds	clouds
+0	0	beautiful	beautiful
+0	0	rain	rain
+0	0	identities	identities
+0	0	storm	storm
+0	0	possibilities	possibilities
+0	0	wifi	wifi
+0	0	search	search
+0	0	redo	redo
+0	0	connection	connection
+0	0	connect	connect
+0	0	this	this
+0	0	function	function
+0	0	looking	looking
+0	0	for	for
+0	0	something	something
+0	0	must	must
+0	0	stay	stay
+0	0	exist	exist
+0	0	a	a
+0	0	thread	thread
+0	0	exists	exists
+0	0	between	between
+0	0	recollection	recollection
+0	0	oblivion	oblivion
+0	0	tension	tension
+0	0	an	an
+0	0	echo	echo
+0	0	emptiness	emptiness
+0	0	rare	rare
+0	0	stays	stays
+0	0	through	through
+0	0	nothing	nothing
+0	0	more	more
+0	0	strange	strange
+0	0	than	than
+0	0	exile	exile
+0	0	absolute	absolute
+0	0	abyss	abyss
+0	0	creaking	creaking
+0	0	bones	bones
+0	0	barbarian	barbarian
+0	0	invasion	invasion
+0	0	carelessness	carelessness
+0	0	destinies	destinies
+0	0	wringing	wringing
+0	0	out	out
+0	0	blood	blood
+0	0	should	should
+0	0	or	or
+0	0	not	not
+0	0	try	try
+0	0	with	with
+0	0	functional	functional
+0	0	regulation	regulation
+0	0	possible	possible
+0	0	erase	erase
+0	0	important	important
+0	0	state	state
+0	0	geolocalization	geolocalization
+0	0	encode	encode
+0	0	located	located
+0	0	constellation	constellation
+0	0	center	center
+0	0	six	six
+0	0	nine	nine
+0	0	some	some
+0	0	threads	threads
+0	0	are	are
+0	0	broken	broken
+0	0	remove	remove
+0	0	love	love
+0	0	errors	errors
+0	0	identical	identical
+0	0	identity	identity
+0	0	identifier	identifier
+0	0	where	where
+0	0	answer	answer
+0	0	being	being
+0	0	boing	boing
+0	0	boot	boot
+0	0	reboot	reboot
+0	0	border	border
+0	0	begun	begun
+0	0	begin	begin
+0	0	win	win
+0	0	actions	actions
+0	0	there	there
+0	0	is	is
+0	0	password	password
+0	0	pancreas	pancreas
+0	0	you	you
+0	0	your	your
+0	0	wins	wins
+0	0	everywhere	everywhere
+0	0	golden	golden
+0	0	protein	protein
+0	0	protection	protection
+0	0	amino-acid	amino-acid
+0	0	bilar	bilar
+0	0	violence	violence
+0	0	segment	segment
+0	0	segregation	segregation
+0	0	want	want
+0	0	y	y
+0	0	querer	querer
+0	0	sequences	sequences
+0	0	producing	producing
+0	0	significant	significant
+0	0	alignments	alignments
+0	0	in	in
+0	0	genetic	genetic
+0	0	database	database
+0	0	record	record
 0	1	uno	uno
 0	1	dos	dos
 0	1	open	open
@@ -174,361 +350,357 @@
 0	1	genetic	genetic
 0	1	database	database
 0	1	record	record
-1	1	<joker>	<joker>
-1	1	uno	uno
-1	1	dos	dos
-1	1	open	open
-1	1	system	system
-1	1	tell	tell
-1	1	me	me
-1	1	technical	technical
-1	1	characteristics	characteristics
-1	1	read	read
-1	1	next	next
-1	1	yes	yes
-1	1	download	download
-1	1	the	the
-1	1	terms	terms
-1	1	and	and
-1	1	conditions	conditions
-1	1	of	of
-1	1	use	use
-1	1	body	body
-1	1	x	x
-1	1	epsilon	epsilon
-1	1	three	three
-1	1	point	point
-1	1	zero	zero
-1	1	accept	accept
-1	1	install	install
-1	1	new	new
-1	1	version	version
-1	1	give	give
-1	1	my	my
-1	1	data	data
-1	1	tres	tres
-1	1	access	access
-1	1	to	to
-1	1	import	import
-1	1	organic	organic
-1	1	matter	matter
-1	1	temperature	temperature
-1	1	time	time
-1	1	space	space
-1	1	position	position
-1	1	subsystems	subsystems
-1	1	estate	estate
-1	1	quatro	quatro
-1	1	functions	functions
-1	1	localization	localization
-1	1	sensations	sensations
-1	1	passion	passion
-1	1	concentration	concentration
-1	1	perception	perception
-1	1	formal	formal
-1	1	force	force
-1	1	logics	logics
-1	1	imagination	imagination
-1	1	effort	effort
-1	1	nervous	nervous
-1	1	internal	internal
-1	1	network	network
-1	1	upload	upload
-1	1	cinco	cinco
-1	1	memory	memory
-1	1	silence	silence
-1	1	clouds	clouds
-1	1	beautiful	beautiful
-1	1	rain	rain
-1	1	identities	identities
-1	1	storm	storm
-1	1	possibilities	possibilities
-1	1	wifi	wifi
-1	1	search	search
-1	1	redo	redo
-1	1	connection	connection
-1	1	connect	connect
-1	1	this	this
-1	1	function	function
-1	1	looking	looking
-1	1	for	for
-1	1	something	something
-1	1	must	must
-1	1	stay	stay
-1	1	exist	exist
-1	1	a	a
-1	1	thread	thread
-1	1	exists	exists
-1	1	between	between
-1	1	recollection	recollection
-1	1	oblivion	oblivion
-1	1	tension	tension
-1	1	an	an
-1	1	echo	echo
-1	1	emptiness	emptiness
-1	1	rare	rare
-1	1	stays	stays
-1	1	through	through
-1	1	nothing	nothing
-1	1	more	more
-1	1	strange	strange
-1	1	than	than
-1	1	exile	exile
-1	1	absolute	absolute
-1	1	abyss	abyss
-1	1	creaking	creaking
-1	1	bones	bones
-1	1	barbarian	barbarian
-1	1	invasion	invasion
-1	1	carelessness	carelessness
-1	1	destinies	destinies
-1	1	wringing	wringing
-1	1	out	out
-1	1	blood	blood
-1	1	should	should
-1	1	or	or
-1	1	not	not
-1	1	try	try
-1	1	with	with
-1	1	functional	functional
-1	1	regulation	regulation
-1	1	possible	possible
-1	1	erase	erase
-1	1	important	important
-1	1	state	state
-1	1	geolocalization	geolocalization
-1	1	encode	encode
-1	1	located	located
-1	1	constellation	constellation
-1	1	center	center
-1	1	six	six
-1	1	nine	nine
-1	1	some	some
-1	1	threads	threads
-1	1	are	are
-1	1	broken	broken
-1	1	remove	remove
-1	1	love	love
-1	1	errors	errors
-1	1	identical	identical
-1	1	identity	identity
-1	1	identifier	identifier
-1	1	where	where
-1	1	answer	answer
-1	1	being	being
-1	1	boing	boing
-1	1	boot	boot
-1	1	reboot	reboot
-1	1	border	border
-1	1	begun	begun
-1	1	begin	begin
-1	1	win	win
-1	1	actions	actions
-1	1	there	there
-1	1	is	is
-1	1	password	password
-1	1	pancreas	pancreas
-1	1	you	you
-1	1	your	your
-1	1	wins	wins
-1	1	everywhere	everywhere
-1	1	golden	golden
-1	1	protein	protein
-1	1	protection	protection
-1	1	amino-acid	amino-acid
-1	1	bilar	bilar
-1	1	violence	violence
-1	1	segment	segment
-1	1	segregation	segregation
-1	1	want	want
-1	1	y	y
-1	1	querer	querer
-1	1	sequences	sequences
-1	1	producing	producing
-1	1	significant	significant
-1	1	alignments	alignments
-1	1	in	in
-1	1	genetic	genetic
-1	1	database	database
-1	1	record	record
-1	2	<joker>	<epsilon>
+0	2	<joker>	<joker>
 1
-2	3	<epsilon>	<joker>
-2	2	<joker>	<epsilon>
-2
-3	1	uno	uno
-3	1	dos	dos
-3	1	open	open
-3	1	system	system
-3	1	tell	tell
-3	1	me	me
-3	1	technical	technical
-3	1	characteristics	characteristics
-3	1	read	read
-3	1	next	next
-3	1	yes	yes
-3	1	download	download
-3	1	the	the
-3	1	terms	terms
-3	1	and	and
-3	1	conditions	conditions
-3	1	of	of
-3	1	use	use
-3	1	body	body
-3	1	x	x
-3	1	epsilon	epsilon
-3	1	three	three
-3	1	point	point
-3	1	zero	zero
-3	1	accept	accept
-3	1	install	install
-3	1	new	new
-3	1	version	version
-3	1	give	give
-3	1	my	my
-3	1	data	data
-3	1	tres	tres
-3	1	access	access
-3	1	to	to
-3	1	import	import
-3	1	organic	organic
-3	1	matter	matter
-3	1	temperature	temperature
-3	1	time	time
-3	1	space	space
-3	1	position	position
-3	1	subsystems	subsystems
-3	1	estate	estate
-3	1	quatro	quatro
-3	1	functions	functions
-3	1	localization	localization
-3	1	sensations	sensations
-3	1	passion	passion
-3	1	concentration	concentration
-3	1	perception	perception
-3	1	formal	formal
-3	1	force	force
-3	1	logics	logics
-3	1	imagination	imagination
-3	1	effort	effort
-3	1	nervous	nervous
-3	1	internal	internal
-3	1	network	network
-3	1	upload	upload
-3	1	cinco	cinco
-3	1	memory	memory
-3	1	silence	silence
-3	1	clouds	clouds
-3	1	beautiful	beautiful
-3	1	rain	rain
-3	1	identities	identities
-3	1	storm	storm
-3	1	possibilities	possibilities
-3	1	wifi	wifi
-3	1	search	search
-3	1	redo	redo
-3	1	connection	connection
-3	1	connect	connect
-3	1	this	this
-3	1	function	function
-3	1	looking	looking
-3	1	for	for
-3	1	something	something
-3	1	must	must
-3	1	stay	stay
-3	1	exist	exist
-3	1	a	a
-3	1	thread	thread
-3	1	exists	exists
-3	1	between	between
-3	1	recollection	recollection
-3	1	oblivion	oblivion
-3	1	tension	tension
-3	1	an	an
-3	1	echo	echo
-3	1	emptiness	emptiness
-3	1	rare	rare
-3	1	stays	stays
-3	1	through	through
-3	1	nothing	nothing
-3	1	more	more
-3	1	strange	strange
-3	1	than	than
-3	1	exile	exile
-3	1	absolute	absolute
-3	1	abyss	abyss
-3	1	creaking	creaking
-3	1	bones	bones
-3	1	barbarian	barbarian
-3	1	invasion	invasion
-3	1	carelessness	carelessness
-3	1	destinies	destinies
-3	1	wringing	wringing
-3	1	out	out
-3	1	blood	blood
-3	1	should	should
-3	1	or	or
-3	1	not	not
-3	1	try	try
-3	1	with	with
-3	1	functional	functional
-3	1	regulation	regulation
-3	1	possible	possible
-3	1	erase	erase
-3	1	important	important
-3	1	state	state
-3	1	geolocalization	geolocalization
-3	1	encode	encode
-3	1	located	located
-3	1	constellation	constellation
-3	1	center	center
-3	1	six	six
-3	1	nine	nine
-3	1	some	some
-3	1	threads	threads
-3	1	are	are
-3	1	broken	broken
-3	1	remove	remove
-3	1	love	love
-3	1	errors	errors
-3	1	identical	identical
-3	1	identity	identity
-3	1	identifier	identifier
-3	1	where	where
-3	1	answer	answer
-3	1	being	being
-3	1	boing	boing
-3	1	boot	boot
-3	1	reboot	reboot
-3	1	border	border
-3	1	begun	begun
-3	1	begin	begin
-3	1	win	win
-3	1	actions	actions
-3	1	there	there
-3	1	is	is
-3	1	password	password
-3	1	pancreas	pancreas
-3	1	you	you
-3	1	your	your
-3	1	wins	wins
-3	1	everywhere	everywhere
-3	1	golden	golden
-3	1	protein	protein
-3	1	protection	protection
-3	1	amino-acid	amino-acid
-3	1	bilar	bilar
-3	1	violence	violence
-3	1	segment	segment
-3	1	segregation	segregation
-3	1	want	want
-3	1	y	y
-3	1	querer	querer
-3	1	sequences	sequences
-3	1	producing	producing
-3	1	significant	significant
-3	1	alignments	alignments
-3	1	in	in
-3	1	genetic	genetic
-3	1	database	database
-3	1	record	record
+2	0	uno	uno
+2	0	dos	dos
+2	0	open	open
+2	0	system	system
+2	0	tell	tell
+2	0	me	me
+2	0	technical	technical
+2	0	characteristics	characteristics
+2	0	read	read
+2	0	next	next
+2	0	yes	yes
+2	0	download	download
+2	0	the	the
+2	0	terms	terms
+2	0	and	and
+2	0	conditions	conditions
+2	0	of	of
+2	0	use	use
+2	0	body	body
+2	0	x	x
+2	0	epsilon	epsilon
+2	0	three	three
+2	0	point	point
+2	0	zero	zero
+2	0	accept	accept
+2	0	install	install
+2	0	new	new
+2	0	version	version
+2	0	give	give
+2	0	my	my
+2	0	data	data
+2	0	tres	tres
+2	0	access	access
+2	0	to	to
+2	0	import	import
+2	0	organic	organic
+2	0	matter	matter
+2	0	temperature	temperature
+2	0	time	time
+2	0	space	space
+2	0	position	position
+2	0	subsystems	subsystems
+2	0	estate	estate
+2	0	quatro	quatro
+2	0	functions	functions
+2	0	localization	localization
+2	0	sensations	sensations
+2	0	passion	passion
+2	0	concentration	concentration
+2	0	perception	perception
+2	0	formal	formal
+2	0	force	force
+2	0	logics	logics
+2	0	imagination	imagination
+2	0	effort	effort
+2	0	nervous	nervous
+2	0	internal	internal
+2	0	network	network
+2	0	upload	upload
+2	0	cinco	cinco
+2	0	memory	memory
+2	0	silence	silence
+2	0	clouds	clouds
+2	0	beautiful	beautiful
+2	0	rain	rain
+2	0	identities	identities
+2	0	storm	storm
+2	0	possibilities	possibilities
+2	0	wifi	wifi
+2	0	search	search
+2	0	redo	redo
+2	0	connection	connection
+2	0	connect	connect
+2	0	this	this
+2	0	function	function
+2	0	looking	looking
+2	0	for	for
+2	0	something	something
+2	0	must	must
+2	0	stay	stay
+2	0	exist	exist
+2	0	a	a
+2	0	thread	thread
+2	0	exists	exists
+2	0	between	between
+2	0	recollection	recollection
+2	0	oblivion	oblivion
+2	0	tension	tension
+2	0	an	an
+2	0	echo	echo
+2	0	emptiness	emptiness
+2	0	rare	rare
+2	0	stays	stays
+2	0	through	through
+2	0	nothing	nothing
+2	0	more	more
+2	0	strange	strange
+2	0	than	than
+2	0	exile	exile
+2	0	absolute	absolute
+2	0	abyss	abyss
+2	0	creaking	creaking
+2	0	bones	bones
+2	0	barbarian	barbarian
+2	0	invasion	invasion
+2	0	carelessness	carelessness
+2	0	destinies	destinies
+2	0	wringing	wringing
+2	0	out	out
+2	0	blood	blood
+2	0	should	should
+2	0	or	or
+2	0	not	not
+2	0	try	try
+2	0	with	with
+2	0	functional	functional
+2	0	regulation	regulation
+2	0	possible	possible
+2	0	erase	erase
+2	0	important	important
+2	0	state	state
+2	0	geolocalization	geolocalization
+2	0	encode	encode
+2	0	located	located
+2	0	constellation	constellation
+2	0	center	center
+2	0	six	six
+2	0	nine	nine
+2	0	some	some
+2	0	threads	threads
+2	0	are	are
+2	0	broken	broken
+2	0	remove	remove
+2	0	love	love
+2	0	errors	errors
+2	0	identical	identical
+2	0	identity	identity
+2	0	identifier	identifier
+2	0	where	where
+2	0	answer	answer
+2	0	being	being
+2	0	boing	boing
+2	0	boot	boot
+2	0	reboot	reboot
+2	0	border	border
+2	0	begun	begun
+2	0	begin	begin
+2	0	win	win
+2	0	actions	actions
+2	0	there	there
+2	0	is	is
+2	0	password	password
+2	0	pancreas	pancreas
+2	0	you	you
+2	0	your	your
+2	0	wins	wins
+2	0	everywhere	everywhere
+2	0	golden	golden
+2	0	protein	protein
+2	0	protection	protection
+2	0	amino-acid	amino-acid
+2	0	bilar	bilar
+2	0	violence	violence
+2	0	segment	segment
+2	0	segregation	segregation
+2	0	want	want
+2	0	y	y
+2	0	querer	querer
+2	0	sequences	sequences
+2	0	producing	producing
+2	0	significant	significant
+2	0	alignments	alignments
+2	0	in	in
+2	0	genetic	genetic
+2	0	database	database
+2	0	record	record
+2	1	uno	uno
+2	1	dos	dos
+2	1	open	open
+2	1	system	system
+2	1	tell	tell
+2	1	me	me
+2	1	technical	technical
+2	1	characteristics	characteristics
+2	1	read	read
+2	1	next	next
+2	1	yes	yes
+2	1	download	download
+2	1	the	the
+2	1	terms	terms
+2	1	and	and
+2	1	conditions	conditions
+2	1	of	of
+2	1	use	use
+2	1	body	body
+2	1	x	x
+2	1	epsilon	epsilon
+2	1	three	three
+2	1	point	point
+2	1	zero	zero
+2	1	accept	accept
+2	1	install	install
+2	1	new	new
+2	1	version	version
+2	1	give	give
+2	1	my	my
+2	1	data	data
+2	1	tres	tres
+2	1	access	access
+2	1	to	to
+2	1	import	import
+2	1	organic	organic
+2	1	matter	matter
+2	1	temperature	temperature
+2	1	time	time
+2	1	space	space
+2	1	position	position
+2	1	subsystems	subsystems
+2	1	estate	estate
+2	1	quatro	quatro
+2	1	functions	functions
+2	1	localization	localization
+2	1	sensations	sensations
+2	1	passion	passion
+2	1	concentration	concentration
+2	1	perception	perception
+2	1	formal	formal
+2	1	force	force
+2	1	logics	logics
+2	1	imagination	imagination
+2	1	effort	effort
+2	1	nervous	nervous
+2	1	internal	internal
+2	1	network	network
+2	1	upload	upload
+2	1	cinco	cinco
+2	1	memory	memory
+2	1	silence	silence
+2	1	clouds	clouds
+2	1	beautiful	beautiful
+2	1	rain	rain
+2	1	identities	identities
+2	1	storm	storm
+2	1	possibilities	possibilities
+2	1	wifi	wifi
+2	1	search	search
+2	1	redo	redo
+2	1	connection	connection
+2	1	connect	connect
+2	1	this	this
+2	1	function	function
+2	1	looking	looking
+2	1	for	for
+2	1	something	something
+2	1	must	must
+2	1	stay	stay
+2	1	exist	exist
+2	1	a	a
+2	1	thread	thread
+2	1	exists	exists
+2	1	between	between
+2	1	recollection	recollection
+2	1	oblivion	oblivion
+2	1	tension	tension
+2	1	an	an
+2	1	echo	echo
+2	1	emptiness	emptiness
+2	1	rare	rare
+2	1	stays	stays
+2	1	through	through
+2	1	nothing	nothing
+2	1	more	more
+2	1	strange	strange
+2	1	than	than
+2	1	exile	exile
+2	1	absolute	absolute
+2	1	abyss	abyss
+2	1	creaking	creaking
+2	1	bones	bones
+2	1	barbarian	barbarian
+2	1	invasion	invasion
+2	1	carelessness	carelessness
+2	1	destinies	destinies
+2	1	wringing	wringing
+2	1	out	out
+2	1	blood	blood
+2	1	should	should
+2	1	or	or
+2	1	not	not
+2	1	try	try
+2	1	with	with
+2	1	functional	functional
+2	1	regulation	regulation
+2	1	possible	possible
+2	1	erase	erase
+2	1	important	important
+2	1	state	state
+2	1	geolocalization	geolocalization
+2	1	encode	encode
+2	1	located	located
+2	1	constellation	constellation
+2	1	center	center
+2	1	six	six
+2	1	nine	nine
+2	1	some	some
+2	1	threads	threads
+2	1	are	are
+2	1	broken	broken
+2	1	remove	remove
+2	1	love	love
+2	1	errors	errors
+2	1	identical	identical
+2	1	identity	identity
+2	1	identifier	identifier
+2	1	where	where
+2	1	answer	answer
+2	1	being	being
+2	1	boing	boing
+2	1	boot	boot
+2	1	reboot	reboot
+2	1	border	border
+2	1	begun	begun
+2	1	begin	begin
+2	1	win	win
+2	1	actions	actions
+2	1	there	there
+2	1	is	is
+2	1	password	password
+2	1	pancreas	pancreas
+2	1	you	you
+2	1	your	your
+2	1	wins	wins
+2	1	everywhere	everywhere
+2	1	golden	golden
+2	1	protein	protein
+2	1	protection	protection
+2	1	amino-acid	amino-acid
+2	1	bilar	bilar
+2	1	violence	violence
+2	1	segment	segment
+2	1	segregation	segregation
+2	1	want	want
+2	1	y	y
+2	1	querer	querer
+2	1	sequences	sequences
+2	1	producing	producing
+2	1	significant	significant
+2	1	alignments	alignments
+2	1	in	in
+2	1	genetic	genetic
+2	1	database	database
+2	1	record	record
diff --git a/slu/automate/homeostasis_25nov_section1.fst b/slu/automate/homeostasis_25nov_section1.fst
index b8ceba879c1abf140ac66f07ecd773f6954f07f4..6257b879d9ed607acecadfa40025a0a112b8105e 100644
GIT binary patch
delta 12
TcmdnQxQTH>57P;!iG3;nAFl+`

delta 12
TcmdnQxQTH>4^u<^#6A@OA3Frc

diff --git a/slu/automate/homeostasis_25nov_section1.txt b/slu/automate/homeostasis_25nov_section1.txt
index b5cd31b..7544e0b 100644
--- a/slu/automate/homeostasis_25nov_section1.txt
+++ b/slu/automate/homeostasis_25nov_section1.txt
@@ -2,5 +2,6 @@
 1	100
 0	1	<joker>	2	100
 1	2	<epsilon>	3	0
+2	100
 2	3	<epsilon>	4	0
 3
diff --git a/slu/automate/homeostasis_25nov_section2.fst b/slu/automate/homeostasis_25nov_section2.fst
index cd2b1f7c324bf6c567ba298214982a40d828ba07..786e674f9064d6ca0a6504f792c3384bf8d922b0 100644
GIT binary patch
literal 2222
zcmccicT*i30|P@@YH~?_5eEYULvcxBUP@w73KIhaFf%x%HbR(S(hy7{6AkqUwG0fb
zP$@<R1_ls@@J~2_*bEFOoM38M7#J8pHiMLd#6a>8{s|{$kRU@tJxC11gqQ(hF)%>n
zVCF%@*dY`H$V?CuWFCkHnFsO{hz&9WWFCZn!U-hDfMf^E43Jug9Lyac5d;R=0m7V6
zA&@?hxe)#dCkTxQ6Nr5f#mH<11_eh5AK_1kUWi%<8@n4o?&D%$U;tr|Y7h-_1BeEN
zF^q<U6-WgFgUsb-U|;}YkSK@-=>^dsy)YV^UXZyw3=9k)4AKjtL3%+nNH2`WrWa%`
zNIx$~BLf2ihz98e(ICAr8k=5_xgdEys9q2a(hH(NdSNs+y&!#{_~M7^1<@eAAR44s
z7A%g4FNj%SK?VT`1tk?6A$){dh#3%RK?nsU6&xXagj$GRh_n!df|3f35I#aJL@z{I
z7(ziw1xE-Up%$VSA}s=;prnE$gpW`Q(F>6lg-}pZ!4bkos6{qc45|u3DL6v-2(=J<
zAhO~R3Q8(CLih-^5PKlf5)cYXDmX&;2(=J<AkvZ$3Q8(CLih-^p!^M$WRQX}z_fxR
zgpW`QaT8dQK^j6qNd-p;AE6fFCWy2Qgo2U^ju1W~|3cgZk%puz?D-dz#z1a@r3pD`
zSqb5va8d>vfp7zII+F*>!3YIM2p^#qVg^KB0YX7Z1xE-Up%yuvDMD32C<R9dAE6dG
zJt#pGK}iKi2p<s+$mtB?7wq8x3L{Xt0CR^5G#nuO6HXvLD34;x*C2C2aRqaiDpW6o
zf5J%%>^g+|L17LSVqjoUgE7Fgf+K{FPz#Ayuq1;zgo2U^ju1XVEyxd0Nd^rV157J8
zLih-^5VwIP88jgjlvHqp@DX7Ms#l<r3=qFy4?|EGfzl5w%(bE60O6l-(gPcUa09Zr
zI$${%q2LJNBh*6D7DQebLP1FdM+hI`UP#)4NJH#I)b$Wi2nq2E0|Ttg&<6{n*5|M?
J!T>CXAOOxeUrPW0

delta 431
zcmZ1{xQ=f_6eA<!<Y-38%`J>=ASO4nq;*3*BLf8RLntsQ2qqD70$@Ib5CT&T^^BAI
znI)M)^llV$gu(I<LKI9P%z@|y3o?j-DUg197Kl07EXeMG$b%IzNP;PZIjmqlgpdML
zAamYB&5>r6ob19H#mG2$J}boJ)2xz42;C6hfweIxf+>U?vI{4>vCWZ%1rHxsA%su^
zQy?q(*&!BKvrCHMFr<q;VKNh=$mD<QY)DGv!A3xc$yOXnObzvu<2bZHR2PQ|0099r
AP5=M^

diff --git a/slu/automate/homeostasis_25nov_section2.txt b/slu/automate/homeostasis_25nov_section2.txt
index 87b2764..d19f7f5 100644
--- a/slu/automate/homeostasis_25nov_section2.txt
+++ b/slu/automate/homeostasis_25nov_section2.txt
@@ -14,6 +14,7 @@
 4	6	<joker>	8	100
 6	7	open	9	0
 7	8	technical	0	0
+7	8	<epsilon>	0	10
 8	9	characteristics	0	0
 9	6	<epsilon>	0	0
 9	100
@@ -40,27 +41,44 @@
 13	14	<joker>	14	100
 14	15	open	15	0
 15	16	the	0	0
+15	16	<epsilon>	0	10
 16	17	terms	0	0
+16	17	<epsilon>	0	10
 17	18	and	0	0
+17	18	<epsilon>	0	10
 18	19	conditions	0	0
+18	19	<epsilon>	0	10
 19	20	of	0	0
+19	20	<epsilon>	0	10
 20	21	use	0	0
+20	21	<epsilon>	0	10
 21	22	of	0	0
+21	22	<epsilon>	0	10
 22	23	body	0	0
+22	23	<epsilon>	0	10
 23	24	x	0	0
+23	24	<epsilon>	0	10
 24	25	epsilon	0	0
+24	25	<epsilon>	0	10
 25	26	system	0	0
+25	26	<epsilon>	0	10
 26	27	three	0	0
+26	27	<epsilon>	0	10
 27	28	point	0	0
+27	28	<epsilon>	0	10
 28	29	zero	0	0
 29	14	<epsilon>	0	0
 29	100
 14	29	<joker>	15	100
 29	30	accept	16	0
 30	31	terms	0	0
+30	31	<epsilon>	0	10
 31	32	and	0	0
+31	32	<epsilon>	0	10
 32	33	conditions	0	0
+32	33	<epsilon>	0	10
 33	34	of	0	0
+33	34	<epsilon>	0	10
 34	35	use	0	0
 35	29	<epsilon>	0	0
 35	100
@@ -71,19 +89,27 @@
 35	36	<joker>	17	100
 36	37	install	18	0
 37	38	the	0	0
+37	38	<epsilon>	0	10
 38	39	new	0	0
+38	39	<epsilon>	0	10
 39	40	version	0	0
+39	40	<epsilon>	0	10
 40	41	of	0	0
+40	41	<epsilon>	0	10
 41	42	me	0	0
 42	36	<epsilon>	0	0
 42	100
 36	42	<joker>	18	100
 42	43	give	19	0
 43	44	me	0	0
+43	44	<epsilon>	0	10
 44	45	my	0	0
+44	45	<epsilon>	0	10
 45	46	data	0	0
 46	42	<epsilon>	0	0
+46	100
 42	46	<joker>	19	100
 46	47	<epsilon>	20	0
+47	100
 47	48	<epsilon>	21	0
 48
diff --git a/slu/automate/homeostasis_25nov_section3.fst b/slu/automate/homeostasis_25nov_section3.fst
index 2c9ecb79e9e5b0e34814b9aa2758975c78f9bffb..f405413de8a688b61adf875db3a39b794ba74542 100644
GIT binary patch
delta 369
zcmX@c^^AMMJVvI8^Cg8Dpg_Tq8O&;^XPUTM(j3fYU|>*iWC1f9>Y2ba1A_>Z22rda
z0*)0NStrXgOLMS+MNT+P=413w#iorDtN=zRIC6rtO>Sd!VPu+oni1J@9<U;W<!WF)
zgy4lxP*TB>7i@|c(-%gj$=uA6Tu=!H1;@#9%sW)DIYbhs223kBPJYF_Ll>ry9V`eT
s<RBE3RB(jw8|s-R?`M(Zh6*z%ILd?F@Q#Iz>4ekdZ!B6MN{Lkk0E(j}X#fBK

delta 218
zcmaFHeT-|uJVwTe^Cg)Z>KP}VmK1NOXJmi?5eNk)Sts{1OLMS+*$wrR?HD~ou_@yO
zDVuzZ(S?z5GB*>lVQOHl5P}!1s*LFiBje<3X35D@m^X=FGi`Df%MMwX1Up18n3MyP
e4fTwZ{aHcU#U}T$vN1K(PoBoA1)>hIssI3T#3BFy

diff --git a/slu/automate/homeostasis_25nov_section3.txt b/slu/automate/homeostasis_25nov_section3.txt
index 9040aeb..23cb0b6 100644
--- a/slu/automate/homeostasis_25nov_section3.txt
+++ b/slu/automate/homeostasis_25nov_section3.txt
@@ -3,21 +3,28 @@
 0	1	<joker>	22	100
 1	2	open	23	0
 2	3	access	0	0
+2	3	<epsilon>	0	10
 3	4	to	0	0
+3	4	<epsilon>	0	10
 4	5	body	0	0
+4	5	<epsilon>	0	10
 5	6	data	0	0
+6	100
 1	6	<joker>	23	100
 6	7	<epsilon>	24	0
 7
 7	8	import	25	0
 8	9	body	0	0
+8	9	<epsilon>	0	10
 9	10	data	0	0
 10	7	<epsilon>	0	0
 10	100
 7	10	<joker>	25	100
 10	11	import	26	0
 11	12	organic	0	0
+11	12	<epsilon>	0	10
 12	13	matter	0	0
+12	13	<epsilon>	0	10
 13	14	data	0	0
 14	10	<epsilon>	0	0
 14	100
@@ -34,6 +41,7 @@
 16	18	<joker>	28	100
 18	19	import	29	0
 19	20	space	0	0
+19	20	<epsilon>	0	10
 20	21	data	0	0
 21	18	<epsilon>	0	0
 21	100
@@ -45,6 +53,7 @@
 21	23	<joker>	30	100
 23	24	import	31	0
 24	25	body	0	0
+24	25	<epsilon>	0	10
 25	26	subsystems	0	0
 26	23	<epsilon>	0	0
 26	100
@@ -56,10 +65,14 @@
 26	28	<joker>	32	100
 28	29	give	33	0
 29	30	me	0	0
+29	30	<epsilon>	0	10
 30	31	my	0	0
+30	31	<epsilon>	0	10
 31	32	data	0	0
 32	28	<epsilon>	0	0
+32	100
 28	32	<joker>	33	100
 32	33	<epsilon>	34	0
+33	100
 33	34	<epsilon>	35	0
 34
diff --git a/slu/automate/homeostasis_25nov_section4.fst b/slu/automate/homeostasis_25nov_section4.fst
index daeee6b49dbefb2564843f63eb849c0c79302809..4a54c7648c89a79dd5b2855addf046546080c8f3 100644
GIT binary patch
literal 2774
zcmccicT*i30|P@@YH~?_5eEYULvcxBUP@w73KIhaFf%x%HbR(S(jH7A6Akq+wYm%p
z3@T75Mg|535QgwiIDyy<3@4mmYFQW<7*wHZL1G|z2>*l=$VChc2y>O7>Od4Th=5}S
zM+hIGRv9kGzyPuX!BudC@DXZ75Rwe6NNffM1xE<Kp&sNekdz*XfMSUIV19xKszE3Q
zb|?+<6Nm}&zdDG)z`y_sUyyka{s|`@usC-2aDwGvgn}c4k5G&39xj+NFs<MS;Um;)
zg2f>OH-v(c3XTvy!k_w384v|=-w7v37=uI*801fo-!z~?ywLcD@J~1ifW;ARKn`m@
zupEp~aD?y?YLWfM4^sxF6&xXagnJFZ;t&F2CwBLO`~q?>EGz_}?uGDAI6>Tpa07%7
zF;@seK}iKi2p^#q*}cM0RS-(S5yD5f*AOBBCLwlUcQ42<Aops4RWdM$Lfs4DpKy`@
zizD0sF$*lnAO@kJq=F-ak5G&3UU8@@2&Lc%;UnB@1d#xf5IeEE7i2%kz1m=v3=EP`
z_d@t5oMgb_2seP#gM}Cv7^GkfFs<MS;Um-{yH^^l21Y12Lih;x8pEU*7#JXSVs|gd
zFCh2oK-J4a-3#HLa8d+|Biw-OUOBKFj8Jfd@DXZ}-761M2BsApA$){d6R<dhP=HWS
zQo#|zNBGSYDg&Y*?!)dkkiS8G1C_@hwV?77RPI3dC!8SVEW!=QenT!lLFFKXk5G&3
zH;^45^C4Kl5yD5f*9;;7CLwlWcQ42<AiXfNL1ih(y%7EhCrBPexB=O{kg^nP1p~;v
z5I#aJ#0-c$q-=t)L24m<gnP|lQVa|X5IeEE7vvX^dtqfIC{Kdi3*nz|f`l`|4an|=
z<Oi5V3XTvyLM^g;A!!kz7Q#ok*8(QRz`y{p6T5psegU}`R#t-S0J#^!Kj8$);|Mn(
zyBFdom_-VX5I#aJ$SjyF#5@>J!4bkosI`PiF)%P7mxG|VfbbE1gVete4G{NX_Z!IH
zAiqKMGcbViKge$o{s|{YoFd$S>^J1R2XX_1k5G&3H{`qrQVZcD)LKED3MP@$JxDEt
zkMNr{SQUhTxDUJEK>oI2U|;~zAl0Dw2Kf!bKj8%8gW6P(b`3}c0)xy2l}n)T0EvRa
z9;6q-Kj8#27bFhxGXsMyh=bJT0@d$eAqEBpWWRy@1K}h54k^<hs*(K$QVZcD{0=G8
hAZj6QK(q-Vq7V||HwFe&_o24AAaTIJU<c6xCjr#pfmr|m

delta 457
zcmca6`b==bJVwTe^Cg)Z>KP}VmK1BKXJmi?5eNk)CrdFZF*Vdrwqx`V#U{@=S(;Ir
zlMAf2p`LN_eMZU2986JI)$)PVPTs_nfK^rqEStoPT~-V%E5w3bRthY82#2g3NS0F`
z?#60X$;nGtqZk<{|7Vq)tiUKX*^Z5EatIqpWIY>1<Q*H^WEOUiNIW}4WF9-)<Sk$k
zeh!F;9|s#!s9A!|hY*vyI1(5cC%=X$lraU1A_CY7%!d$@(>UWm0ep<pM-~>q><}q1
a2~i6QT6-?Z$r)TSAjNH5S|Dl@mkIz}kU{+b

diff --git a/slu/automate/homeostasis_25nov_section4.txt b/slu/automate/homeostasis_25nov_section4.txt
index 8fcb30d..6b35675 100644
--- a/slu/automate/homeostasis_25nov_section4.txt
+++ b/slu/automate/homeostasis_25nov_section4.txt
@@ -3,103 +3,138 @@
 0	1	<joker>	36	100
 1	2	open	37	0
 2	3	access	0	0
+2	3	<epsilon>	0	10
 3	4	to	0	0
+3	4	<epsilon>	0	10
 4	5	body	0	0
+4	5	<epsilon>	0	10
 5	6	functions	0	0
+6	100
 1	6	<joker>	37	100
 6	7	<epsilon>	38	0
 7
 7	8	import	39	0
 8	9	body	0	0
+8	9	<epsilon>	0	10
 9	10	functions	0	0
+9	10	<epsilon>	0	10
 10	11	space	0	0
+10	11	<epsilon>	0	10
 11	12	localization	0	0
 12	7	<epsilon>	0	0
 12	100
 7	12	<joker>	39	100
 12	13	import	40	0
 13	14	body	0	0
+13	14	<epsilon>	0	10
 14	15	functions	0	0
+14	15	<epsilon>	0	10
 15	16	sensations	0	0
 16	12	<epsilon>	0	0
 16	100
 12	16	<joker>	40	100
 16	17	import	41	0
 17	18	body	0	0
+17	18	<epsilon>	0	10
 18	19	functions	0	0
+18	19	<epsilon>	0	10
 19	20	passion	0	0
 20	16	<epsilon>	0	0
 20	100
 16	20	<joker>	41	100
 20	21	import	42	0
 21	22	body	0	0
+21	22	<epsilon>	0	10
 22	23	functions	0	0
+22	23	<epsilon>	0	10
 23	24	concentration	0	0
 24	20	<epsilon>	0	0
 24	100
 20	24	<joker>	42	100
 24	25	import	43	0
 25	26	body	0	0
+25	26	<epsilon>	0	10
 26	27	functions	0	0
+26	27	<epsilon>	0	10
 27	28	perception	0	0
 28	24	<epsilon>	0	0
 28	100
 24	28	<joker>	43	100
 28	29	import	44	0
 29	30	body	0	0
+29	30	<epsilon>	0	10
 30	31	functions	0	0
+30	31	<epsilon>	0	10
 31	32	formal	0	0
+31	32	<epsilon>	0	10
 32	33	force	0	0
 33	28	<epsilon>	0	0
 33	100
 28	33	<joker>	44	100
 33	34	import	45	0
 34	35	body	0	0
+34	35	<epsilon>	0	10
 35	36	functions	0	0
+35	36	<epsilon>	0	10
 36	37	logics	0	0
 37	33	<epsilon>	0	0
 37	100
 33	37	<joker>	45	100
 37	38	import	46	0
 38	39	body	0	0
+38	39	<epsilon>	0	10
 39	40	functions	0	0
+39	40	<epsilon>	0	10
 40	41	imagination	0	0
 41	37	<epsilon>	0	0
 41	100
 37	41	<joker>	46	100
 41	42	import	47	0
 42	43	body	0	0
+42	43	<epsilon>	0	10
 43	44	functions	0	0
+43	44	<epsilon>	0	10
 44	45	effort	0	0
 45	41	<epsilon>	0	0
 45	100
 41	45	<joker>	47	100
 45	46	import	48	0
 46	47	body	0	0
+46	47	<epsilon>	0	10
 47	48	functions	0	0
+47	48	<epsilon>	0	10
 48	49	nervous	0	0
+48	49	<epsilon>	0	10
 49	50	system	0	0
 50	45	<epsilon>	0	0
 50	100
 45	50	<joker>	48	100
 50	51	import	49	0
 51	52	body	0	0
+51	52	<epsilon>	0	10
 52	53	functions	0	0
+52	53	<epsilon>	0	10
 53	54	internal	0	0
+53	54	<epsilon>	0	10
 54	55	network	0	0
 55	50	<epsilon>	0	0
 55	100
 50	55	<joker>	49	100
 55	56	upload	50	0
 56	55	<epsilon>	0	0
+56	100
 55	56	<joker>	50	100
 56	57	give	51	0
 57	58	me	0	0
+57	58	<epsilon>	0	10
 58	59	my	0	0
+58	59	<epsilon>	0	10
 59	60	data	0	0
 60	56	<epsilon>	0	0
+60	100
 56	60	<joker>	51	100
 56	61	<epsilon>	52	0
 60	61	<epsilon>	52	0
+61	100
 61	62	<epsilon>	53	0
 62
diff --git a/slu/automate/homeostasis_25nov_section5.fst b/slu/automate/homeostasis_25nov_section5.fst
index 23d9f15cbdc79e0a896cb029ad15d613789cc930..4954c34a150cd445153e047163eb6358acc9b89a 100644
GIT binary patch
delta 91
zcmZo-S;R8o3eyRviPwB|nHV5|9YTRgHZTbz6dWP^hI*#S_KcET2=U25j7m%=oF<ns
Krh%w?j4A+W7Y=a%

delta 64
zcmZ3)(!?_13R6S<#A`mXj0_OK4xzv#8<=dUXPoTMC^@-;QHH6Ze)2TNG!XTVQ3U{^
C5DnY_

diff --git a/slu/automate/homeostasis_25nov_section5.txt b/slu/automate/homeostasis_25nov_section5.txt
index 2320a31..3feeb64 100644
--- a/slu/automate/homeostasis_25nov_section5.txt
+++ b/slu/automate/homeostasis_25nov_section5.txt
@@ -6,12 +6,16 @@
 2	3	import	56	0
 3	4	memory	0	0
 4	2	<epsilon>	0	0
+4	100
 2	4	<joker>	56	100
 4	5	give	57	0
 5	6	me	0	0
+5	6	<epsilon>	0	10
 6	7	my	0	0
+6	7	<epsilon>	0	10
 7	8	data	0	0
 8	4	<epsilon>	0	0
+8	100
 4	8	<joker>	57	100
 8	9	silence	58	0
 9	8	<epsilon>	0	0
@@ -19,5 +23,6 @@
 8	9	<joker>	58	100
 4	10	<epsilon>	59	0
 8	10	<epsilon>	59	0
+10	100
 10	11	<epsilon>	60	0
 11
diff --git a/slu/automate/homeostasis_25nov_section6.fst b/slu/automate/homeostasis_25nov_section6.fst
index 46dfd4e2e5c1515aa93b8f01ba6844d8c7dab303..a30166bd3c2bfa828dcf9fe77d66d54453e8c54b 100644
GIT binary patch
delta 1249
zcmX@++2%K)hv|gV#=Z__6($A<5Q0!(k`qkA2nEN<S}YEXOp~)&B)O0T>sVey!gRC4
z#2FYEM3LAG3<{1AenUM>tum6l7!n(#7Q%0+XPP{pRgxPfso*F+F<W}`Io1h`j7*c`
z*(HS$GU{L^NJlk0iu3x|L2f>eqF5WQ_%*v^5}3mPvQ`JoL^v@T%!d%V5DH2vI70Xc
zwNX$R5Tyqq;8?+NvKhw)co-$ZB^Ve?k=P&yK==ql;cjDKU@${d3*m!&EYFD?66Roa
zAaQF>l#uY_1cgLDs^B6{2VGc<q=R)r2s;P`B^4YYe2}UCQEamZs{n~hbD`L##|5%2
zA62l43t?L}SSN&VgHTXX!4bj-nR*}9fKOZwsxar~L6w6jFAxF83XWcr&x=TJPU2Qz
zg!`@pF3rFYhQtPiJA@CiZ$1x-FE;TgF`sZ^ntY#Ga`FcrA-G}42^~4+L54y2Aj9N&
zQ4BNUg&VfHfcFvyJkvEGIS1KSAk#L7i9O+9WSVR(k8IXvKluktj7*dDm5@azJ1IeI
zm@gtZxj_lLbMGNp2C@Lc2RU~=s$qu^hD}nAU^?M6IZ9b402cblA@CH<NC+R1jOCH!
upCPe9)=%E1tOPRqma+%d(0zrb9>NDX*Iot1??EbHbIMe-K*lXnQ2_w@FNmoC

delta 720
zcmZqkJLWl|hpC}{V_ygJ<Ty4C9w7z<m~6%301}+s#3D3#3Ckl8+mIb0&manBH`FtN
zX$A&mC=H^-Km<cWJ>%s2tdbK8#5T*ZO<)9>FnJrh5Hm>pHoN3x77i=0m>UN~ESp2p
z2w`3{*bE4v3#JfqQD8oVnEZ@m1IQS|L<k>Dnu1A$h9oc_LYRRmkR#r6N`f6D%_TY6
zg$v@CHZGybD<Evqbg)VYVF#u_y7;*zC%1@+P4?qvo1DT8(Y1_QXz~dNTQnQ25<<9v
zDUdFG9?8iOJYdzld0<fp;WfElOnUPr9tCjth?YP^!DJYi1ZkG%lbr0qC&S!O&oucy
zv*hFkKB39`q&P&8;{y^VAl3W%BqzT>sNSr=e~AO6oTmY7AcWW~Ch-I;I+;mPXtRpq
zEhdnX$!sb@lQmQzHu;N5PEJq}l7+=EvTgUkrhsgluOd151VYCo)d;4B`pHqMItJME
yJ%#B5(+mvqP#Q!{zNV@K()&x*1FM~{K#IVrDql@<@(eW@km7A>S|I9?nhF4kFMzQC

diff --git a/slu/automate/homeostasis_25nov_section6.txt b/slu/automate/homeostasis_25nov_section6.txt
index 246ffb3..b275f2d 100644
--- a/slu/automate/homeostasis_25nov_section6.txt
+++ b/slu/automate/homeostasis_25nov_section6.txt
@@ -1,5 +1,6 @@
 0	1	open	61	0
 1	2	network	0	0
+2	100
 0	2	<joker>	61	100
 2	3	<epsilon>	62	0
 3
@@ -17,11 +18,13 @@
 7	100
 3	8	rain	67	0
 8	9	of	0	0
+8	9	<epsilon>	0	10
 9	10	identities	0	0
 10	3	<epsilon>	0	0
 10	100
 3	11	storm	68	0
 11	12	of	0	0
+11	12	<epsilon>	0	10
 12	13	possibilities	0	0
 13	3	<epsilon>	0	0
 13	100
@@ -43,8 +46,11 @@
 19	100
 3	20	connect	74	0
 20	21	me	0	0
+20	21	<epsilon>	0	10
 21	22	to	0	0
+21	22	<epsilon>	0	10
 22	23	this	0	0
+22	23	<epsilon>	0	10
 23	24	network	0	0
 24	3	<epsilon>	0	0
 24	100
@@ -87,15 +93,21 @@
 37	100
 3	38	between	86	0
 38	39	recollection	0	0
+38	39	<epsilon>	0	10
 39	40	and	0	0
+39	40	<epsilon>	0	10
 40	41	oblivion	0	0
 41	3	<epsilon>	0	0
 41	100
 3	42	a	87	0
 42	43	tension	0	0
+42	43	<epsilon>	0	10
 43	44	an	0	0
+43	44	<epsilon>	0	10
 44	45	echo	0	0
+44	45	<epsilon>	0	10
 45	46	an	0	0
+45	46	<epsilon>	0	10
 46	47	emptiness	0	0
 47	3	<epsilon>	0	0
 47	100
@@ -113,37 +125,49 @@
 51	100
 3	52	nothing	92	0
 52	53	more	0	0
+52	53	<epsilon>	0	10
 53	54	strange	0	0
+53	54	<epsilon>	0	10
 54	55	than	0	0
+54	55	<epsilon>	0	10
 55	56	this	0	0
+55	56	<epsilon>	0	10
 56	57	exile	0	0
 57	3	<epsilon>	0	0
 57	100
 3	58	an	93	0
 58	59	absolute	0	0
+58	59	<epsilon>	0	10
 59	60	abyss	0	0
 60	3	<epsilon>	0	0
 60	100
 3	61	a	94	0
 61	62	creaking	0	0
+61	62	<epsilon>	0	10
 62	63	of	0	0
+62	63	<epsilon>	0	10
 63	64	the	0	0
+63	64	<epsilon>	0	10
 64	65	bones	0	0
 65	3	<epsilon>	0	0
 65	100
 3	66	a	95	0
 66	67	barbarian	0	0
+66	67	<epsilon>	0	10
 67	68	invasion	0	0
 68	3	<epsilon>	0	0
 68	100
 3	69	the	96	0
 69	70	carelessness	0	0
+69	70	<epsilon>	0	10
 70	71	of	0	0
+70	71	<epsilon>	0	10
 71	72	destinies	0	0
 72	3	<epsilon>	0	0
 72	100
 3	73	wringing	97	0
 73	74	out	0	0
+73	74	<epsilon>	0	10
 74	75	the	0	0
 75	3	<epsilon>	0	0
 75	100
@@ -176,14 +200,20 @@
 84	100
 3	85	try	106	0
 85	86	with	0	0
+85	86	<epsilon>	0	10
 86	87	functional	0	0
+86	87	<epsilon>	0	10
 87	88	regulation	0	0
 88	3	<epsilon>	0	0
+88	100
 3	89	give	107	0
 89	90	me	0	0
+89	90	<epsilon>	0	10
 90	91	my	0	0
+90	91	<epsilon>	0	10
 91	92	data	0	0
 92	3	<epsilon>	0	0
+92	100
 88	93	<epsilon>	108	0
 92	93	<epsilon>	108	0
 93
@@ -230,6 +260,7 @@
 108	100
 93	109	six	122	0
 109	110	six	0	0
+109	110	<epsilon>	0	10
 110	111	nine	0	0
 111	93	<epsilon>	0	0
 111	100
@@ -460,6 +491,7 @@
 190	100
 93	191	protein	196	0
 191	192	protection	0	0
+191	192	<epsilon>	0	10
 192	193	amino-acid	0	0
 193	93	<epsilon>	0	0
 193	100
@@ -535,32 +567,45 @@
 217	100
 93	218	and	220	0
 218	219	to	0	0
+218	219	<epsilon>	0	10
 219	220	want	0	0
 220	93	<epsilon>	0	0
+220	100
 93	221	give	221	0
 221	222	me	0	0
+221	222	<epsilon>	0	10
 222	223	my	0	0
+222	223	<epsilon>	0	10
 223	224	data	0	0
 224	93	<epsilon>	0	0
+224	100
 220	225	<epsilon>	222	0
 224	225	<epsilon>	222	0
 225
 225	226	y	223	0
 226	227	querer	0	0
 227	225	<epsilon>	0	0
+227	100
 225	228	give	224	0
 228	229	me	0	0
+228	229	<epsilon>	0	10
 229	230	my	0	0
+229	230	<epsilon>	0	10
 230	231	data	0	0
 231	225	<epsilon>	0	0
+231	100
 227	232	<epsilon>	225	0
 231	232	<epsilon>	225	0
 232
 232	233	give	226	0
 233	234	me	0	0
+233	234	<epsilon>	0	10
 234	235	my	0	0
+234	235	<epsilon>	0	10
 235	236	data	0	0
 236	232	<epsilon>	0	0
+236	100
 236	237	<epsilon>	227	0
+237	100
 237	238	<epsilon>	228	0
 238
diff --git a/slu/automate/homeostasis_25nov_section8.fst b/slu/automate/homeostasis_25nov_section8.fst
index bd11b3868f5cbac32832fae3663c0521d7e1fbc9..17071b83c730bf02ee84ed2e5b8f7062501004e7 100644
GIT binary patch
literal 966
zcmccicT*i30|P@@YH~?_5eEYULvcxBUP@w73KIhaFf%x%HbR(SQXEVo6Akq+weAcI
z3{Rm_j0_A6APnK3aN-1uBh>nV`49r8AHq{`gzyn+S3xAeBr}+V5ekkFK0@tkm=ps8
z0}B$HfkD9$!bhlGgCx(2#0IH_@DXa)BFTe748c`!gzyn+*C8Ys*pb*Eb0K_$+Vx2C
zpzud<6&xY_hI&vqg2Xp~2q=bx=Lsi>{}~wM7#J9yLFKrhVGrS-aN>oEKZnwMU>e~D
zh?~HI4BQY3N-8))_z1P~P#F-#10vv9!4bkoxK{x#$G`w_!wDytUqDi*?qOhn`DG&m
z1H%iD0tN;Keg*~xWWE3c#IG-*@`7L*)m*R;0|NuZpZMeu{z47|A(#PRTEP**N2o;(
x17WZl7@^<@;bRX25wNloPLT8s=D-PvTNxN$K}AHtG^*QQgT)va#Go{c0s!kmIOPBU

delta 215
zcmX@cK8<Zckt`zv1o%NHFv$ca8|oP+&X;5cQKu!X8|q;y*MMaq1S^<A$gKtQAp{$k
zYN%(N?9T``W^y&7<m4rcGE5EilMgZ4Ffva550%hnlAIjE1ePdbngDkbJJ<vWAq1vC
grs*?-6pKyHV`gJ+sArmdnn`l<1ZDw{sf(CZ0HK*Aod5s;

diff --git a/slu/automate/homeostasis_25nov_section8.txt b/slu/automate/homeostasis_25nov_section8.txt
index d8bc572..0daef5c 100644
--- a/slu/automate/homeostasis_25nov_section8.txt
+++ b/slu/automate/homeostasis_25nov_section8.txt
@@ -1,17 +1,28 @@
 0	1	search	229	0
 1	2	for	0	0
+1	2	<epsilon>	0	10
 2	3	sequences	0	0
+2	3	<epsilon>	0	10
 3	4	producing	0	0
+3	4	<epsilon>	0	10
 4	5	significant	0	0
+4	5	<epsilon>	0	10
 5	6	alignments	0	0
+5	6	<epsilon>	0	10
 6	7	in	0	0
+6	7	<epsilon>	0	10
 7	8	genetic	0	0
+7	8	<epsilon>	0	10
 8	9	database	0	0
+9	100
 0	9	<joker>	229	100
 9	10	give	230	0
 10	11	me	0	0
+10	11	<epsilon>	0	10
 11	12	my	0	0
+11	12	<epsilon>	0	10
 12	13	data	0	0
+13	100
 9	13	<joker>	230	100
 9	14	<epsilon>	231	0
 13	14	<epsilon>	231	0
@@ -24,9 +35,13 @@
 16	100
 14	17	give	233	0
 17	18	me	0	0
+17	18	<epsilon>	0	10
 18	19	my	0	0
+18	19	<epsilon>	0	10
 19	20	data	0	0
 20	14	<epsilon>	0	0
+20	100
 20	21	<epsilon>	234	0
+21	100
 21	22	<epsilon>	235	0
 22
diff --git a/slu/src/librocio_slu.cc b/slu/src/librocio_slu.cc
index 048c59f..e5f5233 100644
--- a/slu/src/librocio_slu.cc
+++ b/slu/src/librocio_slu.cc
@@ -121,7 +121,17 @@ fst::StdVectorFst *build_fst_words(slu_t* slu, char **words, int num_words, int
     return input;
 }
 
-void run_process(slu_t* slu, char** words, int num_words, int prevn, char *prevword)
+void reset_slu(slu_t* slu) {
+    // reset actions
+    for(size_t i = 0; i < slu->actions->size(); i++) free((*slu->actions)[i]);
+    slu->actions->clear();
+    // reset words
+    for(size_t i = 0; i < slu->words->size(); i++) free((*slu->words)[i]);
+    slu->words->clear();
+
+}
+
+char* run_process(slu_t* slu, char** words, int num_words, int prevn, char *prevword)
 {
     fst::StdVectorFst *input,result1,result2,result3;
     char *ch;
@@ -237,8 +247,15 @@ void run_process(slu_t* slu, char** words, int num_words, int prevn, char *prevw
         slu->words->push_back(strdup(buffer));
         //printf(" **%s",ch);
     }
-    //printf("\n");
     free(tocc); free(t_outword);
+
+    // make output string
+    std::string output;
+    for(size_t i = 0; i < slu->words->size(); i++) {
+        if(i > 0) output += " ";
+        output += (*slu->words)[i];
+    }
+    return strdup(output.c_str());
 }
 
 /*................................................................*/
@@ -276,11 +293,20 @@ char* get_action(slu_t* slu, size_t index) {
     return NULL;
 }
 
-int run_slu(slu_t* slu, char** words, int num_words, int prevn, char *prevword) {
+char* get_actions(slu_t* slu) {
+    std::string output;
+    for(size_t i = 0; i < slu->actions->size(); i++) {
+        if(i > 0) output += " ";
+        output += (*slu->actions)[i];
+    }
+    //fprintf(stderr, "get_actions() = {%s}\n", output.c_str());
+    return strdup(output.c_str());
+}
+
+char* run_slu(slu_t* slu, char** words, int num_words, int prevn, char *prevword) {
     //fprintf(stderr, "before process\n");
-    run_process(slu, words, num_words, prevn,prevword);
+    return run_process(slu, words, num_words, prevn,prevword);
     //fprintf(stderr, "after process\n");
-    return num_actions(slu);
 }
 
 }
diff --git a/slu/src/librocio_slu.h b/slu/src/librocio_slu.h
index 39ece4f..e388fbd 100644
--- a/slu/src/librocio_slu.h
+++ b/slu/src/librocio_slu.h
@@ -17,12 +17,16 @@ typedef struct {
 
 slu_t* init_slu(char* chfileword, char* chfileaction, char* chfilemodel, char* chfileclean);
 
-int run_slu(slu_t* slu, char** words, int num_words, int prevn, char *prevword);
+char* run_slu(slu_t* slu, char** words, int num_words, int prevn, char *prevword);
 
 int num_actions(slu_t* slu);
 
 char* get_action(slu_t* slu, size_t index);
 
+char* get_actions(slu_t* slu);
+
+void reset_slu(slu_t* slu);
+
 void free_slu(slu_t* slu);
 
 void ERREUR(const char *ch1, const char *ch2);
-- 
GitLab