AE5UC2_13

Jose Nunez, Mario Alejandro Salcedo, Victor Manuel

29/10/2021

Caso de estudio de análisis del efecto de la movilidad de personas en la contaminación atmosférica y la incidencia de casos de contagio de COVID-19

Paquetes

library(pacman)
p_load(rmdformats,readr,readxl,ggplot2,plotly,DT,xfun,gridExtra,leaflet,TSstudio)

Importar datos

setwd("~/ESTADISTICA")
CM <- read_excel("Concentracion_Mov.xlsx")
datatable(CM)

Caso de estudio

La gestión de la contaminación del aire se ha vuelto importante en el último periodo debido a las siguientes afirmaciones: “A causa del desarrollo industrial y avance tecnológico se estima aproximadamente 1200 millones de personas están expuestas a niveles de dióxido de azufre (SO2), muy por encima de por directrices de la Organización Mundial de la Salud (OMS) y aproximadamente 1400 millones de personas están expuestas a niveles excesivos de humo y material articulado (PM)” (Rico, 2018).

La importancia de respirar aire limpio sin contaminantes es crucial para todo ser viviente. Por lo cual es importante que este sea aire limpio, pero ¿Cómo detectar si el aire que respiramos no tiene contaminantes? ¿Cómo nos afecta a nosotros?. La calidad del aire está directamente relacionada con la movilidad de carros, autobuses y hasta la propia movilidad de la ciudad, donde las personas realizan sus actividades diarias, por lo tanto, entre más movilidad haya en la ciudad, aumentan los contaminantes en el aire.

Los principales contaminantes en el aire han sido creados principalmente por la actividad económica humana, la concentración de estas sustancias es altamente nociva para la salud del ser humano. Este estudio tuvo en cuenta los siguientes contaminantes:

  • Material particulado (PM10)
  • Ozono (O3)
  • Dióxido de nitrógeno (NO2)
  • Dióxido de azufre (SO2)

Fuente de de los datos

Los datos de contaminantes atmosfericos provienen de la estación de calidad del aire de la ERNO del instituto de geología de la unam ubicado en Hermosillo. Podemos visitar el origen de los datos aqui: http://www.erno.geologia.unam.mx

La estación de calidad del aire se encuentra ubicada en el siguiente mapa interactivo:

Ubicación de donde se obtuvieron los datos

content <- paste(sep = "<br/>",
  "<b><a href='https://www.ruoa.unam.mx/index.php?page=estaciones&id=6#datos'>ERNO</a></b>","Lng: -110.9706, Lat: 29.0814")


m <- leaflet() %>%
  addTiles() %>%  
  addMarkers(lng=-110.9706, lat= 29.0814, popup= content)

m
  • La contaminación del aire es el principal riesgo ambiental para la salud pública en las Américas.
  • En todo el mundo, cerca de 7 millones de muertes prematuras fueron atribuibles a la contaminación del aire ambiental en 2016. Alrededor del 88% de estas muertes ocurren en países de ingresos bajos y medios.
  • Más de 150 millones de personas en América Latina viven en ciudades que exceden las Guías de Calidad del Aire de la OMS.
  • La exposición a altos niveles de contaminación del aire puede causar una variedad de resultados adversos para la salud: aumenta el riesgo de infecciones respiratorias, enfermedades cardiacas, derrames cerebrales y cáncer de pulmón, las cuales afectan en mayor proporción a población vulnerable, niños, adultos mayores y mujeres.
  • La contaminación del aire en el hogar se asocia al uso de combustibles y prácticas de cocina ineficiente

Regresión Lineal Múltiple

La regresión lineal múltiple permite generar un modelo lineal en el que el valor de la variable dependiente o respuesta (Y) se determina a partir de un conjunto de variables independientes llamadas predictores (X1,X2,X3…). Los modelos de regresión múltiple pueden emplearse para predecir el valor de la variable dependiente o para evaluar la influencia que tienen los predictores sobre ella (esto último se debe que analizar con cautela para no malinterpretar causa-efecto). (Rodrigo, 2016)

Los modelos lineales múltiples siguen la siguiente ecuación:

Yi=(β0+β1X1i+β2X2i+⋯+βnXni)+ei

Movilidad de personas en Sonora

Para esto estamos usando datos de google mobility report, que pueden ser encontrados con su documentacion aqui: https://www.google.com/covid19/mobility/

movilidad <- ggplot(CM) +
  geom_line(aes(x=Fecha,y=Reactivacion_Comercial,colour="Recreación y comercio"))+
    geom_line(aes(x=Fecha,y=Supermercado_Farmacia,colour="Supermercados y farmacias"))+
    geom_line(aes(x=Fecha,y=Parques_Centros,colour="Parques"))+
    geom_line(aes(x=Fecha,y=Estaciones_Transito,colour="Estaciones de tránsito"))+
    geom_line(aes(x=Fecha,y=Lugares_Trabajo,colour="Lugares de trabajo"))+
    geom_line(aes(x=Fecha,y=Residencia,colour="Lugares residenciales"))+
    labs(title="Reporte de movilidad",x="Fecha",y="Procentaje de cambio de movilidad")
