Marcos Dione: local-markers-in-cookies-with-leaflet

Last night I got an idea: start implementing some stuff on top of Elevation. The first thing I thought of was the ability to save markers in cookies, and to recover them every time the map was accessed. This would allow anybody to safely add personal markers on top of it without having to trust me (except for the map service). This might lead to something else entirely later, but for now that was the goal.

So the first step was to find out how to access cookies in js. It seems that there is no native way to do it, and you have to parse them for yourself from the document.cookie attribute. Luckily someone already wrote some code for it. There was no license, but I think it's ok. Then I added another function to have a list of all the cookies whose name starts with some prefix, based on the readCookie() function:

function readCookies(prefix) {
    var nameEQ = prefix + '_';
    var ca = document.cookie.split(';');
    var ans = [];
    j= 0;
    for (var i = 0; i < ca.length; i++) {
        var index = 0;
        var c = ca[i];
        while (c.charAt(index) == ' ') {
            index = index + 1;
        }
        if (c.indexOf(nameEQ) == index) {
            // keep reading, find the =
            while (c.charAt(index) != '=') {
                index = index + 1;
            }
            ans[j] = c.substring(index + 1, c.length);
            j= j+1;
        }
    }
    return ans;
}

The next step was to encode and decode markers into strings. The format I decided is simple: CSV, lat,lon,text,URL. So, here's the function that converts cookies to markers:

function markersFromCookies () {
    var cookies= readCookies ("marker");

    for (var i= 0; i<cookies.length; i++) {
        var cookie= cookies[i];

        var data= cookie.split (',');
        // it's lat,lon,text,url
        var marker= L.marker([data[0], data[1]]).addTo (map);
        // TODO: reconstruct the url in case it got split
        if (data[3].length>0) {
            marker.bindPopup ('<a href="'+data[3]+'">'+data[2]+'</a>').openPopup ();
        } else {
            marker.bindPopup (data[2]).openPopup ();
        }
    }
}

20 lines of code and there already is a TODO comment :) That's because URLs can have commas in them, but for the moment I'm thinking in short URLs from sites like bitly.

All this was working perfectly in Firefox' scratchpad. Then I decided to put it in "production". For that I took all the js from the original page and put it in a file, along with all these functions, I removed the permanent marker from my map, converting it into a cookie, pushed the code, reloaded and... it broke.

This is not the first time I see js fall apart. Last year I helped PyCon.ar's organization with the site, specifically the map showing the city with markers for the venue and the bus station. I even had to map the venue because it was not in OSM's data :) If you follow that link, you'll see that the popups are completely broken. These things were working perfectly in vacuum, but when I integrated it into the page it just fell apart. I never found out why.

In my current situation, if I try to run markersFromCookies() in scratchpad, this is what I get:

Exception: t.addLayer is not a function
o.Marker<.addTo@http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.js:7
markersFromCookies@http://grulicueva.homenet.org/~mdione/Elevation/local.js:59
@Scratchpad/1:1

Basically, that's the call to L.marker().addTo(). Maybe the constructor is not working anymore, maybe something else entirely. At least this time a dim light in the back of my head told me maybe the map variable is not global as it seems to be from scratchpad, so I simply passed the map from setup_map() to markersFromCookies() and now it works. Notice that the error message never mentioned this fact but something else entirely. I'm just glad I didn't have to follow the hint and debug Leaflet's to find out this. All I hope now is that I don't go insane with this small project.

Next steps: adding new markers and sharing!


openstreetmap javascript elevation

Joaquin Tita: Native, Web and Hybrid Apps

The explosion of mobile applications has caught the attention of many companies for developing their own applications. The idea of having another way of interacting with the customers is very tempting. For example, banks have found that allowing basic banking operations using an application attracts customers that already use a mobile device. However, developing an application is not easy as it sounds. There are different approaches one can take depending on the requirements and the needs of the company. In general, there are three popular approaches: Native Applications, Web Applications and Hybrid Applications.

What are Native Applications?
They are applications developed for running only in only one platform. Currently, the platforms that capture more subscribers are iOS from Apple and Android from Google with 52.1% and 41.2% respectively. Far away from those numbers come other mobile platforms with less “followers” like Blackberry 10 from Blackberry Ltd and Firefox OS from Mozilla Foundation.

In general, mobile applications are downloaded from common markets or stores, like Apple’s App Store or Google Play Store (before was called Android Market) and then installed on the device. The applications are offered in two ways: as free or as pay. This is one way in which developers and stores earn money. One part develops the application and the other distributes it by means of the store.  The other way is by mean of ads in the application and websites. This is how Google Play Store for example, get most of their profits.

Revenues and Downloads
In 2013, Apple reported that their customers spent over $10 billion on their App Store with almost three billion downloads in December. On the other side of the street, Google Play Store’s revenue share has been growing at a moderated but firm pace compared with Apple. Apple’s App Store is mostly fed by China and US and to a lesser extent by Vietnam and South Africa.

In the battle of apps downloads, the current champion is Google Play Store with a difference near 45% over Apple’s App Store. This incredible volume of downloads is in part due to the emerging markets such as from Mexico and from Turkey where the adoption of Android devices is booming. Also, downloads were strong in countries like Brazil and Russia. Moreover, the already established markets (US and UK) are helping to shorten distance in the revenue field. The projections indicate that Google will continue narrowing the revenue gap with Apple and leading downloads in during 2014.


