• PORTADA
    • Últimas noticias
    • España
      • Andalucía
      • Aragón
      • Canarias
      • Castilla y León
      • Castilla-La Mancha
      • Cataluña
      • Comunidad Valenciana
      • Madrid
      • Galicia
      • País Vasco
    • OKBaleares
    • Navarra.com
    • Opinión
    • Investigación
    • Economía
      • Empresas
      • Consumo
      • Empleo
    • Sociedad
    • Metabolic
    • Talent24H
    • Techy
    • Diario Madridista
      • Últimas noticias
      • Real Madrid
    • Deportes
      • Fútbol
      • Atlético de Madrid
      • Barcelona
      • Champions League
      • Tenis
      • Fórmula 1
    • Mundial 2026
    • Sucesos
    • Internacional
    • Cool
      • Actualidad
      • Belleza
      • Casa Real
      • Famosos
      • Moda
      • Lifestyle
      • Televisión
    • HappyFM
    • Cine y Series
    • OKMotor
    • OKSalud
    • OKGreen
    • Curiosidades
    • ESPECIALES
      • Recetas
      • ¿Cómo se hace?
      • Religión
      • Mascotas
      • Bebés
      • Tecnología
      • Naturaleza
      • Educación
      • Historia
      • Ciencia
      • Listas
      • Gastronomía
      • Historia
      • Horóscopo
    • OKPlanes
    • OKCLUB
    • OkShopping
    • Lotería
    • SER PADRES
    • MIA REVISTA
    • Muy interesante
Destacados:
  • Falsos nietos del exilio
  • Campaña PSOE
  • Votos antisanchistas
  • Iker Jiménez Ceuta
  • Voto por correo Sánchez
  • Falta de apoyo en Ceuta
  • Rufián Congreso
  • Iker Jiménez y Carmen Porter
  • Ayuso voto exterior
  • Mohamed VI
  • Viñeta Puebla
  • Precio de la gasolina Andalucía
  • Precio de la gasolina Madrid
  • Toros en Andalucía Hispanidad
  • Masters 1000 de Shanghái 2026
  • Horario GP de Indonesia
  • Horario GP de Singapur de F1
  • Horario Alavés – Atlético de Madrid
  • Horario Barcelona – Getafe
  • Horario Real Madrid – Villarreal
  • Alineación Real Madrid
  • Alineación Barcelona
  • Horario Rafa Jódar – Jiri Lehecka
  • Últimas noticias
Más

    El sitio de los inconformistas

    10 Oct 2026
    Actualizado 16:47 CET
    INICIAR SESIÓN
    Es Noticia
    • Qué beneficios tiene poner una HOJA de LAUREL en la puerta
    • La PSICOLOGÍA explica la mala EDUCACIÓN de las personas
    • La CONFESIÓN de David Bisbal sobre su INFANCIA
    • La FECHA del cambio de HORA al INVIERNO en España
    • La FÓRMULA SECRETA de los chefs para cocinar la CARNE
    • No te acerques si ves estos HUEVOS blancos cerca del agua
    • Para qué sirve poner ARROZ en la cáscara de la NARANJA
    • Los BENEFICIOS de las HOJAS de laurel secas
    • La PLAZA más BONITA de España que poca gente conoce
    • La REFLEXIÓN de Jean Piaget sobre la EDUCACIÓN
    • La RUTINA favorita del ACTOR Willem Dafoe
    • El LEMA HISTÓRICO de los Tercios españoles
    • Se buscan VOLUNTARIOS para vivir GRATIS en LEÓN
    • La profunda REFLEXIÓN que dejó Santiago Ramón y Cajal sobre la VEJEZ
    • El PLATO TÍPICO de Navarra que solo lo disfrutan los privilegiados
    • Se concede la subida de las PENSIONES si cumples este requisito
    • Martín Berasategui revela la CENA PERFECTA fácil de cocinar
    • La RECETA de los CHEFS para cocinar HUESOS DE SANTO
    • La advertencia de los VETERINARIOS con los gatos persas
    • El dispositivo que ELIMINA los CHINCHES de la cama en otoño

    Okdiario

    • España
    • Economía
    • Deportes
    • Diario Madridista
    • Investigación
    • Cool
    • Opinión
    • Sociedad
    • Lotería de Navidad
    • Un vídeo de campaña del PSOE señala a Eduardo Inda y Losantos por denunciar las mentiras del sanchismo
        • España
        • España

      Un vídeo de campaña del PSOE señala a Eduardo Inda y Losantos por denunciar las mentiras del sanchismo

      • Paula Benito
      • 2026-10-10 14:00
    • Sánchez abre su primer mitin del 29-N con un vídeo de Eduardo Inda llamándole mentiroso compulsivo
        • España
        • España

      Sánchez abre su primer mitin del 29-N con un vídeo de Eduardo Inda llamándole "mentiroso compulsivo"

      • Paula Benito
      • 2026-10-10 14:04
    • Feijóo retrata a Sánchez: Yo no vengo de las saunas, ni de las cloacas, sino de la gestión
        • España
        • España

      Feijóo retrata a Sánchez: "Yo no vengo de las saunas, ni de las cloacas, sino de la gestión"

      • Segundo Sanz
      • 2026-10-10 13:02
    • Ayuso alerta sobre el voto exterior: La banda de Sánchez pulula por consulados que registran mayores altas en los censos
        • España
        • España

      Ayuso alerta del voto exterior: "La banda de Sánchez pulula por consulados que registran mayores altas en los censos"

      • Rafael Molina
      • 2026-10-10 12:26
    • Sánchez fleta 14 autobuses y moviliza 8 coches oficiales para su primer mitin de precampaña en Dos Hermanas (Sevilla)
        • España
        • España

      Sánchez fleta 14 autobuses y moviliza 8 coches oficiales para su mitin en Dos Hermanas (Sevilla)

      • Ezequiel Marín
      • 2026-10-10 13:43
    • Sánchez, ante las dudas del PP con el voto por correo: Tienen razón, si se llenan las urnas, gana la gente
        • España
        • España

      Sánchez, ante las dudas del PP con el voto por correo: "Tienen razón, si se llenan las urnas, gana la gente"

      El presidente del Gobierno, Pedro Sánchez, ha atacado al PP por dudar del voto por correo. El líder socialista ha asegurado que los dirigentes populares sienten "miedo" ante la participación de la ciudadanía y ha reconocido que debe ser así: "Tienen razón, si se llenan las urnas, gana la gente". Así se ha expresado este sábado en el primer mitin de precampaña en Dos Hermanas (Sevilla).
      • Rafael Molina
      • 2026-10-10 13:43
    • María Jesús Montero alaba a la imputada Begoña Gómez: Gracias por apoyarle siempre y ser fuerte
        • España
        • España

      María Jesús Montero alaba a la imputada Begoña Gómez: "Gracias por ser fuerte"

      • Rafael Molina
      • 2026-10-10 15:01
    • Feijóo llena un auditorio de Madrid en su primer mitin de precampaña y cientos de personas se quedan fuera
        • España
        • España

      Feijóo llena un auditorio de Madrid en su primer acto y cientos de personas se quedan fuera

      • Segundo Sanz
      • 2026-10-10 11:57
    • Almeida promete recorrer todo Madrid por el cambio: No nos vamos a ir a La Mareta, sino a las calles
        • España
        • España

      Almeida promete recorrer todo Madrid por el cambio: "No nos vamos a ir a La Mareta, sino a las calles"

      • Segundo Sanz
      • 2026-10-10 12:32
    • Apoteósico éxito de Iker Jiménez y Carmen Porter en el V aniversario de OKBALEARES: Con Sánchez nunca se sabe, en 50 días pueden pasar muchas cosas
        • OkBaleares
        • OkBaleares

      Apoteósico éxito de Iker Jiménez y Carmen Porter en el V aniversario de OKBALEARES: "Con Sánchez nunca se sabe, en 50 días pueden pasar muchas cosas"

      La presencia de Iker Jiménez y Carmen Porter, junto a Eduardo Inda en el acto del V aniversario de OKBALEARES ha constituido un éxito absoluto. Los más de 2.500 asistentes han vivido dos horas llenas de entretenimiento, risas y periodismo.
      • María Ruiz
      • 2026-10-09 23:12
    • PHN0eWxlPgogIC5hcGVydHVyYS1vbmVUaGlyZC1pMmR4dHJnMyBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CiAgQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOyBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyME1lZGl1bSUyMENuZC5vdGYiKTsgfQogIEBmb250LWZhY2UgeyBmb250LWZhbWlseTogImFtcGxpdHVkZS1tZWRpdW0td2lkZSI7IHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwVGFiJTIwTWVkaXVtLm90ZiIpOyB9CiAgQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLWJvb2siOyBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7IH0KCiAgLyogUmVjdXBlcmEgZWwgY29tcG9ydGFtaWVudG8gZGVsIHF1ZSBz7SBmdW5jaW9uYSAqLwogIC5hcGVydHVyYS1vbmVUaGlyZC1pMmR4dHJnMyAuY29udGVuZWRvciB7CiAgICB3aWR0aDogYXV0bzsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKICAgIHotaW5kZXg6IDA7CiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsKICAgIGZsb2F0OiBpbmxpbmUtZW5kOyAvKiA8LSBJTVBPUlRBTlRFIGVuIDEvMiB5IDIvMyAqLwogIH0KCiAgLmFwZXJ0dXJhLW9uZVRoaXJkLWkyZHh0cmczIC52aWRlby1jb250ZW5lZG9yIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiBhdXRvOwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJhY2tncm91bmQtY29sb3I6ICNFNEU0RTQ7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zaXRpb246IC4zczsKICB9CiAgLmFwZXJ0dXJhLW9uZVRoaXJkLWkyZHh0cmczIC5iYWNrZ3JvdW5kLXZpZGVvIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgfQoKICAuYXBlcnR1cmEtb25lVGhpcmQtaTJkeHRyZzMgLnBsYXktYnV0dG9uIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAxMHB4OwogICAgbWFyZ2luLXRvcDogMTBweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjcpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjQyKTsKICAgIGNvbG9yOiAjZmZmOwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgei1pbmRleDogMjsKICAgIGFuaW1hdGlvbjogYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgfQogIC5hcGVydHVyYS1vbmVUaGlyZC1pMmR4dHJnMyAucGxheS1pY29uewogICAgd2lkdGg6MDsgaGVpZ2h0OjA7IGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjsgYm9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50OyBtYXJnaW4tcmlnaHQ6NXB4OwogIH0KICAuYXBlcnR1cmEtb25lVGhpcmQtaTJkeHRyZzMgLnBsYXktdGV4dHsgZm9udC1zaXplOjE2cHg7IGZvbnQtd2VpZ2h0OmJvbGQgfQogIEBrZXlmcmFtZXMgYmxpbmsgeyAwJSwxMDAleyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC43KSB9IDUwJXsgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTY1LDI1NSwwLjkpIH0gfQogIC5hcGVydHVyYS1vbmVUaGlyZC1pMmR4dHJnMyAucGxheS1idXR0b246aG92ZXJ7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjkpIH0KCiAgLyogQfFhZGlkbyBpZ3VhbCBxdWUgZW4gbGEgdmVyc2nzbiBxdWUgZnVuY2lvbmEgKi8KICAuYXBlcnR1cmEtb25lVGhpcmQtaTJkeHRyZzMgLmRlc2NyaXBjaW9uIHsgcGFkZGluZzogMCA0MHB4IDAgMjBweDsgfQoKICAuYXBlcnR1cmEtb25lVGhpcmQtaTJkeHRyZzMgLmRlc2NyaXBjaW9uIC5ldGlxdWV0YXMgewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsgcGFkZGluZy1sZWZ0OiAwcHg7CiAgfQogIC5hcGVydHVyYS1vbmVUaGlyZC1pMmR4dHJnMyAuZGVzY3JpcGNpb24gLmV0aXF1ZXRhIHsKICAgIGZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtbWVkaXVtLXdpZGUiLHNhbnMtc2VyaWY7IGNvbG9yOiNmZmY7IGZvbnQtd2VpZ2h0OjcwMDsgZm9udC1zaXplOjEycHg7CiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGRpc3BsYXk6aW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsgYmFja2dyb3VuZDojM2VhNmQxOyB3aWR0aDpmaXQtY29udGVudDsgcGFkZGluZzo1cHggMTBweDsgbWFyZ2luLWxlZnQ6MDsKICB9CgogIC8qIE1pc21hIGzzZ2ljYSBkZSB2aXNpYmlsaWRhZCBxdWUgZWwgYnVlbm86IHNlIG9jdWx0YSBzaSBlc3ThIHZhY+1vICovCiAgLmFwZXJ0dXJhLW9uZVRoaXJkLWkyZHh0cmczIC5kZXNjcmlwY2lvbiAuYnJlYWtpbmcgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6Y2VudGVyOyBnYXA6NnB4OyBjb2xvcjojZDAwMjFiOyBmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS13aWRlIixzYW5zLXNlcmlmOyBmb250LXdlaWdodDo3MDA7IGZvbnQtc2l6ZToxNHB4OyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IH0KICAuYXBlcnR1cmEtb25lVGhpcmQtaTJkeHRyZzMgLmRlc2NyaXBjaW9uIC5icmVha2luZzplbXB0eSB7IGRpc3BsYXk6IG5vbmU7IH0KICAuYXBlcnR1cmEtb25lVGhpcmQtaTJkeHRyZzMgLmRlc2NyaXBjaW9uIC5icmVha2luZyAucmFkYXIgeyB3aWR0aDoxMHB4OyBoZWlnaHQ6MTBweDsgYm9yZGVyLXJhZGl1czo1MCU7IGJhY2tncm91bmQ6I2QwMDIxYjsgcG9zaXRpb246cmVsYXRpdmU7IGZsZXg6MCAwIDEwcHg7IH0KICAuYXBlcnR1cmEtb25lVGhpcmQtaTJkeHRyZzMgLmRlc2NyaXBjaW9uIC5icmVha2luZyAucmFkYXI6OmFmdGVyIHsgY29udGVudDoiIjsgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0Oi02cHg7IGJvcmRlcjoycHggc29saWQgcmdiYSgyMDgsMiwyNywuNDUpOyBib3JkZXItcmFkaXVzOjUwJTsgYW5pbWF0aW9uOnJhZGFyUHVsc2UgMS44cyBlYXNlLW91dCBpbmZpbml0ZTsgfQogIEBrZXlmcmFtZXMgcmFkYXJQdWxzZXsgMCV7IHRyYW5zZm9ybTpzY2FsZSguNyk7IG9wYWNpdHk6LjcgfSAxMDAleyB0cmFuc2Zvcm06c2NhbGUoMS42KTsgb3BhY2l0eTowIH0gfQoKICAuYXBlcnR1cmEtb25lVGhpcmQtaTJkeHRyZzMgLmRlc2NyaXBjaW9uIGgyIHsKICAgIGZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCIsc2Fucy1zZXJpZjsgZm9udC1zaXplOjEuMnJlbSAhaW1wb3J0YW50OwogICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBjb2xvcjojMzMzOyBtYXJnaW46MTVweCAwOyB3aGl0ZS1zcGFjZTpwcmUtbGluZTsgZm9udC13ZWlnaHQ6NjAwOwogIH0KICAuYXBlcnR1cmEtb25lVGhpcmQtaTJkeHRyZzMgLmRlc2NyaXBjaW9uIHAgewogICAgbWFyZ2luOjAgMCAyMHB4ICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246anVzdGlmeTsgZm9udC1mYW1pbHk6ImFtcGxpdHVkZS1ib29rIixzYW5zLXNlcmlmOyBjb2xvcjojMzMzOwogICAgZm9udC13ZWlnaHQ6MjAwOyBmb250LXNpemU6MS4xcmVtOyBsaW5lLWhlaWdodDoxLjNlbTsgd2hpdGUtc3BhY2U6cHJlLWxpbmU7CiAgfQogIC5hcGVydHVyYS1vbmVUaGlyZC1pMmR4dHJnMyAuZGVzY3JpcGNpb24gLmF1dG9yIHsKICAgIGZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtYm9vayIsc2Fucy1zZXJpZjsgY29sb3I6IzMzMzsgZm9udC13ZWlnaHQ6MjAwOyBmb250LXNpemU6LjhlbTsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgdGV4dC1hbGlnbjpyaWdodDsgZGlzcGxheTpibG9jazsKICB9CgogIEBtZWRpYSAobWF4LXdpZHRoOjc2OHB4KXsKICAgIC5hcGVydHVyYS1vbmVUaGlyZC1pMmR4dHJnMyAuZGVzY3JpcGNpb257IHBhZGRpbmc6MCAyMHB4IDAgMjBweCAhaW1wb3J0YW50OyB9CiAgICAuYXBlcnR1cmEtb25lVGhpcmQtaTJkeHRyZzMgLnBsYXktYnV0dG9uIHsgbWFyZ2luLXRvcDogMTBweDsgfQogIH0KPC9zdHlsZT4KPGRpdiBjbGFzcz0iYXBlcnR1cmEtb25lVGhpcmQtaTJkeHRyZzMiPgo8ZGl2IGNsYXNzPSJjb250ZW5lZG9yIj4KICAgICAgICA8YSBpZD0id3JhcExpbmsiIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2JhbGVhcmVzL2F0cm9uYWRvcmEtb3ZhY2lvbi1pa2VyLWppbWVuZXotY2FybWVuLXBvcnRlci1lbnRyYXItZWR1YXJkby1pbmRhLXYtYW5pdmVyc2FyaW8tb2tiYWxlYXJlcy1wYWxhY2lvLWNvbmdyZXNvcy1wYWxtYS0yLTUwMC1wZXJzb25hcy0yMDUyMzQ4OSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWRlby1jb250ZW5lZG9yIj4KICAgICAgICAgICAgPHZpZGVvIGNsYXNzPSJiYWNrZ3JvdW5kLXZpZGVvIiBhdXRvcGxheT0iIiBtdXRlZD0iIiBwbGF5c2lubGluZT0iIiBsb29wPSIiPgogICAgICAgICAgICAgIDxzb3VyY2UgaWQ9InZpZGVvU291cmNlIiBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy91cGxvYWRzJTJGbWVkaWEvYXBsYXVzb3Nfbm9ybWFsLTIwMjYxMDEwLTEyMDkxMC0wMGMzNDQubXA0IiB0eXBlPSJ2aWRlby9tcDQiPgogICAgICAgICAgICAgIFlvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSB2aWRlbyB0YWcuCiAgICAgICAgICAgIDwvdmlkZW8+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InBsYXktYnV0dG9uIGNvbXBhY3QiIHN0eWxlPSJyaWdodDogMTBweDsiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXktaWNvbiI+PC9kaXY+CiAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXNjcmlwY2lvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV0aXF1ZXRhcyI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImV0aXF1ZXRhIiBpZD0iZXRpcXVldGFDaGlwIj5Fc3Bh8WE8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJyZWFraW5nIiBhcmlhLWxpdmU9InBvbGl0ZSI+PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGgyIGlkPSJoMlByZXZpZXciIHN0eWxlPSJmb250LXNpemU6IDEuMnJlbTsiPkF0cm9uYWRvcmEgb3ZhY2nzbiBhIElrZXIgSmlt6W5leiB5IENhcm1lbiBQb3J0ZXIgZGUgMi41MDAgcGVyc29uYXMgZW4gZWwgUGFsYWNpbyBkZSBDb25ncmVzb3MgZGUgUGFsbWE8L2gyPgogICAgICAgICAgICA8cCBpZD0icFByZXZpZXciPjwvcD4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dG9yIiBpZD0iYXV0b3JQcmV2aWV3Ij5DaGFybyBNafFhbm88L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2E+CiAgICAgIDwvZGl2Pgo8L2Rpdj4=
      CjxzdHlsZT4KICAuYXBlcnR1cmEtbW9iaWxlLTlkdXVlMGw1IGEgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0KICBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCI7IHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOyB9CiAgQGZvbnQtZmFjZSB7IGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS13aWRlIjsgc3JjOiB1cmwoImh0dHBzOi8vb2tkaWFyaW8uY29tL3dlYi90aGVtZXMvdjEwL2Nzcy9fZm9udHNfYW1wbGl0dWRlL0FtcGxpdHVkZSUyMEF1YmklMjBUYWIlMjBNZWRpdW0ub3RmIik7IH0KICBAZm9udC1mYWNlIHsgZm9udC1mYW1pbHk6ICJhbXBsaXR1ZGUtYm9vayI7IHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwQm9vay5vdGYiKTsgfQoKICAvKiBSZWN1cGVyYSBlbCBjb21wb3J0YW1pZW50byBkZWwgcXVlIHPtIGZ1bmNpb25hICovCiAgLmFwZXJ0dXJhLW1vYmlsZS05ZHV1ZTBsNSAuY29udGVuZWRvciB7CiAgICB3aWR0aDogYXV0bzsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKICAgIHotaW5kZXg6IDA7CiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsKICAgIGZsb2F0OiBpbmxpbmUtZW5kOyAvKiA8LSBJTVBPUlRBTlRFIGVuIDEvMiB5IDIvMyAqLwogIH0KCiAgLmFwZXJ0dXJhLW1vYmlsZS05ZHV1ZTBsNSAudmlkZW8tY29udGVuZWRvciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogYXV0bzsKICAgIG1heC13aWR0aDogMTAwJTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTRFNEU0OwogICAgZGlzcGxheTogZmxleDsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2l0aW9uOiAuM3M7CiAgfQogIC5hcGVydHVyYS1tb2JpbGUtOWR1dWUwbDUgLmJhY2tncm91bmQtdmlkZW8geyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBhdXRvOyB9CgogIC5hcGVydHVyYS1tb2JpbGUtOWR1dWUwbDUgLnBsYXktYnV0dG9uIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHJpZ2h0OiAxMHB4OwogICAgbWFyZ2luLXRvcDogMTBweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjcpOwogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjQyKTsKICAgIGNvbG9yOiAjZmZmOwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgei1pbmRleDogMjsKICAgIGFuaW1hdGlvbjogYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgfQogIC5hcGVydHVyYS1tb2JpbGUtOWR1dWUwbDUgLnBsYXktaWNvbnsKICAgIHdpZHRoOjA7IGhlaWdodDowOyBib3JkZXItbGVmdDoxMHB4IHNvbGlkICNmZmY7IGJvcmRlci10b3A6NnB4IHNvbGlkIHRyYW5zcGFyZW50OyBib3JkZXItYm90dG9tOjZweCBzb2xpZCB0cmFuc3BhcmVudDsgbWFyZ2luLXJpZ2h0OjVweDsKICB9CiAgLmFwZXJ0dXJhLW1vYmlsZS05ZHV1ZTBsNSAucGxheS10ZXh0eyBmb250LXNpemU6MTZweDsgZm9udC13ZWlnaHQ6Ym9sZCB9CiAgQGtleWZyYW1lcyBibGluayB7IDAlLDEwMCV7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpIH0gNTAleyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LDAuOSkgfSB9CiAgLmFwZXJ0dXJhLW1vYmlsZS05ZHV1ZTBsNSAucGxheS1idXR0b246aG92ZXJ7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjkpIH0KCiAgLyogQfFhZGlkbyBpZ3VhbCBxdWUgZW4gbGEgdmVyc2nzbiBxdWUgZnVuY2lvbmEgKi8KICAuYXBlcnR1cmEtbW9iaWxlLTlkdXVlMGw1IC5kZXNjcmlwY2lvbiB7IHBhZGRpbmc6IDAgNDBweCAwIDIwcHg7IH0KCiAgLmFwZXJ0dXJhLW1vYmlsZS05ZHV1ZTBsNSAuZGVzY3JpcGNpb24gLmV0aXF1ZXRhcyB7CiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyBwYWRkaW5nLWxlZnQ6IDBweDsKICB9CiAgLmFwZXJ0dXJhLW1vYmlsZS05ZHV1ZTBsNSAuZGVzY3JpcGNpb24gLmV0aXF1ZXRhIHsKICAgIGZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtbWVkaXVtLXdpZGUiLHNhbnMtc2VyaWY7IGNvbG9yOiNmZmY7IGZvbnQtd2VpZ2h0OjcwMDsgZm9udC1zaXplOjEycHg7CiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGRpc3BsYXk6aW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsgYmFja2dyb3VuZDojM2VhNmQxOyB3aWR0aDpmaXQtY29udGVudDsgcGFkZGluZzo1cHggMTBweDsgbWFyZ2luLWxlZnQ6MDsKICB9CgogIC8qIE1pc21hIGzzZ2ljYSBkZSB2aXNpYmlsaWRhZCBxdWUgZWwgYnVlbm86IHNlIG9jdWx0YSBzaSBlc3ThIHZhY+1vICovCiAgLmFwZXJ0dXJhLW1vYmlsZS05ZHV1ZTBsNSAuZGVzY3JpcGNpb24gLmJyZWFraW5nIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsgZ2FwOjZweDsgY29sb3I6I2QwMDIxYjsgZm9udC1mYW1pbHk6ImFtcGxpdHVkZS1tZWRpdW0td2lkZSIsc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6NzAwOyBmb250LXNpemU6MTRweDsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyB9CiAgLmFwZXJ0dXJhLW1vYmlsZS05ZHV1ZTBsNSAuZGVzY3JpcGNpb24gLmJyZWFraW5nOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfQogIC5hcGVydHVyYS1tb2JpbGUtOWR1dWUwbDUgLmRlc2NyaXBjaW9uIC5icmVha2luZyAucmFkYXIgeyB3aWR0aDoxMHB4OyBoZWlnaHQ6MTBweDsgYm9yZGVyLXJhZGl1czo1MCU7IGJhY2tncm91bmQ6I2QwMDIxYjsgcG9zaXRpb246cmVsYXRpdmU7IGZsZXg6MCAwIDEwcHg7IH0KICAuYXBlcnR1cmEtbW9iaWxlLTlkdXVlMGw1IC5kZXNjcmlwY2lvbiAuYnJlYWtpbmcgLnJhZGFyOjphZnRlciB7IGNvbnRlbnQ6IiI7IHBvc2l0aW9uOmFic29sdXRlOyBpbnNldDotNnB4OyBib3JkZXI6MnB4IHNvbGlkIHJnYmEoMjA4LDIsMjcsLjQ1KTsgYm9yZGVyLXJhZGl1czo1MCU7IGFuaW1hdGlvbjpyYWRhclB1bHNlIDEuOHMgZWFzZS1vdXQgaW5maW5pdGU7IH0KICBAa2V5ZnJhbWVzIHJhZGFyUHVsc2V7IDAleyB0cmFuc2Zvcm06c2NhbGUoLjcpOyBvcGFjaXR5Oi43IH0gMTAwJXsgdHJhbnNmb3JtOnNjYWxlKDEuNik7IG9wYWNpdHk6MCB9IH0KCiAgLmFwZXJ0dXJhLW1vYmlsZS05ZHV1ZTBsNSAuZGVzY3JpcGNpb24gaDIgewogICAgZm9udC1mYW1pbHk6ImFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkIixzYW5zLXNlcmlmOyBmb250LXNpemU6MS41cmVtICFpbXBvcnRhbnQ7CiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGNvbG9yOiMzMzM7IG1hcmdpbjoxNXB4IDA7IHdoaXRlLXNwYWNlOnByZS1saW5lOyBmb250LXdlaWdodDo2MDA7CiAgfQogIC5hcGVydHVyYS1tb2JpbGUtOWR1dWUwbDUgLmRlc2NyaXBjaW9uIHAgewogICAgbWFyZ2luOjAgMCAyMHB4ICFpbXBvcnRhbnQ7IHRleHQtYWxpZ246anVzdGlmeTsgZm9udC1mYW1pbHk6ImFtcGxpdHVkZS1ib29rIixzYW5zLXNlcmlmOyBjb2xvcjojMzMzOwogICAgZm9udC13ZWlnaHQ6MjAwOyBmb250LXNpemU6MS4xcmVtOyBsaW5lLWhlaWdodDoxLjNlbTsgd2hpdGUtc3BhY2U6cHJlLWxpbmU7CiAgfQogIC5hcGVydHVyYS1tb2JpbGUtOWR1dWUwbDUgLmRlc2NyaXBjaW9uIC5hdXRvciB7CiAgICBmb250LWZhbWlseToiYW1wbGl0dWRlLWJvb2siLHNhbnMtc2VyaWY7IGNvbG9yOiMzMzM7IGZvbnQtd2VpZ2h0OjIwMDsgZm9udC1zaXplOi44ZW07IHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICAgIHRleHQtYWxpZ246cmlnaHQ7IGRpc3BsYXk6YmxvY2s7CiAgfQoKICBAbWVkaWEgKG1heC13aWR0aDo3NjhweCl7CiAgICAuYXBlcnR1cmEtbW9iaWxlLTlkdXVlMGw1IC5kZXNjcmlwY2lvbnsgcGFkZGluZzowIDIwcHggMCAyMHB4ICFpbXBvcnRhbnQ7IH0KICAgIC5hcGVydHVyYS1tb2JpbGUtOWR1dWUwbDUgLnBsYXktYnV0dG9uIHsgbWFyZ2luLXRvcDogMTBweDsgfQogIH0KPC9zdHlsZT4KPGRpdiBjbGFzcz0iYXBlcnR1cmEtbW9iaWxlLTlkdXVlMGw1Ij4KPGRpdiBjbGFzcz0iY29udGVuZWRvciI+CiAgICAgICAgPGEgaWQ9IndyYXBMaW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9iYWxlYXJlcy9hdHJvbmFkb3JhLW92YWNpb24taWtlci1qaW1lbmV6LWNhcm1lbi1wb3J0ZXItZW50cmFyLWVkdWFyZG8taW5kYS12LWFuaXZlcnNhcmlvLW9rYmFsZWFyZXMtcGFsYWNpby1jb25ncmVzb3MtcGFsbWEtMi01MDAtcGVyc29uYXMtMjA1MjM0ODkiPgogICAgICAgICAgPGRpdiBjbGFzcz0idmlkZW8tY29udGVuZWRvciI+CiAgICAgICAgICAgIDx2aWRlbyBjbGFzcz0iYmFja2dyb3VuZC12aWRlbyIgYXV0b3BsYXk9IiIgbXV0ZWQ9IiIgcGxheXNpbmxpbmU9IiIgbG9vcD0iIj4KICAgICAgICAgICAgICA8c291cmNlIGlkPSJ2aWRlb1NvdXJjZSIgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvdXBsb2FkcyUyRm1lZGlhL2FwbGF1c29zX25vcm1hbC0yMDI2MTAxMC0xMjA5MTAtMDBjMzQ0Lm1wNCIgdHlwZT0idmlkZW8vbXA0Ij4KICAgICAgICAgICAgICBZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgdmlkZW8gdGFnLgogICAgICAgICAgICA8L3ZpZGVvPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJwbGF5LWJ1dHRvbiBjb21wYWN0IiBzdHlsZT0icmlnaHQ6IDEwcHg7Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF5LWljb24iPjwvZGl2PgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwbGF5LXRleHQiPlBsYXk8L3NwYW4+CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXNjcmlwY2lvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV0aXF1ZXRhcyI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImV0aXF1ZXRhIiBpZD0iZXRpcXVldGFDaGlwIj5Fc3Bh8WE8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJyZWFraW5nIiBhcmlhLWxpdmU9InBvbGl0ZSI+PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGgyIGlkPSJoMlByZXZpZXciIHN0eWxlPSJmb250LXNpemU6IDEuMnJlbTsiPkF0cm9uYWRvcmEgb3ZhY2nzbiBhIElrZXIgSmlt6W5leiB5IENhcm1lbiBQb3J0ZXIgZGUgMi41MDAgcGVyc29uYXMgZW4gZWwgUGFsYWNpbyBkZSBDb25ncmVzb3MgZGUgUGFsbWE8L2gyPgogICAgICAgICAgICAKICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dG9yIiBpZD0iYXV0b3JQcmV2aWV3Ij5DaGFybyBNafFhbm88L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2E+CiAgICAgIDwvZGl2Pgo8L2Rpdj4=
    • Iker Jiménez relata su noche más angustiosa en Ceuta: Se escuchaba a niñas gritar en un cementerio
        • OkBaleares
        • OkBaleares

      Iker Jiménez relata su noche más angustiosa en Ceuta: "Se escuchaba a niñas gritar en un cementerio"

      • Pedro Serra
      • 2026-10-10 08:28
    • Iker Jiménez anuncia en primicia que no llevará políticos a ‘Horizonte’ durante la campaña del 29-N
        • OkBaleares
        • OkBaleares

      Iker Jiménez anuncia en primicia que no llevará políticos a 'Horizonte' durante la campaña del 29-N

      • Pedro Serra
      • 2026-10-10 07:54
    • El Gobierno se saltó la Ley de Nietos para defender su espíritu
    • Los militares de Ceuta envían una carta a Sánchez reprochándole la falta de apoyo ante las agresiones
        • España
        • España

      Los militares de Ceuta envían una carta a Sánchez reprochándole la "falta de apoyo" ante las agresiones

      • Rosalina Moreno
      • 2026-10-10 05:44
    • La orden inédita del Gobierno para dar el derecho a voto a los falsos nietos del exilio: Basta que el abuelo sea español
        • España
        • España

      La orden inédita del Gobierno para dar el derecho a voto a los falsos nietos del exilio: "Basta que el abuelo sea español"

      La maniobra del Gobierno para extender las nacionalizaciones de descendientes de emigrantes hasta el siglo XIX, saltándose así la condición del exilio, se confirma en una orden inédita de Sofía Puente -la entonces directora general de Seguridad Jurídica y Fe Pública del Ministerio de Justicia- en la que daba instrucciones a los cónsules. En el oficio, Puente respondía a las dudas planteadas desde los consulados en relación a la aplicación de la conocida como Ley de Nietos.
      • Luz Sela
      • 2026-10-10 05:47
    • Fin del culebrón en ERC: los republicanos anuncian que Rufián será su cabeza de lista en el Congreso
        • España
        • España

      Fin del culebrón en ERC: los republicanos anuncian que Rufián será su cabeza de lista en el Congreso

      • Rafael Molina
      • 2026-10-10 11:55
    • El PP se lanza a por el voto de centro abandonado por el PSOE: Apelamos a los antisanchistas moderados
        • España
        • España

      El PP se lanza a por el voto de centro abandonado por el PSOE: "Apelamos a los antisanchistas"

      • Segundo Sanz
      • 2026-10-10 07:40
    • CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hcyk6CiAgIGZvbmRvIGJsYW5jbyB5IGFpcmUgYWxyZWRlZG9yLCBzb2xvIGVuIERlc2sgJiM4MjEyOyB2ZXIgb3ZlcnJpZGUgZGVudHJvIGRlbAogICBAY29udGFpbmVyKG1heC1pbmxpbmUtc2l6ZTo4NjBweCkgZGUgbeFzIGFiYWpvLCBxdWUgbG8gYW51bGEgcG9yIGRlYmFqbwogICBkZSBlc2UgYW5jaG8gKGVxdWl2YWxlbnRlIGEgbGEgdmlzdGEgTfN2aWwpLiAqLwouYmxrLXU0N2Rxe21heC1pbmxpbmUtc2l6ZTo5NjBweDttYXJnaW46MCBhdXRvO2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplO2JhY2tncm91bmQtY29sb3I6I2ZmZjtwYWRkaW5nOjEwcHg7fQouYmxrLXU0N2RxIGF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6aW5oZXJpdH0KLmJsay11NDdkcSAucGFnZXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjIyMHB4IDFmciAzMDBweDtnYXA6MTVweH0KLyogODYwcHggeSBubyA0NzVweDogY29uIGNvbHVtbmFzIGZpamFzICgyMjBweCBpenEuICsgMzAwcHggZGVyLiArIDQwcHggZGUKICAgZ2FwcyA9IDU2MHB4KSwgY3VhbHF1aWVyIGFuY2hvIGRlIGlmcmFtZSBwb3IgZGViYWpvIGRlIH44NjBweCBkZWphIGxhCiAgIGNvbHVtbmEgY2VudHJhbCAobm90aWNpYSBwcmluY2lwYWwsIDFmcikgY2FkYSB2ZXogY29uIG1lbm9zIGVzcGFjaW8gaGFzdGEKICAgY29sYXBzYXIgYSAwcHggZGUgYW5jaG8gYW50ZXMgZGUgbGxlZ2FyIGEgdW4gYnJlYWtwb2ludCB0YW4gYmFqbyBjb21vCiAgIDQ3NXB4ICYjODIxMjsgbGEgbm90aWNpYSBwcmluY2lwYWwgZGlyZWN0YW1lbnRlIGRlc2FwYXJlY2UgZW4gZXNhIGZyYW5qYQogICBpbnRlcm1lZGlhIChuaSAiZGVzayIgY29tcGxldG8gbmkgIm3zdmlsIiBlc3RyZWNobykuIENvbiA4NjBweCBzZSBwYXNhIGEKICAgdW5hIHNvbGEgY29sdW1uYSBhcGlsYWRhIGFudGVzIGRlIHF1ZSBlc28gcHVlZGEgb2N1cnJpci4KICAgRXN0ZSBicmVha3BvaW50IHNlIG9taXRlIHBvciBjb21wbGV0byBtaWVudHJhcyBsYSBzaW11bGFjafNuIGRlIGFuY2hvIGVzdOkKICAgYWN0aXZhICh2ZXIgbGVhZFdpZHRoUHJldmlldyk6IHBlbnNhZG8gcGFyYSBjdWFuZG8gZWwgbfNkdWxvIGxsZXZhIHN1cyAzCiAgIGNvbHVtbmFzIGEgOTYwcHgsIGRlamEgZGUgdGVuZXIgc2VudGlkbyBlbiB1bmEgZXhwb3J0YWNp824gZGUgc29sbyBsYQogICBub3RpY2lhIHByaW5jaXBhbCBhIHVuIGFuY2hvIGZpam8gZWxlZ2lkbyBhIG1hbm8gJiM4MjEyOyBsb3MgYW5jaG9zIHNpbXVsYWRvcwogICAoNjEzLzQ2MC8zMDdweCkgZXN04W4gVE9ET1MgcG9yIGRlYmFqbyBkZSA4NjBweCwgYXPtIHF1ZSBzaW4gZXN0ZSBnYXRpbmcKICAgZWwgSFRNTCBleHBvcnRhZG8gY2Flcu1hIHNpZW1wcmUgYSBsYSB0aXBvZ3JhZu1hICJN83ZpbCIgKGNvbiAhaW1wb3J0YW50KQogICBzZWEgY3VhbCBzZWEgbGEgcXVlIGVsIHVzdWFyaW8gY29uZmlndXLzIGVuICJEZXNrIiBwYXJhIGVzYSBzaW11bGFjafNuLAogICBkYW5kbyBsYSBmYWxzYSBzZW5zYWNp824gZGUgcXVlIHVuYSBjb25maWd1cmFjafNuICJwaXNhIiBhIG90cmEuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7CiAgLmJsay11NDdkcXtiYWNrZ3JvdW5kOm5vbmU7cGFkZGluZzowO30KICAuYmxrLXU0N2RxIC5wYWdle2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9CiAgLmJsay11NDdkcSAucGFnZSAuc3RhY2stdGl0bGUge2ZvbnQtc2l6ZToxOHB4OyBsaW5lLWhlaWdodDogMS4yZW07fQogIC5ibGstdTQ3ZHEgLnBhZ2UgLnN0YWNrLWF1dGhvciB7bWFyZ2luLXRvcDogMTBweDt9CiAgLmJsay11NDdkcSAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiMwNjRBODkgIWltcG9ydGFudDt9CiAgLmJsay11NDdkcSAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4xICFpbXBvcnRhbnQ7Y29sb3I6IzA2NEE4OSAhaW1wb3J0YW50O30KICAuYmxrLXU0N2RxIC5sZWFkLXRpdGxle2ZvbnQtc2l6ZToyLjM1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4wMiAhaW1wb3J0YW50O30KICAuYmxrLXU0N2RxIC5sZWFkLXRpdGxlLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstdTQ3ZHEgLmxlYWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstdTQ3ZHEgLmxlYWQta2lja2VyLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstdTQ3ZHEgLmxlYWQta2lja2VyLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLXU0N2RxIC5sZWFkLXN1YnRpdGxlLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstdTQ3ZHEgLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstdTQ3ZHEgLnJlbGF0ZWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay11NDdkcSAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay11NDdkcSAubGVhZC1hbmltLWhlYWRsaW5lc3tmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIAogIC5ibGstdTQ3ZHEgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2Jsb2NrLXNpemU6NTAwcHggIWltcG9ydGFudDt9CiAgLmJsay11NDdkcSAubGVhZC1tZWRpYXthc3BlY3QtcmF0aW86MS8xICFpbXBvcnRhbnQ7fQogIC5ibGstdTQ3ZHEgLnBhZ2UgLmxlYWR7b3JkZXI6MX0KICAuYmxrLXU0N2RxIC5wYWdlIC5sZWZ0LWxpc3R7b3JkZXI6Mn0KICAuYmxrLXU0N2RxIC5wYWdlIC5zdGFja3tvcmRlcjozfQogIC5ibGstdTQ3ZHEgLnBhZ2UgLmxlZnQtaXRlbXtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KICAuYmxrLXU0N2RxIC5wYWdlIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9CiAgLmJsay11NDdkcSAucGFnZSAubGVmdC1pdGVtLnRpdGxlLW9ubHktbW9iaWxlLTIxIC5sZWZ0LXRpdGxle2ZvbnQtc2l6ZToyMXB4ICFpbXBvcnRhbnQ7fQogIC5ibGstdTQ3ZHEgLnBhZ2UgLmxlZnQtaXRlbS50aXRsZS1vbmx5LW1vYmlsZS0xOCAubGVmdC10aXRsZXtmb250LXNpemU6MThweCAhaW1wb3J0YW50O30KICAuYmxrLXU0N2RxIC5wYWdlIC5zdGFjay1pdGVtLnRpdGxlLW9ubHktbW9iaWxlLTIxIC5zdGFjay10aXRsZXtmb250LXNpemU6MjFweCAhaW1wb3J0YW50O30KICAuYmxrLXU0N2RxIC5wYWdlIC5zdGFjay1pdGVtLnRpdGxlLW9ubHktbW9iaWxlLTE4IC5zdGFjay10aXRsZXtmb250LXNpemU6MThweCAhaW1wb3J0YW50O30KICAuYmxrLXU0N2RxIC5wYWdlIC5sZWZ0LXBsYXl7CiAgICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogICAgYmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzAwYTdmZjsKICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogICAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7CiAgfQogIC5ibGstdTQ3ZHEgLnBhZ2UgLmxlZnQtcGxheTo6YmVmb3JlewogICAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4OwogIH0KfQouYmxrLXU0N2RxIC5sZWFke2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6I2ZmZjtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLXU0N2RxIC5sZWFkLW1lZGlhe3Bvc2l0aW9uOnJlbGF0aXZlO2FzcGVjdC1yYXRpbzoxLzE7YmFja2dyb3VuZDojMDAwO292ZXJmbG93OmhpZGRlbn0KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lOiBhbHRvIGZpam8gZW4gcO14ZWxlcyBlbiB2ZXogZGUgbGEgcHJvcG9yY2nzbiBkZQogICBhcnJpYmEgKHZlciBjb21lbnRhcmlvIGRldGFsbGFkbyBqdW50byBhIHN0YXRlLmxlYWQuaWZyYW1lSGVpZ2h0KSAmIzgyMTI7IGVsCiAgIHZhbG9yIGRlIE3zdmlsIHNlIHNvYnJlc2NyaWJlIGVuIGVsIEBjb250YWluZXIgZGUgbeFzIGFycmliYSwgaWd1YWwgcXVlIGVsCiAgIHJlc3RvIGRlIG92ZXJyaWRlcyByZXNwb25zaXZlIGRlIGVzdGUgSFRNTCBleHBvcnRhZG8uICovCi5ibGstdTQ3ZHEgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2FzcGVjdC1yYXRpbzpub25lO2Jsb2NrLXNpemU6MzAwcHg7fQouYmxrLXU0N2RxIC5sZWFkLW1lZGlhIGltZywKLmJsay11NDdkcSAubGVhZC1tZWRpYSB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci8qIENhcnJ1c2VsIGRlIGZvdG9zIGRlIGZvbmRvIGNvbiBlZmVjdG8gS2VuIEJ1cm5zICYjODIxMjsgdmVyIGVsIG1pc21vIGJsb3F1ZSwKICAgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuCiAgIExhIGR1cmFjafNuIGRlIGxhcyBhbmltYWNpb25lcyAoNnMpIGNvaW5jaWRlIGNvbgogICBMRUFEX0NBUk9VU0VMX0lOVEVSVkFMLCBxdWUgdGFtYmnpbiBnb2JpZXJuYSBlbCBzY3JpcHQgZGUgcm90YWNp824KICAgKGJ1aWxkTGVhZENhcm91c2VsU2NyaXB0KSBh8WFkaWRvIGFsIGZpbmFsIGRlbCBIVE1MIGV4cG9ydGFkby4gKi8KLmJsay11NDdkcSAubGVhZC1jYXJvdXNlbHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjt9Ci5ibGstdTQ3ZHEgLmxlYWQtY2Fyb3VzZWwtc2xpZGV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDEuNXMgZWFzZTt9Ci5ibGstdTQ3ZHEgLmxlYWQtY2Fyb3VzZWwtc2xpZGUuaXMtYWN0aXZle29wYWNpdHk6MTt6LWluZGV4OjE7fQouYmxrLXU0N2RxIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7fQouYmxrLXU0N2RxIC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChvZGQpIGltZ3thbmltYXRpb246YmxrLXU0N2RxLWtlbmJ1cm5zLWEgNnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7fQouYmxrLXU0N2RxIC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChldmVuKSBpbWd7YW5pbWF0aW9uOmJsay11NDdkcS1rZW5idXJucy1iIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KQGtleWZyYW1lcyBibGstdTQ3ZHEta2VuYnVybnMtYXsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gfQpAa2V5ZnJhbWVzIGJsay11NDdkcS1rZW5idXJucy1ieyBmcm9te3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IHRve3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoNCUsMyUpO30gfQovKiBDb24gdW5hIPpuaWNhIGZvdG8gKHNpbiByb3RhY2nzbiBwb3NpYmxlKSBzZSBhcGxpY2EgdW4gem9vbSBpbi9vdXQgZW4KICAgYnVjbGUgaW5maW5pdG8gZW4gdmV6IGRlbCByZWNvcnJpZG8g+m5pY28gKGZvcndhcmRzKSBkZSBhcnJpYmEuICovCi5ibGstdTQ3ZHEgLmxlYWQtY2Fyb3VzZWwuaXMtc2luZ2xlIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3thbmltYXRpb246YmxrLXU0N2RxLWtlbmJ1cm5zLWxvb3AgMTRzIGVhc2UtaW4tb3V0IGluZmluaXRlO30KQGtleWZyYW1lcyBibGstdTQ3ZHEta2VuYnVybnMtbG9vcHsgMCV7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gNTAle3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoLTQlLC0zJSk7fSAxMDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IH0KLyogQ29tcGFyYWRvciBhbnRlcy9kZXNwdelzIChkZXNsaXphZG9yKSAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXU0N2RxIC5sZWFkLWNvbXBhcmV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7dG91Y2gtYWN0aW9uOm5vbmU7ei1pbmRleDoyO30KLmJsay11NDdkcSAubGVhZC1jb21wYXJlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjtkaXNwbGF5OmJsb2NrO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLWRyYWc6bm9uZTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay11NDdkcSAubGVhZC1jb21wYXJlLWJlZm9yZXtjbGlwLXBhdGg6aW5zZXQoMCA1MCUgMCAwKTt3aWxsLWNoYW5nZTpjbGlwLXBhdGg7fQouYmxrLXU0N2RxIC5sZWFkLWNvbXBhcmUtcmFuZ2V7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTttYXJnaW46MDtvcGFjaXR5OjA7Y3Vyc29yOmV3LXJlc2l6ZTt9Ci5ibGstdTQ3ZHEgLmxlYWQtY29tcGFyZS1oYW5kbGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDo1MCU7aW5saW5lLXNpemU6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6Mjt9Ci5ibGstdTQ3ZHEgLmxlYWQtY29tcGFyZS1oYW5kbGU6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtpbmxpbmUtc2l6ZToycHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLC4yNSk7fQouYmxrLXU0N2RxIC5sZWFkLWNvbXBhcmUtaGFuZGxlOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDotMTVweDtpbmxpbmUtc2l6ZTozMHB4O2Jsb2NrLXNpemU6MzBweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTggNiBMNCAxMCBMOCAxNCcvPjxwYXRoIGQ9J00xMiA2IEwxNiAxMCBMMTIgMTQnLz48L2c+PC9zdmc+IikgY2VudGVyLzE2cHggMTZweCBuby1yZXBlYXQ7Ym94LXNoYWRvdzowIDJweCA2cHggcmdiYSgwLDAsMCwuMjUpO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMjUpO30KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE1pc21vIHotaW5kZXg6MiBxdWUKICAgLmxlYWQtY29tcGFyZSwgcG9yIGVsIG1pc21vIG1vdGl2byAoZ2FuYXJsZSBhIC5sZWFkLWxpbmspLiAqLwouYmxrLXU0N2RxIC5sZWFkLWlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTt6LWluZGV4OjI7fQouYmxrLXU0N2RxIC5sZWFkLWlmcmFtZSBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay11NDdkcSAubGVhZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLXU0N2RxIC5sZWFkLWJvZHl7cGFkZGluZzowcHggMjBweCAyMHB4IDIwcHg7O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7IHRleHQtYWxpZ246Y2VudGVyOyBhbGlnbi1pdGVtczpjZW50ZXI7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjY7IHBvaW50ZXItZXZlbnRzOm5vbmU7IGlubGluZS1zaXplOjk1JTsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OmF1dG87IG1hcmdpbi10b3A6LTMwcHg7IGJhY2tncm91bmQ6IzBFMTExQTsgZmxleDoxIDEgYXV0bzt9Ci8qIEFwYXJpZW5jaWEgbmVnYXRpdmEgKHBvciBkZWZlY3RvKSB2cy4gcG9zaXRpdmEgZGUgbGEgY2FqYSBkZSB0aXR1bGFyICYjODIxMjsgdmVyCiAgIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstdTQ3ZHEgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAubGVhZC1ib2R5e2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7fQouYmxrLXU0N2RxIC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmxlYWQtdGl0bGUsCi5ibGstdTQ3ZHEgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAuYXV0aG9yLWxhYmVse2NvbG9yOiMwRTExMUE7fQovKiBQb3NpY2nzbiAnYm90dG9tLWZ1bGwnIGRlbCBsZWFkLWJvZHkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gaW5saW5lLXNpemUKICAgZW4gdmV6IGRlIHdpZHRoIHBvciBlbCBtaXNtbyBtb3Rpdm8gcXVlIGVsIHJlc3RvIGRlIGVzdGUgYmxvcXVlIChldml0YXIKICAgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbCB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MKICAgZGlyZWN0YW1lbnRlKS4gKi8KLmJsay11NDdkcSAubGVhZC5sZWFkLWJvZHktYm90dG9tLWZ1bGwgLmxlYWQtYm9keXsKICBpbmxpbmUtc2l6ZToxMDAlOwogIG1hcmdpbjowOwogIHBhZGRpbmctdG9wOjMwcHg7CiAgcGFkZGluZy1ib3R0b206MzBweDsKICBib3JkZXI6bm9uZTsKfQovKiBFdGlxdWV0YSBkZSBleGNsdXNpdmEgKG8gdGV4dG8gcGVyc29uYWxpemFkbykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay11NDdkcSAubGVhZC1leGNsdXNpdmUtdGFne3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDt6LWluZGV4OjM7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtsZXR0ZXItc3BhY2luZzowLjVweDtwYWRkaW5nOjJweCA4cHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZmZmO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtwb2ludGVyLWV2ZW50czpub25lO30KLyogU2VsZWN0b3IgY29uIDMgY2xhc2VzICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEgKCIubGVhZC1tZWRpYSBpbWciIHRhbWJp6W4KICAgbWF0Y2hlYSBlc3RlIDxpbWc+IHkgbGUgZ2FuYWJhIGVuIGVzcGVjaWZpY2lkYWQpLiAqLwouYmxrLXU0N2RxIC5sZWFkLWV4Y2x1c2l2ZS10YWcgLmxlYWQtZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXU0N2RxIC5sZWFkLWNhdHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3BhZGRpbmc6MnB4IDhweDt0cmFuc2Zvcm06c2tld1koLTZkZWcpO21hcmdpbi10b3A6LTE1cHg7bWFyZ2luLWJvdHRvbToxMHB4O30KLmJsay11NDdkcSAubGVhZC1raWNrZXIsIC5ibGstdTQ3ZHEgLmxlYWQtc3VidGl0bGV7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO3RleHQtdHJhbnNmb3JtOm5vbmU7bWFyZ2luOjA7Cn0KLmJsay11NDdkcSAubGVhZC1raWNrZXJ7Zm9udC13ZWlnaHQ6NzAwO30KLmJsay11NDdkcSAubGVhZC1zdWJ0aXRsZXtmb250LXdlaWdodDo2MDA7fQovKiBUYW1h8W8vaW50ZXJsaW5lYWRvL2NvbG9yIGRlIGFudGV07XR1bG8geSBzdWJ07XR1bG8gZW4gRGVzayAodmFsb3JlcyBwb3IKICAgZGVmZWN0byBkZWwgYmxvcXVlOyBlbCBvdmVycmlkZSBkZSBN83ZpbCB2YSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywKICAgeWEgcXVlIGVsIEhUTUwgZXhwb3J0YWRvIGVzIHJlc3BvbnNpdmUgeSBubyBkZXBlbmRlIGRlIHF16SB2aXN0YSB0dXZpZXJhcwogICBzZWxlY2Npb25hZGEgZW4gZWwgZ2VzdG9yIGFsIGV4cG9ydGFyL2NvcGlhcikuICovCi5ibGstdTQ3ZHEgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjM1cmVtO2xpbmUtaGVpZ2h0OjEuMTtjb2xvcjojMDY0QTg5O30KLmJsay11NDdkcSAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtO2xpbmUtaGVpZ2h0OjEuMTtjb2xvcjojMDY0QTg5O30KLyogdGV4dC13cmFwOmJhbGFuY2UgJiM4MjEyOyBtaXNtbyBjcml0ZXJpbyBxdWUgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbAogICBkZWwgZ2VzdG9yICh2ZXIgY29tZW50YXJpbyBkZXRhbGxhZG8ganVudG8gYSBlc2EgcmVnbGEpOiByZXBhcnRlIGxhcwogICBs7W5lYXMgZGVsIHRpdHVsYXIgZGUgZm9ybWEgbeFzIHVuaWZvcm1lIGRlbnRybyBkZSBjYWRhIGRpc3Bvc2l0aXZvLCBzaW4KICAgcHJldGVuZGVyIGlndWFsYXIgZWwgbvptZXJvIGRlIGztbmVhcyBlbnRyZSBwbGF0YWZvcm1hcyBkaXN0aW50YXMuICovCi5ibGstdTQ3ZHEgLmxlYWQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDtmb250LXNpemU6Mi4zcmVtO2xpbmUtaGVpZ2h0OjEuMDI7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt0ZXh0LXdyYXA6YmFsYW5jZTt9Ci8qIFRpdHVsYXIgY29uIHNhbHRvcyBkZSBs7W5lYSBpbmRlcGVuZGllbnRlcyBwb3IgdmlzdGEgKHZlciBidWlsZFNjb3BlZEhUTUwpOgogICBzZSBnZW5lcmFuIGxvcyBkb3MgdGV4dG9zIChEZXNrL03zdmlsKSB5IGFxde0gc2UgbXVlc3RyYSBzb2xvIHVubyBzZWf6biBlbAogICBhbmNobyByZWFsIGRlbCBjb250ZW5lZG9yICYjODIxMjsgZWwgbWlzbW8gbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIHlhIHVzYSBlbAogICByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8gcGFyYSBhZGFwdGFyc2Ugc2luIGRlcGVuZGVyIGRlIEpTLiAqLwouYmxrLXU0N2RxIC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQovKiBBbnRldO10dWxvL3N1YnTtdHVsbyBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YTogbWlzbW8KICAgbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgKHZlciBhcnJpYmEpLiAqLwouYmxrLXU0N2RxIC5sZWFkLWtpY2tlci1tb2JpbGUsIC5ibGstdTQ3ZHEgLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIFRpdHVsYXIgZGUgbm90aWNpYSByZWxhY2lvbmFkYSAoY29sdW1uYXMgaXpxLi9kZXIuKSBjb24gdGV4dG8gcHJvcGlvIGVuCiAgIE3zdmlsICh2ZXIgaXRlbS50aXRsZU1vYmlsZSBlbiBidWlsZFNjb3BlZEhUTUwpOiBtaXNtbyBtZWNhbmlzbW8gZGUKICAgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciBwcmluY2lwYWwgZGUgYXJyaWJhICYjODIxMjsgZWwgb3ZlcnJpZGUgcXVlIG11ZXN0cmEKICAgbGEgdmVyc2nzbiBN83ZpbCB5IG9jdWx0YSBsYSBkZSBEZXNrIHZpdmUgZW4gZWwgQGNvbnRhaW5lciBkZSBt4XMgYWJham8uICovCi5ibGstdTQ3ZHEgLnJlbGF0ZWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci5ibGstdTQ3ZHEgLmF1dGhvci1sYWJlbHtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Y29sb3I6I2ZmZjtmb250LXdlaWdodDoyMDA7Zm9udC1zaXplOi44ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246cmlnaHQ7ZGlzcGxheTpibG9ja30KLmJsay11NDdkcSAuc3RhY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47fQouYmxrLXU0N2RxIC5zdGFjay1pdGVte2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MTEwcHggMWZyO2dhcDoxMHB4O2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6IHN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay11NDdkcSAudGh1bWJ7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86NC8zO2JhY2tncm91bmQ6I2VlZTtvdmVyZmxvdzpoaWRkZW59Ci5ibGstdTQ3ZHEgLnRodW1iIGltZywKLmJsay11NDdkcSAudGh1bWIgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyfQouYmxrLXU0N2RxIC50aHVtYiAucGxheS1zcXVhcmUsCi5ibGstdTQ3ZHEgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlewogIHBvc2l0aW9uOmFic29sdXRlOyBib3R0b206NXB4OyBsZWZ0OjVweDsKICBpbmxpbmUtc2l6ZToyNXB4O2Jsb2NrLXNpemU6MjVweDtib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5OmlubGluZS1ncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xOCk7CiAgY3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMsIHRyYW5zZm9ybSAuMTJzOwogIHotaW5kZXg6MjsgYW5pbWF0aW9uOmJsay11NDdkcS1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLXU0N2RxIC50aHVtYiAucGxheS1zcXVhcmU6OmJlZm9yZSwKLmJsay11NDdkcSAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmU6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NnB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo1cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgbWFyZ2luLWxlZnQ6MnB4Owp9Ci5ibGstdTQ3ZHEgLnRodW1iIC5wbGF5LXNxdWFyZTpob3ZlciwKLmJsay11NDdkcSAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmU6aG92ZXJ7IGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjg1KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7IH0KLmJsay11NDdkcSAuc3RhY2stdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTdweDtsaW5lLWhlaWdodDoxLjE1ZW07bWFyZ2luOjA7Y29sb3I6IzJjM2U1Mzt9Ci5ibGstdTQ3ZHEgLnN0YWNrLWF1dGhvcntmb250LWZhbWlseToiYW1wbGl0dWRlLWJvb2siLHNhbnMtc2VyaWY7Y29sb3I6IzgyODU5NTtmb250LXdlaWdodDoyMDA7Zm9udC1zaXplOi44cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6MTFweDtsZXR0ZXItc3BhY2luZzowO3RleHQtYWxpZ246cmlnaHQ7fQovKiBTaW4gZXN0YSByZWdsYSBlbCBhdXRvciBxdWVkYSBwZWdhZG8ganVzdG8gZGViYWpvIGRlbCB0aXR1bGFyIGVuIHZleiBkZQogICBhYmFqbyBkZSBsYSB0YXJqZXRhOiAubW9kLXN0YWNrIG5lY2VzaXRhIHNlciBmbGV4LWNvbHVtbiBjb24KICAganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4gcGFyYSBxdWUgZWwgaHVlY28gc29icmFudGUgKGN1YW5kbyBsYQogICB0YXJqZXRhIGNyZWNlIG3hcyBxdWUgc3UgY29udGVuaWRvLCB2ZXIgLnN0YWNrLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spCiAgIG3hcyBhYmFqbykgZW1wdWplIGVsIGF1dG9yIGhhY2lhIGVsIGJvcmRlIGluZmVyaW9yLiAqLwouYmxrLXU0N2RxIC5tb2Qtc3RhY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtmbGV4OjEgMSBhdXRvO30KLyogTm90aWNpYSBhcGlsYWRhOiBkaXNl8W8gInNvbG8gdGV4dG8iIChzaW4gZm90bykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay11NDdkcSAuc3RhY2staXRlbS5sYXlvdXQtdGl0bGUtb25seXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO30KLmJsay11NDdkcSAuc3RhY2staXRlbS5sYXlvdXQtdGl0bGUtb25seSAuc3RhY2stdGl0bGUtYm9keXtwYWRkaW5nLWJvdHRvbTozM3B4O30KLmJsay11NDdkcSAuc3RhY2staXRlbS5sYXlvdXQtdGl0bGUtb25seSAuc3RhY2stYXV0aG9ye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7Ym90dG9tOjEwcHg7bWFyZ2luLXRvcDowO30KLmJsay11NDdkcSAubGVmdC1saXN0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47fQouYmxrLXU0N2RxIC5sZWZ0LWl0ZW17ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLyogRWwgYXV0b3Igc2UgcG9zaWNpb25hIGVuIGFic29sdXRvLCBhbmNsYWRvIGEgbGEgZXNxdWluYSBpbmZlcmlvciBkZXJlY2hhIGRlCiAgIGxhIHRhcmpldGEgKGlndWFsIHF1ZSBlbCBjaGVjayBkZSBXaGF0c0FwcCBvIGVsIHBsYXkgZGUgbGFzIG1pbmlhdHVyYXMpLAogICBlbiB2ZXogZGUgZGVwZW5kZXIgZGUgcXVlIGVsIGJsb3F1ZSBkZSB0ZXh0byB0ZW5nYSBodWVjbyBkZSBzb2JyYSBwYXJhCiAgIGVtcHVqYXJsbyBhYmFqbyBjb24gZmxleGJveCAmIzgyMTI7IGNvbiB07XR1bG9zIGRlIDItMyBs7W5lYXMgZXNlIGh1ZWNvIG5vCiAgIGV4aXN0ZSB5IGVsIGF1dG9yIG51bmNhIGxsZWdhYmEgYSBiYWphci4gcGFkZGluZy1ib3R0b20gZW4gbGVmdC1ib2R5CiAgIHJlc2VydmEgZWwgZXNwYWNpbyBwYXJhIHF1ZSBlbCB07XR1bG8gbm8gc2Ugc29sYXBlIGNvbiDpbC4gKi8KLmJsay11NDdkcSAubGVmdC1pdGVtIC5sZWZ0LWJvZHl7cGFkZGluZy1ib3R0b206MzNweDt9Ci5ibGstdTQ3ZHEgLmxlZnQtaXRlbSAuc3RhY2stYXV0aG9ye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7Ym90dG9tOjEwcHg7bWFyZ2luLXRvcDowO30KLmJsay11NDdkcSAubGVmdC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjEuMTU7Y29sb3I6IzJjM2U1MzttYXJnaW46MDt0ZXh0LWFsaWduOmxlZnQ7fQouYmxrLXU0N2RxIC5sZWZ0LXBsYXl7CiAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICBiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjMDBhN2ZmOwogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206IDRweDsKfQouYmxrLXU0N2RxIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4Owp9Ci5ibGstdTQ3ZHEgLnJlbGF0ZWQtbGl2ZS10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkY1MDUwOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkY1MDUwOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLXU0N2RxIC5yZWxhdGVkLWVkaXRvcmlhbC10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkFCMTIxOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkFCMTIxOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLXU0N2RxIC5wbGF5LWJ1dHRvbnsKICAvKiBBbmNoby9hbHRvIGZpam9zIGVuIHZleiBkZSBhc3BlY3QtcmF0aW86MS8xICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoZWwKICAgICBj4WxjdWxvIGRlICJzaHJpbmstdG8tZml0IiBwYXJhIHVuIDxidXR0b24+IGVuIGFic29sdXRvIHNpbiB0YW1h8W8KICAgICBleHBs7WNpdG8gbm8gZXMgZmlhYmxlIGVudHJlIG1vdG9yZXM7IGVuIFdlYktpdC9pT1MgZGFiYSB1biByZWN04W5ndWxvCiAgICAgdmVydGljYWwgZXN0cmVjaO1zaW1vIGVuIHZleiBkZSB1biBjdWFkcmFkbykuICovCiAgYXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOwogIHBvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDsKICBpbmxpbmUtc2l6ZTozNHB4O2Jsb2NrLXNpemU6MzRweDsKICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxMHB4IDEwcHggMTBweCAxMnB4OwogIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNyk7CiAgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC40Mik7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjNweDsKICBjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7YW5pbWF0aW9uOmJsay11NDdkcS1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLXU0N2RxIC5wbGF5LWJ1dHRvbi5wb3MtdG9wLXJpZ2h0e3RvcDoxMHB4O3JpZ2h0OjEwcHg7bGVmdDphdXRvO2JvdHRvbTphdXRvO30KLmJsay11NDdkcSAucGxheS1idXR0b24ucG9zLWJvdHRvbS1sZWZ0e2JvdHRvbToxMHB4O2xlZnQ6MTBweDt0b3A6YXV0bztyaWdodDphdXRvO30KLmJsay11NDdkcSAucGxheS1idXR0b24ucG9zLWJvdHRvbS1yaWdodHtib3R0b206MTBweDtyaWdodDoxMHB4O3RvcDphdXRvO2xlZnQ6YXV0bzt9Ci8qIFBvc2ljafNuICdib3R0b20nIHBvciBkZWZlY3RvOiBlbCBsZWFkLWJvZHkgc29sYXBhIDMwcHggc29icmUgZWwgYm9yZGUKICAgSU5GRVJJT1IgZGUgbGEgZm90by927WRlbyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBObyBhcGxpY2EgY29uICdib3R0b20tZnVsbCcuICovCi5ibGstdTQ3ZHEgLmxlYWQ6bm90KC5sZWFkLWJvZHktYm90dG9tLWZ1bGwpIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLWxlZnQsCi5ibGstdTQ3ZHEgLmxlYWQ6bm90KC5sZWFkLWJvZHktYm90dG9tLWZ1bGwpIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NDBweDsgfQouYmxrLXU0N2RxIC5wbGF5LWJ1dHRvbiAucGxheS1pY29uewogIGlubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjlweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci5ibGstdTQ3ZHEgLnBsYXktYnV0dG9uIC5wbGF5LXRleHR7ZGlzcGxheTpub25lO30KCi8qIFRpdHVsYXJlcyBhbmltYWRvcyAoY2FwYSBhbHRlcm5hdGl2YSBzb2JyZSBsZWFkLW1lZGlhKSAmIzgyMTI7IHZlciBtaXNtbwogICBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhCiAgIGhlcnJhbWllbnRhLiBDYWRhIHRpdHVsYXIgdGllbmUgc3UgcHJvcGlhIHBvc2ljafNuIChjbGFzZSBwb3MtKiwgdmVyCiAgIGJ1aWxkU2NvcGVkSFRNTCkgeSBzZSByZXZlbGEgbO1uZWEgcG9yIGztbmVhICh1bmEgdmV6IG1lZGlkYXMgc3VzIGztbmVhcwogICByZWFsZXMgcG9yIGVsIHNjcmlwdCBzdGFuZGFsb25lLCB2ZXIgYnVpbGRBbmltSGVhZGxpbmVzU2NyaXB0KSBjb24gdW5hCiAgIGNhamEgZGUgZm9uZG8gZGV0cuFzIGRlIGNhZGEgbO1uZWEgeSB1biBmYWRlIGRlIG9wYWNpZGFkIGVudHJlIHRpdHVsYXJlcy4gKi8KLmJsay11NDdkcSAubGVhZC1hbmltLWhlYWRsaW5lc3sKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBpbnNldDowOwogIHotaW5kZXg6NDsKICBwb2ludGVyLWV2ZW50czpub25lOwp9Ci5ibGstdTQ3ZHEgLmxlYWQtYW5pbS1oZWFkbGluZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBsZWZ0OjE1cHg7CiAgb3BhY2l0eTowOwp9Ci5ibGstdTQ3ZHEgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGJvdHRvbTo2MHB4OyB9Ci5ibGstdTQ3ZHEgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnR7IHRvcDo2MHB4OyB9Ci5ibGstdTQ3ZHEgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstdTQ3ZHEgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0LAouYmxrLXU0N2RxIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay11NDdkcSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IGxlZnQ6YXV0bzsgcmlnaHQ6MTVweDsgfQouYmxrLXU0N2RxIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodHsgdG9wOjYwcHg7IH0KLmJsay11NDdkcSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstdTQ3ZHEgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NjBweDsgfQouYmxrLXU0N2RxIC5sZWFkLWFuaW0taGVhZGxpbmUuaXMtYWN0aXZleyBvcGFjaXR5OjE7IH0KLmJsay11NDdkcSAubGVhZC1hbmltLWxpbmV7CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgZGlzcGxheTp0YWJsZTsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7CiAgZm9udC13ZWlnaHQ6OTAwOwogIGNvbG9yOiNmZmY7CiAgcGFkZGluZzoycHggOHB4OwogIGNsaXAtcGF0aDppbnNldCgwIDEwMCUgMCAwKTsKICBvcGFjaXR5OjE7CiAgdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgZWFzZTsKfQouYmxrLXU0N2RxIC5sZWFkLWFuaW0tbGluZS5pcy1oaWRpbmd7IG9wYWNpdHk6MDsgfQovKiBTb2xhcGUgZGUgMXB4IGVudGVyYSBlbnRyZSBs7W5lYXMgcGFyYSBjZXJyYXIgZWwgaGlsbyBkZSBzdWItcO14ZWwgcXVlCiAgIHB1ZWRlIHF1ZWRhciBlbnRyZSBzdXMgY2FqYXMgZGUgZm9uZG8gKHJlZG9uZGVvIGRlIGFsdHVyYXMgZnJhY2Npb25hcmlhcykgJiM4MjEyOwogICB2ZXIgbWlzbW8gY29tZW50YXJpbywgZGV0YWxsYWRvLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXU0N2RxIC5sZWFkLWFuaW0tbGluZSArIC5sZWFkLWFuaW0tbGluZXsKICBtYXJnaW4tdG9wOi0xcHg7Cn0KLmJsay11NDdkcSAubGVhZC1hbmltLWxpbmU6Zmlyc3QtY2hpbGR7IHBhZGRpbmctdG9wOjZweDsgfQouYmxrLXU0N2RxIC5sZWFkLWFuaW0tbGluZTpsYXN0LWNoaWxkeyBwYWRkaW5nLWJvdHRvbTo2cHg7IH0KLmJsay11NDdkcSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQgLmxlYWQtYW5pbS1saW5lLAouYmxrLXU0N2RxIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGstdTQ3ZHEgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0IC5sZWFkLWFuaW0tbGluZXsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OjA7IH0KLmJsay11NDdkcSAubGVhZC1hbmltLWhlYWRsaW5lcy5pcy1wb3NpdGl2ZSAubGVhZC1hbmltLWxpbmV7IGNvbG9yOiMwRTExMUE7IH0KLmJsay11NDdkcSAubGVhZC1hbmltLWxpbmUtYmd7IHBvc2l0aW9uOmFic29sdXRlOyBpbnNldDowOyB6LWluZGV4Oi0xOyB9Ci5ibGstdTQ3ZHEgLmxlYWQtYW5pbS1saW5lLXRleHR7IHBvc2l0aW9uOnJlbGF0aXZlOyB9CkBrZXlmcmFtZXMgYmxrLXU0N2RxLWFuaW0tbGluZS1yZXZlYWx7IHRveyBjbGlwLXBhdGg6aW5zZXQoMCAwIDAgMCk7IH0gfQoKLyogQ2FwYSBkZSBjb252ZXJzYWNp824gZGUgV2hhdHNBcHAgKHNvYnJlIGxlYWQtbWVkaWEpICovCi5ibGstdTQ3ZHEgLmxlYWQtd2F7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjU7b3ZlcmZsb3c6aGlkZGVuO30KLmJsay11NDdkcSAubGVhZC13YS1oaW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7ei1pbmRleDozO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDojZmZlMDAwO2NvbG9yOiMwMDA7Zm9udC1mYW1pbHk6IlJvYm90byIsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDA7cGFkZGluZzoxcHggM3B4O2JvcmRlci1yYWRpdXM6MnB4O3doaXRlLXNwYWNlOm5vd3JhcDtsaW5lLWhlaWdodDoxLjI7fQouYmxrLXU0N2RxIC5sZWFkLXdhLWF2YXRhcntwb3NpdGlvbjphYnNvbHV0ZSAhaW1wb3J0YW50O3RvcDoxMHB4ICFpbXBvcnRhbnQ7aW5saW5lLXNpemU6NTBweCAhaW1wb3J0YW50O2Jsb2NrLXNpemU6NTBweCAhaW1wb3J0YW50O2FzcGVjdC1yYXRpbzoxLzEgIWltcG9ydGFudDtmbGV4LXNocmluazowO2JvcmRlci1yYWRpdXM6NTAlICFpbXBvcnRhbnQ7b2JqZWN0LWZpdDpjb3ZlciAhaW1wb3J0YW50O2JvcmRlcjoycHggc29saWQgI2ZmZjtib3gtc2hhZG93OjAgMXB4IDRweCByZ2JhKDAsMCwwLC4zNSk7ei1pbmRleDozO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLXU0N2RxIC5sZWFkLXdhLWF2YXRhci1sZWZ0e2xlZnQ6MTBweCAhaW1wb3J0YW50O3JpZ2h0OmF1dG8gIWltcG9ydGFudDt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtYXZhdGFyLXJpZ2h0e3JpZ2h0OjEwcHggIWltcG9ydGFudDtsZWZ0OmF1dG8gIWltcG9ydGFudDt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtbmFtZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjdweDt6LWluZGV4OjM7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzAwMDtmb250LWZhbWlseToiUm9ib3RvIixBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nOjFweCAzcHg7Ym9yZGVyLXJhZGl1czoycHg7d2hpdGUtc3BhY2U6bm93cmFwO2xpbmUtaGVpZ2h0OjEuMjttYXgtaW5saW5lLXNpemU6MTEwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7fQouYmxrLXU0N2RxIC5sZWFkLXdhLW5hbWUtbGVmdHtsZWZ0OjY2cHg7fQouYmxrLXU0N2RxIC5sZWFkLXdhLW5hbWUtcmlnaHR7cmlnaHQ6NjZweDt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtZGF0ZXtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7bWFyZ2luOjJweCAwO30KLmJsay11NDdkcSAubGVhZC13YS1kYXRlLWxhYmVse2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMDAwO2ZvbnQtZmFtaWx5OiJSb2JvdG8iLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO3BhZGRpbmc6MXB4IDNweDtib3JkZXItcmFkaXVzOjJweDt3aGl0ZS1zcGFjZTpub3dyYXA7bGluZS1oZWlnaHQ6MS40O30KLmJsay11NDdkcSAubGVhZC13YS1zY3JvbGx7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjE7cGFkZGluZzo2OHB4IDEycHggNjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVuOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO3RvdWNoLWFjdGlvbjpwYW4teTtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2Etc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7fQouYmxrLXU0N2RxIC5sZWFkLXdhLW1zZ3twb3NpdGlvbjpyZWxhdGl2ZTttYXgtaW5saW5lLXNpemU6NzglO3BhZGRpbmc6NnB4IDlweDtib3JkZXItcmFkaXVzOjcuNXB4O2ZvbnQtZmFtaWx5OiJSb2JvdG8iLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiMwMDA7bGluZS1oZWlnaHQ6MS41NTt3b3JkLXdyYXA6YnJlYWstd29yZDtib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSk7fQouYmxrLXU0N2RxIC5sZWFkLXdhLW1zZy5sZWZ0e2JhY2tncm91bmQ6I2ZmZjthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7Ym9yZGVyLXJhZGl1czowIDcuNXB4IDcuNXB4IDcuNXB4O30KLmJsay11NDdkcSAubGVhZC13YS1tc2cucmlnaHR7YmFja2dyb3VuZDojZGNmOGM2O2FsaWduLXNlbGY6ZmxleC1lbmQ7Ym9yZGVyLXJhZGl1czo3LjVweCAwIDcuNXB4IDcuNXB4O30KLmJsay11NDdkcSAubGVhZC13YS1tc2cubGVmdDo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDotN3B4O2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowO2JvcmRlci10b3A6N3B4IHNvbGlkICNmZmY7Ym9yZGVyLWxlZnQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O30KLmJsay11NDdkcSAubGVhZC13YS1tc2cucmlnaHQ6OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6LTdweDtpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDtib3JkZXItdG9wOjdweCBzb2xpZCAjZGNmOGM2O2JvcmRlci1yaWdodDo3cHggc29saWQgdHJhbnNwYXJlbnQ7fQouYmxrLXU0N2RxIC5sZWFkLXdhLW1zZy5tZWRpYXtwYWRkaW5nOjNweDtib3gtc2hhZG93Om5vbmU7fQouYmxrLXU0N2RxIC5sZWFkLXdhLW1zZy5tZWRpYS1waG90bywKLmJsay11NDdkcSAubGVhZC13YS1tc2cubWVkaWEtdmlkZW97aW5saW5lLXNpemU6NTAlO30KLmJsay11NDdkcSAubGVhZC13YS1tc2cubWVkaWEtZW1iZWR7aW5saW5lLXNpemU6OTUlO21heC1pbmxpbmUtc2l6ZTo5NSU7fQouYmxrLXU0N2RxIC5sZWFkLXdhLW1zZy5tZWRpYS1hdWRpb3ttYXgtaW5saW5lLXNpemU6NTAlO30KLmJsay11NDdkcSAubGVhZC13YS1tc2cubmV3c3twYWRkaW5nOjEwcHg7aW5saW5lLXNpemU6ODAlO21heC1pbmxpbmUtc2l6ZTo4MCU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLyogVW5pZmljYSBlbCBjb2xvciBkZWwgdGl0dWxhciBlbiBlbCBkaXNl8W8gIlNvbG8gdGl0dWxhciIgY29uIGVsIHJlc3RvIGRlCiAgIHRhcmpldGFzIGRlIG5vdGljaWEgZGUgZXN0YSBjYXBhIChzdGFjay10aXRsZSwgIzJjM2U1MykgJiM4MjEyOyB2ZXIgbWlzbW8KICAgY29tZW50YXJpbywgZGV0YWxsYWRvLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXU0N2RxIC5sZWFkLXdhLW1zZy5uZXdzIC5sZWZ0LXRpdGxle2NvbG9yOiMyYzNlNTM7fQouYmxrLXU0N2RxIC5sZWFkLXdhLW1lZGlhLWxpbmt7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtsaW5lLWhlaWdodDowO2JvcmRlci1yYWRpdXM6NS41cHg7b3ZlcmZsb3c6aGlkZGVuO30KLmJsay11NDdkcSAubGVhZC13YS1tZWRpYS1saW5rIGltZywKLmJsay11NDdkcSAubGVhZC13YS1tZWRpYS1saW5rIHZpZGVve3Bvc2l0aW9uOnN0YXRpYztkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTphdXRvO2JvcmRlci1yYWRpdXM6NS41cHg7fQouYmxrLXU0N2RxIC5sZWFkLXdhLW1lZGlhLWxpbmsgdmlkZW97YXNwZWN0LXJhdGlvOmF1dG8gNC8zO30KLmJsay11NDdkcSAubGVhZC13YS1wbGF5LW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7aW5saW5lLXNpemU6NDBweDtibG9jay1zaXplOjQwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZmZmO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3gtc2hhZG93OjAgMXB4IDRweCByZ2JhKDAsMCwwLC4zNSk7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtcGxheS1vdmVybGF5OjpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowO2JvcmRlci1sZWZ0OjEycHggc29saWQgIzAwMDtib3JkZXItdG9wOjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjhweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDozcHg7fQouYmxrLXU0N2RxIC5sZWFkLXdhLW1lZGlhLWVtcHR5e2FzcGVjdC1yYXRpbzo0LzM7YmFja2dyb3VuZDojZTJlNmVhO2NvbG9yOiM3ZjhjOGQ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OiJSb2JvdG8iLEFyaWFsLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6bm9ybWFsO30KLmJsay11NDdkcSAubGVhZC13YS1lbWJlZC13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtib3JkZXItcmFkaXVzOjUuNXB4O292ZXJmbG93OmhpZGRlbjt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtZW1iZWQtd3JhcCBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay11NDdkcSAubGVhZC13YS1tc2cuaXMtZXhwYW5kYWJsZSAubGVhZC13YS1tZWRpYS1saW5re2N1cnNvcjpwb2ludGVyO30KLmJsay11NDdkcSAubGVhZC13YS1tc2cubWVkaWEtcGhvdG8uaXMtZXhwYW5kZWQsCi5ibGstdTQ3ZHEgLmxlYWQtd2EtbXNnLm1lZGlhLXZpZGVvLmlzLWV4cGFuZGVke2lubGluZS1zaXplOjk1JTttYXgtaW5saW5lLXNpemU6OTUlO30KLmJsay11NDdkcSAubGVhZC13YS1leHBhbmQtY2xvc2V7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6NnB4O2lubGluZS1zaXplOjI2cHg7YmxvY2stc2l6ZToyNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7Y29sb3I6I2ZmZjtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxO2N1cnNvcjpwb2ludGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MDt6LWluZGV4OjM7fQouYmxrLXU0N2RxIC5sZWFkLXdhLW1zZy5pcy1leHBhbmRlZCAubGVhZC13YS1leHBhbmQtY2xvc2V7ZGlzcGxheTpmbGV4O30KLmJsay11NDdkcSAubGVhZC13YS1tc2cuaXMtZXhwYW5kZWQgLmxlYWQtd2EtcGxheS1vdmVybGF5e2Rpc3BsYXk6bm9uZTt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtZm9yd2FyZGVke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtjb2xvcjojODY5NmEwO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtc2l6ZToxMi41cHg7bGluZS1oZWlnaHQ6MS4zO21hcmdpbi1ib3R0b206MnB4O30KLmJsay11NDdkcSAubGVhZC13YS1mb3J3YXJkZWQtaWNvbntmbGV4OjAgMCBhdXRvO2NvbG9yOiM4Njk2YTA7fQouYmxrLXU0N2RxIC5sZWFkLXdhLWF1ZGlve2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjZweCA4cHg7bWF4LWlubGluZS1zaXplOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaXppbmc6Ym9yZGVyLWJveDt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtYXVkaW8tcGxheWJ0bntmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjMwcHg7YmxvY2stc2l6ZTozMHB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDtjb2xvcjojNTQ2NTZmO30KLmJsay11NDdkcSAubGVhZC13YS1hdWRpby1wbGF5YnRuIC5sZWFkLXdhLWF1ZGlvLXBsYXktaWNvbntpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDtib3JkZXItbGVmdDoxMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtib3JkZXItdG9wOjdweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjdweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDoycHg7fQouYmxrLXU0N2RxIC5sZWFkLXdhLWF1ZGlvLXBsYXlidG4gLmxlYWQtd2EtYXVkaW8tcGF1c2UtaWNvbntkaXNwbGF5Om5vbmU7Z2FwOjNweDt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtYXVkaW8tcGxheWJ0biAubGVhZC13YS1hdWRpby1wYXVzZS1pY29uIHNwYW57ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTozcHg7YmxvY2stc2l6ZToxMnB4O2JhY2tncm91bmQ6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6MXB4O30KLmJsay11NDdkcSAubGVhZC13YS1hdWRpby1wbGF5YnRuLmlzLXBsYXlpbmcgLmxlYWQtd2EtYXVkaW8tcGxheS1pY29ue2Rpc3BsYXk6bm9uZTt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtYXVkaW8tcGxheWJ0bi5pcy1wbGF5aW5nIC5sZWFkLXdhLWF1ZGlvLXBhdXNlLWljb257ZGlzcGxheTpmbGV4O30KLmJsay11NDdkcSAubGVhZC13YS1hdWRpby13YXZle2ZsZXg6MSAxIGF1dG87ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2Jsb2NrLXNpemU6MjJweDtvdmVyZmxvdzpoaWRkZW47bWluLWlubGluZS1zaXplOjA7fQouYmxrLXU0N2RxIC5sZWFkLXdhLWF1ZGlvLXdhdmUgc3BhbntmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjJweDtiYWNrZ3JvdW5kOiNiN2M2Y2Y7Ym9yZGVyLXJhZGl1czoxcHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgbGluZWFyO30KLmJsay11NDdkcSAubGVhZC13YS1hdWRpby13YXZlIHNwYW4uaXMtcGxheWVke2JhY2tncm91bmQ6IzUzQkRFQjt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtYXVkaW8tZWx7ZGlzcGxheTpub25lO30KLmJsay11NDdkcSAubGVhZC13YS1hdWRpby1hdmF0YXJ7cG9zaXRpb246cmVsYXRpdmU7ZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZTozMnB4O2Jsb2NrLXNpemU6MzJweDtib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojYzljY2NlO30KLmJsay11NDdkcSAubGVhZC13YS1hdWRpby1hdmF0YXIgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtbGlua3tjb2xvcjojMDM5YmU1O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7d29yZC1icmVhazpicmVhay1hbGw7cG9pbnRlci1ldmVudHM6YXV0bzt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtY2hlY2t7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7aW5saW5lLXNpemU6MTZweDtibG9jay1zaXplOjExcHg7ZmxleDowIDAgYXV0bzttYXJnaW4tbGVmdDo0cHg7dmVydGljYWwtYWxpZ246LTJweDt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtbXNnLnJpZ2h0Om5vdCgubWVkaWEpIC5sZWFkLXdhLWNoZWNre2Zsb2F0OnJpZ2h0O21hcmdpbjoycHggMCAwIDZweDt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtbXNnLm1lZGlhLXBob3RvIC5sZWFkLXdhLWNoZWNrLAouYmxrLXU0N2RxIC5sZWFkLXdhLW1zZy5tZWRpYS12aWRlbyAubGVhZC13YS1jaGVjaywKLmJsay11NDdkcSAubGVhZC13YS1tc2cubWVkaWEtZW1iZWQgLmxlYWQtd2EtY2hlY2t7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjVweDtyaWdodDo3cHg7bWFyZ2luOjA7fQouYmxrLXU0N2RxIC5sZWFkLXdhLW1zZy5tZWRpYS1hdWRpbyAubGVhZC13YS1jaGVja3ttYXJnaW4tbGVmdDo0cHg7YWxpZ24tc2VsZjpmbGV4LWVuZDt9Ci8qIEFuaW1hY2nzbiBkZSBhcGFyaWNp824gZGUgbGEgY29udmVyc2FjafNuIChvcGNpb25hbCkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4KICAgS2V5ZnJhbWUgY29uIG5vbWJyZSBwcm9waW8gKGJsay11NDdkcS13YS10eXBpbmctYm91bmNlKSBwYXJhIG5vIGNvbGlzaW9uYXIKICAgY29uIGVsIGRlIG90cmEgY29waWEgZGUgZXN0ZSBt82R1bG8gcGVnYWRhIGVuIGxhIG1pc21hIHDhZ2luYS4gKi8KLmJsay11NDdkcSAubGVhZC13YS1wZW5kaW5ne2Rpc3BsYXk6bm9uZTt9Ci5ibGstdTQ3ZHEgLmxlYWQtd2EtdHlwaW5nLW1zZ3twYWRkaW5nOjlweCAxMnB4O30KLmJsay11NDdkcSAubGVhZC13YS10eXBpbmd7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6M3B4O30KLmJsay11NDdkcSAubGVhZC13YS10eXBpbmcgc3BhbntpbmxpbmUtc2l6ZTo3cHg7YmxvY2stc2l6ZTo3cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojODY5NmEwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2FuaW1hdGlvbjpibGstdTQ3ZHEtd2EtdHlwaW5nLWJvdW5jZSAxLjNzIGVhc2UtaW4tb3V0IGluZmluaXRlO30KLmJsay11NDdkcSAubGVhZC13YS10eXBpbmcgc3BhbjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4xNXM7fQouYmxrLXU0N2RxIC5sZWFkLXdhLXR5cGluZyBzcGFuOm50aC1jaGlsZCgzKXthbmltYXRpb24tZGVsYXk6LjNzO30KQGtleWZyYW1lcyBibGstdTQ3ZHEtd2EtdHlwaW5nLWJvdW5jZXswJSw2MCUsMTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtvcGFjaXR5Oi41O30zMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCk7b3BhY2l0eToxO319CgovKiBBbmNob3Igb3ZlcmxheSBmb3IgZnVsbCBjbGlja2FibGUgbGVhZCAqLwouYmxrLXU0N2RxIC5sZWFkLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjF9CgovKiBIb3ZlciBvcGFjaXR5IGFuaW1hdGlvbiAqLwouYmxrLXU0N2RxIC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAouYmxrLXU0N2RxIC5zdGFjay1pdGVtOmhvdmVyLAouYmxrLXU0N2RxIC5sZWZ0LWl0ZW06aG92ZXJ7b3BhY2l0eTouOH0KLmJsay11NDdkcSAubGVhZC13YS1tc2cubmV3czpob3ZlcntvcGFjaXR5Oi45fQovKiBGb3RvIHByaW5jaXBhbCAoZmFsbGJhY2svc2luZ2xlKSBvIGNhcnJ1c2VsIGRlIGZvdG9zOiBvcGFjaWRhZCAwLjkgYWwKICAgcGFzYXIgZWwgcmF0824gcG9yIGxhIHRhcmpldGEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4KICAgbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGEgdu1kZW8gbmkgYWwKICAgY29tcGFyYWRvciBhbnRlcy9kZXNwdelzLiAqLwouYmxrLXU0N2RxIC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLXU0N2RxIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay11NDdkcSAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKLmJsay11NDdkcSAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6Ljk7fQovKiBFbiBlbCBhbmNobyBt83ZpbCAobWlzbW8gQGNvbnRhaW5lciBxdWUgZWwgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvKSBubwogICBhcGxpY2EgZXN0YSBhbmltYWNp824gZGUgb3BhY2lkYWQgc29icmUgbGEgbm90aWNpYSBwcmluY2lwYWw6IHZhIERFU1BVyVMKICAgZGUgbGEgcmVnbGEgZ2VuZXJhbCBkZSBhcnJpYmEgKG1pc21hIGVzcGVjaWZpY2lkYWQpIHBhcmEgcG9kZXIgZ2FuYXJsZS4KICAgT21pdGlkbywgaWd1YWwgcXVlIGVsIGJsb3F1ZSBkZSB0aXBvZ3JhZu1hIGRlIGFycmliYSwgbWllbnRyYXMgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBlc3TpIGFjdGl2YSAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstdTQ3ZHEgLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCiAgLmJsay11NDdkcSAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKICAuYmxrLXU0N2RxIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eToxO30KfQoKLyogQW5pbWFjafNuIGNvbXBhcnRpZGEgcGxheSBwcmluY2lwYWwgKyBjdWFkcmFkb3MgcGxheSBhcGlsYWRhcyAqLwpAa2V5ZnJhbWVzIGJsay11NDdkcS1ibGlua3sKICAwJSwxMDAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpfQogIDUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LDAuOSl9Cn0KLyogQ2FiZWNlcmEgKi8KLmJsay11NDdkcSAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxMHB4IDAgMzJweH0KLmJsay11NDdkcSAuZm5kLWxpbmVhe2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTo1cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW4tdG9wOi0xOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICMzMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzMzM30KLmJsay11NDdkcSAuc2VjdGlvbi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LTFweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6NHB4IDEzcHg7Ym9yZGVyOjFweCBzb2xpZCAjMEUxMTFBO3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKTtmb250LXNpemU6NDJweDtjb2xvcjojMEUxMTFBO30KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsuYmxrLXU0N2RxIC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MCAxMHB4fX0KLyogQ2FiZWNlcmEgJiM4MjEyOyBEaXNl8W8gMiAodGl0dWxhciArIGNhcnJ1c2VsIGRlIGxvZ290aXBvcykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay11NDdkcSAuaGVhZGVyMntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoyMHB4O3BhZGRpbmctYm90dG9tOjVweDttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzBFMTExQTt9Ci8qIGFsaWduLXNlbGY6ZmxleC1lbmQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSAxNXB4IGRlIGxhIGztbmVhIHNlcGFyYWRvcmEKICAgZW4gRGVzayAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MKICAgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXU0N2RxIC5oZWFkZXIyLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtmbGV4OjEgMSA1MCU7bWluLWlubGluZS1zaXplOjA7YWxpZ24tc2VsZjpmbGV4LWVuZDt9Ci5ibGstdTQ3ZHEgLmhlYWRlcjItdGFnc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleDowIDAgYXV0bzt9Ci8qIE1pc21vIHRhbWHxby90aXBvZ3JhZu1hIHF1ZSAubGVhZC1leGNsdXNpdmUtdGFnIChsYSBkZSBsYSBub3RpY2lhCiAgIHByaW5jaXBhbCkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZQogICBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay11NDdkcSAuaGVhZGVyMi1jYXQtdGFnLAouYmxrLXU0N2RxIC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWd7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6LjhlbTtsZXR0ZXItc3BhY2luZzouNXB4O3BhZGRpbmc6MnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7fQouYmxrLXU0N2RxIC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay11NDdkcSAuaGVhZGVyMi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZTozNnB4O2xpbmUtaGVpZ2h0OjEuMDU7Y29sb3I6IzBFMTExQTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWluLWlubGluZS1zaXplOjA7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO30KLyogU2VwYXJhY2nzbiBkZSAxMHB4IGVudHJlIGVsIHRleHRvIGRlIHBhdHJvY2luaW8geSBlbCBsb2dvIGVuIERlc2sgJiM4MjEyOyBlbgogICBN83ZpbCBzaWd1ZSBzaW4gc2VwYXJhY2nzbiAoZ2FwOjAsIHZlciBAY29udGFpbmVyIG3hcyBhYmFqbykuICovCi5ibGstdTQ3ZHEgLmhlYWRlcjItbG9nb3Mtd3JhcHtmbGV4OjAgMCBhdXRvO21heC1pbmxpbmUtc2l6ZTo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7fQovKiBFdGlxdWV0YSBvcGNpb25hbCBqdW50byBhbCBjYXJydXNlbCBkZSBsb2dvcyAocC5lai4gIlBhdHJvY2luYWRvIHBvcjoiKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXU0N2RxIC5oZWFkZXIyLWxvZ29zLWxhYmVse2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjY3O3doaXRlLXNwYWNlOm5vd3JhcDt9Ci5ibGstdTQ3ZHEgLmhlYWRlcjItbG9nb3N7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTYwcHg7YmxvY2stc2l6ZTo1MHB4O2ZsZXgtc2hyaW5rOjA7fQouYmxrLXU0N2RxIC5oZWFkZXIyLWxvZ29zIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO21hcmdpbjphdXRvO21heC1pbmxpbmUtc2l6ZToxMDAlO21heC1ibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb250YWluO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIGVhc2UtaW4tb3V0O30KLmJsay11NDdkcSAuaGVhZGVyMi1sb2dvcyBpbWcuaXMtYWN0aXZle29wYWNpdHk6MTt9Ci8qIElndWFsIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsOiBwb3IgZGViYWpvIGRlIGVzdGUgYW5jaG8gc2UKICAgaW50ZW50YSBwcmltZXJvIDEgU09MQSBGSUxBIChldGlxdWV0YXMrdGl0dWxhciBqdW50byBhbCBsb2dvLCBpZ3VhbCBxdWUKICAgZW4gRGVzaywgYSB0YW1h8W8gcmVkdWNpZG8pLiBFbCBibG9xdWUgZGUgbG9nb3MgbWFudGllbmUgU0lFTVBSRSBzdQogICBkaXNwb3NpY2nzbiBlbiBjb2x1bW5hIChldGlxdWV0YSBkZSBwYXRyb2NpbmlvIGVuY2ltYSBkZWwgbG9nbywKICAgYWxpbmVhZG9zIGEgbGEgZGVyZWNoYSwgc2luIHNlcGFyYWNp824pIHRhbnRvIGVuIGVzdGEgZmlsYSD6bmljYSBjb21vIGVuCiAgIGVsIHJlc2d1YXJkbyBkZSBhYmFqby4gU2kgZWwgdGl0dWxhciwgc3VtYWRvIGFsIGFuY2hvIGRlIGxhcyBldGlxdWV0YXMKICAgYWN0aXZhcyAoY2F0ZWdvcu1hIHkvbyBleGNsdXNpdmEsIHNpIGxhcyBoYXkpLCBzdXBlcmEgZWwgNTUlIGRlbCBhbmNobwogICB0b3RhbCBkZSBsYSBjYWJlY2VyYSAoY2FkYSB1bm8gbWVkaWRvIGEgdW5hIHNvbGEgbO1uZWEpLCBlbCBzY3JpcHQKICAgc3RhbmRhbG9uZSBh8WFkaWRvIGFsIGZpbmFsIGRlIGVzdGUgSFRNTCAodmVyCiAgIGJ1aWxkSGVhZGVyMlN0YWNraW5nU2NyaXB0KCkpIGxvIGRldGVjdGEgbWlkaWVuZG8gc3UgYW5jaG8gbmF0dXJhbAogICB5IGHxYWRlIGxhIGNsYXNlICJoZWFkZXIyLXN0YWNrZWQiOiBlbCBibG9xdWUgZGUKICAgbG9nb3Mgc3ViZSBlbnRvbmNlcyBhIHN1IHByb3BpYSBmaWxhIChhbGluZWFkbyBhIGxhIGRlcmVjaGEpIHkKICAgdGl0dWxhcitldGlxdWV0YXMgYmFqYW4gYSBsYSBmaWxhIGRlIGFiYWpvLCBhIGFuY2hvIGNvbXBsZXRvICYjODIxMjsgbWlzbW8KICAgbGF5b3V0IGRlIDIgZmlsYXMgcXVlIGhhYu1hIGFudGVzIHNpZW1wcmUgcG9yIGRlYmFqbyBkZSBlc3RlIGJyZWFrcG9pbnQsCiAgIGFob3JhIHNvbG8gY29tbyByZXNndWFyZG8uIERlbnRybyBkZSBlc2UgcmVzZ3VhcmRvLCBjb24gZXRpcXVldGEocykgZWwKICAgdGl0dWxhciBwYXNhIGFkZW3hcyBhIHN1IFBST1BJQSBmaWxhIGEgYW5jaG8gY29tcGxldG8sIGRlYmFqbyBkZSBsYSBmaWxhIGRlIGV0aXF1ZXRhcyAodmVyCiAgICIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnQiIG3hcyBhYmFqbykuIEVsIGxvZ28gc2UgcmVkdWNlIHVuIDIwJQogICAoMTYweDUwICYjODU5NDsgMTI4eDQwKS4KICAgYWxpZ24tc2VsZjpmbGV4LWVuZCBlbiBoZWFkZXIyLWxlZnQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSBsb3MgMTBweAogICBkZWwgcGFkZGluZy1ib3R0b20gcmVzcGVjdG8gYSBsYSBs7W5lYSBzZXBhcmFkb3JhICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlCiAgIGVuIERlc2sgKHZlciBoZWFkZXIyLWxlZnQgbeFzIGFycmliYSk6IHNpbiBlc3RvLCBhbCBzZXIgZWwgYmxvcXVlIGRlCiAgIGxvZ29zIG3hcyBhbHRvIHF1ZSBlbCB0aXR1bGFyLCBlbCBjZW50cmFkbyB2ZXJ0aWNhbCBkZWwgcm93IGRlamFiYSB1bgogICBodWVjbyBtYXlvciBlbnRyZSBlbCB0aXR1bGFyIHkgbGEgbO1uZWEuIEVsIGJsb3F1ZSBkZSBsb2dvcyBzaWd1ZQogICBjZW50cmFkbyAoc2luIGVzZSBvdmVycmlkZSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay11NDdkcSAuaGVhZGVyMntmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4O30KICAuYmxrLXU0N2RxIC5oZWFkZXIyLWxlZnR7b3JkZXI6MTthbGlnbi1zZWxmOmZsZXgtZW5kO30KICAuYmxrLXU0N2RxIC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MjthbGlnbi1zZWxmOmNlbnRlcjttYXgtaW5saW5lLXNpemU6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC5ibGstdTQ3ZHEgLmhlYWRlcjItbG9nb3N7aW5saW5lLXNpemU6MTI4cHg7YmxvY2stc2l6ZTo0MHB4O30KICAuYmxrLXU0N2RxIC5oZWFkZXIyLXRpdGxle2ZvbnQtc2l6ZToyN3B4O30KICAuYmxrLXU0N2RxIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDt9CiAgLmJsay11NDdkcSAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdHtvcmRlcjoyO2FsaWduLXNlbGY6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NXB4O30KICAuYmxrLXU0N2RxIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjE7bWF4LWlubGluZS1zaXplOjEwMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC8qIFJlc2d1YXJkbyBpbnRlcm1lZGlvICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YTogc29sbyBlbCB0aXR1bGFyIGJhamEgYSBzdQogICAgIHByb3BpYSBmaWxhIGEgYW5jaG8gY29tcGxldG8gY3VhbmRvIGxhcyBldGlxdWV0YXMgU80gY2FiZW4ganVudG8gYWwKICAgICBsb2dvIHBlcm8gZWwgdGl0dWxhciBuby4gaGVhZGVyMi1sZWZ0IHBhc2EgZGUgZmlsYSBhIGNvbHVtbmEKICAgICAoZXRpcXVldGFzIGFycmliYSwgdGl0dWxhciBkZWJham8pIHkgcmVjdXBlcmEgYWxpZ24tc2VsZjphdXRvIHBhcmEKICAgICBjZW50cmFyc2UgdmVydGljYWxtZW50ZSBjb250cmEgZWwgbG9nbyAoYWxpZ24tc2VsZjpjZW50ZXIgZGUgbGEgcmVnbGEKICAgICBiYXNlIGRlIC5oZWFkZXIyLWxvZ29zLXdyYXAsIGFycmliYSksIGlndWFsIHF1ZSBlbiBlbCByZXN0byBkZSBlc3RhZG9zLiAqLwogIC5ibGstdTQ3ZHEgLmhlYWRlcjIuaGVhZGVyMi10aXRsZS1iZWxvdyAuaGVhZGVyMi1sZWZ0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLXNlbGY6YXV0bztnYXA6NXB4O30KfQoKCi8qIE5vdGljaWEgYXBpbGFkYTogZGlzZfFvICJmb3RvIGdyYW5kZSBhcnJpYmEsIHRpdHVsYXIgZGViYWpvIiwgZWxlZ2libGUgcG9yCiAgIG5vdGljaWEgZGVzZGUgZWwgZ2VzdG9yICh5YSBubyBkZXBlbmRlIGRlIGN14W50YXMgbm90aWNpYXMgaGF5YSkuIFNpbgogICByZXN0cmluZ2lyIGEgQGNvbnRhaW5lcihtaW4taW5saW5lLXNpemU6ODYxcHgpOiBlbCBkaXNl8W8gKGZvdG8gYXJyaWJhIGEKICAgYW5jaG8gY29tcGxldG8sIHRpdHVsYXIgZW4gbWF5+nNjdWxhcykgc2UgYXBsaWNhIGVuIERlc2sgWSBlbiBN83ZpbCBwb3IKICAgaWd1YWwgJiM4MjEyOyBhbnRlcyBzb2xvIHNlIGFwbGljYWJhIGVuIERlc2ssIHkgZW4gTfN2aWwgbGEgdGFyamV0YSBjYe1hIGFsCiAgIGRpc2XxbyAiZm90byBwZXF1ZfFhIiBwb3IgZGVmZWN0byBlbiB2ZXogZGUgbW9zdHJhcnNlIGEgYW5jaG8gY29tcGxldG8uIEVsCiAgIHJlc2d1YXJkbyBkZSAyIGNvbHVtbmFzIGVuIG3zdmlsIChtb2ItZ3JpZCwgdmVyIG3hcyBhcnJpYmEpIHNpZ3VlIGFudWxhbmRvCiAgIGVzdGUgZXN0aWxvIGNvbiBlbCBzdXlvIHByb3BpbyAoMThweCwgc2luIG1hefpzY3VsYXMpIHBvciB0ZW5lciBtYXlvcgogICBlc3BlY2lmaWNpZGFkLiAqLwouYmxrLXU0N2RxIC5zdGFjay1pdGVtLmxheW91dC1waG90by10b3B7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9Ci5ibGstdTQ3ZHEgLnN0YWNrLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAudGh1bWJ7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTt9Ci8qIG1heC1pbmxpbmUtc2l6ZTozMDBweCBzb2xvIGVuIERlc2s6IGFo7SBsYSBjb2x1bW5hIGRlcmVjaGEgY29tcGFydGUgZmlsYQogICBjb24gbGEgcHJpbmNpcGFsIHkgbGEgaXpxdWllcmRhIChncmlkIGRlIDMgY29sdW1uYXMpLCBhc+0gcXVlIGNvbnZpZW5lCiAgIHRvcGFyIGVsIGFuY2hvIGRlIGxhIGZvdG87IGVuIE3zdmlsIGxhIHRhcmpldGEgb2N1cGEgZWwgYW5jaG8gY29tcGxldG8gZGVsCiAgIGNvbnRlbmVkb3IgeSBubyBoYWNlIGZhbHRhIGVzZSBs7W1pdGUuICovCkBjb250YWluZXIgKG1pbi1pbmxpbmUtc2l6ZTo4NjFweCl7CiAgLmJsay11NDdkcSAuc3RhY2staXRlbS5sYXlvdXQtcGhvdG8tdG9wIC50aHVtYnttYXgtaW5saW5lLXNpemU6MzAwcHg7fQp9Ci5ibGstdTQ3ZHEgLnN0YWNrLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAuc3RhY2stdGl0bGV7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS4yZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjkwMDt9Ci5ibGstdTQ3ZHEgLnN0YWNrLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAuc3RhY2stYXV0aG9ye3RleHQtYWxpZ246cmlnaHQ7fQovKiBFbiBN83ZpbCBlbCB0aXR1bGFyIGRlIGVzdGUgZGlzZfFvIHNlIG11ZXN0cmEgbeFzIGdyYW5kZSAoMS41cmVtIGVuIHZleiBkZQogICBsb3MgMS4ycmVtIGRlIERlc2spICYjODIxMjsgbWlzbWEgZXNwZWNpZmljaWRhZCAoMyBjbGFzZXMpIHF1ZSAiLnN0YWNrLWl0ZW0KICAgLmxheW91dC1waG90by10b3AgLnN0YWNrLXRpdGxlIiBkZWwgcmVzZ3VhcmRvIGRlIDIgY29sdW1uYXMgKDE4cHgsIHZlciBt4XMKICAgYXJyaWJhKSwgcXVlIHNpZ3VlIGdhbmFuZG8gYWjtIHBvciBzZXIgbeFzIGVzcGVj7WZpY287IGVuIGVsIHJlc3RvIGRlCiAgIGFuY2hvcyBt83ZpbGVzIGdhbmEgZXN0YSByZWdsYSBzb2JyZSBlbCBmYWxsYmFjayBnZW7pcmljbyAiLnBhZ2UKICAgLnN0YWNrLXRpdGxlIiAoMThweCwgMiBjbGFzZXMpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstdTQ3ZHEgLnN0YWNrLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAuc3RhY2stdGl0bGV7Zm9udC1zaXplOjEuNXJlbTtsaW5lLWhlaWdodDoxLjJlbTt9Cn0KLyogTm90aWNpYSBpenF1aWVyZGEgKHNvbG8gdGl0dWxhcik6IG1pc21vIGRpc2XxbyAiZm90byBncmFuZGUgYXJyaWJhLCB0aXR1bGFyCiAgIGRlYmFqbyIgJiM4MjEyOyBhIGRpZmVyZW5jaWEgZGVsIGJsb3F1ZSBkZSBhcnJpYmEsIGFxde0gTk8gc2UgcmVzdHJpbmdlIGNvbgogICBAY29udGFpbmVyIChtaW4taW5saW5lLXNpemUpIHBvcnF1ZSAubGVmdC1pdGVtIHlhIGVzIGJsb2NrIHBvciBkZWZlY3RvCiAgIChlbCB0aHVtYiB5IGVsIHRleHRvIHNlIGFwaWxhbiBzb2xvcyBzaW4gbeFzIGFqdXN0ZSksIGFz7SBxdWUgZWwgZGlzZfFvCiAgIGZ1bmNpb25hIGlndWFsIGRlIGJpZW4gZW4gY3VhbHF1aWVyIGFuY2hvLCBEZXNrIG8gTfN2aWwuICovCi5ibGstdTQ3ZHEgLmxlZnQtaXRlbS5sYXlvdXQtcGhvdG8tdG9we2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLXU0N2RxIC5sZWZ0LWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAudGh1bWJ7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLXU0N2RxIC5sZWZ0LWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAubGVmdC10aXRsZXtmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6OTAwO30KLmJsay11NDdkcSAubGVmdC1pdGVtLmxheW91dC1waG90by10b3AgLnN0YWNrLWF1dGhvcntwb3NpdGlvbjpzdGF0aWM7cmlnaHQ6YXV0bztib3R0b206YXV0bzttYXJnaW4tdG9wOjExcHg7dGV4dC1hbGlnbjpyaWdodDt9Ci8qIEVuIE3zdmlsIGVsIHRpdHVsYXIgZGUgZXN0ZSBkaXNl8W8gc2UgbXVlc3RyYSBt4XMgZ3JhbmRlICgxLjVyZW0gZW4gdmV6IGRlCiAgIGxvcyAxLjJyZW0gZGUgRGVzaykgJiM4MjEyOyBtaXNtYSBlc3BlY2lmaWNpZGFkICgzIGNsYXNlcykgcXVlIGxhIHJlZ2xhIGRlCiAgIGFycmliYTsgYWwgaXIgREVTUFXJUyBlbiBlbCBDU1MgZ2FuYSBwb3Igb3JkZW4gZGUgY2FzY2FkYS4gTm8gYWZlY3RhIGFsCiAgIHJlc2d1YXJkbyBkZSAyIGNvbHVtbmFzIGVuIG3zdmlsIChtb2ItZ3JpZCksIG3hcyBlc3BlY+1maWNvICgxOHB4LCB2ZXIKICAgbeFzIGFycmliYSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7CiAgLmJsay11NDdkcSAubGVmdC1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjEuNXJlbTt9Cn0KLyogRXN0aWxvICJCbG9xdWUgbWVkaWEiICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdTQ3ZHEgLm1lZGlhLWJsb2NrLW1lZGlhe2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOmF1dG87fQouYmxrLXU0N2RxIC5tZWRpYS1ibG9jay13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXU0N2RxIC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLXU0N2RxIC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcCBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay11NDdkcSAubGVmdC1pdGVtLmxheW91dC1tZWRpYS1ibG9ja3tib3JkZXI6bm9uZTtwYWRkaW5nOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtibG9jay1zaXplOmF1dG87ZmxleDowIDAgYXV0bzt9Ci5ibGstdTQ3ZHEgLnN0YWNrLWl0ZW0ubGF5b3V0LW1lZGlhLWJsb2Nre2Rpc3BsYXk6YmxvY2s7Ym9yZGVyOm5vbmU7cGFkZGluZzowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7YmxvY2stc2l6ZTphdXRvO2ZsZXg6MCAwIGF1dG87fQouYmxrLXU0N2RxIC5sZWZ0LWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spe2ZsZXg6MSAxIGF1dG87fQouYmxrLXU0N2RxIC5zdGFjay1pdGVtOm5vdCgubGF5b3V0LW1lZGlhLWJsb2NrKXtmbGV4OjEgMSBhdXRvO30KPC9zdHlsZT4KCjxkaXYgY2xhc3M9ImJsay11NDdkcSI+CiAgCiAgPG1haW4gY2xhc3M9InBhZ2UiPgogICAgPGFzaWRlIGNsYXNzPSJsZWZ0LWxpc3QiPgogICAgICAKICAgIDxhIGNsYXNzPSJsZWZ0LWl0ZW0gbGF5b3V0LXBob3RvLXRvcCIgaHJlZj0iaHR0cHM6Ly9va2RpYXJpby5jb20vYmFsZWFyZXMvaW5kYS1lbnZ1ZWx2ZS1iYW5kZXJhcy1iYWxlYXJlcy1lc3BhbmEtYXF1aS1uYWNpZXJvbi1taXMtZG9zLWhpam9zLXBlcXVlbm9zLWVzdGEtcXVlLW9kaWEtcGVkcm8tc2FuY2hlei0yMDUyNDA5NiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJJbmRhIHNlIGVudnVlbHZlIGVuIGxhcyBiYW5kZXJhcyBkZSBCYWxlYXJlcyB5IEVzcGHxYTogJnF1b3Q7yXN0YSBlcyBsYSBxdWUgb2RpYSBQZWRybyBT4W5jaGV6JnF1b3Q7Ij4KICAgICAgPGRpdiBjbGFzcz0idGh1bWIiIHN0eWxlPSJhc3BlY3QtcmF0aW86MTYvOTsiPjx2aWRlbyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS9sZWZ0LWl0ZW0tem82enU2cy0yMDI2MTAxMC0wMTA2NDAtNDZkMzkyLm1wNCIgYXV0b3BsYXkgbXV0ZWQgbG9vcCBwbGF5c2lubGluZT48L3ZpZGVvPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJtb2Qtc3RhY2siPgogICAgICAgIDxoNCBjbGFzcz0ibGVmdC10aXRsZSI+PHNwYW4gY2xhc3M9InJlbGF0ZWQtdGl0bGUtZGVzayI+SW5kYSBzZSBlbnZ1ZWx2ZSBlbiBsYXMgYmFuZGVyYXMgZGUgQmFsZWFyZXMgeSBFc3Bh8WE6ICZxdW90O8lzdGEgZXMgbGEgcXVlIG9kaWEgUGVkcm8gU+FuY2hleiZxdW90Ozwvc3Bhbj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1tb2JpbGUiPkluZGEgc2UgZW52dWVsdmUgZW4gbGFzIGJhbmRlcmFzIGRlIEJhbGVhcmVzIHkgRXNwYfFhOiAmcXVvdDvJc3RhIGVzIGxhIHF1ZSBvZGlhIFBlZHJvIFPhbmNoZXomcXVvdDs8L3NwYW4+PC9oND4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGFjay1hdXRob3IiPkluZGFsZWNpbyBSaWJlbGxlczwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvYT4KCiAgICA8YSBjbGFzcz0ibGVmdC1pdGVtIHRpdGxlLW9ubHktbW9iaWxlLTE4IiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9iYWxlYXJlcy9tYXJnYS1wcm9oZW5zLXNvY2llZGFkLWxpYnJlLWRlbW9jcmF0aWNhLW5lY2VzaXRhLWFob3JhLW1hcy1xdWUtbnVuY2EtbWVkaW9zLWNvbXVuaWNhY2lvbi1saWJyZXMtMjA1MjIxODAiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiB0aXRsZT0iTWFyZ2EgUHJvaGVuczogJnF1b3Q7VW5hIHNvY2llZGFkIGxpYnJlIHkgZGVtb2Ny4XRpY2EgbmVjZXNpdGEgbWVkaW9zIGRlIGNvbXVuaWNhY2nzbiBsaWJyZXMmcXVvdDsiPgogICAgICA8ZGl2IGNsYXNzPSJsZWZ0LWJvZHkiPgogICAgICAgIDxoNCBjbGFzcz0ibGVmdC10aXRsZSIgc3R5bGU9ImZvbnQtc2l6ZToxOHB4OyI+PGJ1dHRvbiBjbGFzcz0ibGVmdC1wbGF5IiBhcmlhLWxhYmVsPSJSZXByb2R1Y2lyIj48L2J1dHRvbj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1kZXNrIj5NYXJnYSBQcm9oZW5zOiAmcXVvdDtVbmEgc29jaWVkYWQgbGlicmUgeSBkZW1vY3LhdGljYSBuZWNlc2l0YSBtZWRpb3MgZGUgY29tdW5pY2FjafNuIGxpYnJlcyZxdW90Ozwvc3Bhbj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1tb2JpbGUiPk1hcmdhIFByb2hlbnM6ICZxdW90O1VuYSBzb2NpZWRhZCBsaWJyZSB5IGRlbW9jcuF0aWNhIG5lY2VzaXRhIG1lZGlvcyBkZSBjb211bmljYWNp824gbGlicmVzJnF1b3Q7PC9zcGFuPjwvaDQ+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RhY2stYXV0aG9yIj5JbmRhbGVjaW8gUmliZWxsZXM8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2E+CgogICAgPGEgY2xhc3M9ImxlZnQtaXRlbSB0aXRsZS1vbmx5LW1vYmlsZS0xOCIgaHJlZj0iaHR0cHM6Ly9va2RpYXJpby5jb20vYmFsZWFyZXMvbWFyaWFuby1qdWFuLWxvLXF1ZS1oYWNlLWl6cXVpZXJkYS1tb3ZpbGlkYWQtZGVqYXItcXVlLXRvZG8tcmV2aWVudGUtbm8taGFjZXItbmFkYS1sdWVnby1hcGxpY2FyLXN1cy1wcm9oaWJpY2lvbmVzLTIwNTIzMDU4IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9Ik1hcmlhbm8gSnVhbjogJnF1b3Q7TG8gcXVlIGhhY2UgbGEgaXpxdWllcmRhIGVuIG1vdmlsaWRhZCBlcyBkZWphciBxdWUgdG9kbyByZXZpZW50ZSwgbm8gaGFjZXIgbmFkYSB5IGx1ZWdvIGFwbGljYXIgc3VzIHByb2hpYmljaW9uZXMmcXVvdDsiPgogICAgICA8ZGl2IGNsYXNzPSJsZWZ0LWJvZHkiPgogICAgICAgIDxoNCBjbGFzcz0ibGVmdC10aXRsZSIgc3R5bGU9ImZvbnQtc2l6ZToxOHB4OyI+PGJ1dHRvbiBjbGFzcz0ibGVmdC1wbGF5IiBhcmlhLWxhYmVsPSJSZXByb2R1Y2lyIj48L2J1dHRvbj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1kZXNrIj5NYXJpYW5vIEp1YW46ICZxdW90O0xvIHF1ZSBoYWNlIGxhIGl6cXVpZXJkYSBlbiBtb3ZpbGlkYWQgZXMgZGVqYXIgcXVlIHRvZG8gcmV2aWVudGUsIG5vIGhhY2VyIG5hZGEgeSBsdWVnbyBhcGxpY2FyIHN1cyBwcm9oaWJpY2lvbmVzJnF1b3Q7PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWxhdGVkLXRpdGxlLW1vYmlsZSI+TWFyaWFubyBKdWFuOiAmcXVvdDtMbyBxdWUgaGFjZSBsYSBpenF1aWVyZGEgZW4gbW92aWxpZGFkIGVzIGRlamFyIHF1ZSB0b2RvIHJldmllbnRlLCBubyBoYWNlciBuYWRhIHkgbHVlZ28gYXBsaWNhciBzdXMgcHJvaGliaWNpb25lcyZxdW90Ozwvc3Bhbj48L2g0PgogICAgICAgIDxkaXYgY2xhc3M9InN0YWNrLWF1dGhvciI+SW5kYWxlY2lvIFJpYmVsbGVzPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9hPgogICAgPC9hc2lkZT4KICAgIDxhcnRpY2xlIGNsYXNzPSJsZWFkIj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1tZWRpYSI+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS9lZHVhcmRvLWluZGEtZWwtMjktZGUtbm92aWVtYnJlLW5vcy1qdWdhbW9zLWxhLWRlbW9jcmFjaWEtMjAyNjEwMTAtMDEwNzQ2LWE3MDNhNy5qcGciIGFsdD0iRWR1YXJkbyBJbmRhOiAmcXVvdDtFbCAyOSBkZSBub3ZpZW1icmUgbm9zIGp1Z2Ftb3MgbGEgZGVtb2NyYWNpYSZxdW90OyIgbG9hZGluZz0iZWFnZXIiIGZldGNocHJpb3JpdHk9ImhpZ2giIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVhZC1vdmVybGF5IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE0LDE3LDI2LDAuMDApOyI+PC9kaXY+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJsZWFkLWJvZHkiIHN0eWxlPSJiYWNrZ3JvdW5kOiMwNjRBODk7Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGVhZC1jYXQiIHN0eWxlPSJiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzA2NEE4OSI+QkFMRUFSRVM8L3NwYW4+CiAgICAgICAgCiAgICAgICAgPGgyIGNsYXNzPSJsZWFkLXRpdGxlIj48c3BhbiBjbGFzcz0ibGVhZC10aXRsZS1kZXNrIj5FZHVhcmRvIEluZGE6ICZxdW90O0VsIDI5IGRlIG5vdmllbWJyZSBub3MganVnYW1vcyBsYSBkZW1vY3JhY2lhJnF1b3Q7PC9zcGFuPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLW1vYmlsZSI+RWR1YXJkbyBJbmRhOiAmcXVvdDtFbCAyOSBkZSBub3ZpZW1icmUgbm9zIGp1Z2Ftb3MgbGEgZGVtb2NyYWNpYSZxdW90Ozwvc3Bhbj48L2gyPgogICAgICAgIAogICAgICAgIDxzcGFuIGNsYXNzPSJhdXRob3ItbGFiZWwiPkluZGFsZWNpbyBSaWJlbGxlczwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxhIGNsYXNzPSJsZWFkLWxpbmsiIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2JhbGVhcmVzL2VkdWFyZG8taW5kYS0yOS1ub3ZpZW1icmUtbm8tbm9zLWp1Z2Ftb3MtdW5hcy1lbGVjY2lvbmVzLWN1YWxxdWllcmEtbm9zLWp1Z2Ftb3MtZGVtb2NyYWNpYS0yMDUyMzYyNCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJFZHVhcmRvIEluZGE6ICZxdW90O0VsIDI5IGRlIG5vdmllbWJyZSBub3MganVnYW1vcyBsYSBkZW1vY3JhY2lhJnF1b3Q7IiBhcmlhLWxhYmVsPSJFZHVhcmRvIEluZGE6ICZxdW90O0VsIDI5IGRlIG5vdmllbWJyZSBub3MganVnYW1vcyBsYSBkZW1vY3JhY2lhJnF1b3Q7Ij48L2E+CiAgICA8L2FydGljbGU+CiAgICA8YXNpZGUgY2xhc3M9InN0YWNrIj4KICAgICAgCiAgICA8YSBjbGFzcz0ic3RhY2staXRlbSBsYXlvdXQtcGhvdG8tdG9wIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9iYWxlYXJlcy9pa2VyLWppbWVuZXotZXNwYW5hLWdhbmUtcXVlLWdhbmUtMjktbi12YS1saWFyLTIwNTIzNTA4IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9IklrZXIgSmlt6W5lejogJnF1b3Q7RW4gRXNwYfFhLCBnYW5lIGVsIHF1ZSBnYW5lIGVsIDI5LU4gc2UgdmEgYSBsaWFyJnF1b3Q7Ij4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InRodW1iIiBzdHlsZT0iYXNwZWN0LXJhdGlvOjE2Lzk7Ij48aW1nIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL21lZGlhL2lrZXItamltZW5lei1lbi1lc3BhbmEtZ2FuZS1lbC1xdWUtZ2FuZS1lbC0yOS1uLXNlLXZhLWEtbGlhci0yMDI2MTAxMC0wMTA4MzEtNDgxODUyLmpwZyIgYWx0PSJJa2VyIEppbeluZXo6ICZxdW90O0VuIEVzcGHxYSwgZ2FuZSBlbCBxdWUgZ2FuZSBlbCAyOS1OIHNlIHZhIGEgbGlhciZxdW90OyIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj48YnV0dG9uIGNsYXNzPSJwbGF5LXNxdWFyZSIgYXJpYS1sYWJlbD0iUmVwcm9kdWNpciI+PC9idXR0b24+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Im1vZC1zdGFjayI+CiAgICAgICAgPGg0IGNsYXNzPSJzdGFjay10aXRsZSI+PHNwYW4gY2xhc3M9InJlbGF0ZWQtdGl0bGUtZGVzayI+SWtlciBKaW3pbmV6OiAmcXVvdDtFbiBFc3Bh8WEsIGdhbmUgZWwgcXVlIGdhbmUgZWwgMjktTiBzZSB2YSBhIGxpYXImcXVvdDs8L3NwYW4+PHNwYW4gY2xhc3M9InJlbGF0ZWQtdGl0bGUtbW9iaWxlIj5Ja2VyIEppbeluZXo6ICZxdW90O0VuIEVzcGHxYSwgZ2FuZSBlbCBxdWUgZ2FuZSBlbCAyOS1OIHNlIHZhIGEgbGlhciZxdW90Ozwvc3Bhbj48L2g0PgogICAgICAgIDxkaXYgY2xhc3M9InN0YWNrLWF1dGhvciI+VG9tYXMgSWJhcno8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2E+CgogICAgPGEgY2xhc3M9InN0YWNrLWl0ZW0iIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2JhbGVhcmVzL2Nhcm1lbi1wb3J0ZXItY3VhbmRvLXRlLW1ldGVzLWNpZXJ0b3MtcG9kZXJlcy12aWVuZG8tY29tby1lc3RhLWFjdHVhbGlkYWQtaGFjZS1kYW5vLTIwNTIzNjg2IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9IkNhcm1lbiBQb3J0ZXI6ICZxdW90O0N1YW5kbyB0ZSBtZXRlcyBjb24gY2llcnRvcyBwb2RlcmVzLCB2aWVuZG8gY/NtbyBlc3ThIGxhIGFjdHVhbGlkYWQsIGhhY2UgZGHxbyZxdW90OyI+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYiI+PGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS9jYXJtZW4tcG9ydGVyLWN1YW5kby10ZS1tZXRlcy1jb24tY2llcnRvcy1wb2RlcmVzLXZpZW5kby1jb21vLWVzdGEtbGEtYWN0dWFsaWRhZC1oYWNlLWRhbm8tMjAyNjEwMTAtMDEwODU0LTZkYmM4My5qcGciIGFsdD0iQ2FybWVuIFBvcnRlcjogJnF1b3Q7Q3VhbmRvIHRlIG1ldGVzIGNvbiBjaWVydG9zIHBvZGVyZXMsIHZpZW5kbyBj821vIGVzdOEgbGEgYWN0dWFsaWRhZCwgaGFjZSBkYfFvJnF1b3Q7IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPjxidXR0b24gY2xhc3M9InBsYXktc3F1YXJlIiBhcmlhLWxhYmVsPSJSZXByb2R1Y2lyIj48L2J1dHRvbj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibW9kLXN0YWNrIj4KICAgICAgICA8aDQgY2xhc3M9InN0YWNrLXRpdGxlIj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1kZXNrIj5DYXJtZW4gUG9ydGVyOiAmcXVvdDtDdWFuZG8gdGUgbWV0ZXMgY29uIGNpZXJ0b3MgcG9kZXJlcywgdmllbmRvIGPzbW8gZXN04SBsYSBhY3R1YWxpZGFkLCBoYWNlIGRh8W8mcXVvdDs8L3NwYW4+PHNwYW4gY2xhc3M9InJlbGF0ZWQtdGl0bGUtbW9iaWxlIj5DYXJtZW4gUG9ydGVyOiAmcXVvdDtDdWFuZG8gdGUgbWV0ZXMgY29uIGNpZXJ0b3MgcG9kZXJlcywgdmllbmRvIGPzbW8gZXN04SBsYSBhY3R1YWxpZGFkLCBoYWNlIGRh8W8mcXVvdDs8L3NwYW4+PC9oND4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGFjay1hdXRob3IiPk1hciBkZWwgVmFsbGU8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2E+CgogICAgPGEgY2xhc3M9InN0YWNrLWl0ZW0iIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2JhbGVhcmVzL2RhbmllbC1hcmVuYXMtbWFzLWFmZWN0YWRvcy1kZWNyZXRvLXZpdmllbmRhLXNvbi1wcmVjaXNhbWVudGUtcGVyc29uYXMtcG9kZXItYWRxdWlzaXRpdm8taW5mZXJpb3ItMjA1MjM1NzkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiB0aXRsZT0iRGFuaWVsIEFyZW5hczogJnF1b3Q7TG9zIG3hcyBhZmVjdGFkb3MgcG9yIGVsIGRlY3JldG8gZGUgdml2aWVuZGEgc29uIHByZWNpc2FtZW50ZSBsYXMgcGVyc29uYXMgZGUgdW4gcG9kZXIgYWRxdWlzaXRpdm8gaW5mZXJpb3ImcXVvdDsiPgogICAgICAKICAgICAgPGRpdiBjbGFzcz0idGh1bWIiPjxpbWcgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvZGFuaWVsLWFyZW5hcy1sb3MtbWFzLWFmZWN0YWRvcy1wb3ItZWwtZGVjcmV0by1kZS12aXZpZW5kYS1zb24tcHJlY2lzYW1lbnRlLWxhcy1wZXJzb25hcy1kZS11bi1wb2Rlci1hZHF1aXNpdGl2by1pbmZlcmlvci0yMDI2MTAxMC0wMTExMzAtNTlhODVkLmpwZyIgYWx0PSJEYW5pZWwgQXJlbmFzOiAmcXVvdDtMb3MgbeFzIGFmZWN0YWRvcyBwb3IgZWwgZGVjcmV0byBkZSB2aXZpZW5kYSBzb24gcHJlY2lzYW1lbnRlIGxhcyBwZXJzb25hcyBkZSB1biBwb2RlciBhZHF1aXNpdGl2byBpbmZlcmlvciZxdW90OyIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibW9kLXN0YWNrIj4KICAgICAgICA8aDQgY2xhc3M9InN0YWNrLXRpdGxlIj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1kZXNrIj5EYW5pZWwgQXJlbmFzOiAmcXVvdDtMb3MgbeFzIGFmZWN0YWRvcyBwb3IgZWwgZGVjcmV0byBkZSB2aXZpZW5kYSBzb24gcHJlY2lzYW1lbnRlIGxhcyBwZXJzb25hcyBkZSB1biBwb2RlciBhZHF1aXNpdGl2byBpbmZlcmlvciZxdW90Ozwvc3Bhbj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1tb2JpbGUiPkRhbmllbCBBcmVuYXM6ICZxdW90O0xvcyBt4XMgYWZlY3RhZG9zIHBvciBlbCBkZWNyZXRvIGRlIHZpdmllbmRhIHNvbiBwcmVjaXNhbWVudGUgbGFzIHBlcnNvbmFzIGRlIHVuIHBvZGVyIGFkcXVpc2l0aXZvIGluZmVyaW9yJnF1b3Q7PC9zcGFuPjwvaDQ+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RhY2stYXV0aG9yIj5NYXIgZGVsIFZhbGxlPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9hPgogICAgPC9hc2lkZT4KICA8L21haW4+CjwvZGl2Pgo=
      CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hcyk6CiAgIGZvbmRvIGJsYW5jbyB5IGFpcmUgYWxyZWRlZG9yLCBzb2xvIGVuIERlc2sgJiM4MjEyOyB2ZXIgb3ZlcnJpZGUgZGVudHJvIGRlbAogICBAY29udGFpbmVyKG1heC1pbmxpbmUtc2l6ZTo4NjBweCkgZGUgbeFzIGFiYWpvLCBxdWUgbG8gYW51bGEgcG9yIGRlYmFqbwogICBkZSBlc2UgYW5jaG8gKGVxdWl2YWxlbnRlIGEgbGEgdmlzdGEgTfN2aWwpLiAqLwouYmxrLXAzOHo0e21heC1pbmxpbmUtc2l6ZTo5NjBweDttYXJnaW46MCBhdXRvO2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplO2JhY2tncm91bmQtY29sb3I6I2ZmZjtwYWRkaW5nOjEwcHg7fQouYmxrLXAzOHo0IGF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6aW5oZXJpdH0KLmJsay1wMzh6NCAucGFnZXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjIyMHB4IDFmciAzMDBweDtnYXA6MTVweH0KLyogODYwcHggeSBubyA0NzVweDogY29uIGNvbHVtbmFzIGZpamFzICgyMjBweCBpenEuICsgMzAwcHggZGVyLiArIDQwcHggZGUKICAgZ2FwcyA9IDU2MHB4KSwgY3VhbHF1aWVyIGFuY2hvIGRlIGlmcmFtZSBwb3IgZGViYWpvIGRlIH44NjBweCBkZWphIGxhCiAgIGNvbHVtbmEgY2VudHJhbCAobm90aWNpYSBwcmluY2lwYWwsIDFmcikgY2FkYSB2ZXogY29uIG1lbm9zIGVzcGFjaW8gaGFzdGEKICAgY29sYXBzYXIgYSAwcHggZGUgYW5jaG8gYW50ZXMgZGUgbGxlZ2FyIGEgdW4gYnJlYWtwb2ludCB0YW4gYmFqbyBjb21vCiAgIDQ3NXB4ICYjODIxMjsgbGEgbm90aWNpYSBwcmluY2lwYWwgZGlyZWN0YW1lbnRlIGRlc2FwYXJlY2UgZW4gZXNhIGZyYW5qYQogICBpbnRlcm1lZGlhIChuaSAiZGVzayIgY29tcGxldG8gbmkgIm3zdmlsIiBlc3RyZWNobykuIENvbiA4NjBweCBzZSBwYXNhIGEKICAgdW5hIHNvbGEgY29sdW1uYSBhcGlsYWRhIGFudGVzIGRlIHF1ZSBlc28gcHVlZGEgb2N1cnJpci4KICAgRXN0ZSBicmVha3BvaW50IHNlIG9taXRlIHBvciBjb21wbGV0byBtaWVudHJhcyBsYSBzaW11bGFjafNuIGRlIGFuY2hvIGVzdOkKICAgYWN0aXZhICh2ZXIgbGVhZFdpZHRoUHJldmlldyk6IHBlbnNhZG8gcGFyYSBjdWFuZG8gZWwgbfNkdWxvIGxsZXZhIHN1cyAzCiAgIGNvbHVtbmFzIGEgOTYwcHgsIGRlamEgZGUgdGVuZXIgc2VudGlkbyBlbiB1bmEgZXhwb3J0YWNp824gZGUgc29sbyBsYQogICBub3RpY2lhIHByaW5jaXBhbCBhIHVuIGFuY2hvIGZpam8gZWxlZ2lkbyBhIG1hbm8gJiM4MjEyOyBsb3MgYW5jaG9zIHNpbXVsYWRvcwogICAoNjEzLzQ2MC8zMDdweCkgZXN04W4gVE9ET1MgcG9yIGRlYmFqbyBkZSA4NjBweCwgYXPtIHF1ZSBzaW4gZXN0ZSBnYXRpbmcKICAgZWwgSFRNTCBleHBvcnRhZG8gY2Flcu1hIHNpZW1wcmUgYSBsYSB0aXBvZ3JhZu1hICJN83ZpbCIgKGNvbiAhaW1wb3J0YW50KQogICBzZWEgY3VhbCBzZWEgbGEgcXVlIGVsIHVzdWFyaW8gY29uZmlndXLzIGVuICJEZXNrIiBwYXJhIGVzYSBzaW11bGFjafNuLAogICBkYW5kbyBsYSBmYWxzYSBzZW5zYWNp824gZGUgcXVlIHVuYSBjb25maWd1cmFjafNuICJwaXNhIiBhIG90cmEuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7CiAgLmJsay1wMzh6NHtiYWNrZ3JvdW5kOm5vbmU7cGFkZGluZzowO30KICAuYmxrLXAzOHo0IC5wYWdle2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9CiAgLmJsay1wMzh6NCAucGFnZSAuc3RhY2stdGl0bGUge2ZvbnQtc2l6ZToxOHB4OyBsaW5lLWhlaWdodDogMS4yZW07fQogIC5ibGstcDM4ejQgLnBhZ2UgLnN0YWNrLWF1dGhvciB7bWFyZ2luLXRvcDogMTBweDt9CiAgLmJsay1wMzh6NCAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiMwNjRBODkgIWltcG9ydGFudDt9CiAgLmJsay1wMzh6NCAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4xICFpbXBvcnRhbnQ7Y29sb3I6IzA2NEE4OSAhaW1wb3J0YW50O30KICAuYmxrLXAzOHo0IC5sZWFkLXRpdGxle2ZvbnQtc2l6ZToyLjM1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4wMiAhaW1wb3J0YW50O30KICAuYmxrLXAzOHo0IC5sZWFkLXRpdGxlLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstcDM4ejQgLmxlYWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstcDM4ejQgLmxlYWQta2lja2VyLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstcDM4ejQgLmxlYWQta2lja2VyLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLXAzOHo0IC5sZWFkLXN1YnRpdGxlLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstcDM4ejQgLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstcDM4ejQgLnJlbGF0ZWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay1wMzh6NCAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay1wMzh6NCAubGVhZC1hbmltLWhlYWRsaW5lc3tmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIAogIC5ibGstcDM4ejQgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2Jsb2NrLXNpemU6NTAwcHggIWltcG9ydGFudDt9CiAgLmJsay1wMzh6NCAubGVhZC1tZWRpYXthc3BlY3QtcmF0aW86MS8xICFpbXBvcnRhbnQ7fQogIC5ibGstcDM4ejQgLnBhZ2UgLmxlYWR7b3JkZXI6MX0KICAuYmxrLXAzOHo0IC5wYWdlIC5sZWZ0LWxpc3R7b3JkZXI6Mn0KICAuYmxrLXAzOHo0IC5wYWdlIC5zdGFja3tvcmRlcjozfQogIC5ibGstcDM4ejQgLnBhZ2UgLmxlZnQtaXRlbXtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KICAuYmxrLXAzOHo0IC5wYWdlIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9CiAgLmJsay1wMzh6NCAucGFnZSAubGVmdC1pdGVtLnRpdGxlLW9ubHktbW9iaWxlLTIxIC5sZWZ0LXRpdGxle2ZvbnQtc2l6ZToyMXB4ICFpbXBvcnRhbnQ7fQogIC5ibGstcDM4ejQgLnBhZ2UgLmxlZnQtaXRlbS50aXRsZS1vbmx5LW1vYmlsZS0xOCAubGVmdC10aXRsZXtmb250LXNpemU6MThweCAhaW1wb3J0YW50O30KICAuYmxrLXAzOHo0IC5wYWdlIC5zdGFjay1pdGVtLnRpdGxlLW9ubHktbW9iaWxlLTIxIC5zdGFjay10aXRsZXtmb250LXNpemU6MjFweCAhaW1wb3J0YW50O30KICAuYmxrLXAzOHo0IC5wYWdlIC5zdGFjay1pdGVtLnRpdGxlLW9ubHktbW9iaWxlLTE4IC5zdGFjay10aXRsZXtmb250LXNpemU6MThweCAhaW1wb3J0YW50O30KICAuYmxrLXAzOHo0IC5wYWdlIC5sZWZ0LXBsYXl7CiAgICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogICAgYmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzAwYTdmZjsKICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogICAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7CiAgfQogIC5ibGstcDM4ejQgLnBhZ2UgLmxlZnQtcGxheTo6YmVmb3JlewogICAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4OwogIH0KfQouYmxrLXAzOHo0IC5sZWFke2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6I2ZmZjtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLXAzOHo0IC5sZWFkLW1lZGlhe3Bvc2l0aW9uOnJlbGF0aXZlO2FzcGVjdC1yYXRpbzoxLzE7YmFja2dyb3VuZDojMDAwO292ZXJmbG93OmhpZGRlbn0KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lOiBhbHRvIGZpam8gZW4gcO14ZWxlcyBlbiB2ZXogZGUgbGEgcHJvcG9yY2nzbiBkZQogICBhcnJpYmEgKHZlciBjb21lbnRhcmlvIGRldGFsbGFkbyBqdW50byBhIHN0YXRlLmxlYWQuaWZyYW1lSGVpZ2h0KSAmIzgyMTI7IGVsCiAgIHZhbG9yIGRlIE3zdmlsIHNlIHNvYnJlc2NyaWJlIGVuIGVsIEBjb250YWluZXIgZGUgbeFzIGFycmliYSwgaWd1YWwgcXVlIGVsCiAgIHJlc3RvIGRlIG92ZXJyaWRlcyByZXNwb25zaXZlIGRlIGVzdGUgSFRNTCBleHBvcnRhZG8uICovCi5ibGstcDM4ejQgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2FzcGVjdC1yYXRpbzpub25lO2Jsb2NrLXNpemU6MzAwcHg7fQouYmxrLXAzOHo0IC5sZWFkLW1lZGlhIGltZywKLmJsay1wMzh6NCAubGVhZC1tZWRpYSB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci8qIENhcnJ1c2VsIGRlIGZvdG9zIGRlIGZvbmRvIGNvbiBlZmVjdG8gS2VuIEJ1cm5zICYjODIxMjsgdmVyIGVsIG1pc21vIGJsb3F1ZSwKICAgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuCiAgIExhIGR1cmFjafNuIGRlIGxhcyBhbmltYWNpb25lcyAoNnMpIGNvaW5jaWRlIGNvbgogICBMRUFEX0NBUk9VU0VMX0lOVEVSVkFMLCBxdWUgdGFtYmnpbiBnb2JpZXJuYSBlbCBzY3JpcHQgZGUgcm90YWNp824KICAgKGJ1aWxkTGVhZENhcm91c2VsU2NyaXB0KSBh8WFkaWRvIGFsIGZpbmFsIGRlbCBIVE1MIGV4cG9ydGFkby4gKi8KLmJsay1wMzh6NCAubGVhZC1jYXJvdXNlbHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjt9Ci5ibGstcDM4ejQgLmxlYWQtY2Fyb3VzZWwtc2xpZGV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDEuNXMgZWFzZTt9Ci5ibGstcDM4ejQgLmxlYWQtY2Fyb3VzZWwtc2xpZGUuaXMtYWN0aXZle29wYWNpdHk6MTt6LWluZGV4OjE7fQouYmxrLXAzOHo0IC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7fQouYmxrLXAzOHo0IC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChvZGQpIGltZ3thbmltYXRpb246YmxrLXAzOHo0LWtlbmJ1cm5zLWEgNnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7fQouYmxrLXAzOHo0IC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChldmVuKSBpbWd7YW5pbWF0aW9uOmJsay1wMzh6NC1rZW5idXJucy1iIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KQGtleWZyYW1lcyBibGstcDM4ejQta2VuYnVybnMtYXsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gfQpAa2V5ZnJhbWVzIGJsay1wMzh6NC1rZW5idXJucy1ieyBmcm9te3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IHRve3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoNCUsMyUpO30gfQovKiBDb24gdW5hIPpuaWNhIGZvdG8gKHNpbiByb3RhY2nzbiBwb3NpYmxlKSBzZSBhcGxpY2EgdW4gem9vbSBpbi9vdXQgZW4KICAgYnVjbGUgaW5maW5pdG8gZW4gdmV6IGRlbCByZWNvcnJpZG8g+m5pY28gKGZvcndhcmRzKSBkZSBhcnJpYmEuICovCi5ibGstcDM4ejQgLmxlYWQtY2Fyb3VzZWwuaXMtc2luZ2xlIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3thbmltYXRpb246YmxrLXAzOHo0LWtlbmJ1cm5zLWxvb3AgMTRzIGVhc2UtaW4tb3V0IGluZmluaXRlO30KQGtleWZyYW1lcyBibGstcDM4ejQta2VuYnVybnMtbG9vcHsgMCV7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gNTAle3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoLTQlLC0zJSk7fSAxMDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IH0KLyogQ29tcGFyYWRvciBhbnRlcy9kZXNwdelzIChkZXNsaXphZG9yKSAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXAzOHo0IC5sZWFkLWNvbXBhcmV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7dG91Y2gtYWN0aW9uOm5vbmU7ei1pbmRleDoyO30KLmJsay1wMzh6NCAubGVhZC1jb21wYXJlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjtkaXNwbGF5OmJsb2NrO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLWRyYWc6bm9uZTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay1wMzh6NCAubGVhZC1jb21wYXJlLWJlZm9yZXtjbGlwLXBhdGg6aW5zZXQoMCA1MCUgMCAwKTt3aWxsLWNoYW5nZTpjbGlwLXBhdGg7fQouYmxrLXAzOHo0IC5sZWFkLWNvbXBhcmUtcmFuZ2V7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTttYXJnaW46MDtvcGFjaXR5OjA7Y3Vyc29yOmV3LXJlc2l6ZTt9Ci5ibGstcDM4ejQgLmxlYWQtY29tcGFyZS1oYW5kbGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDo1MCU7aW5saW5lLXNpemU6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6Mjt9Ci5ibGstcDM4ejQgLmxlYWQtY29tcGFyZS1oYW5kbGU6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtpbmxpbmUtc2l6ZToycHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLC4yNSk7fQouYmxrLXAzOHo0IC5sZWFkLWNvbXBhcmUtaGFuZGxlOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDotMTVweDtpbmxpbmUtc2l6ZTozMHB4O2Jsb2NrLXNpemU6MzBweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTggNiBMNCAxMCBMOCAxNCcvPjxwYXRoIGQ9J00xMiA2IEwxNiAxMCBMMTIgMTQnLz48L2c+PC9zdmc+IikgY2VudGVyLzE2cHggMTZweCBuby1yZXBlYXQ7Ym94LXNoYWRvdzowIDJweCA2cHggcmdiYSgwLDAsMCwuMjUpO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMjUpO30KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE1pc21vIHotaW5kZXg6MiBxdWUKICAgLmxlYWQtY29tcGFyZSwgcG9yIGVsIG1pc21vIG1vdGl2byAoZ2FuYXJsZSBhIC5sZWFkLWxpbmspLiAqLwouYmxrLXAzOHo0IC5sZWFkLWlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTt6LWluZGV4OjI7fQouYmxrLXAzOHo0IC5sZWFkLWlmcmFtZSBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay1wMzh6NCAubGVhZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLXAzOHo0IC5sZWFkLWJvZHl7cGFkZGluZzowcHggMjBweCAyMHB4IDIwcHg7O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7IHRleHQtYWxpZ246Y2VudGVyOyBhbGlnbi1pdGVtczpjZW50ZXI7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjY7IHBvaW50ZXItZXZlbnRzOm5vbmU7IGlubGluZS1zaXplOjk1JTsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OmF1dG87IG1hcmdpbi10b3A6LTMwcHg7IGJhY2tncm91bmQ6IzBFMTExQTsgZmxleDoxIDEgYXV0bzt9Ci8qIEFwYXJpZW5jaWEgbmVnYXRpdmEgKHBvciBkZWZlY3RvKSB2cy4gcG9zaXRpdmEgZGUgbGEgY2FqYSBkZSB0aXR1bGFyICYjODIxMjsgdmVyCiAgIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstcDM4ejQgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAubGVhZC1ib2R5e2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7fQouYmxrLXAzOHo0IC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmxlYWQtdGl0bGUsCi5ibGstcDM4ejQgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAuYXV0aG9yLWxhYmVse2NvbG9yOiMwRTExMUE7fQovKiBQb3NpY2nzbiAnYm90dG9tLWZ1bGwnIGRlbCBsZWFkLWJvZHkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gaW5saW5lLXNpemUKICAgZW4gdmV6IGRlIHdpZHRoIHBvciBlbCBtaXNtbyBtb3Rpdm8gcXVlIGVsIHJlc3RvIGRlIGVzdGUgYmxvcXVlIChldml0YXIKICAgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbCB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MKICAgZGlyZWN0YW1lbnRlKS4gKi8KLmJsay1wMzh6NCAubGVhZC5sZWFkLWJvZHktYm90dG9tLWZ1bGwgLmxlYWQtYm9keXsKICBpbmxpbmUtc2l6ZToxMDAlOwogIG1hcmdpbjowOwogIHBhZGRpbmctdG9wOjMwcHg7CiAgcGFkZGluZy1ib3R0b206MzBweDsKICBib3JkZXI6bm9uZTsKfQovKiBFdGlxdWV0YSBkZSBleGNsdXNpdmEgKG8gdGV4dG8gcGVyc29uYWxpemFkbykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1wMzh6NCAubGVhZC1leGNsdXNpdmUtdGFne3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDt6LWluZGV4OjM7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtsZXR0ZXItc3BhY2luZzowLjVweDtwYWRkaW5nOjJweCA4cHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZmZmO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtwb2ludGVyLWV2ZW50czpub25lO30KLyogU2VsZWN0b3IgY29uIDMgY2xhc2VzICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEgKCIubGVhZC1tZWRpYSBpbWciIHRhbWJp6W4KICAgbWF0Y2hlYSBlc3RlIDxpbWc+IHkgbGUgZ2FuYWJhIGVuIGVzcGVjaWZpY2lkYWQpLiAqLwouYmxrLXAzOHo0IC5sZWFkLWV4Y2x1c2l2ZS10YWcgLmxlYWQtZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXAzOHo0IC5sZWFkLWNhdHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3BhZGRpbmc6MnB4IDhweDt0cmFuc2Zvcm06c2tld1koLTZkZWcpO21hcmdpbi10b3A6LTE1cHg7bWFyZ2luLWJvdHRvbToxMHB4O30KLmJsay1wMzh6NCAubGVhZC1raWNrZXIsIC5ibGstcDM4ejQgLmxlYWQtc3VidGl0bGV7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO3RleHQtdHJhbnNmb3JtOm5vbmU7bWFyZ2luOjA7Cn0KLmJsay1wMzh6NCAubGVhZC1raWNrZXJ7Zm9udC13ZWlnaHQ6NzAwO30KLmJsay1wMzh6NCAubGVhZC1zdWJ0aXRsZXtmb250LXdlaWdodDo2MDA7fQovKiBUYW1h8W8vaW50ZXJsaW5lYWRvL2NvbG9yIGRlIGFudGV07XR1bG8geSBzdWJ07XR1bG8gZW4gRGVzayAodmFsb3JlcyBwb3IKICAgZGVmZWN0byBkZWwgYmxvcXVlOyBlbCBvdmVycmlkZSBkZSBN83ZpbCB2YSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywKICAgeWEgcXVlIGVsIEhUTUwgZXhwb3J0YWRvIGVzIHJlc3BvbnNpdmUgeSBubyBkZXBlbmRlIGRlIHF16SB2aXN0YSB0dXZpZXJhcwogICBzZWxlY2Npb25hZGEgZW4gZWwgZ2VzdG9yIGFsIGV4cG9ydGFyL2NvcGlhcikuICovCi5ibGstcDM4ejQgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjM1cmVtO2xpbmUtaGVpZ2h0OjEuMTtjb2xvcjojMDY0QTg5O30KLmJsay1wMzh6NCAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtO2xpbmUtaGVpZ2h0OjEuMTtjb2xvcjojMDY0QTg5O30KLyogdGV4dC13cmFwOmJhbGFuY2UgJiM4MjEyOyBtaXNtbyBjcml0ZXJpbyBxdWUgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbAogICBkZWwgZ2VzdG9yICh2ZXIgY29tZW50YXJpbyBkZXRhbGxhZG8ganVudG8gYSBlc2EgcmVnbGEpOiByZXBhcnRlIGxhcwogICBs7W5lYXMgZGVsIHRpdHVsYXIgZGUgZm9ybWEgbeFzIHVuaWZvcm1lIGRlbnRybyBkZSBjYWRhIGRpc3Bvc2l0aXZvLCBzaW4KICAgcHJldGVuZGVyIGlndWFsYXIgZWwgbvptZXJvIGRlIGztbmVhcyBlbnRyZSBwbGF0YWZvcm1hcyBkaXN0aW50YXMuICovCi5ibGstcDM4ejQgLmxlYWQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDtmb250LXNpemU6Mi4zcmVtO2xpbmUtaGVpZ2h0OjEuMDI7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt0ZXh0LXdyYXA6YmFsYW5jZTt9Ci8qIFRpdHVsYXIgY29uIHNhbHRvcyBkZSBs7W5lYSBpbmRlcGVuZGllbnRlcyBwb3IgdmlzdGEgKHZlciBidWlsZFNjb3BlZEhUTUwpOgogICBzZSBnZW5lcmFuIGxvcyBkb3MgdGV4dG9zIChEZXNrL03zdmlsKSB5IGFxde0gc2UgbXVlc3RyYSBzb2xvIHVubyBzZWf6biBlbAogICBhbmNobyByZWFsIGRlbCBjb250ZW5lZG9yICYjODIxMjsgZWwgbWlzbW8gbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIHlhIHVzYSBlbAogICByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8gcGFyYSBhZGFwdGFyc2Ugc2luIGRlcGVuZGVyIGRlIEpTLiAqLwouYmxrLXAzOHo0IC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQovKiBBbnRldO10dWxvL3N1YnTtdHVsbyBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YTogbWlzbW8KICAgbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgKHZlciBhcnJpYmEpLiAqLwouYmxrLXAzOHo0IC5sZWFkLWtpY2tlci1tb2JpbGUsIC5ibGstcDM4ejQgLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIFRpdHVsYXIgZGUgbm90aWNpYSByZWxhY2lvbmFkYSAoY29sdW1uYXMgaXpxLi9kZXIuKSBjb24gdGV4dG8gcHJvcGlvIGVuCiAgIE3zdmlsICh2ZXIgaXRlbS50aXRsZU1vYmlsZSBlbiBidWlsZFNjb3BlZEhUTUwpOiBtaXNtbyBtZWNhbmlzbW8gZGUKICAgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciBwcmluY2lwYWwgZGUgYXJyaWJhICYjODIxMjsgZWwgb3ZlcnJpZGUgcXVlIG11ZXN0cmEKICAgbGEgdmVyc2nzbiBN83ZpbCB5IG9jdWx0YSBsYSBkZSBEZXNrIHZpdmUgZW4gZWwgQGNvbnRhaW5lciBkZSBt4XMgYWJham8uICovCi5ibGstcDM4ejQgLnJlbGF0ZWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci5ibGstcDM4ejQgLmF1dGhvci1sYWJlbHtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Y29sb3I6I2ZmZjtmb250LXdlaWdodDoyMDA7Zm9udC1zaXplOi44ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246cmlnaHQ7ZGlzcGxheTpibG9ja30KLmJsay1wMzh6NCAuc3RhY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47fQouYmxrLXAzOHo0IC5zdGFjay1pdGVte2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MTEwcHggMWZyO2dhcDoxMHB4O2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6IHN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay1wMzh6NCAudGh1bWJ7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86NC8zO2JhY2tncm91bmQ6I2VlZTtvdmVyZmxvdzpoaWRkZW59Ci5ibGstcDM4ejQgLnRodW1iIGltZywKLmJsay1wMzh6NCAudGh1bWIgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyfQouYmxrLXAzOHo0IC50aHVtYiAucGxheS1zcXVhcmUsCi5ibGstcDM4ejQgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlewogIHBvc2l0aW9uOmFic29sdXRlOyBib3R0b206NXB4OyBsZWZ0OjVweDsKICBpbmxpbmUtc2l6ZToyNXB4O2Jsb2NrLXNpemU6MjVweDtib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5OmlubGluZS1ncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xOCk7CiAgY3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMsIHRyYW5zZm9ybSAuMTJzOwogIHotaW5kZXg6MjsgYW5pbWF0aW9uOmJsay1wMzh6NC1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLXAzOHo0IC50aHVtYiAucGxheS1zcXVhcmU6OmJlZm9yZSwKLmJsay1wMzh6NCAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmU6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NnB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo1cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgbWFyZ2luLWxlZnQ6MnB4Owp9Ci5ibGstcDM4ejQgLnRodW1iIC5wbGF5LXNxdWFyZTpob3ZlciwKLmJsay1wMzh6NCAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmU6aG92ZXJ7IGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjg1KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7IH0KLmJsay1wMzh6NCAuc3RhY2stdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTdweDtsaW5lLWhlaWdodDoxLjE1ZW07bWFyZ2luOjA7Y29sb3I6IzJjM2U1Mzt9Ci5ibGstcDM4ejQgLnN0YWNrLWF1dGhvcntmb250LWZhbWlseToiYW1wbGl0dWRlLWJvb2siLHNhbnMtc2VyaWY7Y29sb3I6IzgyODU5NTtmb250LXdlaWdodDoyMDA7Zm9udC1zaXplOi44cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6MTFweDtsZXR0ZXItc3BhY2luZzowO3RleHQtYWxpZ246cmlnaHQ7fQovKiBTaW4gZXN0YSByZWdsYSBlbCBhdXRvciBxdWVkYSBwZWdhZG8ganVzdG8gZGViYWpvIGRlbCB0aXR1bGFyIGVuIHZleiBkZQogICBhYmFqbyBkZSBsYSB0YXJqZXRhOiAubW9kLXN0YWNrIG5lY2VzaXRhIHNlciBmbGV4LWNvbHVtbiBjb24KICAganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4gcGFyYSBxdWUgZWwgaHVlY28gc29icmFudGUgKGN1YW5kbyBsYQogICB0YXJqZXRhIGNyZWNlIG3hcyBxdWUgc3UgY29udGVuaWRvLCB2ZXIgLnN0YWNrLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spCiAgIG3hcyBhYmFqbykgZW1wdWplIGVsIGF1dG9yIGhhY2lhIGVsIGJvcmRlIGluZmVyaW9yLiAqLwouYmxrLXAzOHo0IC5tb2Qtc3RhY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtmbGV4OjEgMSBhdXRvO30KLyogTm90aWNpYSBhcGlsYWRhOiBkaXNl8W8gInNvbG8gdGV4dG8iIChzaW4gZm90bykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1wMzh6NCAuc3RhY2staXRlbS5sYXlvdXQtdGl0bGUtb25seXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO30KLmJsay1wMzh6NCAuc3RhY2staXRlbS5sYXlvdXQtdGl0bGUtb25seSAuc3RhY2stdGl0bGUtYm9keXtwYWRkaW5nLWJvdHRvbTozM3B4O30KLmJsay1wMzh6NCAuc3RhY2staXRlbS5sYXlvdXQtdGl0bGUtb25seSAuc3RhY2stYXV0aG9ye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7Ym90dG9tOjEwcHg7bWFyZ2luLXRvcDowO30KLmJsay1wMzh6NCAubGVmdC1saXN0e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47fQouYmxrLXAzOHo0IC5sZWZ0LWl0ZW17ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLyogRWwgYXV0b3Igc2UgcG9zaWNpb25hIGVuIGFic29sdXRvLCBhbmNsYWRvIGEgbGEgZXNxdWluYSBpbmZlcmlvciBkZXJlY2hhIGRlCiAgIGxhIHRhcmpldGEgKGlndWFsIHF1ZSBlbCBjaGVjayBkZSBXaGF0c0FwcCBvIGVsIHBsYXkgZGUgbGFzIG1pbmlhdHVyYXMpLAogICBlbiB2ZXogZGUgZGVwZW5kZXIgZGUgcXVlIGVsIGJsb3F1ZSBkZSB0ZXh0byB0ZW5nYSBodWVjbyBkZSBzb2JyYSBwYXJhCiAgIGVtcHVqYXJsbyBhYmFqbyBjb24gZmxleGJveCAmIzgyMTI7IGNvbiB07XR1bG9zIGRlIDItMyBs7W5lYXMgZXNlIGh1ZWNvIG5vCiAgIGV4aXN0ZSB5IGVsIGF1dG9yIG51bmNhIGxsZWdhYmEgYSBiYWphci4gcGFkZGluZy1ib3R0b20gZW4gbGVmdC1ib2R5CiAgIHJlc2VydmEgZWwgZXNwYWNpbyBwYXJhIHF1ZSBlbCB07XR1bG8gbm8gc2Ugc29sYXBlIGNvbiDpbC4gKi8KLmJsay1wMzh6NCAubGVmdC1pdGVtIC5sZWZ0LWJvZHl7cGFkZGluZy1ib3R0b206MzNweDt9Ci5ibGstcDM4ejQgLmxlZnQtaXRlbSAuc3RhY2stYXV0aG9ye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7Ym90dG9tOjEwcHg7bWFyZ2luLXRvcDowO30KLmJsay1wMzh6NCAubGVmdC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjEuMTU7Y29sb3I6IzJjM2U1MzttYXJnaW46MDt0ZXh0LWFsaWduOmxlZnQ7fQouYmxrLXAzOHo0IC5sZWZ0LXBsYXl7CiAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICBiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjMDBhN2ZmOwogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206IDRweDsKfQouYmxrLXAzOHo0IC5sZWZ0LXBsYXk6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4Owp9Ci5ibGstcDM4ejQgLnJlbGF0ZWQtbGl2ZS10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkY1MDUwOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkY1MDUwOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLXAzOHo0IC5yZWxhdGVkLWVkaXRvcmlhbC10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkFCMTIxOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkFCMTIxOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLXAzOHo0IC5wbGF5LWJ1dHRvbnsKICAvKiBBbmNoby9hbHRvIGZpam9zIGVuIHZleiBkZSBhc3BlY3QtcmF0aW86MS8xICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoZWwKICAgICBj4WxjdWxvIGRlICJzaHJpbmstdG8tZml0IiBwYXJhIHVuIDxidXR0b24+IGVuIGFic29sdXRvIHNpbiB0YW1h8W8KICAgICBleHBs7WNpdG8gbm8gZXMgZmlhYmxlIGVudHJlIG1vdG9yZXM7IGVuIFdlYktpdC9pT1MgZGFiYSB1biByZWN04W5ndWxvCiAgICAgdmVydGljYWwgZXN0cmVjaO1zaW1vIGVuIHZleiBkZSB1biBjdWFkcmFkbykuICovCiAgYXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOwogIHBvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDsKICBpbmxpbmUtc2l6ZTozNHB4O2Jsb2NrLXNpemU6MzRweDsKICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxMHB4IDEwcHggMTBweCAxMnB4OwogIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNyk7CiAgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC40Mik7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjNweDsKICBjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7YW5pbWF0aW9uOmJsay1wMzh6NC1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLXAzOHo0IC5wbGF5LWJ1dHRvbi5wb3MtdG9wLXJpZ2h0e3RvcDoxMHB4O3JpZ2h0OjEwcHg7bGVmdDphdXRvO2JvdHRvbTphdXRvO30KLmJsay1wMzh6NCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1sZWZ0e2JvdHRvbToxMHB4O2xlZnQ6MTBweDt0b3A6YXV0bztyaWdodDphdXRvO30KLmJsay1wMzh6NCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1yaWdodHtib3R0b206MTBweDtyaWdodDoxMHB4O3RvcDphdXRvO2xlZnQ6YXV0bzt9Ci8qIFBvc2ljafNuICdib3R0b20nIHBvciBkZWZlY3RvOiBlbCBsZWFkLWJvZHkgc29sYXBhIDMwcHggc29icmUgZWwgYm9yZGUKICAgSU5GRVJJT1IgZGUgbGEgZm90by927WRlbyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBObyBhcGxpY2EgY29uICdib3R0b20tZnVsbCcuICovCi5ibGstcDM4ejQgLmxlYWQ6bm90KC5sZWFkLWJvZHktYm90dG9tLWZ1bGwpIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLWxlZnQsCi5ibGstcDM4ejQgLmxlYWQ6bm90KC5sZWFkLWJvZHktYm90dG9tLWZ1bGwpIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NDBweDsgfQouYmxrLXAzOHo0IC5wbGF5LWJ1dHRvbiAucGxheS1pY29uewogIGlubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjlweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci5ibGstcDM4ejQgLnBsYXktYnV0dG9uIC5wbGF5LXRleHR7ZGlzcGxheTpub25lO30KCi8qIFRpdHVsYXJlcyBhbmltYWRvcyAoY2FwYSBhbHRlcm5hdGl2YSBzb2JyZSBsZWFkLW1lZGlhKSAmIzgyMTI7IHZlciBtaXNtbwogICBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhCiAgIGhlcnJhbWllbnRhLiBDYWRhIHRpdHVsYXIgdGllbmUgc3UgcHJvcGlhIHBvc2ljafNuIChjbGFzZSBwb3MtKiwgdmVyCiAgIGJ1aWxkU2NvcGVkSFRNTCkgeSBzZSByZXZlbGEgbO1uZWEgcG9yIGztbmVhICh1bmEgdmV6IG1lZGlkYXMgc3VzIGztbmVhcwogICByZWFsZXMgcG9yIGVsIHNjcmlwdCBzdGFuZGFsb25lLCB2ZXIgYnVpbGRBbmltSGVhZGxpbmVzU2NyaXB0KSBjb24gdW5hCiAgIGNhamEgZGUgZm9uZG8gZGV0cuFzIGRlIGNhZGEgbO1uZWEgeSB1biBmYWRlIGRlIG9wYWNpZGFkIGVudHJlIHRpdHVsYXJlcy4gKi8KLmJsay1wMzh6NCAubGVhZC1hbmltLWhlYWRsaW5lc3sKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBpbnNldDowOwogIHotaW5kZXg6NDsKICBwb2ludGVyLWV2ZW50czpub25lOwp9Ci5ibGstcDM4ejQgLmxlYWQtYW5pbS1oZWFkbGluZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBsZWZ0OjE1cHg7CiAgb3BhY2l0eTowOwp9Ci5ibGstcDM4ejQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGJvdHRvbTo2MHB4OyB9Ci5ibGstcDM4ejQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnR7IHRvcDo2MHB4OyB9Ci5ibGstcDM4ejQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstcDM4ejQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0LAouYmxrLXAzOHo0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay1wMzh6NCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IGxlZnQ6YXV0bzsgcmlnaHQ6MTVweDsgfQouYmxrLXAzOHo0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodHsgdG9wOjYwcHg7IH0KLmJsay1wMzh6NCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstcDM4ejQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NjBweDsgfQouYmxrLXAzOHo0IC5sZWFkLWFuaW0taGVhZGxpbmUuaXMtYWN0aXZleyBvcGFjaXR5OjE7IH0KLmJsay1wMzh6NCAubGVhZC1hbmltLWxpbmV7CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgZGlzcGxheTp0YWJsZTsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7CiAgZm9udC13ZWlnaHQ6OTAwOwogIGNvbG9yOiNmZmY7CiAgcGFkZGluZzoycHggOHB4OwogIGNsaXAtcGF0aDppbnNldCgwIDEwMCUgMCAwKTsKICBvcGFjaXR5OjE7CiAgdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgZWFzZTsKfQouYmxrLXAzOHo0IC5sZWFkLWFuaW0tbGluZS5pcy1oaWRpbmd7IG9wYWNpdHk6MDsgfQovKiBTb2xhcGUgZGUgMXB4IGVudGVyYSBlbnRyZSBs7W5lYXMgcGFyYSBjZXJyYXIgZWwgaGlsbyBkZSBzdWItcO14ZWwgcXVlCiAgIHB1ZWRlIHF1ZWRhciBlbnRyZSBzdXMgY2FqYXMgZGUgZm9uZG8gKHJlZG9uZGVvIGRlIGFsdHVyYXMgZnJhY2Npb25hcmlhcykgJiM4MjEyOwogICB2ZXIgbWlzbW8gY29tZW50YXJpbywgZGV0YWxsYWRvLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXAzOHo0IC5sZWFkLWFuaW0tbGluZSArIC5sZWFkLWFuaW0tbGluZXsKICBtYXJnaW4tdG9wOi0xcHg7Cn0KLmJsay1wMzh6NCAubGVhZC1hbmltLWxpbmU6Zmlyc3QtY2hpbGR7IHBhZGRpbmctdG9wOjZweDsgfQouYmxrLXAzOHo0IC5sZWFkLWFuaW0tbGluZTpsYXN0LWNoaWxkeyBwYWRkaW5nLWJvdHRvbTo2cHg7IH0KLmJsay1wMzh6NCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQgLmxlYWQtYW5pbS1saW5lLAouYmxrLXAzOHo0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGstcDM4ejQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0IC5sZWFkLWFuaW0tbGluZXsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OjA7IH0KLmJsay1wMzh6NCAubGVhZC1hbmltLWhlYWRsaW5lcy5pcy1wb3NpdGl2ZSAubGVhZC1hbmltLWxpbmV7IGNvbG9yOiMwRTExMUE7IH0KLmJsay1wMzh6NCAubGVhZC1hbmltLWxpbmUtYmd7IHBvc2l0aW9uOmFic29sdXRlOyBpbnNldDowOyB6LWluZGV4Oi0xOyB9Ci5ibGstcDM4ejQgLmxlYWQtYW5pbS1saW5lLXRleHR7IHBvc2l0aW9uOnJlbGF0aXZlOyB9CkBrZXlmcmFtZXMgYmxrLXAzOHo0LWFuaW0tbGluZS1yZXZlYWx7IHRveyBjbGlwLXBhdGg6aW5zZXQoMCAwIDAgMCk7IH0gfQoKLyogQ2FwYSBkZSBjb252ZXJzYWNp824gZGUgV2hhdHNBcHAgKHNvYnJlIGxlYWQtbWVkaWEpICovCi5ibGstcDM4ejQgLmxlYWQtd2F7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjU7b3ZlcmZsb3c6aGlkZGVuO30KLmJsay1wMzh6NCAubGVhZC13YS1oaW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7ei1pbmRleDozO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDojZmZlMDAwO2NvbG9yOiMwMDA7Zm9udC1mYW1pbHk6IlJvYm90byIsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo0MDA7cGFkZGluZzoxcHggM3B4O2JvcmRlci1yYWRpdXM6MnB4O3doaXRlLXNwYWNlOm5vd3JhcDtsaW5lLWhlaWdodDoxLjI7fQouYmxrLXAzOHo0IC5sZWFkLXdhLWF2YXRhcntwb3NpdGlvbjphYnNvbHV0ZSAhaW1wb3J0YW50O3RvcDoxMHB4ICFpbXBvcnRhbnQ7aW5saW5lLXNpemU6NTBweCAhaW1wb3J0YW50O2Jsb2NrLXNpemU6NTBweCAhaW1wb3J0YW50O2FzcGVjdC1yYXRpbzoxLzEgIWltcG9ydGFudDtmbGV4LXNocmluazowO2JvcmRlci1yYWRpdXM6NTAlICFpbXBvcnRhbnQ7b2JqZWN0LWZpdDpjb3ZlciAhaW1wb3J0YW50O2JvcmRlcjoycHggc29saWQgI2ZmZjtib3gtc2hhZG93OjAgMXB4IDRweCByZ2JhKDAsMCwwLC4zNSk7ei1pbmRleDozO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLXAzOHo0IC5sZWFkLXdhLWF2YXRhci1sZWZ0e2xlZnQ6MTBweCAhaW1wb3J0YW50O3JpZ2h0OmF1dG8gIWltcG9ydGFudDt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtYXZhdGFyLXJpZ2h0e3JpZ2h0OjEwcHggIWltcG9ydGFudDtsZWZ0OmF1dG8gIWltcG9ydGFudDt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtbmFtZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjdweDt6LWluZGV4OjM7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzAwMDtmb250LWZhbWlseToiUm9ib3RvIixBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nOjFweCAzcHg7Ym9yZGVyLXJhZGl1czoycHg7d2hpdGUtc3BhY2U6bm93cmFwO2xpbmUtaGVpZ2h0OjEuMjttYXgtaW5saW5lLXNpemU6MTEwcHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7fQouYmxrLXAzOHo0IC5sZWFkLXdhLW5hbWUtbGVmdHtsZWZ0OjY2cHg7fQouYmxrLXAzOHo0IC5sZWFkLXdhLW5hbWUtcmlnaHR7cmlnaHQ6NjZweDt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtZGF0ZXtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1zZWxmOnN0cmV0Y2g7bWFyZ2luOjJweCAwO30KLmJsay1wMzh6NCAubGVhZC13YS1kYXRlLWxhYmVse2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMDAwO2ZvbnQtZmFtaWx5OiJSb2JvdG8iLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NDAwO3BhZGRpbmc6MXB4IDNweDtib3JkZXItcmFkaXVzOjJweDt3aGl0ZS1zcGFjZTpub3dyYXA7bGluZS1oZWlnaHQ6MS40O30KLmJsay1wMzh6NCAubGVhZC13YS1zY3JvbGx7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjE7cGFkZGluZzo2OHB4IDEycHggNjBweDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo4cHg7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVuOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO3RvdWNoLWFjdGlvbjpwYW4teTtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTt9Ci5ibGstcDM4ejQgLmxlYWQtd2Etc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmU7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7fQouYmxrLXAzOHo0IC5sZWFkLXdhLW1zZ3twb3NpdGlvbjpyZWxhdGl2ZTttYXgtaW5saW5lLXNpemU6NzglO3BhZGRpbmc6NnB4IDlweDtib3JkZXItcmFkaXVzOjcuNXB4O2ZvbnQtZmFtaWx5OiJSb2JvdG8iLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiMwMDA7bGluZS1oZWlnaHQ6MS41NTt3b3JkLXdyYXA6YnJlYWstd29yZDtib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSk7fQouYmxrLXAzOHo0IC5sZWFkLXdhLW1zZy5sZWZ0e2JhY2tncm91bmQ6I2ZmZjthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7Ym9yZGVyLXJhZGl1czowIDcuNXB4IDcuNXB4IDcuNXB4O30KLmJsay1wMzh6NCAubGVhZC13YS1tc2cucmlnaHR7YmFja2dyb3VuZDojZGNmOGM2O2FsaWduLXNlbGY6ZmxleC1lbmQ7Ym9yZGVyLXJhZGl1czo3LjVweCAwIDcuNXB4IDcuNXB4O30KLmJsay1wMzh6NCAubGVhZC13YS1tc2cubGVmdDo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDotN3B4O2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowO2JvcmRlci10b3A6N3B4IHNvbGlkICNmZmY7Ym9yZGVyLWxlZnQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O30KLmJsay1wMzh6NCAubGVhZC13YS1tc2cucmlnaHQ6OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6LTdweDtpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDtib3JkZXItdG9wOjdweCBzb2xpZCAjZGNmOGM2O2JvcmRlci1yaWdodDo3cHggc29saWQgdHJhbnNwYXJlbnQ7fQouYmxrLXAzOHo0IC5sZWFkLXdhLW1zZy5tZWRpYXtwYWRkaW5nOjNweDtib3gtc2hhZG93Om5vbmU7fQouYmxrLXAzOHo0IC5sZWFkLXdhLW1zZy5tZWRpYS1waG90bywKLmJsay1wMzh6NCAubGVhZC13YS1tc2cubWVkaWEtdmlkZW97aW5saW5lLXNpemU6NTAlO30KLmJsay1wMzh6NCAubGVhZC13YS1tc2cubWVkaWEtZW1iZWR7aW5saW5lLXNpemU6OTUlO21heC1pbmxpbmUtc2l6ZTo5NSU7fQouYmxrLXAzOHo0IC5sZWFkLXdhLW1zZy5tZWRpYS1hdWRpb3ttYXgtaW5saW5lLXNpemU6NTAlO30KLmJsay1wMzh6NCAubGVhZC13YS1tc2cubmV3c3twYWRkaW5nOjEwcHg7aW5saW5lLXNpemU6ODAlO21heC1pbmxpbmUtc2l6ZTo4MCU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLyogVW5pZmljYSBlbCBjb2xvciBkZWwgdGl0dWxhciBlbiBlbCBkaXNl8W8gIlNvbG8gdGl0dWxhciIgY29uIGVsIHJlc3RvIGRlCiAgIHRhcmpldGFzIGRlIG5vdGljaWEgZGUgZXN0YSBjYXBhIChzdGFjay10aXRsZSwgIzJjM2U1MykgJiM4MjEyOyB2ZXIgbWlzbW8KICAgY29tZW50YXJpbywgZGV0YWxsYWRvLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXAzOHo0IC5sZWFkLXdhLW1zZy5uZXdzIC5sZWZ0LXRpdGxle2NvbG9yOiMyYzNlNTM7fQouYmxrLXAzOHo0IC5sZWFkLXdhLW1lZGlhLWxpbmt7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtsaW5lLWhlaWdodDowO2JvcmRlci1yYWRpdXM6NS41cHg7b3ZlcmZsb3c6aGlkZGVuO30KLmJsay1wMzh6NCAubGVhZC13YS1tZWRpYS1saW5rIGltZywKLmJsay1wMzh6NCAubGVhZC13YS1tZWRpYS1saW5rIHZpZGVve3Bvc2l0aW9uOnN0YXRpYztkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTphdXRvO2JvcmRlci1yYWRpdXM6NS41cHg7fQouYmxrLXAzOHo0IC5sZWFkLXdhLW1lZGlhLWxpbmsgdmlkZW97YXNwZWN0LXJhdGlvOmF1dG8gNC8zO30KLmJsay1wMzh6NCAubGVhZC13YS1wbGF5LW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7aW5saW5lLXNpemU6NDBweDtibG9jay1zaXplOjQwcHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZmZmO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3gtc2hhZG93OjAgMXB4IDRweCByZ2JhKDAsMCwwLC4zNSk7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtcGxheS1vdmVybGF5OjpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowO2JvcmRlci1sZWZ0OjEycHggc29saWQgIzAwMDtib3JkZXItdG9wOjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjhweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDozcHg7fQouYmxrLXAzOHo0IC5sZWFkLXdhLW1lZGlhLWVtcHR5e2FzcGVjdC1yYXRpbzo0LzM7YmFja2dyb3VuZDojZTJlNmVhO2NvbG9yOiM3ZjhjOGQ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtZmFtaWx5OiJSb2JvdG8iLEFyaWFsLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6bm9ybWFsO30KLmJsay1wMzh6NCAubGVhZC13YS1lbWJlZC13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtib3JkZXItcmFkaXVzOjUuNXB4O292ZXJmbG93OmhpZGRlbjt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtZW1iZWQtd3JhcCBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay1wMzh6NCAubGVhZC13YS1tc2cuaXMtZXhwYW5kYWJsZSAubGVhZC13YS1tZWRpYS1saW5re2N1cnNvcjpwb2ludGVyO30KLmJsay1wMzh6NCAubGVhZC13YS1tc2cubWVkaWEtcGhvdG8uaXMtZXhwYW5kZWQsCi5ibGstcDM4ejQgLmxlYWQtd2EtbXNnLm1lZGlhLXZpZGVvLmlzLWV4cGFuZGVke2lubGluZS1zaXplOjk1JTttYXgtaW5saW5lLXNpemU6OTUlO30KLmJsay1wMzh6NCAubGVhZC13YS1leHBhbmQtY2xvc2V7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6NnB4O2lubGluZS1zaXplOjI2cHg7YmxvY2stc2l6ZToyNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7Y29sb3I6I2ZmZjtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxO2N1cnNvcjpwb2ludGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MDt6LWluZGV4OjM7fQouYmxrLXAzOHo0IC5sZWFkLXdhLW1zZy5pcy1leHBhbmRlZCAubGVhZC13YS1leHBhbmQtY2xvc2V7ZGlzcGxheTpmbGV4O30KLmJsay1wMzh6NCAubGVhZC13YS1tc2cuaXMtZXhwYW5kZWQgLmxlYWQtd2EtcGxheS1vdmVybGF5e2Rpc3BsYXk6bm9uZTt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtZm9yd2FyZGVke2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjRweDtjb2xvcjojODY5NmEwO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtc2l6ZToxMi41cHg7bGluZS1oZWlnaHQ6MS4zO21hcmdpbi1ib3R0b206MnB4O30KLmJsay1wMzh6NCAubGVhZC13YS1mb3J3YXJkZWQtaWNvbntmbGV4OjAgMCBhdXRvO2NvbG9yOiM4Njk2YTA7fQouYmxrLXAzOHo0IC5sZWFkLXdhLWF1ZGlve2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDtwYWRkaW5nOjZweCA4cHg7bWF4LWlubGluZS1zaXplOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaXppbmc6Ym9yZGVyLWJveDt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtYXVkaW8tcGxheWJ0bntmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjMwcHg7YmxvY2stc2l6ZTozMHB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDtjb2xvcjojNTQ2NTZmO30KLmJsay1wMzh6NCAubGVhZC13YS1hdWRpby1wbGF5YnRuIC5sZWFkLXdhLWF1ZGlvLXBsYXktaWNvbntpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDtib3JkZXItbGVmdDoxMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtib3JkZXItdG9wOjdweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjdweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDoycHg7fQouYmxrLXAzOHo0IC5sZWFkLXdhLWF1ZGlvLXBsYXlidG4gLmxlYWQtd2EtYXVkaW8tcGF1c2UtaWNvbntkaXNwbGF5Om5vbmU7Z2FwOjNweDt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtYXVkaW8tcGxheWJ0biAubGVhZC13YS1hdWRpby1wYXVzZS1pY29uIHNwYW57ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTozcHg7YmxvY2stc2l6ZToxMnB4O2JhY2tncm91bmQ6Y3VycmVudENvbG9yO2JvcmRlci1yYWRpdXM6MXB4O30KLmJsay1wMzh6NCAubGVhZC13YS1hdWRpby1wbGF5YnRuLmlzLXBsYXlpbmcgLmxlYWQtd2EtYXVkaW8tcGxheS1pY29ue2Rpc3BsYXk6bm9uZTt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtYXVkaW8tcGxheWJ0bi5pcy1wbGF5aW5nIC5sZWFkLXdhLWF1ZGlvLXBhdXNlLWljb257ZGlzcGxheTpmbGV4O30KLmJsay1wMzh6NCAubGVhZC13YS1hdWRpby13YXZle2ZsZXg6MSAxIGF1dG87ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2Jsb2NrLXNpemU6MjJweDtvdmVyZmxvdzpoaWRkZW47bWluLWlubGluZS1zaXplOjA7fQouYmxrLXAzOHo0IC5sZWFkLXdhLWF1ZGlvLXdhdmUgc3BhbntmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjJweDtiYWNrZ3JvdW5kOiNiN2M2Y2Y7Ym9yZGVyLXJhZGl1czoxcHg7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgbGluZWFyO30KLmJsay1wMzh6NCAubGVhZC13YS1hdWRpby13YXZlIHNwYW4uaXMtcGxheWVke2JhY2tncm91bmQ6IzUzQkRFQjt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtYXVkaW8tZWx7ZGlzcGxheTpub25lO30KLmJsay1wMzh6NCAubGVhZC13YS1hdWRpby1hdmF0YXJ7cG9zaXRpb246cmVsYXRpdmU7ZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZTozMnB4O2Jsb2NrLXNpemU6MzJweDtib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojYzljY2NlO30KLmJsay1wMzh6NCAubGVhZC13YS1hdWRpby1hdmF0YXIgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtbGlua3tjb2xvcjojMDM5YmU1O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7d29yZC1icmVhazpicmVhay1hbGw7cG9pbnRlci1ldmVudHM6YXV0bzt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtY2hlY2t7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7aW5saW5lLXNpemU6MTZweDtibG9jay1zaXplOjExcHg7ZmxleDowIDAgYXV0bzttYXJnaW4tbGVmdDo0cHg7dmVydGljYWwtYWxpZ246LTJweDt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtbXNnLnJpZ2h0Om5vdCgubWVkaWEpIC5sZWFkLXdhLWNoZWNre2Zsb2F0OnJpZ2h0O21hcmdpbjoycHggMCAwIDZweDt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtbXNnLm1lZGlhLXBob3RvIC5sZWFkLXdhLWNoZWNrLAouYmxrLXAzOHo0IC5sZWFkLXdhLW1zZy5tZWRpYS12aWRlbyAubGVhZC13YS1jaGVjaywKLmJsay1wMzh6NCAubGVhZC13YS1tc2cubWVkaWEtZW1iZWQgLmxlYWQtd2EtY2hlY2t7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjVweDtyaWdodDo3cHg7bWFyZ2luOjA7fQouYmxrLXAzOHo0IC5sZWFkLXdhLW1zZy5tZWRpYS1hdWRpbyAubGVhZC13YS1jaGVja3ttYXJnaW4tbGVmdDo0cHg7YWxpZ24tc2VsZjpmbGV4LWVuZDt9Ci8qIEFuaW1hY2nzbiBkZSBhcGFyaWNp824gZGUgbGEgY29udmVyc2FjafNuIChvcGNpb25hbCkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4KICAgS2V5ZnJhbWUgY29uIG5vbWJyZSBwcm9waW8gKGJsay1wMzh6NC13YS10eXBpbmctYm91bmNlKSBwYXJhIG5vIGNvbGlzaW9uYXIKICAgY29uIGVsIGRlIG90cmEgY29waWEgZGUgZXN0ZSBt82R1bG8gcGVnYWRhIGVuIGxhIG1pc21hIHDhZ2luYS4gKi8KLmJsay1wMzh6NCAubGVhZC13YS1wZW5kaW5ne2Rpc3BsYXk6bm9uZTt9Ci5ibGstcDM4ejQgLmxlYWQtd2EtdHlwaW5nLW1zZ3twYWRkaW5nOjlweCAxMnB4O30KLmJsay1wMzh6NCAubGVhZC13YS10eXBpbmd7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6M3B4O30KLmJsay1wMzh6NCAubGVhZC13YS10eXBpbmcgc3BhbntpbmxpbmUtc2l6ZTo3cHg7YmxvY2stc2l6ZTo3cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojODY5NmEwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2FuaW1hdGlvbjpibGstcDM4ejQtd2EtdHlwaW5nLWJvdW5jZSAxLjNzIGVhc2UtaW4tb3V0IGluZmluaXRlO30KLmJsay1wMzh6NCAubGVhZC13YS10eXBpbmcgc3BhbjpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4xNXM7fQouYmxrLXAzOHo0IC5sZWFkLXdhLXR5cGluZyBzcGFuOm50aC1jaGlsZCgzKXthbmltYXRpb24tZGVsYXk6LjNzO30KQGtleWZyYW1lcyBibGstcDM4ejQtd2EtdHlwaW5nLWJvdW5jZXswJSw2MCUsMTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtvcGFjaXR5Oi41O30zMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCk7b3BhY2l0eToxO319CgovKiBBbmNob3Igb3ZlcmxheSBmb3IgZnVsbCBjbGlja2FibGUgbGVhZCAqLwouYmxrLXAzOHo0IC5sZWFkLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjF9CgovKiBIb3ZlciBvcGFjaXR5IGFuaW1hdGlvbiAqLwouYmxrLXAzOHo0IC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAouYmxrLXAzOHo0IC5zdGFjay1pdGVtOmhvdmVyLAouYmxrLXAzOHo0IC5sZWZ0LWl0ZW06aG92ZXJ7b3BhY2l0eTouOH0KLmJsay1wMzh6NCAubGVhZC13YS1tc2cubmV3czpob3ZlcntvcGFjaXR5Oi45fQovKiBGb3RvIHByaW5jaXBhbCAoZmFsbGJhY2svc2luZ2xlKSBvIGNhcnJ1c2VsIGRlIGZvdG9zOiBvcGFjaWRhZCAwLjkgYWwKICAgcGFzYXIgZWwgcmF0824gcG9yIGxhIHRhcmpldGEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4KICAgbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGEgdu1kZW8gbmkgYWwKICAgY29tcGFyYWRvciBhbnRlcy9kZXNwdelzLiAqLwouYmxrLXAzOHo0IC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLXAzOHo0IC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay1wMzh6NCAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKLmJsay1wMzh6NCAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6Ljk7fQovKiBFbiBlbCBhbmNobyBt83ZpbCAobWlzbW8gQGNvbnRhaW5lciBxdWUgZWwgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvKSBubwogICBhcGxpY2EgZXN0YSBhbmltYWNp824gZGUgb3BhY2lkYWQgc29icmUgbGEgbm90aWNpYSBwcmluY2lwYWw6IHZhIERFU1BVyVMKICAgZGUgbGEgcmVnbGEgZ2VuZXJhbCBkZSBhcnJpYmEgKG1pc21hIGVzcGVjaWZpY2lkYWQpIHBhcmEgcG9kZXIgZ2FuYXJsZS4KICAgT21pdGlkbywgaWd1YWwgcXVlIGVsIGJsb3F1ZSBkZSB0aXBvZ3JhZu1hIGRlIGFycmliYSwgbWllbnRyYXMgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBlc3TpIGFjdGl2YSAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstcDM4ejQgLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCiAgLmJsay1wMzh6NCAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKICAuYmxrLXAzOHo0IC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eToxO30KfQoKLyogQW5pbWFjafNuIGNvbXBhcnRpZGEgcGxheSBwcmluY2lwYWwgKyBjdWFkcmFkb3MgcGxheSBhcGlsYWRhcyAqLwpAa2V5ZnJhbWVzIGJsay1wMzh6NC1ibGlua3sKICAwJSwxMDAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpfQogIDUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LDAuOSl9Cn0KLyogQ2FiZWNlcmEgKi8KLmJsay1wMzh6NCAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxMHB4IDAgMzJweH0KLmJsay1wMzh6NCAuZm5kLWxpbmVhe2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTo1cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW4tdG9wOi0xOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICMzMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzMzM30KLmJsay1wMzh6NCAuc2VjdGlvbi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LTFweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6NHB4IDEzcHg7Ym9yZGVyOjFweCBzb2xpZCAjMEUxMTFBO3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKTtmb250LXNpemU6NDJweDtjb2xvcjojMEUxMTFBO30KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsuYmxrLXAzOHo0IC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MCAxMHB4fX0KLyogQ2FiZWNlcmEgJiM4MjEyOyBEaXNl8W8gMiAodGl0dWxhciArIGNhcnJ1c2VsIGRlIGxvZ290aXBvcykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1wMzh6NCAuaGVhZGVyMntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoyMHB4O3BhZGRpbmctYm90dG9tOjVweDttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzBFMTExQTt9Ci8qIGFsaWduLXNlbGY6ZmxleC1lbmQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSAxNXB4IGRlIGxhIGztbmVhIHNlcGFyYWRvcmEKICAgZW4gRGVzayAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MKICAgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXAzOHo0IC5oZWFkZXIyLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtmbGV4OjEgMSA1MCU7bWluLWlubGluZS1zaXplOjA7YWxpZ24tc2VsZjpmbGV4LWVuZDt9Ci5ibGstcDM4ejQgLmhlYWRlcjItdGFnc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleDowIDAgYXV0bzt9Ci8qIE1pc21vIHRhbWHxby90aXBvZ3JhZu1hIHF1ZSAubGVhZC1leGNsdXNpdmUtdGFnIChsYSBkZSBsYSBub3RpY2lhCiAgIHByaW5jaXBhbCkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZQogICBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1wMzh6NCAuaGVhZGVyMi1jYXQtdGFnLAouYmxrLXAzOHo0IC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWd7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6LjhlbTtsZXR0ZXItc3BhY2luZzouNXB4O3BhZGRpbmc6MnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7fQouYmxrLXAzOHo0IC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay1wMzh6NCAuaGVhZGVyMi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZTozNnB4O2xpbmUtaGVpZ2h0OjEuMDU7Y29sb3I6IzBFMTExQTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWluLWlubGluZS1zaXplOjA7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO30KLyogU2VwYXJhY2nzbiBkZSAxMHB4IGVudHJlIGVsIHRleHRvIGRlIHBhdHJvY2luaW8geSBlbCBsb2dvIGVuIERlc2sgJiM4MjEyOyBlbgogICBN83ZpbCBzaWd1ZSBzaW4gc2VwYXJhY2nzbiAoZ2FwOjAsIHZlciBAY29udGFpbmVyIG3hcyBhYmFqbykuICovCi5ibGstcDM4ejQgLmhlYWRlcjItbG9nb3Mtd3JhcHtmbGV4OjAgMCBhdXRvO21heC1pbmxpbmUtc2l6ZTo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7fQovKiBFdGlxdWV0YSBvcGNpb25hbCBqdW50byBhbCBjYXJydXNlbCBkZSBsb2dvcyAocC5lai4gIlBhdHJvY2luYWRvIHBvcjoiKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXAzOHo0IC5oZWFkZXIyLWxvZ29zLWxhYmVse2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjY3O3doaXRlLXNwYWNlOm5vd3JhcDt9Ci5ibGstcDM4ejQgLmhlYWRlcjItbG9nb3N7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTYwcHg7YmxvY2stc2l6ZTo1MHB4O2ZsZXgtc2hyaW5rOjA7fQouYmxrLXAzOHo0IC5oZWFkZXIyLWxvZ29zIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO21hcmdpbjphdXRvO21heC1pbmxpbmUtc2l6ZToxMDAlO21heC1ibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb250YWluO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIGVhc2UtaW4tb3V0O30KLmJsay1wMzh6NCAuaGVhZGVyMi1sb2dvcyBpbWcuaXMtYWN0aXZle29wYWNpdHk6MTt9Ci8qIElndWFsIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsOiBwb3IgZGViYWpvIGRlIGVzdGUgYW5jaG8gc2UKICAgaW50ZW50YSBwcmltZXJvIDEgU09MQSBGSUxBIChldGlxdWV0YXMrdGl0dWxhciBqdW50byBhbCBsb2dvLCBpZ3VhbCBxdWUKICAgZW4gRGVzaywgYSB0YW1h8W8gcmVkdWNpZG8pLiBFbCBibG9xdWUgZGUgbG9nb3MgbWFudGllbmUgU0lFTVBSRSBzdQogICBkaXNwb3NpY2nzbiBlbiBjb2x1bW5hIChldGlxdWV0YSBkZSBwYXRyb2NpbmlvIGVuY2ltYSBkZWwgbG9nbywKICAgYWxpbmVhZG9zIGEgbGEgZGVyZWNoYSwgc2luIHNlcGFyYWNp824pIHRhbnRvIGVuIGVzdGEgZmlsYSD6bmljYSBjb21vIGVuCiAgIGVsIHJlc2d1YXJkbyBkZSBhYmFqby4gU2kgZWwgdGl0dWxhciwgc3VtYWRvIGFsIGFuY2hvIGRlIGxhcyBldGlxdWV0YXMKICAgYWN0aXZhcyAoY2F0ZWdvcu1hIHkvbyBleGNsdXNpdmEsIHNpIGxhcyBoYXkpLCBzdXBlcmEgZWwgNTUlIGRlbCBhbmNobwogICB0b3RhbCBkZSBsYSBjYWJlY2VyYSAoY2FkYSB1bm8gbWVkaWRvIGEgdW5hIHNvbGEgbO1uZWEpLCBlbCBzY3JpcHQKICAgc3RhbmRhbG9uZSBh8WFkaWRvIGFsIGZpbmFsIGRlIGVzdGUgSFRNTCAodmVyCiAgIGJ1aWxkSGVhZGVyMlN0YWNraW5nU2NyaXB0KCkpIGxvIGRldGVjdGEgbWlkaWVuZG8gc3UgYW5jaG8gbmF0dXJhbAogICB5IGHxYWRlIGxhIGNsYXNlICJoZWFkZXIyLXN0YWNrZWQiOiBlbCBibG9xdWUgZGUKICAgbG9nb3Mgc3ViZSBlbnRvbmNlcyBhIHN1IHByb3BpYSBmaWxhIChhbGluZWFkbyBhIGxhIGRlcmVjaGEpIHkKICAgdGl0dWxhcitldGlxdWV0YXMgYmFqYW4gYSBsYSBmaWxhIGRlIGFiYWpvLCBhIGFuY2hvIGNvbXBsZXRvICYjODIxMjsgbWlzbW8KICAgbGF5b3V0IGRlIDIgZmlsYXMgcXVlIGhhYu1hIGFudGVzIHNpZW1wcmUgcG9yIGRlYmFqbyBkZSBlc3RlIGJyZWFrcG9pbnQsCiAgIGFob3JhIHNvbG8gY29tbyByZXNndWFyZG8uIERlbnRybyBkZSBlc2UgcmVzZ3VhcmRvLCBjb24gZXRpcXVldGEocykgZWwKICAgdGl0dWxhciBwYXNhIGFkZW3hcyBhIHN1IFBST1BJQSBmaWxhIGEgYW5jaG8gY29tcGxldG8sIGRlYmFqbyBkZSBsYSBmaWxhIGRlIGV0aXF1ZXRhcyAodmVyCiAgICIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnQiIG3hcyBhYmFqbykuIEVsIGxvZ28gc2UgcmVkdWNlIHVuIDIwJQogICAoMTYweDUwICYjODU5NDsgMTI4eDQwKS4KICAgYWxpZ24tc2VsZjpmbGV4LWVuZCBlbiBoZWFkZXIyLWxlZnQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSBsb3MgMTBweAogICBkZWwgcGFkZGluZy1ib3R0b20gcmVzcGVjdG8gYSBsYSBs7W5lYSBzZXBhcmFkb3JhICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlCiAgIGVuIERlc2sgKHZlciBoZWFkZXIyLWxlZnQgbeFzIGFycmliYSk6IHNpbiBlc3RvLCBhbCBzZXIgZWwgYmxvcXVlIGRlCiAgIGxvZ29zIG3hcyBhbHRvIHF1ZSBlbCB0aXR1bGFyLCBlbCBjZW50cmFkbyB2ZXJ0aWNhbCBkZWwgcm93IGRlamFiYSB1bgogICBodWVjbyBtYXlvciBlbnRyZSBlbCB0aXR1bGFyIHkgbGEgbO1uZWEuIEVsIGJsb3F1ZSBkZSBsb2dvcyBzaWd1ZQogICBjZW50cmFkbyAoc2luIGVzZSBvdmVycmlkZSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay1wMzh6NCAuaGVhZGVyMntmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4O30KICAuYmxrLXAzOHo0IC5oZWFkZXIyLWxlZnR7b3JkZXI6MTthbGlnbi1zZWxmOmZsZXgtZW5kO30KICAuYmxrLXAzOHo0IC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MjthbGlnbi1zZWxmOmNlbnRlcjttYXgtaW5saW5lLXNpemU6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC5ibGstcDM4ejQgLmhlYWRlcjItbG9nb3N7aW5saW5lLXNpemU6MTI4cHg7YmxvY2stc2l6ZTo0MHB4O30KICAuYmxrLXAzOHo0IC5oZWFkZXIyLXRpdGxle2ZvbnQtc2l6ZToyN3B4O30KICAuYmxrLXAzOHo0IC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDt9CiAgLmJsay1wMzh6NCAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdHtvcmRlcjoyO2FsaWduLXNlbGY6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NXB4O30KICAuYmxrLXAzOHo0IC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjE7bWF4LWlubGluZS1zaXplOjEwMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC8qIFJlc2d1YXJkbyBpbnRlcm1lZGlvICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YTogc29sbyBlbCB0aXR1bGFyIGJhamEgYSBzdQogICAgIHByb3BpYSBmaWxhIGEgYW5jaG8gY29tcGxldG8gY3VhbmRvIGxhcyBldGlxdWV0YXMgU80gY2FiZW4ganVudG8gYWwKICAgICBsb2dvIHBlcm8gZWwgdGl0dWxhciBuby4gaGVhZGVyMi1sZWZ0IHBhc2EgZGUgZmlsYSBhIGNvbHVtbmEKICAgICAoZXRpcXVldGFzIGFycmliYSwgdGl0dWxhciBkZWJham8pIHkgcmVjdXBlcmEgYWxpZ24tc2VsZjphdXRvIHBhcmEKICAgICBjZW50cmFyc2UgdmVydGljYWxtZW50ZSBjb250cmEgZWwgbG9nbyAoYWxpZ24tc2VsZjpjZW50ZXIgZGUgbGEgcmVnbGEKICAgICBiYXNlIGRlIC5oZWFkZXIyLWxvZ29zLXdyYXAsIGFycmliYSksIGlndWFsIHF1ZSBlbiBlbCByZXN0byBkZSBlc3RhZG9zLiAqLwogIC5ibGstcDM4ejQgLmhlYWRlcjIuaGVhZGVyMi10aXRsZS1iZWxvdyAuaGVhZGVyMi1sZWZ0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLXNlbGY6YXV0bztnYXA6NXB4O30KfQoKCi8qIE5vdGljaWEgYXBpbGFkYTogZGlzZfFvICJmb3RvIGdyYW5kZSBhcnJpYmEsIHRpdHVsYXIgZGViYWpvIiwgZWxlZ2libGUgcG9yCiAgIG5vdGljaWEgZGVzZGUgZWwgZ2VzdG9yICh5YSBubyBkZXBlbmRlIGRlIGN14W50YXMgbm90aWNpYXMgaGF5YSkuIFNpbgogICByZXN0cmluZ2lyIGEgQGNvbnRhaW5lcihtaW4taW5saW5lLXNpemU6ODYxcHgpOiBlbCBkaXNl8W8gKGZvdG8gYXJyaWJhIGEKICAgYW5jaG8gY29tcGxldG8sIHRpdHVsYXIgZW4gbWF5+nNjdWxhcykgc2UgYXBsaWNhIGVuIERlc2sgWSBlbiBN83ZpbCBwb3IKICAgaWd1YWwgJiM4MjEyOyBhbnRlcyBzb2xvIHNlIGFwbGljYWJhIGVuIERlc2ssIHkgZW4gTfN2aWwgbGEgdGFyamV0YSBjYe1hIGFsCiAgIGRpc2XxbyAiZm90byBwZXF1ZfFhIiBwb3IgZGVmZWN0byBlbiB2ZXogZGUgbW9zdHJhcnNlIGEgYW5jaG8gY29tcGxldG8uIEVsCiAgIHJlc2d1YXJkbyBkZSAyIGNvbHVtbmFzIGVuIG3zdmlsIChtb2ItZ3JpZCwgdmVyIG3hcyBhcnJpYmEpIHNpZ3VlIGFudWxhbmRvCiAgIGVzdGUgZXN0aWxvIGNvbiBlbCBzdXlvIHByb3BpbyAoMThweCwgc2luIG1hefpzY3VsYXMpIHBvciB0ZW5lciBtYXlvcgogICBlc3BlY2lmaWNpZGFkLiAqLwouYmxrLXAzOHo0IC5zdGFjay1pdGVtLmxheW91dC1waG90by10b3B7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9Ci5ibGstcDM4ejQgLnN0YWNrLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAudGh1bWJ7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTt9Ci8qIG1heC1pbmxpbmUtc2l6ZTozMDBweCBzb2xvIGVuIERlc2s6IGFo7SBsYSBjb2x1bW5hIGRlcmVjaGEgY29tcGFydGUgZmlsYQogICBjb24gbGEgcHJpbmNpcGFsIHkgbGEgaXpxdWllcmRhIChncmlkIGRlIDMgY29sdW1uYXMpLCBhc+0gcXVlIGNvbnZpZW5lCiAgIHRvcGFyIGVsIGFuY2hvIGRlIGxhIGZvdG87IGVuIE3zdmlsIGxhIHRhcmpldGEgb2N1cGEgZWwgYW5jaG8gY29tcGxldG8gZGVsCiAgIGNvbnRlbmVkb3IgeSBubyBoYWNlIGZhbHRhIGVzZSBs7W1pdGUuICovCkBjb250YWluZXIgKG1pbi1pbmxpbmUtc2l6ZTo4NjFweCl7CiAgLmJsay1wMzh6NCAuc3RhY2staXRlbS5sYXlvdXQtcGhvdG8tdG9wIC50aHVtYnttYXgtaW5saW5lLXNpemU6MzAwcHg7fQp9Ci5ibGstcDM4ejQgLnN0YWNrLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAuc3RhY2stdGl0bGV7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS4yZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjkwMDt9Ci5ibGstcDM4ejQgLnN0YWNrLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAuc3RhY2stYXV0aG9ye3RleHQtYWxpZ246cmlnaHQ7fQovKiBFbiBN83ZpbCBlbCB0aXR1bGFyIGRlIGVzdGUgZGlzZfFvIHNlIG11ZXN0cmEgbeFzIGdyYW5kZSAoMS41cmVtIGVuIHZleiBkZQogICBsb3MgMS4ycmVtIGRlIERlc2spICYjODIxMjsgbWlzbWEgZXNwZWNpZmljaWRhZCAoMyBjbGFzZXMpIHF1ZSAiLnN0YWNrLWl0ZW0KICAgLmxheW91dC1waG90by10b3AgLnN0YWNrLXRpdGxlIiBkZWwgcmVzZ3VhcmRvIGRlIDIgY29sdW1uYXMgKDE4cHgsIHZlciBt4XMKICAgYXJyaWJhKSwgcXVlIHNpZ3VlIGdhbmFuZG8gYWjtIHBvciBzZXIgbeFzIGVzcGVj7WZpY287IGVuIGVsIHJlc3RvIGRlCiAgIGFuY2hvcyBt83ZpbGVzIGdhbmEgZXN0YSByZWdsYSBzb2JyZSBlbCBmYWxsYmFjayBnZW7pcmljbyAiLnBhZ2UKICAgLnN0YWNrLXRpdGxlIiAoMThweCwgMiBjbGFzZXMpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstcDM4ejQgLnN0YWNrLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAuc3RhY2stdGl0bGV7Zm9udC1zaXplOjEuNXJlbTtsaW5lLWhlaWdodDoxLjJlbTt9Cn0KLyogTm90aWNpYSBpenF1aWVyZGEgKHNvbG8gdGl0dWxhcik6IG1pc21vIGRpc2XxbyAiZm90byBncmFuZGUgYXJyaWJhLCB0aXR1bGFyCiAgIGRlYmFqbyIgJiM4MjEyOyBhIGRpZmVyZW5jaWEgZGVsIGJsb3F1ZSBkZSBhcnJpYmEsIGFxde0gTk8gc2UgcmVzdHJpbmdlIGNvbgogICBAY29udGFpbmVyIChtaW4taW5saW5lLXNpemUpIHBvcnF1ZSAubGVmdC1pdGVtIHlhIGVzIGJsb2NrIHBvciBkZWZlY3RvCiAgIChlbCB0aHVtYiB5IGVsIHRleHRvIHNlIGFwaWxhbiBzb2xvcyBzaW4gbeFzIGFqdXN0ZSksIGFz7SBxdWUgZWwgZGlzZfFvCiAgIGZ1bmNpb25hIGlndWFsIGRlIGJpZW4gZW4gY3VhbHF1aWVyIGFuY2hvLCBEZXNrIG8gTfN2aWwuICovCi5ibGstcDM4ejQgLmxlZnQtaXRlbS5sYXlvdXQtcGhvdG8tdG9we2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLXAzOHo0IC5sZWZ0LWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAudGh1bWJ7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLXAzOHo0IC5sZWZ0LWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAubGVmdC10aXRsZXtmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6OTAwO30KLmJsay1wMzh6NCAubGVmdC1pdGVtLmxheW91dC1waG90by10b3AgLnN0YWNrLWF1dGhvcntwb3NpdGlvbjpzdGF0aWM7cmlnaHQ6YXV0bztib3R0b206YXV0bzttYXJnaW4tdG9wOjExcHg7dGV4dC1hbGlnbjpyaWdodDt9Ci8qIEVuIE3zdmlsIGVsIHRpdHVsYXIgZGUgZXN0ZSBkaXNl8W8gc2UgbXVlc3RyYSBt4XMgZ3JhbmRlICgxLjVyZW0gZW4gdmV6IGRlCiAgIGxvcyAxLjJyZW0gZGUgRGVzaykgJiM4MjEyOyBtaXNtYSBlc3BlY2lmaWNpZGFkICgzIGNsYXNlcykgcXVlIGxhIHJlZ2xhIGRlCiAgIGFycmliYTsgYWwgaXIgREVTUFXJUyBlbiBlbCBDU1MgZ2FuYSBwb3Igb3JkZW4gZGUgY2FzY2FkYS4gTm8gYWZlY3RhIGFsCiAgIHJlc2d1YXJkbyBkZSAyIGNvbHVtbmFzIGVuIG3zdmlsIChtb2ItZ3JpZCksIG3hcyBlc3BlY+1maWNvICgxOHB4LCB2ZXIKICAgbeFzIGFycmliYSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7CiAgLmJsay1wMzh6NCAubGVmdC1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjEuNXJlbTt9Cn0KLyogRXN0aWxvICJCbG9xdWUgbWVkaWEiICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstcDM4ejQgLm1lZGlhLWJsb2NrLW1lZGlhe2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOmF1dG87fQouYmxrLXAzOHo0IC5tZWRpYS1ibG9jay13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXAzOHo0IC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLXAzOHo0IC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcCBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay1wMzh6NCAubGVmdC1pdGVtLmxheW91dC1tZWRpYS1ibG9ja3tib3JkZXI6bm9uZTtwYWRkaW5nOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtibG9jay1zaXplOmF1dG87ZmxleDowIDAgYXV0bzt9Ci5ibGstcDM4ejQgLnN0YWNrLWl0ZW0ubGF5b3V0LW1lZGlhLWJsb2Nre2Rpc3BsYXk6YmxvY2s7Ym9yZGVyOm5vbmU7cGFkZGluZzowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7YmxvY2stc2l6ZTphdXRvO2ZsZXg6MCAwIGF1dG87fQouYmxrLXAzOHo0IC5sZWZ0LWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spe2ZsZXg6MSAxIGF1dG87fQouYmxrLXAzOHo0IC5zdGFjay1pdGVtOm5vdCgubGF5b3V0LW1lZGlhLWJsb2NrKXtmbGV4OjEgMSBhdXRvO30KPC9zdHlsZT4KCjxkaXYgY2xhc3M9ImJsay1wMzh6NCI+CiAgCiAgPG1haW4gY2xhc3M9InBhZ2UiPgogICAgPGFzaWRlIGNsYXNzPSJsZWZ0LWxpc3QiPgogICAgICAKICAgIDxhIGNsYXNzPSJsZWZ0LWl0ZW0gbGF5b3V0LXBob3RvLXRvcCIgaHJlZj0iaHR0cHM6Ly9va2RpYXJpby5jb20vYmFsZWFyZXMvaW5kYS1lbnZ1ZWx2ZS1iYW5kZXJhcy1iYWxlYXJlcy1lc3BhbmEtYXF1aS1uYWNpZXJvbi1taXMtZG9zLWhpam9zLXBlcXVlbm9zLWVzdGEtcXVlLW9kaWEtcGVkcm8tc2FuY2hlei0yMDUyNDA5NiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJJbmRhIHNlIGVudnVlbHZlIGVuIGxhcyBiYW5kZXJhcyBkZSBCYWxlYXJlcyB5IEVzcGHxYTogJnF1b3Q7yXN0YSBlcyBsYSBxdWUgb2RpYSBQZWRybyBT4W5jaGV6JnF1b3Q7Ij4KICAgICAgPGRpdiBjbGFzcz0idGh1bWIiIHN0eWxlPSJhc3BlY3QtcmF0aW86MTYvOTsiPjx2aWRlbyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS9sZWZ0LWl0ZW0tem82enU2cy0yMDI2MTAxMC0wMTA2NDAtNDZkMzkyLm1wNCIgYXV0b3BsYXkgbXV0ZWQgbG9vcCBwbGF5c2lubGluZT48L3ZpZGVvPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJtb2Qtc3RhY2siPgogICAgICAgIDxoNCBjbGFzcz0ibGVmdC10aXRsZSI+PHNwYW4gY2xhc3M9InJlbGF0ZWQtdGl0bGUtZGVzayI+SW5kYSBzZSBlbnZ1ZWx2ZSBlbiBsYXMgYmFuZGVyYXMgZGUgQmFsZWFyZXMgeSBFc3Bh8WE6ICZxdW90O8lzdGEgZXMgbGEgcXVlIG9kaWEgUGVkcm8gU+FuY2hleiZxdW90Ozwvc3Bhbj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1tb2JpbGUiPkluZGEgc2UgZW52dWVsdmUgZW4gbGFzIGJhbmRlcmFzIGRlIEJhbGVhcmVzIHkgRXNwYfFhOiAmcXVvdDvJc3RhIGVzIGxhIHF1ZSBvZGlhIFBlZHJvIFPhbmNoZXomcXVvdDs8L3NwYW4+PC9oND4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGFjay1hdXRob3IiPkluZGFsZWNpbyBSaWJlbGxlczwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvYT4KCiAgICA8YSBjbGFzcz0ibGVmdC1pdGVtIHRpdGxlLW9ubHktbW9iaWxlLTE4IiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9iYWxlYXJlcy9tYXJnYS1wcm9oZW5zLXNvY2llZGFkLWxpYnJlLWRlbW9jcmF0aWNhLW5lY2VzaXRhLWFob3JhLW1hcy1xdWUtbnVuY2EtbWVkaW9zLWNvbXVuaWNhY2lvbi1saWJyZXMtMjA1MjIxODAiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiB0aXRsZT0iTWFyZ2EgUHJvaGVuczogJnF1b3Q7VW5hIHNvY2llZGFkIGxpYnJlIHkgZGVtb2Ny4XRpY2EgbmVjZXNpdGEgbWVkaW9zIGRlIGNvbXVuaWNhY2nzbiBsaWJyZXMmcXVvdDsiPgogICAgICA8ZGl2IGNsYXNzPSJsZWZ0LWJvZHkiPgogICAgICAgIDxoNCBjbGFzcz0ibGVmdC10aXRsZSIgc3R5bGU9ImZvbnQtc2l6ZToxOHB4OyI+PGJ1dHRvbiBjbGFzcz0ibGVmdC1wbGF5IiBhcmlhLWxhYmVsPSJSZXByb2R1Y2lyIj48L2J1dHRvbj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1kZXNrIj5NYXJnYSBQcm9oZW5zOiAmcXVvdDtVbmEgc29jaWVkYWQgbGlicmUgeSBkZW1vY3LhdGljYSBuZWNlc2l0YSBtZWRpb3MgZGUgY29tdW5pY2FjafNuIGxpYnJlcyZxdW90Ozwvc3Bhbj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1tb2JpbGUiPk1hcmdhIFByb2hlbnM6ICZxdW90O1VuYSBzb2NpZWRhZCBsaWJyZSB5IGRlbW9jcuF0aWNhIG5lY2VzaXRhIG1lZGlvcyBkZSBjb211bmljYWNp824gbGlicmVzJnF1b3Q7PC9zcGFuPjwvaDQ+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RhY2stYXV0aG9yIj5JbmRhbGVjaW8gUmliZWxsZXM8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2E+CgogICAgPGEgY2xhc3M9ImxlZnQtaXRlbSB0aXRsZS1vbmx5LW1vYmlsZS0xOCIgaHJlZj0iaHR0cHM6Ly9va2RpYXJpby5jb20vYmFsZWFyZXMvbWFyaWFuby1qdWFuLWxvLXF1ZS1oYWNlLWl6cXVpZXJkYS1tb3ZpbGlkYWQtZGVqYXItcXVlLXRvZG8tcmV2aWVudGUtbm8taGFjZXItbmFkYS1sdWVnby1hcGxpY2FyLXN1cy1wcm9oaWJpY2lvbmVzLTIwNTIzMDU4IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9Ik1hcmlhbm8gSnVhbjogJnF1b3Q7TG8gcXVlIGhhY2UgbGEgaXpxdWllcmRhIGVuIG1vdmlsaWRhZCBlcyBkZWphciBxdWUgdG9kbyByZXZpZW50ZSwgbm8gaGFjZXIgbmFkYSB5IGx1ZWdvIGFwbGljYXIgc3VzIHByb2hpYmljaW9uZXMmcXVvdDsiPgogICAgICA8ZGl2IGNsYXNzPSJsZWZ0LWJvZHkiPgogICAgICAgIDxoNCBjbGFzcz0ibGVmdC10aXRsZSIgc3R5bGU9ImZvbnQtc2l6ZToxOHB4OyI+PGJ1dHRvbiBjbGFzcz0ibGVmdC1wbGF5IiBhcmlhLWxhYmVsPSJSZXByb2R1Y2lyIj48L2J1dHRvbj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1kZXNrIj5NYXJpYW5vIEp1YW46ICZxdW90O0xvIHF1ZSBoYWNlIGxhIGl6cXVpZXJkYSBlbiBtb3ZpbGlkYWQgZXMgZGVqYXIgcXVlIHRvZG8gcmV2aWVudGUsIG5vIGhhY2VyIG5hZGEgeSBsdWVnbyBhcGxpY2FyIHN1cyBwcm9oaWJpY2lvbmVzJnF1b3Q7PC9zcGFuPjxzcGFuIGNsYXNzPSJyZWxhdGVkLXRpdGxlLW1vYmlsZSI+TWFyaWFubyBKdWFuOiAmcXVvdDtMbyBxdWUgaGFjZSBsYSBpenF1aWVyZGEgZW4gbW92aWxpZGFkIGVzIGRlamFyIHF1ZSB0b2RvIHJldmllbnRlLCBubyBoYWNlciBuYWRhIHkgbHVlZ28gYXBsaWNhciBzdXMgcHJvaGliaWNpb25lcyZxdW90Ozwvc3Bhbj48L2g0PgogICAgICAgIDxkaXYgY2xhc3M9InN0YWNrLWF1dGhvciI+SW5kYWxlY2lvIFJpYmVsbGVzPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9hPgogICAgPC9hc2lkZT4KICAgIDxhcnRpY2xlIGNsYXNzPSJsZWFkIj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1tZWRpYSI+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS9lZHVhcmRvLWluZGEtZWwtMjktZGUtbm92aWVtYnJlLW5vcy1qdWdhbW9zLWxhLWRlbW9jcmFjaWEtMjAyNjEwMTAtMDEwNzQ2LWE3MDNhNy5qcGciIGFsdD0iRWR1YXJkbyBJbmRhOiAmcXVvdDtFbCAyOSBkZSBub3ZpZW1icmUgbm9zIGp1Z2Ftb3MgbGEgZGVtb2NyYWNpYSZxdW90OyIgbG9hZGluZz0iZWFnZXIiIGZldGNocHJpb3JpdHk9ImhpZ2giIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVhZC1vdmVybGF5IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE0LDE3LDI2LDAuMDApOyI+PC9kaXY+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgCiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJsZWFkLWJvZHkiIHN0eWxlPSJiYWNrZ3JvdW5kOiMwNjRBODk7Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGVhZC1jYXQiIHN0eWxlPSJiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzA2NEE4OSI+QkFMRUFSRVM8L3NwYW4+CiAgICAgICAgCiAgICAgICAgPGgyIGNsYXNzPSJsZWFkLXRpdGxlIj48c3BhbiBjbGFzcz0ibGVhZC10aXRsZS1kZXNrIj5FZHVhcmRvIEluZGE6ICZxdW90O0VsIDI5IGRlIG5vdmllbWJyZSBub3MganVnYW1vcyBsYSBkZW1vY3JhY2lhJnF1b3Q7PC9zcGFuPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLW1vYmlsZSI+RWR1YXJkbyBJbmRhOiAmcXVvdDtFbCAyOSBkZSBub3ZpZW1icmUgbm9zIGp1Z2Ftb3MgbGEgZGVtb2NyYWNpYSZxdW90Ozwvc3Bhbj48L2gyPgogICAgICAgIAogICAgICAgIDxzcGFuIGNsYXNzPSJhdXRob3ItbGFiZWwiPkluZGFsZWNpbyBSaWJlbGxlczwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxhIGNsYXNzPSJsZWFkLWxpbmsiIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2JhbGVhcmVzL2VkdWFyZG8taW5kYS0yOS1ub3ZpZW1icmUtbm8tbm9zLWp1Z2Ftb3MtdW5hcy1lbGVjY2lvbmVzLWN1YWxxdWllcmEtbm9zLWp1Z2Ftb3MtZGVtb2NyYWNpYS0yMDUyMzYyNCIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJFZHVhcmRvIEluZGE6ICZxdW90O0VsIDI5IGRlIG5vdmllbWJyZSBub3MganVnYW1vcyBsYSBkZW1vY3JhY2lhJnF1b3Q7IiBhcmlhLWxhYmVsPSJFZHVhcmRvIEluZGE6ICZxdW90O0VsIDI5IGRlIG5vdmllbWJyZSBub3MganVnYW1vcyBsYSBkZW1vY3JhY2lhJnF1b3Q7Ij48L2E+CiAgICA8L2FydGljbGU+CiAgICA8YXNpZGUgY2xhc3M9InN0YWNrIj4KICAgICAgCiAgICA8YSBjbGFzcz0ic3RhY2staXRlbSBsYXlvdXQtcGhvdG8tdG9wIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9iYWxlYXJlcy9pa2VyLWppbWVuZXotZXNwYW5hLWdhbmUtcXVlLWdhbmUtMjktbi12YS1saWFyLTIwNTIzNTA4IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9IklrZXIgSmlt6W5lejogJnF1b3Q7RW4gRXNwYfFhLCBnYW5lIGVsIHF1ZSBnYW5lIGVsIDI5LU4gc2UgdmEgYSBsaWFyJnF1b3Q7Ij4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InRodW1iIiBzdHlsZT0iYXNwZWN0LXJhdGlvOjE2Lzk7Ij48aW1nIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL21lZGlhL2lrZXItamltZW5lei1lbi1lc3BhbmEtZ2FuZS1lbC1xdWUtZ2FuZS1lbC0yOS1uLXNlLXZhLWEtbGlhci0yMDI2MTAxMC0wMTA4MzEtNDgxODUyLmpwZyIgYWx0PSJJa2VyIEppbeluZXo6ICZxdW90O0VuIEVzcGHxYSwgZ2FuZSBlbCBxdWUgZ2FuZSBlbCAyOS1OIHNlIHZhIGEgbGlhciZxdW90OyIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj48YnV0dG9uIGNsYXNzPSJwbGF5LXNxdWFyZSIgYXJpYS1sYWJlbD0iUmVwcm9kdWNpciI+PC9idXR0b24+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Im1vZC1zdGFjayI+CiAgICAgICAgPGg0IGNsYXNzPSJzdGFjay10aXRsZSI+PHNwYW4gY2xhc3M9InJlbGF0ZWQtdGl0bGUtZGVzayI+SWtlciBKaW3pbmV6OiAmcXVvdDtFbiBFc3Bh8WEsIGdhbmUgZWwgcXVlIGdhbmUgZWwgMjktTiBzZSB2YSBhIGxpYXImcXVvdDs8L3NwYW4+PHNwYW4gY2xhc3M9InJlbGF0ZWQtdGl0bGUtbW9iaWxlIj5Ja2VyIEppbeluZXo6ICZxdW90O0VuIEVzcGHxYSwgZ2FuZSBlbCBxdWUgZ2FuZSBlbCAyOS1OIHNlIHZhIGEgbGlhciZxdW90Ozwvc3Bhbj48L2g0PgogICAgICAgIDxkaXYgY2xhc3M9InN0YWNrLWF1dGhvciI+VG9tYXMgSWJhcno8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2E+CgogICAgPGEgY2xhc3M9InN0YWNrLWl0ZW0iIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2JhbGVhcmVzL2Nhcm1lbi1wb3J0ZXItY3VhbmRvLXRlLW1ldGVzLWNpZXJ0b3MtcG9kZXJlcy12aWVuZG8tY29tby1lc3RhLWFjdHVhbGlkYWQtaGFjZS1kYW5vLTIwNTIzNjg2IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9IkNhcm1lbiBQb3J0ZXI6ICZxdW90O0N1YW5kbyB0ZSBtZXRlcyBjb24gY2llcnRvcyBwb2RlcmVzLCB2aWVuZG8gY/NtbyBlc3ThIGxhIGFjdHVhbGlkYWQsIGhhY2UgZGHxbyZxdW90OyI+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJ0aHVtYiI+PGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS9jYXJtZW4tcG9ydGVyLWN1YW5kby10ZS1tZXRlcy1jb24tY2llcnRvcy1wb2RlcmVzLXZpZW5kby1jb21vLWVzdGEtbGEtYWN0dWFsaWRhZC1oYWNlLWRhbm8tMjAyNjEwMTAtMDEwODU0LTZkYmM4My5qcGciIGFsdD0iQ2FybWVuIFBvcnRlcjogJnF1b3Q7Q3VhbmRvIHRlIG1ldGVzIGNvbiBjaWVydG9zIHBvZGVyZXMsIHZpZW5kbyBj821vIGVzdOEgbGEgYWN0dWFsaWRhZCwgaGFjZSBkYfFvJnF1b3Q7IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPjxidXR0b24gY2xhc3M9InBsYXktc3F1YXJlIiBhcmlhLWxhYmVsPSJSZXByb2R1Y2lyIj48L2J1dHRvbj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibW9kLXN0YWNrIj4KICAgICAgICA8aDQgY2xhc3M9InN0YWNrLXRpdGxlIj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1kZXNrIj5DYXJtZW4gUG9ydGVyOiAmcXVvdDtDdWFuZG8gdGUgbWV0ZXMgY29uIGNpZXJ0b3MgcG9kZXJlcywgdmllbmRvIGPzbW8gZXN04SBsYSBhY3R1YWxpZGFkLCBoYWNlIGRh8W8mcXVvdDs8L3NwYW4+PHNwYW4gY2xhc3M9InJlbGF0ZWQtdGl0bGUtbW9iaWxlIj5DYXJtZW4gUG9ydGVyOiAmcXVvdDtDdWFuZG8gdGUgbWV0ZXMgY29uIGNpZXJ0b3MgcG9kZXJlcywgdmllbmRvIGPzbW8gZXN04SBsYSBhY3R1YWxpZGFkLCBoYWNlIGRh8W8mcXVvdDs8L3NwYW4+PC9oND4KICAgICAgICA8ZGl2IGNsYXNzPSJzdGFjay1hdXRob3IiPk1hciBkZWwgVmFsbGU8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2E+CgogICAgPGEgY2xhc3M9InN0YWNrLWl0ZW0iIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2JhbGVhcmVzL2RhbmllbC1hcmVuYXMtbWFzLWFmZWN0YWRvcy1kZWNyZXRvLXZpdmllbmRhLXNvbi1wcmVjaXNhbWVudGUtcGVyc29uYXMtcG9kZXItYWRxdWlzaXRpdm8taW5mZXJpb3ItMjA1MjM1NzkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiB0aXRsZT0iRGFuaWVsIEFyZW5hczogJnF1b3Q7TG9zIG3hcyBhZmVjdGFkb3MgcG9yIGVsIGRlY3JldG8gZGUgdml2aWVuZGEgc29uIHByZWNpc2FtZW50ZSBsYXMgcGVyc29uYXMgZGUgdW4gcG9kZXIgYWRxdWlzaXRpdm8gaW5mZXJpb3ImcXVvdDsiPgogICAgICAKICAgICAgPGRpdiBjbGFzcz0idGh1bWIiPjxpbWcgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvZGFuaWVsLWFyZW5hcy1sb3MtbWFzLWFmZWN0YWRvcy1wb3ItZWwtZGVjcmV0by1kZS12aXZpZW5kYS1zb24tcHJlY2lzYW1lbnRlLWxhcy1wZXJzb25hcy1kZS11bi1wb2Rlci1hZHF1aXNpdGl2by1pbmZlcmlvci0yMDI2MTAxMC0wMTExMzAtNTlhODVkLmpwZyIgYWx0PSJEYW5pZWwgQXJlbmFzOiAmcXVvdDtMb3MgbeFzIGFmZWN0YWRvcyBwb3IgZWwgZGVjcmV0byBkZSB2aXZpZW5kYSBzb24gcHJlY2lzYW1lbnRlIGxhcyBwZXJzb25hcyBkZSB1biBwb2RlciBhZHF1aXNpdGl2byBpbmZlcmlvciZxdW90OyIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibW9kLXN0YWNrIj4KICAgICAgICA8aDQgY2xhc3M9InN0YWNrLXRpdGxlIj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1kZXNrIj5EYW5pZWwgQXJlbmFzOiAmcXVvdDtMb3MgbeFzIGFmZWN0YWRvcyBwb3IgZWwgZGVjcmV0byBkZSB2aXZpZW5kYSBzb24gcHJlY2lzYW1lbnRlIGxhcyBwZXJzb25hcyBkZSB1biBwb2RlciBhZHF1aXNpdGl2byBpbmZlcmlvciZxdW90Ozwvc3Bhbj48c3BhbiBjbGFzcz0icmVsYXRlZC10aXRsZS1tb2JpbGUiPkRhbmllbCBBcmVuYXM6ICZxdW90O0xvcyBt4XMgYWZlY3RhZG9zIHBvciBlbCBkZWNyZXRvIGRlIHZpdmllbmRhIHNvbiBwcmVjaXNhbWVudGUgbGFzIHBlcnNvbmFzIGRlIHVuIHBvZGVyIGFkcXVpc2l0aXZvIGluZmVyaW9yJnF1b3Q7PC9zcGFuPjwvaDQ+CiAgICAgICAgPGRpdiBjbGFzcz0ic3RhY2stYXV0aG9yIj5NYXIgZGVsIFZhbGxlPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9hPgogICAgPC9hc2lkZT4KICA8L21haW4+CjwvZGl2Pgo=
    • PGlmcmFtZSBoZWlnaHQ9JzQ5NHB4JyB3aWR0aD0nMTAwJScgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvaHRtbC9ndi0wbHhucy1jYXJydXNlbC12aWRlb3MucGhwIiAgIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9Im5vIiBzdHlsZT0iYm9yZGVyOjA7ZGlzcGxheTpibG9jazttYXgtIj48L2lmcmFtZT4=
      PGlmcmFtZSBoZWlnaHQ9JzU1MHB4JyB3aWR0aD0nMTAwJScgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvaHRtbC9ndi0wbHhucy1jYXJydXNlbC12aWRlb3MucGhwIiAgIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9Im5vIiBzdHlsZT0iYm9yZGVyOjA7ZGlzcGxheTpibG9jazttYXgtIj48L2lmcmFtZT4=
    • Radiografía económica de los gobiernos de Sánchez: El crecimiento es frágil y engañoso, de cartón piedra
    • UPA, de UGT, se desmarca de la tractorada con la excusa de las elecciones mientras el sindicato llama a la huelga
        • Economía
        • Economía

      UPA, de UGT, se desmarca de la tractorada con la excusa de las elecciones mientras el sindicato llama a la huelga

      • Xavier Vilaltella
      • 2026-10-10 05:45
    • El CIS de la vivienda se vuelve contra Sánchez: un 54% de españoles rechaza su idea de expropiar viviendas vacías
        • Economía
        • Economía

      El CIS de la vivienda se vuelve contra Sánchez: un 54% de españoles rechaza su idea de expropiar viviendas vacías

      • Alba Martín
      • 2026-10-10 05:45
    • Trump acuerda con Putin el envío de 1,8 millones de toneladas de diésel ruso a las puertas de las elecciones
        • Economía
        • Economía

      Trump acuerda con Putin el envío de 1,8 millones de toneladas de diésel ruso a las puertas de las elecciones

      • Xavier Vilaltella
      • 2026-10-10 11:50
    • Real Madrid - Villarreal: el Bernabéu exige respuestas
    • Alineación del Real Madrid contra el Villarreal: Mbappé y 10 más
        • Real Madrid
        • Real Madrid

      alineación del real madrid contra el villarreal Mbappé y 10 más

      • Iván Martín
      • 2026-10-10 09:05
    • Lo nunca visto: el Rayo-Athletic se suspende por el lanzamiento de pelotas y aviones de papel en protesta contra Martín Presa
        • Deportes
        • Deportes

      el Rayo-Athletic se suspende por el lanzamiento de pelotas en protesta contra Martín Presa

      • Hugo Carrasco
      • 2026-10-10 14:42
    • Portugal suspende provisionalmente a Cristiano Ronaldo e investiga su desencuentro con Jorge Jesús
        • Deportes
        • Deportes

      Portugal suspende provisionalmente a Cristiano Ronaldo e investiga su desencuentro con Jorge Jesús

      • Kike Sáez
      • 2026-10-10 14:43
    • CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCksIHkgYXF17SBtaXNtbyBjb24gZWwgdGV4dG8gYQogICBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhIChib2R5UG9zaXRpb25CbG9ja3NDb2x1bW4pOiBjb24gZXNlIGxheW91dCBsYQogICBub3RpY2lhIHByaW5jaXBhbCB5YSBvY3VwYSBlbCAxMDAlIGRlbCBhbmNobyB5IHNvbGFwYSBzdSBwcm9waWEgZm90byBkZQogICBib3JkZSBhIGJvcmRlLCBhc+0gcXVlIGVsIGFpcmUvZm9uZG8gYmxhbmNvIHNvYnJhLiAqLwouYmxrLXo5OTR1e21heC1pbmxpbmUtc2l6ZTo5NjBweDttYXJnaW46MCBhdXRvO2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplO30KLmJsay16OTk0dSBhe3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmluaGVyaXR9Ci5ibGstejk5NHUgLnBhZ2V7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjE1cHh9Ci5ibGstejk5NHUgLnBhZ2UgLmNvbHVtbntvcmRlcjozfQouYmxrLXo5OTR1IC5wYWdlIC5sZWFke29yZGVyOjJ9Ci8qIDg2MHB4IHkgbm8gNDc1cHg6IGNvbiBsYSBjb2x1bW5hIGZpamEgKDIyMHB4ICsgMjBweCBkZSBnYXAgPSAyNDBweCksCiAgIGN1YWxxdWllciBhbmNobyBkZSBpZnJhbWUgcG9yIGRlYmFqbyBkZSB+ODYwcHggZGVqYSBsYSBub3RpY2lhIHByaW5jaXBhbAogICAoMWZyKSBjYWRhIHZleiBjb24gbWVub3MgZXNwYWNpbyBoYXN0YSBjb2xhcHNhciBhIDBweCBkZSBhbmNobyBhbnRlcyBkZQogICBsbGVnYXIgYSB1biBicmVha3BvaW50IHRhbiBiYWpvIGNvbW8gNDc1cHggJiM4MjEyOyBsYSBub3RpY2lhIHByaW5jaXBhbAogICBkaXJlY3RhbWVudGUgZGVzYXBhcmVjZSBlbiBlc2EgZnJhbmphIGludGVybWVkaWEgKG5pICJkZXNrIiBjb21wbGV0byBuaQogICAibfN2aWwiIGVzdHJlY2hvKS4gQ29uIDg2MHB4IHNlIHBhc2EgYSB1bmEgc29sYSBjb2x1bW5hIGFwaWxhZGEgYW50ZXMgZGUKICAgcXVlIGVzbyBwdWVkYSBvY3VycmlyLgogICBFc3RlIGJyZWFrcG9pbnQgc2Ugb21pdGUgcG9yIGNvbXBsZXRvIG1pZW50cmFzIGxhIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06QogICBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KTogcGVuc2FkbyBwYXJhIGN1YW5kbyBlbCBt82R1bG8gbGxldmEgc3UKICAgY29sdW1uYSBhIDk2MHB4LCBkZWphIGRlIHRlbmVyIHNlbnRpZG8gZW4gdW5hIGV4cG9ydGFjafNuIGRlIHNvbG8gbGEKICAgbm90aWNpYSBwcmluY2lwYWwgYSB1biBhbmNobyBmaWpvIGVsZWdpZG8gYSBtYW5vICYjODIxMjsgbG9zIGFuY2hvcyBzaW11bGFkb3MKICAgKDYxMy80NjAvMzA3cHgpIGVzdOFuIFRPRE9TIHBvciBkZWJham8gZGUgODYwcHgsIGFz7SBxdWUgc2luIGVzdGUgZ2F0aW5nCiAgIGVsIEhUTUwgZXhwb3J0YWRvIGNhZXLtYSBzaWVtcHJlIGEgbGEgdGlwb2dyYWbtYSAiTfN2aWwiIChjb24gIWltcG9ydGFudCkKICAgc2VhIGN1YWwgc2VhIGxhIHF1ZSBlbCB1c3VhcmlvIGNvbmZpZ3Vy8yBlbiAiRGVzayIgcGFyYSBlc2Egc2ltdWxhY2nzbiwKICAgZGFuZG8gbGEgZmFsc2Egc2Vuc2FjafNuIGRlIHF1ZSB1bmEgY29uZmlndXJhY2nzbiAicGlzYSIgYSBvdHJhLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstejk5NHV7YmFja2dyb3VuZDpub25lO3BhZGRpbmc6MDt9CiAgLmJsay16OTk0dSAucGFnZXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogIC5ibGstejk5NHUgLnBhZ2UgLnN0YWNrLXRpdGxlIHtmb250LXNpemU6MThweDsgbGluZS1oZWlnaHQ6IDEuMmVtO30KICAuYmxrLXo5OTR1IC5wYWdlIC5zdGFjay1hdXRob3Ige21hcmdpbi10b3A6IDEwcHg7fQogIC5ibGstejk5NHUgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2Jsb2NrLXNpemU6NDAwcHggIWltcG9ydGFudDt9CiAgLmJsay16OTk0dSAubGVhZC1tZWRpYXthc3BlY3QtcmF0aW86NC8zICFpbXBvcnRhbnQ7fQogIC5ibGstejk5NHUgLnBhZ2UgLmxlYWR7b3JkZXI6MX0KICAuYmxrLXo5OTR1IC5wYWdlIC5jb2x1bW57b3JkZXI6Mn0KICAvKiBQb3IgZGViYWpvIGRlbCBicmVha3BvaW50LCBlbCBsZWFkLWJvZHkgc2llbXByZSB2dWVsdmUgYSBpciBkZWJham8gZGVsCiAgICAgbGVhZC1tZWRpYSAobm8gaGF5IHNpdGlvIHBhcmEgZWwgbGF5b3V0IGxhZG8gYSBsYWRvKS4gKi8KICAuYmxrLXo5OTR1IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0LAogIC5ibGstejk5NHUgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthc3BlY3QtcmF0aW86YXV0bzt9CiAgLmJsay16OTk0dSAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKICAuYmxrLXo5OTR1IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjEgMSBhdXRvO30KICAuYmxrLXo5OTR1IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCiAgLmJsay16OTk0dSAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXtmbGV4OjEgMSBhdXRvO2lubGluZS1zaXplOjkwJTttYXJnaW46LTMwcHggYXV0byAwO2Jsb2NrLXNpemU6YXV0bzthbGlnbi1zZWxmOmF1dG87anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7cGFkZGluZzoxMHB4O30KICAuYmxrLXo5OTR1IC5wYWdlIC5jb2x1bW4taXRlbXtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KICAuYmxrLXo5OTR1IC5wYWdlIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9CiAgLmJsay16OTk0dSAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMjEgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjIxcHggIWltcG9ydGFudDt9CiAgLmJsay16OTk0dSAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMTggLmxlZnQtdGl0bGV7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDt9CiAgLmJsay16OTk0dSAucGFnZSAubGVmdC1wbGF5ewogICAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICAgIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDsKICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4OwogIH0KICAuYmxrLXo5OTR1IC5wYWdlIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICAgIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDBhN2ZmO2JvcmRlci10b3A6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206M3B4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjFweDsKICB9Cn0KLyogVGlwb2dyYWbtYSAiTfN2aWwiIChhbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL3RpdHVsYXJlcyBhbmltYWRvcykgY29uIFNVCiAgIFBST1BJTyBicmVha3BvaW50ICg0ODBweCksIHNlcGFyYWRvIGRlbCBkZSBhcnJpYmEgKDg2MHB4LCBzb2xvIHBhcmEgYXBpbGFyCiAgIGxhIHJlamlsbGEgY29sdW1uYStub3RpY2lhKTogdW4gY29udGVuZWRvciByZWFsIGRlIG1lbm9zIGRlIDg2MHB4IGVzIG11eQogICBoYWJpdHVhbCAocC5lai4gdW5hIGNvbHVtbmEgZGUgYXJ07WN1bG8gZGUgfjcwMHB4KSB5IE5PIGVzIHVuIG3zdmlsICYjODIxMjsgY29uCiAgIHVuIPpuaWNvIGJyZWFrcG9pbnQgY29tcGFydGlkbywgbGEgdGlwb2dyYWbtYSAiRGVzayIgcXVlIGNvbmZpZ3VyYSBlbAogICB1c3VhcmlvIG5vIGxsZWdhYmEgYSB2ZXJzZSBudW5jYSBlbiBlc2UgY2FzbywgY2F5ZW5kbyBzaWVtcHJlIGEgbG9zIHZhbG9yZXMKICAgcG9yIGRlZmVjdG8gZGUgIk3zdmlsIiBzaW4gcXVlIG5hZGllIGxvIGh1YmllcmEgcGVkaWRvLiA0ODBweCBz7SBzZQogICBjb3JyZXNwb25kZSBjb24gdW4gYW5jaG8gZGUgbfN2aWwgcmVhbCAobGEgdmlzdGEgIk3zdmlsIiBkZWwgcHJvcGlvIGdlc3RvcgogICBzaW11bGEgMzc1cHgpLiBJZ3VhbCBxdWUgZWwgYnJlYWtwb2ludCBkZSBhcnJpYmEsIHNlIG9taXRlIGR1cmFudGUgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBkZSBsYSBub3RpY2lhIHByaW5jaXBhbCAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstejk5NHUgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjEgIWltcG9ydGFudDtjb2xvcjojRkY1MDUwICFpbXBvcnRhbnQ7fQogIC5ibGstejk5NHUgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiNGRjUwNTAgIWltcG9ydGFudDt9CiAgLmJsay16OTk0dSAubGVhZC10aXRsZXtmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIC5ibGstejk5NHUgLmxlYWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay16OTk0dSAubGVhZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay16OTk0dSAubGVhZC1raWNrZXItZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay16OTk0dSAubGVhZC1raWNrZXItbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstejk5NHUgLmxlYWQtc3VidGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay16OTk0dSAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay16OTk0dSAubGVhZC1hbmltLWhlYWRsaW5lc3tmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIAogIC5ibGstejk5NHUgLnJlbGF0ZWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay16OTk0dSAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9Cn0KLmJsay16OTk0dSAubGVhZHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay16OTk0dSAubGVhZC1tZWRpYXtwb3NpdGlvbjpyZWxhdGl2ZTthc3BlY3QtcmF0aW86MTYvOTtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6aGlkZGVufQovKiBNZWRpYSBtZWRpYW50ZSBpZnJhbWU6IGFsdG8gZmlqbyBlbiBw7XhlbGVzIGVuIHZleiBkZSBsYSBwcm9wb3JjafNuIGRlCiAgIGFycmliYSAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgc3RhdGUubGVhZC5pZnJhbWVIZWlnaHQpICYjODIxMjsgZWwKICAgdmFsb3IgZGUgTfN2aWwgc2Ugc29icmVzY3JpYmUgZW4gZWwgQGNvbnRhaW5lciBkZSBt4XMgYWJham8sIGlndWFsIHF1ZSBlbAogICByZXN0byBkZSBvdmVycmlkZXMgcmVzcG9uc2l2ZSBkZSBlc3RlIEhUTUwgZXhwb3J0YWRvLiAqLwouYmxrLXo5OTR1IC5sZWFkLW1lZGlhLmlzLWlmcmFtZXthc3BlY3QtcmF0aW86bm9uZTtibG9jay1zaXplOjY0MHB4O30KLmJsay16OTk0dSAubGVhZC1tZWRpYSBpbWcsCi5ibGstejk5NHUgLmxlYWQtbWVkaWEgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyfQovKiBDYXJydXNlbCBkZSBmb3RvcyBkZSBmb25kbyBjb24gZWZlY3RvIEtlbiBCdXJucyAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsCiAgIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLgogICBMYSBkdXJhY2nzbiBkZSBsYXMgYW5pbWFjaW9uZXMgKDZzKSBjb2luY2lkZSBjb24KICAgTEVBRF9DQVJPVVNFTF9JTlRFUlZBTCwgcXVlIHRhbWJp6W4gZ29iaWVybmEgZWwgc2NyaXB0IGRlIHJvdGFjafNuCiAgIChidWlsZExlYWRDYXJvdXNlbFNjcmlwdCkgYfFhZGlkbyBhbCBmaW5hbCBkZWwgSFRNTCBleHBvcnRhZG8uICovCi5ibGstejk5NHUgLmxlYWQtY2Fyb3VzZWx7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLXo5OTR1IC5sZWFkLWNhcm91c2VsLXNsaWRle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAxLjVzIGVhc2U7fQouYmxrLXo5OTR1IC5sZWFkLWNhcm91c2VsLXNsaWRlLmlzLWFjdGl2ZXtvcGFjaXR5OjE7ei1pbmRleDoxO30KLmJsay16OTk0dSAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO30KLmJsay16OTk0dSAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQob2RkKSBpbWd7YW5pbWF0aW9uOmJsay16OTk0dS1rZW5idXJucy1hIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KLmJsay16OTk0dSAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQoZXZlbikgaW1ne2FuaW1hdGlvbjpibGstejk5NHUta2VuYnVybnMtYiA2cyBlYXNlLWluLW91dCBmb3J3YXJkczt9CkBrZXlmcmFtZXMgYmxrLXo5OTR1LWtlbmJ1cm5zLWF7IGZyb217dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gdG97dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSgtNCUsLTMlKTt9IH0KQGtleWZyYW1lcyBibGstejk5NHUta2VuYnVybnMtYnsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKDQlLDMlKTt9IH0KLyogQ29uIHVuYSD6bmljYSBmb3RvIChzaW4gcm90YWNp824gcG9zaWJsZSkgc2UgYXBsaWNhIHVuIHpvb20gaW4vb3V0IGVuCiAgIGJ1Y2xlIGluZmluaXRvIGVuIHZleiBkZWwgcmVjb3JyaWRvIPpuaWNvIChmb3J3YXJkcykgZGUgYXJyaWJhLiAqLwouYmxrLXo5OTR1IC5sZWFkLWNhcm91c2VsLmlzLXNpbmdsZSAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7YW5pbWF0aW9uOmJsay16OTk0dS1rZW5idXJucy1sb29wIDE0cyBlYXNlLWluLW91dCBpbmZpbml0ZTt9CkBrZXlmcmFtZXMgYmxrLXo5OTR1LWtlbmJ1cm5zLWxvb3B7IDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IDUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gMTAwJXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB9Ci8qIENvbXBhcmFkb3IgYW50ZXMvZGVzcHXpcyAoZGVzbGl6YWRvcikgJiM4MjEyOyB2ZXIgZWwgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay16OTk0dSAubGVhZC1jb21wYXJle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3RvdWNoLWFjdGlvbjpub25lO3otaW5kZXg6Mjt9Ci5ibGstejk5NHUgLmxlYWQtY29tcGFyZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpjZW50ZXI7ZGlzcGxheTpibG9jazt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1kcmFnOm5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5ibGstejk5NHUgLmxlYWQtY29tcGFyZS1iZWZvcmV7Y2xpcC1wYXRoOmluc2V0KDAgNTAlIDAgMCk7d2lsbC1jaGFuZ2U6Y2xpcC1wYXRoO30KLmJsay16OTk0dSAubGVhZC1jb21wYXJlLXJhbmdle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7bWFyZ2luOjA7b3BhY2l0eTowO2N1cnNvcjpldy1yZXNpemU7fQouYmxrLXo5OTR1IC5sZWFkLWNvbXBhcmUtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6NTAlO2lubGluZS1zaXplOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjI7fQouYmxrLXo5OTR1IC5sZWFkLWNvbXBhcmUtaGFuZGxlOjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7aW5saW5lLXNpemU6MnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgwLDAsMCwuMjUpO30KLmJsay16OTk0dSAubGVhZC1jb21wYXJlLWhhbmRsZTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6LTE1cHg7aW5saW5lLXNpemU6MzBweDtibG9jay1zaXplOjMwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZmZmIHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJz48ZyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J004IDYgTDQgMTAgTDggMTQnLz48cGF0aCBkPSdNMTIgNiBMMTYgMTAgTDEyIDE0Jy8+PC9nPjwvc3ZnPiIpIGNlbnRlci8xNnB4IDE2cHggbm8tcmVwZWF0O2JveC1zaGFkb3c6MCAycHggNnB4IHJnYmEoMCwwLDAsLjI1KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjI1KTt9Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBNaXNtbyB6LWluZGV4OjIgcXVlCiAgIC5sZWFkLWNvbXBhcmUsIHBvciBlbCBtaXNtbyBtb3Rpdm8gKGdhbmFybGUgYSAubGVhZC1saW5rKS4gKi8KLmJsay16OTk0dSAubGVhZC1pZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7ei1pbmRleDoyO30KLmJsay16OTk0dSAubGVhZC1pZnJhbWUgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt9Ci5ibGstejk5NHUgLmxlYWQtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay16OTk0dSAubGVhZC1ib2R5e3BhZGRpbmc6MHB4IDIwcHggMjBweCAyMHB4OztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgYWxpZ24taXRlbXM6Y2VudGVyOyBwb3NpdGlvbjpyZWxhdGl2ZTsgei1pbmRleDo2OyBwb2ludGVyLWV2ZW50czpub25lOyBpbmxpbmUtc2l6ZTo5NSU7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDphdXRvOyBtYXJnaW4tdG9wOi0zMHB4OyBiYWNrZ3JvdW5kOiMwRTExMUE7IGZsZXg6MSAxIGF1dG87fQovKiBBbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL2F1dG9yIGNlbnRyYWRvcyBlbiB2ZXJ0aWNhbCBkZW50cm8gZGVsIGFsdG8KICAgc29icmFudGUgYmFqbyBsYSBjYXRlZ29y7WEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay16OTk0dSAubGVhZC1ib2R5LW1haW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtpbmxpbmUtc2l6ZToxMDAlO2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDowO30KLyogQXBhcmllbmNpYSBuZWdhdGl2YSAocG9yIGRlZmVjdG8pIHZzLiBwb3NpdGl2YSBkZSBsYSBjYWphIGRlIHRpdHVsYXIgJiM4MjEyOyB2ZXIKICAgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay16OTk0dSAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLWJvZHl7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTt9Ci5ibGstejk5NHUgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAubGVhZC10aXRsZSwKLmJsay16OTk0dSAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5hdXRob3ItbGFiZWx7Y29sb3I6IzBFMTExQTt9Ci8qIFBvc2ljafNuIGRlbCBsZWFkLWJvZHkgcmVzcGVjdG8gYWwgbGVhZC1tZWRpYSAoJ2xlZnQnLydyaWdodCcpICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstejk5NHUgLmxlYWQubGVhZC1ib2R5LWxlZnQsCi5ibGstejk5NHUgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOnJvdzthc3BlY3QtcmF0aW86Mi45NjI5NjI5NjI5NjI5NjM7fQouYmxrLXo5OTR1IC5sZWFkLmxlYWQtYm9keS1sZWZ0e2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO30KLmJsay16OTk0dSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKLmJsay16OTk0dSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtbWVkaWF7ZmxleDowIDAgNjAlO30KLmJsay16OTk0dSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5LAouYmxrLXo5OTR1IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e2ZsZXg6MCAwIGNhbGMoNDAlICsgMzBweCk7aW5saW5lLXNpemU6YXV0bzttYXJnaW4tdG9wOjA7YmxvY2stc2l6ZTpjYWxjKDEwMCUgLSA0MnB4KTthbGlnbi1zZWxmOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDt9Ci5ibGstejk5NHUgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDotMzBweDt9Ci5ibGstejk5NHUgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXJpZ2h0OjA7fQovKiBQb3NpY2nzbiAnYm90dG9tLWZ1bGwnIGRlbCBsZWFkLWJvZHkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gaW5saW5lLXNpemUKICAgZW4gdmV6IGRlIHdpZHRoIHBvciBlbCBtaXNtbyBtb3Rpdm8gcXVlIGVsIHJlc3RvIGRlIGVzdGUgYmxvcXVlIChldml0YXIKICAgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbCB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MKICAgZGlyZWN0YW1lbnRlKS4gKi8KLmJsay16OTk0dSAubGVhZC5sZWFkLWJvZHktYm90dG9tLWZ1bGwgLmxlYWQtYm9keXsKICBpbmxpbmUtc2l6ZToxMDAlOwogIG1hcmdpbjowOwogIHBhZGRpbmctdG9wOjMwcHg7CiAgcGFkZGluZy1ib3R0b206MzBweDsKICBib3JkZXI6bm9uZTsKfQovKiBFdGlxdWV0YSBkZSBleGNsdXNpdmEgKG8gdGV4dG8gcGVyc29uYWxpemFkbykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay16OTk0dSAubGVhZC1leGNsdXNpdmUtdGFne3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDt6LWluZGV4OjM7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtsZXR0ZXItc3BhY2luZzowLjVweDtwYWRkaW5nOjJweCA4cHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZmZmO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtwb2ludGVyLWV2ZW50czpub25lO30KLyogU2VsZWN0b3IgY29uIDMgY2xhc2VzICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEgKCIubGVhZC1tZWRpYSBpbWciIHRhbWJp6W4KICAgbWF0Y2hlYSBlc3RlIDxpbWc+IHkgbGUgZ2FuYWJhIGVuIGVzcGVjaWZpY2lkYWQpLiAqLwouYmxrLXo5OTR1IC5sZWFkLWV4Y2x1c2l2ZS10YWcgLmxlYWQtZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXo5OTR1IC5sZWFkLWNhdHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3BhZGRpbmc6MnB4IDhweDt0cmFuc2Zvcm06c2tld1koLTZkZWcpO21hcmdpbi10b3A6LTE1cHg7bWFyZ2luLWJvdHRvbToxMHB4O30KLmJsay16OTk0dSAubGVhZC1raWNrZXIsIC5ibGstejk5NHUgLmxlYWQtc3VidGl0bGV7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO3RleHQtdHJhbnNmb3JtOm5vbmU7bWFyZ2luOjA7Cn0KLmJsay16OTk0dSAubGVhZC1raWNrZXJ7Zm9udC13ZWlnaHQ6NzAwO30KLmJsay16OTk0dSAubGVhZC1zdWJ0aXRsZXtmb250LXdlaWdodDo2MDA7fQovKiBUYW1h8W8vaW50ZXJsaW5lYWRvL2NvbG9yIGRlIGFudGV07XR1bG8geSBzdWJ07XR1bG8gZW4gRGVzayAodmFsb3JlcyBwb3IKICAgZGVmZWN0byBkZWwgYmxvcXVlOyBlbCBvdmVycmlkZSBkZSBN83ZpbCB2YSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywKICAgeWEgcXVlIGVsIEhUTUwgZXhwb3J0YWRvIGVzIHJlc3BvbnNpdmUgeSBubyBkZXBlbmRlIGRlIHF16SB2aXN0YSB0dXZpZXJhcwogICBzZWxlY2Npb25hZGEgZW4gZWwgZ2VzdG9yIGFsIGV4cG9ydGFyL2NvcGlhcikuICovCi5ibGstejk5NHUgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiNGRjUwNTA7fQouYmxrLXo5OTR1IC5sZWFkLXN1YnRpdGxle2ZvbnQtc2l6ZToxLjMxMjVyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiNGRjUwNTA7fQovKiB0ZXh0LXdyYXA6YmFsYW5jZSAmIzgyMTI7IG1pc21vIGNyaXRlcmlvIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlbCBnZXN0b3IgKHZlciBjb21lbnRhcmlvIGRldGFsbGFkbyBqdW50byBhIGVzYSByZWdsYSk6IHJlcGFydGUgbGFzCiAgIGztbmVhcyBkZWwgdGl0dWxhciBkZSBmb3JtYSBt4XMgdW5pZm9ybWUgZGVudHJvIGRlIGNhZGEgZGlzcG9zaXRpdm8sIHNpbgogICBwcmV0ZW5kZXIgaWd1YWxhciBlbCBu+m1lcm8gZGUgbO1uZWFzIGVudHJlIHBsYXRhZm9ybWFzIGRpc3RpbnRhcy4gKi8KLmJsay16OTk0dSAubGVhZC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjE7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt0ZXh0LXdyYXA6YmFsYW5jZTt9Ci8qIFRpdHVsYXIgY29uIHNhbHRvcyBkZSBs7W5lYSBpbmRlcGVuZGllbnRlcyBwb3IgdmlzdGEgKHZlciBidWlsZFNjb3BlZEhUTUwpOgogICBzZSBnZW5lcmFuIGxvcyBkb3MgdGV4dG9zIChEZXNrL03zdmlsKSB5IGFxde0gc2UgbXVlc3RyYSBzb2xvIHVubyBzZWf6biBlbAogICBhbmNobyByZWFsIGRlbCBjb250ZW5lZG9yICYjODIxMjsgZWwgbWlzbW8gbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIHlhIHVzYSBlbAogICByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8gcGFyYSBhZGFwdGFyc2Ugc2luIGRlcGVuZGVyIGRlIEpTLiAqLwouYmxrLXo5OTR1IC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQovKiBBbnRldO10dWxvL3N1YnTtdHVsbyBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YTogbWlzbW8KICAgbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgKHZlciBhcnJpYmEpLiAqLwouYmxrLXo5OTR1IC5sZWFkLWtpY2tlci1tb2JpbGUsIC5ibGstejk5NHUgLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIFRpdHVsYXIgZGUgbm90aWNpYSByZWxhY2lvbmFkYSAoY29sdW1uYSkgY29uIHRleHRvIHByb3BpbyBlbiBN83ZpbCAodmVyCiAgIGl0ZW0udGl0bGVNb2JpbGUgZW4gYnVpbGRDb2x1bW5JdGVtVGl0bGVIVE1MKTogbWlzbW8gbWVjYW5pc21vIGRlCiAgIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgcHJpbmNpcGFsIGRlIGFycmliYS4gKi8KLmJsay16OTk0dSAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLmJsay16OTk0dSAuYXV0aG9yLWxhYmVse2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpyaWdodDtkaXNwbGF5OmJsb2NrfQouYmxrLXo5OTR1IC5jb2x1bW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47fQouYmxrLXo5OTR1IC5jb2x1bW4taXRlbXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQouYmxrLXo5OTR1IC50aHVtYntwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzo0LzM7YmFja2dyb3VuZDojZWVlO292ZXJmbG93OmhpZGRlbn0KLmJsay16OTk0dSAudGh1bWIgaW1nLAouYmxrLXo5OTR1IC50aHVtYiB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci5ibGstejk5NHUgLnRodW1iIC5wbGF5LXNxdWFyZSwKLmJsay16OTk0dSAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmV7CiAgcG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTo1cHg7IGxlZnQ6NXB4OwogIGlubGluZS1zaXplOjI1cHg7YmxvY2stc2l6ZToyNXB4O2JvcmRlci1yYWRpdXM6MnB4O2Rpc3BsYXk6aW5saW5lLWdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyOwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjE4KTsKICBjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cywgdHJhbnNmb3JtIC4xMnM7CiAgei1pbmRleDoyOyBhbmltYXRpb246YmxrLXo5OTR1LWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGstejk5NHUgLnRodW1iIC5wbGF5LXNxdWFyZTo6YmVmb3JlLAouYmxrLXo5OTR1IC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo2cHggc29saWQgI2ZmZjtib3JkZXItdG9wOjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjVweCBzb2xpZCB0cmFuc3BhcmVudDsKICBtYXJnaW4tbGVmdDoycHg7Cn0KLmJsay16OTk0dSAudGh1bWIgLnBsYXktc3F1YXJlOmhvdmVyLAouYmxrLXo5OTR1IC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTpob3ZlcnsgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuODUpOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTsgfQouYmxrLXo5OTR1IC5zdGFjay10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjEuMTVlbTttYXJnaW46MDtjb2xvcjojMmMzZTUzO30KLmJsay16OTk0dSAuc3RhY2stYXV0aG9ye2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtYm9vayIsc2Fucy1zZXJpZjtjb2xvcjojODI4NTk1O2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxMXB4O2xldHRlci1zcGFjaW5nOjA7dGV4dC1hbGlnbjpyaWdodDt9Ci8qIFNpbiBlc3RhIHJlZ2xhIGVsIGF1dG9yIHF1ZWRhIHBlZ2FkbyBqdXN0byBkZWJham8gZGVsIHRpdHVsYXIgZW4gdmV6IGRlCiAgIGFiYWpvIGRlIGxhIHRhcmpldGE6IC5tb2Qtc3RhY2sgbmVjZXNpdGEgc2VyIGZsZXgtY29sdW1uIGNvbgogICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiBwYXJhIHF1ZSBlbCBodWVjbyBzb2JyYW50ZSAoY3VhbmRvIGxhCiAgIHRhcmpldGEgY3JlY2UgbeFzIHF1ZSBzdSBjb250ZW5pZG8sIHZlciAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spCiAgIG3hcyBhYmFqbykgZW1wdWplIGVsIGF1dG9yIGhhY2lhIGVsIGJvcmRlIGluZmVyaW9yLiAqLwouYmxrLXo5OTR1IC5tb2Qtc3RhY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtmbGV4OjEgMSBhdXRvO30KLyogRXN0aWxvICJmb3RvIHBlcXVl8WEgKyB0aXR1bGFyIjogZm90byA0OjMgYSBsYSBpenF1aWVyZGEsIHRleHRvIGEgbGEgZGVyZWNoYS4gKi8KLmJsay16OTk0dSAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLWxlZnR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxMTBweCAxZnI7Z2FwOjEwcHg7fQovKiBFc3RpbG8gInNvbG8gdGV4dG8iIChwb3IgZGVmZWN0byk6IGVsIGF1dG9yIHNlIHBvc2ljaW9uYSBlbiBhYnNvbHV0bywKICAgYW5jbGFkbyBhIGxhIGVzcXVpbmEgaW5mZXJpb3IgZGVyZWNoYSBkZSBsYSB0YXJqZXRhIChpZ3VhbCBxdWUgZWwgcGxheSBkZQogICBsYXMgbWluaWF0dXJhcyksIGVuIHZleiBkZSBkZXBlbmRlciBkZSBxdWUgZWwgYmxvcXVlIGRlIHRleHRvIHRlbmdhIGh1ZWNvCiAgIGRlIHNvYnJhIHBhcmEgZW1wdWphcmxvIGFiYWpvIGNvbiBmbGV4Ym94ICYjODIxMjsgY29uIHTtdHVsb3MgZGUgMi0zIGztbmVhcyBlc2UKICAgaHVlY28gbm8gZXhpc3RlIHkgZWwgYXV0b3IgbnVuY2EgbGxlZ2FiYSBhIGJhamFyLiBwYWRkaW5nLWJvdHRvbSBlbgogICBsZWZ0LWJvZHkgcmVzZXJ2YSBlbCBlc3BhY2lvIHBhcmEgcXVlIGVsIHTtdHVsbyBubyBzZSBzb2xhcGUgY29uIOlsLiAqLwouYmxrLXo5OTR1IC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAubGVmdC1ib2R5e3BhZGRpbmctYm90dG9tOjMzcHg7fQouYmxrLXo5OTR1IC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAuc3RhY2stYXV0aG9ye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7Ym90dG9tOjEwcHg7bWFyZ2luLXRvcDowO30KLmJsay16OTk0dSAubGVmdC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjEuMTU7Y29sb3I6IzJjM2U1MzttYXJnaW46MDt0ZXh0LWFsaWduOmxlZnQ7fQouYmxrLXo5OTR1IC5sZWZ0LXBsYXl7CiAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICBiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjMDBhN2ZmOwogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206IDRweDsKfQouYmxrLXo5OTR1IC5sZWZ0LXBsYXk6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4Owp9Ci5ibGstejk5NHUgLnJlbGF0ZWQtbGl2ZS10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkY1MDUwOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkY1MDUwOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLXo5OTR1IC5yZWxhdGVkLWVkaXRvcmlhbC10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkFCMTIxOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkFCMTIxOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLXo5OTR1IC5wbGF5LWJ1dHRvbnsKICAvKiBBbmNoby9hbHRvIGZpam9zIGVuIHZleiBkZSBhc3BlY3QtcmF0aW86MS8xICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoZWwKICAgICBj4WxjdWxvIGRlICJzaHJpbmstdG8tZml0IiBwYXJhIHVuIDxidXR0b24+IGVuIGFic29sdXRvIHNpbiB0YW1h8W8KICAgICBleHBs7WNpdG8gbm8gZXMgZmlhYmxlIGVudHJlIG1vdG9yZXM7IGVuIFdlYktpdC9pT1MgZGFiYSB1biByZWN04W5ndWxvCiAgICAgdmVydGljYWwgZXN0cmVjaO1zaW1vIGVuIHZleiBkZSB1biBjdWFkcmFkbykuICovCiAgYXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOwogIHBvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDsKICBpbmxpbmUtc2l6ZTozNHB4O2Jsb2NrLXNpemU6MzRweDsKICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxMHB4IDEwcHggMTBweCAxMnB4OwogIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNyk7CiAgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC40Mik7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjNweDsKICBjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7YW5pbWF0aW9uOmJsay16OTk0dS1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLXo5OTR1IC5wbGF5LWJ1dHRvbi5wb3MtdG9wLXJpZ2h0e3RvcDoxMHB4O3JpZ2h0OjEwcHg7bGVmdDphdXRvO2JvdHRvbTphdXRvO30KLmJsay16OTk0dSAucGxheS1idXR0b24ucG9zLWJvdHRvbS1sZWZ0e2JvdHRvbToxMHB4O2xlZnQ6MTBweDt0b3A6YXV0bztyaWdodDphdXRvO30KLmJsay16OTk0dSAucGxheS1idXR0b24ucG9zLWJvdHRvbS1yaWdodHtib3R0b206MTBweDtyaWdodDoxMHB4O3RvcDphdXRvO2xlZnQ6YXV0bzt9Ci8qIENvbiBlbCB0ZXh0byAobGVhZC1ib2R5KSBhIGxhIGl6cXVpZXJkYSBvIGxhIGRlcmVjaGEsIGVzZSBibG9xdWUgc29sYXBhCiAgIDMwcHggZGVsIGxhZG8gZGUgbGEgZm90by927WRlbyBwZWdhZG8gYSDpbCAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXo5OTR1IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5wbGF5LWJ1dHRvbi5wb3MtdG9wLWxlZnQsCi5ibGstejk5NHUgLmxlYWQubGVhZC1ib2R5LWxlZnQgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tbGVmdHsgbGVmdDo0MHB4OyB9Ci5ibGstejk5NHUgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5wbGF5LWJ1dHRvbi5wb3MtdG9wLXJpZ2h0LAouYmxrLXo5OTR1IC5sZWFkLmxlYWQtYm9keS1yaWdodCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1yaWdodHsgcmlnaHQ6NDBweDsgfQovKiBQb3NpY2nzbiAnYm90dG9tJyBwb3IgZGVmZWN0bzogZWwgbGVhZC1ib2R5IHNvbGFwYSAzMHB4IHNvYnJlIGVsIGJvcmRlCiAgIElORkVSSU9SIGRlIGxhIGZvdG8vdu1kZW8gJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGNvbiAnYm90dG9tLWZ1bGwnCiAgIG5pIGNvbiAnbGVmdCcvJ3JpZ2h0JyAoYWp1c3RlIGhvcml6b250YWwgcHJvcGlvLCB2ZXIgYXJyaWJhKS4gKi8KLmJsay16OTk0dSAubGVhZDpub3QoLmxlYWQtYm9keS1sZWZ0KTpub3QoLmxlYWQtYm9keS1yaWdodCk6bm90KC5sZWFkLWJvZHktYm90dG9tLWZ1bGwpIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLWxlZnQsCi5ibGstejk5NHUgLmxlYWQ6bm90KC5sZWFkLWJvZHktbGVmdCk6bm90KC5sZWFkLWJvZHktcmlnaHQpOm5vdCgubGVhZC1ib2R5LWJvdHRvbS1mdWxsKSAucGxheS1idXR0b24ucG9zLWJvdHRvbS1yaWdodHsgYm90dG9tOjQwcHg7IH0KLmJsay16OTk0dSAucGxheS1idXR0b24gLnBsYXktaWNvbnsKICBpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDoxMHB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgdHJhbnNwYXJlbnQ7Cn0KLmJsay16OTk0dSAucGxheS1idXR0b24gLnBsYXktdGV4dHtkaXNwbGF5Om5vbmU7fQoKLyogVGl0dWxhcmVzIGFuaW1hZG9zIChjYXBhIGFsdGVybmF0aXZhIHNvYnJlIGxlYWQtbWVkaWEpICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEKICAgaGVycmFtaWVudGEuIENhZGEgdGl0dWxhciB0aWVuZSBzdSBwcm9waWEgcG9zaWNp824gKGNsYXNlIHBvcy0qLCB2ZXIKICAgYnVpbGRTY29wZWRIVE1MKSB5IHNlIHJldmVsYSBs7W5lYSBwb3IgbO1uZWEgKHVuYSB2ZXogbWVkaWRhcyBzdXMgbO1uZWFzCiAgIHJlYWxlcyBwb3IgZWwgc2NyaXB0IHN0YW5kYWxvbmUsIHZlciBidWlsZEFuaW1IZWFkbGluZXNTY3JpcHQpIGNvbiB1bmEKICAgY2FqYSBkZSBmb25kbyBkZXRy4XMgZGUgY2FkYSBs7W5lYSB5IHVuIGZhZGUgZGUgb3BhY2lkYWQgZW50cmUgdGl0dWxhcmVzLiAqLwouYmxrLXo5OTR1IC5sZWFkLWFuaW0taGVhZGxpbmVzewogIHBvc2l0aW9uOmFic29sdXRlOwogIGluc2V0OjA7CiAgei1pbmRleDo0OwogIHBvaW50ZXItZXZlbnRzOm5vbmU7Cn0KLmJsay16OTk0dSAubGVhZC1hbmltLWhlYWRsaW5lewogIHBvc2l0aW9uOmFic29sdXRlOwogIGxlZnQ6MTVweDsKICBvcGFjaXR5OjA7Cn0KLmJsay16OTk0dSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tbGVmdHsgYm90dG9tOjYwcHg7IH0KLmJsay16OTk0dSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtbGVmdHsgdG9wOjYwcHg7IH0KLmJsay16OTk0dSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtbGVmdHsgdG9wOjUwJTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IH0KLmJsay16OTk0dSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQsCi5ibGstejk5NHUgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0LAouYmxrLXo5OTR1IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgbGVmdDphdXRvOyByaWdodDoxNXB4OyB9Ci5ibGstejk5NHUgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0eyB0b3A6NjBweDsgfQouYmxrLXo5OTR1IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodHsgdG9wOjUwJTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IH0KLmJsay16OTk0dSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IGJvdHRvbTo2MHB4OyB9Ci8qIENvbiBlbCB0ZXh0byAobGVhZC1ib2R5KSBhIGxhIGl6cXVpZXJkYSBvIGxhIGRlcmVjaGEsIGVzZSBibG9xdWUgc29sYXBhCiAgIDMwcHggZGVsIGxhZG8gZGUgbGEgZm90by927WRlbyBwZWdhZG8gYSDpbCAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXo5OTR1IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1sZWZ0LAouYmxrLXo5OTR1IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1sZWZ0LAouYmxrLXo5OTR1IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1sZWZ0eyBsZWZ0OjQwcHg7IH0KLmJsay16OTk0dSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0LAouYmxrLXo5OTR1IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQsCi5ibGstejk5NHUgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgcmlnaHQ6NDBweDsgfQouYmxrLXo5OTR1IC5sZWFkLWFuaW0taGVhZGxpbmUuaXMtYWN0aXZleyBvcGFjaXR5OjE7IH0KLmJsay16OTk0dSAubGVhZC1hbmltLWxpbmV7CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgZGlzcGxheTp0YWJsZTsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7CiAgZm9udC13ZWlnaHQ6OTAwOwogIGNvbG9yOiNmZmY7CiAgcGFkZGluZzoycHggOHB4OwogIGNsaXAtcGF0aDppbnNldCgwIDEwMCUgMCAwKTsKICBvcGFjaXR5OjE7CiAgdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgZWFzZTsKfQouYmxrLXo5OTR1IC5sZWFkLWFuaW0tbGluZS5pcy1oaWRpbmd7IG9wYWNpdHk6MDsgfQovKiBTb2xhcGUgZGUgMXB4IGVudGVyYSBlbnRyZSBs7W5lYXMgcGFyYSBjZXJyYXIgZWwgaGlsbyBkZSBzdWItcO14ZWwgcXVlCiAgIHB1ZWRlIHF1ZWRhciBlbnRyZSBzdXMgY2FqYXMgZGUgZm9uZG8gKHJlZG9uZGVvIGRlIGFsdHVyYXMgZnJhY2Npb25hcmlhcykgJiM4MjEyOwogICB2ZXIgbWlzbW8gY29tZW50YXJpbywgZGV0YWxsYWRvLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXo5OTR1IC5sZWFkLWFuaW0tbGluZSArIC5sZWFkLWFuaW0tbGluZXsKICBtYXJnaW4tdG9wOi0xcHg7Cn0KLmJsay16OTk0dSAubGVhZC1hbmltLWxpbmU6Zmlyc3QtY2hpbGR7IHBhZGRpbmctdG9wOjZweDsgfQouYmxrLXo5OTR1IC5sZWFkLWFuaW0tbGluZTpsYXN0LWNoaWxkeyBwYWRkaW5nLWJvdHRvbTo2cHg7IH0KLmJsay16OTk0dSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQgLmxlYWQtYW5pbS1saW5lLAouYmxrLXo5OTR1IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGstejk5NHUgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0IC5sZWFkLWFuaW0tbGluZXsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OjA7IH0KLmJsay16OTk0dSAubGVhZC1hbmltLWhlYWRsaW5lcy5pcy1wb3NpdGl2ZSAubGVhZC1hbmltLWxpbmV7IGNvbG9yOiMwRTExMUE7IH0KLmJsay16OTk0dSAubGVhZC1hbmltLWxpbmUtYmd7IHBvc2l0aW9uOmFic29sdXRlOyBpbnNldDowOyB6LWluZGV4Oi0xOyB9Ci5ibGstejk5NHUgLmxlYWQtYW5pbS1saW5lLXRleHR7IHBvc2l0aW9uOnJlbGF0aXZlOyB9CkBrZXlmcmFtZXMgYmxrLXo5OTR1LWFuaW0tbGluZS1yZXZlYWx7IHRveyBjbGlwLXBhdGg6aW5zZXQoMCAwIDAgMCk7IH0gfQoKLyogQW5jaG9yIG92ZXJsYXkgZm9yIGZ1bGwgY2xpY2thYmxlIGxlYWQgKi8KLmJsay16OTk0dSAubGVhZC1saW5re3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxfQoKLyogSG92ZXIgb3BhY2l0eSBhbmltYXRpb24gKi8KLmJsay16OTk0dSAubGVhZDpob3ZlciAubGVhZC10aXRsZSwKLmJsay16OTk0dSAuY29sdW1uLWl0ZW06aG92ZXJ7b3BhY2l0eTouOH0KLyogRm90byBwcmluY2lwYWwgKGZhbGxiYWNrL3NpbmdsZSkgbyBjYXJydXNlbCBkZSBmb3Rvczogb3BhY2lkYWQgMC45IGFsCiAgIHBhc2FyIGVsIHJhdPNuIHBvciBsYSB0YXJqZXRhICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuCiAgIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE5vIGFwbGljYSBhIHbtZGVvIG5pIGFsCiAgIGNvbXBhcmFkb3IgYW50ZXMvZGVzcHXpcy4gKi8KLmJsay16OTk0dSAubGVhZC1tZWRpYSA+IGltZywKLmJsay16OTk0dSAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt9Ci5ibGstejk5NHUgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiBpbWcsCi5ibGstejk5NHUgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHtvcGFjaXR5Oi45O30KLyogRW4gZWwgYW5jaG8gbfN2aWwgKG1pc21vIEBjb250YWluZXIgcXVlIGVsIHJlc3RvIGRlbCBIVE1MIGV4cG9ydGFkbykgbm8KICAgYXBsaWNhIGVzdGEgYW5pbWFjafNuIGRlIG9wYWNpZGFkIHNvYnJlIGxhIG5vdGljaWEgcHJpbmNpcGFsOiB2YSBERVNQVclTCiAgIGRlIGxhIHJlZ2xhIGdlbmVyYWwgZGUgYXJyaWJhIChtaXNtYSBlc3BlY2lmaWNpZGFkKSBwYXJhIHBvZGVyIGdhbmFybGUuCiAgIE9taXRpZG8sIGlndWFsIHF1ZSBlbCBibG9xdWUgZGUgdGlwb2dyYWbtYSBkZSBhcnJpYmEsIG1pZW50cmFzIGxhCiAgIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06SBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsKICAuYmxrLXo5OTR1IC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAogIC5ibGstejk5NHUgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiBpbWcsCiAgLmJsay16OTk0dSAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6MTt9Cn0KCi8qIEFuaW1hY2nzbiBjb21wYXJ0aWRhIHBsYXkgcHJpbmNpcGFsICsgY3VhZHJhZG9zIHBsYXkgYXBpbGFkYXMgKi8KQGtleWZyYW1lcyBibGstejk5NHUtYmxpbmt7CiAgMCUsMTAwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC43KX0KICA1MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTY1LDI1NSwwLjkpfQp9Ci8qIENhYmVjZXJhICovCi5ibGstejk5NHUgLmJnLXNlY3Rpb24tdGl0bGV7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46MTBweCAwIDMycHh9Ci5ibGstejk5NHUgLmZuZC1saW5lYXtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6NXB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luLXRvcDotMThweDtib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzN9Ci5ibGstejk5NHUgLnNlY3Rpb24tdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjRweCAxM3B4O2JvcmRlcjoxcHggc29saWQgIzBFMTExQTt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyk7Zm9udC1zaXplOjQycHg7Y29sb3I6IzBFMTExQTt9CkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7LmJsay16OTk0dSAuc2VjdGlvbi10aXRsZXtmb250LXNpemU6MjdweDtwYWRkaW5nOjAgMTBweH19Ci8qIENhYmVjZXJhICYjODIxMjsgRGlzZfFvIDIgKHRpdHVsYXIgKyBjYXJydXNlbCBkZSBsb2dvdGlwb3MpICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwKICAgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstejk5NHUgLmhlYWRlcjJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MjBweDtwYWRkaW5nLWJvdHRvbTo1cHg7bWFyZ2luLWJvdHRvbToxMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMwRTExMUE7fQovKiBhbGlnbi1zZWxmOmZsZXgtZW5kIGZpamEgZWwgdGl0dWxhciBTSUVNUFJFIGEgMTVweCBkZSBsYSBs7W5lYSBzZXBhcmFkb3JhCiAgIGVuIERlc2sgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zCiAgIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay16OTk0dSAuaGVhZGVyMi1sZWZ0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7ZmxleDoxIDEgNTAlO21pbi1pbmxpbmUtc2l6ZTowO2FsaWduLXNlbGY6ZmxleC1lbmQ7fQouYmxrLXo5OTR1IC5oZWFkZXIyLXRhZ3N7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZsZXg6MCAwIGF1dG87fQovKiBNaXNtbyB0YW1h8W8vdGlwb2dyYWbtYSBxdWUgLmxlYWQtZXhjbHVzaXZlLXRhZyAobGEgZGUgbGEgbm90aWNpYQogICBwcmluY2lwYWwpICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUKICAgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstejk5NHUgLmhlYWRlcjItY2F0LXRhZywKLmJsay16OTk0dSAuaGVhZGVyMi1leGNsdXNpdmUtdGFne2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOi44ZW07bGV0dGVyLXNwYWNpbmc6LjVweDtwYWRkaW5nOjJweCA4cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3doaXRlLXNwYWNlOm5vd3JhcDtjb2xvcjojZmZmO30KLmJsay16OTk0dSAuaGVhZGVyMi1leGNsdXNpdmUtdGFnLWljb257cG9zaXRpb246c3RhdGljO2luc2V0OmF1dG87aW5saW5lLXNpemU6MTRweDtibG9jay1zaXplOjE0cHg7b2JqZWN0LWZpdDpjb250YWluO2ZsZXg6MCAwIGF1dG87ZGlzcGxheTpibG9jazt9Ci5ibGstejk5NHUgLmhlYWRlcjItdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDtmb250LXNpemU6MzZweDtsaW5lLWhlaWdodDoxLjA1O2NvbG9yOiMwRTExMUE7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO21pbi1pbmxpbmUtc2l6ZTowO292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt9Ci8qIFNlcGFyYWNp824gZGUgMTBweCBlbnRyZSBlbCB0ZXh0byBkZSBwYXRyb2NpbmlvIHkgZWwgbG9nbyBlbiBEZXNrICYjODIxMjsgZW4KICAgTfN2aWwgc2lndWUgc2luIHNlcGFyYWNp824gKGdhcDowLCB2ZXIgQGNvbnRhaW5lciBt4XMgYWJham8pLiAqLwouYmxrLXo5OTR1IC5oZWFkZXIyLWxvZ29zLXdyYXB7ZmxleDowIDAgYXV0bzttYXgtaW5saW5lLXNpemU6NTAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO30KLyogRXRpcXVldGEgb3BjaW9uYWwganVudG8gYWwgY2FycnVzZWwgZGUgbG9nb3MgKHAuZWouICJQYXRyb2NpbmFkbyBwb3I6IikgJiM4MjEyOwogICB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbAogICBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay16OTk0dSAuaGVhZGVyMi1sb2dvcy1sYWJlbHtmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo0MDA7Y29sb3I6IzY2Nzt3aGl0ZS1zcGFjZTpub3dyYXA7fQouYmxrLXo5OTR1IC5oZWFkZXIyLWxvZ29ze3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjE2MHB4O2Jsb2NrLXNpemU6NTBweDtmbGV4LXNocmluazowO30KLmJsay16OTk0dSAuaGVhZGVyMi1sb2dvcyBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDttYXJnaW46YXV0bzttYXgtaW5saW5lLXNpemU6MTAwJTttYXgtYmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y29udGFpbjtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC43cyBlYXNlLWluLW91dDt9Ci5ibGstejk5NHUgLmhlYWRlcjItbG9nb3MgaW1nLmlzLWFjdGl2ZXtvcGFjaXR5OjE7fQovKiBJZ3VhbCBxdWUgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbDogcG9yIGRlYmFqbyBkZSBlc3RlIGFuY2hvIHNlCiAgIGludGVudGEgcHJpbWVybyAxIFNPTEEgRklMQSAoZXRpcXVldGFzK3RpdHVsYXIganVudG8gYWwgbG9nbywgaWd1YWwgcXVlCiAgIGVuIERlc2ssIGEgdGFtYfFvIHJlZHVjaWRvKS4gRWwgYmxvcXVlIGRlIGxvZ29zIG1hbnRpZW5lIFNJRU1QUkUgc3UKICAgZGlzcG9zaWNp824gZW4gY29sdW1uYSAoZXRpcXVldGEgZGUgcGF0cm9jaW5pbyBlbmNpbWEgZGVsIGxvZ28sCiAgIGFsaW5lYWRvcyBhIGxhIGRlcmVjaGEsIHNpbiBzZXBhcmFjafNuKSB0YW50byBlbiBlc3RhIGZpbGEg+m5pY2EgY29tbyBlbgogICBlbCByZXNndWFyZG8gZGUgYWJham8uIFNpIGVsIHRpdHVsYXIsIHN1bWFkbyBhbCBhbmNobyBkZSBsYXMgZXRpcXVldGFzCiAgIGFjdGl2YXMgKGNhdGVnb3LtYSB5L28gZXhjbHVzaXZhLCBzaSBsYXMgaGF5KSwgc3VwZXJhIGVsIDU1JSBkZWwgYW5jaG8KICAgdG90YWwgZGUgbGEgY2FiZWNlcmEgKGNhZGEgdW5vIG1lZGlkbyBhIHVuYSBzb2xhIGztbmVhKSwgZWwgc2NyaXB0CiAgIHN0YW5kYWxvbmUgYfFhZGlkbyBhbCBmaW5hbCBkZSBlc3RlIEhUTUwgKHZlcgogICBidWlsZEhlYWRlcjJTdGFja2luZ1NjcmlwdCgpKSBsbyBkZXRlY3RhIG1pZGllbmRvIHN1IGFuY2hvIG5hdHVyYWwKICAgeSBh8WFkZSBsYSBjbGFzZSAiaGVhZGVyMi1zdGFja2VkIjogZWwgYmxvcXVlIGRlCiAgIGxvZ29zIHN1YmUgZW50b25jZXMgYSBzdSBwcm9waWEgZmlsYSAoYWxpbmVhZG8gYSBsYSBkZXJlY2hhKSB5CiAgIHRpdHVsYXIrZXRpcXVldGFzIGJhamFuIGEgbGEgZmlsYSBkZSBhYmFqbywgYSBhbmNobyBjb21wbGV0byAmIzgyMTI7IG1pc21vCiAgIGxheW91dCBkZSAyIGZpbGFzIHF1ZSBoYWLtYSBhbnRlcyBzaWVtcHJlIHBvciBkZWJham8gZGUgZXN0ZSBicmVha3BvaW50LAogICBhaG9yYSBzb2xvIGNvbW8gcmVzZ3VhcmRvLiBEZW50cm8gZGUgZXNlIHJlc2d1YXJkbywgY29uIGV0aXF1ZXRhKHMpIGVsCiAgIHRpdHVsYXIgcGFzYSBhZGVt4XMgYSBzdSBQUk9QSUEgZmlsYSBhIGFuY2hvIGNvbXBsZXRvLCBkZWJham8gZGUgbGEgZmlsYSBkZSBldGlxdWV0YXMgKHZlcgogICAiLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sZWZ0IiBt4XMgYWJham8pLiBFbCBsb2dvIHNlIHJlZHVjZSB1biAyMCUKICAgKDE2MHg1MCAmIzg1OTQ7IDEyOHg0MCkuCiAgIGFsaWduLXNlbGY6ZmxleC1lbmQgZW4gaGVhZGVyMi1sZWZ0IGZpamEgZWwgdGl0dWxhciBTSUVNUFJFIGEgbG9zIDEwcHgKICAgZGVsIHBhZGRpbmctYm90dG9tIHJlc3BlY3RvIGEgbGEgbO1uZWEgc2VwYXJhZG9yYSAmIzgyMTI7IG1pc21vIGNyaXRlcmlvIHF1ZQogICBlbiBEZXNrICh2ZXIgaGVhZGVyMi1sZWZ0IG3hcyBhcnJpYmEpOiBzaW4gZXN0bywgYWwgc2VyIGVsIGJsb3F1ZSBkZQogICBsb2dvcyBt4XMgYWx0byBxdWUgZWwgdGl0dWxhciwgZWwgY2VudHJhZG8gdmVydGljYWwgZGVsIHJvdyBkZWphYmEgdW4KICAgaHVlY28gbWF5b3IgZW50cmUgZWwgdGl0dWxhciB5IGxhIGztbmVhLiBFbCBibG9xdWUgZGUgbG9nb3Mgc2lndWUKICAgY2VudHJhZG8gKHNpbiBlc2Ugb3ZlcnJpZGUpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstejk5NHUgLmhlYWRlcjJ7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nLWxlZnQ6MTBweDtwYWRkaW5nLXJpZ2h0OjEwcHg7cGFkZGluZy1ib3R0b206MTBweDt9CiAgLmJsay16OTk0dSAuaGVhZGVyMi1sZWZ0e29yZGVyOjE7YWxpZ24tc2VsZjpmbGV4LWVuZDt9CiAgLmJsay16OTk0dSAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjI7YWxpZ24tc2VsZjpjZW50ZXI7bWF4LWlubGluZS1zaXplOm5vbmU7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDowO30KICAuYmxrLXo5OTR1IC5oZWFkZXIyLWxvZ29ze2lubGluZS1zaXplOjEyOHB4O2Jsb2NrLXNpemU6NDBweDt9CiAgLmJsay16OTk0dSAuaGVhZGVyMi10aXRsZXtmb250LXNpemU6MjdweDt9CiAgLmJsay16OTk0dSAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7fQogIC5ibGstejk5NHUgLmhlYWRlcjIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnR7b3JkZXI6MjthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7Z2FwOjVweDt9CiAgLmJsay16OTk0dSAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbG9nb3Mtd3JhcHtvcmRlcjoxO21heC1pbmxpbmUtc2l6ZToxMDAlO2FsaWduLXNlbGY6ZmxleC1lbmQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDowO30KICAvKiBSZXNndWFyZG8gaW50ZXJtZWRpbyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGE6IHNvbG8gZWwgdGl0dWxhciBiYWphIGEgc3UKICAgICBwcm9waWEgZmlsYSBhIGFuY2hvIGNvbXBsZXRvIGN1YW5kbyBsYXMgZXRpcXVldGFzIFPNIGNhYmVuIGp1bnRvIGFsCiAgICAgbG9nbyBwZXJvIGVsIHRpdHVsYXIgbm8uIGhlYWRlcjItbGVmdCBwYXNhIGRlIGZpbGEgYSBjb2x1bW5hCiAgICAgKGV0aXF1ZXRhcyBhcnJpYmEsIHRpdHVsYXIgZGViYWpvKSB5IHJlY3VwZXJhIGFsaWduLXNlbGY6YXV0byBwYXJhCiAgICAgY2VudHJhcnNlIHZlcnRpY2FsbWVudGUgY29udHJhIGVsIGxvZ28gKGFsaWduLXNlbGY6Y2VudGVyIGRlIGxhIHJlZ2xhCiAgICAgYmFzZSBkZSAuaGVhZGVyMi1sb2dvcy13cmFwLCBhcnJpYmEpLCBpZ3VhbCBxdWUgZW4gZWwgcmVzdG8gZGUgZXN0YWRvcy4gKi8KICAuYmxrLXo5OTR1IC5oZWFkZXIyLmhlYWRlcjItdGl0bGUtYmVsb3cgLmhlYWRlcjItbGVmdHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDthbGlnbi1zZWxmOmF1dG87Z2FwOjVweDt9Cn0KCi8qIEVzdGlsbyAiZm90byBncmFuZGUgKyB0aXR1bGFyIjogZm90byAxNjo5IGFycmliYSwgdGl0dWxhciBkZWJham8gJiM4MjEyOyBlbGVnaWJsZQogICBwb3Igbm90aWNpYSBkZXNkZSBlbCBnZXN0b3IuIE5vIHNlIHJlc3RyaW5nZSBjb24gQGNvbnRhaW5lciBwb3JxdWUKICAgLmNvbHVtbi1pdGVtIHlhIGVzIGJsb2NrIHBvciBkZWZlY3RvIChlbCB0aHVtYiB5IGVsIHRleHRvIHNlIGFwaWxhbiBzb2xvcwogICBzaW4gbeFzIGFqdXN0ZSksIGFz7SBxdWUgZWwgZGlzZfFvIGZ1bmNpb25hIGlndWFsIGRlIGJpZW4gZW4gY3VhbHF1aWVyCiAgIGFuY2hvLCBEZXNrIG8gTfN2aWwuICovCi5ibGstejk5NHUgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3B7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9Ci5ibGstejk5NHUgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLnRodW1ie2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjE2Lzk7bWFyZ2luLWJvdHRvbToxMHB4O30KLmJsay16OTk0dSAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAubGVmdC10aXRsZXtmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6OTAwO30KLyogRW4gTfN2aWwgZWwgdGl0dWxhciBkZSBlc3RlIGRpc2XxbyBzZSBtdWVzdHJhIG3hcyBncmFuZGUgKDEuNXJlbSBlbiB2ZXogZGUKICAgbG9zIDEuMnJlbSBkZSBEZXNrKSAmIzgyMTI7IG1pc21hIGVzcGVjaWZpY2lkYWQgKDMgY2xhc2VzKSBxdWUgbGEgcmVnbGEgZGUKICAgYXJyaWJhOyBhbCBpciBERVNQVclTIGVuIGVsIENTUyBnYW5hIHBvciBvcmRlbiBkZSBjYXNjYWRhLiBTZSB1c2EgZWwKICAgYnJlYWtwb2ludCBkZSA0ODBweCAoZWwgZGUgdGlwb2dyYWbtYSBlbiBlc3RhIGFwcCwgbm8gZWwgZGUgODYwcHggcXVlIGFxde0KICAgc29sbyBnb2JpZXJuYSBlbCBhcGlsYWRvIGRlIGNvbHVtbmFzKSBwYXJhIHF1ZSBjb2luY2lkYSBjb24gZWwgcmVzdG8gZGUKICAgY2FtYmlvcyBkZSB0ZXh0by90YW1h8W8gcG9yIHZpc3RhLiBObyBhZmVjdGEgYWwgcmVzZ3VhcmRvIGRlIDIgY29sdW1uYXMgZW4KICAgbfN2aWwgKG1vYi1ncmlkKSwgbeFzIGVzcGVj7WZpY28gKDE4cHgsIHZlciBt4XMgYXJyaWJhKS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjQ4MHB4KXsKICAuYmxrLXo5OTR1IC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC5sZWZ0LXRpdGxle2ZvbnQtc2l6ZToxLjVyZW07fQp9Ci8qIEVzdGlsbyAiQmxvcXVlIG1lZGlhIiAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXo5OTR1IC5tZWRpYS1ibG9jay1tZWRpYXtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTphdXRvO30KLmJsay16OTk0dSAubWVkaWEtYmxvY2std3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO30KLmJsay16OTk0dSAubWVkaWEtYmxvY2staWZyYW1lLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6aGlkZGVuO30KLmJsay16OTk0dSAubWVkaWEtYmxvY2staWZyYW1lLXdyYXAgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt9Ci5ibGstejk5NHUgLmNvbHVtbi1pdGVtLmxheW91dC1tZWRpYS1ibG9ja3tib3JkZXI6bm9uZTtwYWRkaW5nOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtibG9jay1zaXplOmF1dG87ZmxleDowIDAgYXV0bzt9Ci5ibGstejk5NHUgLmNvbHVtbi1pdGVtOm5vdCgubGF5b3V0LW1lZGlhLWJsb2NrKXtmbGV4OjEgMSBhdXRvO30KPC9zdHlsZT4KCjxkaXYgY2xhc3M9ImJsay16OTk0dSI+CiAgCiAgPG1haW4gY2xhc3M9InBhZ2UiPgogICAgCiAgICA8YXJ0aWNsZSBjbGFzcz0ibGVhZCBsZWFkLWJvZHktbGVmdCI+CiAgICAgIDxkaXYgY2xhc3M9ImxlYWQtbWVkaWEiPgogICAgICAgIDxpbWcgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvcHV0aW4tYW1lbmF6YS1jb24tbGEtYm9tYmEtYXRvbWljYS1wYXJhLWRlZmVuZGVyLWthbGluaW5ncmFkby1lbC1zaW50b21hLWRlLXVuYS1ydXNpYS1hY29ycmFsYWRhLTIwMjYxMDA5LTE2MzYwOC0wOGMxNzkuanBnIiBhbHQ9IlB1dGluIGFtZW5hemEgY29uIGxhIGJvbWJhIGF0821pY2EgcGFyYSBkZWZlbmRlciBLYWxpbmluZ3JhZG86IGVsIHPtbnRvbWEgZGUgdW5hIFJ1c2lhIGFjb3JyYWxhZGEiIGxvYWRpbmc9ImVhZ2VyIiBmZXRjaHByaW9yaXR5PSJoaWdoIiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDxkaXYgY2xhc3M9ImxlYWQtb3ZlcmxheSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiYSgxNCwxNywyNiwwLjAwKTsiPjwvZGl2PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5IiBzdHlsZT0iYmFja2dyb3VuZDojRkY1MDUwOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImxlYWQtY2F0IiBzdHlsZT0iYmFja2dyb3VuZDojZmZmO2NvbG9yOiNGRjUwNTAiPklOVEVSTkFDSU9OQUw8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5LW1haW4iPgogICAgICAgICAgCiAgICAgICAgICA8aDIgY2xhc3M9ImxlYWQtdGl0bGUiPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLWRlc2siPlB1dGluIGFtZW5hemEgY29uIGxhIGJvbWJhIGF0821pY2EgcGFyYSBkZWZlbmRlciBLYWxpbmluZ3JhZG86IGVsIHPtbnRvbWEgZGUgdW5hIFJ1c2lhIGFjb3JyYWxhZGE8L3NwYW4+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtbW9iaWxlIj5QdXRpbiBhbWVuYXphIGNvbiBsYSBib21iYSBhdPNtaWNhIHBhcmEgZGVmZW5kZXIgS2FsaW5pbmdyYWRvOiBlbCBz7W50b21hIGRlIHVuYSBSdXNpYSBhY29ycmFsYWRhPC9zcGFuPjwvaDI+CiAgICAgICAgICAKICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRob3ItbGFiZWwiPlBlZHJvIEZlcm7hbmRleiBCYXJiYWRpbGxvPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGEgY2xhc3M9ImxlYWQtbGluayIgaHJlZj0iaHR0cHM6Ly9va2RpYXJpby5jb20vaW50ZXJuYWNpb25hbC9wdXRpbi1hbWVuYXphLWJvbWJhLWF0b21pY2EtZGVmZW5kZXIta2FsaW5pbmdyYWRvLXNpbnRvbWEtcnVzaWEtYWNvcnJhbGFkYS0yMDUyMjU2NSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJQdXRpbiBhbWVuYXphIGNvbiBsYSBib21iYSBhdPNtaWNhIHBhcmEgZGVmZW5kZXIgS2FsaW5pbmdyYWRvOiBlbCBz7W50b21hIGRlIHVuYSBSdXNpYSBhY29ycmFsYWRhIiBhcmlhLWxhYmVsPSJQdXRpbiBhbWVuYXphIGNvbiBsYSBib21iYSBhdPNtaWNhIHBhcmEgZGVmZW5kZXIgS2FsaW5pbmdyYWRvOiBlbCBz7W50b21hIGRlIHVuYSBSdXNpYSBhY29ycmFsYWRhIj48L2E+CiAgICA8L2FydGljbGU+CiAgPC9tYWluPgo8L2Rpdj4KCjxzY3JpcHQ+CihmdW5jdGlvbigpewogIHZhciBhcnRpY2xlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJsay16OTk0dSAubGVhZCcpOwogIGlmICghYXJ0aWNsZSkgcmV0dXJuOwogIHZhciBtYWluID0gYXJ0aWNsZS5xdWVyeVNlbGVjdG9yKCcubGVhZC1ib2R5LW1haW4nKTsKICB2YXIgdGl0bGVFbCA9IGFydGljbGUucXVlcnlTZWxlY3RvcignLmxlYWQtdGl0bGUnKTsKICBpZiAoIW1haW4gfHwgIXRpdGxlRWwpIHJldHVybjsKICB2YXIgYmFzZUZvbnRTaXplUHggPSBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUodGl0bGVFbCkuZm9udFNpemUpIHx8IDA7CiAgaWYgKCFiYXNlRm9udFNpemVQeCkgcmV0dXJuOwogIHZhciBNQVhfU0NBTEUgPSAxLjg7CiAgdmFyIE1JTl9TQ0FMRSA9IDAuNTsKICB2YXIgTUFYX0ZPTlRfUFggPSA2NDsgLy8gfjRyZW0gY29uIGxhIGJhc2UgaGFiaXR1YWwgZGUgMTZweCAobWlzbW8gdG9wZSBxdWUgZml0TGVhZFRpdGxlVG9Cb3goKSBlbiBlbCBnZXN0b3IpCiAgdmFyIGJvZHlQb3NpdGlvbkJsb2Nrc0ZpdCA9IGFydGljbGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWFkLWJvZHktbGVmdCcpIHx8IGFydGljbGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWFkLWJvZHktcmlnaHQnKTsKICBmdW5jdGlvbiBmaXQoKXsKICAgIGlmIChib2R5UG9zaXRpb25CbG9ja3NGaXQpIHJldHVybjsKICAgIHRpdGxlRWwuc3R5bGUuZm9udFNpemUgPSBiYXNlRm9udFNpemVQeCArICdweCc7CiAgICB2YXIgYXZhaWxhYmxlSGVpZ2h0ID0gbWFpbi5jbGllbnRIZWlnaHQ7CiAgICBpZiAoIWF2YWlsYWJsZUhlaWdodCkgcmV0dXJuOwogICAgLy8gVmVyIG1pc21vIGNvbWVudGFyaW8sIGRldGFsbGFkbywgZW4gZml0TGVhZFRpdGxlVG9Cb3goKSBkZWwgZ2VzdG9yOgogICAgLy8gbWFpbi5zY3JvbGxIZWlnaHQgbnVuY2EgYmFqYSBkZSBjbGllbnRIZWlnaHQgYXVucXVlIGVsIGNvbnRlbmlkbyByZWFsCiAgICAvLyBvY3VwZSBtZW5vcywgYXPtIHF1ZSBubyBzaXJ2ZSBwYXJhIGRldGVjdGFyIGN14W50byBzb2JyYSBvIGZhbHRhIGNvbgogICAgLy8gZWwgdGl0dWxhciBhY3R1YWwgJiM4MjEyOyBzZSBzdW1hIGVuIHN1IGx1Z2FyIGVsIGFsdG8gcmVhbCBkZSBjYWRhIGhpam8KICAgIC8vIFZJU0lCTEUgZGVsIGJsb3F1ZSwgc2Fsdm8gZWwgcHJvcGlvIHRpdHVsYXIsIG3hcyBlbCBodWVjbyAoImdhcCIpCiAgICAvLyBlbnRyZSBlbGxvczsgbm8gY2FtYmlhIGNvbiBlbCB0YW1h8W8gZGVsIHRpdHVsYXIsIGFz7SBxdWUgc2UgbWlkZSB1bmEKICAgIC8vIHNvbGEgdmV6LCBhbnRlcyBkZSBsYSBi+nNxdWVkYSBiaW5hcmlhLgogICAgdmFyIGdhcFB4ID0gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLnJvd0dhcCkgfHwgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLmdhcCkgfHwgMDsKICAgIHZhciB2aXNpYmxlQ2hpbGRyZW4gPSBbXS5zbGljZS5jYWxsKG1haW4uY2hpbGRyZW4pLmZpbHRlcihmdW5jdGlvbihjKXsgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoYykuZGlzcGxheSAhPT0gJ25vbmUnOyB9KTsKICAgIHZhciBvdGhlcnNIZWlnaHQgPSB2aXNpYmxlQ2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uKGMpeyByZXR1cm4gYyAhPT0gdGl0bGVFbDsgfSkucmVkdWNlKGZ1bmN0aW9uKHN1bSwgYyl7IHJldHVybiBzdW0gKyBjLm9mZnNldEhlaWdodDsgfSwgMCkKICAgICAgKyBnYXBQeCAqIE1hdGgubWF4KDAsIHZpc2libGVDaGlsZHJlbi5sZW5ndGggLSAxKTsKICAgIHZhciBhdmFpbGFibGVGb3JUaXRsZSA9IE1hdGgubWF4KDAsIGF2YWlsYWJsZUhlaWdodCAtIG90aGVyc0hlaWdodCk7CiAgICBpZiAoIWF2YWlsYWJsZUZvclRpdGxlKSByZXR1cm47CiAgICBmdW5jdGlvbiBoZWlnaHRBdFNjYWxlKHNjYWxlKXsKICAgICAgdGl0bGVFbC5zdHlsZS5mb250U2l6ZSA9IE1hdGgubWluKGJhc2VGb250U2l6ZVB4ICogc2NhbGUsIE1BWF9GT05UX1BYKSArICdweCc7CiAgICAgIHJldHVybiB0aXRsZUVsLm9mZnNldEhlaWdodDsKICAgIH0KICAgIHZhciBsbyA9IE1JTl9TQ0FMRSwgaGkgPSBNQVhfU0NBTEU7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDg7IGkrKyl7CiAgICAgIHZhciBtaWQgPSAobG8gKyBoaSkgLyAyOwogICAgICBpZiAoaGVpZ2h0QXRTY2FsZShtaWQpIDw9IGF2YWlsYWJsZUZvclRpdGxlKSBsbyA9IG1pZDsgZWxzZSBoaSA9IG1pZDsKICAgIH0KICAgIGhlaWdodEF0U2NhbGUobG8pOwogIH0KICBmaXQoKTsKICBpZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkpeyBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKGZpdCk7IH0KICBpZiAod2luZG93LlJlc2l6ZU9ic2VydmVyKXsgbmV3IFJlc2l6ZU9ic2VydmVyKGZpdCkub2JzZXJ2ZShhcnRpY2xlKTsgfQogIGVsc2UgeyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZml0KTsgfQp9KSgpOwo8L3NjcmlwdD4=
      CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCksIHkgYXF17SBtaXNtbyBjb24gZWwgdGV4dG8gYQogICBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhIChib2R5UG9zaXRpb25CbG9ja3NDb2x1bW4pOiBjb24gZXNlIGxheW91dCBsYQogICBub3RpY2lhIHByaW5jaXBhbCB5YSBvY3VwYSBlbCAxMDAlIGRlbCBhbmNobyB5IHNvbGFwYSBzdSBwcm9waWEgZm90byBkZQogICBib3JkZSBhIGJvcmRlLCBhc+0gcXVlIGVsIGFpcmUvZm9uZG8gYmxhbmNvIHNvYnJhLiAqLwouYmxrLTU3amQ0e21heC1pbmxpbmUtc2l6ZTo5NjBweDttYXJnaW46MCBhdXRvO2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplO30KLmJsay01N2pkNCBhe3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmluaGVyaXR9Ci5ibGstNTdqZDQgLnBhZ2V7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjE1cHh9Ci5ibGstNTdqZDQgLnBhZ2UgLmNvbHVtbntvcmRlcjozfQouYmxrLTU3amQ0IC5wYWdlIC5sZWFke29yZGVyOjJ9Ci8qIDg2MHB4IHkgbm8gNDc1cHg6IGNvbiBsYSBjb2x1bW5hIGZpamEgKDIyMHB4ICsgMjBweCBkZSBnYXAgPSAyNDBweCksCiAgIGN1YWxxdWllciBhbmNobyBkZSBpZnJhbWUgcG9yIGRlYmFqbyBkZSB+ODYwcHggZGVqYSBsYSBub3RpY2lhIHByaW5jaXBhbAogICAoMWZyKSBjYWRhIHZleiBjb24gbWVub3MgZXNwYWNpbyBoYXN0YSBjb2xhcHNhciBhIDBweCBkZSBhbmNobyBhbnRlcyBkZQogICBsbGVnYXIgYSB1biBicmVha3BvaW50IHRhbiBiYWpvIGNvbW8gNDc1cHggJiM4MjEyOyBsYSBub3RpY2lhIHByaW5jaXBhbAogICBkaXJlY3RhbWVudGUgZGVzYXBhcmVjZSBlbiBlc2EgZnJhbmphIGludGVybWVkaWEgKG5pICJkZXNrIiBjb21wbGV0byBuaQogICAibfN2aWwiIGVzdHJlY2hvKS4gQ29uIDg2MHB4IHNlIHBhc2EgYSB1bmEgc29sYSBjb2x1bW5hIGFwaWxhZGEgYW50ZXMgZGUKICAgcXVlIGVzbyBwdWVkYSBvY3VycmlyLgogICBFc3RlIGJyZWFrcG9pbnQgc2Ugb21pdGUgcG9yIGNvbXBsZXRvIG1pZW50cmFzIGxhIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06QogICBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KTogcGVuc2FkbyBwYXJhIGN1YW5kbyBlbCBt82R1bG8gbGxldmEgc3UKICAgY29sdW1uYSBhIDk2MHB4LCBkZWphIGRlIHRlbmVyIHNlbnRpZG8gZW4gdW5hIGV4cG9ydGFjafNuIGRlIHNvbG8gbGEKICAgbm90aWNpYSBwcmluY2lwYWwgYSB1biBhbmNobyBmaWpvIGVsZWdpZG8gYSBtYW5vICYjODIxMjsgbG9zIGFuY2hvcyBzaW11bGFkb3MKICAgKDYxMy80NjAvMzA3cHgpIGVzdOFuIFRPRE9TIHBvciBkZWJham8gZGUgODYwcHgsIGFz7SBxdWUgc2luIGVzdGUgZ2F0aW5nCiAgIGVsIEhUTUwgZXhwb3J0YWRvIGNhZXLtYSBzaWVtcHJlIGEgbGEgdGlwb2dyYWbtYSAiTfN2aWwiIChjb24gIWltcG9ydGFudCkKICAgc2VhIGN1YWwgc2VhIGxhIHF1ZSBlbCB1c3VhcmlvIGNvbmZpZ3Vy8yBlbiAiRGVzayIgcGFyYSBlc2Egc2ltdWxhY2nzbiwKICAgZGFuZG8gbGEgZmFsc2Egc2Vuc2FjafNuIGRlIHF1ZSB1bmEgY29uZmlndXJhY2nzbiAicGlzYSIgYSBvdHJhLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstNTdqZDR7YmFja2dyb3VuZDpub25lO3BhZGRpbmc6MDt9CiAgLmJsay01N2pkNCAucGFnZXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogIC5ibGstNTdqZDQgLnBhZ2UgLnN0YWNrLXRpdGxlIHtmb250LXNpemU6MThweDsgbGluZS1oZWlnaHQ6IDEuMmVtO30KICAuYmxrLTU3amQ0IC5wYWdlIC5zdGFjay1hdXRob3Ige21hcmdpbi10b3A6IDEwcHg7fQogIC5ibGstNTdqZDQgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2Jsb2NrLXNpemU6NDAwcHggIWltcG9ydGFudDt9CiAgLmJsay01N2pkNCAubGVhZC1tZWRpYXthc3BlY3QtcmF0aW86NC8zICFpbXBvcnRhbnQ7fQogIC5ibGstNTdqZDQgLnBhZ2UgLmxlYWR7b3JkZXI6MX0KICAuYmxrLTU3amQ0IC5wYWdlIC5jb2x1bW57b3JkZXI6Mn0KICAvKiBQb3IgZGViYWpvIGRlbCBicmVha3BvaW50LCBlbCBsZWFkLWJvZHkgc2llbXByZSB2dWVsdmUgYSBpciBkZWJham8gZGVsCiAgICAgbGVhZC1tZWRpYSAobm8gaGF5IHNpdGlvIHBhcmEgZWwgbGF5b3V0IGxhZG8gYSBsYWRvKS4gKi8KICAuYmxrLTU3amQ0IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0LAogIC5ibGstNTdqZDQgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthc3BlY3QtcmF0aW86YXV0bzt9CiAgLmJsay01N2pkNCAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKICAuYmxrLTU3amQ0IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjEgMSBhdXRvO30KICAuYmxrLTU3amQ0IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCiAgLmJsay01N2pkNCAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXtmbGV4OjEgMSBhdXRvO2lubGluZS1zaXplOjkwJTttYXJnaW46LTMwcHggYXV0byAwO2Jsb2NrLXNpemU6YXV0bzthbGlnbi1zZWxmOmF1dG87anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7cGFkZGluZzoxMHB4O30KICAuYmxrLTU3amQ0IC5wYWdlIC5jb2x1bW4taXRlbXtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KICAuYmxrLTU3amQ0IC5wYWdlIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9CiAgLmJsay01N2pkNCAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMjEgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjIxcHggIWltcG9ydGFudDt9CiAgLmJsay01N2pkNCAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMTggLmxlZnQtdGl0bGV7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDt9CiAgLmJsay01N2pkNCAucGFnZSAubGVmdC1wbGF5ewogICAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICAgIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDsKICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4OwogIH0KICAuYmxrLTU3amQ0IC5wYWdlIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICAgIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDBhN2ZmO2JvcmRlci10b3A6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206M3B4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjFweDsKICB9Cn0KLyogVGlwb2dyYWbtYSAiTfN2aWwiIChhbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL3RpdHVsYXJlcyBhbmltYWRvcykgY29uIFNVCiAgIFBST1BJTyBicmVha3BvaW50ICg0ODBweCksIHNlcGFyYWRvIGRlbCBkZSBhcnJpYmEgKDg2MHB4LCBzb2xvIHBhcmEgYXBpbGFyCiAgIGxhIHJlamlsbGEgY29sdW1uYStub3RpY2lhKTogdW4gY29udGVuZWRvciByZWFsIGRlIG1lbm9zIGRlIDg2MHB4IGVzIG11eQogICBoYWJpdHVhbCAocC5lai4gdW5hIGNvbHVtbmEgZGUgYXJ07WN1bG8gZGUgfjcwMHB4KSB5IE5PIGVzIHVuIG3zdmlsICYjODIxMjsgY29uCiAgIHVuIPpuaWNvIGJyZWFrcG9pbnQgY29tcGFydGlkbywgbGEgdGlwb2dyYWbtYSAiRGVzayIgcXVlIGNvbmZpZ3VyYSBlbAogICB1c3VhcmlvIG5vIGxsZWdhYmEgYSB2ZXJzZSBudW5jYSBlbiBlc2UgY2FzbywgY2F5ZW5kbyBzaWVtcHJlIGEgbG9zIHZhbG9yZXMKICAgcG9yIGRlZmVjdG8gZGUgIk3zdmlsIiBzaW4gcXVlIG5hZGllIGxvIGh1YmllcmEgcGVkaWRvLiA0ODBweCBz7SBzZQogICBjb3JyZXNwb25kZSBjb24gdW4gYW5jaG8gZGUgbfN2aWwgcmVhbCAobGEgdmlzdGEgIk3zdmlsIiBkZWwgcHJvcGlvIGdlc3RvcgogICBzaW11bGEgMzc1cHgpLiBJZ3VhbCBxdWUgZWwgYnJlYWtwb2ludCBkZSBhcnJpYmEsIHNlIG9taXRlIGR1cmFudGUgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBkZSBsYSBub3RpY2lhIHByaW5jaXBhbCAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstNTdqZDQgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjEgIWltcG9ydGFudDtjb2xvcjojRkY1MDUwICFpbXBvcnRhbnQ7fQogIC5ibGstNTdqZDQgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiNGRjUwNTAgIWltcG9ydGFudDt9CiAgLmJsay01N2pkNCAubGVhZC10aXRsZXtmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIC5ibGstNTdqZDQgLmxlYWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay01N2pkNCAubGVhZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay01N2pkNCAubGVhZC1raWNrZXItZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay01N2pkNCAubGVhZC1raWNrZXItbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstNTdqZDQgLmxlYWQtc3VidGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay01N2pkNCAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay01N2pkNCAubGVhZC1hbmltLWhlYWRsaW5lc3tmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIAogIC5ibGstNTdqZDQgLnJlbGF0ZWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay01N2pkNCAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9Cn0KLmJsay01N2pkNCAubGVhZHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay01N2pkNCAubGVhZC1tZWRpYXtwb3NpdGlvbjpyZWxhdGl2ZTthc3BlY3QtcmF0aW86MTYvOTtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6aGlkZGVufQovKiBNZWRpYSBtZWRpYW50ZSBpZnJhbWU6IGFsdG8gZmlqbyBlbiBw7XhlbGVzIGVuIHZleiBkZSBsYSBwcm9wb3JjafNuIGRlCiAgIGFycmliYSAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgc3RhdGUubGVhZC5pZnJhbWVIZWlnaHQpICYjODIxMjsgZWwKICAgdmFsb3IgZGUgTfN2aWwgc2Ugc29icmVzY3JpYmUgZW4gZWwgQGNvbnRhaW5lciBkZSBt4XMgYWJham8sIGlndWFsIHF1ZSBlbAogICByZXN0byBkZSBvdmVycmlkZXMgcmVzcG9uc2l2ZSBkZSBlc3RlIEhUTUwgZXhwb3J0YWRvLiAqLwouYmxrLTU3amQ0IC5sZWFkLW1lZGlhLmlzLWlmcmFtZXthc3BlY3QtcmF0aW86bm9uZTtibG9jay1zaXplOjY0MHB4O30KLmJsay01N2pkNCAubGVhZC1tZWRpYSBpbWcsCi5ibGstNTdqZDQgLmxlYWQtbWVkaWEgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyfQovKiBDYXJydXNlbCBkZSBmb3RvcyBkZSBmb25kbyBjb24gZWZlY3RvIEtlbiBCdXJucyAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsCiAgIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLgogICBMYSBkdXJhY2nzbiBkZSBsYXMgYW5pbWFjaW9uZXMgKDZzKSBjb2luY2lkZSBjb24KICAgTEVBRF9DQVJPVVNFTF9JTlRFUlZBTCwgcXVlIHRhbWJp6W4gZ29iaWVybmEgZWwgc2NyaXB0IGRlIHJvdGFjafNuCiAgIChidWlsZExlYWRDYXJvdXNlbFNjcmlwdCkgYfFhZGlkbyBhbCBmaW5hbCBkZWwgSFRNTCBleHBvcnRhZG8uICovCi5ibGstNTdqZDQgLmxlYWQtY2Fyb3VzZWx7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLTU3amQ0IC5sZWFkLWNhcm91c2VsLXNsaWRle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAxLjVzIGVhc2U7fQouYmxrLTU3amQ0IC5sZWFkLWNhcm91c2VsLXNsaWRlLmlzLWFjdGl2ZXtvcGFjaXR5OjE7ei1pbmRleDoxO30KLmJsay01N2pkNCAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO30KLmJsay01N2pkNCAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQob2RkKSBpbWd7YW5pbWF0aW9uOmJsay01N2pkNC1rZW5idXJucy1hIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KLmJsay01N2pkNCAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQoZXZlbikgaW1ne2FuaW1hdGlvbjpibGstNTdqZDQta2VuYnVybnMtYiA2cyBlYXNlLWluLW91dCBmb3J3YXJkczt9CkBrZXlmcmFtZXMgYmxrLTU3amQ0LWtlbmJ1cm5zLWF7IGZyb217dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gdG97dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSgtNCUsLTMlKTt9IH0KQGtleWZyYW1lcyBibGstNTdqZDQta2VuYnVybnMtYnsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKDQlLDMlKTt9IH0KLyogQ29uIHVuYSD6bmljYSBmb3RvIChzaW4gcm90YWNp824gcG9zaWJsZSkgc2UgYXBsaWNhIHVuIHpvb20gaW4vb3V0IGVuCiAgIGJ1Y2xlIGluZmluaXRvIGVuIHZleiBkZWwgcmVjb3JyaWRvIPpuaWNvIChmb3J3YXJkcykgZGUgYXJyaWJhLiAqLwouYmxrLTU3amQ0IC5sZWFkLWNhcm91c2VsLmlzLXNpbmdsZSAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7YW5pbWF0aW9uOmJsay01N2pkNC1rZW5idXJucy1sb29wIDE0cyBlYXNlLWluLW91dCBpbmZpbml0ZTt9CkBrZXlmcmFtZXMgYmxrLTU3amQ0LWtlbmJ1cm5zLWxvb3B7IDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IDUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gMTAwJXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB9Ci8qIENvbXBhcmFkb3IgYW50ZXMvZGVzcHXpcyAoZGVzbGl6YWRvcikgJiM4MjEyOyB2ZXIgZWwgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay01N2pkNCAubGVhZC1jb21wYXJle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3RvdWNoLWFjdGlvbjpub25lO3otaW5kZXg6Mjt9Ci5ibGstNTdqZDQgLmxlYWQtY29tcGFyZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpjZW50ZXI7ZGlzcGxheTpibG9jazt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1kcmFnOm5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5ibGstNTdqZDQgLmxlYWQtY29tcGFyZS1iZWZvcmV7Y2xpcC1wYXRoOmluc2V0KDAgNTAlIDAgMCk7d2lsbC1jaGFuZ2U6Y2xpcC1wYXRoO30KLmJsay01N2pkNCAubGVhZC1jb21wYXJlLXJhbmdle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7bWFyZ2luOjA7b3BhY2l0eTowO2N1cnNvcjpldy1yZXNpemU7fQouYmxrLTU3amQ0IC5sZWFkLWNvbXBhcmUtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6NTAlO2lubGluZS1zaXplOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjI7fQouYmxrLTU3amQ0IC5sZWFkLWNvbXBhcmUtaGFuZGxlOjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7aW5saW5lLXNpemU6MnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgwLDAsMCwuMjUpO30KLmJsay01N2pkNCAubGVhZC1jb21wYXJlLWhhbmRsZTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6LTE1cHg7aW5saW5lLXNpemU6MzBweDtibG9jay1zaXplOjMwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZmZmIHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJz48ZyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J004IDYgTDQgMTAgTDggMTQnLz48cGF0aCBkPSdNMTIgNiBMMTYgMTAgTDEyIDE0Jy8+PC9nPjwvc3ZnPiIpIGNlbnRlci8xNnB4IDE2cHggbm8tcmVwZWF0O2JveC1zaGFkb3c6MCAycHggNnB4IHJnYmEoMCwwLDAsLjI1KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjI1KTt9Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBNaXNtbyB6LWluZGV4OjIgcXVlCiAgIC5sZWFkLWNvbXBhcmUsIHBvciBlbCBtaXNtbyBtb3Rpdm8gKGdhbmFybGUgYSAubGVhZC1saW5rKS4gKi8KLmJsay01N2pkNCAubGVhZC1pZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7ei1pbmRleDoyO30KLmJsay01N2pkNCAubGVhZC1pZnJhbWUgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt9Ci5ibGstNTdqZDQgLmxlYWQtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay01N2pkNCAubGVhZC1ib2R5e3BhZGRpbmc6MHB4IDIwcHggMjBweCAyMHB4OztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgYWxpZ24taXRlbXM6Y2VudGVyOyBwb3NpdGlvbjpyZWxhdGl2ZTsgei1pbmRleDo2OyBwb2ludGVyLWV2ZW50czpub25lOyBpbmxpbmUtc2l6ZTo5NSU7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDphdXRvOyBtYXJnaW4tdG9wOi0zMHB4OyBiYWNrZ3JvdW5kOiMwRTExMUE7IGZsZXg6MSAxIGF1dG87fQovKiBBbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL2F1dG9yIGNlbnRyYWRvcyBlbiB2ZXJ0aWNhbCBkZW50cm8gZGVsIGFsdG8KICAgc29icmFudGUgYmFqbyBsYSBjYXRlZ29y7WEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay01N2pkNCAubGVhZC1ib2R5LW1haW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtpbmxpbmUtc2l6ZToxMDAlO2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDowO30KLyogQXBhcmllbmNpYSBuZWdhdGl2YSAocG9yIGRlZmVjdG8pIHZzLiBwb3NpdGl2YSBkZSBsYSBjYWphIGRlIHRpdHVsYXIgJiM4MjEyOyB2ZXIKICAgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay01N2pkNCAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLWJvZHl7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTt9Ci5ibGstNTdqZDQgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAubGVhZC10aXRsZSwKLmJsay01N2pkNCAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5hdXRob3ItbGFiZWx7Y29sb3I6IzBFMTExQTt9Ci8qIFBvc2ljafNuIGRlbCBsZWFkLWJvZHkgcmVzcGVjdG8gYWwgbGVhZC1tZWRpYSAoJ2xlZnQnLydyaWdodCcpICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstNTdqZDQgLmxlYWQubGVhZC1ib2R5LWxlZnQsCi5ibGstNTdqZDQgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOnJvdzthc3BlY3QtcmF0aW86Mi45NjI5NjI5NjI5NjI5NjM7fQouYmxrLTU3amQ0IC5sZWFkLmxlYWQtYm9keS1sZWZ0e2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO30KLmJsay01N2pkNCAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKLmJsay01N2pkNCAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtbWVkaWF7ZmxleDowIDAgNjAlO30KLmJsay01N2pkNCAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5LAouYmxrLTU3amQ0IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e2ZsZXg6MCAwIGNhbGMoNDAlICsgMzBweCk7aW5saW5lLXNpemU6YXV0bzttYXJnaW4tdG9wOjA7YmxvY2stc2l6ZTpjYWxjKDEwMCUgLSA0MnB4KTthbGlnbi1zZWxmOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDt9Ci5ibGstNTdqZDQgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDotMzBweDt9Ci5ibGstNTdqZDQgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXJpZ2h0OjA7fQovKiBQb3NpY2nzbiAnYm90dG9tLWZ1bGwnIGRlbCBsZWFkLWJvZHkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gaW5saW5lLXNpemUKICAgZW4gdmV6IGRlIHdpZHRoIHBvciBlbCBtaXNtbyBtb3Rpdm8gcXVlIGVsIHJlc3RvIGRlIGVzdGUgYmxvcXVlIChldml0YXIKICAgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbCB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MKICAgZGlyZWN0YW1lbnRlKS4gKi8KLmJsay01N2pkNCAubGVhZC5sZWFkLWJvZHktYm90dG9tLWZ1bGwgLmxlYWQtYm9keXsKICBpbmxpbmUtc2l6ZToxMDAlOwogIG1hcmdpbjowOwogIHBhZGRpbmctdG9wOjMwcHg7CiAgcGFkZGluZy1ib3R0b206MzBweDsKICBib3JkZXI6bm9uZTsKfQovKiBFdGlxdWV0YSBkZSBleGNsdXNpdmEgKG8gdGV4dG8gcGVyc29uYWxpemFkbykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay01N2pkNCAubGVhZC1leGNsdXNpdmUtdGFne3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDt6LWluZGV4OjM7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtsZXR0ZXItc3BhY2luZzowLjVweDtwYWRkaW5nOjJweCA4cHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZmZmO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtwb2ludGVyLWV2ZW50czpub25lO30KLyogU2VsZWN0b3IgY29uIDMgY2xhc2VzICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEgKCIubGVhZC1tZWRpYSBpbWciIHRhbWJp6W4KICAgbWF0Y2hlYSBlc3RlIDxpbWc+IHkgbGUgZ2FuYWJhIGVuIGVzcGVjaWZpY2lkYWQpLiAqLwouYmxrLTU3amQ0IC5sZWFkLWV4Y2x1c2l2ZS10YWcgLmxlYWQtZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLTU3amQ0IC5sZWFkLWNhdHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3BhZGRpbmc6MnB4IDhweDt0cmFuc2Zvcm06c2tld1koLTZkZWcpO21hcmdpbi10b3A6LTE1cHg7bWFyZ2luLWJvdHRvbToxMHB4O30KLmJsay01N2pkNCAubGVhZC1raWNrZXIsIC5ibGstNTdqZDQgLmxlYWQtc3VidGl0bGV7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO3RleHQtdHJhbnNmb3JtOm5vbmU7bWFyZ2luOjA7Cn0KLmJsay01N2pkNCAubGVhZC1raWNrZXJ7Zm9udC13ZWlnaHQ6NzAwO30KLmJsay01N2pkNCAubGVhZC1zdWJ0aXRsZXtmb250LXdlaWdodDo2MDA7fQovKiBUYW1h8W8vaW50ZXJsaW5lYWRvL2NvbG9yIGRlIGFudGV07XR1bG8geSBzdWJ07XR1bG8gZW4gRGVzayAodmFsb3JlcyBwb3IKICAgZGVmZWN0byBkZWwgYmxvcXVlOyBlbCBvdmVycmlkZSBkZSBN83ZpbCB2YSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywKICAgeWEgcXVlIGVsIEhUTUwgZXhwb3J0YWRvIGVzIHJlc3BvbnNpdmUgeSBubyBkZXBlbmRlIGRlIHF16SB2aXN0YSB0dXZpZXJhcwogICBzZWxlY2Npb25hZGEgZW4gZWwgZ2VzdG9yIGFsIGV4cG9ydGFyL2NvcGlhcikuICovCi5ibGstNTdqZDQgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiNGRjUwNTA7fQouYmxrLTU3amQ0IC5sZWFkLXN1YnRpdGxle2ZvbnQtc2l6ZToxLjMxMjVyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiNGRjUwNTA7fQovKiB0ZXh0LXdyYXA6YmFsYW5jZSAmIzgyMTI7IG1pc21vIGNyaXRlcmlvIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlbCBnZXN0b3IgKHZlciBjb21lbnRhcmlvIGRldGFsbGFkbyBqdW50byBhIGVzYSByZWdsYSk6IHJlcGFydGUgbGFzCiAgIGztbmVhcyBkZWwgdGl0dWxhciBkZSBmb3JtYSBt4XMgdW5pZm9ybWUgZGVudHJvIGRlIGNhZGEgZGlzcG9zaXRpdm8sIHNpbgogICBwcmV0ZW5kZXIgaWd1YWxhciBlbCBu+m1lcm8gZGUgbO1uZWFzIGVudHJlIHBsYXRhZm9ybWFzIGRpc3RpbnRhcy4gKi8KLmJsay01N2pkNCAubGVhZC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjE7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt0ZXh0LXdyYXA6YmFsYW5jZTt9Ci8qIFRpdHVsYXIgY29uIHNhbHRvcyBkZSBs7W5lYSBpbmRlcGVuZGllbnRlcyBwb3IgdmlzdGEgKHZlciBidWlsZFNjb3BlZEhUTUwpOgogICBzZSBnZW5lcmFuIGxvcyBkb3MgdGV4dG9zIChEZXNrL03zdmlsKSB5IGFxde0gc2UgbXVlc3RyYSBzb2xvIHVubyBzZWf6biBlbAogICBhbmNobyByZWFsIGRlbCBjb250ZW5lZG9yICYjODIxMjsgZWwgbWlzbW8gbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIHlhIHVzYSBlbAogICByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8gcGFyYSBhZGFwdGFyc2Ugc2luIGRlcGVuZGVyIGRlIEpTLiAqLwouYmxrLTU3amQ0IC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQovKiBBbnRldO10dWxvL3N1YnTtdHVsbyBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YTogbWlzbW8KICAgbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgKHZlciBhcnJpYmEpLiAqLwouYmxrLTU3amQ0IC5sZWFkLWtpY2tlci1tb2JpbGUsIC5ibGstNTdqZDQgLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIFRpdHVsYXIgZGUgbm90aWNpYSByZWxhY2lvbmFkYSAoY29sdW1uYSkgY29uIHRleHRvIHByb3BpbyBlbiBN83ZpbCAodmVyCiAgIGl0ZW0udGl0bGVNb2JpbGUgZW4gYnVpbGRDb2x1bW5JdGVtVGl0bGVIVE1MKTogbWlzbW8gbWVjYW5pc21vIGRlCiAgIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgcHJpbmNpcGFsIGRlIGFycmliYS4gKi8KLmJsay01N2pkNCAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLmJsay01N2pkNCAuYXV0aG9yLWxhYmVse2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpyaWdodDtkaXNwbGF5OmJsb2NrfQouYmxrLTU3amQ0IC5jb2x1bW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47fQouYmxrLTU3amQ0IC5jb2x1bW4taXRlbXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQouYmxrLTU3amQ0IC50aHVtYntwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzo0LzM7YmFja2dyb3VuZDojZWVlO292ZXJmbG93OmhpZGRlbn0KLmJsay01N2pkNCAudGh1bWIgaW1nLAouYmxrLTU3amQ0IC50aHVtYiB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci5ibGstNTdqZDQgLnRodW1iIC5wbGF5LXNxdWFyZSwKLmJsay01N2pkNCAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmV7CiAgcG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTo1cHg7IGxlZnQ6NXB4OwogIGlubGluZS1zaXplOjI1cHg7YmxvY2stc2l6ZToyNXB4O2JvcmRlci1yYWRpdXM6MnB4O2Rpc3BsYXk6aW5saW5lLWdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyOwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjE4KTsKICBjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cywgdHJhbnNmb3JtIC4xMnM7CiAgei1pbmRleDoyOyBhbmltYXRpb246YmxrLTU3amQ0LWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGstNTdqZDQgLnRodW1iIC5wbGF5LXNxdWFyZTo6YmVmb3JlLAouYmxrLTU3amQ0IC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo2cHggc29saWQgI2ZmZjtib3JkZXItdG9wOjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjVweCBzb2xpZCB0cmFuc3BhcmVudDsKICBtYXJnaW4tbGVmdDoycHg7Cn0KLmJsay01N2pkNCAudGh1bWIgLnBsYXktc3F1YXJlOmhvdmVyLAouYmxrLTU3amQ0IC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTpob3ZlcnsgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuODUpOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTsgfQouYmxrLTU3amQ0IC5zdGFjay10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjEuMTVlbTttYXJnaW46MDtjb2xvcjojMmMzZTUzO30KLmJsay01N2pkNCAuc3RhY2stYXV0aG9ye2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtYm9vayIsc2Fucy1zZXJpZjtjb2xvcjojODI4NTk1O2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxMXB4O2xldHRlci1zcGFjaW5nOjA7dGV4dC1hbGlnbjpyaWdodDt9Ci8qIFNpbiBlc3RhIHJlZ2xhIGVsIGF1dG9yIHF1ZWRhIHBlZ2FkbyBqdXN0byBkZWJham8gZGVsIHRpdHVsYXIgZW4gdmV6IGRlCiAgIGFiYWpvIGRlIGxhIHRhcmpldGE6IC5tb2Qtc3RhY2sgbmVjZXNpdGEgc2VyIGZsZXgtY29sdW1uIGNvbgogICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiBwYXJhIHF1ZSBlbCBodWVjbyBzb2JyYW50ZSAoY3VhbmRvIGxhCiAgIHRhcmpldGEgY3JlY2UgbeFzIHF1ZSBzdSBjb250ZW5pZG8sIHZlciAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spCiAgIG3hcyBhYmFqbykgZW1wdWplIGVsIGF1dG9yIGhhY2lhIGVsIGJvcmRlIGluZmVyaW9yLiAqLwouYmxrLTU3amQ0IC5tb2Qtc3RhY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtmbGV4OjEgMSBhdXRvO30KLyogRXN0aWxvICJmb3RvIHBlcXVl8WEgKyB0aXR1bGFyIjogZm90byA0OjMgYSBsYSBpenF1aWVyZGEsIHRleHRvIGEgbGEgZGVyZWNoYS4gKi8KLmJsay01N2pkNCAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLWxlZnR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxMTBweCAxZnI7Z2FwOjEwcHg7fQovKiBFc3RpbG8gInNvbG8gdGV4dG8iIChwb3IgZGVmZWN0byk6IGVsIGF1dG9yIHNlIHBvc2ljaW9uYSBlbiBhYnNvbHV0bywKICAgYW5jbGFkbyBhIGxhIGVzcXVpbmEgaW5mZXJpb3IgZGVyZWNoYSBkZSBsYSB0YXJqZXRhIChpZ3VhbCBxdWUgZWwgcGxheSBkZQogICBsYXMgbWluaWF0dXJhcyksIGVuIHZleiBkZSBkZXBlbmRlciBkZSBxdWUgZWwgYmxvcXVlIGRlIHRleHRvIHRlbmdhIGh1ZWNvCiAgIGRlIHNvYnJhIHBhcmEgZW1wdWphcmxvIGFiYWpvIGNvbiBmbGV4Ym94ICYjODIxMjsgY29uIHTtdHVsb3MgZGUgMi0zIGztbmVhcyBlc2UKICAgaHVlY28gbm8gZXhpc3RlIHkgZWwgYXV0b3IgbnVuY2EgbGxlZ2FiYSBhIGJhamFyLiBwYWRkaW5nLWJvdHRvbSBlbgogICBsZWZ0LWJvZHkgcmVzZXJ2YSBlbCBlc3BhY2lvIHBhcmEgcXVlIGVsIHTtdHVsbyBubyBzZSBzb2xhcGUgY29uIOlsLiAqLwouYmxrLTU3amQ0IC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAubGVmdC1ib2R5e3BhZGRpbmctYm90dG9tOjMzcHg7fQouYmxrLTU3amQ0IC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAuc3RhY2stYXV0aG9ye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7Ym90dG9tOjEwcHg7bWFyZ2luLXRvcDowO30KLmJsay01N2pkNCAubGVmdC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjEuMTU7Y29sb3I6IzJjM2U1MzttYXJnaW46MDt0ZXh0LWFsaWduOmxlZnQ7fQouYmxrLTU3amQ0IC5sZWZ0LXBsYXl7CiAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICBiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjMDBhN2ZmOwogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206IDRweDsKfQouYmxrLTU3amQ0IC5sZWZ0LXBsYXk6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4Owp9Ci5ibGstNTdqZDQgLnJlbGF0ZWQtbGl2ZS10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkY1MDUwOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkY1MDUwOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLTU3amQ0IC5yZWxhdGVkLWVkaXRvcmlhbC10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkFCMTIxOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkFCMTIxOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLTU3amQ0IC5wbGF5LWJ1dHRvbnsKICAvKiBBbmNoby9hbHRvIGZpam9zIGVuIHZleiBkZSBhc3BlY3QtcmF0aW86MS8xICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoZWwKICAgICBj4WxjdWxvIGRlICJzaHJpbmstdG8tZml0IiBwYXJhIHVuIDxidXR0b24+IGVuIGFic29sdXRvIHNpbiB0YW1h8W8KICAgICBleHBs7WNpdG8gbm8gZXMgZmlhYmxlIGVudHJlIG1vdG9yZXM7IGVuIFdlYktpdC9pT1MgZGFiYSB1biByZWN04W5ndWxvCiAgICAgdmVydGljYWwgZXN0cmVjaO1zaW1vIGVuIHZleiBkZSB1biBjdWFkcmFkbykuICovCiAgYXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOwogIHBvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDsKICBpbmxpbmUtc2l6ZTozNHB4O2Jsb2NrLXNpemU6MzRweDsKICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxMHB4IDEwcHggMTBweCAxMnB4OwogIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNyk7CiAgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC40Mik7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjNweDsKICBjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7YW5pbWF0aW9uOmJsay01N2pkNC1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLTU3amQ0IC5wbGF5LWJ1dHRvbi5wb3MtdG9wLXJpZ2h0e3RvcDoxMHB4O3JpZ2h0OjEwcHg7bGVmdDphdXRvO2JvdHRvbTphdXRvO30KLmJsay01N2pkNCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1sZWZ0e2JvdHRvbToxMHB4O2xlZnQ6MTBweDt0b3A6YXV0bztyaWdodDphdXRvO30KLmJsay01N2pkNCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1yaWdodHtib3R0b206MTBweDtyaWdodDoxMHB4O3RvcDphdXRvO2xlZnQ6YXV0bzt9Ci8qIENvbiBlbCB0ZXh0byAobGVhZC1ib2R5KSBhIGxhIGl6cXVpZXJkYSBvIGxhIGRlcmVjaGEsIGVzZSBibG9xdWUgc29sYXBhCiAgIDMwcHggZGVsIGxhZG8gZGUgbGEgZm90by927WRlbyBwZWdhZG8gYSDpbCAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTU3amQ0IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5wbGF5LWJ1dHRvbi5wb3MtdG9wLWxlZnQsCi5ibGstNTdqZDQgLmxlYWQubGVhZC1ib2R5LWxlZnQgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tbGVmdHsgbGVmdDo0MHB4OyB9Ci5ibGstNTdqZDQgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5wbGF5LWJ1dHRvbi5wb3MtdG9wLXJpZ2h0LAouYmxrLTU3amQ0IC5sZWFkLmxlYWQtYm9keS1yaWdodCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1yaWdodHsgcmlnaHQ6NDBweDsgfQovKiBQb3NpY2nzbiAnYm90dG9tJyBwb3IgZGVmZWN0bzogZWwgbGVhZC1ib2R5IHNvbGFwYSAzMHB4IHNvYnJlIGVsIGJvcmRlCiAgIElORkVSSU9SIGRlIGxhIGZvdG8vdu1kZW8gJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGNvbiAnYm90dG9tLWZ1bGwnCiAgIG5pIGNvbiAnbGVmdCcvJ3JpZ2h0JyAoYWp1c3RlIGhvcml6b250YWwgcHJvcGlvLCB2ZXIgYXJyaWJhKS4gKi8KLmJsay01N2pkNCAubGVhZDpub3QoLmxlYWQtYm9keS1sZWZ0KTpub3QoLmxlYWQtYm9keS1yaWdodCk6bm90KC5sZWFkLWJvZHktYm90dG9tLWZ1bGwpIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLWxlZnQsCi5ibGstNTdqZDQgLmxlYWQ6bm90KC5sZWFkLWJvZHktbGVmdCk6bm90KC5sZWFkLWJvZHktcmlnaHQpOm5vdCgubGVhZC1ib2R5LWJvdHRvbS1mdWxsKSAucGxheS1idXR0b24ucG9zLWJvdHRvbS1yaWdodHsgYm90dG9tOjQwcHg7IH0KLmJsay01N2pkNCAucGxheS1idXR0b24gLnBsYXktaWNvbnsKICBpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDoxMHB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgdHJhbnNwYXJlbnQ7Cn0KLmJsay01N2pkNCAucGxheS1idXR0b24gLnBsYXktdGV4dHtkaXNwbGF5Om5vbmU7fQoKLyogVGl0dWxhcmVzIGFuaW1hZG9zIChjYXBhIGFsdGVybmF0aXZhIHNvYnJlIGxlYWQtbWVkaWEpICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEKICAgaGVycmFtaWVudGEuIENhZGEgdGl0dWxhciB0aWVuZSBzdSBwcm9waWEgcG9zaWNp824gKGNsYXNlIHBvcy0qLCB2ZXIKICAgYnVpbGRTY29wZWRIVE1MKSB5IHNlIHJldmVsYSBs7W5lYSBwb3IgbO1uZWEgKHVuYSB2ZXogbWVkaWRhcyBzdXMgbO1uZWFzCiAgIHJlYWxlcyBwb3IgZWwgc2NyaXB0IHN0YW5kYWxvbmUsIHZlciBidWlsZEFuaW1IZWFkbGluZXNTY3JpcHQpIGNvbiB1bmEKICAgY2FqYSBkZSBmb25kbyBkZXRy4XMgZGUgY2FkYSBs7W5lYSB5IHVuIGZhZGUgZGUgb3BhY2lkYWQgZW50cmUgdGl0dWxhcmVzLiAqLwouYmxrLTU3amQ0IC5sZWFkLWFuaW0taGVhZGxpbmVzewogIHBvc2l0aW9uOmFic29sdXRlOwogIGluc2V0OjA7CiAgei1pbmRleDo0OwogIHBvaW50ZXItZXZlbnRzOm5vbmU7Cn0KLmJsay01N2pkNCAubGVhZC1hbmltLWhlYWRsaW5lewogIHBvc2l0aW9uOmFic29sdXRlOwogIGxlZnQ6MTVweDsKICBvcGFjaXR5OjA7Cn0KLmJsay01N2pkNCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tbGVmdHsgYm90dG9tOjYwcHg7IH0KLmJsay01N2pkNCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtbGVmdHsgdG9wOjYwcHg7IH0KLmJsay01N2pkNCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtbGVmdHsgdG9wOjUwJTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IH0KLmJsay01N2pkNCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQsCi5ibGstNTdqZDQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0LAouYmxrLTU3amQ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgbGVmdDphdXRvOyByaWdodDoxNXB4OyB9Ci5ibGstNTdqZDQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0eyB0b3A6NjBweDsgfQouYmxrLTU3amQ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodHsgdG9wOjUwJTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IH0KLmJsay01N2pkNCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IGJvdHRvbTo2MHB4OyB9Ci8qIENvbiBlbCB0ZXh0byAobGVhZC1ib2R5KSBhIGxhIGl6cXVpZXJkYSBvIGxhIGRlcmVjaGEsIGVzZSBibG9xdWUgc29sYXBhCiAgIDMwcHggZGVsIGxhZG8gZGUgbGEgZm90by927WRlbyBwZWdhZG8gYSDpbCAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTU3amQ0IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1sZWZ0LAouYmxrLTU3amQ0IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1sZWZ0LAouYmxrLTU3amQ0IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1sZWZ0eyBsZWZ0OjQwcHg7IH0KLmJsay01N2pkNCAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0LAouYmxrLTU3amQ0IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQsCi5ibGstNTdqZDQgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgcmlnaHQ6NDBweDsgfQouYmxrLTU3amQ0IC5sZWFkLWFuaW0taGVhZGxpbmUuaXMtYWN0aXZleyBvcGFjaXR5OjE7IH0KLmJsay01N2pkNCAubGVhZC1hbmltLWxpbmV7CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgZGlzcGxheTp0YWJsZTsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7CiAgZm9udC13ZWlnaHQ6OTAwOwogIGNvbG9yOiNmZmY7CiAgcGFkZGluZzoycHggOHB4OwogIGNsaXAtcGF0aDppbnNldCgwIDEwMCUgMCAwKTsKICBvcGFjaXR5OjE7CiAgdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgZWFzZTsKfQouYmxrLTU3amQ0IC5sZWFkLWFuaW0tbGluZS5pcy1oaWRpbmd7IG9wYWNpdHk6MDsgfQovKiBTb2xhcGUgZGUgMXB4IGVudGVyYSBlbnRyZSBs7W5lYXMgcGFyYSBjZXJyYXIgZWwgaGlsbyBkZSBzdWItcO14ZWwgcXVlCiAgIHB1ZWRlIHF1ZWRhciBlbnRyZSBzdXMgY2FqYXMgZGUgZm9uZG8gKHJlZG9uZGVvIGRlIGFsdHVyYXMgZnJhY2Npb25hcmlhcykgJiM4MjEyOwogICB2ZXIgbWlzbW8gY29tZW50YXJpbywgZGV0YWxsYWRvLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLTU3amQ0IC5sZWFkLWFuaW0tbGluZSArIC5sZWFkLWFuaW0tbGluZXsKICBtYXJnaW4tdG9wOi0xcHg7Cn0KLmJsay01N2pkNCAubGVhZC1hbmltLWxpbmU6Zmlyc3QtY2hpbGR7IHBhZGRpbmctdG9wOjZweDsgfQouYmxrLTU3amQ0IC5sZWFkLWFuaW0tbGluZTpsYXN0LWNoaWxkeyBwYWRkaW5nLWJvdHRvbTo2cHg7IH0KLmJsay01N2pkNCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQgLmxlYWQtYW5pbS1saW5lLAouYmxrLTU3amQ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGstNTdqZDQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0IC5sZWFkLWFuaW0tbGluZXsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OjA7IH0KLmJsay01N2pkNCAubGVhZC1hbmltLWhlYWRsaW5lcy5pcy1wb3NpdGl2ZSAubGVhZC1hbmltLWxpbmV7IGNvbG9yOiMwRTExMUE7IH0KLmJsay01N2pkNCAubGVhZC1hbmltLWxpbmUtYmd7IHBvc2l0aW9uOmFic29sdXRlOyBpbnNldDowOyB6LWluZGV4Oi0xOyB9Ci5ibGstNTdqZDQgLmxlYWQtYW5pbS1saW5lLXRleHR7IHBvc2l0aW9uOnJlbGF0aXZlOyB9CkBrZXlmcmFtZXMgYmxrLTU3amQ0LWFuaW0tbGluZS1yZXZlYWx7IHRveyBjbGlwLXBhdGg6aW5zZXQoMCAwIDAgMCk7IH0gfQoKLyogQW5jaG9yIG92ZXJsYXkgZm9yIGZ1bGwgY2xpY2thYmxlIGxlYWQgKi8KLmJsay01N2pkNCAubGVhZC1saW5re3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxfQoKLyogSG92ZXIgb3BhY2l0eSBhbmltYXRpb24gKi8KLmJsay01N2pkNCAubGVhZDpob3ZlciAubGVhZC10aXRsZSwKLmJsay01N2pkNCAuY29sdW1uLWl0ZW06aG92ZXJ7b3BhY2l0eTouOH0KLyogRm90byBwcmluY2lwYWwgKGZhbGxiYWNrL3NpbmdsZSkgbyBjYXJydXNlbCBkZSBmb3Rvczogb3BhY2lkYWQgMC45IGFsCiAgIHBhc2FyIGVsIHJhdPNuIHBvciBsYSB0YXJqZXRhICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuCiAgIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE5vIGFwbGljYSBhIHbtZGVvIG5pIGFsCiAgIGNvbXBhcmFkb3IgYW50ZXMvZGVzcHXpcy4gKi8KLmJsay01N2pkNCAubGVhZC1tZWRpYSA+IGltZywKLmJsay01N2pkNCAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt9Ci5ibGstNTdqZDQgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiBpbWcsCi5ibGstNTdqZDQgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHtvcGFjaXR5Oi45O30KLyogRW4gZWwgYW5jaG8gbfN2aWwgKG1pc21vIEBjb250YWluZXIgcXVlIGVsIHJlc3RvIGRlbCBIVE1MIGV4cG9ydGFkbykgbm8KICAgYXBsaWNhIGVzdGEgYW5pbWFjafNuIGRlIG9wYWNpZGFkIHNvYnJlIGxhIG5vdGljaWEgcHJpbmNpcGFsOiB2YSBERVNQVclTCiAgIGRlIGxhIHJlZ2xhIGdlbmVyYWwgZGUgYXJyaWJhIChtaXNtYSBlc3BlY2lmaWNpZGFkKSBwYXJhIHBvZGVyIGdhbmFybGUuCiAgIE9taXRpZG8sIGlndWFsIHF1ZSBlbCBibG9xdWUgZGUgdGlwb2dyYWbtYSBkZSBhcnJpYmEsIG1pZW50cmFzIGxhCiAgIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06SBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsKICAuYmxrLTU3amQ0IC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAogIC5ibGstNTdqZDQgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiBpbWcsCiAgLmJsay01N2pkNCAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6MTt9Cn0KCi8qIEFuaW1hY2nzbiBjb21wYXJ0aWRhIHBsYXkgcHJpbmNpcGFsICsgY3VhZHJhZG9zIHBsYXkgYXBpbGFkYXMgKi8KQGtleWZyYW1lcyBibGstNTdqZDQtYmxpbmt7CiAgMCUsMTAwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC43KX0KICA1MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTY1LDI1NSwwLjkpfQp9Ci8qIENhYmVjZXJhICovCi5ibGstNTdqZDQgLmJnLXNlY3Rpb24tdGl0bGV7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46MTBweCAwIDMycHh9Ci5ibGstNTdqZDQgLmZuZC1saW5lYXtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6NXB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luLXRvcDotMThweDtib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzN9Ci5ibGstNTdqZDQgLnNlY3Rpb24tdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjRweCAxM3B4O2JvcmRlcjoxcHggc29saWQgIzBFMTExQTt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyk7Zm9udC1zaXplOjQycHg7Y29sb3I6IzBFMTExQTt9CkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7LmJsay01N2pkNCAuc2VjdGlvbi10aXRsZXtmb250LXNpemU6MjdweDtwYWRkaW5nOjAgMTBweH19Ci8qIENhYmVjZXJhICYjODIxMjsgRGlzZfFvIDIgKHRpdHVsYXIgKyBjYXJydXNlbCBkZSBsb2dvdGlwb3MpICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwKICAgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstNTdqZDQgLmhlYWRlcjJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MjBweDtwYWRkaW5nLWJvdHRvbTo1cHg7bWFyZ2luLWJvdHRvbToxMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMwRTExMUE7fQovKiBhbGlnbi1zZWxmOmZsZXgtZW5kIGZpamEgZWwgdGl0dWxhciBTSUVNUFJFIGEgMTVweCBkZSBsYSBs7W5lYSBzZXBhcmFkb3JhCiAgIGVuIERlc2sgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zCiAgIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay01N2pkNCAuaGVhZGVyMi1sZWZ0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7ZmxleDoxIDEgNTAlO21pbi1pbmxpbmUtc2l6ZTowO2FsaWduLXNlbGY6ZmxleC1lbmQ7fQouYmxrLTU3amQ0IC5oZWFkZXIyLXRhZ3N7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZsZXg6MCAwIGF1dG87fQovKiBNaXNtbyB0YW1h8W8vdGlwb2dyYWbtYSBxdWUgLmxlYWQtZXhjbHVzaXZlLXRhZyAobGEgZGUgbGEgbm90aWNpYQogICBwcmluY2lwYWwpICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUKICAgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstNTdqZDQgLmhlYWRlcjItY2F0LXRhZywKLmJsay01N2pkNCAuaGVhZGVyMi1leGNsdXNpdmUtdGFne2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOi44ZW07bGV0dGVyLXNwYWNpbmc6LjVweDtwYWRkaW5nOjJweCA4cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3doaXRlLXNwYWNlOm5vd3JhcDtjb2xvcjojZmZmO30KLmJsay01N2pkNCAuaGVhZGVyMi1leGNsdXNpdmUtdGFnLWljb257cG9zaXRpb246c3RhdGljO2luc2V0OmF1dG87aW5saW5lLXNpemU6MTRweDtibG9jay1zaXplOjE0cHg7b2JqZWN0LWZpdDpjb250YWluO2ZsZXg6MCAwIGF1dG87ZGlzcGxheTpibG9jazt9Ci5ibGstNTdqZDQgLmhlYWRlcjItdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDtmb250LXNpemU6MzZweDtsaW5lLWhlaWdodDoxLjA1O2NvbG9yOiMwRTExMUE7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO21pbi1pbmxpbmUtc2l6ZTowO292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt9Ci8qIFNlcGFyYWNp824gZGUgMTBweCBlbnRyZSBlbCB0ZXh0byBkZSBwYXRyb2NpbmlvIHkgZWwgbG9nbyBlbiBEZXNrICYjODIxMjsgZW4KICAgTfN2aWwgc2lndWUgc2luIHNlcGFyYWNp824gKGdhcDowLCB2ZXIgQGNvbnRhaW5lciBt4XMgYWJham8pLiAqLwouYmxrLTU3amQ0IC5oZWFkZXIyLWxvZ29zLXdyYXB7ZmxleDowIDAgYXV0bzttYXgtaW5saW5lLXNpemU6NTAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO30KLyogRXRpcXVldGEgb3BjaW9uYWwganVudG8gYWwgY2FycnVzZWwgZGUgbG9nb3MgKHAuZWouICJQYXRyb2NpbmFkbyBwb3I6IikgJiM4MjEyOwogICB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbAogICBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay01N2pkNCAuaGVhZGVyMi1sb2dvcy1sYWJlbHtmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo0MDA7Y29sb3I6IzY2Nzt3aGl0ZS1zcGFjZTpub3dyYXA7fQouYmxrLTU3amQ0IC5oZWFkZXIyLWxvZ29ze3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjE2MHB4O2Jsb2NrLXNpemU6NTBweDtmbGV4LXNocmluazowO30KLmJsay01N2pkNCAuaGVhZGVyMi1sb2dvcyBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDttYXJnaW46YXV0bzttYXgtaW5saW5lLXNpemU6MTAwJTttYXgtYmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y29udGFpbjtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC43cyBlYXNlLWluLW91dDt9Ci5ibGstNTdqZDQgLmhlYWRlcjItbG9nb3MgaW1nLmlzLWFjdGl2ZXtvcGFjaXR5OjE7fQovKiBJZ3VhbCBxdWUgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbDogcG9yIGRlYmFqbyBkZSBlc3RlIGFuY2hvIHNlCiAgIGludGVudGEgcHJpbWVybyAxIFNPTEEgRklMQSAoZXRpcXVldGFzK3RpdHVsYXIganVudG8gYWwgbG9nbywgaWd1YWwgcXVlCiAgIGVuIERlc2ssIGEgdGFtYfFvIHJlZHVjaWRvKS4gRWwgYmxvcXVlIGRlIGxvZ29zIG1hbnRpZW5lIFNJRU1QUkUgc3UKICAgZGlzcG9zaWNp824gZW4gY29sdW1uYSAoZXRpcXVldGEgZGUgcGF0cm9jaW5pbyBlbmNpbWEgZGVsIGxvZ28sCiAgIGFsaW5lYWRvcyBhIGxhIGRlcmVjaGEsIHNpbiBzZXBhcmFjafNuKSB0YW50byBlbiBlc3RhIGZpbGEg+m5pY2EgY29tbyBlbgogICBlbCByZXNndWFyZG8gZGUgYWJham8uIFNpIGVsIHRpdHVsYXIsIHN1bWFkbyBhbCBhbmNobyBkZSBsYXMgZXRpcXVldGFzCiAgIGFjdGl2YXMgKGNhdGVnb3LtYSB5L28gZXhjbHVzaXZhLCBzaSBsYXMgaGF5KSwgc3VwZXJhIGVsIDU1JSBkZWwgYW5jaG8KICAgdG90YWwgZGUgbGEgY2FiZWNlcmEgKGNhZGEgdW5vIG1lZGlkbyBhIHVuYSBzb2xhIGztbmVhKSwgZWwgc2NyaXB0CiAgIHN0YW5kYWxvbmUgYfFhZGlkbyBhbCBmaW5hbCBkZSBlc3RlIEhUTUwgKHZlcgogICBidWlsZEhlYWRlcjJTdGFja2luZ1NjcmlwdCgpKSBsbyBkZXRlY3RhIG1pZGllbmRvIHN1IGFuY2hvIG5hdHVyYWwKICAgeSBh8WFkZSBsYSBjbGFzZSAiaGVhZGVyMi1zdGFja2VkIjogZWwgYmxvcXVlIGRlCiAgIGxvZ29zIHN1YmUgZW50b25jZXMgYSBzdSBwcm9waWEgZmlsYSAoYWxpbmVhZG8gYSBsYSBkZXJlY2hhKSB5CiAgIHRpdHVsYXIrZXRpcXVldGFzIGJhamFuIGEgbGEgZmlsYSBkZSBhYmFqbywgYSBhbmNobyBjb21wbGV0byAmIzgyMTI7IG1pc21vCiAgIGxheW91dCBkZSAyIGZpbGFzIHF1ZSBoYWLtYSBhbnRlcyBzaWVtcHJlIHBvciBkZWJham8gZGUgZXN0ZSBicmVha3BvaW50LAogICBhaG9yYSBzb2xvIGNvbW8gcmVzZ3VhcmRvLiBEZW50cm8gZGUgZXNlIHJlc2d1YXJkbywgY29uIGV0aXF1ZXRhKHMpIGVsCiAgIHRpdHVsYXIgcGFzYSBhZGVt4XMgYSBzdSBQUk9QSUEgZmlsYSBhIGFuY2hvIGNvbXBsZXRvLCBkZWJham8gZGUgbGEgZmlsYSBkZSBldGlxdWV0YXMgKHZlcgogICAiLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sZWZ0IiBt4XMgYWJham8pLiBFbCBsb2dvIHNlIHJlZHVjZSB1biAyMCUKICAgKDE2MHg1MCAmIzg1OTQ7IDEyOHg0MCkuCiAgIGFsaWduLXNlbGY6ZmxleC1lbmQgZW4gaGVhZGVyMi1sZWZ0IGZpamEgZWwgdGl0dWxhciBTSUVNUFJFIGEgbG9zIDEwcHgKICAgZGVsIHBhZGRpbmctYm90dG9tIHJlc3BlY3RvIGEgbGEgbO1uZWEgc2VwYXJhZG9yYSAmIzgyMTI7IG1pc21vIGNyaXRlcmlvIHF1ZQogICBlbiBEZXNrICh2ZXIgaGVhZGVyMi1sZWZ0IG3hcyBhcnJpYmEpOiBzaW4gZXN0bywgYWwgc2VyIGVsIGJsb3F1ZSBkZQogICBsb2dvcyBt4XMgYWx0byBxdWUgZWwgdGl0dWxhciwgZWwgY2VudHJhZG8gdmVydGljYWwgZGVsIHJvdyBkZWphYmEgdW4KICAgaHVlY28gbWF5b3IgZW50cmUgZWwgdGl0dWxhciB5IGxhIGztbmVhLiBFbCBibG9xdWUgZGUgbG9nb3Mgc2lndWUKICAgY2VudHJhZG8gKHNpbiBlc2Ugb3ZlcnJpZGUpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstNTdqZDQgLmhlYWRlcjJ7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nLWxlZnQ6MTBweDtwYWRkaW5nLXJpZ2h0OjEwcHg7cGFkZGluZy1ib3R0b206MTBweDt9CiAgLmJsay01N2pkNCAuaGVhZGVyMi1sZWZ0e29yZGVyOjE7YWxpZ24tc2VsZjpmbGV4LWVuZDt9CiAgLmJsay01N2pkNCAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjI7YWxpZ24tc2VsZjpjZW50ZXI7bWF4LWlubGluZS1zaXplOm5vbmU7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDowO30KICAuYmxrLTU3amQ0IC5oZWFkZXIyLWxvZ29ze2lubGluZS1zaXplOjEyOHB4O2Jsb2NrLXNpemU6NDBweDt9CiAgLmJsay01N2pkNCAuaGVhZGVyMi10aXRsZXtmb250LXNpemU6MjdweDt9CiAgLmJsay01N2pkNCAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7fQogIC5ibGstNTdqZDQgLmhlYWRlcjIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnR7b3JkZXI6MjthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7Z2FwOjVweDt9CiAgLmJsay01N2pkNCAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbG9nb3Mtd3JhcHtvcmRlcjoxO21heC1pbmxpbmUtc2l6ZToxMDAlO2FsaWduLXNlbGY6ZmxleC1lbmQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDowO30KICAvKiBSZXNndWFyZG8gaW50ZXJtZWRpbyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGE6IHNvbG8gZWwgdGl0dWxhciBiYWphIGEgc3UKICAgICBwcm9waWEgZmlsYSBhIGFuY2hvIGNvbXBsZXRvIGN1YW5kbyBsYXMgZXRpcXVldGFzIFPNIGNhYmVuIGp1bnRvIGFsCiAgICAgbG9nbyBwZXJvIGVsIHRpdHVsYXIgbm8uIGhlYWRlcjItbGVmdCBwYXNhIGRlIGZpbGEgYSBjb2x1bW5hCiAgICAgKGV0aXF1ZXRhcyBhcnJpYmEsIHRpdHVsYXIgZGViYWpvKSB5IHJlY3VwZXJhIGFsaWduLXNlbGY6YXV0byBwYXJhCiAgICAgY2VudHJhcnNlIHZlcnRpY2FsbWVudGUgY29udHJhIGVsIGxvZ28gKGFsaWduLXNlbGY6Y2VudGVyIGRlIGxhIHJlZ2xhCiAgICAgYmFzZSBkZSAuaGVhZGVyMi1sb2dvcy13cmFwLCBhcnJpYmEpLCBpZ3VhbCBxdWUgZW4gZWwgcmVzdG8gZGUgZXN0YWRvcy4gKi8KICAuYmxrLTU3amQ0IC5oZWFkZXIyLmhlYWRlcjItdGl0bGUtYmVsb3cgLmhlYWRlcjItbGVmdHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDthbGlnbi1zZWxmOmF1dG87Z2FwOjVweDt9Cn0KCi8qIEVzdGlsbyAiZm90byBncmFuZGUgKyB0aXR1bGFyIjogZm90byAxNjo5IGFycmliYSwgdGl0dWxhciBkZWJham8gJiM4MjEyOyBlbGVnaWJsZQogICBwb3Igbm90aWNpYSBkZXNkZSBlbCBnZXN0b3IuIE5vIHNlIHJlc3RyaW5nZSBjb24gQGNvbnRhaW5lciBwb3JxdWUKICAgLmNvbHVtbi1pdGVtIHlhIGVzIGJsb2NrIHBvciBkZWZlY3RvIChlbCB0aHVtYiB5IGVsIHRleHRvIHNlIGFwaWxhbiBzb2xvcwogICBzaW4gbeFzIGFqdXN0ZSksIGFz7SBxdWUgZWwgZGlzZfFvIGZ1bmNpb25hIGlndWFsIGRlIGJpZW4gZW4gY3VhbHF1aWVyCiAgIGFuY2hvLCBEZXNrIG8gTfN2aWwuICovCi5ibGstNTdqZDQgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3B7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9Ci5ibGstNTdqZDQgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLnRodW1ie2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjE2Lzk7bWFyZ2luLWJvdHRvbToxMHB4O30KLmJsay01N2pkNCAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAubGVmdC10aXRsZXtmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6OTAwO30KLyogRW4gTfN2aWwgZWwgdGl0dWxhciBkZSBlc3RlIGRpc2XxbyBzZSBtdWVzdHJhIG3hcyBncmFuZGUgKDEuNXJlbSBlbiB2ZXogZGUKICAgbG9zIDEuMnJlbSBkZSBEZXNrKSAmIzgyMTI7IG1pc21hIGVzcGVjaWZpY2lkYWQgKDMgY2xhc2VzKSBxdWUgbGEgcmVnbGEgZGUKICAgYXJyaWJhOyBhbCBpciBERVNQVclTIGVuIGVsIENTUyBnYW5hIHBvciBvcmRlbiBkZSBjYXNjYWRhLiBTZSB1c2EgZWwKICAgYnJlYWtwb2ludCBkZSA0ODBweCAoZWwgZGUgdGlwb2dyYWbtYSBlbiBlc3RhIGFwcCwgbm8gZWwgZGUgODYwcHggcXVlIGFxde0KICAgc29sbyBnb2JpZXJuYSBlbCBhcGlsYWRvIGRlIGNvbHVtbmFzKSBwYXJhIHF1ZSBjb2luY2lkYSBjb24gZWwgcmVzdG8gZGUKICAgY2FtYmlvcyBkZSB0ZXh0by90YW1h8W8gcG9yIHZpc3RhLiBObyBhZmVjdGEgYWwgcmVzZ3VhcmRvIGRlIDIgY29sdW1uYXMgZW4KICAgbfN2aWwgKG1vYi1ncmlkKSwgbeFzIGVzcGVj7WZpY28gKDE4cHgsIHZlciBt4XMgYXJyaWJhKS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjQ4MHB4KXsKICAuYmxrLTU3amQ0IC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC5sZWZ0LXRpdGxle2ZvbnQtc2l6ZToxLjVyZW07fQp9Ci8qIEVzdGlsbyAiQmxvcXVlIG1lZGlhIiAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTU3amQ0IC5tZWRpYS1ibG9jay1tZWRpYXtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTphdXRvO30KLmJsay01N2pkNCAubWVkaWEtYmxvY2std3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO30KLmJsay01N2pkNCAubWVkaWEtYmxvY2staWZyYW1lLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6aGlkZGVuO30KLmJsay01N2pkNCAubWVkaWEtYmxvY2staWZyYW1lLXdyYXAgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt9Ci5ibGstNTdqZDQgLmNvbHVtbi1pdGVtLmxheW91dC1tZWRpYS1ibG9ja3tib3JkZXI6bm9uZTtwYWRkaW5nOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtibG9jay1zaXplOmF1dG87ZmxleDowIDAgYXV0bzt9Ci5ibGstNTdqZDQgLmNvbHVtbi1pdGVtOm5vdCgubGF5b3V0LW1lZGlhLWJsb2NrKXtmbGV4OjEgMSBhdXRvO30KPC9zdHlsZT4KCjxkaXYgY2xhc3M9ImJsay01N2pkNCI+CiAgCiAgPG1haW4gY2xhc3M9InBhZ2UiPgogICAgCiAgICA8YXJ0aWNsZSBjbGFzcz0ibGVhZCBsZWFkLWJvZHktbGVmdCI+CiAgICAgIDxkaXYgY2xhc3M9ImxlYWQtbWVkaWEiPgogICAgICAgIDxpbWcgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvcHV0aW4tYW1lbmF6YS1jb24tbGEtYm9tYmEtYXRvbWljYS1wYXJhLWRlZmVuZGVyLWthbGluaW5ncmFkby1lbC1zaW50b21hLWRlLXVuYS1ydXNpYS1hY29ycmFsYWRhLTIwMjYxMDA5LTE2MzYwOC0wOGMxNzkuanBnIiBhbHQ9IlB1dGluIGFtZW5hemEgY29uIGxhIGJvbWJhIGF0821pY2EgcGFyYSBkZWZlbmRlciBLYWxpbmluZ3JhZG86IGVsIHPtbnRvbWEgZGUgdW5hIFJ1c2lhIGFjb3JyYWxhZGEiIGxvYWRpbmc9ImVhZ2VyIiBmZXRjaHByaW9yaXR5PSJoaWdoIiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDxkaXYgY2xhc3M9ImxlYWQtb3ZlcmxheSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiYSgxNCwxNywyNiwwLjAwKTsiPjwvZGl2PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5IiBzdHlsZT0iYmFja2dyb3VuZDojRkY1MDUwOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImxlYWQtY2F0IiBzdHlsZT0iYmFja2dyb3VuZDojZmZmO2NvbG9yOiNGRjUwNTAiPklOVEVSTkFDSU9OQUw8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5LW1haW4iPgogICAgICAgICAgCiAgICAgICAgICA8aDIgY2xhc3M9ImxlYWQtdGl0bGUiPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLWRlc2siPlB1dGluIGFtZW5hemEgY29uIGxhIGJvbWJhIGF0821pY2EgcGFyYSBkZWZlbmRlciBLYWxpbmluZ3JhZG86IGVsIHPtbnRvbWEgZGUgdW5hIFJ1c2lhIGFjb3JyYWxhZGE8L3NwYW4+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtbW9iaWxlIj5QdXRpbiBhbWVuYXphIGNvbiBsYSBib21iYSBhdPNtaWNhIHBhcmEgZGVmZW5kZXIgS2FsaW5pbmdyYWRvOiBlbCBz7W50b21hIGRlIHVuYSBSdXNpYSBhY29ycmFsYWRhPC9zcGFuPjwvaDI+CiAgICAgICAgICAKICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRob3ItbGFiZWwiPlBlZHJvIEZlcm7hbmRleiBCYXJiYWRpbGxvPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGEgY2xhc3M9ImxlYWQtbGluayIgaHJlZj0iaHR0cHM6Ly9va2RpYXJpby5jb20vaW50ZXJuYWNpb25hbC9wdXRpbi1hbWVuYXphLWJvbWJhLWF0b21pY2EtZGVmZW5kZXIta2FsaW5pbmdyYWRvLXNpbnRvbWEtcnVzaWEtYWNvcnJhbGFkYS0yMDUyMjU2NSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJQdXRpbiBhbWVuYXphIGNvbiBsYSBib21iYSBhdPNtaWNhIHBhcmEgZGVmZW5kZXIgS2FsaW5pbmdyYWRvOiBlbCBz7W50b21hIGRlIHVuYSBSdXNpYSBhY29ycmFsYWRhIiBhcmlhLWxhYmVsPSJQdXRpbiBhbWVuYXphIGNvbiBsYSBib21iYSBhdPNtaWNhIHBhcmEgZGVmZW5kZXIgS2FsaW5pbmdyYWRvOiBlbCBz7W50b21hIGRlIHVuYSBSdXNpYSBhY29ycmFsYWRhIj48L2E+CiAgICA8L2FydGljbGU+CiAgPC9tYWluPgo8L2Rpdj4KCjxzY3JpcHQ+CihmdW5jdGlvbigpewogIHZhciBhcnRpY2xlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJsay01N2pkNCAubGVhZCcpOwogIGlmICghYXJ0aWNsZSkgcmV0dXJuOwogIHZhciBtYWluID0gYXJ0aWNsZS5xdWVyeVNlbGVjdG9yKCcubGVhZC1ib2R5LW1haW4nKTsKICB2YXIgdGl0bGVFbCA9IGFydGljbGUucXVlcnlTZWxlY3RvcignLmxlYWQtdGl0bGUnKTsKICBpZiAoIW1haW4gfHwgIXRpdGxlRWwpIHJldHVybjsKICB2YXIgYmFzZUZvbnRTaXplUHggPSBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUodGl0bGVFbCkuZm9udFNpemUpIHx8IDA7CiAgaWYgKCFiYXNlRm9udFNpemVQeCkgcmV0dXJuOwogIHZhciBNQVhfU0NBTEUgPSAxLjg7CiAgdmFyIE1JTl9TQ0FMRSA9IDAuNTsKICB2YXIgTUFYX0ZPTlRfUFggPSA2NDsgLy8gfjRyZW0gY29uIGxhIGJhc2UgaGFiaXR1YWwgZGUgMTZweCAobWlzbW8gdG9wZSBxdWUgZml0TGVhZFRpdGxlVG9Cb3goKSBlbiBlbCBnZXN0b3IpCiAgdmFyIGJvZHlQb3NpdGlvbkJsb2Nrc0ZpdCA9IGFydGljbGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWFkLWJvZHktbGVmdCcpIHx8IGFydGljbGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWFkLWJvZHktcmlnaHQnKTsKICBmdW5jdGlvbiBmaXQoKXsKICAgIGlmIChib2R5UG9zaXRpb25CbG9ja3NGaXQpIHJldHVybjsKICAgIHRpdGxlRWwuc3R5bGUuZm9udFNpemUgPSBiYXNlRm9udFNpemVQeCArICdweCc7CiAgICB2YXIgYXZhaWxhYmxlSGVpZ2h0ID0gbWFpbi5jbGllbnRIZWlnaHQ7CiAgICBpZiAoIWF2YWlsYWJsZUhlaWdodCkgcmV0dXJuOwogICAgLy8gVmVyIG1pc21vIGNvbWVudGFyaW8sIGRldGFsbGFkbywgZW4gZml0TGVhZFRpdGxlVG9Cb3goKSBkZWwgZ2VzdG9yOgogICAgLy8gbWFpbi5zY3JvbGxIZWlnaHQgbnVuY2EgYmFqYSBkZSBjbGllbnRIZWlnaHQgYXVucXVlIGVsIGNvbnRlbmlkbyByZWFsCiAgICAvLyBvY3VwZSBtZW5vcywgYXPtIHF1ZSBubyBzaXJ2ZSBwYXJhIGRldGVjdGFyIGN14W50byBzb2JyYSBvIGZhbHRhIGNvbgogICAgLy8gZWwgdGl0dWxhciBhY3R1YWwgJiM4MjEyOyBzZSBzdW1hIGVuIHN1IGx1Z2FyIGVsIGFsdG8gcmVhbCBkZSBjYWRhIGhpam8KICAgIC8vIFZJU0lCTEUgZGVsIGJsb3F1ZSwgc2Fsdm8gZWwgcHJvcGlvIHRpdHVsYXIsIG3hcyBlbCBodWVjbyAoImdhcCIpCiAgICAvLyBlbnRyZSBlbGxvczsgbm8gY2FtYmlhIGNvbiBlbCB0YW1h8W8gZGVsIHRpdHVsYXIsIGFz7SBxdWUgc2UgbWlkZSB1bmEKICAgIC8vIHNvbGEgdmV6LCBhbnRlcyBkZSBsYSBi+nNxdWVkYSBiaW5hcmlhLgogICAgdmFyIGdhcFB4ID0gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLnJvd0dhcCkgfHwgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLmdhcCkgfHwgMDsKICAgIHZhciB2aXNpYmxlQ2hpbGRyZW4gPSBbXS5zbGljZS5jYWxsKG1haW4uY2hpbGRyZW4pLmZpbHRlcihmdW5jdGlvbihjKXsgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoYykuZGlzcGxheSAhPT0gJ25vbmUnOyB9KTsKICAgIHZhciBvdGhlcnNIZWlnaHQgPSB2aXNpYmxlQ2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uKGMpeyByZXR1cm4gYyAhPT0gdGl0bGVFbDsgfSkucmVkdWNlKGZ1bmN0aW9uKHN1bSwgYyl7IHJldHVybiBzdW0gKyBjLm9mZnNldEhlaWdodDsgfSwgMCkKICAgICAgKyBnYXBQeCAqIE1hdGgubWF4KDAsIHZpc2libGVDaGlsZHJlbi5sZW5ndGggLSAxKTsKICAgIHZhciBhdmFpbGFibGVGb3JUaXRsZSA9IE1hdGgubWF4KDAsIGF2YWlsYWJsZUhlaWdodCAtIG90aGVyc0hlaWdodCk7CiAgICBpZiAoIWF2YWlsYWJsZUZvclRpdGxlKSByZXR1cm47CiAgICBmdW5jdGlvbiBoZWlnaHRBdFNjYWxlKHNjYWxlKXsKICAgICAgdGl0bGVFbC5zdHlsZS5mb250U2l6ZSA9IE1hdGgubWluKGJhc2VGb250U2l6ZVB4ICogc2NhbGUsIE1BWF9GT05UX1BYKSArICdweCc7CiAgICAgIHJldHVybiB0aXRsZUVsLm9mZnNldEhlaWdodDsKICAgIH0KICAgIHZhciBsbyA9IE1JTl9TQ0FMRSwgaGkgPSBNQVhfU0NBTEU7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDg7IGkrKyl7CiAgICAgIHZhciBtaWQgPSAobG8gKyBoaSkgLyAyOwogICAgICBpZiAoaGVpZ2h0QXRTY2FsZShtaWQpIDw9IGF2YWlsYWJsZUZvclRpdGxlKSBsbyA9IG1pZDsgZWxzZSBoaSA9IG1pZDsKICAgIH0KICAgIGhlaWdodEF0U2NhbGUobG8pOwogIH0KICBmaXQoKTsKICBpZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkpeyBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKGZpdCk7IH0KICBpZiAod2luZG93LlJlc2l6ZU9ic2VydmVyKXsgbmV3IFJlc2l6ZU9ic2VydmVyKGZpdCkub2JzZXJ2ZShhcnRpY2xlKTsgfQogIGVsc2UgeyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZml0KTsgfQp9KSgpOwo8L3NjcmlwdD4=
    • Marruecos amenaza a España cuatro días antes de la visita de los Reyes a Ceuta y Melilla: La cooperación ha llegado a su límite
        • Internacional
        • Internacional

      Marruecos amenaza a España cuatro días antes de la visita de los Reyes a Ceuta y Melilla: "La cooperación ha llegado a su límite"

      • María Ruiz
      • 2026-10-09 19:25
    • César Alcalá, periodista y escritor: La inmensa mayoría de los marroquíes no se integran en Cataluña por la religión
        • España
        • España

      "La inmensa mayoría de los marroquíes no se integran en Cataluña por la religión"

      • María Zabay
      • 2026-10-10 05:45
    • PGlmcmFtZSBoZWlnaHQ9JzM1MHB4JyB3aWR0aD0nMTAwJScgICBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9odG1sL3k3aHNydi1jYXJydXNlbC1kaXJlY3Rvcy5waHA/bW9kZT1kZXNrIiAgIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9Im5vIiBzdHlsZT0iYm9yZGVyOjA7ZGlzcGxheTpibG9jazttYXgtIj48L2lmcmFtZT4=
      PGlmcmFtZSBoZWlnaHQ9JzY1MHB4JyB3aWR0aD0nMTAwJScgICBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9odG1sL3k3aHNydi1jYXJydXNlbC1kaXJlY3Rvcy5waHA/bW9kZT1tb2JpbGUiICAgZnJhbWVib3JkZXI9IjAiIHNjcm9sbGluZz0ibm8iIHN0eWxlPSJib3JkZXI6MDtkaXNwbGF5OmJsb2NrO21heC0iPjwvaWZyYW1lPg==
    • El director del hotel donde dormían Don Juan Carlos y la Reina Sofía en Santiago: Siempre escogían la Suite Real, con excelentes vistas a la Catedral
        • Cool
        • Cool

      El director del hotel donde dormían Don Juan Carlos y la Reina Sofía en Santiago: "Siempre escogían la Suite Real"

      En pleno corazón de Santiago de Compostela, frente a la imponente fachada de la Catedral, se alza uno de los hoteles con más historia de España. El Parador de Santiago, conocido como Hostal de los Reyes Católicos, lleva siglos recibiendo a viajeros y personalidades ilustres. Entre quienes cruzaron sus puertas se encuentran Juan Carlos y Sofía, que durante sus visitas a la ciudad gallega tenían una habitación predilecta: la Suite Real, un alojamiento con vistas privilegiadas.
      • Marta Morales
      • 2026-10-10 11:08
    • Rafael Amargo y su pareja detenidos por apalear a un ladrón en su propia casa y morder a un policía
        • Cool
        • Cool

      Rafael Amargo y su pareja detenidos por apalear a un ladrón en su propia casa y morder a un policía

      • Javi Fernández
      • 2026-10-10 15:04
    • El significado de memorias
    • Sube & Baja, por Jaime Peñafiel: semana del 3 al 9 de octubre
    • OK AL DÍA

    • Confirmado por la Seguridad Social: se concede un 2% de pensión adicional a los trabajadores que retrasen la jubilación un segundo año
        • Economía
        • Economía

      se concede un 2% de pensión adicional a los trabajadores que retrasen la jubilación dos años

      • Janire Manzanas
      • 2026-10-10 13:00
    • Un equipo de investigadores británicos utiliza un ejército de drones con IA para detectar incendios y salir a apagarlos en 10 minutos sin intervención humana
        • Naturaleza
        • Naturaleza

      Un equipo de investigadores británicos utiliza un ejército de drones con IA

      • Sofía Crotti
      • 2026-10-10 11:30
    • ¿Es necesario apagar el ordenador después de usarlo? Los expertos desmienten este mito
        • Tecnología
        • Tecnología

      ¿Es necesario apagar el ordenador después de usarlo? Los expertos desmienten este mito

      ¿Es necesario apagar el ordenador después de utilizarlo cada día? Es una duda habitual, especialmente entre quienes trabajan muchas horas frente a la pantalla y no saben si es mejor apagar el equipo o dejarlo en modo de suspensión. Según la empresa de ciberseguridad Panda Security, esta función resulta especialmente útil a cuando se necesita retomar rápidamente la actividad. Por ejemplo, si sólo se va a dejar de utilizar el equipo durante unas horas, por ejemplo, para comer o hacer una pausa en la jornada laboral, no es necesario apagarlo por completo.
      • Janire Manzanas
      • 2026-10-10 11:30
    • Los expertos en psicología lo avalan: las personas que dejan pasar a otras en la fila aunque tengan prisa no lo hacen por respeto, en realidad es por flexibilidad mental y empatía
        • Curiosidades
        • Curiosidades

      las personas que dejan pasar a otras en una fila no lo hacen por respeto sino por empatía

      • Janire Manzanas
      • 2026-10-10 11:30
    • La reflexión del día de Clint Eastwood, actor y director (96 años): Somos como boxeadores, uno nunca sabe cuánto tiempo más le queda
        • Curiosidades
        • Curiosidades

      Clint Eastwood: "Somos como boxeadores, uno nunca sabe cuánto tiempo nos queda"

      • Álvaro Olivero
      • 2026-10-10 11:31
    • Frida Kahlo, pintora mexicana, sobre la resiliencia: Amurallar el propio sufrimiento es arriesgarte a que te devore desde el interior
        • Curiosidades
        • Curiosidades

      Frida Kahlo: "Amurallar el propio sufrimiento es arriesgarte a que te devore desde el interior"

      • Aitana Pascual
      • 2026-10-10 10:34
    • Los fontaneros expertos lo tienen claro e instan a poner una botella de plástico con agua en el desagüe del fregadero: por qué y para qué sirve
        • Curiosidades
        • Curiosidades

      Los fontaneros expertos lo tienen claro e instan a poner una botella con agua en el desagüe

      • Álvaro Olivero
      • 2026-10-10 11:35
    • La gran reflexión de Morgan Freeman (89 años): Nunca dejes que el orgullo sea tu principio rector. Deja que tus logros hablen por ti
        • Cool
        • Cool

      Morgan Freeman: "Nunca dejes que el orgullo sea tu principio rector, Deja que tus logros hablen por ti"

      • Aitana Pascual
      • 2026-10-10 11:40
    • Un propietario de un coche eléctrico estalla tras varios meses de uso: Estoy hasta las narices, hay cosas que nadie te cuenta antes de comprarlo
        • Motor
        • Motor

      el propietario de un coche eléctrico tras varios meses de uso: "hay cosas que nadie te cuenta "

      • Janire Manzanas
      • 2026-10-10 12:00
    • Transición sostenible, competitividad y agua: la V Jornada OKGREEN reúne en Madrid a empresas e instituciones
    • CiAgICA8c3R5bGU+CiAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MnKTsKCiAgICAvKiBDb250ZW5lZG9yIHByaW5jaXBhbCBsaW1pdGFkbyBhIDk2MHB4IGVuIGVzY3JpdG9yaW8gKi8KICAgIC5jdi0wNWpjaiAuc2VjdGlvbnttYXgtd2lkdGg6OTYwcHg7bWFyZ2luOjAgYXV0bzt3aWR0aDoxMDAlfQoKICAgIC5jdi0wNWpjaiAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjo4cHggMCA1MHB4fQogICAgLmN2LTA1amNqIC5mbmQtbGluZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NXB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luLXRvcDotMjVweDtib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzN9CiAgICAuY3YtMDVqY2ogLnNlY3Rpb24tdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjRweCAxM3B4O2JvcmRlcjoxcHggc29saWQgIzMzMztmb250LXNpemU6NDJweDt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyl9CgogICAgLmN2LTA1amNqIC5jYXJvdXNlbHstLWdhcDoxNnB4Oy0tcGVlazoxMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tZ2FwKTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206NnB4fQogICAgLmN2LTA1amNqIC50cmFja3tkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLWdhcCk7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnk7c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtwYWRkaW5nLXJpZ2h0OjB9CiAgICAuY3YtMDVqY2ogLnRyYWNrOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9CiAgICAuY3YtMDVqY2ogLmNhcmR7cG9zaXRpb246cmVsYXRpdmU7ZmxleDowIDAgYXV0bztzY3JvbGwtc25hcC1hbGlnbjpzdGFydDt3aWR0aDpjYWxjKCgxMDAlIC0gMip2YXIoLS1nYXApIC0gdmFyKC0tcGVlaykpLzMpO2FzcGVjdC1yYXRpbzo5LzE2O2JvcmRlci1yYWRpdXM6MTBweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojMDAwO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgZWFzZSwgdHJhbnNmb3JtIC40cyBlYXNlfQogICAgLmN2LTA1amNqIC5jYXJkLmlzLWlue29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX0KCiAgICAuY3YtMDVqY2ogLnRodW1ie3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgZWFzZSwgb3BhY2l0eSAuMjVzIGVhc2U7dHJhbnNmb3JtOnNjYWxlKDEuMDEpfQogICAgLmN2LTA1amNqIC5jYXJkOmhvdmVyIC50aHVtYiwuY3YtMDVqY2ogLmNhcmQ6Zm9jdXMtdmlzaWJsZSAudGh1bWJ7dHJhbnNmb3JtOnNjYWxlKDEuMDYpfQogICAgLyogU2luIG92ZXJsYXlzIHBlcnNvbmFsaXphZG9zOiBzZSB1c2FuIGNvbnRyb2xlcyBuYXRpdm9zIGRlbCBwbGF5ZXIgKi8KCiAgICAuY3YtMDVqY2ogLmFye3Bvc2l0aW9uOnJlbGF0aXZlfQogICAgLmN2LTA1amNqIC5hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2IoMjU1IDI1NSAyNTUgLyAyMCUpO2JveC1zaGFkb3c6MCA2cHggMTZweCByZ2IoMCAwIDAgLyAyMCUpO2JvcmRlcjoxcHggc29saWQgI2ZmZjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoyO3RyYW5zaXRpb246LjNzfQogICAgLmN2LTA1amNqIC5hcnJvdzpob3ZlcntiYWNrZ3JvdW5kOnJnYigwIDAgMCAvIDIwJSk7Ym9yZGVyOjFweCBzb2xpZCAjZmZmfQogICAgLmN2LTA1amNqIC5hcnJvdzpmb2N1c3tiYWNrZ3JvdW5kOnJnYigyNTUgMjU1IDI1NSAvIDIwJSl9CiAgICAuY3YtMDVqY2ogLmFycm93IHN2Z3t3aWR0aDoyMHB4O2hlaWdodDoyMHB4fQogICAgLmN2LTA1amNqIC5hcnJvdy5sZWZ0e2xlZnQ6MTBweH0KICAgIC5jdi0wNWpjaiAuYXJyb3cucmlnaHR7cmlnaHQ6MTBweH0KCiAgICBAbWVkaWEgKG1heC13aWR0aDo3NjhweCl7CiAgICAgIC8qIEVuIG3zdmlsLCBlbCBjb250ZW5lZG9yIG9jdXBhIHRvZG8gZWwgYW5jaG8gKi8KICAgICAgLmN2LTA1amNqIC5zZWN0aW9ue21heC13aWR0aDoxMDAlfQogICAgICAuY3YtMDVqY2ogLnNlY3Rpb24tdGl0bGV7Zm9udC1zaXplOjI3cHg7cGFkZGluZzoycHggOHB4O3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKX0KICAgICAgLmN2LTA1amNqIC5jYXJvdXNlbHstLXBlZWs6MTIlfQogICAgICAvKiAyIHRhcmpldGFzIGNvbXBsZXRhcyArIHVuIHBlZWsgZGUgbGEgM6ogKi8KICAgICAgLmN2LTA1amNqIC5jYXJke3dpZHRoOmNhbGMoKDEwMCUgLSA0KnZhcigtLWdhcCkgLSB2YXIoLS1wZWVrKSkvMSl9CiAgICAgIC5jdi0wNWpjaiAuYXJyb3d7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9CiAgICAgIC5jdi0wNWpjaiAudHJhY2t7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3BhZGRpbmctcmlnaHQ6MH0KICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iY3YtMDVqY2oiPgogICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgYXJpYS1sYWJlbD0iQ2FycnVzZWwgZGUgdu1kZW9zIChTaG9ydHMpIj4KICAgICAgICA8ZGl2IGNsYXNzPSJiZy1zZWN0aW9uLXRpdGxlIj4KICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TG9zICdzaG9ydHMnIGRlIE9LRElBUklPPC9oMj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbmQtbGluZWEiPjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhciIgcm9sZT0icmVnaW9uIiBhcmlhLWxhYmVsPSJMaXN0YWRvIGRlIHbtZGVvcyI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhcnJvdyBsZWZ0IiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IkFudGVyaW9yIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNMTUgNmwtNiA2IDYgNiIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhcnJvdyByaWdodCIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJTaWd1aWVudGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik05IDE4bDYtNi02LTYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmFjayIgcm9sZT0ibGlzdCI+CgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvTFlkQ0pMQ09QUGMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJMWWRDSkxDT1BQYyIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL0xZZENKTENPUFBjL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCAxIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzL1U2R1FraUxWeUZRIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iVTZHUWtpTFZ5RlEiIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9VNkdRa2lMVnlGUS9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgMiIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy9LalVtZnhqdmNmQSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9IktqVW1meGp2Y2ZBIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvS2pVbWZ4anZjZkEvaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDMiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvTHprX0t2N050eXMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJMemtfS3Y3TnR5cyIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL0x6a19LdjdOdHlzL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCA0IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzL2hRQnREdlBFd3lNIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iaFFCdER2UEV3eU0iIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9oUUJ0RHZQRXd5TS9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgNSIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy9DNmUzREx0cVZDRSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9IkM2ZTNETHRxVkNFIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvQzZlM0RMdHFWQ0UvaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDYiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvMDlKOUZBSFZWSjAiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSIwOUo5RkFIVlZKMCIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpLzA5SjlGQUhWVkowL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCA3IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+CiAgICA8c2NyaXB0PgogICAgKGZ1bmN0aW9uKCl7CiAgICAgIHZhciByb290ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmN2LTA1amNqJyk7CiAgICAgIGlmICghcm9vdCkgcmV0dXJuOwogICAgICB2YXIgdHJhY2sgPSByb290LnF1ZXJ5U2VsZWN0b3IoJy50cmFjaycpOwogICAgICBpZiAoIXRyYWNrKSByZXR1cm47CgogICAgICB2YXIgYXJyb3dzID0gcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuYXJyb3cnKTsKICAgICAgdmFyIEdBUCA9IDE2OwoKICAgICAgZnVuY3Rpb24gZ2V0Q2FyZFdpZHRoKCl7CiAgICAgICAgdmFyIGZpcnN0ID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcuY2FyZCcpOwogICAgICAgIGlmICghZmlyc3QpIHJldHVybiAwOwogICAgICAgIHJldHVybiBmaXJzdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gZ2V0Q2FyZHNQZXJQYWdlKCl7CiAgICAgICAgLy8gRGVzazogYXZhbnphIGRlIHVuYSBlbiB1bmEgdGFyamV0YQogICAgICAgIHJldHVybiAod2luZG93LmlubmVyV2lkdGggPD0gNzY4KSA/IDIgOiAxOwogICAgICB9CgogICAgICBhcnJvd3MuZm9yRWFjaChmdW5jdGlvbihidG4pewogICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpewogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgdmFyIGRpciA9IHRoaXMuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWZ0JykgPyAtMSA6IDE7CiAgICAgICAgICB2YXIgY2FyZFcgPSBnZXRDYXJkV2lkdGgoKTsKICAgICAgICAgIGlmICghY2FyZFcpIHJldHVybjsKICAgICAgICAgIHZhciBzdGVwID0gKGNhcmRXICsgR0FQKSAqIGdldENhcmRzUGVyUGFnZSgpICogZGlyOwogICAgICAgICAgdHJhY2suc2Nyb2xsQnkoeyBsZWZ0OiBzdGVwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgLy8gRmFkZS1pbiBhbCBlbnRyYXIgZW4gdmlld3BvcnQKICAgICAgdmFyIGlvID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpewogICAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlbil7IGlmKGVuLmlzSW50ZXJzZWN0aW5nKXsgZW4udGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2lzLWluJyk7IH0gfSk7CiAgICAgIH0sIHsgcm9vdDogdHJhY2ssIHRocmVzaG9sZDogMC4xIH0pOwogICAgICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jYXJkJykuZm9yRWFjaChmdW5jdGlvbihjKXsgaW8ub2JzZXJ2ZShjKTsgfSk7CgogICAgICAvLyBDbGljayBwZXJzaXN0ZW50ZSAoc2luIHRlYXNlciBwb3IgaG92ZXIpCiAgICAgIGZ1bmN0aW9uIG1ha2VFbWJlZFVybChpZCwgb3B0cyl7CiAgICAgICAgdmFyIHFzID0gWwogICAgICAgICAgJ2F1dG9wbGF5PScgKyAob3B0cyAmJiBvcHRzLmF1dG9wbGF5PyAnMSc6JzAnKSwKICAgICAgICAgICdwbGF5c2lubGluZT0xJywnZnM9MScsJ2l2X2xvYWRfcG9saWN5PTMnLCdzaG93aW5mbz0xJywncmVsPTAnLCdjY19sb2FkX3BvbGljeT0wJywnc3RhcnQ9MCcsCiAgICAgICAgICAnbXV0ZT0nICsgKG9wdHMgJiYgb3B0cy5tdXRlPyAnMSc6JzAnKSwKICAgICAgICAgIChvcHRzICYmIG9wdHMuY29udHJvbHM9PT0wPyAnY29udHJvbHM9MCc6J2NvbnRyb2xzPTEnKSwKICAgICAgICAgICdtb2Rlc3RicmFuZGluZz0xJywnZW5hYmxlanNhcGk9MScKICAgICAgICBdLmpvaW4oJyYnKTsKICAgICAgICByZXR1cm4gJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLycgKyBpZCArICc/JyArIHFzOwogICAgICB9CgogICAgICAvLyBDYXJnYXIgQVBJIGRlIFlvdVR1YmUgYmFqbyBkZW1hbmRhCiAgICAgIHZhciB5dEFwaVByb21pc2UgPSBudWxsOwogICAgICBmdW5jdGlvbiBlbnN1cmVZVEFwaSgpewogICAgICAgIGlmICh3aW5kb3cuWVQgJiYgd2luZG93LllULlBsYXllcikgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwogICAgICAgIGlmICh5dEFwaVByb21pc2UpIHJldHVybiB5dEFwaVByb21pc2U7CiAgICAgICAgeXRBcGlQcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSl7CiAgICAgICAgICB2YXIgcHJldkNiID0gd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5OwogICAgICAgICAgd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5ID0gZnVuY3Rpb24oKXsgaWYgKHR5cGVvZiBwcmV2Q2I9PT0nZnVuY3Rpb24nKSB7IHRyeXsgcHJldkNiKCk7IH1jYXRjaChfKXt9IH0gcmVzb2x2ZSgpOyB9OwogICAgICAgICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICAgIHMuc3JjID0gJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGknOwogICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4geXRBcGlQcm9taXNlOwogICAgICB9CgogICAgICAvLyBJbnN0YW5jaWFyIHBsYXllciBuYXRpdm8gZW4gdGFyamV0YXMgdmlzaWJsZXMgcGFyYSBxdWUgZWwgaWNvbm8gZGUgcGxheSBhcGFyZXpjYSBkZXNkZSBlbCBpbmljaW8KICAgICAgZnVuY3Rpb24gaW5pdFBsYXllckZvckNhcmQoY2FyZCl7CiAgICAgICAgaWYoIWNhcmQgfHwgY2FyZC5feXRQbGF5ZXIgfHwgY2FyZC5feXRJbml0KSByZXR1cm47CiAgICAgICAgdmFyIGlkID0gY2FyZC5nZXRBdHRyaWJ1dGUoJ2RhdGEteXQtaWQnKTsKICAgICAgICBpZighaWQpIHJldHVybjsKICAgICAgICBjYXJkLl95dEluaXQgPSB0cnVlOwogICAgICAgIHZhciBwb3N0ZXIgPSBjYXJkLnF1ZXJ5U2VsZWN0b3IoJ2ltZy50aHVtYicpOwogICAgICAgIHZhciBob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBob2xkZXIuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaG9sZGVyLnN0eWxlLmluc2V0PScwJzsgaG9sZGVyLnN0eWxlLndpZHRoPScxMDAlJzsgaG9sZGVyLnN0eWxlLmhlaWdodD0nMTAwJSc7IGhvbGRlci5zdHlsZS5iYWNrZ3JvdW5kPScjMDAwJzsKICAgICAgICBpZihwb3N0ZXIpeyBjYXJkLmluc2VydEJlZm9yZShob2xkZXIsIHBvc3Rlcik7IH0gZWxzZSB7IGNhcmQuYXBwZW5kQ2hpbGQoaG9sZGVyKTsgfQogICAgICAgIC8vIE9jdWx0YW1vcyBlbCBw83N0ZXIgY3VhbnRvIGFudGVzIHBhcmEgZGVqYXIgdmVyIGVsIG92ZXJsYXkgbmF0aXZvCiAgICAgICAgaWYocG9zdGVyKXsgcG9zdGVyLnN0eWxlLnRyYW5zaXRpb24gPSBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiB8fCAnb3BhY2l0eSAuMTVzIGVhc2UnOyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IHBvc3Rlci5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJzsgfQogICAgICAgIGVuc3VyZVlUQXBpKCkudGhlbihmdW5jdGlvbigpewogICAgICAgICAgdmFyIHBsYXllciA9IG5ldyBZVC5QbGF5ZXIoaG9sZGVyLCB7CiAgICAgICAgICAgIHZpZGVvSWQ6IGlkLAogICAgICAgICAgICBwbGF5ZXJWYXJzOiB7IGF1dG9wbGF5OjAsIGNvbnRyb2xzOjEsIHJlbDowLCBwbGF5c2lubGluZToxLCBpdl9sb2FkX3BvbGljeTozLCBtb2Rlc3RicmFuZGluZzoxLCBmczoxLCBvcmlnaW46IChsb2NhdGlvbiAmJiBsb2NhdGlvbi5vcmlnaW4pID8gbG9jYXRpb24ub3JpZ2luIDogdW5kZWZpbmVkIH0sCiAgICAgICAgICAgIGV2ZW50czogewogICAgICAgICAgICAgIG9uUmVhZHk6IGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IHBvc3Rlci5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJzsgfQogICAgICAgICAgICAgICAgLy8gRm9yemFyIHBlcm1pc29zIGRlIHBhbnRhbGxhIGNvbXBsZXRhIGVuIGVsIGlmcmFtZSBnZW5lcmFkbwogICAgICAgICAgICAgICAgdHJ5ewogICAgICAgICAgICAgICAgICB2YXIgaWZyID0gcGxheWVyLmdldElmcmFtZSAmJiBwbGF5ZXIuZ2V0SWZyYW1lKCk7CiAgICAgICAgICAgICAgICAgIGlmIChpZnIpewogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93ZnVsbHNjcmVlbicsJycpOwogICAgICAgICAgICAgICAgICAgIHZhciBjdXIgPSBpZnIuZ2V0QXR0cmlidXRlKCdhbGxvdycpIHx8ICcnOwogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93JywgKGN1ciA/IGN1ciArICc7ICcgOiAnJykgKyAnZnVsbHNjcmVlbicpOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgICAgIGNhcmQuX3l0UGxheWVyID0gcGxheWVyOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICAgIHRyeXsgY2FyZC5yZW1vdmVDaGlsZChob2xkZXIpOyB9Y2F0Y2goXyl7IH0KICAgICAgICAgIC8vIFNpIGZhbGxhIGxhIEFQSSwgZGVqYW1vcyBlbCBw83N0ZXIgaGFzdGEgaW50ZXJhY2Np824KICAgICAgICAgIGlmKHBvc3Rlcil7IHBvc3Rlci5zdHlsZS5vcGFjaXR5PScnOyBwb3N0ZXIuc3R5bGUucG9pbnRlckV2ZW50cz0nJzsgfQogICAgICAgICAgY2FyZC5feXRJbml0ID0gZmFsc2U7CiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIC8vIEluaWNpYWxpemFyIGF1dG9t4XRpY2FtZW50ZSBsb3MgcGxheWVycyBkZSBsYXMgdGFyamV0YXMgdmlzaWJsZXMgYWwgY2FyZ2FyCiAgICAgIHZhciBpbml0SU8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcyl7CiAgICAgICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVuKXsgaWYoZW4uaXNJbnRlcnNlY3RpbmcpeyBpbml0UGxheWVyRm9yQ2FyZChlbi50YXJnZXQpOyB9IH0pOwogICAgICB9LCB7IHJvb3Q6IG51bGwsIHRocmVzaG9sZDogMC4yNSB9KTsKICAgICAgcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuY2FyZCcpLmZvckVhY2goZnVuY3Rpb24oYyl7IGluaXRJTy5vYnNlcnZlKGMpOyB9KTsKCiAgICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsKICAgICAgICB2YXIgYSA9IGUudGFyZ2V0LmNsb3Nlc3QoJ2EuY2FyZFtkYXRhLXl0LWlkXScpOwogICAgICAgIGlmKCFhIHx8ICFyb290LmNvbnRhaW5zKGEpKSByZXR1cm47CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIHZhciBwb3N0ZXIgPSBhLnF1ZXJ5U2VsZWN0b3IoJ2ltZy50aHVtYicpOwogICAgICAgIC8vIHNpbiBvdmVybGF5cyBwZXJzb25hbGl6YWRvcwoKICAgICAgICAvLyBUb2dnbGUgc2kgeWEgaGF5IHBsYXllcgogICAgICAgIGlmIChhLl95dFBsYXllcil7CiAgICAgICAgICB2YXIgcCA9IGEuX3l0UGxheWVyOwogICAgICAgICAgaWYgKGEuY2xhc3NMaXN0LmNvbnRhaW5zKCdpcy1wYXVzZWQnKSl7CiAgICAgICAgICAgIHRyeXsgcC51bk11dGUoKTsgcC5zZXRWb2x1bWUoMTAwKTsgcC5wbGF5VmlkZW8oKTsgfWNhdGNoKF8peyB9CiAgICAgICAgICAgIGEuY2xhc3NMaXN0LnJlbW92ZSgnaXMtcGF1c2VkJyk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0cnl7IHAucGF1c2VWaWRlbygpOyB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgYS5jbGFzc0xpc3QuYWRkKCdpcy1wYXVzZWQnKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgc3RvcFRlYXNlcihhKTsKICAgICAgICB2YXIgaWQgPSBhLmdldEF0dHJpYnV0ZSgnZGF0YS15dC1pZCcpOwogICAgICAgIHZhciBob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBob2xkZXIuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaG9sZGVyLnN0eWxlLmluc2V0PScwJzsgaG9sZGVyLnN0eWxlLndpZHRoPScxMDAlJzsgaG9sZGVyLnN0eWxlLmhlaWdodD0nMTAwJSc7IGhvbGRlci5zdHlsZS5iYWNrZ3JvdW5kPScjMDAwJzsKICAgICAgICBpZihwb3N0ZXIpeyBhLmluc2VydEJlZm9yZShob2xkZXIsIHBvc3Rlcik7IH0gZWxzZSB7IGEuYXBwZW5kQ2hpbGQoaG9sZGVyKTsgfQoKICAgICAgICBlbnN1cmVZVEFwaSgpLnRoZW4oZnVuY3Rpb24oKXsKICAgICAgICAgIHZhciBwbGF5ZXIgPSBuZXcgWVQuUGxheWVyKGhvbGRlciwgewogICAgICAgICAgICB2aWRlb0lkOiBpZCwKICAgICAgICAgICAgcGxheWVyVmFyczogeyBhdXRvcGxheToxLCBjb250cm9sczoxLCByZWw6MCwgcGxheXNpbmxpbmU6MSwgaXZfbG9hZF9wb2xpY3k6MywgbW9kZXN0YnJhbmRpbmc6MSwgZnM6MSwgb3JpZ2luOiAobG9jYXRpb24gJiYgbG9jYXRpb24ub3JpZ2luKSA/IGxvY2F0aW9uLm9yaWdpbiA6IHVuZGVmaW5lZCB9LAogICAgICAgICAgICBldmVudHM6IHsKICAgICAgICAgICAgICBvblJlYWR5OiBmdW5jdGlvbihldil7CiAgICAgICAgICAgICAgICB0cnl7IGV2LnRhcmdldC51bk11dGUoKTsgZXYudGFyZ2V0LnNldFZvbHVtZSgxMDApOyBldi50YXJnZXQucGxheVZpZGVvKCk7IH1jYXRjaChfKXt9CiAgICAgICAgICAgICAgICAvLyBGb3J6YXIgZnVsbHNjcmVlbiBkaXNwb25pYmxlIGVuIGlmcmFtZSBJRnJhbWUgQVBJCiAgICAgICAgICAgICAgICB0cnl7CiAgICAgICAgICAgICAgICAgIHZhciBpZnIgPSBwbGF5ZXIuZ2V0SWZyYW1lICYmIHBsYXllci5nZXRJZnJhbWUoKTsKICAgICAgICAgICAgICAgICAgaWYgKGlmcil7CiAgICAgICAgICAgICAgICAgICAgaWZyLnNldEF0dHJpYnV0ZSgnYWxsb3dmdWxsc2NyZWVuJywnJyk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGN1ciA9IGlmci5nZXRBdHRyaWJ1dGUoJ2FsbG93JykgfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgaWZyLnNldEF0dHJpYnV0ZSgnYWxsb3cnLCAoY3VyID8gY3VyICsgJzsgJyA6ICcnKSArICdmdWxsc2NyZWVuJyk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH1jYXRjaChfKXsgfQogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiA9IHBvc3Rlci5zdHlsZS50cmFuc2l0aW9uIHx8ICdvcGFjaXR5IC4xNXMgZWFzZSc7IHBvc3Rlci5zdHlsZS5vcGFjaXR5PScwJzsgfQogICAgICAgICAgICAgICAgICBhLmNsYXNzTGlzdC5hZGQoJ2lzLXBsYXlpbmcnKTsKICAgICAgICAgICAgICAgICAgYS5feXRQbGF5ZXIgPSBwbGF5ZXI7CiAgICAgICAgICAgICAgICB9LCAxMDApOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICAgIC8vIEZhbGxiYWNrOiBpZnJhbWUgc2ltcGxlCiAgICAgICAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CiAgICAgICAgICBpZnJhbWUuc3JjID0gbWFrZUVtYmVkVXJsKGlkLCB7YXV0b3BsYXk6dHJ1ZSwgbXV0ZTpmYWxzZX0pOwogICAgICAgICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgnYWxsb3cnLCAnYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYTsgcGljdHVyZS1pbi1waWN0dXJlJyk7CiAgICAgICAgICBpZnJhbWUuc2V0QXR0cmlidXRlKCdhbGxvd2Z1bGxzY3JlZW4nLCAnJyk7CiAgICAgICAgICBpZnJhbWUuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaWZyYW1lLnN0eWxlLmluc2V0PScwJzsgaWZyYW1lLnN0eWxlLndpZHRoPScxMDAlJzsgaWZyYW1lLnN0eWxlLmhlaWdodD0nMTAwJSc7IGlmcmFtZS5zdHlsZS5ib3JkZXI9JzAnOyBpZnJhbWUuc3R5bGUuZGlzcGxheT0nYmxvY2snOyBpZnJhbWUuc3R5bGUuYmFja2dyb3VuZD0nIzAwMCc7CiAgICAgICAgICBob2xkZXIucmVwbGFjZVdpdGgoaWZyYW1lKTsKICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgYS5jbGFzc0xpc3QuYWRkKCdpcy1wbGF5aW5nJyk7IH0sIDE1MCk7CiAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgCiAgICB9KSgpOwogICAgPC9zY3JpcHQ+
      CiAgICA8c3R5bGU+CiAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MnKTsKCiAgICAvKiBDb250ZW5lZG9yIHByaW5jaXBhbCBsaW1pdGFkbyBhIDk2MHB4IGVuIGVzY3JpdG9yaW8gKi8KICAgIC5jdi0wNWpjaiAuc2VjdGlvbnttYXgtd2lkdGg6OTYwcHg7bWFyZ2luOjAgYXV0bzt3aWR0aDoxMDAlfQoKICAgIC5jdi0wNWpjaiAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjo4cHggMCA1MHB4fQogICAgLmN2LTA1amNqIC5mbmQtbGluZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NXB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luLXRvcDotMjVweDtib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzN9CiAgICAuY3YtMDVqY2ogLnNlY3Rpb24tdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjRweCAxM3B4O2JvcmRlcjoxcHggc29saWQgIzMzMztmb250LXNpemU6NDJweDt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyl9CgogICAgLmN2LTA1amNqIC5jYXJvdXNlbHstLWdhcDoxNnB4Oy0tcGVlazoxMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tZ2FwKTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206NnB4fQogICAgLmN2LTA1amNqIC50cmFja3tkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLWdhcCk7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnk7c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtwYWRkaW5nLXJpZ2h0OjB9CiAgICAuY3YtMDVqY2ogLnRyYWNrOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9CiAgICAuY3YtMDVqY2ogLmNhcmR7cG9zaXRpb246cmVsYXRpdmU7ZmxleDowIDAgYXV0bztzY3JvbGwtc25hcC1hbGlnbjpzdGFydDt3aWR0aDpjYWxjKCgxMDAlIC0gMip2YXIoLS1nYXApIC0gdmFyKC0tcGVlaykpLzMpO2FzcGVjdC1yYXRpbzo5LzE2O2JvcmRlci1yYWRpdXM6MTBweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojMDAwO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgZWFzZSwgdHJhbnNmb3JtIC40cyBlYXNlfQogICAgLmN2LTA1amNqIC5jYXJkLmlzLWlue29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX0KCiAgICAuY3YtMDVqY2ogLnRodW1ie3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgZWFzZSwgb3BhY2l0eSAuMjVzIGVhc2U7dHJhbnNmb3JtOnNjYWxlKDEuMDEpfQogICAgLmN2LTA1amNqIC5jYXJkOmhvdmVyIC50aHVtYiwuY3YtMDVqY2ogLmNhcmQ6Zm9jdXMtdmlzaWJsZSAudGh1bWJ7dHJhbnNmb3JtOnNjYWxlKDEuMDYpfQogICAgLyogU2luIG92ZXJsYXlzIHBlcnNvbmFsaXphZG9zOiBzZSB1c2FuIGNvbnRyb2xlcyBuYXRpdm9zIGRlbCBwbGF5ZXIgKi8KCiAgICAuY3YtMDVqY2ogLmFye3Bvc2l0aW9uOnJlbGF0aXZlfQogICAgLmN2LTA1amNqIC5hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2IoMjU1IDI1NSAyNTUgLyAyMCUpO2JveC1zaGFkb3c6MCA2cHggMTZweCByZ2IoMCAwIDAgLyAyMCUpO2JvcmRlcjoxcHggc29saWQgI2ZmZjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoyO3RyYW5zaXRpb246LjNzfQogICAgLmN2LTA1amNqIC5hcnJvdzpob3ZlcntiYWNrZ3JvdW5kOnJnYigwIDAgMCAvIDIwJSk7Ym9yZGVyOjFweCBzb2xpZCAjZmZmfQogICAgLmN2LTA1amNqIC5hcnJvdzpmb2N1c3tiYWNrZ3JvdW5kOnJnYigyNTUgMjU1IDI1NSAvIDIwJSl9CiAgICAuY3YtMDVqY2ogLmFycm93IHN2Z3t3aWR0aDoyMHB4O2hlaWdodDoyMHB4fQogICAgLmN2LTA1amNqIC5hcnJvdy5sZWZ0e2xlZnQ6MTBweH0KICAgIC5jdi0wNWpjaiAuYXJyb3cucmlnaHR7cmlnaHQ6MTBweH0KCiAgICBAbWVkaWEgKG1heC13aWR0aDo3NjhweCl7CiAgICAgIC8qIEVuIG3zdmlsLCBlbCBjb250ZW5lZG9yIG9jdXBhIHRvZG8gZWwgYW5jaG8gKi8KICAgICAgLmN2LTA1amNqIC5zZWN0aW9ue21heC13aWR0aDoxMDAlfQogICAgICAuY3YtMDVqY2ogLnNlY3Rpb24tdGl0bGV7Zm9udC1zaXplOjI3cHg7cGFkZGluZzoycHggOHB4O3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKX0KICAgICAgLmN2LTA1amNqIC5jYXJvdXNlbHstLXBlZWs6MTIlfQogICAgICAvKiAyIHRhcmpldGFzIGNvbXBsZXRhcyArIHVuIHBlZWsgZGUgbGEgM6ogKi8KICAgICAgLmN2LTA1amNqIC5jYXJke3dpZHRoOmNhbGMoKDEwMCUgLSA0KnZhcigtLWdhcCkgLSB2YXIoLS1wZWVrKSkvMSl9CiAgICAgIC5jdi0wNWpjaiAuYXJyb3d7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9CiAgICAgIC5jdi0wNWpjaiAudHJhY2t7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3BhZGRpbmctcmlnaHQ6MH0KICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iY3YtMDVqY2oiPgogICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgYXJpYS1sYWJlbD0iQ2FycnVzZWwgZGUgdu1kZW9zIChTaG9ydHMpIj4KICAgICAgICA8ZGl2IGNsYXNzPSJiZy1zZWN0aW9uLXRpdGxlIj4KICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TG9zICdzaG9ydHMnIGRlIE9LRElBUklPPC9oMj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbmQtbGluZWEiPjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhciIgcm9sZT0icmVnaW9uIiBhcmlhLWxhYmVsPSJMaXN0YWRvIGRlIHbtZGVvcyI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhcnJvdyBsZWZ0IiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IkFudGVyaW9yIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNMTUgNmwtNiA2IDYgNiIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhcnJvdyByaWdodCIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJTaWd1aWVudGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik05IDE4bDYtNi02LTYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmFjayIgcm9sZT0ibGlzdCI+CgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvTFlkQ0pMQ09QUGMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJMWWRDSkxDT1BQYyIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL0xZZENKTENPUFBjL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCAxIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzL1U2R1FraUxWeUZRIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iVTZHUWtpTFZ5RlEiIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9VNkdRa2lMVnlGUS9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgMiIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy9LalVtZnhqdmNmQSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9IktqVW1meGp2Y2ZBIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvS2pVbWZ4anZjZkEvaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDMiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvTHprX0t2N050eXMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJMemtfS3Y3TnR5cyIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL0x6a19LdjdOdHlzL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCA0IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzL2hRQnREdlBFd3lNIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iaFFCdER2UEV3eU0iIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9oUUJ0RHZQRXd5TS9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgNSIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy9DNmUzREx0cVZDRSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9IkM2ZTNETHRxVkNFIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvQzZlM0RMdHFWQ0UvaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDYiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvMDlKOUZBSFZWSjAiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSIwOUo5RkFIVlZKMCIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpLzA5SjlGQUhWVkowL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCA3IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+CiAgICA8c2NyaXB0PgogICAgKGZ1bmN0aW9uKCl7CiAgICAgIHZhciByb290ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmN2LTA1amNqJyk7CiAgICAgIGlmICghcm9vdCkgcmV0dXJuOwogICAgICB2YXIgdHJhY2sgPSByb290LnF1ZXJ5U2VsZWN0b3IoJy50cmFjaycpOwogICAgICBpZiAoIXRyYWNrKSByZXR1cm47CgogICAgICB2YXIgYXJyb3dzID0gcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuYXJyb3cnKTsKICAgICAgdmFyIEdBUCA9IDE2OwoKICAgICAgZnVuY3Rpb24gZ2V0Q2FyZFdpZHRoKCl7CiAgICAgICAgdmFyIGZpcnN0ID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcuY2FyZCcpOwogICAgICAgIGlmICghZmlyc3QpIHJldHVybiAwOwogICAgICAgIHJldHVybiBmaXJzdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gZ2V0Q2FyZHNQZXJQYWdlKCl7CiAgICAgICAgLy8gRGVzazogYXZhbnphIGRlIHVuYSBlbiB1bmEgdGFyamV0YQogICAgICAgIHJldHVybiAod2luZG93LmlubmVyV2lkdGggPD0gNzY4KSA/IDIgOiAxOwogICAgICB9CgogICAgICBhcnJvd3MuZm9yRWFjaChmdW5jdGlvbihidG4pewogICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpewogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgdmFyIGRpciA9IHRoaXMuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWZ0JykgPyAtMSA6IDE7CiAgICAgICAgICB2YXIgY2FyZFcgPSBnZXRDYXJkV2lkdGgoKTsKICAgICAgICAgIGlmICghY2FyZFcpIHJldHVybjsKICAgICAgICAgIHZhciBzdGVwID0gKGNhcmRXICsgR0FQKSAqIGdldENhcmRzUGVyUGFnZSgpICogZGlyOwogICAgICAgICAgdHJhY2suc2Nyb2xsQnkoeyBsZWZ0OiBzdGVwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgLy8gRmFkZS1pbiBhbCBlbnRyYXIgZW4gdmlld3BvcnQKICAgICAgdmFyIGlvID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpewogICAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlbil7IGlmKGVuLmlzSW50ZXJzZWN0aW5nKXsgZW4udGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2lzLWluJyk7IH0gfSk7CiAgICAgIH0sIHsgcm9vdDogdHJhY2ssIHRocmVzaG9sZDogMC4xIH0pOwogICAgICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jYXJkJykuZm9yRWFjaChmdW5jdGlvbihjKXsgaW8ub2JzZXJ2ZShjKTsgfSk7CgogICAgICAvLyBDbGljayBwZXJzaXN0ZW50ZSAoc2luIHRlYXNlciBwb3IgaG92ZXIpCiAgICAgIGZ1bmN0aW9uIG1ha2VFbWJlZFVybChpZCwgb3B0cyl7CiAgICAgICAgdmFyIHFzID0gWwogICAgICAgICAgJ2F1dG9wbGF5PScgKyAob3B0cyAmJiBvcHRzLmF1dG9wbGF5PyAnMSc6JzAnKSwKICAgICAgICAgICdwbGF5c2lubGluZT0xJywnZnM9MScsJ2l2X2xvYWRfcG9saWN5PTMnLCdzaG93aW5mbz0xJywncmVsPTAnLCdjY19sb2FkX3BvbGljeT0wJywnc3RhcnQ9MCcsCiAgICAgICAgICAnbXV0ZT0nICsgKG9wdHMgJiYgb3B0cy5tdXRlPyAnMSc6JzAnKSwKICAgICAgICAgIChvcHRzICYmIG9wdHMuY29udHJvbHM9PT0wPyAnY29udHJvbHM9MCc6J2NvbnRyb2xzPTEnKSwKICAgICAgICAgICdtb2Rlc3RicmFuZGluZz0xJywnZW5hYmxlanNhcGk9MScKICAgICAgICBdLmpvaW4oJyYnKTsKICAgICAgICByZXR1cm4gJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLycgKyBpZCArICc/JyArIHFzOwogICAgICB9CgogICAgICAvLyBDYXJnYXIgQVBJIGRlIFlvdVR1YmUgYmFqbyBkZW1hbmRhCiAgICAgIHZhciB5dEFwaVByb21pc2UgPSBudWxsOwogICAgICBmdW5jdGlvbiBlbnN1cmVZVEFwaSgpewogICAgICAgIGlmICh3aW5kb3cuWVQgJiYgd2luZG93LllULlBsYXllcikgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwogICAgICAgIGlmICh5dEFwaVByb21pc2UpIHJldHVybiB5dEFwaVByb21pc2U7CiAgICAgICAgeXRBcGlQcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSl7CiAgICAgICAgICB2YXIgcHJldkNiID0gd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5OwogICAgICAgICAgd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5ID0gZnVuY3Rpb24oKXsgaWYgKHR5cGVvZiBwcmV2Q2I9PT0nZnVuY3Rpb24nKSB7IHRyeXsgcHJldkNiKCk7IH1jYXRjaChfKXt9IH0gcmVzb2x2ZSgpOyB9OwogICAgICAgICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICAgIHMuc3JjID0gJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGknOwogICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4geXRBcGlQcm9taXNlOwogICAgICB9CgogICAgICAvLyBJbnN0YW5jaWFyIHBsYXllciBuYXRpdm8gZW4gdGFyamV0YXMgdmlzaWJsZXMgcGFyYSBxdWUgZWwgaWNvbm8gZGUgcGxheSBhcGFyZXpjYSBkZXNkZSBlbCBpbmljaW8KICAgICAgZnVuY3Rpb24gaW5pdFBsYXllckZvckNhcmQoY2FyZCl7CiAgICAgICAgaWYoIWNhcmQgfHwgY2FyZC5feXRQbGF5ZXIgfHwgY2FyZC5feXRJbml0KSByZXR1cm47CiAgICAgICAgdmFyIGlkID0gY2FyZC5nZXRBdHRyaWJ1dGUoJ2RhdGEteXQtaWQnKTsKICAgICAgICBpZighaWQpIHJldHVybjsKICAgICAgICBjYXJkLl95dEluaXQgPSB0cnVlOwogICAgICAgIHZhciBwb3N0ZXIgPSBjYXJkLnF1ZXJ5U2VsZWN0b3IoJ2ltZy50aHVtYicpOwogICAgICAgIHZhciBob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBob2xkZXIuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaG9sZGVyLnN0eWxlLmluc2V0PScwJzsgaG9sZGVyLnN0eWxlLndpZHRoPScxMDAlJzsgaG9sZGVyLnN0eWxlLmhlaWdodD0nMTAwJSc7IGhvbGRlci5zdHlsZS5iYWNrZ3JvdW5kPScjMDAwJzsKICAgICAgICBpZihwb3N0ZXIpeyBjYXJkLmluc2VydEJlZm9yZShob2xkZXIsIHBvc3Rlcik7IH0gZWxzZSB7IGNhcmQuYXBwZW5kQ2hpbGQoaG9sZGVyKTsgfQogICAgICAgIC8vIE9jdWx0YW1vcyBlbCBw83N0ZXIgY3VhbnRvIGFudGVzIHBhcmEgZGVqYXIgdmVyIGVsIG92ZXJsYXkgbmF0aXZvCiAgICAgICAgaWYocG9zdGVyKXsgcG9zdGVyLnN0eWxlLnRyYW5zaXRpb24gPSBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiB8fCAnb3BhY2l0eSAuMTVzIGVhc2UnOyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IHBvc3Rlci5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJzsgfQogICAgICAgIGVuc3VyZVlUQXBpKCkudGhlbihmdW5jdGlvbigpewogICAgICAgICAgdmFyIHBsYXllciA9IG5ldyBZVC5QbGF5ZXIoaG9sZGVyLCB7CiAgICAgICAgICAgIHZpZGVvSWQ6IGlkLAogICAgICAgICAgICBwbGF5ZXJWYXJzOiB7IGF1dG9wbGF5OjAsIGNvbnRyb2xzOjEsIHJlbDowLCBwbGF5c2lubGluZToxLCBpdl9sb2FkX3BvbGljeTozLCBtb2Rlc3RicmFuZGluZzoxLCBmczoxLCBvcmlnaW46IChsb2NhdGlvbiAmJiBsb2NhdGlvbi5vcmlnaW4pID8gbG9jYXRpb24ub3JpZ2luIDogdW5kZWZpbmVkIH0sCiAgICAgICAgICAgIGV2ZW50czogewogICAgICAgICAgICAgIG9uUmVhZHk6IGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IHBvc3Rlci5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJzsgfQogICAgICAgICAgICAgICAgLy8gRm9yemFyIHBlcm1pc29zIGRlIHBhbnRhbGxhIGNvbXBsZXRhIGVuIGVsIGlmcmFtZSBnZW5lcmFkbwogICAgICAgICAgICAgICAgdHJ5ewogICAgICAgICAgICAgICAgICB2YXIgaWZyID0gcGxheWVyLmdldElmcmFtZSAmJiBwbGF5ZXIuZ2V0SWZyYW1lKCk7CiAgICAgICAgICAgICAgICAgIGlmIChpZnIpewogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93ZnVsbHNjcmVlbicsJycpOwogICAgICAgICAgICAgICAgICAgIHZhciBjdXIgPSBpZnIuZ2V0QXR0cmlidXRlKCdhbGxvdycpIHx8ICcnOwogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93JywgKGN1ciA/IGN1ciArICc7ICcgOiAnJykgKyAnZnVsbHNjcmVlbicpOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgICAgIGNhcmQuX3l0UGxheWVyID0gcGxheWVyOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICAgIHRyeXsgY2FyZC5yZW1vdmVDaGlsZChob2xkZXIpOyB9Y2F0Y2goXyl7IH0KICAgICAgICAgIC8vIFNpIGZhbGxhIGxhIEFQSSwgZGVqYW1vcyBlbCBw83N0ZXIgaGFzdGEgaW50ZXJhY2Np824KICAgICAgICAgIGlmKHBvc3Rlcil7IHBvc3Rlci5zdHlsZS5vcGFjaXR5PScnOyBwb3N0ZXIuc3R5bGUucG9pbnRlckV2ZW50cz0nJzsgfQogICAgICAgICAgY2FyZC5feXRJbml0ID0gZmFsc2U7CiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIC8vIEluaWNpYWxpemFyIGF1dG9t4XRpY2FtZW50ZSBsb3MgcGxheWVycyBkZSBsYXMgdGFyamV0YXMgdmlzaWJsZXMgYWwgY2FyZ2FyCiAgICAgIHZhciBpbml0SU8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcyl7CiAgICAgICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVuKXsgaWYoZW4uaXNJbnRlcnNlY3RpbmcpeyBpbml0UGxheWVyRm9yQ2FyZChlbi50YXJnZXQpOyB9IH0pOwogICAgICB9LCB7IHJvb3Q6IG51bGwsIHRocmVzaG9sZDogMC4yNSB9KTsKICAgICAgcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuY2FyZCcpLmZvckVhY2goZnVuY3Rpb24oYyl7IGluaXRJTy5vYnNlcnZlKGMpOyB9KTsKCiAgICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsKICAgICAgICB2YXIgYSA9IGUudGFyZ2V0LmNsb3Nlc3QoJ2EuY2FyZFtkYXRhLXl0LWlkXScpOwogICAgICAgIGlmKCFhIHx8ICFyb290LmNvbnRhaW5zKGEpKSByZXR1cm47CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIHZhciBwb3N0ZXIgPSBhLnF1ZXJ5U2VsZWN0b3IoJ2ltZy50aHVtYicpOwogICAgICAgIC8vIHNpbiBvdmVybGF5cyBwZXJzb25hbGl6YWRvcwoKICAgICAgICAvLyBUb2dnbGUgc2kgeWEgaGF5IHBsYXllcgogICAgICAgIGlmIChhLl95dFBsYXllcil7CiAgICAgICAgICB2YXIgcCA9IGEuX3l0UGxheWVyOwogICAgICAgICAgaWYgKGEuY2xhc3NMaXN0LmNvbnRhaW5zKCdpcy1wYXVzZWQnKSl7CiAgICAgICAgICAgIHRyeXsgcC51bk11dGUoKTsgcC5zZXRWb2x1bWUoMTAwKTsgcC5wbGF5VmlkZW8oKTsgfWNhdGNoKF8peyB9CiAgICAgICAgICAgIGEuY2xhc3NMaXN0LnJlbW92ZSgnaXMtcGF1c2VkJyk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0cnl7IHAucGF1c2VWaWRlbygpOyB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgYS5jbGFzc0xpc3QuYWRkKCdpcy1wYXVzZWQnKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgc3RvcFRlYXNlcihhKTsKICAgICAgICB2YXIgaWQgPSBhLmdldEF0dHJpYnV0ZSgnZGF0YS15dC1pZCcpOwogICAgICAgIHZhciBob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBob2xkZXIuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaG9sZGVyLnN0eWxlLmluc2V0PScwJzsgaG9sZGVyLnN0eWxlLndpZHRoPScxMDAlJzsgaG9sZGVyLnN0eWxlLmhlaWdodD0nMTAwJSc7IGhvbGRlci5zdHlsZS5iYWNrZ3JvdW5kPScjMDAwJzsKICAgICAgICBpZihwb3N0ZXIpeyBhLmluc2VydEJlZm9yZShob2xkZXIsIHBvc3Rlcik7IH0gZWxzZSB7IGEuYXBwZW5kQ2hpbGQoaG9sZGVyKTsgfQoKICAgICAgICBlbnN1cmVZVEFwaSgpLnRoZW4oZnVuY3Rpb24oKXsKICAgICAgICAgIHZhciBwbGF5ZXIgPSBuZXcgWVQuUGxheWVyKGhvbGRlciwgewogICAgICAgICAgICB2aWRlb0lkOiBpZCwKICAgICAgICAgICAgcGxheWVyVmFyczogeyBhdXRvcGxheToxLCBjb250cm9sczoxLCByZWw6MCwgcGxheXNpbmxpbmU6MSwgaXZfbG9hZF9wb2xpY3k6MywgbW9kZXN0YnJhbmRpbmc6MSwgZnM6MSwgb3JpZ2luOiAobG9jYXRpb24gJiYgbG9jYXRpb24ub3JpZ2luKSA/IGxvY2F0aW9uLm9yaWdpbiA6IHVuZGVmaW5lZCB9LAogICAgICAgICAgICBldmVudHM6IHsKICAgICAgICAgICAgICBvblJlYWR5OiBmdW5jdGlvbihldil7CiAgICAgICAgICAgICAgICB0cnl7IGV2LnRhcmdldC51bk11dGUoKTsgZXYudGFyZ2V0LnNldFZvbHVtZSgxMDApOyBldi50YXJnZXQucGxheVZpZGVvKCk7IH1jYXRjaChfKXt9CiAgICAgICAgICAgICAgICAvLyBGb3J6YXIgZnVsbHNjcmVlbiBkaXNwb25pYmxlIGVuIGlmcmFtZSBJRnJhbWUgQVBJCiAgICAgICAgICAgICAgICB0cnl7CiAgICAgICAgICAgICAgICAgIHZhciBpZnIgPSBwbGF5ZXIuZ2V0SWZyYW1lICYmIHBsYXllci5nZXRJZnJhbWUoKTsKICAgICAgICAgICAgICAgICAgaWYgKGlmcil7CiAgICAgICAgICAgICAgICAgICAgaWZyLnNldEF0dHJpYnV0ZSgnYWxsb3dmdWxsc2NyZWVuJywnJyk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGN1ciA9IGlmci5nZXRBdHRyaWJ1dGUoJ2FsbG93JykgfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgaWZyLnNldEF0dHJpYnV0ZSgnYWxsb3cnLCAoY3VyID8gY3VyICsgJzsgJyA6ICcnKSArICdmdWxsc2NyZWVuJyk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH1jYXRjaChfKXsgfQogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiA9IHBvc3Rlci5zdHlsZS50cmFuc2l0aW9uIHx8ICdvcGFjaXR5IC4xNXMgZWFzZSc7IHBvc3Rlci5zdHlsZS5vcGFjaXR5PScwJzsgfQogICAgICAgICAgICAgICAgICBhLmNsYXNzTGlzdC5hZGQoJ2lzLXBsYXlpbmcnKTsKICAgICAgICAgICAgICAgICAgYS5feXRQbGF5ZXIgPSBwbGF5ZXI7CiAgICAgICAgICAgICAgICB9LCAxMDApOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICAgIC8vIEZhbGxiYWNrOiBpZnJhbWUgc2ltcGxlCiAgICAgICAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CiAgICAgICAgICBpZnJhbWUuc3JjID0gbWFrZUVtYmVkVXJsKGlkLCB7YXV0b3BsYXk6dHJ1ZSwgbXV0ZTpmYWxzZX0pOwogICAgICAgICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgnYWxsb3cnLCAnYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYTsgcGljdHVyZS1pbi1waWN0dXJlJyk7CiAgICAgICAgICBpZnJhbWUuc2V0QXR0cmlidXRlKCdhbGxvd2Z1bGxzY3JlZW4nLCAnJyk7CiAgICAgICAgICBpZnJhbWUuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaWZyYW1lLnN0eWxlLmluc2V0PScwJzsgaWZyYW1lLnN0eWxlLndpZHRoPScxMDAlJzsgaWZyYW1lLnN0eWxlLmhlaWdodD0nMTAwJSc7IGlmcmFtZS5zdHlsZS5ib3JkZXI9JzAnOyBpZnJhbWUuc3R5bGUuZGlzcGxheT0nYmxvY2snOyBpZnJhbWUuc3R5bGUuYmFja2dyb3VuZD0nIzAwMCc7CiAgICAgICAgICBob2xkZXIucmVwbGFjZVdpdGgoaWZyYW1lKTsKICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgYS5jbGFzc0xpc3QuYWRkKCdpcy1wbGF5aW5nJyk7IH0sIDE1MCk7CiAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgCiAgICB9KSgpOwogICAgPC9zY3JpcHQ+
    • Trump carga contra la nueva Nobel de la Paz y vuelve a pedir el galardón: Ella odia a Israel, yo he resuelto ocho guerras
        • Internacional
        • Internacional

      Trump carga contra la nueva Nobel de la Paz y vuelve a pedir el galardón: "Ella odia a Israel, yo he resuelto ocho guerras"

      El presidente de Estados Unidos, ha arremetido contra la nueva galardonada con el Premio Nobel de la Paz, la jurista sudafricana Navanethem Pillay, afirmando que "nadie sabe nada de ella y odia a Israel", mientras ha vuelto a reprochar al Comité Noruego que no le hayan concedido el galardón a él tras atribuirse el mérito de "haber resuelto ocho guerras". Un discurso en el que insiste desde hace años.
      • Paula Benito
      • 2026-10-10 10:58
    • 29-N: Recuerdo permanente de ocho largos años
    • La corrupción de los cometodo
    • Feijóo: todo en el primer mes y con carpetas tabuladas
    • Un fuerte terremoto de 7,7 sacude Panamá con alerta de tsunami en el Pacífico
        • Internacional
        • Internacional

      Un fuerte terremoto de 7,7 sacude Panamá con alerta de tsunami en el Pacífico

      • Neila Gallego
      • 2026-10-09 20:51
    • Media Distancia se desploma un 6,8% en agosto y Cercanías pierde un 5% de viajeros pese al tirón del AVE
        • Economía
        • Economía

      Media Distancia se desploma un 6,8% en agosto y Cercanías pierde un 5% de viajeros pese al tirón del AVE

      • Alicia Bonilla
      • 2026-10-10 14:00
    • 12 de octubre: entre el orgullo y la vergüenza
    • Entrar por curiosidad y salir con ganas de volver: Faro Santander cumple un mes como nueva propuesta cultural
    • La sociedad balear arropa a OKBALEARES en su V Aniversario y abarrota el Palacio de Congresos para ver a Iker Jiménez y Carmen Porter
        • OkBaleares
        • OkBaleares

      La sociedad balear arropa a OKBALEARES en su V Aniversario y abarrota el Palacio de Congresos para ver a Iker Jiménez y Carmen Porter

      El Palacio de Congresos de Palma acogió con motivo del V aniversario de OKBALEARES un encuentro que reunió a miles de personas y representación política, social y económica. El acto central consistió en un coloquio entre Iker Jiménez, Carmen Porter y el director de OKDIARIO, Eduardo Inda.
      • Pedro Serra
      • 2026-10-10 04:00
    • Palma mantiene la guerra contra los manteros en el centro histórico tras la temporada: siete sanciones penales y 3.000 artículos confiscados
        • OkBaleares
        • OkBaleares

      Palma mantiene la guerra contra los manteros: siete sanciones penales y 3.000 artículos confiscados

      • Indalecio Ribelles
      • 2026-10-10 12:01
    • Apuntes de campaña (I)
    • Gasparilla: la joya escondida junto al golfo de México que American Prime pone al alcance del inversor español
    • Mazda CX-6e: el SUV eléctrico que trae el diseño Kodo y el
        • Motor
        • Motor

      Mazda CX-6e: el SUV eléctrico que trae el diseño Kodo y el 'Jinba Ittai' a la era de la electrificación

      El nuevo Mazda CX-6e es la última incorporación a una gama europea de modelos totalmente eléctricos que no deja de crecer, y llega para demostrar que la electrificación no tiene por qué renunciar al diseño emocional ni al placer de conducción. Es un SUV de tamaño medio y silueta atlética que representa la interpretación más artística del lenguaje de diseño Kodo (alma del movimiento). 
      • OKDIARIO
      • 2026-10-09 07:00
    • La combustión dejará de dominar en 2030 la producción mundial de vehículos, que pasará a suponer del 60% al 41% de la fabricación total
    • PHN0eWxlPgogICNjaW50aWxsby1lY2kgewogICAgLyogQSBjb250aW51YWNp824gc2UgZXNwZWNpZmljYSBlbCBjb2xvciBkZWwgZm9uZG8gKi8KICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7CiAgICAvKiBBIGNvbnRpbnVhY2nzbiBzZSBlc3BlY2lmaWNhIGVsIGNvbG9yIGRlbCB0ZXh0byAqLwogICAgY29sb3I6ICMwMDA7CiAgICAvKiBSZWxsZW5vIHBhcmEgZGFyIGVzcGFjaW8gYWwgY29udGVuaWRvICovCiAgICBwYWRkaW5nOiA4cHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJzsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIH0KICAuZWNpLXRpdHVsbyB7CiAgICAvKiBFbCB0YW1h8W8gZGVsIHRleHRvIGRlbCBjb250aWxsbyAqLwogICAgICBmb250LXNpemU6IDI0cHg7CiAgfQogIC5lY2ktbG9nbyB7fQogIC5lY2ktbG9nbyBwIHsKICAgIC8qIEVsIHRhbWHxbyBkZWwgdGV4dG8ganVudG8gYWwgbG9nbyAqLwogICAgZm9udC1zaXplOiAxMHB4OwogIH0KICAuZWNpLWxvZ28gaW1nIHsKICAgIC8qIEVsIHRhbWHxbyBkZWwgbG9nbyAqLwogICAgd2lkdGg6IDEyMHB4OwogICAgaGVpZ2h0OiAzMHB4OwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgfQoKPC9zdHlsZT4KPGEgaHJlZj0iaHR0cHM6Ly93d3cuZWxjb3J0ZWluZ2xlcy5lcy8iIHRhcmdldD0iX2JsYW5rIiBpZD0iY2ludGlsbG8tZWNpIj4KICA8ZGl2IGNsYXNzPSJlY2ktdGl0dWxvIj4KICAgIDwhLS0gRWRpdGFyIGVzdGUgdGV4dG8gSU5JQ0lPIC0tPgogICAgSW5zcGlyYWNp824geSB0ZW5kZW5jaWFzCiAgICA8IS0tIEVkaXRhciBlc3RlIHRleHRvIEZJTiAtLT4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJlY2ktbG9nbyI+CiAgICA8cD4KICAgICAgPCEtLSBFZGl0YXIgZXN0ZSB0ZXh0byBJTklDSU8gLS0+CiAgICAgIEVuIGNvbGFib3JhY2nzbiBjb24KICAgICAgPCEtLSBFZGl0YXIgZXN0ZSB0ZXh0byBGSU4gLS0+CiAgICA8L3A+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2ltZy8yMDI2LzA4LzI3L2xvZ28tZWwtY29ydGUtaW5nbGVzLW5lZ3JvLmpwZyIgYWx0PSJFbCBDb3J0ZSBJbmds6XMiPgogIDwvZGl2Pgo8L2E+
      PHN0eWxlPgogICNjaW50aWxsby1lY2kgewogICAgLyogQSBjb250aW51YWNp824gc2UgZXNwZWNpZmljYSBlbCBjb2xvciBkZWwgZm9uZG8gKi8KICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7CiAgICAvKiBBIGNvbnRpbnVhY2nzbiBzZSBlc3BlY2lmaWNhIGVsIGNvbG9yIGRlbCB0ZXh0byAqLwogICAgY29sb3I6ICMwMDA7CiAgICAvKiBSZWxsZW5vIHBhcmEgZGFyIGVzcGFjaW8gYWwgY29udGVuaWRvICovCiAgICBwYWRkaW5nOiA4cHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJzsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIH0KICAuZWNpLXRpdHVsbyB7CiAgICAvKiBFbCB0YW1h8W8gZGVsIHRleHRvIGRlbCBjb250aWxsbyAqLwogICAgICBmb250LXNpemU6IDI0cHg7CiAgfQogIC5lY2ktbG9nbyB7fQogIC5lY2ktbG9nbyBwIHsKICAgIC8qIEVsIHRhbWHxbyBkZWwgdGV4dG8ganVudG8gYWwgbG9nbyAqLwogICAgZm9udC1zaXplOiAxMHB4OwogIH0KICAuZWNpLWxvZ28gaW1nIHsKICAgIC8qIEVsIHRhbWHxbyBkZWwgbG9nbyAqLwogICAgd2lkdGg6IDEyMHB4OwogICAgaGVpZ2h0OiAzMHB4OwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgfQoKPC9zdHlsZT4KPGEgaHJlZj0iaHR0cHM6Ly93d3cuZWxjb3J0ZWluZ2xlcy5lcy8iIHRhcmdldD0iX2JsYW5rIiBpZD0iY2ludGlsbG8tZWNpIj4KICA8ZGl2IGNsYXNzPSJlY2ktdGl0dWxvIj4KICAgIDwhLS0gRWRpdGFyIGVzdGUgdGV4dG8gSU5JQ0lPIC0tPgogICAgSW5zcGlyYWNp824geSB0ZW5kZW5jaWFzCiAgICA8IS0tIEVkaXRhciBlc3RlIHRleHRvIEZJTiAtLT4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJlY2ktbG9nbyI+CiAgICA8cD4KICAgICAgPCEtLSBFZGl0YXIgZXN0ZSB0ZXh0byBJTklDSU8gLS0+CiAgICAgIEVuIGNvbGFib3JhY2nzbiBjb24KICAgICAgPCEtLSBFZGl0YXIgZXN0ZSB0ZXh0byBGSU4gLS0+CiAgICA8L3A+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2ltZy8yMDI2LzA4LzI3L2xvZ28tZWwtY29ydGUtaW5nbGVzLW5lZ3JvLmpwZyIgYWx0PSJFbCBDb3J0ZSBJbmds6XMiPgogIDwvZGl2Pgo8L2E+
    • si te lo perdiste...

    • Es oficial:
        • Cool
        • Cool

      Es oficial: 'The Walking Dead' cambiará oficialmente de personajes principales en 2027

      • Carmen Fernández Etreros
      • 2026-10-10 12:00
    • John Lennon, músico y compositor: Nos hicieron creer que cada uno de nosotros es la mitad de una naranja, pero nadie nos contó que ya nacemos completos
        • Cool
        • Cool

      John Lennon: "Nos hicieron creer que tenemos una media naranja, pero nacemos completos"

      • Daniel Marín
      • 2026-10-10 13:15
    • En el año 2000 un grupo de escoceses compró un valle para reforestarlo e impidió el acceso de ovejas y cabras: 26 años después ya tienen un bosque de 750.000 árboles
        • Naturaleza
        • Naturaleza

      compraron un valle para reforestarlo en el año 200 y hoy tienen un bosque de 750.000 árboles

      Carrifran, un valle de las Moffat Hills, en Escocia, se ha convertido en un ejemplo de restauración ecológica tras más de dos décadas de trabajo. El proyecto comenzó en los años 90 con la recuperación de un paisaje degradado por el pastoreo. Desde el 2000 se han plantado alrededor de 750.000 árboles y arbustos nativos, seleccionados también a partir de evidencias arqueológicas sobre la vegetación. El cercado del terreno, el seguimiento de la fauna y el voluntariado han sido claves para recuperar bosques, matorrales, turberas y espacios abiertos.
      • Ana López Vera
      • 2026-10-10 08:00
    • El chef Martín Berasategui dicta sentencia: Si mezclas una lata de sardinas con quesitos, perejil y aceite tienes una cena alucinante
        • Recetas de cocina
        • Recetas de cocina

      Martín Berasategui: "Si mezclas una lata de sardinas con quesitos tienes una cena alucinante"

      • Alejo Lucarás
      • 2026-10-10 12:30
    • El plato típico de Navarra no apto para todos los públicos que solo puede disfrutarse en algunos pueblos cuando llega el frío
        • Gastronomía
        • Gastronomía

      El plato típico de Navarra que sólo puede disfrutarse en algunos pueblos

      • Sofía Narváez
      • 2026-10-10 13:00
    • Los científicos no dan crédito: robots hallan bajo el Pacífico, a más de 2.000 metros, coladas del volcán submarino Axial casi 100 veces más voluminosas que sus erupciones históricas
        • Techy
        • Techy

      hallan bajo el Pacífico coladas del volcán Axial 100 veces más voluminosas que sus erupciones

      • Adrián Villellas
      • 2026-10-10 15:29
    • Qué aviones desfilan en el Día de la Hispanidad y desde dónde salen para participar el 12 de octubre
        • España
        • España

      Qué aviones desfilan en el Día de la Hispanidad y desde dónde salen para participar el 12 de octubre

      • Blanca Espada
      • 2026-10-10 13:00
    • La rutina de deporte de Antonio Lobato para mantenerse en forma a los 60: Desayuno una barrita con aguacate, aceite y tomate
        • Cool
        • Cool

      La rutina de deporte de Antonio Lobato para mantenerse en forma a los 60

      • Daniel Marín
      • 2026-10-10 11:27
    • Los chinches de la cama nos invaden en otoño, pero hay un dispositivo que las elimina por menos de 45 euros
        • Curiosidades
        • Curiosidades

      Los chinches de la cama nos invaden en otoño, pero hay un dispositivo que los elimina

      • Manuel Morera
      • 2026-10-10 12:00
    • Los OK y KO del sábado, 10 de octubre de 2026
    • Recuperar la motivación y volver al deporte sin morir en el intento tras el verano junto a Decathlon
    • Diario Madridista

    • El secreto del Real Madrid de Mourinho: prevención, trabajo individual y semáforos rojos
    • El Real Madrid elige a Bellingham como líder del futuro
        • Real Madrid
        • Real Madrid

      El Real Madrid elige a Bellingham como líder del futuro

      • Iván Martín
      • 2026-10-08 21:00
    • Cuándo es el Real Madrid - Villarreal: a qué hora empieza y cómo ver por televisión en directo y en vivo online gratis el partido de la Liga
        • Real Madrid
        • Real Madrid

      Cuándo es el Real Madrid - Villarreal y cómo verlo por televisión y online

      • Alberto Sarmiento
      • 2026-10-09 21:00
    • Deportes

    • Alavés-Atlético: enfermería vacía, ilusión llena
    • Marc Márquez aprovecha los problemas de Aprilia para ganar al sprint y reventar el Mundial
        • Deportes
        • Deportes

      Marc Márquez aprovecha los problemas de Aprilia para ganar al sprint y reventar el Mundial

      • Miguel Zorío
      • 2026-10-10 09:49
    • Marc Márquez, muy crítico tras acabar exhausto en la sprint: Lo del podio es inhumano
        • Deportes
        • Deportes

      Marc Márquez, muy crítico tras acabar exhausto en la sprint: "Lo del podio es inhumano"

      • Miguel Zorío
      • 2026-10-10 10:45
    • Verstappen gana en Singapur con
        • Deportes
        • Deportes

      Verstappen gana en Singapur con 'ayuda' de Russell y Alonso y Sainz se quedan sin premio en una caótica sprint

      • Kike Sáez
      • 2026-10-10 12:22
    • Barcelona - Getafe: el líder mide sus fuerzas
    • Alineación posible del Barcelona contra el Getafe: Gabriel Jesús hará de Raphinha
        • Deportes
        • Deportes

      POSIBLE Alineación del Barcelona contra el Getafe: Gabriel Jesús hará de Raphinha

      • Luis Cobos
      • 2026-10-10 09:10
    • Convocatoria del Barcelona contra el Getafe: vuelve Joan García y se confirma la baja de Raphinha
        • Deportes
        • Deportes

      Joan García vuelve a la convocatoria del Barcelona y Raphinha es baja

      • Miguel Zorío
      • 2026-10-10 13:16
    • ¿Pueden convivir las renovables y el mundo rural? ‘Conexión a Tierra’ busca las respuestas
    • economía

    • China duplica su presencia en el Salón del Automóvil de París y desafía a los fabricantes europeos en casa
        • Motor
        • Motor

      China duplica su presencia en el Salón del Automóvil de París y desafía a los fabricantes europeos en casa

      El Salón del Automóvil de París cumple 128 años en un momento en el que la industria automovilística atraviesa una transformación sin precedentes. Poco queda de la automoción de hace más de un siglo, ya que la electrificación, la llegada de nuevos competidores a los distintos mercados y la presión de la regulación europea han cambiado la forma de entender el sector. 
      • Andrea Aguado
      • 2026-10-10 05:45
    • La presidencia irlandesa propone recortar un 8% el presupuesto europeo y abre la guerra entre el norte y el sur
        • Economía
        • Economía

      La presidencia irlandesa propone recortar un 8% el presupuesto europeo y abre la guerra entre el norte y el sur

      • Xavier Vilaltella
      • 2026-10-10 13:20
    • COOL

    • Sira Martínez, hija de Luis Enrique, viajaba en un coche que ha sufrido un accidente en el que ha fallecido un motorista
        • Cool
        • Cool

      Sira Martínez, hija de Luis Enrique, viajaba en un coche que ha sufrido un accidente en el que ha fallecido un motorista

      • Javi Fernández
      • 2026-10-09 19:57
    • El príncipe Harry recibido entre gritos y abucheos en un estadio de rugby de Leicester
        • Cool
        • Cool

      El príncipe Harry recibido entre gritos y abucheos en un estadio de rugby de Leicester

      • Javi Fernández
      • 2026-10-10 12:24
    • María Patiño vuelve a la televisión y se convierte en el nuevo fichaje estrella de un
        • Cool
        • Cool

      María Patiño vuelve a la televisión y se convierte en el fichaje estrella de un 'late night' de La Sexta

      María Patiño vuelve a la televisión y lo hace en un escenario que pocos habían previsto: La Sexta. La periodista se incorpora al programa 'Cara al show', presentado por Marc Giró, después de varios meses alejada de la pequeña pantalla. Desde el final de 'Ni que fuéramos...', su futuro profesional había estado rodeado de incógnitas y rumores sobre una posible vuelta. Ahora, la comunicadora vuelve a ponerse delante de las cámaras y abre una nueva etapa en su trayectoria.
      • Javi Fernández
      • 2026-10-10 11:15
    • Madonna compra la mansión de Angelina Jolie en Los Ángeles por 19,5 millones de euros
        • Cool
        • Cool

      Madonna compra la mansión de Angelina Jolie en Los Ángeles por 19,5 millones de euros

      • Rocío Álvarez
      • 2026-10-10 12:39
    • Los abogados de Angelina Jolie acusan a Brad Pitt de «intentar controlarla» en su guerra por el château francés
        • Cool
        • Cool

      Los abogados de Angelina Jolie acusan a Brad Pitt de "intentar controlarla" en su guerra por el château francés

      • Javi Fernández
      • 2026-10-10 13:44
    • Filipa Sáragga, artista portuguesa, reflexiona sobre la maternidad en su obra: No ha sido nada fácil para mi
        • Cool
        • Cool

      Filipa Sáragga reflexiona sobre la maternidad en su obra: "No ha sido nada fácil para mi"

      • Lucía Lera
      • 2026-10-10 09:36
    • Happy FM

    • El youtuber Luisito Comunica desvela el país que le dejó en shock: Todo el mundo tiene un AK-47
        • HappyFM
        • HappyFM

      El youtuber Luisito Comunica desvela el país que le dejó en shock: "Todo el mundo tiene un AK-47"

      • Idania Monzón
      • 2026-10-10 14:31
    • Manuel Carrasco confiesa la admiración que siente por este actor: Lo vi el otro día y le dije…
        • HappyFM
        • HappyFM

      Manuel Carrasco confiesa la admiración que siente por este actor: "Lo vi el otro día y le dije…"

      • Idania Monzón
      • 2026-10-10 12:21
    • Así compró un concursante su plaza en
        • HappyFM
        • HappyFM

      Así compró un concursante su plaza en 'Gran Hermano' por miles de euros

      • María Peñafiel de Blas
      • 2026-10-10 10:16
    • Jordi Wild lanza una invitación a Pedro Sánchez a su podcast: No te lo vamos a poner fácil
        • HappyFM
        • HappyFM

      Jordi Wild lanza una invitación a Pedro Sánchez a su podcast: "No te lo vamos a poner fácil"

      • María Peñafiel de Blas
      • 2026-10-09 14:02
    • Así es el desayuno que Kendall Jenner ha puesto de moda
        • HappyFM
        • HappyFM

      Así es el desayuno que Kendall Jenner ha puesto de moda

      • Idania Monzón
      • 2026-10-09 18:21
    • 'Aquel
        • HappyFM
        • HappyFM

      'Aquel': ¿cuántos capítulos tiene la serie de Raphael en Netflix?

      • Idania Monzón
      • 2026-10-09 13:06
    • Okmotor

    • Lexus planta cara a las berlinas alemanas con un nuevo ES eléctrico de hasta 581 km de autonomía
        • Motor
        • Motor

      Lexus planta cara a las berlinas alemanas con un nuevo ES eléctrico de 581 km de autonomía

      • Andrea Aguado
      • 2026-10-10 05:45
    • Lancia resucita el Gamma 50 años después con 740 km de autonomía y una versión deportiva de 350 CV
        • Motor
        • Motor

      Lancia resucita el Gamma 50 años después con 740 km de autonomía y una versión deportiva de 350 CV

      • Andrea Aguado
      • 2026-10-09 13:05
    • Enrique Álvarez, mecánico experto, avisa de la situación en España: En cinco años nadie va a tener coche
        • Motor
        • Motor

      Enrique Álvarez, mecánico, avisa de la situación en España: "En cinco años nadie va a tener coche"

      • Janire Manzanas
      • 2026-10-09 11:00
    • OKGreen

    • Algo huele mal en la Antártida: las heces de los pingüinos están acelerando el deshielo
        • OKGREEN
        • OKGREEN

      Algo huele mal en la Antártida: las heces de los pingüinos están acelerando el deshielo

      Los pingüinos de la Península Antártica se han encontrado con un marrón que no se esperaban. La causa está en su propio guano, que fertiliza las floraciones de algas verdes, fenómeno que contribuye a un oscurecimiento de la nieve con repercusiones muy negativas para el continente. Como explica el efecto albedo, cuanto más oscura es una superficie, más radiación absorbe, lo que acelera el deshielo. Investigadores analizan el vínculo entre excrementos y derretimiento de la nieve en un estudio en Journal of Geophysical Research Biogeosciences.
      • Daniel Jiménez
      • 2026-10-10 05:00
    • Ríos de ceniza y lodo: la lluvia de otoño arrastra los restos del incendio de Burgohondo a los embalses
        • OKGREEN
        • OKGREEN

      Ríos de ceniza y lodo: la lluvia arrastra los restos del incendio de Burgohondo a los embalses

      • Antonio Quilis
      • 2026-10-08 14:51
    • Altavoces bajo el mar: así usan los científicos el sonido de un arrecife sano para salvar a los corales
        • OKGREEN
        • OKGREEN

      Altavoces bajo el mar: así usan los científicos el sonido de un arrecife para salvar a los corales

      • Antonio Quilis
      • 2026-10-09 05:00
    • OKSalud

    • Dietas extremas y ejercicio sin descanso: así afecta la obsesión por el fitness a la salud física y mental
    • Cuando la depresión no se manifiesta como tristeza: cómo reconocer sus señales
        • OkSalud
        • OkSalud

      Cuando la depresión no se manifiesta como tristeza: cómo reconocer sus señales

      • B. Muñoz
      • 2026-10-10 05:40
    • ¿Volver a leer sin gafas es el inicio de las cataratas?: una oftalmóloga explica los primeros síntomas
        • OkSalud
        • OkSalud

      ¿Volver a leer sin gafas es el inicio de las cataratas?: una oftalmóloga explica los primeros síntomas

      • B. Muñoz
      • 2026-10-09 05:40
    • Dra. Daniela Silva: Desconectar, descansar y dejar de correr, las claves para cuidar la salud mental
        • OkSalud
        • OkSalud

      Dra. Daniela Silva: "Desconectar, descansar y dejar de correr, las claves para cuidar la salud mental"

      La salud mental no sólo depende de cómo se afronta el día a día, sino también de las circunstancias y hábitos que rodean a cada persona. El ritmo de trabajo, la exposición a estímulos digitales, las relaciones personales o la falta de descanso pueden afectar al bienestar emocional. Aunque no siempre es posible controlar estas circunstancias, pequeños hábitos pueden ayudar a reducir sus efectos.
      • Diego Buenosvinos
      • 2026-10-10 05:40
    • OKCLUB

    • Hazte socio de OKCLUB por sólo 10 euros y disfruta de todas las ventajas de OKDIARIO
        • OKCLUB
        • OKCLUB

      Hazte socio de OKCLUB por sólo 10 euros y disfruta de todas las ventajas de OKDIARIO

      • OKDIARIO
      • 2026-09-03 10:38
    • Francisco Rabadán: Un Supersábado de deporte tras el eterno parón de selecciones
        • OKCLUB
        • OKCLUB

      Francisco Rabadán: "Un Supersábado de deporte tras el eterno parón de selecciones"

      • Francisco Rabadán
      • 2026-10-10 05:45
    • navarra

    • Ana y César dejan sus trabajos fijos para abrir un supermercado en Lumbier:
        • Comercio local

      Ana y César dejan sus trabajos fijos para abrir un supermercado en Lumbier: "Nos hemos tirado a la piscina"

    • La librería Central de Barañáin se despide con un emotivo mensaje después de 42 años:
        • Comercio local

      La librería Central de Barañáin se despide con un emotivo mensaje después de 42 años: "Nos vamos con el corazón lleno"

    • Circulaba por un pueblo de Navarra cuando la Policía Foral lo paró: no tenía puntos y dio positivo en cocaína
        • Sucesos

      Circulaba por un pueblo de Navarra cuando la Policía Foral lo paró: no tenía puntos y dio positivo en cocaína

    • Estella prepara una Navidad con premios de hasta 1.000 euros para quienes participen en estas dos iniciativas comerciales
        • Sociedad

      Estella prepara una Navidad con premios de hasta 1.000 euros para quienes participen en estas dos iniciativas comerciales

    • ¿Por qué el cielo es azul? La sorprendente exposición en Pamplona que descubre los secretos de los colores de la naturaleza
        • Sociedad

      ¿Por qué el cielo es azul? La sorprendente exposición en Pamplona que descubre los secretos de los colores de la naturaleza

    • María Chivite se ausenta del desfile militar del Día de la Hispanidad: la mayoría de presidentes autonómicos sí acudirá
        • Política

      María Chivite se ausenta del desfile militar del Día de la Hispanidad: la mayoría de presidentes autonómicos sí acudirá

    • metabolic

    • ¿Cuántos segundos debes mantener la posición de plancha? Esto es lo que se considera bueno para diferentes edades
        • Deporte

      ¿Cuántos segundos debes mantener la posición de plancha? Esto es lo que se considera bueno para diferentes edades

    • Vikika Costa, entrenadora experta en fitness: «Al entrenar la fuerza estás entrenando cómo vas a vivir tus últimos 20 años»
        • Entrenamiento

      Vikika Costa, entrenadora experta en fitness: «Al entrenar la fuerza estás entrenando cómo vas a vivir tus últimos 20 años»

    • Carlos Herrera explica su rutina para mantenerse en forma a los 69 años: «La tentación de comprarse una talla más es el principio del fin»
        • Deporte

      Carlos Herrera explica su rutina para mantenerse en forma a los 69 años: «La tentación de comprarse una talla más es el principio del fin»

    • David Terapeuta lo explica: «Son ejercicios sencillos que puedes hacer en casa y que pueden ayudarte a mejorar notablemente las molestias asociadas a la artrosis»
        • Deporte

      David Terapeuta lo explica: «Son ejercicios sencillos que puedes hacer en casa y que pueden ayudarte a mejorar notablemente las molestias asociadas a la artrosis»

    • Suena raro, pero los expertos lo avalan: los mayores de 60 años también pueden mejorar su equilibrio con este original ejercicio de gimnasia
        • Deporte

      Suena raro, pero los expertos lo avalan: los mayores de 60 años también pueden mejorar su equilibrio con este original ejercicio de gimnasia

    • Los entrenadores expertos coinciden: hacer la plancha a partir de los 50 está bien para fortalecer el abdomen, pero es mucho mejor caminar con una mancuerna en una mano
        • Deporte

      Los entrenadores expertos coinciden: hacer la plancha a partir de los 50 está bien para fortalecer el abdomen, pero es mucho mejor caminar con una mancuerna en una mano

    • talent24h

    • Kiwoko permite llevar el perro al trabajo todo el año y lo mantiene como beneficio para sus empleados
        • Empleo

      Kiwoko permite llevar el perro al trabajo todo el año y lo mantiene como beneficio para sus empleados

    • Una empresa alemana prevé ahorrar 500.000 euros en cinco años con solo cinco camiones eléctricos
        • Actualidad

      Una empresa alemana prevé ahorrar 500.000 euros en cinco años con solo cinco camiones eléctricos

    • Despedido mientras estaba de baja por una lesión de codo tras ser visto haciendo rutas de 45 kilómetros en bicicleta de montaña
        • Empleo

      Despedido mientras estaba de baja por una lesión de codo tras ser visto haciendo rutas de 45 kilómetros en bicicleta de montaña

    • La DGT limita el ámbar intermitente ante peatones desde el 1 de octubre y exige señales para las bicicletas a contrasentido
        • Actualidad

      La DGT limita el ámbar intermitente ante peatones desde el 1 de octubre y exige señales para las bicicletas a contrasentido

    • El TSJ de Baleares avala el despido disciplinario de una abogada tras 26 años por nueve días de teletrabajo sin permiso
        • Empleo

      El TSJ de Baleares avala el despido disciplinario de una abogada tras 26 años por nueve días de teletrabajo sin permiso

    • El cambio de hora del 25 de octubre puede sumar una hora a los turnos nocturnos en España
        • Actualidad

      El cambio de hora del 25 de octubre puede sumar una hora a los turnos nocturnos en España

    • Muy Interesante

    • Jason Wright y la búsqueda de tecnofirmas para detectar tecnología extraterrestre en el cosmos
        • Ciencia

      Jason Wright y la búsqueda de tecnofirmas para detectar tecnología extraterrestre en el cosmos

    • Proyecto SETI: cómo busca señales de tecnología extraterrestre en el espacio
        • Ciencia

      Proyecto SETI: cómo busca señales de tecnología extraterrestre en el espacio

    • Intelectuales en la Guerra Civil española: escritores y artistas defendieron ambos bandos
        • Historia

      Intelectuales en la Guerra Civil española: escritores y artistas defendieron ambos bandos

    • Las grandes expediciones que llevaron al límite a quienes conquistaron los polos y el Everest
        • Historia

      Las grandes expediciones que llevaron al límite a quienes conquistaron los polos y el Everest

    • El WMF Pizzaiolo Pro se desploma de precio y gana protagonismo entre los hornos de pizza más vendidos
        • Compras

      El WMF Pizzaiolo Pro se desploma de precio y gana protagonismo entre los hornos de pizza más vendidos

    • Jason Wright explica cómo se buscan señales de civilizaciones extraterrestres
        • Ciencia

      Jason Wright explica cómo se buscan señales de civilizaciones extraterrestres

    • okzinet

    • Cómo hablar con los niños sobre el contenido sexual de las canciones de moda
        • Ser Padres

      Cómo hablar con los niños sobre el contenido sexual de las canciones de moda

    • Muy Science Fest Málaga: una tarde para despertar la curiosidad científica de niños y mayores
        • Ser Padres

      Muy Science Fest Málaga: una tarde para despertar la curiosidad científica de niños y mayores

    • Elegir coche con niños cambia tus prioridades: estos son los detalles que querrás mirar antes de decidirte
        • Ser Padres

      Elegir coche con niños cambia tus prioridades: estos son los detalles que querrás mirar antes de decidirte

    • 4 consejos para sumar la vitamina C a tu rutina de otoño sin complicarte
        • Mia Revista

      4 consejos para sumar la vitamina C a tu rutina de otoño sin complicarte

    • Cómo elegir una sartén: materiales y recubrimientos que conviene tener en cuenta
        • Mia Revista

      Cómo elegir una sartén: materiales y recubrimientos que conviene tener en cuenta

    • 4 tendencias en muebles que arrasarán en 2027 y cómo integrarlas en tu casa
        • Mia Revista

      4 tendencias en muebles que arrasarán en 2027 y cómo integrarlas en tu casa

    • Techy

    • Lava del volcán submarino Axial fotografiada por un robot del MBARI
        • Techy

      Los científicos no dan crédito: robots hallan bajo el Pacífico, a más de 2.000 metros, coladas del volcán submarino Axial casi 100 veces más voluminosas que sus erupciones históricas

      • Adrián Villellas
    • Disco de un juego de PS3 junto a un lector Blu-ray para el emulador RPCS3
        • Techy

      Confirmado: el emulador RPCS3 ya permite jugar a los juegos de PS3 desde el disco original en Windows, Linux o Mac con un lector Blu-ray compatible y sin tener la consola

      • Adrián Villellas
    • El destructor Flight III USS Jack H. Lucas amarrado en San Diego
        • Techy

      Adiós a los 450 voltios: el destructor Flight III de EEUU estrena una red de 4.160 voltios para un radar más de 30 veces más sensible y futuros láseres

      • Adrián Villellas
    • Icebergs varados junto al hielo fijo de la costa antártica, con un grupo de pingüinos
        • Techy

      Pasaban desapercibidos: una IA cuenta por primera vez 39.619 icebergs varados en la Antártida y los diminutos, de menos de un kilómetro cuadrado, son el 93 %

      • Adrián Villellas
    • Rocas de granito noruego apiladas en una barcaza en el puerto de Teesside
        • Techy

      Es oficial: un puerto inglés hunde rocas de granito noruego de hasta 30 toneladas para salvar un rompeolas de más de 150 años de olas de 9,2 metros

      • Adrián Villellas
    • Valla publicitaria de Meta en Los Ángeles sobre la luz LED de sus gafas inteligentes
        • Techy

      Es oficial: Meta inutiliza la cámara de las gafas inteligentes cuyos dueños tapen o destrocen la luz LED que avisa de que están grabando

      • Adrián Villellas
    • OkPlanes

    • restaurantes por menos de 20 euros
        • OkPlanes

      Cinco rincones de Madrid para comer de lujo por menos de 20 euros

      • Sandra Quintana C
    • estrenos de cine
        • OkPlanes

      Las películas que llegan a la cartelera de cine el 9 de octubre

      • Sandra Quintana C
    • bandera de españa
        • OkPlanes

      Madrid celebra el Día de la Hispanidad con desfiles, conciertos gratuitos y espectáculos de luz

      • Sandra Quintana C
    • crema de calabaza
        • OkPlanes

      Las mejores cremas de calabaza de la capital para este otoño

      • Sandra Quintana C
    • Baile de Huesos teatro luchana
        • OkPlanes

      ‘Baile de Huesos’ reúne humor y reflexión existencial en los Teatros Luchana

      • Sandra Quintana C
    • Cirque du Soleil KURIOS
        • OkPlanes

      El Cirque du Soleil trae a Madrid la fantasía steampunk de KURIOS

      • Sandra Quintana C
    • Curiosidades

    • Comprar el periódico
        • Curiosidades

      Según los psicólogos expertos, las personas nacidas antes de 1961 no compran el periódico en papel por nostalgia, en realidad buscan estímulos cognitivos

      • Janire Manzanas
    • Imagen generada con IA.
        • Curiosidades

      Los Tercios españoles y su lema histórico: «España mi natura, Italia mi ventura y Flandes mi sepultura»

      • Aitana Pascual
    • vivir gratis en una aldea de León
        • Curiosidades

      Una pareja busca voluntarios para vivir gratis en una aldea de León de 20 habitantes a cambio de atender a los peregrinos del Camino de Santiago

      • Alejo Lucarás
    • Santiago Ramón y Cajal da clase en su laboratorio de Madrid, hacia 1910. Foto: Santiago Ramón y Cajal vía Wikimedia Commons - Dominio público
        • Curiosidades

      Santiago Ramón y Cajal, premio Nobel de Medicina español, sobre la vejez: «Nada me inspira más veneración y asombro que un anciano que sabe cambiar de opinión»

      • Naiara Philpotts
    • Interceptor contra las chinches, truco contra las chinches, como eliminar chinches de la cama.
        • Curiosidades

      Los chinches de la cama nos invaden en otoño, pero hay un dispositivo que los elimina por menos de 45 euros

      • Manuel Morera
        • Curiosidades

      Los fontaneros expertos lo tienen claro e instan a poner una botella de plástico con agua en el desagüe del fregadero: por qué y para qué sirve

      • Álvaro Olivero
    • Recetas de cocina

    • Martín Berasategui
        • Recetas de cocina

      El chef Martín Berasategui dicta sentencia: «Si mezclas una lata de sardinas con quesitos, perejil y aceite tienes una cena alucinante»

      • Alejo Lucarás
    • Ensalada viral
        • Recetas de cocina

      Ensalada de arroz crujiente: la receta viral asiática que convierte las sobras en una cena espectacular

      • Francisco María
    • Tarta casera
        • Recetas de cocina

      Tarta de yogur en freidora de aire: receta fácil y esponjosa

      • Francisco María
    • Tarta casera
        • Recetas de cocina

      Tarta de piña con gelatina: receta fácil y refrescante

      • Francisco María
    • Tarta casera
        • Recetas de cocina

      Tarta de tres chocolates con cuajada: receta fácil y sin horno

      • Francisco María
    • Tiramisú
        • Recetas de cocina

      Tarta de tiramisú fácil con mascarpone y nata: receta cremosa y rápida

      • Francisco María
    • OkShopping

    • Smart TV LG NANO 4K 65"
        • OkShopping

      Esta smart TV LG de 65 pulgadas tiene IA y 4K y deja en ridículo a otras que cuestan más del doble

      • New Mall Media
        • OkShopping

      Realme 5: Este reloj cuadrado aguanta hasta 14 días sin cargador y está dejando en ridículo a los smartwatch caros

      • New Mall Media
    • Mesa de TV Abilen
        • OkShopping

      Adiós cables y tiradores: Abilen es el mueble de TV que todo salón minimalista necesita

      • New Mall Media
    • cargador inalámbrico 3 en 1 de TIMESS.jpg
        • OkShopping

      AliExpress hunde el precio de este cargador inalámbrico: carga 3 dispositivos Apple a la vez y funciona como lámpara de noche

      • New Mall Media
    • monitor gaming de LG
        • OkShopping

      Este monitor gaming de LG convierte tu escritorio en una pantalla de cine ¡y está rebajado un 26%!

      • New Mall Media
        • OkShopping

      10 mejores móviles de gama alta de 2026: ¿cuál comprar?

      • New Mall Media
    • Mascotas

    • Perros, animales, mascotas
        • Mascotas

      En 1899 crearon al pastor alemán como animal de trabajo y pastoreo para el ganado: 127 años después, es una de las razas favoritas de la ONCE y la Guardia Civil en España

      • Ana López Vera
    • Fotografía de un gato persa de pelaje rojizo durante un paseo, en un día de sol. Foto: Andrew Siwiec (AS Photography) - CC BY 4.0
        • Mascotas

      Los veterinarios advierten sobre los gatos persas: «Son muy tranquilos, pero también más propensos a roncar y hay que peinarlos todos los días»

      • Naiara Philpotts
    • Perros, animales, mascotas
        • Mascotas

      Los expertos advierten a los dueños de perros: «Si llueve mucho y no se puede pasear, hay que entrenarlos en casa»

      • Ana López Vera
    • Imagen generada por IA.
        • Mascotas

      Los expertos en comportamiento canino coinciden: cuando un perro ladra, es porque ya superó su capacidad de calma

      • Carmen Ruiz
    • perro ladra
        • Mascotas

      Se terminó poner carteles en el ascensor: si el perro de tu vecino ladra el artículo 6 de la Ley de Propiedad Horizontal te avala

      • Blanca Espada
    • Enseñar al perro a estar solo
        • Mascotas

      Los expertos en educación canina coinciden: puede parecer que es un castigo pero «enseñar a un perro a estar solo es ayudarle a ser feliz»

      • Janire Manzanas
    • Ciencia

    • Niño feliz
        • Ciencia

      Los investigadores no tienen ninguna duda: tres aspectos muy concretos de la vida cotidiana pueden predecir si un niño será feliz en la edad adulta

      • Janire Manzanas
    • Microorganismos
        • Ciencia

      El microbioma de la piel: los millones de microorganismos invisibles que actúan como nuestro primer escudo biológico diario

      • Francisco María
    • tierras raras, monacita, cristal, mineral
        • Ciencia

      Ni Irán ni EEUU: España explora un yacimiento de tierras raras que cubriría el 33% de las necesidades de Europa

      • Alejo Lucarás
    • Argentino desarrolla nuevo tipo de cemento, inventan cemento magnético, qué es el cemento magnético, invento revoluciona la industria de la construcción.
        • Ciencia

      Nadie se lo imaginaba: un joven de 29 años revoluciona la industria de la construcción inventando un cemento magnético

      • Manuel Morera
    • Residuos plásticos. Foto: Magnific
        • Ciencia

      China rompe el molde y da con un método revolucionario para transformar los residuos plásticos en combustible para aviones con un 82 % de retorno

      • Naiara Philpotts
    • Flores desierto Atacama
        • Ciencia

      Las flores del desierto de Atacama: un fenómeno de ‘El Niño’ extremo podría traer consigo la mayor floración en el desierto desde 1997

      • Janire Manzanas
    • Bebés

    • antojos aversiones embarazo
        • Bebés

      Antojos y aversiones en el embarazo: ¿Qué los causa y cómo manejarlos?

      • Blanca Espada
    • embarazo ectópico
        • Bebés

      Embarazo Ectópico: Síntomas, Causas y Tratamiento

      • Blanca Espada
    • ansiedad embarazo
        • Bebés

      Cómo gestionar la ansiedad en el embarazo: consejos y recursos para sentirte mejor

      • Blanca Espada
    • alimentación complementaria
        • Bebés

      Cómo introducir la alimentación complementaria sin morir en el intento: trucos y recetas para padres primerizos

      • Blanca Espada
    • urticaria niños
        • Bebés

      Urticaria en niños: causas, síntomas, tratamiento y complicaciones

      • Blanca Espada
    • granuloma umbilical
        • Bebés

      Granuloma umbilical del bebé: ¿Qué es y cómo tratarlo?

      • Blanca Espada
    • Tecnología

    • memoria moviles
        • Tecnología

      La IA se está quedando con la memoria y los móviles pagan la diferencia

      • Nacho Grosso
    • Apagar el ordenador
        • Tecnología

      ¿Es necesario apagar el ordenador después de usarlo? Los expertos desmienten este mito

      • Janire Manzanas
    • HomePod pantalla
        • Tecnología

      La primera pantalla doméstica de Apple tendrá que demostrar qué hace mejor que un Echo Show

      • Nacho Grosso
    • eufyCam C37 Edición 4K
        • Tecnología

      eufyCam C37 Edición 4K, una cámara solar con giro, inclinación y seguimiento por IA

      • Nacho Grosso
    • welcome home apple
        • Tecnología

      Apple pone el 13 de octubre bajo el lema ‘Welcome Home’ y todo apunta a una pantalla para cada habitación

      • Nacho Grosso
    • Reloved
        • Tecnología

      Los Bang & Olufsen reacondicionados llegan a las tiendas de España y salen del catálogo online

      • Nacho Grosso
    Ir Arriba

    Noticias de última hora

    • Un tiroteo en Pensilvania acaba con la vida de una mujer embarazada y varios niños
    • De Rosalía a una ex concursante de ‘OT’: todos los españoles nominados a los Latin Grammy
    • Así queda la parrilla de salida para el GP de Singapur de F1 2026 tras la clasificación en Marina Bay
    • Verstappen logra su primera pole en Singapur con Sainz decimotercer y Alonso decimosexto y muy enfadado
    • Los expertos en micología coinciden sin género de duda: «Jamás recojas setas jóvenes; en las fases de crecimiento muchas especies comestibles son muy parecidas a otras tóxicas»
    • Clasificación del GP de Singapur de Fórmula 1 en directo | Verstappen llega lanzado tras ganar la sprint, sigue la última hora en vivo con Alonso y Sainz, tiempos y resultado
    • La Guardia Civil de Illes Balears celebra en Alcúdia la festividad de la Virgen del Pilar, patrona del Cuerpo
    • Rebeca Nuez, la violinista con una nueva forma de acercar la música clásica al público del siglo XXI
    • Cartel Día de la Hispanidad 2026: éstas son todas las corridas de toros de Las Ventas por el 12 de octubre
    • Según los psicólogos expertos, las personas nacidas antes de 1961 no compran el periódico en papel por nostalgia, en realidad buscan estímulos cognitivos

    Noticias más vistas

    • Lidl rompe el mercado con unas zapatillas tipo Skechers: cuestan 10 euros y son perfectas para andar y entrenar
    • Sale a la luz la conversación entre Aleksandre e Ilia Topuria tras perder con Gaethje: «Eres un hombre»
    • La Guardia Civil se ha puesto en contacto con el Sporting Hortaleza para garantizarle la seguridad en Tenerife
    • Bordalás: «No se puede decir que Lamine Yamal sea el mejor del mundo porque hay más buenos jugadores»
    • El Barcelona se une a la huelga general del 11-N y pide cambiar de fecha su partido de Champions femenina ante el Arsenal
    • Un luchador mata a un árbitro en el cuadrilátero haciéndole la desnucadora, una llave prohibida
    • Prisión incondicional para el hijo del jeque del Málaga CF por irregularidades en la gestión del club
    • Carlos Alcaraz – Cerúndolo: horario y cómo ver por televisión en directo y en streaming el partido del Masters 1000 de Shanghái 2026
    • Toros en Andalucía: el cartel del 12 de octubre 2026 por la Fiesta de la Hispanidad
    • Crece la preocupación en la Premier League a una rebaja de sanción al City por motivos políticos

    Noticias virales

    • La psicología explica que los niños de los 60 y 70 no eran más fuertes por la crianza, sino por el abandono cotidiano que vivían
    • La reflexión de Séneca, filósofo latino, sobre la amistad: «Sabed que cuando uno es amigo de sí mismo, lo es también de todo el mundo»
    • Hacienda pondrá multas a las personas que ingresen o retiren dinero en efectivo del cajero de esta forma
    • Los expertos en reformas coinciden: «En 2026 no pongas enchufes tradicionales, mejor instala esta opción sin obras»
    • La psicología deja claro que las personas nacidas en los años 50 y 60 no dejaron los estudios porque quisieran: la vida les obligó a asumir responsabilidades mucho antes de tiempo
    • Aníbal Barca, general cartaginés: «Encontraremos un camino a través de los Alpes, y si no existe, lo construiremos nosotros mismos»
    • La psicología aclara que las personas que nacieron entre 1960 y 1970 desarrollaron una especie de resiliencia que hoy pasa desapercibida
    • Arturo Pérez Reverte (74 años): «Queriendo cancelar el debate sobre una guerra provocada por la incapacidad para convivir con el adversario, los sectarios certifican lo oportuno de ese debate»
    • Bruce Willis (71 años) era dueño de 3 hectáreas en el Caribe, ayudó a impulsar una zona virgen hasta que lo convirtió en un centro turístico
    • Se buscan voluntarios para vivir gratis en una granja del norte de Portugal a cambio de trabajar 30 horas semanales cuidando animales y sembrando en el campo
    Gobierno de España

    Esta empresa se ha acogido a las subvenciones del Gobierno de España cofinanciadas con el Fondo Europeo de Desarrollo Regional para las regiones ultraperiféricas para el transporte de mercancías en Canarias.”Una manera de hacer Europa”

    Unión Europea. Fondo europeo de desarollo regional.
    • DOS MIL PALABRAS S.L. 2026.
    • Contacto
    • Aviso Legal
    • Política de Privacidad
    • Política de Cookies
    • Noticias
    • RSS
    • Quiénes somos
    • Auditado por ComScore