ggplotly(movilidad)

Entender la relación entre la dispersión cruzada de los datos

Matriz de diagramas de dispersión

Conclusiones

Recreación y comercio

Debido a que Sonora entró en fase 2 el 4 de octubre del 2020,se decretó que las autoridades pudiesen utilizar la fuerza sobre los ciudadanos en espacios recreativos. Así mismo los valores de recreación y comercio disminuyeron en esas fechas de acuerdo a los acontecimientos en el Estado. Sin embargo, el día 9 de noviembre del año 2020 Sonora retrocedió a color naranja en el semáforo epidemiológico nacional, así lo dio a conocer esta tarde el subsecretario de Salud, Hugo López-Gatell. Además las autoridades Federales decretaron la evaluación de regresar el semáforo a color amarillo o naranja el día 23 de noviembre del 2020.

  • Se suspendieron actividades recreativas, culturales, deportivas y celebraciones sociales tales como fiestas particulares, quinceañeras, bodas, bautizos, showers, entre otros. Al igual que en el semáforo amarillo, permanecen cerrados antros y centros nocturnos.

  • De lunes a jueves, se suspendieron de 08:00 pm a 06:00 am las actividades en restaurantes, restaurante-bar, parques de comida, casinos, salones de fiestas, centros de entretenimiento, cines, expendios, entre otras.

  • Se suspendieron actividades de viernes a domingo en casinos, salones de fiestas, centros de entretenimiento, cines, expendios, entre otras.

Supermercados

Hermosillo, Sonora a 14 de diciembre de 2020. El llamado a supermercados, comercio formal e informal, plazas comerciales, entre otros, a abrir sus puertas al público desde las 6:00 horas para evitar aglomeraciones y con ello proteger a la población de un posible aumento de contagios de COVID-19, realiza la Secretaría de Salud de Sonora.

Ante el aumento en la afluencia de cliente en los comercios, por las compras navideñas, los establecimientos pueden aprovechar el horario de funcionamiento permitido, que es de 6:00 A.M. a 8:00 P.M., y abrir a más temprana hora para que las personas no se aglomeren y disminuir la propagación de contagios.

Parques

En cuanto a los parques, podemos observar cómo con el transcurso de la pandemia fue disminuyendo drásticamente, manteniéndose en un rango de movilidad bajo, observamos ciertos hallazgos como lo es el 15 de septiembre, día que se celebra el Grito de la independencia donde hubo un incremento de flujo poblacional, como también para las vísperas de nochebuena, también podemos observar cómo, para las vacaciones de semana santa las personas frecuentan los parques.

Estaciones de tránsito

En las estaciones de tránsito, hubo una disminución drástica de su población a partir del viernes 13 de Marzo, comportándose de esta manera y durante los meses por venir, hasta vísperas de nochebuena donde hubo un incremento exponencial, que al igual disminuyó proporcionalmente en Navidad y Año nuevo, después tendríamos otro aumento de movilidad debido a Semana Santa.

Lugares de trabajo

Con el comienzo de la pandemia podemos ver que el uso de los lugares de trabajó cae de forma drástica, esto se debe en gran parte a las restricciones establecidas en los lugares de trabajó para reducir el número de contagios, una parte considerable de los trabajadores cambió a una modalidad de trabajó virtual, gradualmente parte de estos han regresado a la modalidad previa.

Lugares residenciales

Se observa que con el inicio del periodo de cuarentena, el tiempo en los lugares de residencia aumentó de forma considerable, esto es debido a que distintas áreas recreativas y comerciales limitaron su acceso, pero principalmente a que la modalidad de trabajó para una parte de la población cambió de presencial a virtual, a lo largo de la pandemia esta estadística se redujo debido a la apertura económica y de zonas recreativas.