What are the Pros and Cons of developing Native Applications?
Pros:
  • Native applications use built-in features of the device and perform faster. Some of the most common features are the camera, the GPS, the accelerometer and the compass.
  • These applications get support from the app stores and marketplaces. Users can find and download what they want from the stores.
  • A native mobile app can produce the best user experience. High performance and fluid interaction can squeeze out all the built-in features and hardware in benefit of the user.
  • Stores have strict audit procedures for ensuring that new apps follow the security standards (most of the markets). Therefore, users can download applications safely.
  • Native applications suit better for developers because platforms provide SDKs and other tools for developing applications faster and easier.
    Cons:
    • A Native application approach can be expensive since they must be developed in each platform one by one. 
    • Programming skills are required for each platform. 
    • The cost of maintaining native applications is higher, especially if the application supports more than one mobile platform.
    • The process of approval for publishing an application on a marketplace can be long, as the requisites are high. Also, there is no guarantee that the application will be accepted. Even more, that the application will be top listed.
    • If there are different versions of the same app, it will be difficult to maintain and offer support.
    What are Web Applications?
    They are websites that may look and feel like native applications but under the hood are not the same. A web app is simply HTML5 (or simply HTML), JavaScript, CSS rendered by a browser. The web browser renders the web application like any other regular webpage. There is no need to download the application in order to access to it, only is needed the URL and that is all. 
    Some elements typically present in native application are emulated by the application such as swiping horizontally to change the section or similar design as seen in Android or iOS applications.

    What are the Pros and Cons of developing Web Applications?

    Pros:


    • They are easy to maintain as they share the same source code for multiple mobile platforms.
    • Web Apps can be compatible with almost any old device (with browsing capabilities).
    • These apps do not require passing through a rigorous approval process, just saving the URL.
    • There are no restrictions of time or design for releasing the application. The developers publish the application when is necessary.
    • All updates are transparent to the users as they only enter to the URL and execute always the last version available.

      Cons:

      • Web apps only can access a subset of the features available in the devices.
      • The cost of supporting multiple platforms is high, as well as the maintenance too.
      • The wide variety of devices makes difficult to offer support and study the usage patterns.
      • The visibility of the application is reduced, as it is not listed in an app store.
      • There are no standardized quality procedures for web apps, for this, quality and security of the app is not guaranteed.
      What are Hybrid Applications?
      These applications take a native wrapper and put inside a web application. That is, the native wrapper is a native application from the outside while the content is HTML, JavaScript and CSS. These kinds of applications are distributed by app stores, just like native applications. Although there are differences, users in general cannot distinguish between native applications and hybrid applications.

      Pros:
      • They are faster to develop since the development process is the same as follow by web development and small amount of native coding is necessary.
      • The tools for developing hybrid applications are evolving and maturing rapidly getting closer to native tools.
      • Hybrid Applications can be deployed in app stores.
      • They provide the best of both worlds, native apps + HTML5.
      • These applications can work without Internet connection.
        Cons:
        • They are not native apps despite of being packed by a native wrapper. The web engine is the one provided by the platform and so the performance is not the same as a native app.
        • No frequent updates (in the case of offline caching).
        Lastly, at the moment of deciding what type of application is needed for your business there are some aspects should be considered carefully.
        • Deciding how important is speed and performance.
        • Determining if Internet access is necessary.
        • Allocating the necessary budget for developing the application.
        • Choosing between using device’s built-in features or not.
        • Adopting an advertisement strategy (monetize the application).
        • Focusing on your target users (specific market/platform dependent).


                    Some sources:

                    Martín Gaitán: Scrapping de PDF con IPython y pdftotext

                    Pocos días después de mi análisis de datos del escrutinio provisorio en las últimas elecciones de Córdoba me llegó un correo que empezaba así:

                    Hola Martín, soy Franco Luque, profesor e investigador en Computación de la FaMAF. Con Jorge Sánchez, otro investigador de acá que trabaja en procesamiento de imágenes, vimos tu iniciativa, muy buena por cierto, y nos pareció muy interesante la posibilidad de procesar las imágenes de las actas para reconocer los números manuscritos. Tan interesante nos pareció que pensamos en la posibilidad de organizar una jornada de programación (lo que algunos llaman hackatón muy a nuestro pesar :P), posiblemente para sábado de la semana que viene.

                    Así fue que, en tiempo record, junto a Franco, Jorge, Jairo Trad, Andrés Vazquez y Marysol Farneda organizamos el evento Democracia con códigos en el que participaron 35 personas! Ese evento fue éxito en todo sentido y dio el puntapie inicial para armar el grupo Open Data Córdoba.

                    Abriendo datos para la democracia

                    Uno de los requisitos fundamentales para investigar datos es tenerlos. Si bien el sitio oficial datospublicos.gob.ar ya había publicado datasets oficiales de las elecciones, en el sitio resultados.gob.ar, donde se publicaron los telegramas en tiempo real, había más información.

                    En particular, hay una sección que muestra resúmemes los resultados provisorios por distrito que incluye un dato muy interesante: la hora en que fue computado cada centro de votación en el escrutinio provisorio. Lamentablemente, esa info atrapada en PDFs no es muy útil.

                    Si bien no alcazamos a utilizarlos en el evento (mi idea era agregar una línea de tiempo al mapa para ver cómo fue evolucionando), el dia anterior del hackatón dediqué un ratito a extraer esos datos para poder computarlos.

                    Lo publico ahora porque me parece útil no sólo como ejemplo de extracción de datos desde un PDF sino sobre las posibilidades de IPython Notebook (de paso, este artículo es un notebook) como entorno de "hackeo", pudiendo utilizar Python, muchísimos otros lenguajes y cualquier herramienta que tengamos en el sistema, de una manera integrada y fácil.

                    Primero, obtengo todos los PDFs para Córdoba.

                    In [1]:
                    for i in range(1, 27):
                        pdf = "C040%02d.pdf" % i
                        !!wget http://www.resultados.gob.ar/telegramas/telegramas/colegios/04/{pdf}
                    
                    In [2]:
                    !ls *.pdf
                    
                    C04001.pdf  C04004.pdf C04007.pdf  C04010.pdf  C04013.pdf  C04016.pdf  C04019.pdf  C04022.pdf  C04025.pdf
                    C04002.pdf  C04005.pdf      C04008.pdf  C04011.pdf  C04014.pdf  C04017.pdf  C04020.pdf  C04023.pdf  C04026.pdf
                    C04003.pdf  C04006.pdf      C04009.pdf  C04012.pdf  C04015.pdf  C04018.pdf  C04021.pdf  C04024.pdf
                    

                    Veamos cómo se ve una página

                    In [3]:
                    from IPython.display import Image
                    !convert -density 144 C04001.pdf[0] example.png
                    Image('example.png')
                    
                    Out[3]:

                    Por dónde recortamos ?

                    Como vemos, el layout es muy simétrico y todas las páginas son iguales (4 x 3 escuelas por página). Lo que queremos es obtener el nombre de la escuela y la fecha y hora del registro de su escrutinio. Por ejemplo CENTRO EDUC.NIVEL MEDIO ADULTO 27/10 a las 20:40. Para extraer texto de un pdf, una herramienta sencilla y potente es pdftotext

                    In [4]:
                    !pdftotext
                    
                    pdftotext version 0.20.4
                    Copyright 2005-2012 The Poppler Developers - http://poppler.freedesktop.org
                    Copyright 1996-2011 Glyph & Cog, LLC
                    Usage: pdftotext [options] <PDF-file> [<text-file>]
                      -f <int>          : first page to convert
                      -l <int>          : last page to convert
                      -r <fp>           : resolution, in DPI (default is 72)
                      -x <int>          : x-coordinate of the crop area top left corner
                      -y <int>          : y-coordinate of the crop area top left corner
                      -W <int>          : width of crop area in pixels (default is 0)
                      -H <int>          : height of crop area in pixels (default is 0)
                      -layout           : maintain original physical layout
                      -fixed <fp>       : assume fixed-pitch (or tabular) text
                      -raw              : keep strings in content stream order
                      -htmlmeta         : generate a simple HTML file, including the meta information
                      -enc <string>     : output text encoding name
                      -listenc          : list available encodings
                      -eol <string>     : output end-of-line convention (unix, dos, or mac)
                      -nopgbrk          : don't insert page breaks between pages
                      -bbox             : output bounding box for each word and page size to html.  Sets -htmlmeta
                      -opw <string>     : owner password (for encrypted files)
                      -upw <string>     : user password (for encrypted files)
                      -q                : don't print any messages or errors
                      -v                : print copyright and version info
                      -h                : print usage information
                      -help             : print usage information
                      --help            : print usage information
                      -?                : print usage information
                    

                    La idea es definir un rectangulo con cuyo vértice superior izquierdo se define por -x -y y su ancho y alto por -W -H. Luego de probar un poquito, encontré el primero en

                    In [5]:
                    !pdftotext -f 1 -l 1 -x 205 -y 140 -W 70 -H 35 C04001.pdf && cat C04001.txt
                    
                    CENTRO EDUC.NIVEL
                    MEDIO ADULTO
                    
                    27/10 a las 20:40
                    
                    

                    Para la siguiente columna, hay que correr un poco la máscara de cropping sobre el eje X. Me dió una separación de 90 puntos

                    In [6]:
                    !pdftotext -f 1 -l 1 -x 295 -y 140 -W 70 -H 35 C04001.pdf && cat C04001.txt
                    
                    ESC NUESTRA
                    SEÑORA DEL HUERTO
                    
                    27/10 a las 21:20
                    
                    

                    Moviendo el eje y convertimos la siguiente fila. El delta vertical me dio 230

                    In [7]:
                    !pdftotext -f 1 -l 1 -x 475 -y 370 -W 70 -H 35 C04001.pdf && cat C04001.txt
                    
                    ESC SANTO TOMAS
                    
                    27/10 a las 20:55
                    
                    

                    Entonces podemos obtener todos los (x, y) que necesitamos

                    In [8]:
                    from itertools import product
                    inicio_x = 205
                    inicio_y = 140
                    delta_x = 90
                    delta_y = 230
                    X = [inicio_x + delta_x * i for i in range(4)]
                    Y = [inicio_y + delta_y * j for j in range(3)]
                    list(product(X, Y))
                    
                    Out[8]:
                    [(205, 140),
                     (205, 370),
                     (205, 600),
                     (295, 140),
                     (295, 370),
                     (295, 600),
                     (385, 140),
                     (385, 370),
                     (385, 600),
                     (475, 140),
                     (475, 370),
                     (475, 600)]

                    Limpiando la salida

                    La salida de pdftotext se puede capturar, pero hay que limpiarla un poco

                    In [9]:
                    !!pdftotext -f 1 -l 1 -x 295 -y 140 -W 70 -H 35 C04001.pdf && cat C04001.txt
                    
                    Out[9]:
                    ['ESC NUESTRA',
                     'SE\xc3\x91ORA DEL HUERTO',
                     '',
                     '27/10 a las 21:20',
                     '',
                     '\x0c']
                    In [10]:
                    def clean(capture):
                        token = capture.index('')
                        return ' '.join(capture[:token]), capture[token + 1]
                    
                    print clean(['ESC NUESTRA', 'SE\xc3\x91ORA DEL HUERTO', '', '27/10 a las 21:20', '', '\x0c'])
                    print clean(['NACIONAL DEAN FUNES', '', 'fecha'])
                    
                    ('ESC NUESTRA SE\xc3\x91ORA DEL HUERTO', '27/10 a las 21:20')
                    ('NACIONAL DEAN FUNES', 'fecha')
                    

                    ¡Pero qué detalle! Eso es sólo para la página 1 (limitado por los flags -f 1 -l 1). Pdftotext sabe recortar todas las páginas a la vez

                    In [11]:
                    !pdftotext -x 295 -y 140 -W 70 -H 35 C04001.pdf && head C04001.txt
                    
                    ESC NUESTRA
                    SEÑORA DEL HUERTO
                    
                    27/10 a las 21:20
                    
                    FAC DE
                    CIENCIAS ECONOMICAS
                    
                    27/10 a las 21:35
                    
                    

                    ... pero ya limpiamos la captura para una escuela y somos vagos, no?. Mejor hagamoslo página a página y listo.

                    ¿Cuantás páginas tiene un PDF?

                    Google conoce el código que tiene la respuesta

                    In [12]:
                    # from http://code.activestate.com/recipes/496837-count-pdf-pages/
                    import re
                    
                    rxcountpages = re.compile(r"/Type\s*/Page([^s]|$)", re.MULTILINE|re.DOTALL)
                    
                    def count_pdf_pages(filename):
                        data = file(filename,"rb").read()
                        return len(rxcountpages.findall(data))
                    
                    
                    count_pdf_pages('C04001.pdf')
                    
                    Out[12]:
                    29

                    Listo, ensamblemos los legos

                    Ejecutamos pdftotext para cada región que queremos en cada página de cada pdf descargado. Los resultados limpios, los guardamos en una lista como tuplas (ID MUNICIPIO, ESCUELA, HORA)

                    In [13]:
                    table = []
                    for i in range(1, 27):
                        filename = "C040%02d" % i
                        for x, y in product(X, Y):
                            num_pages = count_pdf_pages("%s.pdf" % filename)
                            for page in range(1, num_pages + 1):
                                extracto = !pdftotext -f {page} -l {page} -x {x} -y {y} -W 70 -H 35 {filename}.pdf && cat {filename}.txt
                                try:
                                    escuela, hora = clean(extracto)
                                    table.append((i, escuela, hora))
                                except ValueError:
                                    continue
                    
                    In [14]:
                    table
                    
                    Out[14]:
                    [(1, 'CENTRO EDUC.NIVEL MEDIO ADULTO', '27/10 a las 20:40'),
                     (1, 'ESC GDOR ALVAREZ', '27/10 a las 21:30'),
                     (1, 'COL VILLA EUCARISTICA', '27/10 a las 21:15'),
                     (1, 'ESC JUAN M DE PUEYRREDON', '27/10 a las 21:20'),
                     (1, 'ESC PTE RIVADAVIA', '27/10 a las 21:45'),
                     (1, 'ESC GABRIELA MISTRAL', '27/10 a las 21:10'),
                     (1, 'INST MANUEL LUCERO', '27/10 a las 21:10'),
                     (1, 'IPEM 121 PAEZ MOLINA', '27/10 a las 21:05'),
                     (1, 'ESC ROBLES', '27/10 a las 21:25'),
                     (1, 'COLEGIO FERMIN LAFITTE', '27/10 a las 21:35'),
                     (1, 'ESC PRESIDENTE KENNEDY', '27/10 a las 21:30'),
                     (1, 'ESC MUNIC AZOR GRIMAU', '27/10 a las 21:15'),
                     (1, 'E.N.E.T. N 4 COPERNICO', '27/10 a las 22:30'),
                     (1, 'ESCUELA DON ORIONE', '27/10 a las 21:15'),
                     (1, 'ESC PATRICIAS MENDOCINAS', '27/10 a las 21:10'),
                     (1, 'ESC GRAL SAN MARTIN', '27/10 a las 21:15'),
                     (1, 'COL SAN BUENAVENTURA', '27/10 a las 21:15'),
                     (1, 'AGUIRRE CAMARA', '27/10 a las 21:20'),
                     (1, 'INSTITUTO VILLADA', '27/10 a las 20:25'),
                     (1, 'ESC DR LUIS A CAEIRO', '27/10 a las 20:45'),
                     (1, 'ESC MUNIC E MOLINARI ROMERO', '27/10 a las 20:40'),
                     (1, 'ESC RAUL A FERREYRA', '27/10 a las 20:55'),
                     (1, 'ESC FLORENCIO SANCHEZ', '27/10 a las 19:30'),
                     (1, 'ESC. PRIMARIA EVA DUARTE', '27/10 a las 21:15'),
                     (1, 'ESC CURA BROCHERO', '27/10 a las 20:45'),
                     (1, 'ESC. CARLOS TAGLE ACHAVAL', '27/10 a las 21:05'),
                     (1, 'ESC MODESTA RODRIGUEZ', '27/10 a las 20:25'),
                     (1, 'ESC REPUBLICA DE PANAMA', '27/10 a las 22:05'),
                     (1, 'ESC JAVIER VILLAFA\xc3\x91E', '27/10 a las 21:20'),
                     (1, 'ESC JUAN BAUTISTA ALBERDI', '27/10 a las 20:55'),
                     (1, 'ESC ALMAFUERTE', '27/10 a las 20:40'),
                     (1, 'ESC PANAMERICANA', '27/10 a las 20:50'),
                     (1, 'ESC MARTIN DE G\xc5\xa1EMES', '27/10 a las 20:55'),
                     (1, 'ESCUELA HEROES DE MALVINAS', '27/10 a las 20:55'),
                     (1, 'ESC GDOR AMADEO SABATTINI', '27/10 a las 21:25'),
                     (1, 'ESC. GARCIA FAURE', '27/10 a las 20:55'),
                     (1, 'J DE INF FCO VIDAL', '27/10 a las 20:50'),
                     (1, 'ESC PROVINCIA DE CORRIENTES', '27/10 a las 21:10'),
                     (1, 'ESC LEOPOLDO LUGONES', '27/10 a las 21:30'),
                     (1, 'ESC MANUEL BELGRANO', '27/10 a las 21:05'),
                     (1, 'ESC PADRE BURON', '27/10 a las 23:30'),
                     (1, 'ESC GDOR EMILIO OLMOS', '27/10 a las 21:05'),
                     (1, 'IPEM 313 (ANEX0)', '27/10 a las 22:25'),
                     (1, 'ESC SUP DE COMERCIO H VIEYTES', '27/10 a las 21:15'),
                     (1, 'INST JESUS MARIA', '27/10 a las 21:15'),
                     (1, 'ESC ATILIO ARG\xc5\xa1ELLO', '27/10 a las 21:25'),
                     (1, 'ESC GENERAL MOSCONI', '27/10 a las 20:20'),
                     (1, 'ESC.PROF.M.LUCIANI', '27/10 a las 21:10'),
                     (1, 'ESC MUNICIPAL DR A SABATTINI', '27/10 a las 21:10'),
                     (1, 'COL.JOVENES ARGENTINOS', '27/10 a las 20:40'),
                     (1, 'ESC PADRE DIEGO DE TORRES', '27/10 a las 20:50'),
                     (1, 'COLEGIO HORTUS CONCLUSUS', '27/10 a las 21:10'),
                     (1, 'COL HIJAS DE MARIA INMACULADA', '27/10 a las 21:20'),
                     (1, 'ESC VICENTE F LOPEZ', '27/10 a las 20:45'),
                     (1, 'ESC HUGO LEONELLI', '27/10 a las 21:55'),
                     (1, 'ESC JAVIER LAZCANO COLODRERO', '27/10 a las 21:20'),
                     (1, 'ESC NUEVA JUAN MANTOVANI', '27/10 a las 21:35'),
                     (1, 'IPEM N 17', '27/10 a las 21:20'),
                     (1, 'ESC NORMAL ALEJANDRO CARBO', '27/10 a las 21:10'),
                     (1, 'ESC ING MASJOAN', '27/10 a las 22:25'),
                     (1, 'ELENA LOPEZ LALLANA', '27/10 a las 21:55'),
                     (1, 'IPEM 136 DR ALFREDO PALACIOS', '27/10 a las 21:15'),
                     (1, 'ESC MUNICIPAL DR A SOBRAL', '27/10 a las 20:20'),
                     (1, 'ESC MANUEL LUCERO', '27/10 a las 21:35'),
                     (1, 'JOSE LUIS SERCIC', '27/10 a las 21:05'),
                     (1, 'ESC FRAY J A DE SAN ALBERTO', '27/10 a las 21:10'),
                     (1, 'ESC RICARDO ROJAS', '27/10 a las 21:30'),
                     (1, 'INST INMACULADA CONCEPCIO', '27/10 a las 21:50'),
                     (1, 'ESC REPUBLICA DE SIRIA', '27/10 a las 20:25'),
                     (1, 'ESC AERONAUTICA ARGENTINA', '27/10 a las 20:35'),
                     (1, 'PRIMARIA ELPIDIO TORRES', '27/10 a las 21:25'),
                     (1, 'ESC PTE DR ARTURO U ILLIA', '27/10 a las 20:40'),
                     (1, 'ESC JOSE MARIA PAZ', '27/10 a las 21:05'),
                     (1, 'ESC JOSE MARMOL', '27/10 a las 21:00'),
                     (1, 'ESC MUNIC LUZ VIEYRA MENDEZ', '27/10 a las 21:05'),
                     (1, 'COL MADRE PAULA MONTAL', '27/10 a las 20:45'),
                     (1, 'ESC BARTOLOME HIDALGO', '27/10 a las 20:40'),
                     (1, 'POETA OSCAR GUI\xc3\x91AZU ALVAREZ', '27/10 a las 20:45'),
                     (1, 'ESC EJERCITO ARGENTINO', '27/10 a las 20:40'),
                     (1, 'ESC FRANCISCO A RIZZUT', '27/10 a las 20:45'),
                     (1, 'ESC SGTO CABRAL', '27/10 a las 22:10'),
                     (1, 'ESC MUNIC JORGE LUIS BORGES', '27/10 a las 20:55'),
                     (1, 'ESC JORGE WASHINGTON ABALOS', '27/10 a las 19:10'),
                     (1, 'ESC ELISA K DE LIVACK', '27/10 a las 21:20'),
                     (1, 'ESC MUNIC MAESTRO M OLIVA', '27/10 a las 21:20'),
                     (1, 'ESC LUZ VIEYRA MENDEZ', '27/10 a las 19:50'),
                     (1, 'ESC NUESTRA SE\xc3\x91ORA DEL HUERTO', '27/10 a las 21:20'),
                     (1, 'FAC DE CIENCIAS ECONOMICAS', '27/10 a las 21:35'),
                     (1, 'ESC.SABIN', '27/10 a las 21:05'),
                     (1, 'INST SEC EMPALME GONZALEZ LAC', '27/10 a las 21:00'),
                     (1, 'ESC MARIA IGNACIA NAVARRO DE L', '27/10 a las 20:50'),
                     (1, 'ESC BRIGADIER C SAAVEDRA', '27/10 a las 20:25'),
                     (1, 'ESC J NEWBERY', '27/10 a las 19:10'),
                     (1, 'ESC ARTURO CAPDEVILA', '27/10 a las 21:15'),
                     (1, 'INST SAGRADA FAMILIA', '27/10 a las 21:00'),
                     (1, 'ESC JUVENILIA', '27/10 a las 20:45'),
                     (1, 'ESC ROQUE SAENZ PE\xc3\x91A', '27/10 a las 21:00'),
                     (1, 'ESC MUNIC REPUBLICA DE ITALIA', '27/10 a las 20:15'),
                     (1, 'EE UU DE NORTEAMERICA', '27/10 a las 21:10'),
                     (1, 'ESC MUNIC FERNANDEZ ORDO\xc3\x91EZ', '27/10 a las 21:25'),
                     (1, 'ESC PRIMARIA GRACIELA DEL RIO', '27/10 a las 20:20'),
                     (1, 'ESC MANUEL E PIZARRO', '27/10 a las 21:10'),
                     (1, 'ESC BATERIA LIBERTAD', '27/10 a las 21:40'),
                     (1, 'ESC ROMA', '27/10 a las 21:15'),
                     (1, 'ESC JUAN XXIII', '27/10 a las 22:10'),
                     (1, 'ESC CORONEL OLMEDO', '27/10 a las 21:15'),
                     (1, 'ESC MUNIC BRIG JUAN I DE S MAR', '27/10 a las 21:00'),
                     (1, 'ESC JOSE M ESTRADA', '27/10 a las 21:25'),
                     (1, 'ESC CAPITAL FEDERAL', '27/10 a las 20:20'),
                     (1, 'JARDIN EVA DUARTE', '27/10 a las 20:55'),
                     (1, 'ESC GDOR H DEL CASTILLO', '27/10 a las 21:15'),
                     (1, 'COLEGIO LA SALLE', '27/10 a las 21:30'),
                     (1, 'ESC NI\xc3\x91AS DE AYOHUMA', '27/10 a las 21:10'),
                     (1, 'ESC REPUBLICA DEL LIBANO', '27/10 a las 21:00'),
                     (1, 'ESC MUNIC SAUL TABORD', '27/10 a las 21:30'),
                     (1, 'ESC JERONIMO LUIS DE CABRERA', '27/10 a las 21:10'),
                     (1, 'ESC COM R ECHEGOYEN', '27/10 a las 21:20'),
                     (1, 'ESC ESTANISLAO DEL CAMPO', '27/10 a las 21:40'),
                     (1, 'BAC TEC DR F ESCARDO', '27/10 a las 20:55'),
                     (1, 'ESC.PTE. JUAN D.PERON', '27/10 a las 21:45'),
                     (1, 'ESC J FUNES DE BONET', '27/10 a las 21:10'),
                     (1, 'ESC HONORATO LACONI', '27/10 a las 21:25'),
                     (1, 'IPEM 199 ""JUAN EMILIO REMONDA""', '27/10 a las 20:35'),
                     (1, 'INST ESCUTI', '27/10 a las 21:10'),
                     (1, 'IPEM 198 MARTIN FERREYRA', '27/10 a las 21:10'),
                     (1, 'ESC MUN YAMAHIBIA ARABE LIBIA', '27/10 a las 20:50'),
                     (1, 'J DE INF CADETES FUERZA AEREA', '27/10 a las 20:55'),
                     (1, 'ESC R ESCALADA DE SAN MARTI', '27/10 a las 21:40'),
                     (1, 'ESC PROV DE SGO DEL ESTERO', '27/10 a las 21:20'),
                     (1, 'ESC BLAS PARERA', '27/10 a las 20:30'),
                     (1, 'ESC REPUBLICA DEL PERU', '27/10 a las 21:15'),
                     (1, 'JORGE LUIS BORGES', '27/10 a las 21:10'),
                     (1, 'ESC EJERCITO ARGENTINO', '27/10 a las 20:35'),
                     (1, 'ESC.MA.DEL TRANSITO CABANILLAS', '27/10 a las 21:00'),
                     (1, 'ESC MUNIC DR ARTURO H ILLIA', '27/10 a las 21:00'),
                     (1, 'IPEM 167 JOSE MANUEL ESTRADA', '27/10 a las 21:30'),
                     (1, 'ESC ARISTOBULO DEL VALLE', '27/10 a las 21:25'),
                     (1, 'ESC MUNIC J GONZALEZ', '27/10 a las 21:10'),
                     (1, 'ESC PARROQUIAL SAN ROQUE', '27/10 a las 21:00'),
                     (1, 'ESC MUNIC J A PAREDES', '27/10 a las 21:55'),
                     (1, 'ESC MARTHA A SALOTTI', '27/10 a las 21:35'),
                     (1, 'ESC MUNIC ING MASJOAN', '27/10 a las 21:25'),
                     (1, 'ESC RICARDO PALMA', '27/10 a las 21:05'),
                     (1, 'INST. TEC. ISAAC NEWTON', '27/10 a las 21:20'),
                     (1, 'ESC MARIANO MORENO', '27/10 a las 20:55'),
                     (1, 'COL NICOLAS BERROTARAN', '27/10 a las 22:25'),
                     (1, 'ESC 9 DE JULIO', '27/10 a las 21:15'),
                     (1, 'ESC M COOPERATIVISMO ARGENTINO', '27/10 a las 20:50'),
                     (1, 'ESC VAN GELDEREN', '27/10 a las 21:10'),
                     (1, 'ESC PCIA DE ENTRE RIOS', '27/10 a las 21:15'),
                     (1, 'IPEM 338', '27/10 a las 21:10'),
                     (1, 'INST OBISPO CAIXAL', '27/10 a las 21:10'),
                     (1, 'ESC CONGRESO DE TUCUMAN', '27/10 a las 20:40'),
                     (1, 'ESC J DE SAN MARTIN', '27/10 a las 21:30'),
                     (1, 'ESC GDOR J B BUSTOS', '27/10 a las 20:25'),
                     (1, 'COL NUESTRA SE\xc3\x91ORA DE FATIMA', '27/10 a las 20:30'),
                     (1, 'SECUNDARIA ELPIDIO TORRES', '27/10 a las 21:00'),
                     (1, 'COL SAN JOSE OBRERO', '27/10 a las 21:05'),
                     (1, 'ESC MOYANO COUDERT', '27/10 a las 21:15'),
                     (1, 'ESC A CAPDEVILA', '27/10 a las 20:35'),
                     (1, 'ESC.REPUBLICA DEL ECUADOR', '27/10 a las 21:10'),
                     (1, 'IPEM 318 COMBATE DE LA TABLADA', '27/10 a las 19:40'),
                     (1, 'ESC JUAN LARREA', '27/10 a las 22:30'),
                     (1, 'ESC. MARIA EVA DUARTE', '27/10 a las 20:45'),
                     (1, 'ESC SECUNDARIA CARLOS M DE ALV', '27/10 a las 20:20'),
                     (1, 'ESC R SANCHEZ DE CALDELARI', '27/10 a las 21:05'),
                     (1, 'CENTRO VECINAL ZONA 11', '27/10 a las 19:35'),
                     (1, 'ESC MUNIC DR ALFREDO ORGAZ', '27/10 a las 20:15'),
                     (1, 'ESC OLEGARIO V ANDRAD', '27/10 a las 20:15'),
                     (1, 'INST CONCEPCIONISTA LA INMACUL', '27/10 a las 21:20'),
                     (1, 'ESC MAESTROS PUNTANOS', '27/10 a las 20:15'),
                     (1, 'ESC MUNIC DR HORACIO GARCIA', '27/10 a las 21:20'),
                     (1, 'COL NAC DE MONSERRAT', '27/10 a las 21:15'),
                     (1, 'IPEM 38 FRANC. PABLO DE MAURO', '27/10 a las 21:35'),
                     (1, 'NSC.OSCAR RAUL MALVASIO', '27/10 a las 21:50'),
                     (1, 'FRAY JUSTO STA MARIA DE ORO', '27/10 a las 21:25'),
                     (1, 'ESC A F AVALOS', '27/10 a las 21:10'),
                     (1, 'ESC TRANSITO CACERES DE ALLEND', '27/10 a las 21:15'),
                     (1, 'ESC PTE SARMIENTO', '27/10 a las 21:15'),
                     (1, 'ESC FRANCISCO VIDAL', '27/10 a las 21:00'),
                     (1, 'ESC TRINIDAD MORENO', '27/10 a las 21:30'),
                     (1, 'ESC PCIA DE MISIONES', '27/10 a las 21:30'),
                     (1, 'INST EDUCACION CORDOBA', '27/10 a las 21:15'),
                     (1, 'IPEM 183""PEDRO B.PALACIOS"', '27/10 a las 20:55'),
                     (1, 'COL NUESTRA SE\xc3\x91ORA DE NIEVA', '27/10 a las 21:25'),
                     (1, 'ESC.OSVALDO JORGE LEON', '27/10 a las 21:35'),
                     (1, 'ESC ISABEL LA CATOLICA', '27/10 a las 20:55'),
                     (1, 'ESC MUNIC JUSTO PAEZ MOLINA', '27/10 a las 21:15'),
                     (1, 'ESC PRIMER TTE AVILA', '27/10 a las 20:40'),
                     (1, 'ESC LUTERANO CONCORDIA', '27/10 a las 21:15'),
                     (1, 'ESC CONSTANCIO C VIGIL', '27/10 a las 21:20'),
                     (1, 'ESC MONSE\xc3\x91OR M DE ANDREA', '27/10 a las 20:50'),
                     (1, 'ESC GRAL MANUEL BELGRANO', '27/10 a las 20:45'),
                     (1, 'J DE INF RAUL A.FERREYRA', '27/10 a las 20:30'),
                     (1, 'ESC CRISTO REY', '27/10 a las 20:50'),
                     (1, 'IPEM 21 ALFONSINA STORNI', '27/10 a las 20:55'),
                     (1, 'ESC PARROQUIAL L STUCCHI BAUDO', '27/10 a las 21:10'),
                     (1, 'ESC BRIG SAN MARTIN', '27/10 a las 22:05'),
                     (1, 'ESC GERONIMO GRAGERA', '27/10 a las 21:05'),
                     (1, 'ESC MUNIC DR RAUL FERNANDEZ', '27/10 a las 21:20'),
                     (1, 'JARDIN DE INF NI\xc3\x91AS DE AYOHUMA', '27/10 a las 21:15'),
                     (1, 'IPEM N 270 GRAL M BELGRANO', '27/10 a las 20:55'),
                     (1, 'ESC SAN FRANCISCO DE ASIS', '27/10 a las 21:00'),
                     (1, 'ESC M FRAGUEIRO', '27/10 a las 21:40'),
                     (1, 'IPEM 184-M.FRAGUEIRO', '27/10 a las 20:25'),
                     (1, 'ESC TENIENTE GRAL ARAMBURU', '27/10 a las 20:55'),
                     (1, 'IPEM N 22 JUAN FILLOY', '27/10 a las 21:50'),
                     (1, 'ESC PETER PAN', '27/10 a las 21:35'),
                     (1, 'ESC RABINDRANAT TAGORE', '27/10 a las 20:05'),
                     (1, 'ESC MAHATMA GANDHI', '27/10 a las 21:45'),
                     (1, 'ESC PTE HIPOLITO YRIGOYEN', '27/10 a las 21:30'),
                     (1, 'IPEM 311', '27/10 a las 21:00'),
                     (1, 'ESC ALAS ARGENTINA', '27/10 a las 20:30'),
                     (1, 'ESC MUNIC DR A DEL CASTILLO', '27/10 a las 20:55'),
                     (1, 'ESC MARTA JUANA GONZALEZ', '27/10 a las 22:30'),
                     (1, 'ESC SAN JOSE', '27/10 a las 21:10'),
                     (1, 'ESC SANTISIMA TRINIDAD', '27/10 a las 20:40'),
                     (1, 'ESC GABRIELA MISTRAL', '27/10 a las 21:05'),
                     (1, 'ESC MUNIC E BAQUERO LASCANO', '27/10 a las 20:50'),
                     (1, 'ESC RUBEN DARIO', '27/10 a las 21:15'),
                     (1, 'ESC MUNIC DOMINGO F SARMIENTO', '27/10 a las 20:35'),
                     (1, 'ESCUELA ADVENTISTA HECTOR RHYS', '27/10 a las 20:45'),
                     (1, 'ESC ASOCIACION DE MAY', '27/10 a las 20:25'),
                     (1, 'ESC REPUBLICA DE LA INDIA', '27/10 a las 21:40'),
                     (1, 'ESC MANUEL BELGRANO', '27/10 a las 21:15'),
                     (1, 'DR BERNARDO HOUSEY', '27/10 a las 21:50'),
                     (1, 'ESC MARTIN DE G\xc5\xa1EMES', '27/10 a las 22:00'),
                     (1, 'ESC JUAN MARIA GUTIERREZ', '27/10 a las 21:20'),
                     (1, 'INST SAUL TABORDA', '27/10 a las 20:55'),
                     (1, 'ENET N 3 LEOPOLDO LUGONES', '27/10 a las 21:10'),
                     (1, 'ESC L SUAREZ DE FIGUEROA', '27/10 a las 20:35'),
                     (1, 'ESC PROVINCIA DE LA RIOJA', '27/10 a las 21:15'),
                     (1, 'ESC SANTA MARGARITA DE CORTONA', '27/10 a las 21:20'),
                     (1, 'ESC RAMON J CARCANO', '27/10 a las 21:25'),
                     (1, 'INST CORAZON DE MARIA', '27/10 a las 21:10'),
                     (1, 'ESC JORGE NEWBERY', '27/10 a las 21:10'),
                     (1, 'ESC DEAN FUNES', '27/10 a las 21:15'),
                     (1, 'ESC MIGUEL RODRIGUEZ DE LA TOR', '27/10 a las 20:45'),
                     (1, 'COL NTRA SE\xc3\x91ORA DE LA MERCED', '27/10 a las 20:25'),
                     (1, 'J DE INF REPUBLICA DE SIRIA', '27/10 a las 19:45'),
                     (1, 'ESC REPUBLICA ARGENTINA', '27/10 a las 20:20'),
                     (1, 'SAN JOSE ARTESANO', '27/10 a las 21:00'),
                     (1, 'ESC VICENTE FORESTIERI', '27/10 a las 21:05'),
                     (1, 'INSTITUTO TECNICO DON BOSCO', '27/10 a las 20:35'),
                     (1, 'ESC PADRE T GAMBINO', '27/10 a las 20:35'),
                     (1, 'HEROES DE MALVINAS', '27/10 a las 20:20'),
                     (1, 'INST.MARIA DE NAZARET', '27/10 a las 20:50'),
                     (1, 'ESC HILARIO ASCASUBI', '27/10 a las 20:35'),
                     (1, 'ESC REPUBLICA DE COSTA RICA', '27/10 a las 21:15'),
                     (1, 'ESC DR IGNACIO DUARTE QUIROS', '27/10 a las 20:25'),
                     (1, 'ESC P ALBARRACIN DE SARMIENTO', '27/10 a las 20:40'),
                     (1, 'ESC ESPIRITU SANTO', '27/10 a las 21:15'),
                     (1, 'ESC MUNIC. MONSE\xc3\x91OR ANGELELLI', '27/10 a las 21:25'),
                     (1, 'ESC DR ANTONIO NORES', '27/10 a las 21:00'),
                     (1, 'ESC INGENIERO VICTOR REE', '27/10 a las 20:50'),
                     (1, 'ESC MUNIC ARSENIO MURUGARREN', '27/10 a las 20:30'),
                     (1, 'IPEM 16 MA.SALEME DE BURNICHON', '27/10 a las 21:20'),
                     (1, 'ESC SANTA TERESA DE JESUS', '27/10 a las 21:05'),
                     (1, 'ESC ERNESTO BANCALAR', '27/10 a las 20:30'),
                     (1, 'ESC ESPA\xc3\x91A', '27/10 a las 21:00'),
                     (1, 'ESC CANONIGO PI\xc3\x91ERO', '27/10 a las 21:20'),
                     (1, 'ESC. MADRE MARIA DEL TRANSITO', '27/10 a las 19:45'),
                     (1, 'ESC R G\xc5\xa1IRALDES', '27/10 a las 21:30'),
                     (1, 'ESC PCIA DE FORMOSA', '27/10 a las 21:15'),
                     (1, 'J DE INF ARTURO CAPDEVILA', '27/10 a las 20:50'),
                     (1, 'ESC ALMIRANTE BROWN', '27/10 a las 21:30'),
                     (1, 'COL EL SALVADOR', '27/10 a las 21:30'),
                     (1, 'E.N.E.T. N1 DR A SABATTIN', '27/10 a las 21:30'),
                     (1, 'ESC CADETES FUERZA AEREA', '27/10 a las 21:15'),
                     (1, 'ESC ADOLFO SALDIAS', '27/10 a las 21:25'),
                     (1, 'ESC BENITO SORIA', '27/10 a las 21:10'),
                     (1, 'ESC PQUIAL SAN JOSE', '27/10 a las 21:10'),
                     (1, 'IPEM MARCELA B. MOYANO COUDERT', '27/10 a las 20:45'),
                     (1, 'ESC PEREZ BULNES', '27/10 a las 21:45'),
                     (1, 'COLEGIO SAN JOSE', '27/10 a las 21:10'),
                     (1, 'ESC MUNIC OSCAR SOTO LOPEZ', '27/10 a las 20:40'),
                     (1, 'ESC PEDRO GOYENA', '27/10 a las 21:00'),
                     (1, 'ESC EJERCITO ARGENTIN', '27/10 a las 21:10'),
                     (1, 'ESC.CAFRUNE', '27/10 a las 21:05'),
                     (1, 'ESC ALEJO CARMEN GUZMAN', '27/10 a las 21:05'),
                     (1, 'ESC JOSE MARIA PAZ', '27/10 a las 21:15'),
                     (1, 'ESC JUSTO PAEZ MOLINA', '27/10 a las 21:20'),
                     (1, 'ESC RICARDO NASSIF', '27/10 a las 21:25'),
                     (1, 'ESC DR ALEJANDRO GALLARDO', '27/10 a las 21:30'),
                     (1, 'JARDIN MATERNAL TRAVESURAS', '27/10 a las 21:20'),
                     (1, 'ESC MUNIC DR JORGE ORGAZ', '27/10 a las 22:30'),
                     (1, 'ESC SANTO TOMAS', '27/10 a las 20:55'),
                     (1, 'INST EDUC NTRA SE\xc3\x91ORA', '27/10 a las 21:10'),
                     (1, 'ESC MUNICIPAL A GASTALDI', '27/10 a las 20:15'),
                     (1, 'ESC TTE GRAL P RICCHIE', '27/10 a las 20:40'),
                     (1, 'COL SAN RAMON NONATO', '27/10 a las 21:20'),
                     (1, 'ESC UNESCO', '27/10 a las 21:25'),
                     (1, 'J DE INF B.RIVADAVIA', '27/10 a las 21:20'),
                     (1, 'ESC EMILIO E SANCHEZ', '27/10 a las 21:05'),
                     (1, 'COL PQUIAL C NAMUNCURA', '27/10 a las 20:35'),
                     (1, 'ESC ANTONIO DEL VISO', '27/10 a las 21:35'),
                     (1, 'ESC PCIA DE CATAMARCA', '27/10 a las 21:05'),
                     (1, 'ESC MUNIC CESAR E ROMERO', '27/10 a las 20:50'),
                     (1, 'IPEM 154 MARTIN M DE GUEMES', '27/10 a las 20:55'),
                     (1, 'ESC MUNIC ALICIA MOREAU DE JUS', '27/10 a las 20:45'),
                     (1, 'ESC SAN LUIS GONZAGA', '27/10 a las 21:15'),
                     (1, 'ESC B DE MONTEAGUDO', '27/10 a las 20:50'),
                     (1, 'ESC REPUBLICA DE VENEZUEL', '27/10 a las 21:15'),
                     (1, 'ESC MUNIC JUAN B JUSTO', '27/10 a las 21:00'),
                     (1, 'INST NTRA SRA DEL SGDO CORAZON', '27/10 a las 21:25'),
                     (1, 'EDUC.ING.REGINO M.MADER', '27/10 a las 21:25'),
                     (1, 'ESC PRIMARIA CARLOS M DE ALVEA', '27/10 a las 21:00'),
                     (1, 'ESC HENOCH D AGUIAR', '27/10 a las 20:45'),
                     (1, 'ESC MODELO RACING', '27/10 a las 20:45'),
                     (1, 'ESC MUNIC DR D LATELLA FRIAS', '27/10 a las 20:15'),
                     (1, 'DR JOSE RAMON IBA\xc3\x91EZ', '27/10 a las 21:30'),
                     (1, 'ESC MUNIC RAUL V MARTINEZ', '27/10 a las 21:20'),
                     (1, 'ESC. F. LELOIR', '27/10 a las 21:25'),
                     (1, 'ESC PRIMERA JUNTA', '27/10 a las 22:30'),
                     (1, 'COL NACIONAL DEAN FUNES', '27/10 a las 20:45'),
                     (1, 'ESC SAN JOSE DE CALASANZ', '27/10 a las 21:15'),
                     (1, 'ESC VICTOR MERCANTE', '27/10 a las 21:10'),
                     (1, 'ESC DGO F SARMIENTO', '27/10 a las 21:00'),
                     (1, 'ESC NORMAL GARZON AGULLA', '27/10 a las 21:00'),
                     (1, 'INST NUESTRA MADRE DE LA MERCE', '27/10 a las 21:10'),
                     (1, 'ESC NACIONES UNIDAS', '27/10 a las 21:40'),
                     (1, 'INST SAGRADO CORAZON', '27/10 a las 21:25'),
                     (1, 'ESC DE COMERCIO J J PASO', '27/10 a las 21:30'),
                     (1, 'INSTITUTO PE\xc3\x91A', '27/10 a las 21:30'),
                     (1, 'ESC ALEJANDRO CARBO', '27/10 a las 21:10'),
                     (1, 'ESC MIGUEL A ZABALA ORTIZ', '27/10 a las 20:20'),
                     (1, 'ESC BANDERA ARGENTIN', '27/10 a las 21:00'),
                     (1, 'IPEM 123BLANCA ECHEMENDI', '27/10 a las 20:55'),
                     (1, 'ESC ANTARTIDA ARGENTINA', '27/10 a las 21:05'),
                     (1, 'ESC.MUNIC.DR.CARLOS BECERRA', '27/10 a las 21:00'),
                     (1, 'INST. SEC. JUAN M. E ROSAS', '27/10 a las 21:10'),
                     (1, 'ESC.S TURISMO Y HOT.M.PACHECO', '27/10 a las 21:00'),
                     (1, 'INST MANUEL BELGRANO', '27/10 a las 20:15'),
                     (1, 'ESC LIBERTADOR GRAL S MARTIN', '27/10 a las 21:45'),
                     (1, 'ESC MADRE TERESA DE CALCUTA', '27/10 a las 21:05'),
                     (1, 'ESC MUNIC DR P CARANDE CARRO', '27/10 a las 20:20'),
                     (1, 'ESC MUNIC GDOR A ZANICHELLI', '27/10 a las 21:40'),
                     (1, 'ESC ARTURO CAPDEVILA', '27/10 a las 22:05'),
                     (1, 'ESC MATEO J LUQUE', '27/10 a las 21:10'),
                     (1, 'ESC JUAN ZORRILA DE SAN MARTIN', '27/10 a las 21:40'),
                     (1, 'INSTITUTO EMILIO LAMARCA', '27/10 a las 21:15'),
                     (1, 'ESC ATAHUALPA YAPANQU', '27/10 a las 21:10'),
                     (2, 'ESC PROV D VELEZ SARFIELD', '27/10 a las 20:45'),
                     (2, 'ESC.PROV. A.ALSINA', '27/10 a las 19:45'),
                     (2, 'ESC PROV PRIMERA JUNTA', '27/10 a las 21:00'),
                     (2, 'ESC.PROV. F.AMEGHINO', '27/10 a las 23:00'),
                     (2, 'ESC PROV PEDRO B PALACIOS', '27/10 a las 23:00'),
                     (2, 'ESC.PROV.M.GUEMES', '27/10 a las 22:05'),
                     (2, 'ESC PROV DOMINGO F SARMIENTO', '27/10 a las 20:35'),
                     (2, 'SALA DE PRIMEROS AUXILIOS', '27/10 a las 22:50'),
                     (2, 'COLEGIO NAC. DR.D.V. SARSFIELD', '27/10 a las 21:35'),
                     (2, 'ESC.PROV.R.SAENZ PE\xc3\x91A', '27/10 a las 20:50'),
                     (2, 'ESC.PROV.PADRE FELIX ENRIQUE', '27/10 a las 20:30'),
                     (2, 'ESC.PROV.ALMIRANTE BROWN', '27/10 a las 23:30'),
                     (2, 'ESC. JOAQUIN V. GONZALEZ', '27/10 a las 19:55'),
                     (2, 'ESC.GRAL J. DE SAN MARTIN', '27/10 a las 22:50'),
                     (2, 'ESC PROV JUAN LARREA', '27/10 a las 22:40'),
                     (2, 'INST DR D VELEZ SARSFIELD', '27/10 a las 20:00'),
                     (2, 'ESC. DR. JUAN M. ALBARENQUE', '27/10 a las 21:55'),
                     (2, 'ESCUELA N 481', '27/10 a las 19:55'),
                     (2, 'ESC PROV. M.BELGRANO', '27/10 a las 19:30'),
                     (2, 'ESC. PROV. FRENCH Y BERUTTI', '27/10 a las 19:40'),
                     (2, 'ESC. PROV.GRAL. SAN MARTIN', '27/10 a las 20:15'),
                     (2, 'ESCUELA B. ROLDAN', '27/10 a las 20:50'),
                     (2, 'ESC. DE COM. D. DE ROJA', '27/10 a las 20:55'),
                     (2, 'PRIM-EL MUNDO DE LOS CHICOS', '27/10 a las 20:25'),
                     (2, 'ESC. PROV. L. LUGONES', '27/10 a las 20:50'),
                     (2, 'ESC. PROV. D.F. SARMIENTO', '27/10 a las 21:20'),
                     (2, 'ESC.PROV.DEAN FUNES', '27/10 a las 20:40'),
                     (2, 'ESCUELA N 404', '27/10 a las 19:25'),
                     (2, 'COLEGIO SAGRADO CORAZON', '27/10 a las 19:40'),
                     (2, 'COLEGIO SAN JOSE', '27/10 a las 22:05'),
                     (2, 'ESCUELA R. OBLIGADO', '27/10 a las 20:40'),
                     (2, 'COLEGIO ARGENTINO GERMANO', '27/10 a las 20:20'),
                     (2, 'ESC. PROV.M. MORENO', '27/10 a las 20:55'),
                     (2, 'ESCUELA PROVINCIAL', '27/10 a las 19:45'),
                     (2, 'ESC.PROV. FRENCH Y BERUTTI', '27/10 a las 21:10'),
                     (2, 'ESC BARTOLOME MITRE', '27/10 a las 23:00'),
                     (3, 'ESCUELA DR. PABLO RUEDA', '27/10 a las 23:35'),
                     (3, 'IPEM 165 ANEXO J.BONORIS', '27/10 a las 20:55'),
                     (3, 'ESC.PROVC.F.O. DE OCAMPO', '27/10 a las 23:00'),
                     (3, 'ESC.PROV.M.FRAGUEIRO', '27/10 a las 22:00'),
                     (3, 'ESC.PROV. D.F.SARMIENTO', '27/10 a las 22:20'),
                     (3, 'INSTITUTO JESUS MARIA', '27/10 a las 21:45'),
                     (3, 'ESC.PROV.A.ARGENTINA', '27/10 a las 20:35'),
                     (3, 'ESC.COM.R. SILIONI', '27/10 a las 21:25'),
                     (3, 'INST SECUNDARIO SALSIPUEDES', '27/10 a las 22:30'),
                     (3, 'INSTITUTO PAULA A.DE SARMIENTO', '27/10 a las 21:55'),
                     (3, 'ESC.PROV. M. BELGRANO', '27/10 a las 21:40'),
                     (3, 'PTE DOMINGO F SARMIENTO', '27/10 a las 20:40'),
                     (3, 'I.P.E.M. N 24', '27/10 a las 22:00'),
                     (3, 'ESC.PROV. D.V.SARSFIELD', '27/10 a las 21:20'),
                     (3, 'JARDIN NOGAL HISTORICO', '27/10 a las 21:30'),
                     (3, 'ESC ELADIO DIEZ', '27/10 a las 21:20'),
                     (3, 'ESC.PROV.B.RIVADAVIA', '27/10 a las 21:20'),
                     (3, 'ESC,N21 GENDARMERIA NACIONAL', '27/10 a las 23:05'),
                     (3, 'I.P.E.M.144-MARIANO MORENO', '27/10 a las 21:35'),
                     (3, 'I.P.E.M.N 317', '27/10 a las 21:50'),
                     (3, 'ESC.TTE. J.R. IBARZABAL', '27/10 a las 22:35'),
                     (3, 'ESC.PROV.V.MERCANTE', '27/10 a las 20:30'),
                     (3, 'ESC.ATAHUALPA YUPANQU', '27/10 a las 21:35'),
                     (3, 'ESC.PROV. J.MALDONADO', '27/10 a las 21:40'),
                     (3, 'INST GRAL S.MARTIN/17 DE AGOST', '27/10 a las 22:25'),
                     (3, 'ESC. PROV. GRAL SAN MARTIN', '27/10 a las 22:55'),
                     (3, 'I.P.E.T.N 69', '27/10 a las 20:25'),
                     (3, 'JARDIN DE INF.CAP.CANDELARIA', '27/10 a las 21:45'),
                     (3, 'I.P.E.M. N 23', '27/10 a las 22:10'),
                     (3, 'ESCUELA NOGAL HISTORICO', '27/10 a las 22:30'),
                     (3, 'INSTITUTO D.F.SARMIENTO', '27/10 a las 22:35'),
                     (3, 'ESCUELA NACIONAL N31', '27/10 a las 20:30'),
                     (3, 'ESC PROV VICENTE AGUERO', '27/10 a las 19:40'),
                     (3, 'INSTITUTO DEL ESPIRITU SANTO', '27/10 a las 22:05'),
                     (3, 'ESC.PROV. J.DE SAN MARTIN', '27/10 a las 22:25'),
                     (3, 'CENTRO EDUCATIVO GRAL SAN MART', '27/10 a las 20:30'),
                     (3, 'LOCAL COMUNAL', '27/10 a las 20:20'),
                     (3, 'ESC.CAP.LUIS C.CANDELARIA', '27/10 a las 22:00'),
                     (3, 'ESCUELA RECONQUISTA', '27/10 a las 20:20'),
                     (3, 'INSTITUTO NTA.SRA. DE LUJAN', '27/10 a las 21:30'),
                     (3, 'ESC. PRESBITERO BONORIS', '27/10 a las 21:45'),
                     (3, 'ESC.DR. J.M.ESTRADA N 221', '27/10 a las 23:00'),
                     (3, 'ESC PROV SARGENTO CABRAL', '27/10 a las 20:00'),
                     (3, 'I.P.E.M. N 78', '27/10 a las 23:15'),
                     (3, 'ESC.DE COMERCIO J.M.PA', '27/10 a las 21:50'),
                     (3, 'ESCUELA PROV.J.J.PASO- CENMA', '27/10 a las 20:30'),
                     (3, 'ESC PROV DR PABLO RUEDA', '27/10 a las 20:25'),
                     (3, 'ESC PROV LEOPOLDO LUGONES', '27/10 a las 21:10'),
                     (3, 'ESC.CONSTANCIO C. VIGIL', '27/10 a las 22:55'),
                     (3, 'COLEGIO SAN JOSE', '27/10 a las 20:45'),
                     (3, 'MARGARITA W DE PAZ', '27/10 a las 20:35'),
                     (3, 'ESC PROV GRAL JOSE MARIA PAZ', '27/10 a las 21:20'),
                     (3, 'ESC.MUNIC.CIUDAD DE M.ARGENTIN', '27/10 a las 21:30'),
                     (3, 'ESC.PROV. FRAY M.ESQUI', '27/10 a las 21:20'),
                     (3, 'COLEGIO MARYLAND', '27/10 a las 22:10'),
                     (3, 'ESCUELA M. MORENO', '27/10 a las 21:00'),
                     (3, 'ESC.PROV.1ER.TTE.MORA DINI', '27/10 a las 23:30'),
                     (3, 'IPEM N 352', '27/10 a las 22:55'),
                     (3, 'INST.PARROQ.NTA.SRA DE LOURDES', '27/10 a las 22:10'),
                     (4, 'ESCUELA PROV.M. MORENO', '27/10 a las 20:35'),
                     (4, 'ESC PROV GRAL SAN MARTIN', '27/10 a las 21:55'),
                     (4, 'ESCUELA N395', '27/10 a las 21:30'),
                     (4, 'ESC PROV RODRIGUEZ PE\xc3\x91A', '27/10 a las 19:30'),
                     (4, 'ESC.PROV.M.MORENO', '27/10 a las 21:30'),
                     (4, 'ESC.PROV.DEAN G.FUNES', '27/10 a las 22:05'),
                     (4, 'ESCUELA NORMAL', '27/10 a las 22:40'),
                     (4, 'ESC.PROV.J.M.PAZ', '27/10 a las 21:10'),
                     (4, 'ESC NICOLAS AVELLANED', '27/10 a las 20:25'),
                     (4, 'ESCUELA PROVINCIAL', '27/10 a las 20:20'),
                     (4, 'ESCUELA PROVINCIAL', '27/10 a las 20:05'),
                     (4, 'ESC PROV PTE ROQUE SAENZ PE\xc3\x91A', '27/10 a las 22:40'),
                     (4, 'IPEM N 253', '28/10 a las 00:15'),
                     (4, 'ESCUELA M. GUEMES', '27/10 a las 20:30'),
                     (4, 'ESC.PADRE B.DE LAS CASAS', '27/10 a las 21:10'),
                     (4, 'IPEM 273 M. BELGRANO', '27/10 a las 21:55'),
                     (4, 'ESC.PROV.J.V.GONZALEZ', '27/10 a las 22:10'),
                     (4, 'ESC.PROV.J.J.CASTELLI', '27/10 a las 21:30'),
                     (4, 'ESC.PROV. CANTERAS IGUAZU', '27/10 a las 20:40'),
                     (4, 'ESC PROV JOSE MARIA PA', '27/10 a las 23:05'),
                     (4, 'ESC.PROV.M. BELGRANO', '27/10 a las 21:55'),
                     (4, 'ESC.PROV.D.F.SARMIENTO', '27/10 a las 20:45'),
                     (4, 'ESC DOMINGO F SARMIENTO', '27/10 a las 21:30'),
                     (4, 'INSTITUTO SANTO DOMINGO', '27/10 a las 22:10'),
                     (4, 'ESC.PROV.PCIA.DE LA RIOJA', '27/10 a las 20:15'),
                     (4, 'ESC.PROV. BME. MITRE', '27/10 a las 21:30'),
                     (4, 'ESC PROV JUAN B ALBER', '27/10 a las 20:15'),
                     (4, 'ESC PROV GRAL SAN MARTIN', '27/10 a las 20:40'),
                     (4, 'ESC.PROV.B.RIVADAVIA', '27/10 a las 23:30'),
                     (4, 'ESC.E. BAVIO', '27/10 a las 21:55'),
                     (4, 'ESCUELA ANTARTIDA ARGENTINA', '27/10 a las 21:35'),
                     (4, 'E.N.E.T. N1', '27/10 a las 20:55'),
                     (4, 'ESC PROV MANUEL BELGRANO', '27/10 a las 21:55'),
                     (4, 'ESC. R.S. DE CALDELARI', '27/10 a las 21:30'),
                     (5, 'ESC.PROV. J.J. PASO', '27/10 a las 21:00'),
                     (5, 'ESC. ING.A.EBELOT', '27/10 a las 21:30'),
                     (5, 'ESC.PROV. D.F. SARMIENTO', '27/10 a las 22:50'),
                     (5, 'ESC.PROV. D.F.SARMIENTO', '27/10 a las 21:15'),
                     (5, 'I.P.E.M. N 221', '27/10 a las 21:50'),
                     (5, 'ESC PROV JOSE MARIA PA', '27/10 a las 19:15'),
                     (5, 'ESC.PROV.F.N.LAPRIDA', '27/10 a las 20:55'),
                     (5, 'COLEGIO NAC. L.V.MANSILLA', '27/10 a las 22:50'),
                     (5, 'ESC.PROV.J.CROTTO', '27/10 a las 20:55'),
                     (5, 'ESC PROV MANUEL BELGRANO', '27/10 a las 20:10'),
                     (5, 'ESCUELA J.M.PAZ', '27/10 a las 23:15'),
                     (5, 'INST. DE LOS SAGRADOS CORAZONE', '27/10 a las 20:15'),
                     (5, 'ESC DR BENJAMIN DUPON', '27/10 a las 22:00'),
                     (5, 'ESC.PROV. SAN LUIS', '27/10 a las 20:15'),
                     (5, 'I.P.E.M. N 219', '27/10 a las 21:45'),
                     (5, 'ESC.PROV.M.BELGRANO', '27/10 a las 22:20'),
                     (5, 'ESC.PROV.D.F. SARMIENT', '27/10 a las 22:55'),
                     (5, 'ESC.PROV. V. MERCANTE', '27/10 a las 19:10'),
                     (6, 'ESC.PROV. A.ARGENTINA', '27/10 a las 21:15'),
                     (6, 'ESC.PROV.D.F.SARMIENTO', '27/10 a las 21:30'),
                     (6, 'ESC.N.AVELLANEDA', '27/10 a las 20:20'),
                     (6, 'ESC.REP.DE BOLIVIA', '27/10 a las 21:40'),
                     (6, 'ESC PROV M R DE LA TORRE', '27/10 a las 23:20'),
                     (6, 'ESC.R.DE ESCALADA', '27/10 a las 20:20'),
                     (6, 'I.P.E.T. N 2', '27/10 a las 22:40'),
                     (6, 'ESC.PROV. 25 DE MAYO', '27/10 a las 23:00'),
                     (6, 'ESC.DR. J.BIANCO', '27/10 a las 19:45'),
                     (6, 'ESC.BME.MITRE', '27/10 a las 20:45'),
                     (6, 'INST. SEC. COM. SAN JOSE', '27/10 a las 19:20'),
                     (6, 'ESC PROV JOSE DE SAN MARTIN', '27/10 a las 19:20'),
                     (6, 'ESC.N.V.MERCANTE', '27/10 a las 21:55'),
                     (6, 'INSTITUTO SEC. GRAL PAZ', '27/10 a las 23:35'),
                     (6, 'ESC.PROV. LIBERTAD', '27/10 a las 20:10'),
                     (6, 'ESC.J.INGENIEROS', '27/10 a las 20:30'),
                     (6, 'ESC.PROV.J.V.GONZALEZ', '27/10 a las 21:30'),
                     (6, 'ESC.REP.DEL PARAGUAY', '27/10 a las 20:25'),
                     (6, 'IPEM N 322', '27/10 a las 21:20'),
                     (6, 'ESC.PROV.D.V.SARSFIELD', '27/10 a las 19:45'),
                     (6, 'ESC.PROV.M.GUEMES', '27/10 a las 21:10'),
                     (6, 'IPEM N275 EX COLEGIO NACIONAL', '27/10 a las 21:05'),
                     (6, 'ESC.PROV. 12 DE OCTUBR', '27/10 a las 20:25'),
                     (6, 'ESC.PROV.JOHN F.KENNEDY', '27/10 a las 20:10'),
                     (6, 'CENMA N 96', '27/10 a las 20:55'),
                     (6, 'ESC.PROV. ISLAS MALVINAS', '27/10 a las 19:10'),
                     (6, 'INSTITUTO DEL ROSARIO', '27/10 a las 20:25'),
                     (6, 'INSTITUTO INMAC.CONCEPCION', '27/10 a las 20:40'),
                     (6, 'ESC.PROV.GRAL SAN MARTIN', '27/10 a las 21:30'),
                     (6, 'ESC. A. CAPDEVILA', '27/10 a las 19:40'),
                     (6, 'ESC.COM.A.OCAMPO', '27/10 a las 22:05'),
                     (6, 'ESC ESTEBAN ECHEVERRIA', '27/10 a las 21:50'),
                     (6, 'ESCUELA J.MARMOL', '27/10 a las 20:05'),
                     (6, 'INSTITUTO SAN ANTONIO', '27/10 a las 19:25'),
                     (6, 'ESC PROV CMTE L PIEDRABUENA', '27/10 a las 19:25'),
                     (6, 'INST.LA SANTISIMA TRINIDAD', '27/10 a las 21:10'),
                     (6, 'ESC.M.BELGRANO', '27/10 a las 21:20'),
                     (7, 'ESC.PROV.FRAY M. ESQUIU', '27/10 a las 20:50'),
                     (7, 'ESC.AMANDA SUAREZ CORDOBA', '27/10 a las 21:15'),
                     (7, 'ESC.PROV.H.VIEYTES', '27/10 a las 20:40'),
                     (7, 'ESC.CIUDAD DE BS.AIRES', '27/10 a las 22:10'),
                     (7, 'ESC.M.J.G.DE BELGRANO', '27/10 a las 23:05'),
                     (7, 'ESC.PROV.J.V.RECLA', '27/10 a las 19:35'),
                     (7, 'ESC.PROV.GUIDO SPANO', '27/10 a las 19:35'),
                     (7, 'ESC.PROV.R. DE NICARAGUA', '27/10 a las 21:45'),
                     (7, 'ESC.PROV.M.BELGRANO', '27/10 a las 22:20'),
                     (7, 'ESC.PEDRO N.ARIAS', '27/10 a las 22:50'),
                     (7, 'ESC LIB GRAL SAN MARTI', '27/10 a las 19:35'),
                     (7, 'ESCUELA FERNANDO FADER', '27/10 a las 19:45'),
                     (7, 'ESC PROV GRAL M GUEMES', '27/10 a las 22:50'),
                     (7, 'ESC.PROV.D.V.SARSFIELD', '27/10 a las 23:00'),
                     (7, 'ESC.PROV. M.MORENO', '27/10 a las 21:10'),
                     (7, 'ESC,PROV.M.MARTINEZ DE SUAREZ', '27/10 a las 20:10'),
                     (7, 'ESCUELA FRAY GUILLERMO BUTLER', '27/10 a las 20:55'),
                     (7, 'ESC.PROV.GRAL SAN MARTIN', '27/10 a las 22:50'),
                     (7, 'ESC PROV JOAQUIN V GONZALEZ', '27/10 a las 19:40'),
                     (7, 'ESC.A.M.SOBRAL', '27/10 a las 23:00'),
                     (8, 'ESC.EL GRAN CAPITAN', '27/10 a las 22:50'),
                     (8, 'INST.TEC.ADRIAN P. URQUIA', '27/10 a las 22:50'),
                     (8, 'ESC.PROV.J.B.ALBERDI', '27/10 a las 22:10'),
                     (8, 'INST. G.L.DE CABRERA', '27/10 a las 21:05'),
                     (8, 'INST.NTA.M.DE LAS MERCEDES', '27/10 a las 20:50'),
                     (8, 'ESC.TTE. 1M.C.ASUA', '27/10 a las 21:55'),
                     (8, 'ESCUELA PROV.FRENCH Y BERUTTI', '27/10 a las 22:00'),
                     (8, 'ESC.MISIONEROS SALESIANOS', '27/10 a las 21:30'),
                     (8, 'ESC CARLOS MARIA DE ALVEAR', '27/10 a las 20:20'),
                     (8, 'ESC.MARTIN GUERRICO', '27/10 a las 20:30'),
                     (8, 'ESC.PROV.J.M.PAZ', '27/10 a las 21:45'),
                     (8, 'ESC.NAC.DE COMERCIO', '27/10 a las 22:05'),
                     (8, 'ESC TTE CNEL J DUATE ARDOY', '27/10 a las 21:55'),
                     (8, 'ESC.CAP. F.D.ZARCO', '27/10 a las 21:40'),
                     (8, 'ESC.PROV.D.F.SARMIENTO', '27/10 a las 19:15'),
                     (8, 'ESC,PROV.M.BELGRANO', '28/10 a las 00:20'),
                     (8, 'ESC.FRAY PIO BENTIVOGLIO', '27/10 a las 21:40'),
                     (8, 'ESC.FORTIN HEROICO', '27/10 a las 23:00'),
                     (8, 'INSTITUTO SEC. 25 DE MAYO', '27/10 a las 20:35'),
                     (8, 'ESC.PROV.MARTIN DE ALV', '27/10 a las 21:40'),
                     (8, 'ESC.SE\xc3\x91OR DE LA BUENA MUERTE', '27/10 a las 22:00'),
                     (8, 'ESC PROV DOMINGO F SARMIENTO', '27/10 a las 20:45'),
                     (8, 'ESC,PROV.E.F.OLMOS', '28/10 a las 00:10'),
                     (8, 'ESC DOMINGO F SARMIENTO', '27/10 a las 21:00'),
                     (8, 'ESC.PROV.GRAL SAN MARTIN', '27/10 a las 22:50'),
                     (8, 'INSTITUTO DR.M. BELGRANO', '27/10 a las 22:35'),
                     (9, 'INSTITUTO SEC. V.SARSFIELD', '27/10 a las 19:50'),
                     (9, 'ESC HIPOLITO IRIGOYEN', '27/10 a las 21:10'),
                     (9, 'ESC DE COMERCIO Y BACHILLERATO', '27/10 a las 23:00'),
                     (9, 'ESC.PROV.GRAL SAN MARTIN', '27/10 a las 21:10'),
                     (9, 'ESC JOSE MARIA PAZ', '27/10 a las 19:45'),
                     (9, 'ESC DALMACIO VELEZ SARSFIELD', '27/10 a las 19:15'),
                     (9, 'ESC NORMAL SUP DR M BELGRANO', '27/10 a las 23:00'),
                     (9, 'ESC.SEC.TOMAS THOMAS', '27/10 a las 21:55'),
                     (9, 'INST SEC ISLA VERDE', '28/10 a las 00:10'),
                     (9, 'ESCUELA BARTOLOME MITRE', '27/10 a las 20:05'),
                     (9, 'ESC.PROV.D.F.SARMIENTO', '27/10 a las 20:05'),
                     (9, 'COLEGIO SANTA JUANA DE ARCO', '27/10 a las 21:25'),
                     (9, 'ESCUELA VICTORIA OCAMPO', '27/10 a las 19:40'),
                     (9, 'ESC ROQUE SAENZ PE\xc3\x91A', '27/10 a las 19:25'),
                     (9, 'ESC PROV DOMINGO F SARMIENTO', '27/10 a las 20:50'),
                     (9, 'INST JOSE MARIA PAZ', '27/10 a las 22:45'),
                     (9, 'ESC BERNARDINO RIVADAVIA', '27/10 a las 23:00'),
                     (9, 'ESC R ESCALADA DE SAN MARTI', '27/10 a las 22:35'),
                     (9, 'ESC.PROV.GRAL SAN MARTIN', '27/10 a las 21:15'),
                     (9, 'ESC JOSE MANUEL ESTRADA', '27/10 a las 20:20'),
                     (9, 'ESC.R.ESCALADA DE SAN MARTIN', '27/10 a las 22:45'),
                     (9, 'COLEGIO NACIONAL', '27/10 a las 19:35'),
                     (9, 'ESC GENERAL SAN MART', '27/10 a las 20:40'),
                     (9, 'ESC 9 DE JULIO', '27/10 a las 19:30'),
                     (9, 'IPEM N151 J URBIZU', '27/10 a las 19:50'),
                     (9, 'ESC MARIANO MORENO', '27/10 a las 22:50'),
                     (9, 'IPEM N51 NICOLAS AVELLANEDA', '28/10 a las 00:10'),
                     (9, 'COLEGIO JUAN XXIII', '27/10 a las 21:10'),
                     (9, 'ESC JOAQUIN V GONZALE', '27/10 a las 19:20'),
                     (9, 'ESC MANUEL BELGRANO', '27/10 a las 20:20'),
                     (9, 'ESC.PROV.SGTO.CABRAL', '27/10 a las 22:50'),
                     (9, 'ESC LIB GRAL SAN MART', '27/10 a las 20:20'),
                     (9, 'COLEGIO SAGRADO CORAZON', '27/10 a las 23:00'),
                     (9, 'INSTITUTO MANUEL BELGRANO', '27/10 a las 20:35'),
                     (9, 'ESC JUAN BAUTISTA ALBERDI', '27/10 a las 22:40'),
                     (9, 'ESC.PROV.PAULA ALBARRACIN', '27/10 a las 20:10'),
                     (9, 'ESC MARIANO MORENO', '27/10 a las 23:05'),
                     (9, 'ESC NOR SUP MAESTROS ARGENTINO', '27/10 a las 21:05'),
                     (9, 'IPEM N256-LIB GRAL SAN MARTIN', '27/10 a las 19:55'),
                     (9, 'INST.SEC.GRAL J.M.PAZ', '27/10 a las 20:20'),
                     (10, 'ESC PROV COMTE ROSENDO LEAL', '27/10 a las 21:10'),
                     (10, 'ESC.SEC.J.L.DE CABRERA', '27/10 a las 21:05'),
                     (10, 'ESC.PROV.MONS.R. LEAL', '27/10 a las 20:55'),
                     (10, 'ESC PROV GREGORIA PEREZ', '27/10 a las 19:40'),
                     (10, 'ESC MIGUEL DE AZCUENAGA', '27/10 a las 21:00'),
                     (10, 'ESC.PROV.J.J.CASTELLI.', '27/10 a las 19:15'),
                     (10, 'ESC PROV JERONIMO CORTES', '27/10 a las 21:05'),
                     (10, 'ESC MARTIN MIGUEL DE GUEMES', '27/10 a las 19:45'),
                     (10, 'ESC.PROV.FRAY M.ESQUIU', '27/10 a las 21:00'),
                     (10, 'ESC.PROV.R.VERA PE\xc3\x91ALOZA', '27/10 a las 22:05'),
                     (10, 'ESC PRIMARIA JORGE LUIS BORGES', '27/10 a las 22:10'),
                     (10, 'ESC PROV NI\xc3\x91AS DE AYOHUMA', '27/10 a las 20:20'),
                     (10, 'ESC PROV GRAJ J DE SAN MARTIN', '27/10 a las 22:10'),
                     (10, 'ESC PROV ANGEL V PE\xc3\x91ALOZA', '27/10 a las 22:05'),
                     (11, 'ESC PROV MARIANO MORENO', '27/10 a las 22:05'),
                     (11, 'ESCUELA N157', '27/10 a las 20:15'),
                     (11, 'ESC ROQUE SAENZ PE\xc3\x91A', '27/10 a las 20:25'),
                     (11, 'ESC.PROV.L.LUGONES', '27/10 a las 21:30'),
                     (11, 'ESC GENERAL JOSE DE SAN MARTIN', '27/10 a las 20:15'),
                     (11, 'ESC R ESCALADA DE SAN MARTI', '27/10 a las 22:05'),
                     (11, 'ESC.PROV.M.BELGRANO', '27/10 a las 20:25'),
                     (11, 'ESC.PROV.D.FRENCH', '27/10 a las 20:40'),
                     (11, 'ESC.PROV. E.ECHEVERRIA', '27/10 a las 22:35'),
                     (12, 'INST SERVILIANO DIAZ', '27/10 a las 21:20'),
                     (12, 'ESC TTE GRAL JULIO A ROCA', '27/10 a las 23:00'),
                     (12, 'IPEM N142 JOAQUIN V GONZALEZ', '27/10 a las 21:25'),
                     (12, 'INST INDUSTRIAL CRISTO OBRERO', '27/10 a las 21:10'),
                     (12, 'COLEGIO SAN ROQUE', '27/10 a las 23:05'),
                     (12, 'ESC GRAL JOSE DE SAN MARTIN', '27/10 a las 21:55'),
                     (12, 'I.P.E.M N 200', '27/10 a las 21:15'),
                     (12, 'ESC INES MOYANO DE MOLINA', '27/10 a las 22:15'),
                     (12, 'UNIVERSIDAD TECNOLOGICA', '27/10 a las 21:05'),
                     (12, 'IPEM N84 J VOCOS LESCANO', '27/10 a las 23:15'),
                     (12, 'COLEGIO PARROQUIAL PIO XII', '27/10 a las 23:00'),
                     (12, 'ESC M E H DE GONZALEZ ELIZALDE', '27/10 a las 23:00'),
                     (12, 'ESC ISLA DE LOS ESTADOS', '27/10 a las 20:55'),
                     (12, 'EDIFICIO COMUNAL', '27/10 a las 21:15'),
                     (12, 'IPEM N 335', '27/10 a las 22:35'),
                     (12, 'ESC DR BIALET MASSE', '27/10 a las 23:00'),
                     (12, 'ESC ESP DR J REYES CONTRERAS', '27/10 a las 23:35'),
                     (12, 'ESC MATEO J MOLINA', '27/10 a las 22:30'),
                     (12, 'PRIMARIO JOSE DE SAN MARTIN', '27/10 a las 20:40'),
                     (12, 'ESC JUAN BAUTISTA AZOPARDO', '27/10 a las 20:40'),
                     (12, 'IPEM N 279', '27/10 a las 21:55'),
                     (12, 'IPEM N 339', '27/10 a las 21:00'),
                     (12, 'ESC DRA CECILIA GRIERSON', '27/10 a las 21:10'),
                     (12, 'ESC RICARDO BERNABE FERNANDEZ', '27/10 a las 20:50'),
                     (12, 'ESC.PROV.D. FRENCH', '27/10 a las 22:15'),
                     (12, 'IPEM N60 M MORENO(EX IPET 13)', '27/10 a las 23:00'),
                     (12, 'INSTITUTO GRAL SAN MARTIN', '27/10 a las 23:00'),
                     (12, 'INST ALFONSINA STORNI(EX IESS)', '27/10 a las 21:05'),
                     (12, 'ESC JUAN JOSE PASO', '27/10 a las 21:15'),
                     (12, 'INST.NTA.SRA. DEL CALVARIO', '27/10 a las 21:20'),
                     (12, 'ESC HOGAR ALBERTO MAGGI', '27/10 a las 20:15'),
                     (12, 'ESC P ALBARRACIN DE SARMIENTO', '27/10 a las 20:05'),
                     (12, 'ESC NICOLAS AVELLANED', '27/10 a las 21:35'),
                     (12, 'IPEM N 359-ANEXO', '27/10 a las 21:05'),
                     (12, 'INST. SEC. ORIENTACION REGIONA', '27/10 a las 23:15'),
                     (12, 'ESC ESP JUAN MANUEL FERNANDEZ', '27/10 a las 21:45'),
                     (12, 'ESC ESTEBAN ECHEVERRIA', '27/10 a las 21:10'),
                     (12, 'ESC CARLOS NICANDRO PAZ', '27/10 a las 21:50'),
                     (12, 'ESC MERCEDES S M DE BALCARCE', '27/10 a las 21:15'),
                     (12, 'LOCAL COMUNAL', '27/10 a las 21:30'),
                     (12, 'IPEM N157-PTE SARMIENT', '27/10 a las 23:35'),
                     (12, 'ESC JOSEFA MARIA BUSTOS', '27/10 a las 21:10'),
                     (12, "INST BERNARDO D'ELIA", '27/10 a las 20:55'),
                     (12, 'IPEM 348', '27/10 a las 21:20'),
                     (12, 'ESC DR JERONIMO J DEL BARCO', '27/10 a las 23:00'),
                     (12, 'ESC BERNARDINO RIVADAVIA', '27/10 a las 21:15'),
                     (12, 'ESC AERONAUTICA ARGENTIN', '27/10 a las 21:25'),
                     (12, 'INST BILINGUE DANTE ALIGHIERI', '27/10 a las 20:45'),
                     (12, 'ESC DOMINGO FAUSTINO SARMIENTO', '27/10 a las 23:15'),
                     (12, 'ESC GRAL JOSE DE SAN MARTIN', '27/10 a las 21:25'),
                     (12, 'COL JUANA MICONO DE GIARDIN', '27/10 a las 22:30'),
                     (12, 'ESC PRESIDENTE SARMIENTO', '27/10 a las 21:00'),
                     (12, 'LOCAL COMUNAL', '27/10 a las 21:15'),
                     (12, 'IPEM N 332', '27/10 a las 21:35'),
                     (12, 'ESC NORMAL SUP R SAENZ PE\xc3\x91A', '27/10 a las 23:00'),
                     (12, 'ESC JOSE MARIA PAZ', '27/10 a las 21:25'),
                     (12, 'INST R ESCALADA DE SAN MART', '27/10 a las 21:10'),
                     (12, 'EDIFICIO COMUNAL', '27/10 a las 21:15'),
                     (13, 'ESC DOMINGO FAUSTINO SARMIENTO', '27/10 a las 20:30'),
                     (13, 'ESC PROVINCIA SANTA CRUZ', '27/10 a las 22:05'),
                     (13, 'ESC.PROV.C.SAAVEDRA', '27/10 a las 22:45'),
                     (13, 'ESC.PROV.J.M.PAZ', '27/10 a las 21:50'),
                     (13, 'IPEMN 26 JUAN FILLOY', '27/10 a las 21:30'),
                     (13, 'ESC ALTE BROWN', '27/10 a las 21:15'),
                     (13, 'INSTPABLO ANTONIO PIZZURNO', '27/10 a las 21:55'),
                     (13, 'ESC JOSE MARIA PAZ', '27/10 a las 21:50'),
                     (13, 'ESC VICTOR MERCANTE', '27/10 a las 21:45'),
                     (13, 'ESC PROV JOSE DE SAN MARTIN', '27/10 a las 20:15'),
                     (13, 'ESC GUIDO SPANO', '27/10 a las 22:15'),
                     (13, 'ESC ARZOBISPO ANTONIO ESPINOSA', '27/10 a las 21:05'),
                     (13, 'ESC MANUEL BELGRANO', '27/10 a las 20:40'),
                     (13, 'ESC R ESCALADA DE SAN MARTI', '27/10 a las 20:20'),
                     (13, 'ANGELES CUSTODIOS/ SAGRADA FLIA', '27/10 a las 20:45'),
                     (13, 'ESC SUBTTE RODOLFO H BERDINA', '27/10 a las 20:30'),
                     (13, 'ESC.C.G. DE REZZANO', '27/10 a las 21:10'),
                     (13, 'ESC NICOLAS AVELLANED', '27/10 a las 21:45'),
                     (13, 'ESC FLORENTINO AMEGHINO', '27/10 a las 20:55'),
                     (13, 'ESCUELA PIAS', '27/10 a las 22:10'),
                     (13, 'ESC PROV DOMINGO F SARMIENTO', '27/10 a las 21:05'),
                     (13, 'ESC REPUBLICA DEL URUGUAY', '27/10 a las 21:05'),
                     (13, 'ESC.S.R.DE ZAVALIA', '27/10 a las 22:45'),
                     (13, 'ESC ANTONIO SOBRAL', '27/10 a las 19:20'),
                     (13, 'COLEGIO MARIA BENITA ARIAS', '27/10 a las 20:30'),
                     (13, 'ESCUELA GRAL ROCA', '27/10 a las 20:30'),
                     (13, 'ESC.SAN JUAN BOSCO', '27/10 a las 20:25'),
                     (13, 'ESC PERITO FRANCISCO MORENO', '27/10 a las 22:45'),
                     (13, 'INSTITUTO PARROQ.BERROTARAN', '27/10 a las 21:45'),
                     (13, 'ESC R ESCALADA DE SAN MARTI', '27/10 a las 21:55'),
                     (13, 'ESC GRAL NAPOLEON URIBURU', '27/10 a las 22:10'),
                     (13, 'ESC CAP DE NAV S ALBARRACIN', '27/10 a las 22:15'),
                     (13, 'E.N.E.T. N 1', '27/10 a las 20:40'),
                     (13, 'ESC.PROV.J.M.ESTRADA', '27/10 a las 19:30'),
                     (13, 'ESC DR ADOLFO ALSINA', '27/10 a las 21:45'),
                     (13, 'INST SEC LA ASUNCION DE MARIA', '27/10 a las 19:45'),
                     (13, 'ESC.ALBERGUE J.HERNANDEZ', '27/10 a las 20:50'),
                     (13, 'ESC.PROV.M.BELGRANO', '27/10 a las 20:40'),
                     (13, 'DICHIARA-EX ESC.GRAL S.MARTIN', '27/10 a las 20:50'),
                     (13, 'COLEGIO GALILEO GALILE', '27/10 a las 20:20'),
                     (13, 'INSTITUTO ADELIA MARIA', '27/10 a las 19:30'),
                     (13, 'IPEM N95 M SANCHEZ DE THOMPSO', '27/10 a las 20:25'),
                     (13, 'ESC JOSE DE SAN MARTIN', '27/10 a las 20:05'),
                     (13, 'ESC CAP DE FRAGATA MOYANO', '27/10 a las 22:45'),
                     (13, 'ESC GRAL JUSTO S ANAYA', '27/10 a las 21:30'),
                     (13, 'ESC BARTOLOME MITRE', '27/10 a las 20:40'),
                     (13, 'ESC JOSE DE SAN MARTIN', '27/10 a las 20:50'),
                     (13, 'IPEM N 119 NESTOR ZARAZAGA', '27/10 a las 21:55'),
                     (13, 'ESC.FRAY M.ALVAREZ', '27/10 a las 19:50'),
                     (13, 'ESC LEONILA DE LAS M LEMOS', '27/10 a las 21:35'),
                     (13, 'ESC FRAY MARCOS DONATTI', '27/10 a las 22:45'),
                     (13, 'ESC.NORM.NAC.MIXTA', '27/10 a las 21:05'),
                     (13, 'ESC.NORMAL COMERCIAL', '27/10 a las 20:45'),
                     (13, 'ESCUELA N359', '27/10 a las 20:25'),
                     (13, 'COL MERCEDES DEL NI\xc3\x91O JESUS', '27/10 a las 20:40'),
                     (13, 'ESC RICARDO GUTIERREZ', '27/10 a las 20:15'),
                     (13, 'ESC JORGE ALEHANDRO NEWBERY', '27/10 a las 22:00'),
                     (13, 'ESCUELA N17', '27/10 a las 19:10'),
                     (13, 'ESCUELA GENERAL PAZ', '27/10 a las 20:10'),
                     (13, 'COLEGIO HISPANO ARGENTINO', '27/10 a las 21:25'),
                     (13, 'ESC GENERAL SAN MART', '27/10 a las 22:50'),
                     (13, 'CNMA 24-ANEXO PCIA STA CRUZ', '27/10 a las 20:50'),
                     (13, 'ESC PROV JOSE DE SAN MARTIN', '27/10 a las 20:40'),
                     (13, 'INST JUAN PASCUAL PRINGLES', '27/10 a las 22:10'),
                     (13, 'INST LANTERIANO LA MERCED', '27/10 a las 21:15'),
                     (13, 'ESC 21 DE JULIO', '27/10 a las 21:05'),
                     (13, 'ESC.PROV.R.E.DE SAN MARTIN', '27/10 a las 20:20'),
                     (13, 'ESC PROV BERNARDINO RIVADAVIA', '27/10 a las 21:10'),
                     (13, 'ESC PROV GRAL J DE SAN MARTIN', '27/10 a las 20:55'),
                     (13, 'ESC.PROV.J.DE SAN MARTIN', '27/10 a las 21:50'),
                     (13, 'IPEM N94 DOLORES L DE LAVALLE', '27/10 a las 20:05'),
                     (13, 'INST SAN BUENAVENTURA', '27/10 a las 20:25'),
                     (13, 'ESC VELEZ SARSFIELD', '27/10 a las 20:15'),
                     (13, 'INST SUP RAMON MENENDEZ PIDAL', '27/10 a las 21:45'),
                     (13, 'ESC PROV JOSE DE SAN MARTIN', '27/10 a las 21:00'),
                     (13, 'JARD INF JORGE A NEWBERY', '27/10 a las 21:30'),
                     (13, 'ESC NICOLAS AVELLANED', '27/10 a las 20:45'),
                     (13, 'COL NTRA SRA DEL CARMEN', '27/10 a las 21:25'),
                     (13, 'ESC SAN MARTIN', '27/10 a las 21:55'),
                     (14, 'ESC.PROV.J.DE SAN MARTIN', '28/10 a las 00:25'),
                     (14, 'ESC PROV FRAY MAMERTO ESQUIU', '27/10 a las 23:05'),
                     (14, 'ESC.PROV.D.F.SARMIENTO', '27/10 a las 20:55'),
                     (14, 'IPEM N228-SAN ISIDRO LABRADOR', '27/10 a las 21:05'),
                     (14, 'ESCUELA N315', '27/10 a las 20:35'),
                     (14, 'ESC.PROV.J.M.PAZ', '28/10 a las 00:35'),
                     (14, 'ESC.PROV.1ER.GOBIERNO PATRIO', '27/10 a las 20:25'),
                     (14, 'ESC PROV JOSE MANUEL ESTRADA', '27/10 a las 21:20'),
                     (14, 'ESCUELA 25 DE MAYO', '27/10 a las 23:05'),
                     (14, 'ESC.JORGE NEWBERY', '27/10 a las 19:45'),
                     (14, 'ESC.PROV.M.MORENO', '27/10 a las 20:10'),
                     (14, 'ESCUELA N411', '27/10 a las 19:50'),
                     (14, 'ESC.PROV.M.BELGRANO', '27/10 a las 20:00'),
                     (14, 'ESC M.C.CALDECOT DE ARGUELLO', '27/10 a las 23:05'),
                     (14, 'ESC DOMINGO F SARMIENTO', '27/10 a las 20:45'),
                     (14, 'EX-ESCUELA N279', '27/10 a las 20:40'),
                     (14, 'ESC.R.E.DE SAN MARTIN', '27/10 a las 21:00'),
                     (14, 'ESC.PROV.J.M.PAZ', '28/10 a las 00:30'),
                     (14, 'ESC PBRO JOSE G BROCHERO', '27/10 a las 23:15'),
                     (14, 'ESC PROV JOAQUIN V GONZALEZ', '27/10 a las 20:35'),
                     (14, 'ESC DALMIRA MURO(EX DEL CHACO)', '27/10 a las 23:00'),
                     (14, 'ESC PROV JUAN JOSE PASO', '27/10 a las 21:45'),
                     (14, 'ESC JOSE MARIA PAZ', '27/10 a las 19:15'),
                     (14, 'MARGARITA V LUDUE\xc3\x91A DE LAZO', '27/10 a las 23:05'),
                     (14, 'ESC GRAL JOSE DE SAN MARTIN', '27/10 a las 21:55'),
                     (14, 'INST MONSE\xc3\x91OR ESQUIU', '27/10 a las 20:25'),
                     (14, 'ESC PROV DOMINGO F SARMIENTO', '28/10 a las 00:25'),
                     (14, 'INSTITUTO EL SALVADOR', '27/10 a las 23:15'),
                     (14, 'ESC PROV MARTIN GUEMES', '27/10 a las 21:40'),
                     (14, 'ESCUELA N111', '27/10 a las 21:00'),
                     (14, 'ESC.PROV.GRAL SAN MARTIN', '27/10 a las 23:10'),
                     (14, 'ESC MAEST F BELLORA DE DAVILA', '27/10 a las 21:00'),
                     (14, 'ESCUELA MAESTRO DOMINGO NOGAL', '27/10 a las 21:20'),
                     (14, 'IPEM N 164 ATALIVA HERRERA', '27/10 a las 20:35'),
                     (14, 'ESC MARIANO FRAGUEIR', '27/10 a las 21:20'),
                     (14, 'ESCUELA R.GUTIERREZ', '27/10 a las 20:25'),
                     (14, 'ESC PROV R SAENZ PE\xc3\x91A', '27/10 a las 21:30'),
                     (15, 'ESC.PROV.C.SAAVEDRA', '27/10 a las 22:25'),
                     (15, 'ESC JOSE DE SAN MARTIN', '27/10 a las 20:25'),
                     (15, 'ESC PRO MARTIN GUEMES', '27/10 a las 22:25'),
                     (15, 'ESC PROV LUCIANO ARGUELLO', '27/10 a las 21:30'),
                     (15, 'ESC PROV PRIMERA JUNT', '27/10 a las 21:45'),
                     (15, 'IPEM 224-LEOPOLDO LUGONES', '27/10 a las 22:25'),
                     (15, 'ESC.PROV.D.F.SARMIENTO', '27/10 a las 21:45'),
                     (15, 'ESC PROV G MARTINEZ PIZARRO', '27/10 a las 00:01'),
                     (15, 'ESC GRAL SAN MARTIN', '27/10 a las 22:25'),
                     (15, 'ESC PROV LEOPOLDO LUGONES', '27/10 a las 22:25'),
                     (15, 'ESC.PROV.CNEL.F.DE BEDOYA', '27/10 a las 22:30'),
                     (15, 'ESC PROV ING FEDERICO NEHHER', '27/10 a las 21:10'),
                     (15, 'ESC PROV GENERAL PAZ', '27/10 a las 21:45'),
                     (15, 'ESC PROV GUILLERMO BROWN', '27/10 a las 22:30'),
                     (15, 'ESC.PROV. CNEL. A.H.CARPANI', '27/10 a las 22:00'),
                     (16, 'COLEGIO ENS.SECUNDARIA', '27/10 a las 19:45'),
                     (16, 'ESC GRAL JOSE DE SAN MARTIN', '27/10 a las 21:05'),
                     (16, 'ESC GENERAL SAN MARTI', '27/10 a las 22:00'),
                     (16, 'ESCUELA RECONQUISTA', '27/10 a las 22:20'),
                     (16, 'ESC PROV SEMANA DE MAYO', '27/10 a las 19:45'),
                     (16, 'ESC JOSE MARIA PAZ', '27/10 a las 20:40'),
                     (16, 'C.E.N.M.A. N 161', '27/10 a las 21:55'),
                     (16, 'INST GRAL JOSE MARIA PAZ', '27/10 a las 22:50'),
                     (16, 'ESC ZENON LOPEZ', '27/10 a las 21:00'),
                     (16, 'ESC CONGRESO DE TUCUMAN', '27/10 a las 22:05'),
                     (16, 'ESC.PROV.M.BELGRANO', '27/10 a las 20:45'),
                     (16, 'ESCUELA N57', '27/10 a las 23:00'),
                     (16, 'ESC FRANCISCO MALBRA', '27/10 a las 22:00'),
                     (16, 'ESC MARQUES DE SOBREMONTE', '27/10 a las 22:10'),
                     (16, 'ESC LIB GRAL SAN MARTI', '27/10 a las 21:20'),
                     (16, 'ESC DE COM L LUGONES(IPEM 158)', '27/10 a las 20:50'),
                     (16, 'IPEM N108-C G DE REZZANO', '27/10 a las 22:30'),
                     (16, 'I.P.E.A.(IPEM231 TORAZO)', '27/10 a las 19:45'),
                     (16, 'ESC JUAN BAUTISTA BUSTOS', '28/10 a las 00:10'),
                     (16, 'IPEM N156 JOSE M ESTRADA', '27/10 a las 21:15'),
                     (16, 'ESCUELA NARCISO LAPRIDA', '27/10 a las 21:30'),
                     (16, 'ESC PROV JERONIMO L DE CABRERA', '27/10 a las 20:45'),
                     (16, 'ESC PROV NICOLAS AVELLANEDA', '27/10 a las 23:10'),
                     (16, 'COLEGIO SAN JOSE', '27/10 a las 23:35'),
                     (16, 'ESC BERNARDINO RIVADAVIA', '27/10 a las 21:55'),
                     (16, 'J DE INF EMILIO F OLMOS', '27/10 a las 23:00'),
                     (16, 'ESC PRIMER GOBIERNO PATRIO', '27/10 a las 21:45'),
                     (16, 'ESC.PROV.D.F.SARMIENTO', '27/10 a las 20:15'),
                     (16, 'ESC MARIA J GONZALEZ CASEROS', '27/10 a las 20:45'),
                     (16, 'ESC CORONEL PRINGLES', '27/10 a las 23:10'),
                     (16, 'ESC PROV PTE JULIO ROCA', '27/10 a las 20:30'),
                     (16, 'ESC.PROV.D.F.SARMIENTO', '27/10 a las 21:50'),
                     (16, 'ESC MARIANO MORENO', '27/10 a las 21:10'),
                     (16, 'ESC NARCISO LAPRIDA', '27/10 a las 22:00'),
                     (16, 'IPEM N54 J E MULLER', '27/10 a las 21:45'),
                     (16, 'ESC VICTOR MERCANTE', '27/10 a las 22:10'),
                     (16, 'IPEM N 300', '27/10 a las 22:50'),
                     (16, 'INST CARLOS PELLEGRIN', '27/10 a las 20:10'),
                     (16, 'ESC PROV ESTANISLAO DEL CAMPO', '27/10 a las 23:05'),
                     (17, 'I.P.E.M. 278-M.ARGENTINAS', '27/10 a las 21:00'),
                     (17, 'ESC.PROV.P.B.PALACIOS', '27/10 a las 21:05'),
                     (17, 'IPEM 257 DR RENE FAVALORO', '27/10 a las 21:55'),
                     (17, 'ESC GRAL NICOLAS LEVALLE', '27/10 a las 23:40'),
                     (17, 'ESC GRAL CONRADO VILLEGAS', '27/10 a las 21:45'),
                     (17, 'ESC.PROV.GRAL SAN MARTIN', '27/10 a las 19:30'),
                     (17, 'ESC JUAN PASCUAL PRINGLES', '27/10 a las 19:45'),
                     (17, 'ESC DR VIRGILIO BARBALATO', '27/10 a las 20:55'),
                     (17, 'ESC LEONOR DE TEJEDA', '27/10 a las 20:35'),
                     (17, 'INS SAN ALBERTO Y SAN ENRIQUE', '27/10 a las 22:05'),
                     (17, 'ESC VICTIRIANO RODRIGUEZ', '28/10 a las 00:30'),
                     (17, 'ESC.PROV.L.PASTEUR', '27/10 a las 21:15'),
                     (17, 'COLEGIO SAN JOSE', '27/10 a las 21:55'),
                     (17, 'ESCUELA N105(JOSE RUBIROLA)', '27/10 a las 21:15'),
                     (17, 'ESC N78-PINTOR JUAN M BLANES', '27/10 a las 21:15'),
                     (17, 'ESC RAUL SOULE(EX NAC N241)', '27/10 a las 19:25'),
                     (18, 'ESC.PROV.M.DE AZCUENAGA', '27/10 a las 20:15'),
                     (18, 'ESCUELA 20 DE JUNIO', '27/10 a las 19:50'),
                     (18, 'ESC MARCELO T DE ALVEAR', '27/10 a las 21:30'),
                     (18, 'ESC JOSE GABRIEL BROCHERO', '27/10 a las 23:00'),
                     (18, 'ESC.PROV.M.BELGRANO', '27/10 a las 21:10'),
                     (18, 'ESC MAESTRO D F SARMIENTO', '27/10 a las 23:00'),
                     (18, 'ESC CNEL AGUSTIN A OLMEDO', '27/10 a las 22:20'),
                     (18, 'ESC.PROV.FRAY J.M.NOGA', '27/10 a las 23:00'),
                     (18, 'ESC PROV CEFERINO NAMUNCURA', '27/10 a las 21:30'),
                     (18, 'ESC PROV JUAN MARTIN RECALDE', '27/10 a las 19:45'),
                     (18, 'ESC.P.PIZZURNO', '27/10 a las 20:40'),
                     (18, 'IPEM N 285-J G BROCHERO', '27/10 a las 21:15'),
                     (18, 'ESC PROV MARIO REMORINO', '27/10 a las 20:15'),
                     (18, 'ESC PROV JUAN P PRINGLES', '27/10 a las 23:00'),
                     (18, 'ESC J V LOPEZ(EX-NAC N493)', '27/10 a las 21:00'),
                     (18, 'ESC.PROV.GUIDO SPANO', '27/10 a las 19:40'),
                     (18, 'ESC TOMAS DE IRIARTE', '27/10 a las 20:50'),
                     (18, 'IPEM 135-DON JOSE F RECALDE', '27/10 a las 21:20'),
                     (18, 'ESC.PROV.FRAY L.BELTRAN', '27/10 a las 20:20'),
                     (18, 'IPEM N 344', '27/10 a las 21:20'),
                     (18, 'ESC.PROV.M.A DE CARRANZA PREGO', '27/10 a las 20:20'),
                     (18, 'ESC GRAL JOSE DE SAN MARTIN', '27/10 a las 21:55'),
                     (18, 'ESC CNEL OLMEDO', '27/10 a las 22:30'),
                     (18, 'ESC.PROV.D.F.SARMIENTO', '27/10 a las 21:15'),
                     (18, 'ESC MAESTRO H GALABURRI', '27/10 a las 21:50'),
                     (19, 'ESC PROV NARCISO LAPRIDA', '27/10 a las 21:10'),
                     (19, 'ESC PROV JUAN JOSE PASO', '27/10 a las 23:35'),
                     (19, 'ESC GENERAL SAN MARTI', '27/10 a las 22:15'),
                     (19, 'ESC.PROV.EMILIO F.OLMOS', '27/10 a las 23:00'),
                     (19, 'ESC DOLORES AGUIRRE DE FUNES', '27/10 a las 22:10'),
                     (19, 'ESC GENERAL BARTOLOME MITRE', '27/10 a las 21:15'),
                     (19, 'ESC MARIANO MORENO', '27/10 a las 22:15'),
                     (19, 'ESC MAGDALENA T DE CHARLES', '27/10 a las 21:15'),
                     (19, 'ESC MANUEL BELGRANO', '27/10 a las 21:40'),
                     (19, 'ESC GENERAL SAN MARTI', '27/10 a las 21:10'),
                     (19, 'INST JUAN BAUTISTA ALBERDI', '27/10 a las 23:00'),
                     (19, 'ESC GENERAL SAN MARTI', '27/10 a las 20:55'),
                     (19, 'INST PBRO J V BRIZUELA', '27/10 a las 20:10'),
                     (19, 'ESC LEOPOLDO LUG0NES', '27/10 a las 21:10'),
                     (19, 'COLEGIO SAGRADO CORAZON', '27/10 a las 20:45'),
                     (19, 'ESCUELA PROVINCIAL', '27/10 a las 20:50'),
                     (19, 'ESC PROV JOSE M PAZ', '27/10 a las 23:00'),
                     (19, 'ESC.NORMAL SARSFIELD', '27/10 a las 21:10'),
                     (19, 'ESC JOSE DE SAN MARTIN', '27/10 a las 21:10'),
                     (19, 'ESC C CENTENARIO-IPEM N 146', '27/10 a las 22:15'),
                     (19, 'ESC EMILIO FELIPE OLMO', '27/10 a las 21:15'),
                     (19, 'ESC.PROV.J.M.ESTRADA', '27/10 a las 20:55'),
                     (20, 'ESC JOSE MANUEL ESTRADA', '27/10 a las 23:35'),
                     (20, 'ESCUELA N349', '27/10 a las 19:10'),
                     (20, 'ESC PROV DOMINGO F SARMIENTO', '27/10 a las 20:15'),
                     (20, 'ESC.PROV.J.M.ESTRADA', '27/10 a las 20:50'),
                     (20, 'COLEGIO NACIONAL MIXTO', '27/10 a las 23:05'),
                     (20, 'ESC GENERAL MITRE', '27/10 a las 20:55'),
                     (20, 'ESC JOSE MARIA PAZ', '27/10 a las 21:10'),
                     (20, 'ESC JOSE MARIA PAZ', '27/10 a las 22:45'),
                     (20, 'ESC.PROV.M.MORENO', '27/10 a las 19:45'),
                     (20, 'ESC FLORENTINO AMEGHINO', '27/10 a las 20:00'),
                     (20, 'ESCUELA GRAL PAZ', '27/10 a las 20:15'),
                     (20, 'INST BERNARDINO RIVADAVIA', '27/10 a las 23:05'),
                     (20, 'ESCUELA N AVELLANEDA', '27/10 a las 21:20'),
                     (20, 'ESC PROV R GUTIERREZ', '27/10 a las 22:10'),
                     (20, 'ESC PROV ALTE GUILLERMO BROWN', '27/10 a las 21:25'),
                     (20, 'ESC PROV DOMINGO F SARMIENTO', '27/10 a las 23:05'),
                     (20, 'ESC PROV DAMAS PATRICIAS', '27/10 a las 19:40'),
                     (20, 'INST SEC MANUEL DORREGO', '27/10 a las 19:45'),
                     (20, 'INST MANUEL BELGRANO', '27/10 a las 19:30'),
                     (20, 'COL SAN FCO DE ASIS', '27/10 a las 20:35'),
                     (20, 'ESC FRAY CAYETANO RODRIGUEZ', '27/10 a las 21:00'),
                     (20, 'COLEGIO MANUEL BELGRANO', '27/10 a las 21:45'),
                     (20, 'ESC PROV JOSE MARIA PA', '27/10 a las 20:25'),
                     (20, 'IPEM N287-L LUGONES', '27/10 a las 20:40'),
                     (20, 'ESC D VELEZ SARSFIELD', '27/10 a las 23:10'),
                     (20, 'COL SUP SAN MARTIN', '27/10 a las 21:55'),
                     (20, 'ESC PROV 9 DE JULIO', '27/10 a las 20:00'),
                     (20, 'INST DR D VELEZ SARSFIELD', '27/10 a las 21:05'),
                     (20, 'ESC CONGRESO DE TUCUMAN', '27/10 a las 19:55'),
                     (20, 'ESC PROV RAMON J CARCANO', '27/10 a las 19:10'),
                     (20, 'ESC BERNARDINO RIVADAVIA', '27/10 a las 22:30'),
                     (20, 'ESC PROV 9 DE JULIO', '27/10 a las 20:50'),
                     (20, 'ESCUELA RAFAEL NU\xc3\x91EZ', '27/10 a las 22:00'),
                     (20, 'COL MARIA AUXILIADORA', '27/10 a las 21:00'),
                     (20, 'ESC VICENTE LOPEZ Y PLANES', '27/10 a las 20:50'),
                     (20, 'ESC PROV L DE LA TORRE', '27/10 a las 23:05'),
                     (20, 'ESC PROV MARIANO MORENO', '27/10 a las 23:00'),
                     (20, 'ESC.REP DEL PARAGUAY', '27/10 a las 22:50'),
                     (20, 'ESCUELA ITUZAINGO', '27/10 a las 19:15'),
                     (20, 'COLEGIO SAGRADO CORAZON', '27/10 a las 20:35'),
                     (20, 'ESC.PROV.RECONQUISTA', '27/10 a las 23:05'),
                     (20, 'ESC 25 DE MAYO', '27/10 a las 22:05'),
                     (20, 'IPEM N166 CAP G DEL VALLE', '27/10 a las 20:15'),
                     (20, 'ESC PROV MARIANO MORENO', '27/10 a las 20:50'),
                     (20, 'ESCUELA CRISTO REY', '27/10 a las 23:05'),
                     (20, 'ESCUELA 2 DE ABRIL', '27/10 a las 21:55'),
                     (20, 'ESC.PROV.J.DE SAN MARTIN', '27/10 a las 19:10'),
                     (20, 'ESCUELA N198(ESC GIMENEZ LAGO', '27/10 a las 21:25'),
                     (20, 'ESC CARLOS J FLORIT', '27/10 a las 21:45'),
                     (20, 'ESC THOMAS ALVA EDISO', '27/10 a las 22:45'),
                     (20, 'ESC BARTOLOME MITRE', '27/10 a las 22:30'),
                     (20, 'ESC PROV SANTIAGO DERQUI', '27/10 a las 21:35'),
                     (20, 'ESC JOSE BERRNARDO ITURRASPE', '27/10 a las 22:00'),
                     (20, 'ESC PABLO JULIO RODRIGUEZ', '27/10 a las 22:45'),
                     (20, 'ESC PROV CHACABUCO', '27/10 a las 22:45'),
                     (20, 'ESC PROV NICOLAS AVELLANEDA', '27/10 a las 19:30'),
                     (20, 'ESC PROV GRAL SAN MARTIN', '27/10 a las 19:30'),
                     (20, 'ESC PROV PRIMERA JUNT', '27/10 a las 23:00'),
                     (20, 'ESCUELA PRIMERA JUNTA', '27/10 a las 21:00'),
                     (20, 'ESC MANUEL BELGRANO', '27/10 a las 20:30'),
                     (20, 'ESCUELA NAC. DE COMERCIO', '27/10 a las 21:50'),
                     (20, 'COL STA TERESITA DEL N JESUS', '27/10 a las 22:45'),
                     (20, 'ESC NORM SUP D VELEZ SARSFIELD', '27/10 a las 21:00'),
                     (20, 'ESC BERNARDINO RIVADAVIA', '27/10 a las 23:05'),
                     (20, 'ESCUELA RIO NEGRO', '27/10 a las 21:55'),
                     (20, 'ESCUELA N149(HOY:JOSE SEEBER)', '27/10 a las 21:55'),
                     (20, 'CERVELLON/NTRA S DE LA MERCED', '27/10 a las 22:45'),
                     (20, 'ESC DOMINGO F SARMIENTO', '27/10 a las 21:55'),
                     (20, 'INST COM SEC LA FRANC', '27/10 a las 23:00'),
                     (20, 'ESC CONSTANCIO LUXARDO', '27/10 a las 19:20'),
                     (20, 'ESC.PROV.AYACUCHO', '27/10 a las 20:40'),
                     (20, 'ESC DOMINGO F SARMIENTO', '27/10 a las 21:00'),
                     (20, 'INST JUAN BAUTISTA ALBERDI', '27/10 a las 19:10'),
                     (20, 'ESCUELA PROV. ANTONIO SOBRAL', '27/10 a las 19:10'),
                     (20, 'ESC MARGARITA LA TORRE MERCADO', '27/10 a las 20:55'),
                     (20, 'ESC.PROV.J.L.DE CABRER', '27/10 a las 21:20'),
                     (20, 'ESC N AVELLANEDA(IPEM N50)', '27/10 a las 21:35'),
                     (20, 'ESC PTE HIPOLITO IRIGOYEN', '27/10 a las 21:55'),
                     (21, 'ESC COMANDANTE ESPORA', '27/10 a las 20:30'),
                     (21, 'ESC SANTIAGO DE LINIERS', '27/10 a las 23:35'),
                     (21, 'ESC PROV B DE MONTEAGUDO', '27/10 a las 22:45'),
                     (21, 'ESC PROV FRAY J S MARIA DE ORO', '27/10 a las 21:50'),
                     (21, 'INST SUP ANGLO AMERICANO', '27/10 a las 22:45'),
                     (21, 'LOCAL COMUNAL', '27/10 a las 21:20'),
                     (21, 'ESC PROV OLEGARIO V ANDRADE', '27/10 a las 20:20'),
                     (21, 'ESC.PROV.J.V.GONZALEZ', '27/10 a las 20:55'),
                     (21, 'I.P.E.M. N 298', '27/10 a las 22:50'),
                     (21, 'ESC.PROV.J.HERNANDEZ', '27/10 a las 21:05'),
                     (21, 'ESC.PROV.B.RIVADAVIA', '27/10 a las 20:20'),
                     (21, 'ESC PROV JUAN B ALBERD', '27/10 a las 22:05'),
                     (21, 'ESC VICTOR MERCANTE', '27/10 a las 22:40'),
                     (21, 'IPEM N 118-JUANA AZURDUY', '27/10 a las 23:30'),
                     (21, 'ESC.PROV.FRENCH Y BERUTTI', '27/10 a las 21:55'),
                     (21, 'ESC MARTIN M DE GUEME', '27/10 a las 20:55'),
                     (21, 'ESC NAC NORM SUP ALTA GRACIA', '27/10 a las 22:45'),
                     (21, 'ESC GENERAL MANUEL BELGRANO', '27/10 a las 21:05'),
                     (21, 'INSTITUTO PRIVADO PIO X', '27/10 a las 22:45'),
                     (21, 'ESC.PROV.J.B.CABRAL', '27/10 a las 20:30'),
                     (21, 'ESCUELA CURA ELEODORO FIERRO', '27/10 a las 21:40'),
                     (21, 'LOCAL COMUNAL', '27/10 a las 21:40'),
                     (21, 'ESC PROV MANUEL BELGRANO', '27/10 a las 22:45'),
                     (21, 'BACHILLERATO REINO DE ESPA\xc3\x91A', '27/10 a las 21:55'),
                     (21, 'INST EL OBRAJE (ARRIBA', '27/10 a las 22:40'),
                     (21, 'ESC VICENTE LOPEZ Y PLANES', '27/10 a las 21:15'),
                     (21, 'ESC DR FLORENTINO F BUSTOS', '27/10 a las 21:00'),
                     (21, "ESC.DELL'ARMELLINA", '27/10 a las 20:40'),
                     (21, 'ESCUELA SAN MARTIN', '27/10 a las 22:45'),
                     (21, 'ESC PROV CATALINA E DE BARON', '27/10 a las 19:40'),
                     (21, 'ESC PROV 25 DE MAYO', '27/10 a las 22:45'),
                     (21, 'ESC.PROV.M.MORENO', '27/10 a las 20:35'),
                     (21, 'ESCUELA JOSE MARIA PA', '27/10 a las 20:35'),
                     (21, 'ESC PROV DOMINGO F SARMIENTO', '27/10 a las 20:55'),
                     (21, 'I.P.E.M.67-L.PIEDRABUENA', '27/10 a las 22:45'),
                     (21, 'INST DE LA MISERICORDIA', '27/10 a las 22:40'),
                     (21, 'ESC PROV DOMINGO F SARMIENTO', '27/10 a las 19:25'),
                     (21, 'ESC.PR0V.J.M.ESTRADA', '27/10 a las 20:30'),
                     (21, 'ESC IPEM 32-EST POT DE GARAY', '27/10 a las 21:20'),
                     (21, 'ESC REPUBLICA ITALIANA', '27/10 a las 22:50'),
                     (21, 'IPET N 118 JUANA AZURDUY', '27/10 a las 21:15'),
                     (21, 'ESC PROV DOMINGO F SARMIENTO', '27/10 a las 23:45'),
                     (21, 'ESCUELA DE MINERIA', '27/10 a las 20:30'),
                     (21, 'ESCUELA MANUEL SOLARES', '27/10 a las 20:40'),
                     (21, 'ESC.PROV.P.PIZZURNO', '27/10 a las 22:45'),
                     (21, 'COLEGIO JUAN XXIII', '27/10 a las 21:10'),
                     (22, 'ESC.PROV.FCO.PASCACIO MORENO', '27/10 a las 22:05'),
                     (22, 'ESC V LOPEZ Y PLANES', '27/10 a las 00:01'),
                     (22, 'ESC PROV MARIANO MORENO', '27/10 a las 20:55'),
                     (22, 'I.P.E.T. N17', '27/10 a las 22:10'),
                     (23, 'COL NAC JOSE M ESTRAD', '27/10 a las 21:55'),
                     (23, 'ESC PROV J M SALGUEIRO', '27/10 a las 19:45'),
                     (23, 'E.N.E.T. N1', '27/10 a las 22:10'),
                     (23, 'ESC PROV JUAN B ALBERD', '27/10 a las 20:30'),
                     (23, 'ESC PROV BARTOLOME MITRE', '27/10 a las 20:35'),
                     (23, 'COLEGIO JESUS MARIA Y JOSE', '27/10 a las 22:15'),
                     (23, 'COLEGIO DIVINO CORAZON', '27/10 a las 21:45'),
                     (23, 'ESC.PROV. REYES CATOLICOS', '27/10 a las 21:00'),
                     (23, 'COLEGIO C SAAVEDRA LAMAS', '27/10 a las 19:55'),
                     (23, 'ESC REMEDIOS E DE SAN MARTIN', '27/10 a las 21:55'),
                     (23, 'ESC PROV DOMINGO F SARMIENTO', '27/10 a las 21:10'),
                     (23, 'INST ALEXIS CARREL', '27/10 a las 22:10'),
                     (23, 'ESC PROV GRAL J DE SAN MARTIN', '27/10 a las 22:05'),
                     (23, 'C0LEGIO SAGRADO CORAZON', '27/10 a las 23:00'),
                     (23, 'ESC GREGORIA I PEREZ', '27/10 a las 22:15'),
                     (23, 'ESC PABLO A PIZZURNO', '27/10 a las 21:45'),
                     (23, 'ESC.PROV.S.A.GUTIERREZ', '27/10 a las 20:35'),
                     (23, 'ESC PROV JOSE M PAZ', '27/10 a las 22:05'),
                     (23, 'IPEM N 299-DR S E NAUMCHIK', '27/10 a las 21:30'),
                     (23, 'ESC CNEL DOMINGO GAY', '27/10 a las 23:00'),
                     (23, 'ESC PROV R E DE SAN MARTIN', '27/10 a las 22:10'),
                     (23, 'ESC PROV FRAY LUIS BELTRAN', '27/10 a las 21:15'),
                     (23, 'ESCUELA NAC.DE COMERCIO', '27/10 a las 21:10'),
                     (23, 'ESC JOSE M ZAPIOLA', '27/10 a las 22:10'),
                     (23, 'ESC LA STMA TRINIDAD', '27/10 a las 21:55'),
                     (23, 'ESC PROV GABRIELA MISTRAL', '27/10 a las 21:00'),
                     (23, 'ESC GRAL JOSE DE SAN MARTIN', '27/10 a las 20:45'),
                     (23, 'ESC.M.G.PONCE', '27/10 a las 21:05'),
                     (23, 'ESC VICENTE LOPEZ Y PLANES', '27/10 a las 21:05'),
                     (23, 'ESC SUP DE COMERCIO', '27/10 a las 22:10'),
                     (23, 'ESC GOB J F JAVIER DIAZ', '27/10 a las 21:45'),
                     (23, 'ESC PROV ANTARTIDA ARGENTINA', '27/10 a las 21:05'),
                     (23, 'ESCUELA N 402', '27/10 a las 22:15'),
                     (23, 'INST SEC JOSE M ESTRADA', '27/10 a las 19:30'),
                     (23, 'ESC PROV MODESTO ACU\xc3\x91A', '27/10 a las 22:05'),
                     (23, 'ESC PROV GRAL BATOLOME MITRE', '27/10 a las 21:00'),
                     (24, 'ESC PROV GRAL ARENALES', '27/10 a las 22:15'),
                     (24, 'ESC NORM SUP V DEL TOTORAL', '27/10 a las 22:15'),
                     (24, 'ESC PROV PEDRO N ARIAS', '27/10 a las 21:00'),
                     (24, 'ESC.PROV.F.AMEGHINO', '27/10 a las 19:45'),
                     (24, 'ESC.R.J.CARCANO', '27/10 a las 22:15'),
                     (24, 'IPETYM N 74 FRAY M ESQUIU', '27/10 a las 21:05'),
                     (24, 'ESC CEFERINO NAMUNCURA', '27/10 a las 20:55'),
                     (24, 'ESC.PROV.CNEL. PRINGLE', '27/10 a las 23:00'),
                     (24, 'ESC PROV BERNARDINO RIVADAVIA', '27/10 a las 20:35'),
                     (24, 'ESC PROV GREGORIA MATORRAS', '27/10 a las 20:30'),
                     (24, 'ESC.PROV.24 DE SEPTIEMBRE', '27/10 a las 20:45'),
                     (24, 'ESC.PROV.J.F.KENNEDY', '27/10 a las 19:40'),
                     (24, 'ESC.PROV.S.MARTIN Y GOMEZ', '27/10 a las 20:20'),
                     (24, 'ESC PROV BARTOLOME MITRE', '27/10 a las 22:15'),
                     (25, 'ESC PROV MARIANO MORENO', '27/10 a las 21:20'),
                     (25, 'ESC MANUEL BELGRANO', '27/10 a las 21:15'),
                     (25, 'ESC PROV 25 DE MAYO', '27/10 a las 20:00'),
                     (25, 'ESC LUIS E JUNCOS(EX NAC 212)', '27/10 a las 21:20'),
                     (25, 'ESC PROV MIGUEL DE GUEMES', '27/10 a las 21:20'),
                     (25, 'ESC PROV CORNELIO SAAVEDRA', '27/10 a las 21:15'),
                     (25, 'ESC PROV JOSE MARMOL', '27/10 a las 19:15'),
                     (25, 'ESC.MARIA L.ROBLEDO', '27/10 a las 23:00'),
                     (25, 'ESCUELA ESTEBAN ECHEVERRIA', '27/10 a las 21:20'),
                     (25, 'ESC PROV MANUEL DORREGO', '27/10 a las 21:15'),
                     (25, 'I.P.E.A. N15', '27/10 a las 23:05'),
                     (25, 'ESC.PROV.D.F.SARMIENTO', '27/10 a las 21:15'),
                     (25, 'ESC.J.M.ESTRADA', '27/10 a las 22:10'),
                     (25, 'ESC.PROV.OB.O.CORREA', '27/10 a las 21:20'),
                     (25, 'ESC.PROV.F.N.LAPRIDA', '27/10 a las 20:30'),
                     (25, 'ESC.PROV.V.MERCANTE', '27/10 a las 21:15'),
                     (26, 'ESC.PROV.DR.GARCIA GONZALEZ', '27/10 a las 20:55'),
                     (26, 'ESC PROV J HERNANDEZ', '28/10 a las 00:30'),
                     (26, 'INSTITUTO SAGRADO CORAZON', '27/10 a las 23:00'),
                     (26, 'ESC.PROV.M.SASTRE', '27/10 a las 19:10'),
                     (26, 'ESC.NORMAL F.ALCORTA', '27/10 a las 22:45'),
                     (26, 'ESC PROV B QUINQUELA MARTIN', '27/10 a las 20:35'),
                     (26, 'ESC PROV R E DE SAN MARTIN', '27/10 a las 20:30'),
                     (26, 'ESC PROV M BUCHARDO', '27/10 a las 20:45'),
                     (26, 'ESC PONCIANO VIVANCO', '27/10 a las 21:10'),
                     (26, 'ESC P ALBARRACIN DE SARMIENTO', '27/10 a las 20:15'),
                     (26, 'ESC MAESTRO J RECALDE', '27/10 a las 23:25'),
                     (26, 'ESC PROV JUAN P ESNAOLA', '27/10 a las 20:40'),
                     (26, 'INSTITUTO BELISARIO ROLDAN', '28/10 a las 00:30'),
                     (26, 'ESCUELA JOSE DE SAN MARTIN', '27/10 a las 20:40'),
                     (26, 'ESC.PROV.P.PIZZURNO', '27/10 a las 22:45'),
                     (26, 'ESC F AMEGHINO', '27/10 a las 20:20'),
                     (26, 'ESC.PROV.V.LOPEZ Y PLANES', '27/10 a las 21:15'),
                     (26, 'ESCUELA LEANDRO N ALEM', '27/10 a las 23:00'),
                     (26, 'ESC PROV PAULA ALBARRACIN', '27/10 a las 19:25'),
                     (26, 'COLEGIO SAN JOSE', '27/10 a las 21:25'),
                     (26, 'INST SUP DE PROFESORADO', '27/10 a las 23:05'),
                     (26, 'INST DALMACIO VELEZ SARSFIELD', '27/10 a las 21:00'),
                     (26, 'ESC PROV GRAL SAN MARTIN', '27/10 a las 20:05'),
                     (26, 'ESC.PROV.A.M.ZUMARAN D CARCANO', '27/10 a las 19:10'),
                     (26, 'ESC PROV NI\xc3\x91AS DE AYOHUMA', '27/10 a las 23:05'),
                     (26, 'ESCUELA VALENTIN ALSINA', '27/10 a las 20:15'),
                     (26, 'ESC.SUPERIOR DE COMERCIO', '27/10 a las 22:45'),
                     (26, 'ESC.M.C.G.DE MATOCCIA', '27/10 a las 22:10'),
                     (26, 'ESCUELA AMADEO AUCHTER', '27/10 a las 23:00'),
                     (26, 'INSTITUTO JUAN B ALBERDI', '28/10 a las 00:30'),
                     (26, 'ESC PROV B ERNARDINO RIVADAVIA', '27/10 a las 21:10'),
                     (26, 'ESCUELA PROV DARDO ROCHA', '27/10 a las 20:40'),
                     (26, 'ESC PROV JUANA MANSO', '27/10 a las 19:55'),
                     (26, 'ESCUELA N9', '27/10 a las 20:25'),
                     (26, 'ESC DE COM JOSE M.ESTRADA', '27/10 a las 19:35'),
                     (26, 'ESC PROV LEOPOLDO LUGONES', '27/10 a las 21:55'),
                     (26, 'INST JOSE DE SAN MARTI', '27/10 a las 22:05'),
                     (26, 'ESCUELA A MATTERSON', '27/10 a las 22:45'),
                     (26, 'ESC R VERA PE\xc3\x91ALOZA', '27/10 a las 20:20'),
                     (26, 'INST GALA ORTIZ FERNANDEZ', '27/10 a las 23:15'),
                     (26, 'ESC PROV ALMAFUERTE', '27/10 a las 20:00'),
                     (26, 'ESC.PROV.D.F.SARMIENTO', '27/10 a las 20:35'),
                     (26, 'INSTITUTO SAN JOSE', '27/10 a las 19:35')]

                    Marcelo Fernández: Migrando Host de VMs KVM de Ubuntu 12.04 a 14.04

                    En estos días arranqué la tarea de migrar Máquinas Virtuales de Hosts Ubuntu 12.04 (entorno QEmu-KVM/Libvirt) a Ubuntu 14.04, para testear que esté funcionando todo ok, y me encontré con dos particularidades:

                    1) Por defecto, las interfaces de red no se llaman más “ethX” ni se guían como antes con el archivo en /etc/udev/rules.d/70-net-persistent.rules, sino que ahora son medio raras (“p2p1”, “p5p4”, “eno1”, “enp2s0”, etc). Acá está explicado el por qué del cambio [1]. A priori no me gusta nada este cambio, por no respetar ninguna convención como sí lo hacía ethX, y encima por ser un cambio por defecto, pero como todo… supongo que me acostumbraré. Es adaptarse o morir; no es un capricho de Ubuntu, sino de udev.

                    2) ¡No hace falta más configurar un bridge en el host! Ahora se usa el driver de kernel macvtap [2][3][4][5], que uno lo selecciona en el administrador virt-manager. Así que para el host no habría que cambiar la configuración; para recordarlo, en un host Ubuntu 12.04 pasábamos de esto:

                    auto eth0
                     iface eth0 inet static
                     address 192.168.1.18
                     netmask 255.255.255.0
                     gateway 192.168.1.1
                     dns-nameservers 192.168.1.1 192.168.1.2

                    a esto (cambia eth0 por br0, y las líneas de bridge):

                    auto br0
                     iface br0 inet static
                     address 192.168.1.18
                     netmask 255.255.255.0
                     gateway 192.168.1.1
                     dns-nameservers 192.168.1.10 192.168.1.15
                     bridge_ports eth0
                     bridge_stp off
                     bridge_fd 0
                     bridge_maxwait 0

                    Ahora en Ubuntu 14.04 no hace falta tocar nada, ya que la interfaz principal sigue siendo la misma, aún cuando haya VMs que salgan directamente puenteadas por dicha interfaz. Lo que sí, por cada VM puenteada con el driver macvtap se va a crear una interfaz en el host, quedando así, digamos:

                    macvtap0 Link encap:Ethernet HWaddr 52:54:00:1e:b5:29
                     inet6 addr: fe80::5054:ff:fe1e:b529/64 Scope:Link
                     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
                     RX packets:437 errors:0 dropped:0 overruns:0 frame:0
                     TX packets:71 errors:0 dropped:0 overruns:0 carrier:0
                     collisions:0 txqueuelen:500
                     RX bytes:36313 (36.3 KB) TX bytes:6617 (6.6 KB)
                    
                     p2p1 Link encap:Ethernet HWaddr 44:87:fc:ef:96:be
                     inet addr:192.168.1.18 Bcast:192.168.1.255 Mask:255.255.255.0
                     inet6 addr: fe80::4687:fcff:feef:96be/64 Scope:Link
                     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
                     RX packets:15346 errors:0 dropped:46 overruns:0 frame:0
                     TX packets:16615 errors:0 dropped:0 overruns:0 carrier:0
                     collisions:0 txqueuelen:1000
                     RX bytes:2096838 (2.0 MB) TX bytes:4714920 (4.7 MB)

                    Esto seguramente es más rápido que lo anterior, por diferentes motivos, pero tiene un lado feo, y es que de esta manera los guests no pueden comunicarse con el host [6]. Apliqué la “less painful solution” de esa wiki, y fue crear una red NAT aislada entre el host y sus guests, todo de manera gráfica desde virt-manager. Fue bastante simple, y aunque no me guste que tenga que haber una interfaz en el guest únicamente para comunicarse con el host, funciona bien y en mi caso esto es para necesidades muy puntuales (emergencia casi siempre).

                    En resumen, esto fue para darles un pantallazo de algunos de los cambios que vamos a tener que hacer cuando migremos a 14.04. Estos cambios también están en RHEL 7, ya que son todos cambios de proyectos upstream, así que no nos ahorramos este trabajo yendo para aquel lado tampoco.

                    [1] http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
                    [2] http://seravo.fi/2012/virtualized-bridged-networking-with-macvtap
                    [3] http://virt.kernelnewbies.org/MacVTap
                    [4] http://libvirt.org/formatnetwork.html#examplesDirect
                    [5] http://www.linux-kvm.com/content/simple-bridged-networking-virt-manager-using-macvtap
                    [6] http://www.furorteutonicus.eu/2013/08/04/enabling-host-guest-networking-with-kvm-macvlan-and-macvtap/

                    Saludos!

                    Roberto Alsina: Nikola v7 finally out!

                    I am th­ri­lled to an­noun­ce ver­sion 7 of Niko­la, a sta­tic si­te and blog ge­ne­ra­tor is ou­t, wi­th a ba­zi­llion fea­tu­res and bu­gfixes (see be­lo­w).

                    You can get it at all the usual pla­ce­s, and he­re's the re­lea­se an­noun­ce­ment

                    He­re's the new fea­tu­res, the bu­gfixes list would make the post too long :-)

                    • Added UNS­LU­GI­FY_­TI­TLES op­tion for making ti­tles fe­tched via the ­fi­le­na­me re­gexp pre­ttier (Is­sue #1282)
                    • New de­pen­den­cie­s: na­tsort (na­tu­ral sor­ting in ga­lle­rie­s) and da­teu­til (re­pla­ces py­tz)
                    • Niko­la.­co­m­man­ds are now the use­r-­friend­ly wra­ppers from con­so­le (Is­sue #1177)
                    • Add a gi­thu­b_­de­ploy co­m­mand to de­ploy to Gi­tHub pa­ges (Is­sue #1208)
                    • Re­mo­ve tidy fil­ter (it was bro­ken due to tidy being an­cien­t) (Is­sue #1164)
                    • Added GE­NE­RA­TE_R­SS se­tting to allow di­sa­bling RSS in Niko­la (Is­sue #1236)
                    • Li­nk lis­tings raw sour­ces if CO­P­Y_­SOUR­CES is True (Is­sue #1214)
                    • Mu­ch mo­re po­wer­ful niko­la plu­gin co­m­mand (Is­sue #1189)
                    • Mo­re po­wer­ful con­so­le mo­de allo­ws ac­ce­ss to all niko­la co­m­man­ds (Is­sue #830)
                    • New `RO­BO­TS_EX­CLU­SION­S` op­tion lis­ting re­sour­ces to ex­clu­de from site­ma­p and in­clu­de in new ge­ne­ra­ted /ro­bo­ts.­txt (Is­sue #804)
                    • Ge­ne­ra­te site­ma­pin­dex con­tai­ning RSS and site­map fi­les (Is­sue #804)
                    • Su­pport hooks in tem­pla­tes, for use by plu­gins (Is­sue #896)
                    • Use read­li­ne if avai­la­ble (Is­sue #1238)
                    • Re­pla­ced REA­D_­MO­RE_­LI­NK wi­th IN­DEX_­REA­D_­MO­RE_­LI­NK an­d RSS_­REA­D_­MO­RE_­LI­NK (Is­sue #1222)
                    • Added rea­din­g_­ti­me, re­mai­nin­g_­rea­din­g_­ti­me, pa­ra­gra­ph_­coun­t, ­re­mai­nin­g_­pa­ra­gra­ph_­count tags for REA­D_­MO­RE_­LI­NK (Is­sue #1220)
                    • Add ca­no­ni­cal li­nk in lis­tings.
                    • Added su­pport for new me­ta fi­les that are the sa­me for­mat as 1-­fi­le me­ta­da­ta, a­llo­wing for grea­ter fle­xi­bi­li­ty (Is­sue #954)
                    • Co­lor­box is now in­ter­na­tio­na­li­zed (Is­sue #1205)
                    • Added LO­GO­_URL and SHO­W_­BLO­G_­TI­TLE=­True se­ttings to fa­ci­li­ta­te sho­wing off lo­gos (Is­sue #1122)
                    • Crea­te au­to­ma­tic sto­ry in­dex pa­ges for su­bfol­der­s, too (Is­sue #793)
                    • New Slo­vak trans­la­tion by To­máš Prékop
                    • Created a Ma­rk­do­w­nEx­ten­sion plu­gin cla­ss (Is­sue #1175)
                    • The ba­se the­me pro­du­ces pro­per­ly sec­tio­ned and se­man­tic HT­M­L5 (Is­sues #1123, #1137)
                    • The ba­se the­me co­mes wi­th a new sty­lish look by de­fault (Is­sue #1137)
                    • The ba­se the­me su­ppor­ts Ri­gh­t-­to­-­Le­ft by using ::­di­r(r­tl) CSS4 ru­les an­d <ht­ml di­r="r­tl"> tags whe­re va­lid (Is­sue #1146)
                    • Boots­trap 2 up­dated to 2.3.2 (via Is­sue #1137)
                    • Added FOR­CE_I­SO­8601 se­tting that cu­rren­tly makes new_­post use ISO 8601 da­tes (via Is­sue #1156)
                    • Added su­pport for TZ spe­ci­fied in post da­te (Is­sue #1118)
                    • Make niko­la init ask about the si­te’s se­ttings (Is­sue #1080)
                    • Use na­tu­ral sor­ting for fi­les and fol­ders list in lis­tings and ga­lle­ries (Is­sue #1144)
                    • Added in­va­rian­ce tes­ting (Is­sue #672)
                    • Plu­gins can in­ject tem­pla­tes in the sys­tem (Is­sue #1139)
                    • niko­la im­por­t_wor­dpress now has a --­­q­­tran­s­­la­­te op­tio­n, to par­se pos­ts in the qtrans­la­te wor­dpress plu­gin for­mat and turn them in­to mul­ti­lin­gua­l ­Niko­la pos­ts (Is­sue #1072)
                    • niko­la con­so­le allo­ws for in­ter­pre­ter choi­ce via -b, -i, -p; mo­reo­ve­r, ­su­pport for bp­y­thon is not de­pre­ca­ted an­y­mo­re (Is­sue #1126)
                    • re­ti­red tag for pos­ts has been re­pla­ced wi­th pri­va­te (via Is­sue #686)
                    • Chan­ged the de­fault TRANS­LA­TION­S_­PA­TTERN to "{­pa­th}.{­lan­g}.{ex­t}". (Is­sues #990, #829)
                    • Ba­ckwar­ds com­pa­ti­bi­li­ty wi­th v5 is bro­ken. Added ba­ckwar­d­s-in­com­pa­ti­ble ­chan­ges. (Is­sue #829)
                    • Added a CON­TEN­T_­FOOTE­R_­FOR­MA­TS con­fig op­tio­n. It is us­ed to for­ma­t ­the CON­TEN­T_­FOOTER va­ria­ble pro­per­l­y, for com­pa­ti­bi­li­ty wi­th ­the Trans­la­ta­ble Se­ttings fea­tu­re. The va­ria­ble takes a dic­t, the ke­ys of whi­ch are lan­gua­ges, and va­lues are (args, kwargs). (Is­sue #1112)
                    • Cer­tain se­ttings are now trans­la­ta­ble. As of no­w, the se­ttings are: ­BLO­G_AU­THO­R, BLO­G_­TI­TLE, BLO­G_­DES­CRIP­TIO­N, LI­CEN­SE, CON­TEN­T_­FOOTE­R, ­SO­CIA­L_­BU­TTON­S_­CO­DE, SEAR­CH_­FOR­M, BOD­Y_EN­D, EX­TRA_HEA­D_­DA­TA, ­NA­VI­GA­TIO­N_­LI­NKS, REA­D_­MO­RE_­LI­NK (the up-­to­-­da­te list is avai­la­ble in ­SI­TE.­TRANS­LA­TA­BLE_SE­TTINGS) (Is­sues #851, #1057, #1061, #1112)
                    • New Pos­t.au­tho­r() re­turns me­ta 'au­tho­r' or BLO­G_AU­THOR (Is­sue #1117)
                    • Ship ba­se-­jin­ja, boots­tra­p-­jin­ja, boots­tra­p3-­jin­ja wi­th Niko­la (Is­sue #1104)
                    • In­vert HI­DE_­SOUR­CE­LI­NK and HI­DE_UN­TRANS­LATE­D_­POS­TS in­to SHO­W_­SOUR­CE­LI­NK and SHO­W_UN­TRANS­LATE­D_­POS­TS (Is­sue #1076)
                    • Re­mo­ve old me­ss­ages le­ft over for ba­ckwar­ds com­pa­ti­bi­li­ty: (Is­sues #829, #1105)
                      • "Mo­­­re po­s­­ts abou­­t", re­­pla­­ced by "Mo­­­re po­s­­ts about %s"
                      • "Po­s­­te­­d", re­­pla­­ced by "Po­s­­te­­d:"
                      • "A­l­­so avai­­la­­ble in", re­­pla­­ced by "A­l­­so avai­­la­­ble in:"
                    • Re­mo­ve old "s­l_­SI", "tr_­TR" lo­ca­le alia­ses (u­se "s­l" and "tr") (Is­sue #829, #1105)
                    • New op­tion RSS_­PLAIN to op­tio­na­lly strip HT­ML from RSS fee­ds (Is­sue #1107)
                    • Su­pport con­tent key in com­pi­ler­s' crea­te_­post (Is­sue #1098)
                    • Use se­tup­tool­s’ ex­tras fea­tu­re. Use pip ins­ta­ll niko­la[ex­tra­s] to­ ins­ta­ll Niko­la wi­th ex­tras (re­­qui­­re­­men­­ts-ex­­tra­s.­­txt, for­mer­l­y re­­qui­­re­­men­­ts-­­fu­­ll.­­txt -- no­te the na­me chan­ge!) (Is­sue #1089)

                    Martín Gaitán: Lo siento por vos

                    A fines de enero, apenas volvimos de Ushuaia, en la góndola de los fideos del Vea de mi barrio decidí que iba a retomar Preciosa. Hice un aviso en la lista de correo y lo tuiteé, sin esperar mucha respuesta.

                    Cuando salieron las primeras aplicaciones para "Precios Cuidados", Luciano Ferrer me preguntó si eran lo mismo que lo que yo quería hacer. Le respondí que Preciosa era mucho más que eso, pero todavía tenía dudas sobre cómo concretarlo:

                    Tres meses después Preciosa tiene una primera versión con casi 2000 descargas, 400 usuarios activos, múltiples aparaciones en radio y TV y muchísimas ideas y ganas para seguir creciendo.

                    Fueron semanas enteras de laburo, a pulmón, muchísimas horas por día (71 días sin pausa, dice github) y la colaboración desinteresada de decenas de personas e instituciones. La Incubadora de Empresas de la Universidad de Córdoba (donde funciona Phasety) nos dió espacio y asesoramiento, la asociación de consumidores más importante de Perú está interesada en implementarlo en su pais, Huayra Linux incluye Preciosa en su última versión, programadores de nivel internacional hicieron aportes al código, diseñadores y diseñadoras hicieron el logo y muchas otras piezas gráficas y hasta tuvimos que armar un ¡equipo de comunicación!.

                    Pero más emocionante aún (siempre queda lugar), fue notar que empezamos a hacer realidad algo que gente común estaba esperando. Daniel, un laburante de 47 años, me escribió esto:

                    "Te mando adjunto una carta que le mande al ministro de economia Kicillof en diciembre de 2013, con un bosquejo de lo que vos estas haciendo realidad. Yo no tengo los conocimientos para desarrollarlo, pero lo necesitamos, cualquier ayuda que este en mis posibilidades hacemelo saber"

                    En esa carta a Kicillof describe, con palabras sencillas y argumentos brillantes, casi exáctamente las intenciones de la primera versión de Preciosa. La carta termina así:

                    "Porque la inflación y los precios son una cuestion de estado, el estado somos nosotros, y nosotros DEBEMOS cuidarnos entre todos o fracasaremos en lo que hagamos (...) Esto es lo que me motiva al enviarle esta idea. Me interesa mi futuro,el de mis hijos y el de mis nietos, y el de nuestra tierra Argentina maravillosa."

                    Mi vieja está orgullosa de todo esto (y yo soy muy riquelmeano, sépanlo), así que estoy tranquilo, pero la "gente que sabe" me dijo, hace unos días, que el proyecto era malo y que se notaba que "no lo siento" (sic).

                    Qué sabe la gente que sabe

                    Hace algunas semanas que Preciosa no tiene mucha actividad pública. No hay nuevas versiones de la aplicación, tampoco cambios importantes en la web y hasta estamos flojos con las redes sociales. Pero sigo trabajando todo el día en el proyecto, intentando resolver el "bug Nº 0": necesito plata que me permita armar un equipo profesional full-time dedicado a hacer de Preciosa una herramienta concreta y masiva. No sólo una buena idea potencial: que permita que desde tu teléfono o el sitio web, puedas saber cuánto te va a costar toda tu lista de compras, no sólo un producto en particular. Y que te diga, por supuesto, a dónde te conviene ir y cuánta plata vas ahorrar.

                    Nunca mandé más mails en mi vida como en estos últimos días. Nunca hablé tanto por teléfono con personas que no conozco ni me animé a "encarar" a gente muy distinta a la que habitualmente me rodea, para contarle sobre el proyecto. Pero lo hice y lo seguiré haciendo porque confío (y sobre todo deseo) que esto funcione.

                    Por eso dije que sí a la invitación que me hicieron para presentar Preciosa en "El club del Pitch" un encuentro organizado por diversas empresas e instituciones del "ecosistema emprendedor" para presentar proyectos tecnológicos, a los que un panel le hace devoluciones breves, en una especie de simulacro de "ronda de inversión".

                    Sabía que son ambientes en los que no me siento muy cómodo, donde suele haber mucho ruido y pocas nueces:

                    Tenía que estar antes de las 9 de la mañana y haber preparado unas diapositivas para una charla de 10 minutos. Ahí estuve, un poco dormido, y me tocó ser el primero. Seis personas, a las que no había visto en mi vida, me harían comentarios en tres minutos, acotados al rol que les tocó: unos sólo las cosas que le parecieron bien, otros las cosas a mejorar, y otros se debían comportar como inversores y decir si pondrían plata en el proyecto.

                    Mi "pitch" (casi todo allí son anglicismos: pitch, mentors, feedback, coaching, coworking) no fue el mejor, pero creí transmitir bien la potencia de la idea y los desafíos que implica. Regulé mal el tiempo explicando algo superfluo y al final tuve que acelerar porque el máximo de 10 minutos era estricto. No logré explayar para qué necesitaba la plata que pedía y por qué parecía poca.

                    Una vez que terminás, las "reglas" impiden la interacción con el panel; sólo podés escuchar lo que te dicen. Y lo que me dijeron fueron algunas cosas buenas (las dos mujeres, de unos 40 años, dijeron que les parecía muy buena idea si implementamos la utilidad de encontrar el mejor precio para el "carrito") pero Juan Santiago, dueño de la empresa Santex, me fulminó:

                    — Me pareció pésimo tu pitch. Horrible. Da la sensación de que no crees en tu proyecto, que podrías estar haciendo esto o cualquier otra cosa, no le transmitis pasión, no llegás a motivar a nadie. Toda esa cosa samaritana de tu proyecto, no la entendí. Y es un disparate que pidas tan poca plata, no tenés ni idea.

                    Hubo un momento de tensión generalizada en el lugar. El muchacho que coordinaba el encuentro se dió cuenta y se apuró a aclarar:

                    — Esto es así, no te lo tomes como algo personal. No podés responder nada porque así es la dinámica, sólo podés escuchar. Es preferible que te digan esto ahora, que es gratis, que es un juego, antes de que te suceda en una reunion con inversores de verdad.

                    Si no es personal, no lo quiero

                    Me quedé con las explicaciones en la garganta. ¿Cómo podés decirme que no siento lo que estoy haciendo? Hace 10 minutos nunca habías visto mi cara ¿Sabés quién soy, qué hice, qué pienso? ¿Te enteraste que hay decenas de personas que están poniendo muchísimas horas de su tiempo, gratis, sólo porque creyeron en la idea? ¿No es eso "llegar"? ¿No tiene valor alguno para vos que un tipo como Daniel, un laburante, sienta que estamos haciendo lo que él quería pero no podía hacer?

                    Parece que han comprado en USA el librito del emprendedorismo, donde la idiosincracia y la relación de las personas con la plata es totalmente distinta, donde el lucro es el único motor posible. Pero hablan, siempre, de Latinoamérica, de las posibilidades que hay acá. Algo no encaja en el pitch del pitch.

                    Un muy buen artículo lo describe así:

                    Se nos presenta como un desafío, lo que en realidad no puede ser otra cosa, que la adaptación servil a un conjunto de reglas variables, indefinidas y cínicas que no son discutidas, sino acatadas. Para obtener el éxito tienes que seguir las pautas y si no lo consigues se debe a que no lo has hecho bien y por lo tanto, al igual que eres artífice de tu propio éxito, también lo eres del fracaso y de tu pobreza.

                    Es una lógica de asimetría, una puesta en escena frívola, donde el objetivo es impactar y enamorar (sic) a los inversores, lograr su atención en un standup estudiado de memoria pero que debe parecer, a la vez, espontáneo y pasional. Parece esa gente que está muchas horas frente al espejo peinándose prolíjamente para parecer despeinada. El "emprendedor" no tiene nada para aportarle al otro: está ahí para ser inspeccionado al paso y, pulgar arriba o abajo, enterarse si sirve o no. No hay diálogo posible, no hay enriquecimiento de la idea en un ida y vuelta. Nadie leyó a Freire en el ecosistema emprendedor.

                    Me lo crucé al coordinador, el que me dijo que no me lo tomara personal, en el Congreso de Periodismo Digital de Fopea al que fui invitado como programador. Le pregunté si sabía cómo podía conseguir una charla con Juan Santiago para explicarle mejor el proyecto.

                    — No entendiste absolutamente nada. ¿Te creés que el tipo tiene algo que aprender de vos? — me dijo, ofuscado, y luego intentó explicarme lo afortunado que había sido yo por tener la oportunidad que gente tan importante me ayudara desinteresadamente. — A mi me pasó. Yo fui a Sillicon Valley, tuve que pedir plata prestada para el pasaje, a pedir 250 mil dolares para mi proyecto. El inversor me atendió en el pasillo y nunca me miró, estaba así, mirá, mandando mensajitos con el celu.

                    Sé que hay otras maneras y existe gente que se anima a salirse del libreto. La incubadora de la UNC es uno de estos espacios, que apuesta por el conocimiento como generador de empleo de calidad, de mejorar la vida de la sociedad a través de la tecnología, sin ignorar que para llevarlo a cabo hace falta plata. También debo mencionar a Vanesa Kolodziej, inversora profesional, que no sólo se tomó el trabajo de leer el proyecto y se hizo lugar para charlar conmigo más de 30 minutos, sino que se interesó mucho por saber quién soy, qué busco, sin dejar de hacer su laburo y evaluar la idea desde el punto de vista del negocio.

                    Sí, necesito plata. La ayuda de la gente que me ama, que cree en mí y en lo que estoy haciendo es enorme, pero no alcanza.

                    No sé si lograré conseguirla, pero estoy muy seguro de que quiero intentarlo, de que este esfuerzo vale la pena, porque si funciona le servirá a muchos. Sé que es difícil pero me sobra pasión. "La estoy remando en dulce de leche, pero el dulce de leche es rico", le resumí a un amigo.

                    Y de algo sí estoy seguro: no quiero ser tu mercancía. Creo mucho en lo que hago. Lo siento. Y lo siento por vos.

                    Joaquin Tita: Interaction Design Guidelines for Home Automation

                    In the last years, home automation became a reality as a result of an increased availability of different commercial solutions. Some examples of these options can be X10, UPB, Insteon and Z-Wave. Also, the fact that costs decrease day by day making this type technology widely accessible to almost every home.

                    The idea of smart home, which is controlled by themselves, understands the context and performs actions, has provided new research fields and opportunities. In spite of that, there are still controversial opinions toward how can smart homes improve the life and care of the elderly or of people with different disabilities.

                    Among the different disabilities, people with impaired motor abilities can take advantages of eye tracking methods to control their homes. This kind of tracking strategies can exploit this limited ability to build a communication channel for interaction and as a result opening new possibilities for computer-based communication and control solutions. Home automation can be the link between software and tangible objects, enabling people with motor disabilities to effectively and physically communicate with their environment.

                    The European Network of Excellence, COGAIN (Communication by Gaze Interaction), studied in 2004 the advantages and drawbacks of using eye-based systems in the home automation field. Their results identified that there weren't advanced functionalities for controlling appliances and neither interoperability between them. Also, the execution of actions was an issue for the existing eye-tracking mechanisms.

                    A few years later, members of COGAIN proposed 21 guidelines to promote safety and accessibility in eye tracking methods for environmental control applications.
                    One of the first applications of this set of guidelines was the DOGeye project, a multimodal eye-based application for home management and control, based on tracking and home control.

                    COGAIN Guidelines
                    The COGAIN project was launched in September of 2004 with the goal of integrating vanguard expertise on gaze-based interface technologies for the benefit of users with disabilities. The project was quite successful as it gathered more than 100 researchers from different companies and research groups; all related with eye tracking integration with computers and in assistive technologies.

                    In 2007, the members of project published a “Draft Recommendations for Gaze Based Environmental Control”. This document proposed a set of guidelines for developing domotic control interfaces based on eye interaction. These guidelines were developed from real uses cases where people with impairments perform daily activities in domotic environments.
                      
                    The document divided the guidelines into four categories:
                    • Control Application Safety:  guidelines that determine the behaviour of the application under critical situations such as emergencies or alarms.
                    • Input Methods for Control Application: guidelines about the input methods that the application should support.
                    • Control Application Signification Features: guidelines impacting the management of commands and events within the house.
                    • Control Application Usability: guidelines concerning the graphical user interface and the interaction patterns of the control applications.
                    Each guideline has a priority level compliant with the W3C style:
                    • Priority 1: indicates that must be implemented by the applications as it is related with safety and basic features.
                    • Priority 2: indicates that should be implemented by the applications.   

                    There are three important issues that control interfaces must deal with:
                    • Asynchronous Control Sources: the control interface needs to continuously updatethe status of the house (icons, menus, labels, etc.) according to the home situation.
                    • Time Sensitive Behaviour: in critical conditions, like an emergency, eye control may become unreliable. In these cases, the control interface must offer simple and clear options, easy to select and must be able to take the safest action in case that the user cannot answer on time. This kind of behaviours offer automated actions triggered by rules. For instance, if it is raining, close the windows. In any case, the user should be able to cancel the automated action and also be aware that it is been executed.
                    • Structural and Functional Views: control interfaces can organize the information into structural or functional logic. The first one displays the information in a physical fashion, similar to the real disposition of elements in the house. The second option suits best with actions that doesn’t have a “localized” representation, like turning the anti-theft system on. Good interfaces should find a balance between these two views.

                    The a summary of the guidelines follows:
                    Guideline

                    Content

                    Priority Level
                    1.1
                    Provide a fast, easy to understand and multi-modal alarm notification.
                    1
                    1.2
                    Provide the user only few clear options to handle alarm events.
                    2
                    1.3
                    Provide a default safety action to overcome an alarm event.

                    1
                    1.4
                    Provide a confirmation request for critical & possibly dangerous operations.
                    1
                    1.5
                    Provide a STOP Functionality that interrupts any operation.
                    1
                    2.1
                    Provide a connection with the COGAIN ETU-Driver.
                    1
                    2.2
                    Support several input methods.
                    2
                    2.3
                    Provide re-configurable layouts.
                    2
                    2.4
                    Support more input methods at the same time.
                    2
                    2.5
                    Manage the loss of input control by providing automated default actions.
                    2
                    3.1
                    Respond to environment control events and commands at the right time.
                    1
                    3.2
                    Manage events with different time critical priority.
                    1
                    3.3
                    Execute commands with different priority.
                    1
                    3.4
                    Provide feedback when automated operations and commands are executing.
                    2
                    3.5
                    Manage Scenarios.
                    2
                    3.6
                    Communicate the current status of any device and appliance.
                    2
                    4.1
                    Provide a clear visualization of what is happening in the house.
                    1
                    4.2
                    Provide a graceful and intelligible interface.
                    2
                    4.3
                    Provide a visualization of status and location of the house devices.
                    2
                    4.4
                    Use colors, icons and text to highlight a change of status.
                    2
                    4.5
                    Provide an easy-to-learn selection method.
                    2

                    DOGeye
                    DOGeye was planned as a solution to fill the blank of a home control application in compliance with COGAIN guidelines, through multi-modal interaction with special attention on eye tracking technologies.


                    DOGeye communicates with Domotic OSGi Gateway (Dog)through a XML- RPC connection. This connection allows information exchange and controlling other devices inside the smart environment. This home control application can be controlled by gaze, by communicating with the eye tracker through a universal driver (ETU-Driver) or by external elements such as keyboard, mouse or touch screen devices.
                    Dog, an ontology-based domotic gateway, provides the interaction with smart homes. This gateway is able to integrate and abstract functionalities of different domotic systems, offering a uniform high-level access to the home technologies.
                    The interface was designed through an iterative process, starting from a scratch layout and iteration by iteration refining the design until the final design was reached compliance with COGAIN guidelines. A capture and video of the interface follows. 


                    DOGeye Interface


                    There are 8 main elements in the interface disposed in a top menu bar. Each element, when activated, displays a tab with the main details of that element.
                    • Home Management contains the basic devices present in a house. These are the devices that belong to the mains electricity wiring such as shutters, doors, lamps, etc.
                    • Electric Device contains the electrical appliances not belonging to the entertainment system, such as a coffee maker.
                    • Entertainment contains the devices for entertainment, such as media centers and TVs.
                    • Temperatureallows handling the heating and cooling system of the house.
                    • Securitycontains the alarm systems, anti-theft systems, etc.
                    • Scenarioshandles the set of activities and rules defined for groups of devices.
                    • Everything Else contains devices not directly falling in the previous tabs, e.g., a weather station.
                    • Settingsshows controls for starting, stopping and configuring the ETU-Driver. 

                    Scenario
                    If you wanted to turn on the lamp in the kitchen and warm coffee, you should follow the following steps. 

                    • First, look briefly at “Home Management” to activate this tab. The map of the kitchen will appear rapidly. 
                    • Then stare at the “Enter the room” tab for a time. After doing that, you will see the list of all devices present in that room. 
                    • To select the lamp you would look at it and then stare at the “On” button presented in the command area. 
                    • Finally, to warm the coffee look at “Electric Device”tab and use the same procedure.
                    Usability Testing of DOGEye
                    Previous to the testing, a short introduction to the study and the collection of demographic data was done. Afterwards, a static DOGeye screenshot was shown to the participants to gather a first impression on the interface.

                    The usability testing was divided into three main phases: warm-up, task execution and test conclusion.

                    The warm-up phase was executed after calibrating the eye tracker with the participant’s eye. Next, the participant played a simple game for getting used to the eye tracking interaction. This phase was considered finished after achieving a pre-established number of points in the game.

                    In the task phase each participant was told to complete a set of nine tasks, one at a time.  For two of them, the participants were asked to use the think-aloud protocol, to verify the actions performed.

                    In last phase, test conclusion, participants were given a questionnaire and asked to rate DOGeye in general, and to rate their agreement with the same sentences proposed earlier, just after seeing the screenshot of DOGeye.

                    The duration of the entire experiment was dependent on eye tracker calibration problems and on how quickly participants answered the questions, but it ranged between 20 and 30 minutes.

                    For testing this application, 8 participants (5 female and 3 male, aged 21 to 45) used DOGeye in a controlled environment. These participants performed nine tasks each, with Dog simulating the behaviour of a realistic home. The quality of the eye movement of each participant was not taken into account for the study, since eye tracking is only the input modality.
                    The tasks were the following ones:
                    • Task 1: Turn on the lamp in the living room.
                    • Task 2: Plug the microwave oven in the kitchen.
                    • Task 3: Find a dimmer lamp, turn it on and set its luminosity to 10%.
                    • Task 4: Cancel the alarm triggered by the smoke detector.
                    • Task 5: Turn on all the lamps in the lobby.
                    • Task 6: If the heating system in the bedroom and in the kitchen is off, turn it on.
                    • Task 7: Set to 21 degree the heating system for the entire house.
                    • Task 8: Send a general alarm to draw attention in the house.
                    • Task 9: Read the smoke detector status and expand the video of the room to full screen.
                    Result of the Usability Testing
                    The result of the usability testing was positive and provided useful insights on the application explicitly designed for eye tracking support.
                    A short summary of the findings follows:
                    • Some of the users suggested refactor the top menu. Like splitting the “Home Management” into two different tabs, “Lighting System” and “Doors and Windows”. Also, “Everything Else” tab should be removed because the participants could not understand the meaning.
                    • None of the participants used the “multiple selection” feature. Each of them used “single selection”, therefore the feature was removed from the application (except from temperature since it is the only viable modality for multiple selection in this tab).
                    • The users appreciated the vocal feedback and the tab divisions.
                    • The presence of a camera in the “Security” tab was something that they found  marvellous.
                    The study concluded with very good feedback from participants, pointing out some errors in the design and motivating the developers to progress in the field and continue enhancing the product. Also, it is the kick off for helping and improving life quality for people with motor impairments from a common starting point.

                    Reference:
                    • De Russis, Luigi, Emiliano Castellina, Fulvio Corno, and Darío Bonino. "DOGeye: Controlling Your Home with Eye Interaction." PORTO Publications Open Repository TOrino. Politecnico Di Torino, 16 June 2011. Web. 10 May 2014.

                    Hernán Grecco: Pint 0.5: now with uncertainties!

                    Today I have released version 0.5 of Pint, a Python units library.

                    Pint is Python package to define, operate and manipulate physical quantities: the product of a numerical value and a unit of measurement. It allows arithmetic operations between them and conversions from and to different units.

                    It provides a comprehensive and extensive list of physical units, prefixes and constants defined in a standalone text file. The registry can parse prefixed and pluralized forms of units resulting in a much shorter and maintainable unit definition list.

                    It also provides great NumPy integration, with implicit unit conversion and an emphasis on correctness.

                    What's new

                    Pint 0.5 brings a long awaited feature: the integration with uncertainties, a great package by Eric Lebigot. Pint Measurement Class is now built using uncertainties ufloat class. The integration will be complete in 0.6 when we add support for all math operations.

                    By the way, the integration of uncertainties in Pint is a really nice example of collaboration between open source projects. From an issue that Eric posted on the tracker, we worked out together modifications to both projects that made the integration easier and more productive.

                    Pint 0.5 also brings performance improvements. Some operations are much faster due to internal caching of common unit conversions. Importing the package is faster too as the default registry is only loaded when needed.
                     
                    There are no backwards incompatible changes in this version. But we have added the __call__ method to UnitRegistry. We suggest that you use it instead of __getitem__ which will be deprecated in future versions.

                    A few internal things have been improved. Better documentation of the code. Better logging, warnings and error messages. More configurations to testing configuration to our continous integration at travis. The test coverage, which was quit good since the begining of the project (~ 80%), is now even better (93%). And we are keeping an eye on this using coveralls.

                    There a lot of other improvements, you can look at the full list of changes.

                    Thanks to the people that contributed bug reports, suggestions and patches since 0.4. In particular to: Eduard Bopp, Felix Hummel, Jim Turner, Joel B. Mohler, Kenneth D. Mankof, Luke Campbell, Peter Grayson, Sundar Raman, Tom Ritchford and coutinho. (Please let me know if I am forgetting someone!)

                    Interested? Install it and give it a try!

                    Submit your bug reports, comments and suggestions in the Issue Tracker. There are already some ideas for version 0.6. Check them out, comment and add yours.

                    Read the docs: https://pint.readthedocs.org/
                    or fork the code: https://github.com/hgrecco/pint

                    Alejandro Santos: Substring matching in Python (run between naive, Boyer-Moore, and Suffix Array)

                    A  few days ago I found this very interesting problem: given a list of strings L, write a function that returns the elements of L which contains some substring S.

                    For example, given L=["Casa", "Perro", "Gato", "Onomatopeya", "internacionalizacion", "Om nom nom"] and S="nom", we want the result of find(L, S) = ['Onomatopeya', 'Om nom nom'].

                    Naïve Version

                    On Python this sounds simple enough, and we can write:
                    def find1(L, S):
                        return [x for x in (L) if S in x]
                    However, for a big enough L and S we can see the runtime of this function depends not only on the size of L but also on the size of S. That's it, the runtime complexity of find1 in BigOh notation is: O(n.m.s), where:
                    • n=len(L)
                    • m=max([len(x) for x in L])
                    • s=len(S)
                    The plot of time for find1 for a fixed L and where we increase the size of S looks like this:


                    Boyer-Moore-Horspool

                    It turns out that since version 2.5, Python's "in" operator is implemented internally using a modified version of Boyer-Moore algorithm for substring searching. The details are here.

                    We can take advantage of this detail by creating a temporary structure for faster lookups. We pre-process L so we can make fast queries.

                    The idea is to construct a big string W with the concatenation of all the elements of L, using a special char as separator, a char that is not present on S nor any element of L. For example:
                    L = ["Casa", "Perro", "Gato", ...]
                    W = "Casa\nPerro\nGato\n..."
                    Then, finding if a substring S is present in any of the elements of L can be answered by just writing: 
                    S in W
                    This allows us to answer whether a substring is present or not. To actually construct the resulting list of elements of L which contain S we need another helper structure. We build T, a list of integers that, for every elements in L, equals the starting index of this element in W. Continuing with the example:
                    T = [0, 5, 11, 16, ... ]
                    This means the first element, "Casa", starts at index 0 in W; the second element "Perro" starts at index 5 in W, etc. And this structure allows us to quickly determine the index in W for every element in, and we lookup the index by doing a binary search on T.

                    The runtime complexity for constructing this intermediate index is O(n), with O(n) memory usage.

                    Our new find function should then:
                    • find the first position of S in W as p
                    • determine for which element of L this index relates to, by doing a binary search on T
                    • from p+1 onwards, find again the next S in W.
                    Since an element of L can contain many times the same substring S we may jump to the next word on W.

                    On code, the find2 function looks like:
                    def find2(L, S):
                        # Using the native Boyer-Moore implementation of the "in" operator
                        R = []
                        i = W.find(S)
                        while i != -1:
                            p = bisect.bisect_right(T, i) - 1
                            e = L[p]
                            #assert S in e
                            R.append(e)
                            i = W.find(S, T[p] + len(e))
                        return R
                    The runtime complexity of this new find function is: O(n.m). We still need to take into account the length of each element of L since BMH algorithm is (mostly) linear on the W string. 

                    The plot of runtime for find1 vs. find2 looks like the following graphic. Again, we are leaving a fixed L and increasing the size of S:



                    Suffix Array

                    There is a third way to solve this problem, by means of constructing a suffix array

                    This amazing data structure offers a runtime complexity of O(log N) for suffix lookups, where N is the length of the string. Incidentally, it also allows to lookup for substrings, since we just lookup until a suffix on the SA has S as prefix.

                    Again, we need to construct an intermediate index, which is again very simple: sort all the possible suffixes on W. The trick is how to do it: we shall not keep every possible suffix as an string, but just a list of starting positions for every suffix, and sort this list by the actual string of the suffix.

                    In code, the construction of the SA table is really simple:
                    # Suffix Array Table
                    SL = list(range(len(W)))
                    SL.sort(key=lambda x: W[x:x+100])
                    The runtime complexity for constructing this intermediate index is O(n.log n), with O(n) memory usage.

                    To find a specific suffix we should binary search the SA table, using the element on SL to determine where in W the suffix starts.

                    Since a substring may appear many times on many elements of S, we may have many sufixes starting with S. The good news is, since the list of suffixes is sorted, all this suffixes will be one after another on the SL table. But since we are doing a binary search on the list of suffixes, we can't be sure on where the middle pointer will jump in this contiguous sequence of suffixes, all starting with S. 

                    Therefore, when we find the position of some suffix we should go back a little to make sure we are starting on the first suffix on the sequence of suffixes that start with S.

                    On code, our new find3 function looks like:
                    def find3(L, S):
                        # Suffix array
                        start = 0
                        end = len(SL)
                        while start < end:
                            mid = start + (end - start) // 2
                            pa = SL_key_fn(W, SL[mid], 100)
                            pb = SL_key_fn(S, 0, len(S))
                            if pa < pb:
                                start = mid + 1
                            elif pb < pa:
                                end = mid
                            else:
                                # A word may contain the same S multiple times
                                R = set()
                                while mid > 0 and W.startswith(S, SL[mid]):
                                    mid = mid - 1
                                if not W.startswith(S, SL[mid]):
                                    mid = mid + 1
                                while mid < len(SL) and W.startswith(S, SL[mid]):
                                    p = bisect.bisect_right(T, SL[mid]) - 1
                                    e = L[p]
                                    assert S in e
                                    R.add(p)
                                    mid = mid + 1
                                return [(L[i]) for i in R]
                        return []
                    The SL_key_fn function was a failed experiment to enhance the performance of the lookups. This function today is:
                    def SL_key_fn(data, x, llen):
                        return data[x:x+llen]
                    Which is the same as the key on the SA table sorter.

                    The runtime performance of the find3 function is: O(log (n.m)), and the plot of the three functions looks like this:



                    Drawbacks

                    This SA implementation in Python is using a lot of temporary memory for sorting the table. My implementation on my laptop is using 2.4GB of RAM to sort an L of 150k elements. There's been some discussion about this memory issue on this blog post and in this Stack Overflow question.

                    Special thanks

                    Python Argentina community is a great place to look for help for all your spanish Python programming needs.