LS0tDQp0aXRsZTogIkFFNVVDMl8xMyINCmF1dGhvcjogJypKb3NlIE51bmV6LCAqIE1hcmlvIEFsZWphbmRybyBTYWxjZWRvLCBWaWN0b3IgTWFudWVsJw0KZGF0ZTogIjI5LzEwLzIwMjEiDQpvdXRwdXQ6IA0KICBybWRmb3JtYXRzOjpkb3duY3V0ZToNCiAgICBoaWdobGlnaHQ6IHRhbmdvDQogICAgY29kZV9mb2xkaW5nOiBoaWRlDQogICAgY29kZV9kb3dubG9hZDogVFJVRQ0KLS0tDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQ0KYGBgDQoNCiMgX19DYXNvIGRlIGVzdHVkaW8gZGUgYW7DoWxpc2lzIGRlbCBlZmVjdG8gZGUgbGEgbW92aWxpZGFkIGRlIHBlcnNvbmFzIGVuIGxhIGNvbnRhbWluYWNpw7NuIGF0bW9zZsOpcmljYSB5IGxhIGluY2lkZW5jaWEgZGUgY2Fzb3MgZGUgY29udGFnaW8gZGUgQ09WSUQtMTlfXw0KDQojIyBQYXF1ZXRlcw0KYGBge3J9DQoNCmxpYnJhcnkocGFjbWFuKQ0KcF9sb2FkKHJtZGZvcm1hdHMscmVhZHIscmVhZHhsLGdncGxvdDIscGxvdGx5LERULHhmdW4sZ3JpZEV4dHJhLGxlYWZsZXQsVFNzdHVkaW8pDQoNCmBgYA0KDQojIyBJbXBvcnRhciBkYXRvcw0KDQpgYGB7cn0NCnNldHdkKCJ+L0VTVEFESVNUSUNBIikNCkNNIDwtIHJlYWRfZXhjZWwoIkNvbmNlbnRyYWNpb25fTW92Lnhsc3giKQ0KZGF0YXRhYmxlKENNKQ0KYGBgDQoNCiMjIENhc28gZGUgZXN0dWRpbw0KDQpMYSBnZXN0acOzbiBkZSBsYSBjb250YW1pbmFjacOzbiBkZWwgYWlyZSBzZSBoYSB2dWVsdG8gaW1wb3J0YW50ZSBlbiBlbCDDumx0aW1vIHBlcmlvZG8gZGViaWRvIGEgbGFzIHNpZ3VpZW50ZXMgYWZpcm1hY2lvbmVzOiDigJxBIGNhdXNhIGRlbCBkZXNhcnJvbGxvIGluZHVzdHJpYWwgeSBhdmFuY2UgdGVjbm9sw7NnaWNvIHNlIGVzdGltYSBhcHJveGltYWRhbWVudGUgMTIwMCBtaWxsb25lcyBkZSBwZXJzb25hcyBlc3TDoW4gZXhwdWVzdGFzIGEgbml2ZWxlcyBkZSBkacOzeGlkbyBkZSBhenVmcmUgKFNPMiksIG11eSBwb3IgZW5jaW1hIGRlIHBvciBkaXJlY3RyaWNlcyBkZSBsYSBPcmdhbml6YWNpw7NuIE11bmRpYWwgZGUgbGEgU2FsdWQgKE9NUykgeSBhcHJveGltYWRhbWVudGUgMTQwMCBtaWxsb25lcyBkZSBwZXJzb25hcyBlc3TDoW4gZXhwdWVzdGFzIGEgbml2ZWxlcyBleGNlc2l2b3MgZGUgaHVtbyB5IG1hdGVyaWFsIGFydGljdWxhZG8gKFBNKeKAnSAoUmljbywgMjAxOCkuDQoNCkxhIGltcG9ydGFuY2lhIGRlIHJlc3BpcmFyIGFpcmUgbGltcGlvIHNpbiBjb250YW1pbmFudGVzIGVzIGNydWNpYWwgcGFyYSB0b2RvIHNlciB2aXZpZW50ZS4gUG9yIGxvIGN1YWwgZXMgaW1wb3J0YW50ZSBxdWUgZXN0ZSBzZWEgYWlyZSBsaW1waW8sIHBlcm8gwr9Dw7NtbyBkZXRlY3RhciBzaSBlbCBhaXJlIHF1ZSByZXNwaXJhbW9zIG5vIHRpZW5lIGNvbnRhbWluYW50ZXM/IMK/Q8OzbW8gbm9zIGFmZWN0YSBhIG5vc290cm9zPy4gTGEgY2FsaWRhZCBkZWwgYWlyZSBlc3TDoSBkaXJlY3RhbWVudGUgcmVsYWNpb25hZGEgY29uIGxhIG1vdmlsaWRhZCBkZSBjYXJyb3MsIGF1dG9idXNlcyB5IGhhc3RhIGxhIHByb3BpYSBtb3ZpbGlkYWQgZGUgbGEgY2l1ZGFkLCBkb25kZSBsYXMgcGVyc29uYXMgcmVhbGl6YW4gc3VzIGFjdGl2aWRhZGVzIGRpYXJpYXMsIHBvciBsbyB0YW50bywgZW50cmUgbcOhcyBtb3ZpbGlkYWQgaGF5YSBlbiBsYSBjaXVkYWQsIGF1bWVudGFuIGxvcyBjb250YW1pbmFudGVzIGVuIGVsIGFpcmUuDQoNCkxvcyBwcmluY2lwYWxlcyBjb250YW1pbmFudGVzIGVuIGVsIGFpcmUgaGFuIHNpZG8gY3JlYWRvcyBwcmluY2lwYWxtZW50ZSBwb3IgbGEgYWN0aXZpZGFkIGVjb27Ds21pY2EgaHVtYW5hLCBsYSBjb25jZW50cmFjacOzbiBkZSBlc3RhcyBzdXN0YW5jaWFzIGVzIGFsdGFtZW50ZSBub2NpdmEgcGFyYSBsYSBzYWx1ZCBkZWwgc2VyIGh1bWFuby4gRXN0ZSBlc3R1ZGlvIHR1dm8gZW4gY3VlbnRhIGxvcyBzaWd1aWVudGVzIGNvbnRhbWluYW50ZXM6DQoNCiogTWF0ZXJpYWwgcGFydGljdWxhZG8gKFBNMTApDQoqIE96b25vIChPMykNCiogRGnDs3hpZG8gZGUgbml0csOzZ2VubyAoTk8yKQ0KKiBEacOzeGlkbyBkZSBhenVmcmUgIChTTzIpDQoNCiMjIyBGdWVudGUgZGUgZGUgbG9zIGRhdG9zDQoNCkxvcyBkYXRvcyBkZSBjb250YW1pbmFudGVzIGF0bW9zZmVyaWNvcyBwcm92aWVuZW4gZGUgbGEgZXN0YWNpw7NuIGRlIGNhbGlkYWQgZGVsIGFpcmUgZGUgbGEgRVJOTyBkZWwgaW5zdGl0dXRvIGRlIGdlb2xvZ8OtYSBkZSBsYSB1bmFtIHViaWNhZG8gZW4gSGVybW9zaWxsby4gUG9kZW1vcyB2aXNpdGFyIGVsIG9yaWdlbiBkZSBsb3MgZGF0b3MgYXF1aTogaHR0cDovL3d3dy5lcm5vLmdlb2xvZ2lhLnVuYW0ubXgNCg0KTGEgZXN0YWNpw7NuIGRlIGNhbGlkYWQgZGVsIGFpcmUgc2UgZW5jdWVudHJhIHViaWNhZGEgZW4gZWwgc2lndWllbnRlIG1hcGEgaW50ZXJhY3Rpdm86DQoNCiMjIyBVYmljYWNpw7NuIGRlIGRvbmRlIHNlIG9idHV2aWVyb24gbG9zIGRhdG9zDQoNCmBgYHtyfQ0KY29udGVudCA8LSBwYXN0ZShzZXAgPSAiPGJyLz4iLA0KICAiPGI+PGEgaHJlZj0naHR0cHM6Ly93d3cucnVvYS51bmFtLm14L2luZGV4LnBocD9wYWdlPWVzdGFjaW9uZXMmaWQ9NiNkYXRvcyc+RVJOTzwvYT48L2I+IiwiTG5nOiAtMTEwLjk3MDYsIExhdDogMjkuMDgxNCIpDQoNCg0KbSA8LSBsZWFmbGV0KCkgJT4lDQogIGFkZFRpbGVzKCkgJT4lICANCiAgYWRkTWFya2Vycyhsbmc9LTExMC45NzA2LCBsYXQ9IDI5LjA4MTQsIHBvcHVwPSBjb250ZW50KQ0KDQptDQpgYGANCg0KKiBMYSBjb250YW1pbmFjacOzbiBkZWwgYWlyZSBlcyBlbCBwcmluY2lwYWwgcmllc2dvIGFtYmllbnRhbCBwYXJhIGxhIHNhbHVkIHDDumJsaWNhIGVuIGxhcyBBbcOpcmljYXMuDQoqIEVuIHRvZG8gZWwgbXVuZG8sIGNlcmNhIGRlIDcgbWlsbG9uZXMgZGUgbXVlcnRlcyBwcmVtYXR1cmFzIGZ1ZXJvbiBhdHJpYnVpYmxlcyBhIGxhIGNvbnRhbWluYWNpw7NuIGRlbCBhaXJlIGFtYmllbnRhbCBlbiAyMDE2LiBBbHJlZGVkb3IgZGVsIDg4JSBkZSBlc3RhcyBtdWVydGVzIG9jdXJyZW4gZW4gcGHDrXNlcyBkZSBpbmdyZXNvcyBiYWpvcyB5IG1lZGlvcy4NCiogTcOhcyBkZSAxNTAgbWlsbG9uZXMgZGUgcGVyc29uYXMgZW4gQW3DqXJpY2EgTGF0aW5hIHZpdmVuIGVuIGNpdWRhZGVzIHF1ZSBleGNlZGVuIGxhcyBHdcOtYXMgZGUgQ2FsaWRhZCBkZWwgQWlyZSBkZSBsYSBPTVMuDQoqIExhIGV4cG9zaWNpw7NuIGEgYWx0b3Mgbml2ZWxlcyBkZSBjb250YW1pbmFjacOzbiBkZWwgYWlyZSBwdWVkZSBjYXVzYXIgdW5hIHZhcmllZGFkIGRlIHJlc3VsdGFkb3MgYWR2ZXJzb3MgcGFyYSBsYSBzYWx1ZDogYXVtZW50YSBlbCByaWVzZ28gZGUgaW5mZWNjaW9uZXMgcmVzcGlyYXRvcmlhcywgZW5mZXJtZWRhZGVzIGNhcmRpYWNhcywgZGVycmFtZXMgY2VyZWJyYWxlcyB5IGPDoW5jZXIgZGUgcHVsbcOzbiwgbGFzIGN1YWxlcyBhZmVjdGFuIGVuIG1heW9yIHByb3BvcmNpw7NuIGEgcG9ibGFjacOzbiB2dWxuZXJhYmxlLCBuacOxb3MsIGFkdWx0b3MgbWF5b3JlcyB5IG11amVyZXMuDQoqIExhIGNvbnRhbWluYWNpw7NuIGRlbCBhaXJlIGVuIGVsIGhvZ2FyIHNlIGFzb2NpYSBhbCB1c28gZGUgY29tYnVzdGlibGVzIHkgcHLDoWN0aWNhcyBkZSBjb2NpbmEgaW5lZmljaWVudGUNCg0KDQojIyBSZWdyZXNpw7NuIExpbmVhbCBNw7psdGlwbGUNCg0KTGEgcmVncmVzacOzbiBsaW5lYWwgbcO6bHRpcGxlIHBlcm1pdGUgZ2VuZXJhciB1biBtb2RlbG8gbGluZWFsIGVuIGVsIHF1ZSBlbCB2YWxvciBkZSBsYSB2YXJpYWJsZSBkZXBlbmRpZW50ZSBvIHJlc3B1ZXN0YSAoWSkgc2UgZGV0ZXJtaW5hIGEgcGFydGlyIGRlIHVuIGNvbmp1bnRvIGRlIHZhcmlhYmxlcyBpbmRlcGVuZGllbnRlcyBsbGFtYWRhcyBwcmVkaWN0b3JlcyAoWDEsWDIsWDPigKYpLiBMb3MgbW9kZWxvcyBkZSByZWdyZXNpw7NuIG3Dumx0aXBsZSBwdWVkZW4gZW1wbGVhcnNlIHBhcmEgcHJlZGVjaXIgZWwgdmFsb3IgZGUgbGEgdmFyaWFibGUgZGVwZW5kaWVudGUgbyBwYXJhIGV2YWx1YXIgbGEgaW5mbHVlbmNpYSBxdWUgdGllbmVuIGxvcyBwcmVkaWN0b3JlcyBzb2JyZSBlbGxhIChlc3RvIMO6bHRpbW8gc2UgZGViZSBxdWUgYW5hbGl6YXIgY29uIGNhdXRlbGEgcGFyYSBubyBtYWxpbnRlcnByZXRhciBjYXVzYS1lZmVjdG8pLiAoUm9kcmlnbywgMjAxNikNCg0KTG9zIG1vZGVsb3MgbGluZWFsZXMgbcO6bHRpcGxlcyBzaWd1ZW4gbGEgc2lndWllbnRlIGVjdWFjacOzbjoNCg0KWWk9KM6yMCvOsjFYMWkrzrIyWDJpK+KLryvOsm5YbmkpK2VpDQoNCiMjIE1vdmlsaWRhZCBkZSBwZXJzb25hcyBlbiBTb25vcmENCg0KUGFyYSBlc3RvIGVzdGFtb3MgdXNhbmRvIGRhdG9zIGRlIGdvb2dsZSBtb2JpbGl0eSByZXBvcnQsIHF1ZSBwdWVkZW4gc2VyIGVuY29udHJhZG9zIGNvbiBzdSBkb2N1bWVudGFjaW9uIGFxdWk6IGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vY292aWQxOS9tb2JpbGl0eS8NCg0KYGBge3J9DQptb3ZpbGlkYWQgPC0gZ2dwbG90KENNKSArDQogIGdlb21fbGluZShhZXMoeD1GZWNoYSx5PVJlYWN0aXZhY2lvbl9Db21lcmNpYWwsY29sb3VyPSJSZWNyZWFjacODwrNuIHkgY29tZXJjaW8iKSkrDQogICAgZ2VvbV9saW5lKGFlcyh4PUZlY2hhLHk9U3VwZXJtZXJjYWRvX0Zhcm1hY2lhLGNvbG91cj0iU3VwZXJtZXJjYWRvcyB5IGZhcm1hY2lhcyIpKSsNCiAgICBnZW9tX2xpbmUoYWVzKHg9RmVjaGEseT1QYXJxdWVzX0NlbnRyb3MsY29sb3VyPSJQYXJxdWVzIikpKw0KICAgIGdlb21fbGluZShhZXMoeD1GZWNoYSx5PUVzdGFjaW9uZXNfVHJhbnNpdG8sY29sb3VyPSJFc3RhY2lvbmVzIGRlIHRyw4PCoW5zaXRvIikpKw0KICAgIGdlb21fbGluZShhZXMoeD1GZWNoYSx5PUx1Z2FyZXNfVHJhYmFqbyxjb2xvdXI9Ikx1Z2FyZXMgZGUgdHJhYmFqbyIpKSsNCiAgICBnZW9tX2xpbmUoYWVzKHg9RmVjaGEseT1SZXNpZGVuY2lhLGNvbG91cj0iTHVnYXJlcyByZXNpZGVuY2lhbGVzIikpKw0KICAgIGxhYnModGl0bGU9IlJlcG9ydGUgZGUgbW92aWxpZGFkIix4PSJGZWNoYSIseT0iUHJvY2VudGFqZSBkZSBjYW1iaW8gZGUgbW92aWxpZGFkIikNCmdncGxvdGx5KG1vdmlsaWRhZCkNCmBgYA0KDQoNCiMjIEVudGVuZGVyIGxhIHJlbGFjacOzbiBlbnRyZSBsYSBkaXNwZXJzacOzbiBjcnV6YWRhIGRlIGxvcyBkYXRvcw0KDQpNYXRyaXogZGUgZGlhZ3JhbWFzIGRlIGRpc3BlcnNpw7NuDQoNCg0KDQojIyBfX0NvbmNsdXNpb25lc19fDQoNCl9fUmVjcmVhY2nDs24geSBjb21lcmNpb19fDQoNCkRlYmlkbyBhIHF1ZSBTb25vcmEgZW50csOzIGVuIGZhc2UgMiBlbCA0IGRlIG9jdHVicmUgZGVsIDIwMjAsc2UgZGVjcmV0w7MgcXVlIGxhcyBhdXRvcmlkYWRlcyBwdWRpZXNlbiB1dGlsaXphciBsYSBmdWVyemEgc29icmUgbG9zIGNpdWRhZGFub3MgZW4gZXNwYWNpb3MgcmVjcmVhdGl2b3MuIEFzw60gbWlzbW8gbG9zIHZhbG9yZXMgZGUgcmVjcmVhY2nDs24geSBjb21lcmNpbyBkaXNtaW51eWVyb24gZW4gZXNhcyBmZWNoYXMgZGUgYWN1ZXJkbyBhIGxvcyBhY29udGVjaW1pZW50b3MgZW4gZWwgRXN0YWRvLiBTaW4gZW1iYXJnbywgZWwgZMOtYSA5IGRlIG5vdmllbWJyZSBkZWwgYcOxbyAyMDIwIFNvbm9yYSByZXRyb2NlZGnDsyBhIGNvbG9yIG5hcmFuamEgZW4gZWwgc2Vtw6Fmb3JvIGVwaWRlbWlvbMOzZ2ljbyBuYWNpb25hbCwgYXPDrSBsbyBkaW8gYSBjb25vY2VyIGVzdGEgdGFyZGUgZWwgc3Vic2VjcmV0YXJpbyBkZSBTYWx1ZCwgSHVnbyBMw7NwZXotR2F0ZWxsLiBBZGVtw6FzIGxhcyBhdXRvcmlkYWRlcyBGZWRlcmFsZXMgZGVjcmV0YXJvbiBsYSBldmFsdWFjacOzbiBkZSByZWdyZXNhciBlbCBzZW3DoWZvcm8gYSBjb2xvciBhbWFyaWxsbyBvIG5hcmFuamEgZWwgZMOtYSAyMyBkZSBub3ZpZW1icmUgZGVsIDIwMjAuDQoNCiogX1NlIHN1c3BlbmRpZXJvbiBhY3RpdmlkYWRlcyByZWNyZWF0aXZhcywgY3VsdHVyYWxlcywgZGVwb3J0aXZhcyB5IGNlbGVicmFjaW9uZXMgc29jaWFsZXMgdGFsZXMgY29tbyBmaWVzdGFzIHBhcnRpY3VsYXJlcywgcXVpbmNlYcOxZXJhcywgYm9kYXMsIGJhdXRpem9zLCBzaG93ZXJzLCBlbnRyZSBvdHJvcy4gQWwgaWd1YWwgcXVlIGVuIGVsIHNlbcOhZm9ybyBhbWFyaWxsbywgcGVybWFuZWNlbiBjZXJyYWRvcyBhbnRyb3MgeSBjZW50cm9zIG5vY3R1cm5vcy5fDQoNCiogX0RlIGx1bmVzIGEganVldmVzLCBzZSBzdXNwZW5kaWVyb24gZGUgMDg6MDAgcG0gYSAwNjowMCBhbSBsYXMgYWN0aXZpZGFkZXMgZW4gcmVzdGF1cmFudGVzLCByZXN0YXVyYW50ZS1iYXIsIHBhcnF1ZXMgZGUgY29taWRhLCBjYXNpbm9zLCBzYWxvbmVzIGRlIGZpZXN0YXMsIGNlbnRyb3MgZGUgZW50cmV0ZW5pbWllbnRvLCBjaW5lcywgZXhwZW5kaW9zLCBlbnRyZSBvdHJhcy5fDQoNCiogX1NlIHN1c3BlbmRpZXJvbiBhY3RpdmlkYWRlcyBkZSB2aWVybmVzIGEgZG9taW5nbyBlbiBjYXNpbm9zLCBzYWxvbmVzIGRlIGZpZXN0YXMsIGNlbnRyb3MgZGUgZW50cmV0ZW5pbWllbnRvLCBjaW5lcywgZXhwZW5kaW9zLCBlbnRyZSBvdHJhcy5fDQoNCg0KX19TdXBlcm1lcmNhZG9zX18NCg0KSGVybW9zaWxsbywgU29ub3JhIGEgMTQgZGUgZGljaWVtYnJlIGRlIDIwMjAuIEVsIGxsYW1hZG8gYSBzdXBlcm1lcmNhZG9zLCBjb21lcmNpbyBmb3JtYWwgZSBpbmZvcm1hbCwgcGxhemFzIGNvbWVyY2lhbGVzLCBlbnRyZSBvdHJvcywgYSBhYnJpciBzdXMgcHVlcnRhcyBhbCBww7pibGljbyBkZXNkZSBsYXMgNjowMCBob3JhcyBwYXJhIGV2aXRhciBhZ2xvbWVyYWNpb25lcyB5IGNvbiBlbGxvIHByb3RlZ2VyIGEgbGEgcG9ibGFjacOzbiBkZSB1biBwb3NpYmxlIGF1bWVudG8gZGUgY29udGFnaW9zIGRlIENPVklELTE5LCByZWFsaXphIGxhIFNlY3JldGFyw61hIGRlIFNhbHVkIGRlIFNvbm9yYS4NCg0KQW50ZSBlbCBhdW1lbnRvIGVuIGxhIGFmbHVlbmNpYSBkZSBjbGllbnRlIGVuIGxvcyBjb21lcmNpb3MsIHBvciBsYXMgY29tcHJhcyBuYXZpZGXDsWFzLCBsb3MgZXN0YWJsZWNpbWllbnRvcyBwdWVkZW4gYXByb3ZlY2hhciBlbCBob3JhcmlvIGRlIGZ1bmNpb25hbWllbnRvIHBlcm1pdGlkbywgcXVlIGVzIGRlIDY6MDAgQS5NLiBhIDg6MDAgUC5NLiwgeSBhYnJpciBhIG3DoXMgdGVtcHJhbmEgaG9yYSBwYXJhIHF1ZSBsYXMgcGVyc29uYXMgbm8gc2UgYWdsb21lcmVuIHkgZGlzbWludWlyIGxhIHByb3BhZ2FjacOzbiBkZSBjb250YWdpb3MuDQoNCl9fUGFycXVlc19fDQoNCkVuIGN1YW50byBhIGxvcyBwYXJxdWVzLCBwb2RlbW9zIG9ic2VydmFyIGPDs21vIGNvbiBlbCB0cmFuc2N1cnNvIGRlIGxhIHBhbmRlbWlhIGZ1ZSBkaXNtaW51eWVuZG8gZHLDoXN0aWNhbWVudGUsIG1hbnRlbmnDqW5kb3NlIGVuIHVuIHJhbmdvIGRlIG1vdmlsaWRhZCBiYWpvLCBvYnNlcnZhbW9zIGNpZXJ0b3MgaGFsbGF6Z29zIGNvbW8gbG8gZXMgZWwgMTUgZGUgc2VwdGllbWJyZSwgZMOtYSBxdWUgc2UgY2VsZWJyYSBlbCBHcml0byBkZSBsYSBpbmRlcGVuZGVuY2lhIGRvbmRlIGh1Ym8gdW4gaW5jcmVtZW50byBkZSBmbHVqbyBwb2JsYWNpb25hbCwgY29tbyB0YW1iacOpbiBwYXJhIGxhcyB2w61zcGVyYXMgZGUgbm9jaGVidWVuYSwgdGFtYmnDqW4gcG9kZW1vcyBvYnNlcnZhciBjw7NtbywgcGFyYSBsYXMgdmFjYWNpb25lcyBkZSBzZW1hbmEgc2FudGEgbGFzIHBlcnNvbmFzIGZyZWN1ZW50YW4gbG9zIHBhcnF1ZXMuDQoNCl9fRXN0YWNpb25lcyBkZSB0csOhbnNpdG9fXw0KDQpFbiBsYXMgZXN0YWNpb25lcyBkZSB0csOhbnNpdG8sIGh1Ym8gdW5hIGRpc21pbnVjacOzbiBkcsOhc3RpY2EgZGUgc3UgcG9ibGFjacOzbiBhIHBhcnRpciBkZWwgdmllcm5lcyAxMyBkZSBNYXJ6bywgY29tcG9ydMOhbmRvc2UgZGUgZXN0YSBtYW5lcmEgeSBkdXJhbnRlIGxvcyBtZXNlcyBwb3IgdmVuaXIsIGhhc3RhIHbDrXNwZXJhcyBkZSBub2NoZWJ1ZW5hIGRvbmRlIGh1Ym8gdW4gaW5jcmVtZW50byBleHBvbmVuY2lhbCwgcXVlIGFsIGlndWFsIGRpc21pbnV5w7MgcHJvcG9yY2lvbmFsbWVudGUgZW4gTmF2aWRhZCB5IEHDsW8gbnVldm8sIGRlc3B1w6lzIHRlbmRyw61hbW9zIG90cm8gYXVtZW50byBkZSBtb3ZpbGlkYWQgZGViaWRvIGEgU2VtYW5hIFNhbnRhLg0KDQpfX0x1Z2FyZXMgZGUgdHJhYmFqb19fDQoNCkNvbiBlbCBjb21pZW56byBkZSBsYSBwYW5kZW1pYSBwb2RlbW9zIHZlciBxdWUgZWwgdXNvIGRlIGxvcyBsdWdhcmVzIGRlIHRyYWJhasOzIGNhZSBkZSBmb3JtYSBkcsOhc3RpY2EsIGVzdG8gc2UgZGViZSBlbiBncmFuIHBhcnRlIGEgbGFzIHJlc3RyaWNjaW9uZXMgZXN0YWJsZWNpZGFzIGVuIGxvcyBsdWdhcmVzIGRlIHRyYWJhasOzIHBhcmEgcmVkdWNpciBlbCBuw7ptZXJvIGRlIGNvbnRhZ2lvcywgdW5hIHBhcnRlIGNvbnNpZGVyYWJsZSBkZSBsb3MgdHJhYmFqYWRvcmVzIGNhbWJpw7MgYSB1bmEgbW9kYWxpZGFkIGRlIHRyYWJhasOzIHZpcnR1YWwsIGdyYWR1YWxtZW50ZSBwYXJ0ZSBkZSBlc3RvcyBoYW4gcmVncmVzYWRvIGEgbGEgbW9kYWxpZGFkIHByZXZpYS4NCg0KX19MdWdhcmVzIHJlc2lkZW5jaWFsZXNfXw0KDQpTZSBvYnNlcnZhIHF1ZSBjb24gZWwgaW5pY2lvIGRlbCBwZXJpb2RvIGRlIGN1YXJlbnRlbmEsIGVsIHRpZW1wbyBlbiBsb3MgbHVnYXJlcyBkZSByZXNpZGVuY2lhIGF1bWVudMOzIGRlIGZvcm1hIGNvbnNpZGVyYWJsZSwgZXN0byBlcyBkZWJpZG8gYSBxdWUgZGlzdGludGFzIMOhcmVhcyByZWNyZWF0aXZhcyB5IGNvbWVyY2lhbGVzIGxpbWl0YXJvbiBzdSBhY2Nlc28sIHBlcm8gcHJpbmNpcGFsbWVudGUgYSBxdWUgbGEgbW9kYWxpZGFkIGRlIHRyYWJhasOzIHBhcmEgdW5hIHBhcnRlIGRlIGxhIHBvYmxhY2nDs24gY2FtYmnDsyBkZSBwcmVzZW5jaWFsIGEgdmlydHVhbCwgYSBsbyBsYXJnbyBkZSBsYSBwYW5kZW1pYSBlc3RhIGVzdGFkw61zdGljYSBzZSByZWR1am8gZGViaWRvIGEgbGEgYXBlcnR1cmEgZWNvbsOzbWljYSB5IGRlIHpvbmFzIHJlY3JlYXRpdmFzLg0KDQoNCg==