• 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:
  • Ley de Nietos
  • Peinado Begoña
  • Activistas Sol
  • Narcos ‘Los Rochos’
  • PSOE ayudas UE
  • Prostíbulos suegro Sánchez
  • PSOE ayudas Marruecos
  • Gas pimienta Congreso
  • TVE Puigdemont
  • Tarjetas de crédito Carrefour
  • Abascal 29-N
  • Entradas GP Valencia
  • Horario Celta – Juventus
  • Horario del U Craiova – Getafe
  • Últimas noticias
Más

    El sitio de los inconformistas

    15 Oct 2026
    Actualizado 16:58 CET
    INICIAR SESIÓN
    Es Noticia
    • EEUU tiene el FUSIL M8 más corto y ligero
    • MIRIAM RUIZ sobre los pensionistas por incapacidad
    • El 2 de noviembre es FESTIVO en estas comunidades
    • La frase de MARCUS ULPIUS que sigue emocionando
    • Compra una casa de 9.000 euros en un pueblo de CUENCA
    • La frase de SÉNECA sobre el valor de la AMISTAD
    • Las personas que se CALLAN para evitar conflictos sufren fatiga emocional
    • El truco para limpiar las SARTENES QUEMADAS
    • El truco para que el PESCADO no engrase la sartén
    • JORGE REY y la AEMET alertan de LLUVIAS fuertes
    • Las personas que disfrutan de DÍAS LLUVIOSOS buscan reflexionar
    • La frase de MANOLO ESCOBAR sobre la fama
    • La reflexión de FRANCISCO DE QUEVEDO sobre la felicidad
    • La subida de las PENSIONES en 2027
    • La frase de un JUBILADO sobre la cotización
    • La frase de JULIO CÉSAR, militar hace 21 siglos
    • CLINT EASTWOOD compró un rancho y terminó donándolo

    Okdiario

    • España
    • Economía
    • Deportes
    • Diario Madridista
    • Investigación
    • Cool
    • Opinión
    • Sociedad
    • Lotería de Navidad
    • Directo
    • Última hora de las huelgas, elecciones generales y actualidad política
    • Ofertas flash de Amazon del día, en directo
    • CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCksIHkgYXF17SBtaXNtbyBjb24gZWwgdGV4dG8gYQogICBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhIChib2R5UG9zaXRpb25CbG9ja3NDb2x1bW4pOiBjb24gZXNlIGxheW91dCBsYQogICBub3RpY2lhIHByaW5jaXBhbCB5YSBvY3VwYSBlbCAxMDAlIGRlbCBhbmNobyB5IHNvbGFwYSBzdSBwcm9waWEgZm90byBkZQogICBib3JkZSBhIGJvcmRlLCBhc+0gcXVlIGVsIGFpcmUvZm9uZG8gYmxhbmNvIHNvYnJhLiAqLwouYmxrLW5rNWZke21heC1pbmxpbmUtc2l6ZTo5NjBweDttYXJnaW46MCBhdXRvO2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplO2JhY2tncm91bmQtY29sb3I6I2ZmZjtwYWRkaW5nOjEwcHg7fQouYmxrLW5rNWZkIGF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6aW5oZXJpdH0KLmJsay1uazVmZCAucGFnZXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtnYXA6MTVweH0KLmJsay1uazVmZCAucGFnZSAuY29sdW1ue29yZGVyOjF9Ci5ibGstbms1ZmQgLnBhZ2UgLmxlYWR7b3JkZXI6Mn0KLyogODYwcHggeSBubyA0NzVweDogY29uIGxhIGNvbHVtbmEgZmlqYSAoMjIwcHggKyAyMHB4IGRlIGdhcCA9IDI0MHB4KSwKICAgY3VhbHF1aWVyIGFuY2hvIGRlIGlmcmFtZSBwb3IgZGViYWpvIGRlIH44NjBweCBkZWphIGxhIG5vdGljaWEgcHJpbmNpcGFsCiAgICgxZnIpIGNhZGEgdmV6IGNvbiBtZW5vcyBlc3BhY2lvIGhhc3RhIGNvbGFwc2FyIGEgMHB4IGRlIGFuY2hvIGFudGVzIGRlCiAgIGxsZWdhciBhIHVuIGJyZWFrcG9pbnQgdGFuIGJham8gY29tbyA0NzVweCAmIzgyMTI7IGxhIG5vdGljaWEgcHJpbmNpcGFsCiAgIGRpcmVjdGFtZW50ZSBkZXNhcGFyZWNlIGVuIGVzYSBmcmFuamEgaW50ZXJtZWRpYSAobmkgImRlc2siIGNvbXBsZXRvIG5pCiAgICJt83ZpbCIgZXN0cmVjaG8pLiBDb24gODYwcHggc2UgcGFzYSBhIHVuYSBzb2xhIGNvbHVtbmEgYXBpbGFkYSBhbnRlcyBkZQogICBxdWUgZXNvIHB1ZWRhIG9jdXJyaXIuCiAgIEVzdGUgYnJlYWtwb2ludCBzZSBvbWl0ZSBwb3IgY29tcGxldG8gbWllbnRyYXMgbGEgc2ltdWxhY2nzbiBkZSBhbmNobyBlc3TpCiAgIGFjdGl2YSAodmVyIGxlYWRXaWR0aFByZXZpZXcpOiBwZW5zYWRvIHBhcmEgY3VhbmRvIGVsIG3zZHVsbyBsbGV2YSBzdQogICBjb2x1bW5hIGEgOTYwcHgsIGRlamEgZGUgdGVuZXIgc2VudGlkbyBlbiB1bmEgZXhwb3J0YWNp824gZGUgc29sbyBsYQogICBub3RpY2lhIHByaW5jaXBhbCBhIHVuIGFuY2hvIGZpam8gZWxlZ2lkbyBhIG1hbm8gJiM4MjEyOyBsb3MgYW5jaG9zIHNpbXVsYWRvcwogICAoNjEzLzQ2MC8zMDdweCkgZXN04W4gVE9ET1MgcG9yIGRlYmFqbyBkZSA4NjBweCwgYXPtIHF1ZSBzaW4gZXN0ZSBnYXRpbmcKICAgZWwgSFRNTCBleHBvcnRhZG8gY2Flcu1hIHNpZW1wcmUgYSBsYSB0aXBvZ3JhZu1hICJN83ZpbCIgKGNvbiAhaW1wb3J0YW50KQogICBzZWEgY3VhbCBzZWEgbGEgcXVlIGVsIHVzdWFyaW8gY29uZmlndXLzIGVuICJEZXNrIiBwYXJhIGVzYSBzaW11bGFjafNuLAogICBkYW5kbyBsYSBmYWxzYSBzZW5zYWNp824gZGUgcXVlIHVuYSBjb25maWd1cmFjafNuICJwaXNhIiBhIG90cmEuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7CiAgLmJsay1uazVmZHtiYWNrZ3JvdW5kOm5vbmU7cGFkZGluZzowO30KICAuYmxrLW5rNWZkIC5wYWdle2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9CiAgLmJsay1uazVmZCAucGFnZSAuc3RhY2stdGl0bGUge2ZvbnQtc2l6ZToxOHB4OyBsaW5lLWhlaWdodDogMS4yZW07fQogIC5ibGstbms1ZmQgLnBhZ2UgLnN0YWNrLWF1dGhvciB7bWFyZ2luLXRvcDogMTBweDt9CiAgLmJsay1uazVmZCAubGVhZC1tZWRpYS5pcy1pZnJhbWV7YmxvY2stc2l6ZTo0MDBweCAhaW1wb3J0YW50O30KICAuYmxrLW5rNWZkIC5sZWFkLW1lZGlhe2FzcGVjdC1yYXRpbzo0LzMgIWltcG9ydGFudDt9CiAgLmJsay1uazVmZCAucGFnZSAubGVhZHtvcmRlcjoxfQogIC5ibGstbms1ZmQgLnBhZ2UgLmNvbHVtbntvcmRlcjoyfQogIC8qIFBvciBkZWJham8gZGVsIGJyZWFrcG9pbnQsIGVsIGxlYWQtYm9keSBzaWVtcHJlIHZ1ZWx2ZSBhIGlyIGRlYmFqbyBkZWwKICAgICBsZWFkLW1lZGlhIChubyBoYXkgc2l0aW8gcGFyYSBlbCBsYXlvdXQgbGFkbyBhIGxhZG8pLiAqLwogIC5ibGstbms1ZmQgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQsCiAgLmJsay1uazVmZCAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FzcGVjdC1yYXRpbzphdXRvO30KICAuYmxrLW5rNWZkIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLW1lZGlhLAogIC5ibGstbms1ZmQgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLW1lZGlhe2ZsZXg6MSAxIGF1dG87fQogIC5ibGstbms1ZmQgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYm9keSwKICAuYmxrLW5rNWZkIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e2ZsZXg6MSAxIGF1dG87aW5saW5lLXNpemU6OTAlO21hcmdpbjotMzBweCBhdXRvIDA7YmxvY2stc2l6ZTphdXRvO2FsaWduLXNlbGY6YXV0bztqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nOjEwcHg7fQogIC5ibGstbms1ZmQgLnBhZ2UgLmNvbHVtbi1pdGVte2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQogIC5ibGstbms1ZmQgLnBhZ2UgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoxLjE1O2NvbG9yOiMyYzNlNTM7bWFyZ2luOjA7dGV4dC1hbGlnbjpsZWZ0O30KICAuYmxrLW5rNWZkIC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0yMSAubGVmdC10aXRsZXtmb250LXNpemU6MjFweCAhaW1wb3J0YW50O30KICAuYmxrLW5rNWZkIC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0xOCAubGVmdC10aXRsZXtmb250LXNpemU6MThweCAhaW1wb3J0YW50O30KICAuYmxrLW5rNWZkIC5wYWdlIC5sZWZ0LXBsYXl7CiAgICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogICAgYmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzAwYTdmZjsKICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogICAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7CiAgfQogIC5ibGstbms1ZmQgLnBhZ2UgLmxlZnQtcGxheTo6YmVmb3JlewogICAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4OwogIH0KfQovKiBUaXBvZ3JhZu1hICJN83ZpbCIgKGFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vdGl0dWxhcmVzIGFuaW1hZG9zKSBjb24gU1UKICAgUFJPUElPIGJyZWFrcG9pbnQgKDQ4MHB4KSwgc2VwYXJhZG8gZGVsIGRlIGFycmliYSAoODYwcHgsIHNvbG8gcGFyYSBhcGlsYXIKICAgbGEgcmVqaWxsYSBjb2x1bW5hK25vdGljaWEpOiB1biBjb250ZW5lZG9yIHJlYWwgZGUgbWVub3MgZGUgODYwcHggZXMgbXV5CiAgIGhhYml0dWFsIChwLmVqLiB1bmEgY29sdW1uYSBkZSBhcnTtY3VsbyBkZSB+NzAwcHgpIHkgTk8gZXMgdW4gbfN2aWwgJiM4MjEyOyBjb24KICAgdW4g+m5pY28gYnJlYWtwb2ludCBjb21wYXJ0aWRvLCBsYSB0aXBvZ3JhZu1hICJEZXNrIiBxdWUgY29uZmlndXJhIGVsCiAgIHVzdWFyaW8gbm8gbGxlZ2FiYSBhIHZlcnNlIG51bmNhIGVuIGVzZSBjYXNvLCBjYXllbmRvIHNpZW1wcmUgYSBsb3MgdmFsb3JlcwogICBwb3IgZGVmZWN0byBkZSAiTfN2aWwiIHNpbiBxdWUgbmFkaWUgbG8gaHViaWVyYSBwZWRpZG8uIDQ4MHB4IHPtIHNlCiAgIGNvcnJlc3BvbmRlIGNvbiB1biBhbmNobyBkZSBt83ZpbCByZWFsIChsYSB2aXN0YSAiTfN2aWwiIGRlbCBwcm9waW8gZ2VzdG9yCiAgIHNpbXVsYSAzNzVweCkuIElndWFsIHF1ZSBlbCBicmVha3BvaW50IGRlIGFycmliYSwgc2Ugb21pdGUgZHVyYW50ZSBsYQogICBzaW11bGFjafNuIGRlIGFuY2hvIGRlIGxhIG5vdGljaWEgcHJpbmNpcGFsICh2ZXIgbGVhZFdpZHRoUHJldmlldykuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay1uazVmZCAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiMwMEE3RkYgIWltcG9ydGFudDt9CiAgLmJsay1uazVmZCAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4xICFpbXBvcnRhbnQ7Y29sb3I6IzAwQTdGRiAhaW1wb3J0YW50O30KICAuYmxrLW5rNWZkIC5sZWFkLXRpdGxle2ZvbnQtc2l6ZToxLjhyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIC5ibGstbms1ZmQgLmxlYWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay1uazVmZCAubGVhZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay1uazVmZCAubGVhZC1raWNrZXItZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay1uazVmZCAubGVhZC1raWNrZXItbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstbms1ZmQgLmxlYWQtc3VidGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay1uazVmZCAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay1uazVmZCAubGVhZC1hbmltLWhlYWRsaW5lc3tmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIAogIC5ibGstbms1ZmQgLnJlbGF0ZWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay1uazVmZCAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9Cn0KLmJsay1uazVmZCAubGVhZHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay1uazVmZCAubGVhZC1tZWRpYXtwb3NpdGlvbjpyZWxhdGl2ZTthc3BlY3QtcmF0aW86MTYvOTtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6aGlkZGVufQovKiBNZWRpYSBtZWRpYW50ZSBpZnJhbWU6IGFsdG8gZmlqbyBlbiBw7XhlbGVzIGVuIHZleiBkZSBsYSBwcm9wb3JjafNuIGRlCiAgIGFycmliYSAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgc3RhdGUubGVhZC5pZnJhbWVIZWlnaHQpICYjODIxMjsgZWwKICAgdmFsb3IgZGUgTfN2aWwgc2Ugc29icmVzY3JpYmUgZW4gZWwgQGNvbnRhaW5lciBkZSBt4XMgYWJham8sIGlndWFsIHF1ZSBlbAogICByZXN0byBkZSBvdmVycmlkZXMgcmVzcG9uc2l2ZSBkZSBlc3RlIEhUTUwgZXhwb3J0YWRvLiAqLwouYmxrLW5rNWZkIC5sZWFkLW1lZGlhLmlzLWlmcmFtZXthc3BlY3QtcmF0aW86bm9uZTtibG9jay1zaXplOjY0MHB4O30KLmJsay1uazVmZCAubGVhZC1tZWRpYSBpbWcsCi5ibGstbms1ZmQgLmxlYWQtbWVkaWEgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyfQovKiBDYXJydXNlbCBkZSBmb3RvcyBkZSBmb25kbyBjb24gZWZlY3RvIEtlbiBCdXJucyAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsCiAgIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLgogICBMYSBkdXJhY2nzbiBkZSBsYXMgYW5pbWFjaW9uZXMgKDZzKSBjb2luY2lkZSBjb24KICAgTEVBRF9DQVJPVVNFTF9JTlRFUlZBTCwgcXVlIHRhbWJp6W4gZ29iaWVybmEgZWwgc2NyaXB0IGRlIHJvdGFjafNuCiAgIChidWlsZExlYWRDYXJvdXNlbFNjcmlwdCkgYfFhZGlkbyBhbCBmaW5hbCBkZWwgSFRNTCBleHBvcnRhZG8uICovCi5ibGstbms1ZmQgLmxlYWQtY2Fyb3VzZWx7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLW5rNWZkIC5sZWFkLWNhcm91c2VsLXNsaWRle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAxLjVzIGVhc2U7fQouYmxrLW5rNWZkIC5sZWFkLWNhcm91c2VsLXNsaWRlLmlzLWFjdGl2ZXtvcGFjaXR5OjE7ei1pbmRleDoxO30KLmJsay1uazVmZCAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO30KLmJsay1uazVmZCAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQob2RkKSBpbWd7YW5pbWF0aW9uOmJsay1uazVmZC1rZW5idXJucy1hIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KLmJsay1uazVmZCAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQoZXZlbikgaW1ne2FuaW1hdGlvbjpibGstbms1ZmQta2VuYnVybnMtYiA2cyBlYXNlLWluLW91dCBmb3J3YXJkczt9CkBrZXlmcmFtZXMgYmxrLW5rNWZkLWtlbmJ1cm5zLWF7IGZyb217dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gdG97dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSgtNCUsLTMlKTt9IH0KQGtleWZyYW1lcyBibGstbms1ZmQta2VuYnVybnMtYnsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKDQlLDMlKTt9IH0KLyogQ29uIHVuYSD6bmljYSBmb3RvIChzaW4gcm90YWNp824gcG9zaWJsZSkgc2UgYXBsaWNhIHVuIHpvb20gaW4vb3V0IGVuCiAgIGJ1Y2xlIGluZmluaXRvIGVuIHZleiBkZWwgcmVjb3JyaWRvIPpuaWNvIChmb3J3YXJkcykgZGUgYXJyaWJhLiAqLwouYmxrLW5rNWZkIC5sZWFkLWNhcm91c2VsLmlzLXNpbmdsZSAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7YW5pbWF0aW9uOmJsay1uazVmZC1rZW5idXJucy1sb29wIDE0cyBlYXNlLWluLW91dCBpbmZpbml0ZTt9CkBrZXlmcmFtZXMgYmxrLW5rNWZkLWtlbmJ1cm5zLWxvb3B7IDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IDUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gMTAwJXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB9Ci8qIENvbXBhcmFkb3IgYW50ZXMvZGVzcHXpcyAoZGVzbGl6YWRvcikgJiM4MjEyOyB2ZXIgZWwgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1uazVmZCAubGVhZC1jb21wYXJle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3RvdWNoLWFjdGlvbjpub25lO3otaW5kZXg6Mjt9Ci5ibGstbms1ZmQgLmxlYWQtY29tcGFyZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpjZW50ZXI7ZGlzcGxheTpibG9jazt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1kcmFnOm5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5ibGstbms1ZmQgLmxlYWQtY29tcGFyZS1iZWZvcmV7Y2xpcC1wYXRoOmluc2V0KDAgNTAlIDAgMCk7d2lsbC1jaGFuZ2U6Y2xpcC1wYXRoO30KLmJsay1uazVmZCAubGVhZC1jb21wYXJlLXJhbmdle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7bWFyZ2luOjA7b3BhY2l0eTowO2N1cnNvcjpldy1yZXNpemU7fQouYmxrLW5rNWZkIC5sZWFkLWNvbXBhcmUtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6NTAlO2lubGluZS1zaXplOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjI7fQouYmxrLW5rNWZkIC5sZWFkLWNvbXBhcmUtaGFuZGxlOjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7aW5saW5lLXNpemU6MnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgwLDAsMCwuMjUpO30KLmJsay1uazVmZCAubGVhZC1jb21wYXJlLWhhbmRsZTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6LTE1cHg7aW5saW5lLXNpemU6MzBweDtibG9jay1zaXplOjMwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZmZmIHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJz48ZyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J004IDYgTDQgMTAgTDggMTQnLz48cGF0aCBkPSdNMTIgNiBMMTYgMTAgTDEyIDE0Jy8+PC9nPjwvc3ZnPiIpIGNlbnRlci8xNnB4IDE2cHggbm8tcmVwZWF0O2JveC1zaGFkb3c6MCAycHggNnB4IHJnYmEoMCwwLDAsLjI1KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjI1KTt9Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBNaXNtbyB6LWluZGV4OjIgcXVlCiAgIC5sZWFkLWNvbXBhcmUsIHBvciBlbCBtaXNtbyBtb3Rpdm8gKGdhbmFybGUgYSAubGVhZC1saW5rKS4gKi8KLmJsay1uazVmZCAubGVhZC1pZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7ei1pbmRleDoyO30KLmJsay1uazVmZCAubGVhZC1pZnJhbWUgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt9Ci5ibGstbms1ZmQgLmxlYWQtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay1uazVmZCAubGVhZC1ib2R5e3BhZGRpbmc6MHB4IDIwcHggMjBweCAyMHB4OztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgYWxpZ24taXRlbXM6Y2VudGVyOyBwb3NpdGlvbjpyZWxhdGl2ZTsgei1pbmRleDo2OyBwb2ludGVyLWV2ZW50czpub25lOyBpbmxpbmUtc2l6ZTo5NSU7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDphdXRvOyBtYXJnaW4tdG9wOi0zMHB4OyBiYWNrZ3JvdW5kOiMwRTExMUE7IGZsZXg6MSAxIGF1dG87fQovKiBBbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL2F1dG9yIGNlbnRyYWRvcyBlbiB2ZXJ0aWNhbCBkZW50cm8gZGVsIGFsdG8KICAgc29icmFudGUgYmFqbyBsYSBjYXRlZ29y7WEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay1uazVmZCAubGVhZC1ib2R5LW1haW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtpbmxpbmUtc2l6ZToxMDAlO2ZsZXg6MSAxIGF1dG87bWluLWhlaWdodDowO30KLyogQXBhcmllbmNpYSBuZWdhdGl2YSAocG9yIGRlZmVjdG8pIHZzLiBwb3NpdGl2YSBkZSBsYSBjYWphIGRlIHRpdHVsYXIgJiM4MjEyOyB2ZXIKICAgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay1uazVmZCAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLWJvZHl7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTt9Ci5ibGstbms1ZmQgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAubGVhZC10aXRsZSwKLmJsay1uazVmZCAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5hdXRob3ItbGFiZWx7Y29sb3I6IzBFMTExQTt9Ci8qIFBvc2ljafNuIGRlbCBsZWFkLWJvZHkgcmVzcGVjdG8gYWwgbGVhZC1tZWRpYSAoJ2xlZnQnLydyaWdodCcpICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstbms1ZmQgLmxlYWQubGVhZC1ib2R5LWxlZnQsCi5ibGstbms1ZmQgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOnJvdzthc3BlY3QtcmF0aW86Mi45NjI5NjI5NjI5NjI5NjM7fQouYmxrLW5rNWZkIC5sZWFkLmxlYWQtYm9keS1sZWZ0e2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO30KLmJsay1uazVmZCAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKLmJsay1uazVmZCAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtbWVkaWF7ZmxleDowIDAgNjAlO30KLmJsay1uazVmZCAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5LAouYmxrLW5rNWZkIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e2ZsZXg6MCAwIGNhbGMoNDAlICsgMzBweCk7aW5saW5lLXNpemU6YXV0bzttYXJnaW4tdG9wOjA7YmxvY2stc2l6ZTpjYWxjKDEwMCUgLSA0MnB4KTthbGlnbi1zZWxmOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDt9Ci5ibGstbms1ZmQgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDotMzBweDt9Ci5ibGstbms1ZmQgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXJpZ2h0OjA7fQovKiBQb3NpY2nzbiAnYm90dG9tLWZ1bGwnIGRlbCBsZWFkLWJvZHkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gaW5saW5lLXNpemUKICAgZW4gdmV6IGRlIHdpZHRoIHBvciBlbCBtaXNtbyBtb3Rpdm8gcXVlIGVsIHJlc3RvIGRlIGVzdGUgYmxvcXVlIChldml0YXIKICAgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbCB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MKICAgZGlyZWN0YW1lbnRlKS4gKi8KLmJsay1uazVmZCAubGVhZC5sZWFkLWJvZHktYm90dG9tLWZ1bGwgLmxlYWQtYm9keXsKICBpbmxpbmUtc2l6ZToxMDAlOwogIG1hcmdpbjowOwogIHBhZGRpbmctdG9wOjMwcHg7CiAgcGFkZGluZy1ib3R0b206MzBweDsKICBib3JkZXI6bm9uZTsKfQovKiBFdGlxdWV0YSBkZSBleGNsdXNpdmEgKG8gdGV4dG8gcGVyc29uYWxpemFkbykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1uazVmZCAubGVhZC1leGNsdXNpdmUtdGFne3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDt6LWluZGV4OjM7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtsZXR0ZXItc3BhY2luZzowLjVweDtwYWRkaW5nOjJweCA4cHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojZmZmO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtwb2ludGVyLWV2ZW50czpub25lO30KLyogU2VsZWN0b3IgY29uIDMgY2xhc2VzICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEgKCIubGVhZC1tZWRpYSBpbWciIHRhbWJp6W4KICAgbWF0Y2hlYSBlc3RlIDxpbWc+IHkgbGUgZ2FuYWJhIGVuIGVzcGVjaWZpY2lkYWQpLiAqLwouYmxrLW5rNWZkIC5sZWFkLWV4Y2x1c2l2ZS10YWcgLmxlYWQtZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLW5rNWZkIC5sZWFkLWNhdHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3BhZGRpbmc6MnB4IDhweDt0cmFuc2Zvcm06c2tld1koLTZkZWcpO21hcmdpbi10b3A6LTE1cHg7bWFyZ2luLWJvdHRvbToxMHB4O30KLmJsay1uazVmZCAubGVhZC1raWNrZXIsIC5ibGstbms1ZmQgLmxlYWQtc3VidGl0bGV7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO3RleHQtdHJhbnNmb3JtOm5vbmU7bWFyZ2luOjA7Cn0KLmJsay1uazVmZCAubGVhZC1raWNrZXJ7Zm9udC13ZWlnaHQ6NzAwO30KLmJsay1uazVmZCAubGVhZC1zdWJ0aXRsZXtmb250LXdlaWdodDo2MDA7fQovKiBUYW1h8W8vaW50ZXJsaW5lYWRvL2NvbG9yIGRlIGFudGV07XR1bG8geSBzdWJ07XR1bG8gZW4gRGVzayAodmFsb3JlcyBwb3IKICAgZGVmZWN0byBkZWwgYmxvcXVlOyBlbCBvdmVycmlkZSBkZSBN83ZpbCB2YSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywKICAgeWEgcXVlIGVsIEhUTUwgZXhwb3J0YWRvIGVzIHJlc3BvbnNpdmUgeSBubyBkZXBlbmRlIGRlIHF16SB2aXN0YSB0dXZpZXJhcwogICBzZWxlY2Npb25hZGEgZW4gZWwgZ2VzdG9yIGFsIGV4cG9ydGFyL2NvcGlhcikuICovCi5ibGstbms1ZmQgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiMwMEE3RkY7fQouYmxrLW5rNWZkIC5sZWFkLXN1YnRpdGxle2ZvbnQtc2l6ZToxLjMxMjVyZW07bGluZS1oZWlnaHQ6MS4xO2NvbG9yOiMwMEE3RkY7fQovKiB0ZXh0LXdyYXA6YmFsYW5jZSAmIzgyMTI7IG1pc21vIGNyaXRlcmlvIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlbCBnZXN0b3IgKHZlciBjb21lbnRhcmlvIGRldGFsbGFkbyBqdW50byBhIGVzYSByZWdsYSk6IHJlcGFydGUgbGFzCiAgIGztbmVhcyBkZWwgdGl0dWxhciBkZSBmb3JtYSBt4XMgdW5pZm9ybWUgZGVudHJvIGRlIGNhZGEgZGlzcG9zaXRpdm8sIHNpbgogICBwcmV0ZW5kZXIgaWd1YWxhciBlbCBu+m1lcm8gZGUgbO1uZWFzIGVudHJlIHBsYXRhZm9ybWFzIGRpc3RpbnRhcy4gKi8KLmJsay1uazVmZCAubGVhZC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZToyLjY1cmVtO2xpbmUtaGVpZ2h0OjE7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt0ZXh0LXdyYXA6YmFsYW5jZTt9Ci8qIFRpdHVsYXIgY29uIHNhbHRvcyBkZSBs7W5lYSBpbmRlcGVuZGllbnRlcyBwb3IgdmlzdGEgKHZlciBidWlsZFNjb3BlZEhUTUwpOgogICBzZSBnZW5lcmFuIGxvcyBkb3MgdGV4dG9zIChEZXNrL03zdmlsKSB5IGFxde0gc2UgbXVlc3RyYSBzb2xvIHVubyBzZWf6biBlbAogICBhbmNobyByZWFsIGRlbCBjb250ZW5lZG9yICYjODIxMjsgZWwgbWlzbW8gbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIHlhIHVzYSBlbAogICByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8gcGFyYSBhZGFwdGFyc2Ugc2luIGRlcGVuZGVyIGRlIEpTLiAqLwouYmxrLW5rNWZkIC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQovKiBBbnRldO10dWxvL3N1YnTtdHVsbyBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YTogbWlzbW8KICAgbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgKHZlciBhcnJpYmEpLiAqLwouYmxrLW5rNWZkIC5sZWFkLWtpY2tlci1tb2JpbGUsIC5ibGstbms1ZmQgLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIFRpdHVsYXIgZGUgbm90aWNpYSByZWxhY2lvbmFkYSAoY29sdW1uYSkgY29uIHRleHRvIHByb3BpbyBlbiBN83ZpbCAodmVyCiAgIGl0ZW0udGl0bGVNb2JpbGUgZW4gYnVpbGRDb2x1bW5JdGVtVGl0bGVIVE1MKTogbWlzbW8gbWVjYW5pc21vIGRlCiAgIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgcHJpbmNpcGFsIGRlIGFycmliYS4gKi8KLmJsay1uazVmZCAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLmJsay1uazVmZCAuYXV0aG9yLWxhYmVse2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpyaWdodDtkaXNwbGF5OmJsb2NrfQouYmxrLW5rNWZkIC5jb2x1bW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47fQouYmxrLW5rNWZkIC5jb2x1bW4taXRlbXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQouYmxrLW5rNWZkIC50aHVtYntwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzo0LzM7YmFja2dyb3VuZDojZWVlO292ZXJmbG93OmhpZGRlbn0KLmJsay1uazVmZCAudGh1bWIgaW1nLAouYmxrLW5rNWZkIC50aHVtYiB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci5ibGstbms1ZmQgLnRodW1iIC5wbGF5LXNxdWFyZSwKLmJsay1uazVmZCAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmV7CiAgcG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTo1cHg7IGxlZnQ6NXB4OwogIGlubGluZS1zaXplOjI1cHg7YmxvY2stc2l6ZToyNXB4O2JvcmRlci1yYWRpdXM6MnB4O2Rpc3BsYXk6aW5saW5lLWdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyOwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjE4KTsKICBjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cywgdHJhbnNmb3JtIC4xMnM7CiAgei1pbmRleDoyOyBhbmltYXRpb246YmxrLW5rNWZkLWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGstbms1ZmQgLnRodW1iIC5wbGF5LXNxdWFyZTo6YmVmb3JlLAouYmxrLW5rNWZkIC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo2cHggc29saWQgI2ZmZjtib3JkZXItdG9wOjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjVweCBzb2xpZCB0cmFuc3BhcmVudDsKICBtYXJnaW4tbGVmdDoycHg7Cn0KLmJsay1uazVmZCAudGh1bWIgLnBsYXktc3F1YXJlOmhvdmVyLAouYmxrLW5rNWZkIC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTpob3ZlcnsgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuODUpOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTsgfQouYmxrLW5rNWZkIC5zdGFjay10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjEuMTVlbTttYXJnaW46MDtjb2xvcjojMmMzZTUzO30KLmJsay1uazVmZCAuc3RhY2stYXV0aG9ye2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtYm9vayIsc2Fucy1zZXJpZjtjb2xvcjojODI4NTk1O2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxMXB4O2xldHRlci1zcGFjaW5nOjA7dGV4dC1hbGlnbjpyaWdodDt9Ci8qIFNpbiBlc3RhIHJlZ2xhIGVsIGF1dG9yIHF1ZWRhIHBlZ2FkbyBqdXN0byBkZWJham8gZGVsIHRpdHVsYXIgZW4gdmV6IGRlCiAgIGFiYWpvIGRlIGxhIHRhcmpldGE6IC5tb2Qtc3RhY2sgbmVjZXNpdGEgc2VyIGZsZXgtY29sdW1uIGNvbgogICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiBwYXJhIHF1ZSBlbCBodWVjbyBzb2JyYW50ZSAoY3VhbmRvIGxhCiAgIHRhcmpldGEgY3JlY2UgbeFzIHF1ZSBzdSBjb250ZW5pZG8sIHZlciAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spCiAgIG3hcyBhYmFqbykgZW1wdWplIGVsIGF1dG9yIGhhY2lhIGVsIGJvcmRlIGluZmVyaW9yLiAqLwouYmxrLW5rNWZkIC5tb2Qtc3RhY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtmbGV4OjEgMSBhdXRvO30KLyogRXN0aWxvICJmb3RvIHBlcXVl8WEgKyB0aXR1bGFyIjogZm90byA0OjMgYSBsYSBpenF1aWVyZGEsIHRleHRvIGEgbGEgZGVyZWNoYS4gKi8KLmJsay1uazVmZCAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLWxlZnR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxMTBweCAxZnI7Z2FwOjEwcHg7fQovKiBFc3RpbG8gInNvbG8gdGV4dG8iIChwb3IgZGVmZWN0byk6IGVsIGF1dG9yIHNlIHBvc2ljaW9uYSBlbiBhYnNvbHV0bywKICAgYW5jbGFkbyBhIGxhIGVzcXVpbmEgaW5mZXJpb3IgZGVyZWNoYSBkZSBsYSB0YXJqZXRhIChpZ3VhbCBxdWUgZWwgcGxheSBkZQogICBsYXMgbWluaWF0dXJhcyksIGVuIHZleiBkZSBkZXBlbmRlciBkZSBxdWUgZWwgYmxvcXVlIGRlIHRleHRvIHRlbmdhIGh1ZWNvCiAgIGRlIHNvYnJhIHBhcmEgZW1wdWphcmxvIGFiYWpvIGNvbiBmbGV4Ym94ICYjODIxMjsgY29uIHTtdHVsb3MgZGUgMi0zIGztbmVhcyBlc2UKICAgaHVlY28gbm8gZXhpc3RlIHkgZWwgYXV0b3IgbnVuY2EgbGxlZ2FiYSBhIGJhamFyLiBwYWRkaW5nLWJvdHRvbSBlbgogICBsZWZ0LWJvZHkgcmVzZXJ2YSBlbCBlc3BhY2lvIHBhcmEgcXVlIGVsIHTtdHVsbyBubyBzZSBzb2xhcGUgY29uIOlsLiAqLwouYmxrLW5rNWZkIC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAubGVmdC1ib2R5e3BhZGRpbmctYm90dG9tOjMzcHg7fQouYmxrLW5rNWZkIC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAuc3RhY2stYXV0aG9ye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7Ym90dG9tOjEwcHg7bWFyZ2luLXRvcDowO30KLmJsay1uazVmZCAubGVmdC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjEuMTU7Y29sb3I6IzJjM2U1MzttYXJnaW46MDt0ZXh0LWFsaWduOmxlZnQ7fQouYmxrLW5rNWZkIC5sZWZ0LXBsYXl7CiAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICBiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjMDBhN2ZmOwogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206IDRweDsKfQouYmxrLW5rNWZkIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4Owp9Ci5ibGstbms1ZmQgLnJlbGF0ZWQtbGl2ZS10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkY1MDUwOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkY1MDUwOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLW5rNWZkIC5yZWxhdGVkLWVkaXRvcmlhbC10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkFCMTIxOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkFCMTIxOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLW5rNWZkIC5wbGF5LWJ1dHRvbnsKICAvKiBBbmNoby9hbHRvIGZpam9zIGVuIHZleiBkZSBhc3BlY3QtcmF0aW86MS8xICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoZWwKICAgICBj4WxjdWxvIGRlICJzaHJpbmstdG8tZml0IiBwYXJhIHVuIDxidXR0b24+IGVuIGFic29sdXRvIHNpbiB0YW1h8W8KICAgICBleHBs7WNpdG8gbm8gZXMgZmlhYmxlIGVudHJlIG1vdG9yZXM7IGVuIFdlYktpdC9pT1MgZGFiYSB1biByZWN04W5ndWxvCiAgICAgdmVydGljYWwgZXN0cmVjaO1zaW1vIGVuIHZleiBkZSB1biBjdWFkcmFkbykuICovCiAgYXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOwogIHBvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDsKICBpbmxpbmUtc2l6ZTozNHB4O2Jsb2NrLXNpemU6MzRweDsKICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxMHB4IDEwcHggMTBweCAxMnB4OwogIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNyk7CiAgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC40Mik7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjNweDsKICBjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7YW5pbWF0aW9uOmJsay1uazVmZC1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLW5rNWZkIC5wbGF5LWJ1dHRvbi5wb3MtdG9wLXJpZ2h0e3RvcDoxMHB4O3JpZ2h0OjEwcHg7bGVmdDphdXRvO2JvdHRvbTphdXRvO30KLmJsay1uazVmZCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1sZWZ0e2JvdHRvbToxMHB4O2xlZnQ6MTBweDt0b3A6YXV0bztyaWdodDphdXRvO30KLmJsay1uazVmZCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1yaWdodHtib3R0b206MTBweDtyaWdodDoxMHB4O3RvcDphdXRvO2xlZnQ6YXV0bzt9Ci8qIENvbiBlbCB0ZXh0byAobGVhZC1ib2R5KSBhIGxhIGl6cXVpZXJkYSBvIGxhIGRlcmVjaGEsIGVzZSBibG9xdWUgc29sYXBhCiAgIDMwcHggZGVsIGxhZG8gZGUgbGEgZm90by927WRlbyBwZWdhZG8gYSDpbCAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLW5rNWZkIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5wbGF5LWJ1dHRvbi5wb3MtdG9wLWxlZnQsCi5ibGstbms1ZmQgLmxlYWQubGVhZC1ib2R5LWxlZnQgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tbGVmdHsgbGVmdDo0MHB4OyB9Ci5ibGstbms1ZmQgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5wbGF5LWJ1dHRvbi5wb3MtdG9wLXJpZ2h0LAouYmxrLW5rNWZkIC5sZWFkLmxlYWQtYm9keS1yaWdodCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1yaWdodHsgcmlnaHQ6NDBweDsgfQovKiBQb3NpY2nzbiAnYm90dG9tJyBwb3IgZGVmZWN0bzogZWwgbGVhZC1ib2R5IHNvbGFwYSAzMHB4IHNvYnJlIGVsIGJvcmRlCiAgIElORkVSSU9SIGRlIGxhIGZvdG8vdu1kZW8gJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGNvbiAnYm90dG9tLWZ1bGwnCiAgIG5pIGNvbiAnbGVmdCcvJ3JpZ2h0JyAoYWp1c3RlIGhvcml6b250YWwgcHJvcGlvLCB2ZXIgYXJyaWJhKS4gKi8KLmJsay1uazVmZCAubGVhZDpub3QoLmxlYWQtYm9keS1sZWZ0KTpub3QoLmxlYWQtYm9keS1yaWdodCk6bm90KC5sZWFkLWJvZHktYm90dG9tLWZ1bGwpIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLWxlZnQsCi5ibGstbms1ZmQgLmxlYWQ6bm90KC5sZWFkLWJvZHktbGVmdCk6bm90KC5sZWFkLWJvZHktcmlnaHQpOm5vdCgubGVhZC1ib2R5LWJvdHRvbS1mdWxsKSAucGxheS1idXR0b24ucG9zLWJvdHRvbS1yaWdodHsgYm90dG9tOjQwcHg7IH0KLmJsay1uazVmZCAucGxheS1idXR0b24gLnBsYXktaWNvbnsKICBpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDoxMHB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgdHJhbnNwYXJlbnQ7Cn0KLmJsay1uazVmZCAucGxheS1idXR0b24gLnBsYXktdGV4dHtkaXNwbGF5Om5vbmU7fQoKLyogVGl0dWxhcmVzIGFuaW1hZG9zIChjYXBhIGFsdGVybmF0aXZhIHNvYnJlIGxlYWQtbWVkaWEpICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEKICAgaGVycmFtaWVudGEuIENhZGEgdGl0dWxhciB0aWVuZSBzdSBwcm9waWEgcG9zaWNp824gKGNsYXNlIHBvcy0qLCB2ZXIKICAgYnVpbGRTY29wZWRIVE1MKSB5IHNlIHJldmVsYSBs7W5lYSBwb3IgbO1uZWEgKHVuYSB2ZXogbWVkaWRhcyBzdXMgbO1uZWFzCiAgIHJlYWxlcyBwb3IgZWwgc2NyaXB0IHN0YW5kYWxvbmUsIHZlciBidWlsZEFuaW1IZWFkbGluZXNTY3JpcHQpIGNvbiB1bmEKICAgY2FqYSBkZSBmb25kbyBkZXRy4XMgZGUgY2FkYSBs7W5lYSB5IHVuIGZhZGUgZGUgb3BhY2lkYWQgZW50cmUgdGl0dWxhcmVzLiAqLwouYmxrLW5rNWZkIC5sZWFkLWFuaW0taGVhZGxpbmVzewogIHBvc2l0aW9uOmFic29sdXRlOwogIGluc2V0OjA7CiAgei1pbmRleDo0OwogIHBvaW50ZXItZXZlbnRzOm5vbmU7Cn0KLmJsay1uazVmZCAubGVhZC1hbmltLWhlYWRsaW5lewogIHBvc2l0aW9uOmFic29sdXRlOwogIGxlZnQ6MTVweDsKICBvcGFjaXR5OjA7Cn0KLmJsay1uazVmZCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tbGVmdHsgYm90dG9tOjYwcHg7IH0KLmJsay1uazVmZCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtbGVmdHsgdG9wOjYwcHg7IH0KLmJsay1uazVmZCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtbGVmdHsgdG9wOjUwJTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IH0KLmJsay1uazVmZCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQsCi5ibGstbms1ZmQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0LAouYmxrLW5rNWZkIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgbGVmdDphdXRvOyByaWdodDoxNXB4OyB9Ci5ibGstbms1ZmQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0eyB0b3A6NjBweDsgfQouYmxrLW5rNWZkIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodHsgdG9wOjUwJTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IH0KLmJsay1uazVmZCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IGJvdHRvbTo2MHB4OyB9Ci8qIENvbiBlbCB0ZXh0byAobGVhZC1ib2R5KSBhIGxhIGl6cXVpZXJkYSBvIGxhIGRlcmVjaGEsIGVzZSBibG9xdWUgc29sYXBhCiAgIDMwcHggZGVsIGxhZG8gZGUgbGEgZm90by927WRlbyBwZWdhZG8gYSDpbCAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLW5rNWZkIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1sZWZ0LAouYmxrLW5rNWZkIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1sZWZ0LAouYmxrLW5rNWZkIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1sZWZ0eyBsZWZ0OjQwcHg7IH0KLmJsay1uazVmZCAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0LAouYmxrLW5rNWZkIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQsCi5ibGstbms1ZmQgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgcmlnaHQ6NDBweDsgfQouYmxrLW5rNWZkIC5sZWFkLWFuaW0taGVhZGxpbmUuaXMtYWN0aXZleyBvcGFjaXR5OjE7IH0KLmJsay1uazVmZCAubGVhZC1hbmltLWxpbmV7CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgZGlzcGxheTp0YWJsZTsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7CiAgZm9udC13ZWlnaHQ6OTAwOwogIGNvbG9yOiNmZmY7CiAgcGFkZGluZzoycHggOHB4OwogIGNsaXAtcGF0aDppbnNldCgwIDEwMCUgMCAwKTsKICBvcGFjaXR5OjE7CiAgdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgZWFzZTsKfQouYmxrLW5rNWZkIC5sZWFkLWFuaW0tbGluZS5pcy1oaWRpbmd7IG9wYWNpdHk6MDsgfQovKiBTb2xhcGUgZGUgMXB4IGVudGVyYSBlbnRyZSBs7W5lYXMgcGFyYSBjZXJyYXIgZWwgaGlsbyBkZSBzdWItcO14ZWwgcXVlCiAgIHB1ZWRlIHF1ZWRhciBlbnRyZSBzdXMgY2FqYXMgZGUgZm9uZG8gKHJlZG9uZGVvIGRlIGFsdHVyYXMgZnJhY2Npb25hcmlhcykgJiM4MjEyOwogICB2ZXIgbWlzbW8gY29tZW50YXJpbywgZGV0YWxsYWRvLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLW5rNWZkIC5sZWFkLWFuaW0tbGluZSArIC5sZWFkLWFuaW0tbGluZXsKICBtYXJnaW4tdG9wOi0xcHg7Cn0KLmJsay1uazVmZCAubGVhZC1hbmltLWxpbmU6Zmlyc3QtY2hpbGR7IHBhZGRpbmctdG9wOjZweDsgfQouYmxrLW5rNWZkIC5sZWFkLWFuaW0tbGluZTpsYXN0LWNoaWxkeyBwYWRkaW5nLWJvdHRvbTo2cHg7IH0KLmJsay1uazVmZCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQgLmxlYWQtYW5pbS1saW5lLAouYmxrLW5rNWZkIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGstbms1ZmQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0IC5sZWFkLWFuaW0tbGluZXsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OjA7IH0KLmJsay1uazVmZCAubGVhZC1hbmltLWhlYWRsaW5lcy5pcy1wb3NpdGl2ZSAubGVhZC1hbmltLWxpbmV7IGNvbG9yOiMwRTExMUE7IH0KLmJsay1uazVmZCAubGVhZC1hbmltLWxpbmUtYmd7IHBvc2l0aW9uOmFic29sdXRlOyBpbnNldDowOyB6LWluZGV4Oi0xOyB9Ci5ibGstbms1ZmQgLmxlYWQtYW5pbS1saW5lLXRleHR7IHBvc2l0aW9uOnJlbGF0aXZlOyB9CkBrZXlmcmFtZXMgYmxrLW5rNWZkLWFuaW0tbGluZS1yZXZlYWx7IHRveyBjbGlwLXBhdGg6aW5zZXQoMCAwIDAgMCk7IH0gfQoKLyogQW5jaG9yIG92ZXJsYXkgZm9yIGZ1bGwgY2xpY2thYmxlIGxlYWQgKi8KLmJsay1uazVmZCAubGVhZC1saW5re3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxfQoKLyogSG92ZXIgb3BhY2l0eSBhbmltYXRpb24gKi8KLmJsay1uazVmZCAubGVhZDpob3ZlciAubGVhZC10aXRsZSwKLmJsay1uazVmZCAuY29sdW1uLWl0ZW06aG92ZXJ7b3BhY2l0eTouOH0KLyogRm90byBwcmluY2lwYWwgKGZhbGxiYWNrL3NpbmdsZSkgbyBjYXJydXNlbCBkZSBmb3Rvczogb3BhY2lkYWQgMC45IGFsCiAgIHBhc2FyIGVsIHJhdPNuIHBvciBsYSB0YXJqZXRhICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuCiAgIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE5vIGFwbGljYSBhIHbtZGVvIG5pIGFsCiAgIGNvbXBhcmFkb3IgYW50ZXMvZGVzcHXpcy4gKi8KLmJsay1uazVmZCAubGVhZC1tZWRpYSA+IGltZywKLmJsay1uazVmZCAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt9Ci5ibGstbms1ZmQgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiBpbWcsCi5ibGstbms1ZmQgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHtvcGFjaXR5Oi45O30KLyogRW4gZWwgYW5jaG8gbfN2aWwgKG1pc21vIEBjb250YWluZXIgcXVlIGVsIHJlc3RvIGRlbCBIVE1MIGV4cG9ydGFkbykgbm8KICAgYXBsaWNhIGVzdGEgYW5pbWFjafNuIGRlIG9wYWNpZGFkIHNvYnJlIGxhIG5vdGljaWEgcHJpbmNpcGFsOiB2YSBERVNQVclTCiAgIGRlIGxhIHJlZ2xhIGdlbmVyYWwgZGUgYXJyaWJhIChtaXNtYSBlc3BlY2lmaWNpZGFkKSBwYXJhIHBvZGVyIGdhbmFybGUuCiAgIE9taXRpZG8sIGlndWFsIHF1ZSBlbCBibG9xdWUgZGUgdGlwb2dyYWbtYSBkZSBhcnJpYmEsIG1pZW50cmFzIGxhCiAgIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06SBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsKICAuYmxrLW5rNWZkIC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAogIC5ibGstbms1ZmQgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiBpbWcsCiAgLmJsay1uazVmZCAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6MTt9Cn0KCi8qIEFuaW1hY2nzbiBjb21wYXJ0aWRhIHBsYXkgcHJpbmNpcGFsICsgY3VhZHJhZG9zIHBsYXkgYXBpbGFkYXMgKi8KQGtleWZyYW1lcyBibGstbms1ZmQtYmxpbmt7CiAgMCUsMTAwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC43KX0KICA1MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTY1LDI1NSwwLjkpfQp9Ci8qIENhYmVjZXJhICovCi5ibGstbms1ZmQgLmJnLXNlY3Rpb24tdGl0bGV7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46MTBweCAwIDMycHh9Ci5ibGstbms1ZmQgLmZuZC1saW5lYXtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6NXB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luLXRvcDotMThweDtib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzN9Ci5ibGstbms1ZmQgLnNlY3Rpb24tdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjRweCAxM3B4O2JvcmRlcjoxcHggc29saWQgIzBFMTExQTt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyk7Zm9udC1zaXplOjQycHg7Y29sb3I6IzBFMTExQTt9CkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7LmJsay1uazVmZCAuc2VjdGlvbi10aXRsZXtmb250LXNpemU6MjdweDtwYWRkaW5nOjAgMTBweH19Ci8qIENhYmVjZXJhICYjODIxMjsgRGlzZfFvIDIgKHRpdHVsYXIgKyBjYXJydXNlbCBkZSBsb2dvdGlwb3MpICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwKICAgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstbms1ZmQgLmhlYWRlcjJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MjBweDtwYWRkaW5nLWJvdHRvbTo1cHg7bWFyZ2luLWJvdHRvbToxMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMwRTExMUE7fQovKiBhbGlnbi1zZWxmOmZsZXgtZW5kIGZpamEgZWwgdGl0dWxhciBTSUVNUFJFIGEgMTVweCBkZSBsYSBs7W5lYSBzZXBhcmFkb3JhCiAgIGVuIERlc2sgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zCiAgIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1uazVmZCAuaGVhZGVyMi1sZWZ0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7ZmxleDoxIDEgNTAlO21pbi1pbmxpbmUtc2l6ZTowO2FsaWduLXNlbGY6ZmxleC1lbmQ7fQouYmxrLW5rNWZkIC5oZWFkZXIyLXRhZ3N7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZsZXg6MCAwIGF1dG87fQovKiBNaXNtbyB0YW1h8W8vdGlwb2dyYWbtYSBxdWUgLmxlYWQtZXhjbHVzaXZlLXRhZyAobGEgZGUgbGEgbm90aWNpYQogICBwcmluY2lwYWwpICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUKICAgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstbms1ZmQgLmhlYWRlcjItY2F0LXRhZywKLmJsay1uazVmZCAuaGVhZGVyMi1leGNsdXNpdmUtdGFne2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOi44ZW07bGV0dGVyLXNwYWNpbmc6LjVweDtwYWRkaW5nOjJweCA4cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3doaXRlLXNwYWNlOm5vd3JhcDtjb2xvcjojZmZmO30KLmJsay1uazVmZCAuaGVhZGVyMi1leGNsdXNpdmUtdGFnLWljb257cG9zaXRpb246c3RhdGljO2luc2V0OmF1dG87aW5saW5lLXNpemU6MTRweDtibG9jay1zaXplOjE0cHg7b2JqZWN0LWZpdDpjb250YWluO2ZsZXg6MCAwIGF1dG87ZGlzcGxheTpibG9jazt9Ci5ibGstbms1ZmQgLmhlYWRlcjItdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDtmb250LXNpemU6MzZweDtsaW5lLWhlaWdodDoxLjA1O2NvbG9yOiMwRTExMUE7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO21pbi1pbmxpbmUtc2l6ZTowO292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt9Ci8qIFNlcGFyYWNp824gZGUgMTBweCBlbnRyZSBlbCB0ZXh0byBkZSBwYXRyb2NpbmlvIHkgZWwgbG9nbyBlbiBEZXNrICYjODIxMjsgZW4KICAgTfN2aWwgc2lndWUgc2luIHNlcGFyYWNp824gKGdhcDowLCB2ZXIgQGNvbnRhaW5lciBt4XMgYWJham8pLiAqLwouYmxrLW5rNWZkIC5oZWFkZXIyLWxvZ29zLXdyYXB7ZmxleDowIDAgYXV0bzttYXgtaW5saW5lLXNpemU6NTAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO30KLyogRXRpcXVldGEgb3BjaW9uYWwganVudG8gYWwgY2FycnVzZWwgZGUgbG9nb3MgKHAuZWouICJQYXRyb2NpbmFkbyBwb3I6IikgJiM4MjEyOwogICB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbAogICBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1uazVmZCAuaGVhZGVyMi1sb2dvcy1sYWJlbHtmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo0MDA7Y29sb3I6IzY2Nzt3aGl0ZS1zcGFjZTpub3dyYXA7fQouYmxrLW5rNWZkIC5oZWFkZXIyLWxvZ29ze3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjE2MHB4O2Jsb2NrLXNpemU6NTBweDtmbGV4LXNocmluazowO30KLmJsay1uazVmZCAuaGVhZGVyMi1sb2dvcyBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDttYXJnaW46YXV0bzttYXgtaW5saW5lLXNpemU6MTAwJTttYXgtYmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y29udGFpbjtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC43cyBlYXNlLWluLW91dDt9Ci5ibGstbms1ZmQgLmhlYWRlcjItbG9nb3MgaW1nLmlzLWFjdGl2ZXtvcGFjaXR5OjE7fQovKiBJZ3VhbCBxdWUgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbDogcG9yIGRlYmFqbyBkZSBlc3RlIGFuY2hvIHNlCiAgIGludGVudGEgcHJpbWVybyAxIFNPTEEgRklMQSAoZXRpcXVldGFzK3RpdHVsYXIganVudG8gYWwgbG9nbywgaWd1YWwgcXVlCiAgIGVuIERlc2ssIGEgdGFtYfFvIHJlZHVjaWRvKS4gRWwgYmxvcXVlIGRlIGxvZ29zIG1hbnRpZW5lIFNJRU1QUkUgc3UKICAgZGlzcG9zaWNp824gZW4gY29sdW1uYSAoZXRpcXVldGEgZGUgcGF0cm9jaW5pbyBlbmNpbWEgZGVsIGxvZ28sCiAgIGFsaW5lYWRvcyBhIGxhIGRlcmVjaGEsIHNpbiBzZXBhcmFjafNuKSB0YW50byBlbiBlc3RhIGZpbGEg+m5pY2EgY29tbyBlbgogICBlbCByZXNndWFyZG8gZGUgYWJham8uIFNpIGVsIHRpdHVsYXIsIHN1bWFkbyBhbCBhbmNobyBkZSBsYXMgZXRpcXVldGFzCiAgIGFjdGl2YXMgKGNhdGVnb3LtYSB5L28gZXhjbHVzaXZhLCBzaSBsYXMgaGF5KSwgc3VwZXJhIGVsIDU1JSBkZWwgYW5jaG8KICAgdG90YWwgZGUgbGEgY2FiZWNlcmEgKGNhZGEgdW5vIG1lZGlkbyBhIHVuYSBzb2xhIGztbmVhKSwgZWwgc2NyaXB0CiAgIHN0YW5kYWxvbmUgYfFhZGlkbyBhbCBmaW5hbCBkZSBlc3RlIEhUTUwgKHZlcgogICBidWlsZEhlYWRlcjJTdGFja2luZ1NjcmlwdCgpKSBsbyBkZXRlY3RhIG1pZGllbmRvIHN1IGFuY2hvIG5hdHVyYWwKICAgeSBh8WFkZSBsYSBjbGFzZSAiaGVhZGVyMi1zdGFja2VkIjogZWwgYmxvcXVlIGRlCiAgIGxvZ29zIHN1YmUgZW50b25jZXMgYSBzdSBwcm9waWEgZmlsYSAoYWxpbmVhZG8gYSBsYSBkZXJlY2hhKSB5CiAgIHRpdHVsYXIrZXRpcXVldGFzIGJhamFuIGEgbGEgZmlsYSBkZSBhYmFqbywgYSBhbmNobyBjb21wbGV0byAmIzgyMTI7IG1pc21vCiAgIGxheW91dCBkZSAyIGZpbGFzIHF1ZSBoYWLtYSBhbnRlcyBzaWVtcHJlIHBvciBkZWJham8gZGUgZXN0ZSBicmVha3BvaW50LAogICBhaG9yYSBzb2xvIGNvbW8gcmVzZ3VhcmRvLiBEZW50cm8gZGUgZXNlIHJlc2d1YXJkbywgY29uIGV0aXF1ZXRhKHMpIGVsCiAgIHRpdHVsYXIgcGFzYSBhZGVt4XMgYSBzdSBQUk9QSUEgZmlsYSBhIGFuY2hvIGNvbXBsZXRvLCBkZWJham8gZGUgbGEgZmlsYSBkZSBldGlxdWV0YXMgKHZlcgogICAiLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sZWZ0IiBt4XMgYWJham8pLiBFbCBsb2dvIHNlIHJlZHVjZSB1biAyMCUKICAgKDE2MHg1MCAmIzg1OTQ7IDEyOHg0MCkuCiAgIGFsaWduLXNlbGY6ZmxleC1lbmQgZW4gaGVhZGVyMi1sZWZ0IGZpamEgZWwgdGl0dWxhciBTSUVNUFJFIGEgbG9zIDEwcHgKICAgZGVsIHBhZGRpbmctYm90dG9tIHJlc3BlY3RvIGEgbGEgbO1uZWEgc2VwYXJhZG9yYSAmIzgyMTI7IG1pc21vIGNyaXRlcmlvIHF1ZQogICBlbiBEZXNrICh2ZXIgaGVhZGVyMi1sZWZ0IG3hcyBhcnJpYmEpOiBzaW4gZXN0bywgYWwgc2VyIGVsIGJsb3F1ZSBkZQogICBsb2dvcyBt4XMgYWx0byBxdWUgZWwgdGl0dWxhciwgZWwgY2VudHJhZG8gdmVydGljYWwgZGVsIHJvdyBkZWphYmEgdW4KICAgaHVlY28gbWF5b3IgZW50cmUgZWwgdGl0dWxhciB5IGxhIGztbmVhLiBFbCBibG9xdWUgZGUgbG9nb3Mgc2lndWUKICAgY2VudHJhZG8gKHNpbiBlc2Ugb3ZlcnJpZGUpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstbms1ZmQgLmhlYWRlcjJ7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nLWxlZnQ6MTBweDtwYWRkaW5nLXJpZ2h0OjEwcHg7cGFkZGluZy1ib3R0b206MTBweDt9CiAgLmJsay1uazVmZCAuaGVhZGVyMi1sZWZ0e29yZGVyOjE7YWxpZ24tc2VsZjpmbGV4LWVuZDt9CiAgLmJsay1uazVmZCAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjI7YWxpZ24tc2VsZjpjZW50ZXI7bWF4LWlubGluZS1zaXplOm5vbmU7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDowO30KICAuYmxrLW5rNWZkIC5oZWFkZXIyLWxvZ29ze2lubGluZS1zaXplOjEyOHB4O2Jsb2NrLXNpemU6NDBweDt9CiAgLmJsay1uazVmZCAuaGVhZGVyMi10aXRsZXtmb250LXNpemU6MjdweDt9CiAgLmJsay1uazVmZCAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7fQogIC5ibGstbms1ZmQgLmhlYWRlcjIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnR7b3JkZXI6MjthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7Z2FwOjVweDt9CiAgLmJsay1uazVmZCAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbG9nb3Mtd3JhcHtvcmRlcjoxO21heC1pbmxpbmUtc2l6ZToxMDAlO2FsaWduLXNlbGY6ZmxleC1lbmQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDowO30KICAvKiBSZXNndWFyZG8gaW50ZXJtZWRpbyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGE6IHNvbG8gZWwgdGl0dWxhciBiYWphIGEgc3UKICAgICBwcm9waWEgZmlsYSBhIGFuY2hvIGNvbXBsZXRvIGN1YW5kbyBsYXMgZXRpcXVldGFzIFPNIGNhYmVuIGp1bnRvIGFsCiAgICAgbG9nbyBwZXJvIGVsIHRpdHVsYXIgbm8uIGhlYWRlcjItbGVmdCBwYXNhIGRlIGZpbGEgYSBjb2x1bW5hCiAgICAgKGV0aXF1ZXRhcyBhcnJpYmEsIHRpdHVsYXIgZGViYWpvKSB5IHJlY3VwZXJhIGFsaWduLXNlbGY6YXV0byBwYXJhCiAgICAgY2VudHJhcnNlIHZlcnRpY2FsbWVudGUgY29udHJhIGVsIGxvZ28gKGFsaWduLXNlbGY6Y2VudGVyIGRlIGxhIHJlZ2xhCiAgICAgYmFzZSBkZSAuaGVhZGVyMi1sb2dvcy13cmFwLCBhcnJpYmEpLCBpZ3VhbCBxdWUgZW4gZWwgcmVzdG8gZGUgZXN0YWRvcy4gKi8KICAuYmxrLW5rNWZkIC5oZWFkZXIyLmhlYWRlcjItdGl0bGUtYmVsb3cgLmhlYWRlcjItbGVmdHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDthbGlnbi1zZWxmOmF1dG87Z2FwOjVweDt9Cn0KCi8qIEVzdGlsbyAiZm90byBncmFuZGUgKyB0aXR1bGFyIjogZm90byAxNjo5IGFycmliYSwgdGl0dWxhciBkZWJham8gJiM4MjEyOyBlbGVnaWJsZQogICBwb3Igbm90aWNpYSBkZXNkZSBlbCBnZXN0b3IuIE5vIHNlIHJlc3RyaW5nZSBjb24gQGNvbnRhaW5lciBwb3JxdWUKICAgLmNvbHVtbi1pdGVtIHlhIGVzIGJsb2NrIHBvciBkZWZlY3RvIChlbCB0aHVtYiB5IGVsIHRleHRvIHNlIGFwaWxhbiBzb2xvcwogICBzaW4gbeFzIGFqdXN0ZSksIGFz7SBxdWUgZWwgZGlzZfFvIGZ1bmNpb25hIGlndWFsIGRlIGJpZW4gZW4gY3VhbHF1aWVyCiAgIGFuY2hvLCBEZXNrIG8gTfN2aWwuICovCi5ibGstbms1ZmQgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3B7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9Ci5ibGstbms1ZmQgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLnRodW1ie2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjE2Lzk7bWFyZ2luLWJvdHRvbToxMHB4O30KLmJsay1uazVmZCAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAubGVmdC10aXRsZXtmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6OTAwO30KLyogRW4gTfN2aWwgZWwgdGl0dWxhciBkZSBlc3RlIGRpc2XxbyBzZSBtdWVzdHJhIG3hcyBncmFuZGUgKDEuNXJlbSBlbiB2ZXogZGUKICAgbG9zIDEuMnJlbSBkZSBEZXNrKSAmIzgyMTI7IG1pc21hIGVzcGVjaWZpY2lkYWQgKDMgY2xhc2VzKSBxdWUgbGEgcmVnbGEgZGUKICAgYXJyaWJhOyBhbCBpciBERVNQVclTIGVuIGVsIENTUyBnYW5hIHBvciBvcmRlbiBkZSBjYXNjYWRhLiBTZSB1c2EgZWwKICAgYnJlYWtwb2ludCBkZSA0ODBweCAoZWwgZGUgdGlwb2dyYWbtYSBlbiBlc3RhIGFwcCwgbm8gZWwgZGUgODYwcHggcXVlIGFxde0KICAgc29sbyBnb2JpZXJuYSBlbCBhcGlsYWRvIGRlIGNvbHVtbmFzKSBwYXJhIHF1ZSBjb2luY2lkYSBjb24gZWwgcmVzdG8gZGUKICAgY2FtYmlvcyBkZSB0ZXh0by90YW1h8W8gcG9yIHZpc3RhLiBObyBhZmVjdGEgYWwgcmVzZ3VhcmRvIGRlIDIgY29sdW1uYXMgZW4KICAgbfN2aWwgKG1vYi1ncmlkKSwgbeFzIGVzcGVj7WZpY28gKDE4cHgsIHZlciBt4XMgYXJyaWJhKS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjQ4MHB4KXsKICAuYmxrLW5rNWZkIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC5sZWZ0LXRpdGxle2ZvbnQtc2l6ZToxLjVyZW07fQp9Ci8qIEVzdGlsbyAiQmxvcXVlIG1lZGlhIiAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLW5rNWZkIC5tZWRpYS1ibG9jay1tZWRpYXtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTphdXRvO30KLmJsay1uazVmZCAubWVkaWEtYmxvY2std3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO30KLmJsay1uazVmZCAubWVkaWEtYmxvY2staWZyYW1lLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6aGlkZGVuO30KLmJsay1uazVmZCAubWVkaWEtYmxvY2staWZyYW1lLXdyYXAgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt9Ci5ibGstbms1ZmQgLmNvbHVtbi1pdGVtLmxheW91dC1tZWRpYS1ibG9ja3tib3JkZXI6bm9uZTtwYWRkaW5nOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtibG9jay1zaXplOmF1dG87ZmxleDowIDAgYXV0bzt9Ci5ibGstbms1ZmQgLmNvbHVtbi1pdGVtOm5vdCgubGF5b3V0LW1lZGlhLWJsb2NrKXtmbGV4OjEgMSBhdXRvO30KPC9zdHlsZT4KCjxkaXYgY2xhc3M9ImJsay1uazVmZCI+CiAgCiAgPG1haW4gY2xhc3M9InBhZ2UiPgogICAgCiAgICA8YXJ0aWNsZSBjbGFzcz0ibGVhZCI+CiAgICAgIDxkaXYgY2xhc3M9ImxlYWQtbWVkaWEiPgogICAgICAgIDxpbWcgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvc2FuY2hlei15LXRvZGEtbGEtaXpxdWllcmRhLWVuLXRyb21iYS1jb250cmEtaW5kYS10cmFzLXBlZGlyLWFsLXBwLXF1ZS1uby1oYWJsZS1kZS1sYXMtcGVuc2lvbmVzLWVuLWNhbXBhbmEtMjAyNjEwMTUtMTIwOTMwLTBmMjZhMC5qcGciIGFsdD0iU+FuY2hleiB5IHRvZGEgbGEgaXpxdWllcmRhIGVuIHRyb21iYSBjb250cmEgSW5kYSB0cmFzIHBlZGlyIGFsIFBQICZxdW90O3F1ZSBubyBoYWJsZSZxdW90OyBkZSBsYXMgcGVuc2lvbmVzIGVuIGNhbXBh8WEiIGxvYWRpbmc9ImVhZ2VyIiBmZXRjaHByaW9yaXR5PSJoaWdoIiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDxkaXYgY2xhc3M9ImxlYWQtb3ZlcmxheSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiYSgxNCwxNywyNiwwLjAwKTsiPjwvZGl2PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5IiBzdHlsZT0iYmFja2dyb3VuZDojMDBBN0ZGOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImxlYWQtY2F0IiBzdHlsZT0iYmFja2dyb3VuZDojZmZmO2NvbG9yOiMwMEE3RkYiPkVTUEHRQTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJsZWFkLWJvZHktbWFpbiI+CiAgICAgICAgICAKICAgICAgICAgIDxoMiBjbGFzcz0ibGVhZC10aXRsZSI+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtZGVzayI+U+FuY2hleiB5IHRvZGEgbGEgaXpxdWllcmRhIGVuIHRyb21iYSBjb250cmEgSW5kYSB0cmFzIHBlZGlyIGFsIFBQICZxdW90O3F1ZSBubyBoYWJsZSZxdW90OyBkZSBsYXMgcGVuc2lvbmVzIGVuIGNhbXBh8WE8L3NwYW4+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtbW9iaWxlIj5T4W5jaGV6IHkgdG9kYSBsYSBpenF1aWVyZGEgZW4gdHJvbWJhIGNvbnRyYSBJbmRhIHRyYXMgcGVkaXIgYWwgUFAgJnF1b3Q7cXVlIG5vIGhhYmxlJnF1b3Q7IGRlIGxhcyBwZW5zaW9uZXMgZW4gY2FtcGHxYTwvc3Bhbj48L2gyPgogICAgICAgICAgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aG9yLWxhYmVsIj5OYWNobyBBdGFuZXM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YSBjbGFzcz0ibGVhZC1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BhbmEvc2FuY2hlei10b2RhLWl6cXVpZXJkYS10cm9tYmEtY29udHJhLWluZGEtcGVkaXItcHAtcXVlLW5vLWhhYmxlLXBlbnNpb25lcy1jYW1wYW5hLTIwNTU2ODc5IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9IlPhbmNoZXogeSB0b2RhIGxhIGl6cXVpZXJkYSBlbiB0cm9tYmEgY29udHJhIEluZGEgdHJhcyBwZWRpciBhbCBQUCAmcXVvdDtxdWUgbm8gaGFibGUmcXVvdDsgZGUgbGFzIHBlbnNpb25lcyBlbiBjYW1wYfFhIiBhcmlhLWxhYmVsPSJT4W5jaGV6IHkgdG9kYSBsYSBpenF1aWVyZGEgZW4gdHJvbWJhIGNvbnRyYSBJbmRhIHRyYXMgcGVkaXIgYWwgUFAgJnF1b3Q7cXVlIG5vIGhhYmxlJnF1b3Q7IGRlIGxhcyBwZW5zaW9uZXMgZW4gY2FtcGHxYSI+PC9hPgogICAgPC9hcnRpY2xlPgogIDwvbWFpbj4KPC9kaXY+Cgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICB2YXIgYXJ0aWNsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5ibGstbms1ZmQgLmxlYWQnKTsKICBpZiAoIWFydGljbGUpIHJldHVybjsKICB2YXIgbWFpbiA9IGFydGljbGUucXVlcnlTZWxlY3RvcignLmxlYWQtYm9keS1tYWluJyk7CiAgdmFyIHRpdGxlRWwgPSBhcnRpY2xlLnF1ZXJ5U2VsZWN0b3IoJy5sZWFkLXRpdGxlJyk7CiAgaWYgKCFtYWluIHx8ICF0aXRsZUVsKSByZXR1cm47CiAgdmFyIGJhc2VGb250U2l6ZVB4ID0gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRpdGxlRWwpLmZvbnRTaXplKSB8fCAwOwogIGlmICghYmFzZUZvbnRTaXplUHgpIHJldHVybjsKICB2YXIgTUFYX1NDQUxFID0gMS44OwogIHZhciBNSU5fU0NBTEUgPSAwLjU7CiAgdmFyIE1BWF9GT05UX1BYID0gNjQ7IC8vIH40cmVtIGNvbiBsYSBiYXNlIGhhYml0dWFsIGRlIDE2cHggKG1pc21vIHRvcGUgcXVlIGZpdExlYWRUaXRsZVRvQm94KCkgZW4gZWwgZ2VzdG9yKQogIHZhciBib2R5UG9zaXRpb25CbG9ja3NGaXQgPSBhcnRpY2xlLmNsYXNzTGlzdC5jb250YWlucygnbGVhZC1ib2R5LWxlZnQnKSB8fCBhcnRpY2xlLmNsYXNzTGlzdC5jb250YWlucygnbGVhZC1ib2R5LXJpZ2h0Jyk7CiAgZnVuY3Rpb24gZml0KCl7CiAgICBpZiAoYm9keVBvc2l0aW9uQmxvY2tzRml0KSByZXR1cm47CiAgICB0aXRsZUVsLnN0eWxlLmZvbnRTaXplID0gYmFzZUZvbnRTaXplUHggKyAncHgnOwogICAgdmFyIGF2YWlsYWJsZUhlaWdodCA9IG1haW4uY2xpZW50SGVpZ2h0OwogICAgaWYgKCFhdmFpbGFibGVIZWlnaHQpIHJldHVybjsKICAgIC8vIFZlciBtaXNtbyBjb21lbnRhcmlvLCBkZXRhbGxhZG8sIGVuIGZpdExlYWRUaXRsZVRvQm94KCkgZGVsIGdlc3RvcjoKICAgIC8vIG1haW4uc2Nyb2xsSGVpZ2h0IG51bmNhIGJhamEgZGUgY2xpZW50SGVpZ2h0IGF1bnF1ZSBlbCBjb250ZW5pZG8gcmVhbAogICAgLy8gb2N1cGUgbWVub3MsIGFz7SBxdWUgbm8gc2lydmUgcGFyYSBkZXRlY3RhciBjdeFudG8gc29icmEgbyBmYWx0YSBjb24KICAgIC8vIGVsIHRpdHVsYXIgYWN0dWFsICYjODIxMjsgc2Ugc3VtYSBlbiBzdSBsdWdhciBlbCBhbHRvIHJlYWwgZGUgY2FkYSBoaWpvCiAgICAvLyBWSVNJQkxFIGRlbCBibG9xdWUsIHNhbHZvIGVsIHByb3BpbyB0aXR1bGFyLCBt4XMgZWwgaHVlY28gKCJnYXAiKQogICAgLy8gZW50cmUgZWxsb3M7IG5vIGNhbWJpYSBjb24gZWwgdGFtYfFvIGRlbCB0aXR1bGFyLCBhc+0gcXVlIHNlIG1pZGUgdW5hCiAgICAvLyBzb2xhIHZleiwgYW50ZXMgZGUgbGEgYvpzcXVlZGEgYmluYXJpYS4KICAgIHZhciBnYXBQeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShtYWluKS5yb3dHYXApIHx8IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShtYWluKS5nYXApIHx8IDA7CiAgICB2YXIgdmlzaWJsZUNoaWxkcmVuID0gW10uc2xpY2UuY2FsbChtYWluLmNoaWxkcmVuKS5maWx0ZXIoZnVuY3Rpb24oYyl7IHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGMpLmRpc3BsYXkgIT09ICdub25lJzsgfSk7CiAgICB2YXIgb3RoZXJzSGVpZ2h0ID0gdmlzaWJsZUNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbihjKXsgcmV0dXJuIGMgIT09IHRpdGxlRWw7IH0pLnJlZHVjZShmdW5jdGlvbihzdW0sIGMpeyByZXR1cm4gc3VtICsgYy5vZmZzZXRIZWlnaHQ7IH0sIDApCiAgICAgICsgZ2FwUHggKiBNYXRoLm1heCgwLCB2aXNpYmxlQ2hpbGRyZW4ubGVuZ3RoIC0gMSk7CiAgICB2YXIgYXZhaWxhYmxlRm9yVGl0bGUgPSBNYXRoLm1heCgwLCBhdmFpbGFibGVIZWlnaHQgLSBvdGhlcnNIZWlnaHQpOwogICAgaWYgKCFhdmFpbGFibGVGb3JUaXRsZSkgcmV0dXJuOwogICAgZnVuY3Rpb24gaGVpZ2h0QXRTY2FsZShzY2FsZSl7CiAgICAgIHRpdGxlRWwuc3R5bGUuZm9udFNpemUgPSBNYXRoLm1pbihiYXNlRm9udFNpemVQeCAqIHNjYWxlLCBNQVhfRk9OVF9QWCkgKyAncHgnOwogICAgICByZXR1cm4gdGl0bGVFbC5vZmZzZXRIZWlnaHQ7CiAgICB9CiAgICB2YXIgbG8gPSBNSU5fU0NBTEUsIGhpID0gTUFYX1NDQUxFOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCA4OyBpKyspewogICAgICB2YXIgbWlkID0gKGxvICsgaGkpIC8gMjsKICAgICAgaWYgKGhlaWdodEF0U2NhbGUobWlkKSA8PSBhdmFpbGFibGVGb3JUaXRsZSkgbG8gPSBtaWQ7IGVsc2UgaGkgPSBtaWQ7CiAgICB9CiAgICBoZWlnaHRBdFNjYWxlKGxvKTsKICB9CiAgZml0KCk7CiAgaWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLnJlYWR5KXsgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbihmaXQpOyB9CiAgaWYgKHdpbmRvdy5SZXNpemVPYnNlcnZlcil7IG5ldyBSZXNpemVPYnNlcnZlcihmaXQpLm9ic2VydmUoYXJ0aWNsZSk7IH0KICBlbHNlIHsgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZpdCk7IH0KfSkoKTsKPC9zY3JpcHQ+
      CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCksIHkgYXF17SBtaXNtbyBjb24gZWwgdGV4dG8gYQogICBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhIChib2R5UG9zaXRpb25CbG9ja3NDb2x1bW4pOiBjb24gZXNlIGxheW91dCBsYQogICBub3RpY2lhIHByaW5jaXBhbCB5YSBvY3VwYSBlbCAxMDAlIGRlbCBhbmNobyB5IHNvbGFwYSBzdSBwcm9waWEgZm90byBkZQogICBib3JkZSBhIGJvcmRlLCBhc+0gcXVlIGVsIGFpcmUvZm9uZG8gYmxhbmNvIHNvYnJhLiAqLwouYmxrLXFqbWJje21heC1pbmxpbmUtc2l6ZTo5NjBweDttYXJnaW46MCBhdXRvO2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplO30KLmJsay1xam1iYyBhe3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmluaGVyaXR9Ci5ibGstcWptYmMgLnBhZ2V7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjE1cHh9Ci5ibGstcWptYmMgLnBhZ2UgLmNvbHVtbntvcmRlcjoxfQouYmxrLXFqbWJjIC5wYWdlIC5sZWFke29yZGVyOjJ9Ci8qIDg2MHB4IHkgbm8gNDc1cHg6IGNvbiBsYSBjb2x1bW5hIGZpamEgKDIyMHB4ICsgMjBweCBkZSBnYXAgPSAyNDBweCksCiAgIGN1YWxxdWllciBhbmNobyBkZSBpZnJhbWUgcG9yIGRlYmFqbyBkZSB+ODYwcHggZGVqYSBsYSBub3RpY2lhIHByaW5jaXBhbAogICAoMWZyKSBjYWRhIHZleiBjb24gbWVub3MgZXNwYWNpbyBoYXN0YSBjb2xhcHNhciBhIDBweCBkZSBhbmNobyBhbnRlcyBkZQogICBsbGVnYXIgYSB1biBicmVha3BvaW50IHRhbiBiYWpvIGNvbW8gNDc1cHggJiM4MjEyOyBsYSBub3RpY2lhIHByaW5jaXBhbAogICBkaXJlY3RhbWVudGUgZGVzYXBhcmVjZSBlbiBlc2EgZnJhbmphIGludGVybWVkaWEgKG5pICJkZXNrIiBjb21wbGV0byBuaQogICAibfN2aWwiIGVzdHJlY2hvKS4gQ29uIDg2MHB4IHNlIHBhc2EgYSB1bmEgc29sYSBjb2x1bW5hIGFwaWxhZGEgYW50ZXMgZGUKICAgcXVlIGVzbyBwdWVkYSBvY3VycmlyLgogICBFc3RlIGJyZWFrcG9pbnQgc2Ugb21pdGUgcG9yIGNvbXBsZXRvIG1pZW50cmFzIGxhIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06QogICBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KTogcGVuc2FkbyBwYXJhIGN1YW5kbyBlbCBt82R1bG8gbGxldmEgc3UKICAgY29sdW1uYSBhIDk2MHB4LCBkZWphIGRlIHRlbmVyIHNlbnRpZG8gZW4gdW5hIGV4cG9ydGFjafNuIGRlIHNvbG8gbGEKICAgbm90aWNpYSBwcmluY2lwYWwgYSB1biBhbmNobyBmaWpvIGVsZWdpZG8gYSBtYW5vICYjODIxMjsgbG9zIGFuY2hvcyBzaW11bGFkb3MKICAgKDYxMy80NjAvMzA3cHgpIGVzdOFuIFRPRE9TIHBvciBkZWJham8gZGUgODYwcHgsIGFz7SBxdWUgc2luIGVzdGUgZ2F0aW5nCiAgIGVsIEhUTUwgZXhwb3J0YWRvIGNhZXLtYSBzaWVtcHJlIGEgbGEgdGlwb2dyYWbtYSAiTfN2aWwiIChjb24gIWltcG9ydGFudCkKICAgc2VhIGN1YWwgc2VhIGxhIHF1ZSBlbCB1c3VhcmlvIGNvbmZpZ3Vy8yBlbiAiRGVzayIgcGFyYSBlc2Egc2ltdWxhY2nzbiwKICAgZGFuZG8gbGEgZmFsc2Egc2Vuc2FjafNuIGRlIHF1ZSB1bmEgY29uZmlndXJhY2nzbiAicGlzYSIgYSBvdHJhLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstcWptYmN7YmFja2dyb3VuZDpub25lO3BhZGRpbmc6MDt9CiAgLmJsay1xam1iYyAucGFnZXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogIC5ibGstcWptYmMgLnBhZ2UgLnN0YWNrLXRpdGxlIHtmb250LXNpemU6MThweDsgbGluZS1oZWlnaHQ6IDEuMmVtO30KICAuYmxrLXFqbWJjIC5wYWdlIC5zdGFjay1hdXRob3Ige21hcmdpbi10b3A6IDEwcHg7fQogIC5ibGstcWptYmMgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2Jsb2NrLXNpemU6NDAwcHggIWltcG9ydGFudDt9CiAgLmJsay1xam1iYyAubGVhZC1tZWRpYXthc3BlY3QtcmF0aW86NC8zICFpbXBvcnRhbnQ7fQogIC5ibGstcWptYmMgLnBhZ2UgLmxlYWR7b3JkZXI6MX0KICAuYmxrLXFqbWJjIC5wYWdlIC5jb2x1bW57b3JkZXI6Mn0KICAvKiBQb3IgZGViYWpvIGRlbCBicmVha3BvaW50LCBlbCBsZWFkLWJvZHkgc2llbXByZSB2dWVsdmUgYSBpciBkZWJham8gZGVsCiAgICAgbGVhZC1tZWRpYSAobm8gaGF5IHNpdGlvIHBhcmEgZWwgbGF5b3V0IGxhZG8gYSBsYWRvKS4gKi8KICAuYmxrLXFqbWJjIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0LAogIC5ibGstcWptYmMgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthc3BlY3QtcmF0aW86YXV0bzt9CiAgLmJsay1xam1iYyAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKICAuYmxrLXFqbWJjIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjEgMSBhdXRvO30KICAuYmxrLXFqbWJjIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCiAgLmJsay1xam1iYyAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXtmbGV4OjEgMSBhdXRvO2lubGluZS1zaXplOjkwJTttYXJnaW46LTMwcHggYXV0byAwO2Jsb2NrLXNpemU6YXV0bzthbGlnbi1zZWxmOmF1dG87anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7cGFkZGluZzoxMHB4O30KICAuYmxrLXFqbWJjIC5wYWdlIC5jb2x1bW4taXRlbXtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KICAuYmxrLXFqbWJjIC5wYWdlIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9CiAgLmJsay1xam1iYyAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMjEgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjIxcHggIWltcG9ydGFudDt9CiAgLmJsay1xam1iYyAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMTggLmxlZnQtdGl0bGV7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDt9CiAgLmJsay1xam1iYyAucGFnZSAubGVmdC1wbGF5ewogICAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICAgIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDsKICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4OwogIH0KICAuYmxrLXFqbWJjIC5wYWdlIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICAgIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDBhN2ZmO2JvcmRlci10b3A6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206M3B4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjFweDsKICB9Cn0KLyogVGlwb2dyYWbtYSAiTfN2aWwiIChhbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL3RpdHVsYXJlcyBhbmltYWRvcykgY29uIFNVCiAgIFBST1BJTyBicmVha3BvaW50ICg0ODBweCksIHNlcGFyYWRvIGRlbCBkZSBhcnJpYmEgKDg2MHB4LCBzb2xvIHBhcmEgYXBpbGFyCiAgIGxhIHJlamlsbGEgY29sdW1uYStub3RpY2lhKTogdW4gY29udGVuZWRvciByZWFsIGRlIG1lbm9zIGRlIDg2MHB4IGVzIG11eQogICBoYWJpdHVhbCAocC5lai4gdW5hIGNvbHVtbmEgZGUgYXJ07WN1bG8gZGUgfjcwMHB4KSB5IE5PIGVzIHVuIG3zdmlsICYjODIxMjsgY29uCiAgIHVuIPpuaWNvIGJyZWFrcG9pbnQgY29tcGFydGlkbywgbGEgdGlwb2dyYWbtYSAiRGVzayIgcXVlIGNvbmZpZ3VyYSBlbAogICB1c3VhcmlvIG5vIGxsZWdhYmEgYSB2ZXJzZSBudW5jYSBlbiBlc2UgY2FzbywgY2F5ZW5kbyBzaWVtcHJlIGEgbG9zIHZhbG9yZXMKICAgcG9yIGRlZmVjdG8gZGUgIk3zdmlsIiBzaW4gcXVlIG5hZGllIGxvIGh1YmllcmEgcGVkaWRvLiA0ODBweCBz7SBzZQogICBjb3JyZXNwb25kZSBjb24gdW4gYW5jaG8gZGUgbfN2aWwgcmVhbCAobGEgdmlzdGEgIk3zdmlsIiBkZWwgcHJvcGlvIGdlc3RvcgogICBzaW11bGEgMzc1cHgpLiBJZ3VhbCBxdWUgZWwgYnJlYWtwb2ludCBkZSBhcnJpYmEsIHNlIG9taXRlIGR1cmFudGUgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBkZSBsYSBub3RpY2lhIHByaW5jaXBhbCAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstcWptYmMgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjEgIWltcG9ydGFudDtjb2xvcjojMDBBN0ZGICFpbXBvcnRhbnQ7fQogIC5ibGstcWptYmMgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiMwMEE3RkYgIWltcG9ydGFudDt9CiAgLmJsay1xam1iYyAubGVhZC10aXRsZXtmb250LXNpemU6MS44cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4wMiAhaW1wb3J0YW50O30KICAuYmxrLXFqbWJjIC5sZWFkLXRpdGxlLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstcWptYmMgLmxlYWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstcWptYmMgLmxlYWQta2lja2VyLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstcWptYmMgLmxlYWQta2lja2VyLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLXFqbWJjIC5sZWFkLXN1YnRpdGxlLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstcWptYmMgLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstcWptYmMgLmxlYWQtYW5pbS1oZWFkbGluZXN7Zm9udC1zaXplOjEuODc1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4wMiAhaW1wb3J0YW50O30KICAKICAuYmxrLXFqbWJjIC5yZWxhdGVkLXRpdGxlLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstcWptYmMgLnJlbGF0ZWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQp9Ci5ibGstcWptYmMgLmxlYWR7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojZmZmO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9Ci5ibGstcWptYmMgLmxlYWQtbWVkaWF7cG9zaXRpb246cmVsYXRpdmU7YXNwZWN0LXJhdGlvOjE2Lzk7YmFja2dyb3VuZDojMDAwO292ZXJmbG93OmhpZGRlbn0KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lOiBhbHRvIGZpam8gZW4gcO14ZWxlcyBlbiB2ZXogZGUgbGEgcHJvcG9yY2nzbiBkZQogICBhcnJpYmEgKHZlciBjb21lbnRhcmlvIGRldGFsbGFkbyBqdW50byBhIHN0YXRlLmxlYWQuaWZyYW1lSGVpZ2h0KSAmIzgyMTI7IGVsCiAgIHZhbG9yIGRlIE3zdmlsIHNlIHNvYnJlc2NyaWJlIGVuIGVsIEBjb250YWluZXIgZGUgbeFzIGFiYWpvLCBpZ3VhbCBxdWUgZWwKICAgcmVzdG8gZGUgb3ZlcnJpZGVzIHJlc3BvbnNpdmUgZGUgZXN0ZSBIVE1MIGV4cG9ydGFkby4gKi8KLmJsay1xam1iYyAubGVhZC1tZWRpYS5pcy1pZnJhbWV7YXNwZWN0LXJhdGlvOm5vbmU7YmxvY2stc2l6ZTo2NDBweDt9Ci5ibGstcWptYmMgLmxlYWQtbWVkaWEgaW1nLAouYmxrLXFqbWJjIC5sZWFkLW1lZGlhIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0KLyogQ2FycnVzZWwgZGUgZm90b3MgZGUgZm9uZG8gY29uIGVmZWN0byBLZW4gQnVybnMgJiM4MjEyOyB2ZXIgZWwgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4KICAgTGEgZHVyYWNp824gZGUgbGFzIGFuaW1hY2lvbmVzICg2cykgY29pbmNpZGUgY29uCiAgIExFQURfQ0FST1VTRUxfSU5URVJWQUwsIHF1ZSB0YW1iaeluIGdvYmllcm5hIGVsIHNjcmlwdCBkZSByb3RhY2nzbgogICAoYnVpbGRMZWFkQ2Fyb3VzZWxTY3JpcHQpIGHxYWRpZG8gYWwgZmluYWwgZGVsIEhUTUwgZXhwb3J0YWRvLiAqLwouYmxrLXFqbWJjIC5sZWFkLWNhcm91c2Vse3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO30KLmJsay1xam1iYyAubGVhZC1jYXJvdXNlbC1zbGlkZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgMS41cyBlYXNlO30KLmJsay1xam1iYyAubGVhZC1jYXJvdXNlbC1zbGlkZS5pcy1hY3RpdmV7b3BhY2l0eToxO3otaW5kZXg6MTt9Ci5ibGstcWptYmMgLmxlYWQtY2Fyb3VzZWwtc2xpZGUgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt9Ci5ibGstcWptYmMgLmxlYWQtY2Fyb3VzZWwtc2xpZGU6bnRoLWNoaWxkKG9kZCkgaW1ne2FuaW1hdGlvbjpibGstcWptYmMta2VuYnVybnMtYSA2cyBlYXNlLWluLW91dCBmb3J3YXJkczt9Ci5ibGstcWptYmMgLmxlYWQtY2Fyb3VzZWwtc2xpZGU6bnRoLWNoaWxkKGV2ZW4pIGltZ3thbmltYXRpb246YmxrLXFqbWJjLWtlbmJ1cm5zLWIgNnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7fQpAa2V5ZnJhbWVzIGJsay1xam1iYy1rZW5idXJucy1heyBmcm9te3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IHRve3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoLTQlLC0zJSk7fSB9CkBrZXlmcmFtZXMgYmxrLXFqbWJjLWtlbmJ1cm5zLWJ7IGZyb217dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gdG97dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSg0JSwzJSk7fSB9Ci8qIENvbiB1bmEg+m5pY2EgZm90byAoc2luIHJvdGFjafNuIHBvc2libGUpIHNlIGFwbGljYSB1biB6b29tIGluL291dCBlbgogICBidWNsZSBpbmZpbml0byBlbiB2ZXogZGVsIHJlY29ycmlkbyD6bmljbyAoZm9yd2FyZHMpIGRlIGFycmliYS4gKi8KLmJsay1xam1iYyAubGVhZC1jYXJvdXNlbC5pcy1zaW5nbGUgLmxlYWQtY2Fyb3VzZWwtc2xpZGUgaW1ne2FuaW1hdGlvbjpibGstcWptYmMta2VuYnVybnMtbG9vcCAxNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7fQpAa2V5ZnJhbWVzIGJsay1xam1iYy1rZW5idXJucy1sb29weyAwJXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSA1MCV7dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSgtNCUsLTMlKTt9IDEwMCV7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gfQovKiBDb21wYXJhZG9yIGFudGVzL2Rlc3B16XMgKGRlc2xpemFkb3IpICYjODIxMjsgdmVyIGVsIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuCiAgIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstcWptYmMgLmxlYWQtY29tcGFyZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTt0b3VjaC1hY3Rpb246bm9uZTt6LWluZGV4OjI7fQouYmxrLXFqbWJjIC5sZWFkLWNvbXBhcmUgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtcG9zaXRpb246Y2VudGVyO2Rpc3BsYXk6YmxvY2s7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItZHJhZzpub25lO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLXFqbWJjIC5sZWFkLWNvbXBhcmUtYmVmb3Jle2NsaXAtcGF0aDppbnNldCgwIDUwJSAwIDApO3dpbGwtY2hhbmdlOmNsaXAtcGF0aDt9Ci5ibGstcWptYmMgLmxlYWQtY29tcGFyZS1yYW5nZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO21hcmdpbjowO29wYWNpdHk6MDtjdXJzb3I6ZXctcmVzaXplO30KLmJsay1xam1iYyAubGVhZC1jb21wYXJlLWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjUwJTtpbmxpbmUtc2l6ZTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoyO30KLmJsay1xam1iYyAubGVhZC1jb21wYXJlLWhhbmRsZTo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO2lubGluZS1zaXplOjJweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHJnYmEoMCwwLDAsLjI1KTt9Ci5ibGstcWptYmMgLmxlYWQtY29tcGFyZS1oYW5kbGU6OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0Oi0xNXB4O2lubGluZS1zaXplOjMwcHg7YmxvY2stc2l6ZTozMHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6I2ZmZiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PGcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNOCA2IEw0IDEwIEw4IDE0Jy8+PHBhdGggZD0nTTEyIDYgTDE2IDEwIEwxMiAxNCcvPjwvZz48L3N2Zz4iKSBjZW50ZXIvMTZweCAxNnB4IG5vLXJlcGVhdDtib3gtc2hhZG93OjAgMnB4IDZweCByZ2JhKDAsMCwwLC4yNSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yNSk7fQovKiBNZWRpYSBtZWRpYW50ZSBpZnJhbWUgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTWlzbW8gei1pbmRleDoyIHF1ZQogICAubGVhZC1jb21wYXJlLCBwb3IgZWwgbWlzbW8gbW90aXZvIChnYW5hcmxlIGEgLmxlYWQtbGluaykuICovCi5ibGstcWptYmMgLmxlYWQtaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3otaW5kZXg6Mjt9Ci5ibGstcWptYmMgLmxlYWQtaWZyYW1lIGlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXFqbWJjIC5sZWFkLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5ibGstcWptYmMgLmxlYWQtYm9keXtwYWRkaW5nOjBweCAyMHB4IDIwcHggMjBweDs7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDsgdGV4dC1hbGlnbjpjZW50ZXI7IGFsaWduLWl0ZW1zOmNlbnRlcjsgcG9zaXRpb246cmVsYXRpdmU7IHotaW5kZXg6NjsgcG9pbnRlci1ldmVudHM6bm9uZTsgaW5saW5lLXNpemU6OTUlOyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6YXV0bzsgbWFyZ2luLXRvcDotMzBweDsgYmFja2dyb3VuZDojMEUxMTFBOyBmbGV4OjEgMSBhdXRvO30KLyogQW50ZXTtdHVsby90aXR1bGFyL3N1YnTtdHVsby9hdXRvciBjZW50cmFkb3MgZW4gdmVydGljYWwgZGVudHJvIGRlbCBhbHRvCiAgIHNvYnJhbnRlIGJham8gbGEgY2F0ZWdvcu1hICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstcWptYmMgLmxlYWQtYm9keS1tYWlue2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7aW5saW5lLXNpemU6MTAwJTtmbGV4OjEgMSBhdXRvO21pbi1oZWlnaHQ6MDt9Ci8qIEFwYXJpZW5jaWEgbmVnYXRpdmEgKHBvciBkZWZlY3RvKSB2cy4gcG9zaXRpdmEgZGUgbGEgY2FqYSBkZSB0aXR1bGFyICYjODIxMjsgdmVyCiAgIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstcWptYmMgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAubGVhZC1ib2R5e2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7fQouYmxrLXFqbWJjIC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmxlYWQtdGl0bGUsCi5ibGstcWptYmMgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAuYXV0aG9yLWxhYmVse2NvbG9yOiMwRTExMUE7fQovKiBQb3NpY2nzbiBkZWwgbGVhZC1ib2R5IHJlc3BlY3RvIGFsIGxlYWQtbWVkaWEgKCdsZWZ0Jy8ncmlnaHQnKSAmIzgyMTI7IHZlciBtaXNtbwogICBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXFqbWJjIC5sZWFkLmxlYWQtYm9keS1sZWZ0LAouYmxrLXFqbWJjIC5sZWFkLmxlYWQtYm9keS1yaWdodHtmbGV4LWRpcmVjdGlvbjpyb3c7YXNwZWN0LXJhdGlvOjIuOTYyOTYyOTYyOTYyOTYzO30KLmJsay1xam1iYyAubGVhZC5sZWFkLWJvZHktbGVmdHtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZTt9Ci5ibGstcWptYmMgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtbWVkaWEsCi5ibGstcWptYmMgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLW1lZGlhe2ZsZXg6MCAwIDYwJTt9Ci5ibGstcWptYmMgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYm9keSwKLmJsay1xam1iYyAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXtmbGV4OjAgMCBjYWxjKDQwJSArIDMwcHgpO2lubGluZS1zaXplOmF1dG87bWFyZ2luLXRvcDowO2Jsb2NrLXNpemU6Y2FsYygxMDAlIC0gNDJweCk7YWxpZ24tc2VsZjpjZW50ZXI7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7fQouYmxrLXFqbWJjIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHl7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6LTMwcHg7fQouYmxrLXFqbWJjIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e21hcmdpbi1sZWZ0Oi0zMHB4O21hcmdpbi1yaWdodDowO30KLyogUG9zaWNp824gJ2JvdHRvbS1mdWxsJyBkZWwgbGVhZC1ib2R5ICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuCiAgIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIGlubGluZS1zaXplCiAgIGVuIHZleiBkZSB3aWR0aCBwb3IgZWwgbWlzbW8gbW90aXZvIHF1ZSBlbCByZXN0byBkZSBlc3RlIGJsb3F1ZSAoZXZpdGFyCiAgIGxhIHBhbGFicmEgIndpZHRoOiIgcXVlIGVsIENNUyBkZWwgdXN1YXJpbyBlbGltaW5hIGFsIHBlZ2FyIEhUTUwvQ1NTCiAgIGRpcmVjdGFtZW50ZSkuICovCi5ibGstcWptYmMgLmxlYWQubGVhZC1ib2R5LWJvdHRvbS1mdWxsIC5sZWFkLWJvZHl7CiAgaW5saW5lLXNpemU6MTAwJTsKICBtYXJnaW46MDsKICBwYWRkaW5nLXRvcDozMHB4OwogIHBhZGRpbmctYm90dG9tOjMwcHg7CiAgYm9yZGVyOm5vbmU7Cn0KLyogRXRpcXVldGEgZGUgZXhjbHVzaXZhIChvIHRleHRvIHBlcnNvbmFsaXphZG8pICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstcWptYmMgLmxlYWQtZXhjbHVzaXZlLXRhZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtsZWZ0OjEwcHg7ei1pbmRleDozO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7bGV0dGVyLXNwYWNpbmc6MC41cHg7cGFkZGluZzoycHggOHB4O2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXNpemU6LjhlbTtmb250LXdlaWdodDo3MDA7Y29sb3I6I2ZmZjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci8qIFNlbGVjdG9yIGNvbiAzIGNsYXNlcyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhICgiLmxlYWQtbWVkaWEgaW1nIiB0YW1iaeluCiAgIG1hdGNoZWEgZXN0ZSA8aW1nPiB5IGxlIGdhbmFiYSBlbiBlc3BlY2lmaWNpZGFkKS4gKi8KLmJsay1xam1iYyAubGVhZC1leGNsdXNpdmUtdGFnIC5sZWFkLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay1xam1iYyAubGVhZC1jYXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDtwYWRkaW5nOjJweCA4cHg7dHJhbnNmb3JtOnNrZXdZKC02ZGVnKTttYXJnaW4tdG9wOi0xNXB4O21hcmdpbi1ib3R0b206MTBweDt9Ci5ibGstcWptYmMgLmxlYWQta2lja2VyLCAuYmxrLXFqbWJjIC5sZWFkLXN1YnRpdGxlewogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjt0ZXh0LXRyYW5zZm9ybTpub25lO21hcmdpbjowOwp9Ci5ibGstcWptYmMgLmxlYWQta2lja2Vye2ZvbnQtd2VpZ2h0OjcwMDt9Ci5ibGstcWptYmMgLmxlYWQtc3VidGl0bGV7Zm9udC13ZWlnaHQ6NjAwO30KLyogVGFtYfFvL2ludGVybGluZWFkby9jb2xvciBkZSBhbnRldO10dWxvIHkgc3VidO10dWxvIGVuIERlc2sgKHZhbG9yZXMgcG9yCiAgIGRlZmVjdG8gZGVsIGJsb3F1ZTsgZWwgb3ZlcnJpZGUgZGUgTfN2aWwgdmEgZW4gZWwgQGNvbnRhaW5lciBkZSBt4XMgYWJham8sCiAgIHlhIHF1ZSBlbCBIVE1MIGV4cG9ydGFkbyBlcyByZXNwb25zaXZlIHkgbm8gZGVwZW5kZSBkZSBxdekgdmlzdGEgdHV2aWVyYXMKICAgc2VsZWNjaW9uYWRhIGVuIGVsIGdlc3RvciBhbCBleHBvcnRhci9jb3BpYXIpLiAqLwouYmxrLXFqbWJjIC5sZWFkLWtpY2tlcntmb250LXNpemU6MS4zMTI1cmVtO2xpbmUtaGVpZ2h0OjEuMTtjb2xvcjojMDBBN0ZGO30KLmJsay1xam1iYyAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtO2xpbmUtaGVpZ2h0OjEuMTtjb2xvcjojMDBBN0ZGO30KLyogdGV4dC13cmFwOmJhbGFuY2UgJiM4MjEyOyBtaXNtbyBjcml0ZXJpbyBxdWUgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbAogICBkZWwgZ2VzdG9yICh2ZXIgY29tZW50YXJpbyBkZXRhbGxhZG8ganVudG8gYSBlc2EgcmVnbGEpOiByZXBhcnRlIGxhcwogICBs7W5lYXMgZGVsIHRpdHVsYXIgZGUgZm9ybWEgbeFzIHVuaWZvcm1lIGRlbnRybyBkZSBjYWRhIGRpc3Bvc2l0aXZvLCBzaW4KICAgcHJldGVuZGVyIGlndWFsYXIgZWwgbvptZXJvIGRlIGztbmVhcyBlbnRyZSBwbGF0YWZvcm1hcyBkaXN0aW50YXMuICovCi5ibGstcWptYmMgLmxlYWQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoxO21hcmdpbjowO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7dGV4dC13cmFwOmJhbGFuY2U7fQovKiBUaXR1bGFyIGNvbiBzYWx0b3MgZGUgbO1uZWEgaW5kZXBlbmRpZW50ZXMgcG9yIHZpc3RhICh2ZXIgYnVpbGRTY29wZWRIVE1MKToKICAgc2UgZ2VuZXJhbiBsb3MgZG9zIHRleHRvcyAoRGVzay9N83ZpbCkgeSBhcXXtIHNlIG11ZXN0cmEgc29sbyB1bm8gc2Vn+m4gZWwKICAgYW5jaG8gcmVhbCBkZWwgY29udGVuZWRvciAmIzgyMTI7IGVsIG1pc21vIG1lY2FuaXNtbyBkZSBAY29udGFpbmVyIHF1ZSB5YSB1c2EgZWwKICAgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvIHBhcmEgYWRhcHRhcnNlIHNpbiBkZXBlbmRlciBkZSBKUy4gKi8KLmJsay1xam1iYyAubGVhZC10aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLyogQW50ZXTtdHVsby9zdWJ07XR1bG8gY29uIHNhbHRvcyBkZSBs7W5lYSBpbmRlcGVuZGllbnRlcyBwb3IgdmlzdGE6IG1pc21vCiAgIG1lY2FuaXNtbyBkZSBAY29udGFpbmVyIHF1ZSBlbCB0aXR1bGFyICh2ZXIgYXJyaWJhKS4gKi8KLmJsay1xam1iYyAubGVhZC1raWNrZXItbW9iaWxlLCAuYmxrLXFqbWJjIC5sZWFkLXN1YnRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQovKiBUaXR1bGFyIGRlIG5vdGljaWEgcmVsYWNpb25hZGEgKGNvbHVtbmEpIGNvbiB0ZXh0byBwcm9waW8gZW4gTfN2aWwgKHZlcgogICBpdGVtLnRpdGxlTW9iaWxlIGVuIGJ1aWxkQ29sdW1uSXRlbVRpdGxlSFRNTCk6IG1pc21vIG1lY2FuaXNtbyBkZQogICBAY29udGFpbmVyIHF1ZSBlbCB0aXR1bGFyIHByaW5jaXBhbCBkZSBhcnJpYmEuICovCi5ibGstcWptYmMgLnJlbGF0ZWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci5ibGstcWptYmMgLmF1dGhvci1sYWJlbHtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Y29sb3I6I2ZmZjtmb250LXdlaWdodDoyMDA7Zm9udC1zaXplOi44ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246cmlnaHQ7ZGlzcGxheTpibG9ja30KLmJsay1xam1iYyAuY29sdW1ue2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO30KLmJsay1xam1iYyAuY29sdW1uLWl0ZW17ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay1xam1iYyAudGh1bWJ7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86NC8zO2JhY2tncm91bmQ6I2VlZTtvdmVyZmxvdzpoaWRkZW59Ci5ibGstcWptYmMgLnRodW1iIGltZywKLmJsay1xam1iYyAudGh1bWIgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyfQouYmxrLXFqbWJjIC50aHVtYiAucGxheS1zcXVhcmUsCi5ibGstcWptYmMgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlewogIHBvc2l0aW9uOmFic29sdXRlOyBib3R0b206NXB4OyBsZWZ0OjVweDsKICBpbmxpbmUtc2l6ZToyNXB4O2Jsb2NrLXNpemU6MjVweDtib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5OmlubGluZS1ncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xOCk7CiAgY3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMsIHRyYW5zZm9ybSAuMTJzOwogIHotaW5kZXg6MjsgYW5pbWF0aW9uOmJsay1xam1iYy1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLXFqbWJjIC50aHVtYiAucGxheS1zcXVhcmU6OmJlZm9yZSwKLmJsay1xam1iYyAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmU6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NnB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo1cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgbWFyZ2luLWxlZnQ6MnB4Owp9Ci5ibGstcWptYmMgLnRodW1iIC5wbGF5LXNxdWFyZTpob3ZlciwKLmJsay1xam1iYyAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmU6aG92ZXJ7IGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjg1KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7IH0KLmJsay1xam1iYyAuc3RhY2stdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTdweDtsaW5lLWhlaWdodDoxLjE1ZW07bWFyZ2luOjA7Y29sb3I6IzJjM2U1Mzt9Ci5ibGstcWptYmMgLnN0YWNrLWF1dGhvcntmb250LWZhbWlseToiYW1wbGl0dWRlLWJvb2siLHNhbnMtc2VyaWY7Y29sb3I6IzgyODU5NTtmb250LXdlaWdodDoyMDA7Zm9udC1zaXplOi44cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6MTFweDtsZXR0ZXItc3BhY2luZzowO3RleHQtYWxpZ246cmlnaHQ7fQovKiBTaW4gZXN0YSByZWdsYSBlbCBhdXRvciBxdWVkYSBwZWdhZG8ganVzdG8gZGViYWpvIGRlbCB0aXR1bGFyIGVuIHZleiBkZQogICBhYmFqbyBkZSBsYSB0YXJqZXRhOiAubW9kLXN0YWNrIG5lY2VzaXRhIHNlciBmbGV4LWNvbHVtbiBjb24KICAganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4gcGFyYSBxdWUgZWwgaHVlY28gc29icmFudGUgKGN1YW5kbyBsYQogICB0YXJqZXRhIGNyZWNlIG3hcyBxdWUgc3UgY29udGVuaWRvLCB2ZXIgLmNvbHVtbi1pdGVtOm5vdCgubGF5b3V0LW1lZGlhLWJsb2NrKQogICBt4XMgYWJham8pIGVtcHVqZSBlbCBhdXRvciBoYWNpYSBlbCBib3JkZSBpbmZlcmlvci4gKi8KLmJsay1xam1iYyAubW9kLXN0YWNre2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47ZmxleDoxIDEgYXV0bzt9Ci8qIEVzdGlsbyAiZm90byBwZXF1ZfFhICsgdGl0dWxhciI6IGZvdG8gNDozIGEgbGEgaXpxdWllcmRhLCB0ZXh0byBhIGxhIGRlcmVjaGEuICovCi5ibGstcWptYmMgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by1sZWZ0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MTEwcHggMWZyO2dhcDoxMHB4O30KLyogRXN0aWxvICJzb2xvIHRleHRvIiAocG9yIGRlZmVjdG8pOiBlbCBhdXRvciBzZSBwb3NpY2lvbmEgZW4gYWJzb2x1dG8sCiAgIGFuY2xhZG8gYSBsYSBlc3F1aW5hIGluZmVyaW9yIGRlcmVjaGEgZGUgbGEgdGFyamV0YSAoaWd1YWwgcXVlIGVsIHBsYXkgZGUKICAgbGFzIG1pbmlhdHVyYXMpLCBlbiB2ZXogZGUgZGVwZW5kZXIgZGUgcXVlIGVsIGJsb3F1ZSBkZSB0ZXh0byB0ZW5nYSBodWVjbwogICBkZSBzb2JyYSBwYXJhIGVtcHVqYXJsbyBhYmFqbyBjb24gZmxleGJveCAmIzgyMTI7IGNvbiB07XR1bG9zIGRlIDItMyBs7W5lYXMgZXNlCiAgIGh1ZWNvIG5vIGV4aXN0ZSB5IGVsIGF1dG9yIG51bmNhIGxsZWdhYmEgYSBiYWphci4gcGFkZGluZy1ib3R0b20gZW4KICAgbGVmdC1ib2R5IHJlc2VydmEgZWwgZXNwYWNpbyBwYXJhIHF1ZSBlbCB07XR1bG8gbm8gc2Ugc29sYXBlIGNvbiDpbC4gKi8KLmJsay1xam1iYyAuY29sdW1uLWl0ZW0ubGF5b3V0LXRpdGxlLW9ubHkgLmxlZnQtYm9keXtwYWRkaW5nLWJvdHRvbTozM3B4O30KLmJsay1xam1iYyAuY29sdW1uLWl0ZW0ubGF5b3V0LXRpdGxlLW9ubHkgLnN0YWNrLWF1dGhvcntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMHB4O2JvdHRvbToxMHB4O21hcmdpbi10b3A6MDt9Ci5ibGstcWptYmMgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MjFweDtsaW5lLWhlaWdodDoxLjE1O2NvbG9yOiMyYzNlNTM7bWFyZ2luOjA7dGV4dC1hbGlnbjpsZWZ0O30KLmJsay1xam1iYyAubGVmdC1wbGF5ewogIGZsZXg6MCAwIGF1dG87aW5saW5lLXNpemU6MTVweDtibG9jay1zaXplOjE1cHg7Ym9yZGVyLXJhZGl1czoycHg7CiAgYmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzAwYTdmZjsKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDsKICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOiA0cHg7Cn0KLmJsay1xam1iYyAubGVmdC1wbGF5OjpiZWZvcmV7CiAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDBhN2ZmO2JvcmRlci10b3A6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206M3B4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjFweDsKfQouYmxrLXFqbWJjIC5yZWxhdGVkLWxpdmUtdGFnewogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXg6MCAwIGF1dG87CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDsKICBmb250LXNpemU6LjdyZW07bGluZS1oZWlnaHQ6MC44O2xldHRlci1zcGFjaW5nOi4zcHg7Y29sb3I6I0ZGNTA1MDsKICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI0ZGNTA1MDsKICBwYWRkaW5nOjNweCA0cHggMnB4IDRweDttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsKICB3aGl0ZS1zcGFjZTpub3dyYXA7Cn0KLmJsay1xam1iYyAucmVsYXRlZC1lZGl0b3JpYWwtdGFnewogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXg6MCAwIGF1dG87CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDsKICBmb250LXNpemU6LjdyZW07bGluZS1oZWlnaHQ6MC44O2xldHRlci1zcGFjaW5nOi4zcHg7Y29sb3I6I0ZBQjEyMTsKICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI0ZBQjEyMTsKICBwYWRkaW5nOjNweCA0cHggMnB4IDRweDttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsKICB3aGl0ZS1zcGFjZTpub3dyYXA7Cn0KLmJsay1xam1iYyAucGxheS1idXR0b257CiAgLyogQW5jaG8vYWx0byBmaWpvcyBlbiB2ZXogZGUgYXNwZWN0LXJhdGlvOjEvMSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEgKGVsCiAgICAgY+FsY3VsbyBkZSAic2hyaW5rLXRvLWZpdCIgcGFyYSB1biA8YnV0dG9uPiBlbiBhYnNvbHV0byBzaW4gdGFtYfFvCiAgICAgZXhwbO1jaXRvIG5vIGVzIGZpYWJsZSBlbnRyZSBtb3RvcmVzOyBlbiBXZWJLaXQvaU9TIGRhYmEgdW4gcmVjdOFuZ3VsbwogICAgIHZlcnRpY2FsIGVzdHJlY2jtc2ltbyBlbiB2ZXogZGUgdW4gY3VhZHJhZG8pLiAqLwogIGFwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTsKICBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtsZWZ0OjEwcHg7CiAgaW5saW5lLXNpemU6MzRweDtibG9jay1zaXplOjM0cHg7CiAgZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTBweCAxMHB4IDEwcHggMTJweDsKICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpOwogIGJvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNDIpO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czozcHg7CiAgY3Vyc29yOnBvaW50ZXI7ei1pbmRleDoyO2FuaW1hdGlvbjpibGstcWptYmMtYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLmJsay1xam1iYyAucGxheS1idXR0b24ucG9zLXRvcC1yaWdodHt0b3A6MTBweDtyaWdodDoxMHB4O2xlZnQ6YXV0bztib3R0b206YXV0bzt9Ci5ibGstcWptYmMgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tbGVmdHtib3R0b206MTBweDtsZWZ0OjEwcHg7dG9wOmF1dG87cmlnaHQ6YXV0bzt9Ci5ibGstcWptYmMgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tcmlnaHR7Ym90dG9tOjEwcHg7cmlnaHQ6MTBweDt0b3A6YXV0bztsZWZ0OmF1dG87fQovKiBDb24gZWwgdGV4dG8gKGxlYWQtYm9keSkgYSBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhLCBlc2UgYmxvcXVlIHNvbGFwYQogICAzMHB4IGRlbCBsYWRvIGRlIGxhIGZvdG8vdu1kZW8gcGVnYWRvIGEg6WwgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1xam1iYyAubGVhZC5sZWFkLWJvZHktbGVmdCAucGxheS1idXR0b24ucG9zLXRvcC1sZWZ0LAouYmxrLXFqbWJjIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLWxlZnR7IGxlZnQ6NDBweDsgfQouYmxrLXFqbWJjIC5sZWFkLmxlYWQtYm9keS1yaWdodCAucGxheS1idXR0b24ucG9zLXRvcC1yaWdodCwKLmJsay1xam1iYyAubGVhZC5sZWFkLWJvZHktcmlnaHQgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tcmlnaHR7IHJpZ2h0OjQwcHg7IH0KLyogUG9zaWNp824gJ2JvdHRvbScgcG9yIGRlZmVjdG86IGVsIGxlYWQtYm9keSBzb2xhcGEgMzBweCBzb2JyZSBlbCBib3JkZQogICBJTkZFUklPUiBkZSBsYSBmb3RvL3btZGVvICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE5vIGFwbGljYSBjb24gJ2JvdHRvbS1mdWxsJwogICBuaSBjb24gJ2xlZnQnLydyaWdodCcgKGFqdXN0ZSBob3Jpem9udGFsIHByb3BpbywgdmVyIGFycmliYSkuICovCi5ibGstcWptYmMgLmxlYWQ6bm90KC5sZWFkLWJvZHktbGVmdCk6bm90KC5sZWFkLWJvZHktcmlnaHQpOm5vdCgubGVhZC1ib2R5LWJvdHRvbS1mdWxsKSAucGxheS1idXR0b24ucG9zLWJvdHRvbS1sZWZ0LAouYmxrLXFqbWJjIC5sZWFkOm5vdCgubGVhZC1ib2R5LWxlZnQpOm5vdCgubGVhZC1ib2R5LXJpZ2h0KTpub3QoLmxlYWQtYm9keS1ib3R0b20tZnVsbCkgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tcmlnaHR7IGJvdHRvbTo0MHB4OyB9Ci5ibGstcWptYmMgLnBsYXktYnV0dG9uIC5wbGF5LWljb257CiAgaW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6MTBweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci5ibGstcWptYmMgLnBsYXktYnV0dG9uIC5wbGF5LXRleHR7ZGlzcGxheTpub25lO30KCi8qIFRpdHVsYXJlcyBhbmltYWRvcyAoY2FwYSBhbHRlcm5hdGl2YSBzb2JyZSBsZWFkLW1lZGlhKSAmIzgyMTI7IHZlciBtaXNtbwogICBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhCiAgIGhlcnJhbWllbnRhLiBDYWRhIHRpdHVsYXIgdGllbmUgc3UgcHJvcGlhIHBvc2ljafNuIChjbGFzZSBwb3MtKiwgdmVyCiAgIGJ1aWxkU2NvcGVkSFRNTCkgeSBzZSByZXZlbGEgbO1uZWEgcG9yIGztbmVhICh1bmEgdmV6IG1lZGlkYXMgc3VzIGztbmVhcwogICByZWFsZXMgcG9yIGVsIHNjcmlwdCBzdGFuZGFsb25lLCB2ZXIgYnVpbGRBbmltSGVhZGxpbmVzU2NyaXB0KSBjb24gdW5hCiAgIGNhamEgZGUgZm9uZG8gZGV0cuFzIGRlIGNhZGEgbO1uZWEgeSB1biBmYWRlIGRlIG9wYWNpZGFkIGVudHJlIHRpdHVsYXJlcy4gKi8KLmJsay1xam1iYyAubGVhZC1hbmltLWhlYWRsaW5lc3sKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBpbnNldDowOwogIHotaW5kZXg6NDsKICBwb2ludGVyLWV2ZW50czpub25lOwp9Ci5ibGstcWptYmMgLmxlYWQtYW5pbS1oZWFkbGluZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBsZWZ0OjE1cHg7CiAgb3BhY2l0eTowOwp9Ci5ibGstcWptYmMgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGJvdHRvbTo2MHB4OyB9Ci5ibGstcWptYmMgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnR7IHRvcDo2MHB4OyB9Ci5ibGstcWptYmMgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstcWptYmMgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0LAouYmxrLXFqbWJjIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay1xam1iYyAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IGxlZnQ6YXV0bzsgcmlnaHQ6MTVweDsgfQouYmxrLXFqbWJjIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodHsgdG9wOjYwcHg7IH0KLmJsay1xam1iYyAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstcWptYmMgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NjBweDsgfQovKiBDb24gZWwgdGV4dG8gKGxlYWQtYm9keSkgYSBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhLCBlc2UgYmxvcXVlIHNvbGFwYQogICAzMHB4IGRlbCBsYWRvIGRlIGxhIGZvdG8vdu1kZW8gcGVnYWRvIGEg6WwgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1xam1iYyAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtbGVmdCwKLmJsay1xam1iYyAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtbGVmdCwKLmJsay1xam1iYyAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tbGVmdHsgbGVmdDo0MHB4OyB9Ci5ibGstcWptYmMgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay1xam1iYyAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0LAouYmxrLXFqbWJjIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IHJpZ2h0OjQwcHg7IH0KLmJsay1xam1iYyAubGVhZC1hbmltLWhlYWRsaW5lLmlzLWFjdGl2ZXsgb3BhY2l0eToxOyB9Ci5ibGstcWptYmMgLmxlYWQtYW5pbS1saW5lewogIHBvc2l0aW9uOnJlbGF0aXZlOwogIGRpc3BsYXk6dGFibGU7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmOwogIGZvbnQtd2VpZ2h0OjkwMDsKICBjb2xvcjojZmZmOwogIHBhZGRpbmc6MnB4IDhweDsKICBjbGlwLXBhdGg6aW5zZXQoMCAxMDAlIDAgMCk7CiAgb3BhY2l0eToxOwogIHRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGVhc2U7Cn0KLmJsay1xam1iYyAubGVhZC1hbmltLWxpbmUuaXMtaGlkaW5neyBvcGFjaXR5OjA7IH0KLyogU29sYXBlIGRlIDFweCBlbnRlcmEgZW50cmUgbO1uZWFzIHBhcmEgY2VycmFyIGVsIGhpbG8gZGUgc3ViLXDteGVsIHF1ZQogICBwdWVkZSBxdWVkYXIgZW50cmUgc3VzIGNhamFzIGRlIGZvbmRvIChyZWRvbmRlbyBkZSBhbHR1cmFzIGZyYWNjaW9uYXJpYXMpICYjODIxMjsKICAgdmVyIG1pc21vIGNvbWVudGFyaW8sIGRldGFsbGFkbywgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay1xam1iYyAubGVhZC1hbmltLWxpbmUgKyAubGVhZC1hbmltLWxpbmV7CiAgbWFyZ2luLXRvcDotMXB4Owp9Ci5ibGstcWptYmMgLmxlYWQtYW5pbS1saW5lOmZpcnN0LWNoaWxkeyBwYWRkaW5nLXRvcDo2cHg7IH0KLmJsay1xam1iYyAubGVhZC1hbmltLWxpbmU6bGFzdC1jaGlsZHsgcGFkZGluZy1ib3R0b206NnB4OyB9Ci5ibGstcWptYmMgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay1xam1iYyAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQgLmxlYWQtYW5pbS1saW5lLAouYmxrLXFqbWJjIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodCAubGVhZC1hbmltLWxpbmV7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDowOyB9Ci5ibGstcWptYmMgLmxlYWQtYW5pbS1oZWFkbGluZXMuaXMtcG9zaXRpdmUgLmxlYWQtYW5pbS1saW5leyBjb2xvcjojMEUxMTFBOyB9Ci5ibGstcWptYmMgLmxlYWQtYW5pbS1saW5lLWJneyBwb3NpdGlvbjphYnNvbHV0ZTsgaW5zZXQ6MDsgei1pbmRleDotMTsgfQouYmxrLXFqbWJjIC5sZWFkLWFuaW0tbGluZS10ZXh0eyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQpAa2V5ZnJhbWVzIGJsay1xam1iYy1hbmltLWxpbmUtcmV2ZWFseyB0b3sgY2xpcC1wYXRoOmluc2V0KDAgMCAwIDApOyB9IH0KCi8qIEFuY2hvciBvdmVybGF5IGZvciBmdWxsIGNsaWNrYWJsZSBsZWFkICovCi5ibGstcWptYmMgLmxlYWQtbGlua3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MX0KCi8qIEhvdmVyIG9wYWNpdHkgYW5pbWF0aW9uICovCi5ibGstcWptYmMgLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCi5ibGstcWptYmMgLmNvbHVtbi1pdGVtOmhvdmVye29wYWNpdHk6Ljh9Ci8qIEZvdG8gcHJpbmNpcGFsIChmYWxsYmFjay9zaW5nbGUpIG8gY2FycnVzZWwgZGUgZm90b3M6IG9wYWNpZGFkIDAuOSBhbAogICBwYXNhciBlbCByYXTzbiBwb3IgbGEgdGFyamV0YSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbgogICBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBObyBhcGxpY2EgYSB27WRlbyBuaSBhbAogICBjb21wYXJhZG9yIGFudGVzL2Rlc3B16XMuICovCi5ibGstcWptYmMgLmxlYWQtbWVkaWEgPiBpbWcsCi5ibGstcWptYmMgLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQouYmxrLXFqbWJjIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLXFqbWJjIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eTouOTt9Ci8qIEVuIGVsIGFuY2hvIG3zdmlsIChtaXNtbyBAY29udGFpbmVyIHF1ZSBlbCByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8pIG5vCiAgIGFwbGljYSBlc3RhIGFuaW1hY2nzbiBkZSBvcGFjaWRhZCBzb2JyZSBsYSBub3RpY2lhIHByaW5jaXBhbDogdmEgREVTUFXJUwogICBkZSBsYSByZWdsYSBnZW5lcmFsIGRlIGFycmliYSAobWlzbWEgZXNwZWNpZmljaWRhZCkgcGFyYSBwb2RlciBnYW5hcmxlLgogICBPbWl0aWRvLCBpZ3VhbCBxdWUgZWwgYmxvcXVlIGRlIHRpcG9ncmFm7WEgZGUgYXJyaWJhLCBtaWVudHJhcyBsYQogICBzaW11bGFjafNuIGRlIGFuY2hvIGVzdOkgYWN0aXZhICh2ZXIgbGVhZFdpZHRoUHJldmlldykuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7CiAgLmJsay1xam1iYyAubGVhZDpob3ZlciAubGVhZC10aXRsZSwKICAuYmxrLXFqbWJjIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gaW1nLAogIC5ibGstcWptYmMgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHtvcGFjaXR5OjE7fQp9CgovKiBBbmltYWNp824gY29tcGFydGlkYSBwbGF5IHByaW5jaXBhbCArIGN1YWRyYWRvcyBwbGF5IGFwaWxhZGFzICovCkBrZXlmcmFtZXMgYmxrLXFqbWJjLWJsaW5rewogIDAlLDEwMCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNyl9CiAgNTAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDE2NSwyNTUsMC45KX0KfQovKiBDYWJlY2VyYSAqLwouYmxrLXFqbWJjIC5iZy1zZWN0aW9uLXRpdGxle2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjEwcHggMCAzMnB4fQouYmxrLXFqbWJjIC5mbmQtbGluZWF7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjVweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO21hcmdpbi10b3A6LTE4cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgIzMzMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMzMzfQouYmxrLXFqbWJjIC5zZWN0aW9uLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuMjtsZXR0ZXItc3BhY2luZzotMXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzo0cHggMTNweDtib3JkZXI6MXB4IHNvbGlkICMwRTExMUE7dHJhbnNmb3JtOnJvdGF0ZVgoNWRlZykgcm90YXRlWSgtMjVkZWcpIHNrZXdYKDBkZWcpO2ZvbnQtc2l6ZTo0MnB4O2NvbG9yOiMwRTExMUE7fQpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpey5ibGstcWptYmMgLnNlY3Rpb24tdGl0bGV7Zm9udC1zaXplOjI3cHg7cGFkZGluZzowIDEwcHh9fQovKiBDYWJlY2VyYSAmIzgyMTI7IERpc2XxbyAyICh0aXR1bGFyICsgY2FycnVzZWwgZGUgbG9nb3RpcG9zKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsCiAgIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXFqbWJjIC5oZWFkZXIye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjIwcHg7cGFkZGluZy1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MTBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMEUxMTFBO30KLyogYWxpZ24tc2VsZjpmbGV4LWVuZCBmaWphIGVsIHRpdHVsYXIgU0lFTVBSRSBhIDE1cHggZGUgbGEgbO1uZWEgc2VwYXJhZG9yYQogICBlbiBEZXNrICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcwogICBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstcWptYmMgLmhlYWRlcjItbGVmdHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2ZsZXg6MSAxIDUwJTttaW4taW5saW5lLXNpemU6MDthbGlnbi1zZWxmOmZsZXgtZW5kO30KLmJsay1xam1iYyAuaGVhZGVyMi10YWdze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmbGV4OjAgMCBhdXRvO30KLyogTWlzbW8gdGFtYfFvL3RpcG9ncmFm7WEgcXVlIC5sZWFkLWV4Y2x1c2l2ZS10YWcgKGxhIGRlIGxhIG5vdGljaWEKICAgcHJpbmNpcGFsKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlCiAgIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXFqbWJjIC5oZWFkZXIyLWNhdC10YWcsCi5ibGstcWptYmMgLmhlYWRlcjItZXhjbHVzaXZlLXRhZ3thbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZTouOGVtO2xldHRlci1zcGFjaW5nOi41cHg7cGFkZGluZzoycHggOHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjt9Ci5ibGstcWptYmMgLmhlYWRlcjItZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXFqbWJjIC5oZWFkZXIyLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjM2cHg7bGluZS1oZWlnaHQ6MS4wNTtjb2xvcjojMEUxMTFBO21hcmdpbjowO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttaW4taW5saW5lLXNpemU6MDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7fQovKiBTZXBhcmFjafNuIGRlIDEwcHggZW50cmUgZWwgdGV4dG8gZGUgcGF0cm9jaW5pbyB5IGVsIGxvZ28gZW4gRGVzayAmIzgyMTI7IGVuCiAgIE3zdmlsIHNpZ3VlIHNpbiBzZXBhcmFjafNuIChnYXA6MCwgdmVyIEBjb250YWluZXIgbeFzIGFiYWpvKS4gKi8KLmJsay1xam1iYyAuaGVhZGVyMi1sb2dvcy13cmFwe2ZsZXg6MCAwIGF1dG87bWF4LWlubGluZS1zaXplOjUwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDt9Ci8qIEV0aXF1ZXRhIG9wY2lvbmFsIGp1bnRvIGFsIGNhcnJ1c2VsIGRlIGxvZ29zIChwLmVqLiAiUGF0cm9jaW5hZG8gcG9yOiIpICYjODIxMjsKICAgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwKICAgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstcWptYmMgLmhlYWRlcjItbG9nb3MtbGFiZWx7Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM2Njc7d2hpdGUtc3BhY2U6bm93cmFwO30KLmJsay1xam1iYyAuaGVhZGVyMi1sb2dvc3twb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxNjBweDtibG9jay1zaXplOjUwcHg7ZmxleC1zaHJpbms6MDt9Ci5ibGstcWptYmMgLmhlYWRlcjItbG9nb3MgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7bWFyZ2luOmF1dG87bWF4LWlubGluZS1zaXplOjEwMCU7bWF4LWJsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvbnRhaW47b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuN3MgZWFzZS1pbi1vdXQ7fQouYmxrLXFqbWJjIC5oZWFkZXIyLWxvZ29zIGltZy5pcy1hY3RpdmV7b3BhY2l0eToxO30KLyogSWd1YWwgcXVlIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWw6IHBvciBkZWJham8gZGUgZXN0ZSBhbmNobyBzZQogICBpbnRlbnRhIHByaW1lcm8gMSBTT0xBIEZJTEEgKGV0aXF1ZXRhcyt0aXR1bGFyIGp1bnRvIGFsIGxvZ28sIGlndWFsIHF1ZQogICBlbiBEZXNrLCBhIHRhbWHxbyByZWR1Y2lkbykuIEVsIGJsb3F1ZSBkZSBsb2dvcyBtYW50aWVuZSBTSUVNUFJFIHN1CiAgIGRpc3Bvc2ljafNuIGVuIGNvbHVtbmEgKGV0aXF1ZXRhIGRlIHBhdHJvY2luaW8gZW5jaW1hIGRlbCBsb2dvLAogICBhbGluZWFkb3MgYSBsYSBkZXJlY2hhLCBzaW4gc2VwYXJhY2nzbikgdGFudG8gZW4gZXN0YSBmaWxhIPpuaWNhIGNvbW8gZW4KICAgZWwgcmVzZ3VhcmRvIGRlIGFiYWpvLiBTaSBlbCB0aXR1bGFyLCBzdW1hZG8gYWwgYW5jaG8gZGUgbGFzIGV0aXF1ZXRhcwogICBhY3RpdmFzIChjYXRlZ29y7WEgeS9vIGV4Y2x1c2l2YSwgc2kgbGFzIGhheSksIHN1cGVyYSBlbCA1NSUgZGVsIGFuY2hvCiAgIHRvdGFsIGRlIGxhIGNhYmVjZXJhIChjYWRhIHVubyBtZWRpZG8gYSB1bmEgc29sYSBs7W5lYSksIGVsIHNjcmlwdAogICBzdGFuZGFsb25lIGHxYWRpZG8gYWwgZmluYWwgZGUgZXN0ZSBIVE1MICh2ZXIKICAgYnVpbGRIZWFkZXIyU3RhY2tpbmdTY3JpcHQoKSkgbG8gZGV0ZWN0YSBtaWRpZW5kbyBzdSBhbmNobyBuYXR1cmFsCiAgIHkgYfFhZGUgbGEgY2xhc2UgImhlYWRlcjItc3RhY2tlZCI6IGVsIGJsb3F1ZSBkZQogICBsb2dvcyBzdWJlIGVudG9uY2VzIGEgc3UgcHJvcGlhIGZpbGEgKGFsaW5lYWRvIGEgbGEgZGVyZWNoYSkgeQogICB0aXR1bGFyK2V0aXF1ZXRhcyBiYWphbiBhIGxhIGZpbGEgZGUgYWJham8sIGEgYW5jaG8gY29tcGxldG8gJiM4MjEyOyBtaXNtbwogICBsYXlvdXQgZGUgMiBmaWxhcyBxdWUgaGFi7WEgYW50ZXMgc2llbXByZSBwb3IgZGViYWpvIGRlIGVzdGUgYnJlYWtwb2ludCwKICAgYWhvcmEgc29sbyBjb21vIHJlc2d1YXJkby4gRGVudHJvIGRlIGVzZSByZXNndWFyZG8sIGNvbiBldGlxdWV0YShzKSBlbAogICB0aXR1bGFyIHBhc2EgYWRlbeFzIGEgc3UgUFJPUElBIGZpbGEgYSBhbmNobyBjb21wbGV0bywgZGViYWpvIGRlIGxhIGZpbGEgZGUgZXRpcXVldGFzICh2ZXIKICAgIi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdCIgbeFzIGFiYWpvKS4gRWwgbG9nbyBzZSByZWR1Y2UgdW4gMjAlCiAgICgxNjB4NTAgJiM4NTk0OyAxMjh4NDApLgogICBhbGlnbi1zZWxmOmZsZXgtZW5kIGVuIGhlYWRlcjItbGVmdCBmaWphIGVsIHRpdHVsYXIgU0lFTVBSRSBhIGxvcyAxMHB4CiAgIGRlbCBwYWRkaW5nLWJvdHRvbSByZXNwZWN0byBhIGxhIGztbmVhIHNlcGFyYWRvcmEgJiM4MjEyOyBtaXNtbyBjcml0ZXJpbyBxdWUKICAgZW4gRGVzayAodmVyIGhlYWRlcjItbGVmdCBt4XMgYXJyaWJhKTogc2luIGVzdG8sIGFsIHNlciBlbCBibG9xdWUgZGUKICAgbG9nb3MgbeFzIGFsdG8gcXVlIGVsIHRpdHVsYXIsIGVsIGNlbnRyYWRvIHZlcnRpY2FsIGRlbCByb3cgZGVqYWJhIHVuCiAgIGh1ZWNvIG1heW9yIGVudHJlIGVsIHRpdHVsYXIgeSBsYSBs7W5lYS4gRWwgYmxvcXVlIGRlIGxvZ29zIHNpZ3VlCiAgIGNlbnRyYWRvIChzaW4gZXNlIG92ZXJyaWRlKS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjQ4MHB4KXsKICAuYmxrLXFqbWJjIC5oZWFkZXIye2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4O3BhZGRpbmctYm90dG9tOjEwcHg7fQogIC5ibGstcWptYmMgLmhlYWRlcjItbGVmdHtvcmRlcjoxO2FsaWduLXNlbGY6ZmxleC1lbmQ7fQogIC5ibGstcWptYmMgLmhlYWRlcjItbG9nb3Mtd3JhcHtvcmRlcjoyO2FsaWduLXNlbGY6Y2VudGVyO21heC1pbmxpbmUtc2l6ZTpub25lO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6MDt9CiAgLmJsay1xam1iYyAuaGVhZGVyMi1sb2dvc3tpbmxpbmUtc2l6ZToxMjhweDtibG9jay1zaXplOjQwcHg7fQogIC5ibGstcWptYmMgLmhlYWRlcjItdGl0bGV7Zm9udC1zaXplOjI3cHg7fQogIC5ibGstcWptYmMgLmhlYWRlcjIuaGVhZGVyMi1zdGFja2Vke2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O30KICAuYmxrLXFqbWJjIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sZWZ0e29yZGVyOjI7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2dhcDo1cHg7fQogIC5ibGstcWptYmMgLmhlYWRlcjIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MTttYXgtaW5saW5lLXNpemU6MTAwJTthbGlnbi1zZWxmOmZsZXgtZW5kO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6MDt9CiAgLyogUmVzZ3VhcmRvIGludGVybWVkaW8gJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhOiBzb2xvIGVsIHRpdHVsYXIgYmFqYSBhIHN1CiAgICAgcHJvcGlhIGZpbGEgYSBhbmNobyBjb21wbGV0byBjdWFuZG8gbGFzIGV0aXF1ZXRhcyBTzSBjYWJlbiBqdW50byBhbAogICAgIGxvZ28gcGVybyBlbCB0aXR1bGFyIG5vLiBoZWFkZXIyLWxlZnQgcGFzYSBkZSBmaWxhIGEgY29sdW1uYQogICAgIChldGlxdWV0YXMgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbykgeSByZWN1cGVyYSBhbGlnbi1zZWxmOmF1dG8gcGFyYQogICAgIGNlbnRyYXJzZSB2ZXJ0aWNhbG1lbnRlIGNvbnRyYSBlbCBsb2dvIChhbGlnbi1zZWxmOmNlbnRlciBkZSBsYSByZWdsYQogICAgIGJhc2UgZGUgLmhlYWRlcjItbG9nb3Mtd3JhcCwgYXJyaWJhKSwgaWd1YWwgcXVlIGVuIGVsIHJlc3RvIGRlIGVzdGFkb3MuICovCiAgLmJsay1xam1iYyAuaGVhZGVyMi5oZWFkZXIyLXRpdGxlLWJlbG93IC5oZWFkZXIyLWxlZnR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7YWxpZ24tc2VsZjphdXRvO2dhcDo1cHg7fQp9CgovKiBFc3RpbG8gImZvdG8gZ3JhbmRlICsgdGl0dWxhciI6IGZvdG8gMTY6OSBhcnJpYmEsIHRpdHVsYXIgZGViYWpvICYjODIxMjsgZWxlZ2libGUKICAgcG9yIG5vdGljaWEgZGVzZGUgZWwgZ2VzdG9yLiBObyBzZSByZXN0cmluZ2UgY29uIEBjb250YWluZXIgcG9ycXVlCiAgIC5jb2x1bW4taXRlbSB5YSBlcyBibG9jayBwb3IgZGVmZWN0byAoZWwgdGh1bWIgeSBlbCB0ZXh0byBzZSBhcGlsYW4gc29sb3MKICAgc2luIG3hcyBhanVzdGUpLCBhc+0gcXVlIGVsIGRpc2XxbyBmdW5jaW9uYSBpZ3VhbCBkZSBiaWVuIGVuIGN1YWxxdWllcgogICBhbmNobywgRGVzayBvIE3zdmlsLiAqLwouYmxrLXFqbWJjIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9we2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLXFqbWJjIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC50aHVtYntpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O21hcmdpbi1ib3R0b206MTBweDt9Ci5ibGstcWptYmMgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS4yZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjkwMDt9Ci8qIEVuIE3zdmlsIGVsIHRpdHVsYXIgZGUgZXN0ZSBkaXNl8W8gc2UgbXVlc3RyYSBt4XMgZ3JhbmRlICgxLjVyZW0gZW4gdmV6IGRlCiAgIGxvcyAxLjJyZW0gZGUgRGVzaykgJiM4MjEyOyBtaXNtYSBlc3BlY2lmaWNpZGFkICgzIGNsYXNlcykgcXVlIGxhIHJlZ2xhIGRlCiAgIGFycmliYTsgYWwgaXIgREVTUFXJUyBlbiBlbCBDU1MgZ2FuYSBwb3Igb3JkZW4gZGUgY2FzY2FkYS4gU2UgdXNhIGVsCiAgIGJyZWFrcG9pbnQgZGUgNDgwcHggKGVsIGRlIHRpcG9ncmFm7WEgZW4gZXN0YSBhcHAsIG5vIGVsIGRlIDg2MHB4IHF1ZSBhcXXtCiAgIHNvbG8gZ29iaWVybmEgZWwgYXBpbGFkbyBkZSBjb2x1bW5hcykgcGFyYSBxdWUgY29pbmNpZGEgY29uIGVsIHJlc3RvIGRlCiAgIGNhbWJpb3MgZGUgdGV4dG8vdGFtYfFvIHBvciB2aXN0YS4gTm8gYWZlY3RhIGFsIHJlc2d1YXJkbyBkZSAyIGNvbHVtbmFzIGVuCiAgIG3zdmlsIChtb2ItZ3JpZCksIG3hcyBlc3BlY+1maWNvICgxOHB4LCB2ZXIgbeFzIGFycmliYSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay1xam1iYyAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAubGVmdC10aXRsZXtmb250LXNpemU6MS41cmVtO30KfQovKiBFc3RpbG8gIkJsb3F1ZSBtZWRpYSIgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1xam1iYyAubWVkaWEtYmxvY2stbWVkaWF7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6YXV0bzt9Ci5ibGstcWptYmMgLm1lZGlhLWJsb2NrLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazt9Ci5ibGstcWptYmMgLm1lZGlhLWJsb2NrLWlmcmFtZS13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjE2Lzk7YmFja2dyb3VuZDojMDAwO292ZXJmbG93OmhpZGRlbjt9Ci5ibGstcWptYmMgLm1lZGlhLWJsb2NrLWlmcmFtZS13cmFwIGlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXFqbWJjIC5jb2x1bW4taXRlbS5sYXlvdXQtbWVkaWEtYmxvY2t7Ym9yZGVyOm5vbmU7cGFkZGluZzowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7YmxvY2stc2l6ZTphdXRvO2ZsZXg6MCAwIGF1dG87fQouYmxrLXFqbWJjIC5jb2x1bW4taXRlbTpub3QoLmxheW91dC1tZWRpYS1ibG9jayl7ZmxleDoxIDEgYXV0bzt9Cjwvc3R5bGU+Cgo8ZGl2IGNsYXNzPSJibGstcWptYmMiPgogIAogIDxtYWluIGNsYXNzPSJwYWdlIj4KICAgIAogICAgPGFydGljbGUgY2xhc3M9ImxlYWQgbGVhZC1ib2R5LWxlZnQiPgogICAgICA8ZGl2IGNsYXNzPSJsZWFkLW1lZGlhIj4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL21lZGlhL3NhbmNoZXoteS10b2RhLWxhLWl6cXVpZXJkYS1lbi10cm9tYmEtY29udHJhLWluZGEtdHJhcy1wZWRpci1hbC1wcC1xdWUtbm8taGFibGUtZGUtbGFzLXBlbnNpb25lcy1lbi1jYW1wYW5hLTIwMjYxMDE1LTEyMDkzMC0wZjI2YTAuanBnIiBhbHQ9IlPhbmNoZXogeSB0b2RhIGxhIGl6cXVpZXJkYSBlbiB0cm9tYmEgY29udHJhIEluZGEgdHJhcyBwZWRpciBhbCBQUCAmcXVvdDtxdWUgbm8gaGFibGUmcXVvdDsgZGUgbGFzIHBlbnNpb25lcyBlbiBjYW1wYfFhIiBsb2FkaW5nPSJlYWdlciIgZmV0Y2hwcmlvcml0eT0iaGlnaCIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsZWFkLW92ZXJsYXkiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTQsMTcsMjYsMC4wMCk7Ij48L2Rpdj4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImxlYWQtYm9keSIgc3R5bGU9ImJhY2tncm91bmQ6IzAwQTdGRjsiPgogICAgICAgIDxzcGFuIGNsYXNzPSJsZWFkLWNhdCIgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZjtjb2xvcjojMDBBN0ZGIj5FU1BB0UE8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5LW1haW4iPgogICAgICAgICAgCiAgICAgICAgICA8aDIgY2xhc3M9ImxlYWQtdGl0bGUiPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLWRlc2siPlPhbmNoZXogeSB0b2RhIGxhIGl6cXVpZXJkYSBlbiB0cm9tYmEgY29udHJhIEluZGEgdHJhcyBwZWRpciBhbCBQUCAmcXVvdDtxdWUgbm8gaGFibGUmcXVvdDsgZGUgbGFzIHBlbnNpb25lcyBlbiBjYW1wYfFhPC9zcGFuPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLW1vYmlsZSI+U+FuY2hleiB5IHRvZGEgbGEgaXpxdWllcmRhIGVuIHRyb21iYSBjb250cmEgSW5kYSB0cmFzIHBlZGlyIGFsIFBQICZxdW90O3F1ZSBubyBoYWJsZSZxdW90OyBkZSBsYXMgcGVuc2lvbmVzIGVuIGNhbXBh8WE8L3NwYW4+PC9oMj4KICAgICAgICAgIAogICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGhvci1sYWJlbCI+TmFjaG8gQXRhbmVzPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGEgY2xhc3M9ImxlYWQtbGluayIgaHJlZj0iaHR0cHM6Ly9va2RpYXJpby5jb20vZXNwYW5hL3NhbmNoZXotdG9kYS1penF1aWVyZGEtdHJvbWJhLWNvbnRyYS1pbmRhLXBlZGlyLXBwLXF1ZS1uby1oYWJsZS1wZW5zaW9uZXMtY2FtcGFuYS0yMDU1Njg3OSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJT4W5jaGV6IHkgdG9kYSBsYSBpenF1aWVyZGEgZW4gdHJvbWJhIGNvbnRyYSBJbmRhIHRyYXMgcGVkaXIgYWwgUFAgJnF1b3Q7cXVlIG5vIGhhYmxlJnF1b3Q7IGRlIGxhcyBwZW5zaW9uZXMgZW4gY2FtcGHxYSIgYXJpYS1sYWJlbD0iU+FuY2hleiB5IHRvZGEgbGEgaXpxdWllcmRhIGVuIHRyb21iYSBjb250cmEgSW5kYSB0cmFzIHBlZGlyIGFsIFBQICZxdW90O3F1ZSBubyBoYWJsZSZxdW90OyBkZSBsYXMgcGVuc2lvbmVzIGVuIGNhbXBh8WEiPjwvYT4KICAgIDwvYXJ0aWNsZT4KICA8L21haW4+CjwvZGl2PgoKPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgdmFyIGFydGljbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYmxrLXFqbWJjIC5sZWFkJyk7CiAgaWYgKCFhcnRpY2xlKSByZXR1cm47CiAgdmFyIG1haW4gPSBhcnRpY2xlLnF1ZXJ5U2VsZWN0b3IoJy5sZWFkLWJvZHktbWFpbicpOwogIHZhciB0aXRsZUVsID0gYXJ0aWNsZS5xdWVyeVNlbGVjdG9yKCcubGVhZC10aXRsZScpOwogIGlmICghbWFpbiB8fCAhdGl0bGVFbCkgcmV0dXJuOwogIHZhciBiYXNlRm9udFNpemVQeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aXRsZUVsKS5mb250U2l6ZSkgfHwgMDsKICBpZiAoIWJhc2VGb250U2l6ZVB4KSByZXR1cm47CiAgdmFyIE1BWF9TQ0FMRSA9IDEuODsKICB2YXIgTUlOX1NDQUxFID0gMC41OwogIHZhciBNQVhfRk9OVF9QWCA9IDY0OyAvLyB+NHJlbSBjb24gbGEgYmFzZSBoYWJpdHVhbCBkZSAxNnB4IChtaXNtbyB0b3BlIHF1ZSBmaXRMZWFkVGl0bGVUb0JveCgpIGVuIGVsIGdlc3RvcikKICB2YXIgYm9keVBvc2l0aW9uQmxvY2tzRml0ID0gYXJ0aWNsZS5jbGFzc0xpc3QuY29udGFpbnMoJ2xlYWQtYm9keS1sZWZ0JykgfHwgYXJ0aWNsZS5jbGFzc0xpc3QuY29udGFpbnMoJ2xlYWQtYm9keS1yaWdodCcpOwogIGZ1bmN0aW9uIGZpdCgpewogICAgaWYgKGJvZHlQb3NpdGlvbkJsb2Nrc0ZpdCkgcmV0dXJuOwogICAgdGl0bGVFbC5zdHlsZS5mb250U2l6ZSA9IGJhc2VGb250U2l6ZVB4ICsgJ3B4JzsKICAgIHZhciBhdmFpbGFibGVIZWlnaHQgPSBtYWluLmNsaWVudEhlaWdodDsKICAgIGlmICghYXZhaWxhYmxlSGVpZ2h0KSByZXR1cm47CiAgICAvLyBWZXIgbWlzbW8gY29tZW50YXJpbywgZGV0YWxsYWRvLCBlbiBmaXRMZWFkVGl0bGVUb0JveCgpIGRlbCBnZXN0b3I6CiAgICAvLyBtYWluLnNjcm9sbEhlaWdodCBudW5jYSBiYWphIGRlIGNsaWVudEhlaWdodCBhdW5xdWUgZWwgY29udGVuaWRvIHJlYWwKICAgIC8vIG9jdXBlIG1lbm9zLCBhc+0gcXVlIG5vIHNpcnZlIHBhcmEgZGV0ZWN0YXIgY3XhbnRvIHNvYnJhIG8gZmFsdGEgY29uCiAgICAvLyBlbCB0aXR1bGFyIGFjdHVhbCAmIzgyMTI7IHNlIHN1bWEgZW4gc3UgbHVnYXIgZWwgYWx0byByZWFsIGRlIGNhZGEgaGlqbwogICAgLy8gVklTSUJMRSBkZWwgYmxvcXVlLCBzYWx2byBlbCBwcm9waW8gdGl0dWxhciwgbeFzIGVsIGh1ZWNvICgiZ2FwIikKICAgIC8vIGVudHJlIGVsbG9zOyBubyBjYW1iaWEgY29uIGVsIHRhbWHxbyBkZWwgdGl0dWxhciwgYXPtIHF1ZSBzZSBtaWRlIHVuYQogICAgLy8gc29sYSB2ZXosIGFudGVzIGRlIGxhIGL6c3F1ZWRhIGJpbmFyaWEuCiAgICB2YXIgZ2FwUHggPSBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUobWFpbikucm93R2FwKSB8fCBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUobWFpbikuZ2FwKSB8fCAwOwogICAgdmFyIHZpc2libGVDaGlsZHJlbiA9IFtdLnNsaWNlLmNhbGwobWFpbi5jaGlsZHJlbikuZmlsdGVyKGZ1bmN0aW9uKGMpeyByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShjKS5kaXNwbGF5ICE9PSAnbm9uZSc7IH0pOwogICAgdmFyIG90aGVyc0hlaWdodCA9IHZpc2libGVDaGlsZHJlbi5maWx0ZXIoZnVuY3Rpb24oYyl7IHJldHVybiBjICE9PSB0aXRsZUVsOyB9KS5yZWR1Y2UoZnVuY3Rpb24oc3VtLCBjKXsgcmV0dXJuIHN1bSArIGMub2Zmc2V0SGVpZ2h0OyB9LCAwKQogICAgICArIGdhcFB4ICogTWF0aC5tYXgoMCwgdmlzaWJsZUNoaWxkcmVuLmxlbmd0aCAtIDEpOwogICAgdmFyIGF2YWlsYWJsZUZvclRpdGxlID0gTWF0aC5tYXgoMCwgYXZhaWxhYmxlSGVpZ2h0IC0gb3RoZXJzSGVpZ2h0KTsKICAgIGlmICghYXZhaWxhYmxlRm9yVGl0bGUpIHJldHVybjsKICAgIGZ1bmN0aW9uIGhlaWdodEF0U2NhbGUoc2NhbGUpewogICAgICB0aXRsZUVsLnN0eWxlLmZvbnRTaXplID0gTWF0aC5taW4oYmFzZUZvbnRTaXplUHggKiBzY2FsZSwgTUFYX0ZPTlRfUFgpICsgJ3B4JzsKICAgICAgcmV0dXJuIHRpdGxlRWwub2Zmc2V0SGVpZ2h0OwogICAgfQogICAgdmFyIGxvID0gTUlOX1NDQUxFLCBoaSA9IE1BWF9TQ0FMRTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgODsgaSsrKXsKICAgICAgdmFyIG1pZCA9IChsbyArIGhpKSAvIDI7CiAgICAgIGlmIChoZWlnaHRBdFNjYWxlKG1pZCkgPD0gYXZhaWxhYmxlRm9yVGl0bGUpIGxvID0gbWlkOyBlbHNlIGhpID0gbWlkOwogICAgfQogICAgaGVpZ2h0QXRTY2FsZShsbyk7CiAgfQogIGZpdCgpOwogIGlmIChkb2N1bWVudC5mb250cyAmJiBkb2N1bWVudC5mb250cy5yZWFkeSl7IGRvY3VtZW50LmZvbnRzLnJlYWR5LnRoZW4oZml0KTsgfQogIGlmICh3aW5kb3cuUmVzaXplT2JzZXJ2ZXIpeyBuZXcgUmVzaXplT2JzZXJ2ZXIoZml0KS5vYnNlcnZlKGFydGljbGUpOyB9CiAgZWxzZSB7IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBmaXQpOyB9Cn0pKCk7Cjwvc2NyaXB0Pg==
    • La juez Biedma denuncia que las cloacas del PSOE le siguieron en coche hasta su casa tras declarar en la Audiencia
        • España
        • España

      La juez Biedma denuncia que las cloacas del PSOE le siguieron en coche hasta su casa tras declarar en la Audiencia

      La juez de Badajoz que investigó al hermano de Pedro Sánchez, Beatriz Biedma, ha denunciado ante la Policía que las cloacas del PSOE, en concreto el ex juez José Luis Sáenz de Tejada, le siguieron en coche tras prestar declaración en la Audiencia Nacional, según el atestado al que ha podido acceder OKDIARIO.
      • Segundo Sanz
      • 2026-10-15 13:35
    • El DAO de la Guardia Civil confirma al juez que Marlaska le llamó tras filtrarse el correo de Begoña Gómez
        • España
        • España

      El DAO de la Guardia Civil confirma al juez que Marlaska le llamó tras filtrarse el correo de Begoña Gómez

      • Nacho Atanes
      • 2026-10-15 12:18
    • El Gobierno plantea un órdago al Supremo para que trague con el pucherazo
    • Vox lanza una web del pucherazo de la Ley de Nietos en el censo: así impacta los nuevos españoles en cada municipio
        • España
        • España

      Vox lanza una web del pucherazo de la Ley de Nietos en el censo: así impactaN los nuevos españoles en cada municipio

      • Paula Ciordia
      • 2026-10-15 16:01
    • La pasividad del Gobierno con la sentencia del Supremo tiene como objetivo llegar al cierre del censo el 19-O y que los nietos puedan votar
        • España
        • España

      La pasividad del Gobierno con la sentencia del Supremo tiene como objetivo llegar al cierre del censo el 19-O y que voten los nietos

      El Gobierno no ha dado instrucción sobre cómo ejecutar la decisión del Supremo de suspender el voto a los nacionalizados a través de la Ley de Nietos. En las embajadas se publicó de forma simultánea una comunicación para los residentes en el exterior que establece el plazo de consultas y posteriores alegaciones sobre el censo desde el pasado 12 de octubre hasta el próximo lunes 19 de octubre.
      • Esther Jaén
      • 2026-10-15 05:50
    • CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCksIHkgYXF17SBtaXNtbyBjb24gZWwgdGV4dG8gYQogICBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhIChib2R5UG9zaXRpb25CbG9ja3NDb2x1bW4pOiBjb24gZXNlIGxheW91dCBsYQogICBub3RpY2lhIHByaW5jaXBhbCB5YSBvY3VwYSBlbCAxMDAlIGRlbCBhbmNobyB5IHNvbGFwYSBzdSBwcm9waWEgZm90byBkZQogICBib3JkZSBhIGJvcmRlLCBhc+0gcXVlIGVsIGFpcmUvZm9uZG8gYmxhbmNvIHNvYnJhLiAqLwouYmxrLTA2cWV6e21heC1pbmxpbmUtc2l6ZTo5NjBweDttYXJnaW46MCBhdXRvO2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplO30KLmJsay0wNnFleiBhe3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmluaGVyaXR9Ci5ibGstMDZxZXogLnBhZ2V7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjE1cHh9Ci5ibGstMDZxZXogLnBhZ2UgLmNvbHVtbntvcmRlcjoxfQouYmxrLTA2cWV6IC5wYWdlIC5sZWFke29yZGVyOjJ9Ci8qIDg2MHB4IHkgbm8gNDc1cHg6IGNvbiBsYSBjb2x1bW5hIGZpamEgKDIyMHB4ICsgMjBweCBkZSBnYXAgPSAyNDBweCksCiAgIGN1YWxxdWllciBhbmNobyBkZSBpZnJhbWUgcG9yIGRlYmFqbyBkZSB+ODYwcHggZGVqYSBsYSBub3RpY2lhIHByaW5jaXBhbAogICAoMWZyKSBjYWRhIHZleiBjb24gbWVub3MgZXNwYWNpbyBoYXN0YSBjb2xhcHNhciBhIDBweCBkZSBhbmNobyBhbnRlcyBkZQogICBsbGVnYXIgYSB1biBicmVha3BvaW50IHRhbiBiYWpvIGNvbW8gNDc1cHggJiM4MjEyOyBsYSBub3RpY2lhIHByaW5jaXBhbAogICBkaXJlY3RhbWVudGUgZGVzYXBhcmVjZSBlbiBlc2EgZnJhbmphIGludGVybWVkaWEgKG5pICJkZXNrIiBjb21wbGV0byBuaQogICAibfN2aWwiIGVzdHJlY2hvKS4gQ29uIDg2MHB4IHNlIHBhc2EgYSB1bmEgc29sYSBjb2x1bW5hIGFwaWxhZGEgYW50ZXMgZGUKICAgcXVlIGVzbyBwdWVkYSBvY3VycmlyLgogICBFc3RlIGJyZWFrcG9pbnQgc2Ugb21pdGUgcG9yIGNvbXBsZXRvIG1pZW50cmFzIGxhIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06QogICBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KTogcGVuc2FkbyBwYXJhIGN1YW5kbyBlbCBt82R1bG8gbGxldmEgc3UKICAgY29sdW1uYSBhIDk2MHB4LCBkZWphIGRlIHRlbmVyIHNlbnRpZG8gZW4gdW5hIGV4cG9ydGFjafNuIGRlIHNvbG8gbGEKICAgbm90aWNpYSBwcmluY2lwYWwgYSB1biBhbmNobyBmaWpvIGVsZWdpZG8gYSBtYW5vICYjODIxMjsgbG9zIGFuY2hvcyBzaW11bGFkb3MKICAgKDYxMy80NjAvMzA3cHgpIGVzdOFuIFRPRE9TIHBvciBkZWJham8gZGUgODYwcHgsIGFz7SBxdWUgc2luIGVzdGUgZ2F0aW5nCiAgIGVsIEhUTUwgZXhwb3J0YWRvIGNhZXLtYSBzaWVtcHJlIGEgbGEgdGlwb2dyYWbtYSAiTfN2aWwiIChjb24gIWltcG9ydGFudCkKICAgc2VhIGN1YWwgc2VhIGxhIHF1ZSBlbCB1c3VhcmlvIGNvbmZpZ3Vy8yBlbiAiRGVzayIgcGFyYSBlc2Egc2ltdWxhY2nzbiwKICAgZGFuZG8gbGEgZmFsc2Egc2Vuc2FjafNuIGRlIHF1ZSB1bmEgY29uZmlndXJhY2nzbiAicGlzYSIgYSBvdHJhLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstMDZxZXp7YmFja2dyb3VuZDpub25lO3BhZGRpbmc6MDt9CiAgLmJsay0wNnFleiAucGFnZXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogIC5ibGstMDZxZXogLnBhZ2UgLnN0YWNrLXRpdGxlIHtmb250LXNpemU6MThweDsgbGluZS1oZWlnaHQ6IDEuMmVtO30KICAuYmxrLTA2cWV6IC5wYWdlIC5zdGFjay1hdXRob3Ige21hcmdpbi10b3A6IDEwcHg7fQogIC5ibGstMDZxZXogLmxlYWQtbWVkaWEuaXMtaWZyYW1le2Jsb2NrLXNpemU6NDAwcHggIWltcG9ydGFudDt9CiAgLmJsay0wNnFleiAubGVhZC1tZWRpYXthc3BlY3QtcmF0aW86NC8zICFpbXBvcnRhbnQ7fQogIC5ibGstMDZxZXogLnBhZ2UgLmxlYWR7b3JkZXI6MX0KICAuYmxrLTA2cWV6IC5wYWdlIC5jb2x1bW57b3JkZXI6Mn0KICAvKiBQb3IgZGViYWpvIGRlbCBicmVha3BvaW50LCBlbCBsZWFkLWJvZHkgc2llbXByZSB2dWVsdmUgYSBpciBkZWJham8gZGVsCiAgICAgbGVhZC1tZWRpYSAobm8gaGF5IHNpdGlvIHBhcmEgZWwgbGF5b3V0IGxhZG8gYSBsYWRvKS4gKi8KICAuYmxrLTA2cWV6IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0LAogIC5ibGstMDZxZXogLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthc3BlY3QtcmF0aW86YXV0bzt9CiAgLmJsay0wNnFleiAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKICAuYmxrLTA2cWV6IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjEgMSBhdXRvO30KICAuYmxrLTA2cWV6IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCiAgLmJsay0wNnFleiAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXtmbGV4OjEgMSBhdXRvO2lubGluZS1zaXplOjkwJTttYXJnaW46LTMwcHggYXV0byAwO2Jsb2NrLXNpemU6YXV0bzthbGlnbi1zZWxmOmF1dG87anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7cGFkZGluZzoxMHB4O30KICAuYmxrLTA2cWV6IC5wYWdlIC5jb2x1bW4taXRlbXtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KICAuYmxrLTA2cWV6IC5wYWdlIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9CiAgLmJsay0wNnFleiAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMjEgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjIxcHggIWltcG9ydGFudDt9CiAgLmJsay0wNnFleiAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMTggLmxlZnQtdGl0bGV7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDt9CiAgLmJsay0wNnFleiAucGFnZSAubGVmdC1wbGF5ewogICAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICAgIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDsKICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4OwogIH0KICAuYmxrLTA2cWV6IC5wYWdlIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICAgIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDBhN2ZmO2JvcmRlci10b3A6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206M3B4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjFweDsKICB9Cn0KLyogVGlwb2dyYWbtYSAiTfN2aWwiIChhbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL3RpdHVsYXJlcyBhbmltYWRvcykgY29uIFNVCiAgIFBST1BJTyBicmVha3BvaW50ICg0ODBweCksIHNlcGFyYWRvIGRlbCBkZSBhcnJpYmEgKDg2MHB4LCBzb2xvIHBhcmEgYXBpbGFyCiAgIGxhIHJlamlsbGEgY29sdW1uYStub3RpY2lhKTogdW4gY29udGVuZWRvciByZWFsIGRlIG1lbm9zIGRlIDg2MHB4IGVzIG11eQogICBoYWJpdHVhbCAocC5lai4gdW5hIGNvbHVtbmEgZGUgYXJ07WN1bG8gZGUgfjcwMHB4KSB5IE5PIGVzIHVuIG3zdmlsICYjODIxMjsgY29uCiAgIHVuIPpuaWNvIGJyZWFrcG9pbnQgY29tcGFydGlkbywgbGEgdGlwb2dyYWbtYSAiRGVzayIgcXVlIGNvbmZpZ3VyYSBlbAogICB1c3VhcmlvIG5vIGxsZWdhYmEgYSB2ZXJzZSBudW5jYSBlbiBlc2UgY2FzbywgY2F5ZW5kbyBzaWVtcHJlIGEgbG9zIHZhbG9yZXMKICAgcG9yIGRlZmVjdG8gZGUgIk3zdmlsIiBzaW4gcXVlIG5hZGllIGxvIGh1YmllcmEgcGVkaWRvLiA0ODBweCBz7SBzZQogICBjb3JyZXNwb25kZSBjb24gdW4gYW5jaG8gZGUgbfN2aWwgcmVhbCAobGEgdmlzdGEgIk3zdmlsIiBkZWwgcHJvcGlvIGdlc3RvcgogICBzaW11bGEgMzc1cHgpLiBJZ3VhbCBxdWUgZWwgYnJlYWtwb2ludCBkZSBhcnJpYmEsIHNlIG9taXRlIGR1cmFudGUgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBkZSBsYSBub3RpY2lhIHByaW5jaXBhbCAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstMDZxZXogLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjEgIWltcG9ydGFudDtjb2xvcjojNjI3MUM0ICFpbXBvcnRhbnQ7fQogIC5ibGstMDZxZXogLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiM2MjcxQzQgIWltcG9ydGFudDt9CiAgLmJsay0wNnFleiAubGVhZC10aXRsZXtmb250LXNpemU6MS43NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgLmJsay0wNnFleiAubGVhZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLTA2cWV6IC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLTA2cWV6IC5sZWFkLWtpY2tlci1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLTA2cWV6IC5sZWFkLWtpY2tlci1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay0wNnFleiAubGVhZC1zdWJ0aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLTA2cWV6IC5sZWFkLXN1YnRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLTA2cWV6IC5sZWFkLWFuaW0taGVhZGxpbmVze2ZvbnQtc2l6ZToxLjg3NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgCiAgLmJsay0wNnFleiAucmVsYXRlZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLTA2cWV6IC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KfQouYmxrLTA2cWV6IC5sZWFke2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6I2ZmZjtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLTA2cWV6IC5sZWFkLW1lZGlhe3Bvc2l0aW9uOnJlbGF0aXZlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW59Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZTogYWx0byBmaWpvIGVuIHDteGVsZXMgZW4gdmV6IGRlIGxhIHByb3BvcmNp824gZGUKICAgYXJyaWJhICh2ZXIgY29tZW50YXJpbyBkZXRhbGxhZG8ganVudG8gYSBzdGF0ZS5sZWFkLmlmcmFtZUhlaWdodCkgJiM4MjEyOyBlbAogICB2YWxvciBkZSBN83ZpbCBzZSBzb2JyZXNjcmliZSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywgaWd1YWwgcXVlIGVsCiAgIHJlc3RvIGRlIG92ZXJyaWRlcyByZXNwb25zaXZlIGRlIGVzdGUgSFRNTCBleHBvcnRhZG8uICovCi5ibGstMDZxZXogLmxlYWQtbWVkaWEuaXMtaWZyYW1le2FzcGVjdC1yYXRpbzpub25lO2Jsb2NrLXNpemU6NjQwcHg7fQouYmxrLTA2cWV6IC5sZWFkLW1lZGlhIGltZywKLmJsay0wNnFleiAubGVhZC1tZWRpYSB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci8qIENhcnJ1c2VsIGRlIGZvdG9zIGRlIGZvbmRvIGNvbiBlZmVjdG8gS2VuIEJ1cm5zICYjODIxMjsgdmVyIGVsIG1pc21vIGJsb3F1ZSwKICAgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuCiAgIExhIGR1cmFjafNuIGRlIGxhcyBhbmltYWNpb25lcyAoNnMpIGNvaW5jaWRlIGNvbgogICBMRUFEX0NBUk9VU0VMX0lOVEVSVkFMLCBxdWUgdGFtYmnpbiBnb2JpZXJuYSBlbCBzY3JpcHQgZGUgcm90YWNp824KICAgKGJ1aWxkTGVhZENhcm91c2VsU2NyaXB0KSBh8WFkaWRvIGFsIGZpbmFsIGRlbCBIVE1MIGV4cG9ydGFkby4gKi8KLmJsay0wNnFleiAubGVhZC1jYXJvdXNlbHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjt9Ci5ibGstMDZxZXogLmxlYWQtY2Fyb3VzZWwtc2xpZGV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDEuNXMgZWFzZTt9Ci5ibGstMDZxZXogLmxlYWQtY2Fyb3VzZWwtc2xpZGUuaXMtYWN0aXZle29wYWNpdHk6MTt6LWluZGV4OjE7fQouYmxrLTA2cWV6IC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7fQouYmxrLTA2cWV6IC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChvZGQpIGltZ3thbmltYXRpb246YmxrLTA2cWV6LWtlbmJ1cm5zLWEgNnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7fQouYmxrLTA2cWV6IC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChldmVuKSBpbWd7YW5pbWF0aW9uOmJsay0wNnFlei1rZW5idXJucy1iIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KQGtleWZyYW1lcyBibGstMDZxZXota2VuYnVybnMtYXsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gfQpAa2V5ZnJhbWVzIGJsay0wNnFlei1rZW5idXJucy1ieyBmcm9te3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IHRve3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoNCUsMyUpO30gfQovKiBDb24gdW5hIPpuaWNhIGZvdG8gKHNpbiByb3RhY2nzbiBwb3NpYmxlKSBzZSBhcGxpY2EgdW4gem9vbSBpbi9vdXQgZW4KICAgYnVjbGUgaW5maW5pdG8gZW4gdmV6IGRlbCByZWNvcnJpZG8g+m5pY28gKGZvcndhcmRzKSBkZSBhcnJpYmEuICovCi5ibGstMDZxZXogLmxlYWQtY2Fyb3VzZWwuaXMtc2luZ2xlIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3thbmltYXRpb246YmxrLTA2cWV6LWtlbmJ1cm5zLWxvb3AgMTRzIGVhc2UtaW4tb3V0IGluZmluaXRlO30KQGtleWZyYW1lcyBibGstMDZxZXota2VuYnVybnMtbG9vcHsgMCV7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gNTAle3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoLTQlLC0zJSk7fSAxMDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IH0KLyogQ29tcGFyYWRvciBhbnRlcy9kZXNwdelzIChkZXNsaXphZG9yKSAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTA2cWV6IC5sZWFkLWNvbXBhcmV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7dG91Y2gtYWN0aW9uOm5vbmU7ei1pbmRleDoyO30KLmJsay0wNnFleiAubGVhZC1jb21wYXJlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjtkaXNwbGF5OmJsb2NrO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLWRyYWc6bm9uZTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay0wNnFleiAubGVhZC1jb21wYXJlLWJlZm9yZXtjbGlwLXBhdGg6aW5zZXQoMCA1MCUgMCAwKTt3aWxsLWNoYW5nZTpjbGlwLXBhdGg7fQouYmxrLTA2cWV6IC5sZWFkLWNvbXBhcmUtcmFuZ2V7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTttYXJnaW46MDtvcGFjaXR5OjA7Y3Vyc29yOmV3LXJlc2l6ZTt9Ci5ibGstMDZxZXogLmxlYWQtY29tcGFyZS1oYW5kbGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDo1MCU7aW5saW5lLXNpemU6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6Mjt9Ci5ibGstMDZxZXogLmxlYWQtY29tcGFyZS1oYW5kbGU6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtpbmxpbmUtc2l6ZToycHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLC4yNSk7fQouYmxrLTA2cWV6IC5sZWFkLWNvbXBhcmUtaGFuZGxlOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDotMTVweDtpbmxpbmUtc2l6ZTozMHB4O2Jsb2NrLXNpemU6MzBweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTggNiBMNCAxMCBMOCAxNCcvPjxwYXRoIGQ9J00xMiA2IEwxNiAxMCBMMTIgMTQnLz48L2c+PC9zdmc+IikgY2VudGVyLzE2cHggMTZweCBuby1yZXBlYXQ7Ym94LXNoYWRvdzowIDJweCA2cHggcmdiYSgwLDAsMCwuMjUpO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMjUpO30KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE1pc21vIHotaW5kZXg6MiBxdWUKICAgLmxlYWQtY29tcGFyZSwgcG9yIGVsIG1pc21vIG1vdGl2byAoZ2FuYXJsZSBhIC5sZWFkLWxpbmspLiAqLwouYmxrLTA2cWV6IC5sZWFkLWlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTt6LWluZGV4OjI7fQouYmxrLTA2cWV6IC5sZWFkLWlmcmFtZSBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay0wNnFleiAubGVhZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLTA2cWV6IC5sZWFkLWJvZHl7cGFkZGluZzowcHggMjBweCAyMHB4IDIwcHg7O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7IHRleHQtYWxpZ246Y2VudGVyOyBhbGlnbi1pdGVtczpjZW50ZXI7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjY7IHBvaW50ZXItZXZlbnRzOm5vbmU7IGlubGluZS1zaXplOjk1JTsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OmF1dG87IG1hcmdpbi10b3A6LTMwcHg7IGJhY2tncm91bmQ6IzBFMTExQTsgZmxleDoxIDEgYXV0bzt9Ci8qIEFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vYXV0b3IgY2VudHJhZG9zIGVuIHZlcnRpY2FsIGRlbnRybyBkZWwgYWx0bwogICBzb2JyYW50ZSBiYWpvIGxhIGNhdGVnb3LtYSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLTA2cWV6IC5sZWFkLWJvZHktbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2lubGluZS1zaXplOjEwMCU7ZmxleDoxIDEgYXV0bzttaW4taGVpZ2h0OjA7fQovKiBBcGFyaWVuY2lhIG5lZ2F0aXZhIChwb3IgZGVmZWN0bykgdnMuIHBvc2l0aXZhIGRlIGxhIGNhamEgZGUgdGl0dWxhciAmIzgyMTI7IHZlcgogICBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLTA2cWV6IC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmxlYWQtYm9keXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO30KLmJsay0wNnFleiAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLXRpdGxlLAouYmxrLTA2cWV6IC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmF1dGhvci1sYWJlbHtjb2xvcjojMEUxMTFBO30KLyogUG9zaWNp824gZGVsIGxlYWQtYm9keSByZXNwZWN0byBhbCBsZWFkLW1lZGlhICgnbGVmdCcvJ3JpZ2h0JykgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay0wNnFleiAubGVhZC5sZWFkLWJvZHktbGVmdCwKLmJsay0wNnFleiAubGVhZC5sZWFkLWJvZHktcmlnaHR7ZmxleC1kaXJlY3Rpb246cm93O2FzcGVjdC1yYXRpbzoyLjk2Mjk2Mjk2Mjk2Mjk2Mzt9Ci5ibGstMDZxZXogLmxlYWQubGVhZC1ib2R5LWxlZnR7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7fQouYmxrLTA2cWV6IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLW1lZGlhLAouYmxrLTA2cWV6IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjAgMCA2MCU7fQouYmxrLTA2cWV6IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCi5ibGstMDZxZXogLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7ZmxleDowIDAgY2FsYyg0MCUgKyAzMHB4KTtpbmxpbmUtc2l6ZTphdXRvO21hcmdpbi10b3A6MDtibG9jay1zaXplOmNhbGMoMTAwJSAtIDQycHgpO2FsaWduLXNlbGY6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O30KLmJsay0wNnFleiAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5e21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0Oi0zMHB4O30KLmJsay0wNnFleiAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDotMzBweDttYXJnaW4tcmlnaHQ6MDt9Ci8qIFBvc2ljafNuICdib3R0b20tZnVsbCcgZGVsIGxlYWQtYm9keSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBpbmxpbmUtc2l6ZQogICBlbiB2ZXogZGUgd2lkdGggcG9yIGVsIG1pc21vIG1vdGl2byBxdWUgZWwgcmVzdG8gZGUgZXN0ZSBibG9xdWUgKGV2aXRhcgogICBsYSBwYWxhYnJhICJ3aWR0aDoiIHF1ZSBlbCBDTVMgZGVsIHVzdWFyaW8gZWxpbWluYSBhbCBwZWdhciBIVE1ML0NTUwogICBkaXJlY3RhbWVudGUpLiAqLwouYmxrLTA2cWV6IC5sZWFkLmxlYWQtYm9keS1ib3R0b20tZnVsbCAubGVhZC1ib2R5ewogIGlubGluZS1zaXplOjEwMCU7CiAgbWFyZ2luOjA7CiAgcGFkZGluZy10b3A6MzBweDsKICBwYWRkaW5nLWJvdHRvbTozMHB4OwogIGJvcmRlcjpub25lOwp9Ci8qIEV0aXF1ZXRhIGRlIGV4Y2x1c2l2YSAobyB0ZXh0byBwZXJzb25hbGl6YWRvKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTA2cWV6IC5sZWFkLWV4Y2x1c2l2ZS10YWd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4O3otaW5kZXg6MztkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2xldHRlci1zcGFjaW5nOjAuNXB4O3BhZGRpbmc6MnB4IDhweDtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOi44ZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3BvaW50ZXItZXZlbnRzOm5vbmU7fQovKiBTZWxlY3RvciBjb24gMyBjbGFzZXMgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoIi5sZWFkLW1lZGlhIGltZyIgdGFtYmnpbgogICBtYXRjaGVhIGVzdGUgPGltZz4geSBsZSBnYW5hYmEgZW4gZXNwZWNpZmljaWRhZCkuICovCi5ibGstMDZxZXogLmxlYWQtZXhjbHVzaXZlLXRhZyAubGVhZC1leGNsdXNpdmUtdGFnLWljb257cG9zaXRpb246c3RhdGljO2luc2V0OmF1dG87aW5saW5lLXNpemU6MTRweDtibG9jay1zaXplOjE0cHg7b2JqZWN0LWZpdDpjb250YWluO2ZsZXg6MCAwIGF1dG87ZGlzcGxheTpibG9jazt9Ci5ibGstMDZxZXogLmxlYWQtY2F0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7cGFkZGluZzoycHggOHB4O3RyYW5zZm9ybTpza2V3WSgtNmRlZyk7bWFyZ2luLXRvcDotMTVweDttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLTA2cWV6IC5sZWFkLWtpY2tlciwgLmJsay0wNnFleiAubGVhZC1zdWJ0aXRsZXsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7dGV4dC10cmFuc2Zvcm06bm9uZTttYXJnaW46MDsKfQouYmxrLTA2cWV6IC5sZWFkLWtpY2tlcntmb250LXdlaWdodDo3MDA7fQouYmxrLTA2cWV6IC5sZWFkLXN1YnRpdGxle2ZvbnQtd2VpZ2h0OjYwMDt9Ci8qIFRhbWHxby9pbnRlcmxpbmVhZG8vY29sb3IgZGUgYW50ZXTtdHVsbyB5IHN1YnTtdHVsbyBlbiBEZXNrICh2YWxvcmVzIHBvcgogICBkZWZlY3RvIGRlbCBibG9xdWU7IGVsIG92ZXJyaWRlIGRlIE3zdmlsIHZhIGVuIGVsIEBjb250YWluZXIgZGUgbeFzIGFiYWpvLAogICB5YSBxdWUgZWwgSFRNTCBleHBvcnRhZG8gZXMgcmVzcG9uc2l2ZSB5IG5vIGRlcGVuZGUgZGUgcXXpIHZpc3RhIHR1dmllcmFzCiAgIHNlbGVjY2lvbmFkYSBlbiBlbCBnZXN0b3IgYWwgZXhwb3J0YXIvY29waWFyKS4gKi8KLmJsay0wNnFleiAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6IzYyNzFDNDt9Ci5ibGstMDZxZXogLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6IzYyNzFDNDt9Ci8qIHRleHQtd3JhcDpiYWxhbmNlICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwKICAgZGVsIGdlc3RvciAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgZXNhIHJlZ2xhKTogcmVwYXJ0ZSBsYXMKICAgbO1uZWFzIGRlbCB0aXR1bGFyIGRlIGZvcm1hIG3hcyB1bmlmb3JtZSBkZW50cm8gZGUgY2FkYSBkaXNwb3NpdGl2bywgc2luCiAgIHByZXRlbmRlciBpZ3VhbGFyIGVsIG76bWVybyBkZSBs7W5lYXMgZW50cmUgcGxhdGFmb3JtYXMgZGlzdGludGFzLiAqLwouYmxrLTA2cWV6IC5sZWFkLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjIuMjVyZW07bGluZS1oZWlnaHQ6MTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO3RleHQtd3JhcDpiYWxhbmNlO30KLyogVGl0dWxhciBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YSAodmVyIGJ1aWxkU2NvcGVkSFRNTCk6CiAgIHNlIGdlbmVyYW4gbG9zIGRvcyB0ZXh0b3MgKERlc2svTfN2aWwpIHkgYXF17SBzZSBtdWVzdHJhIHNvbG8gdW5vIHNlZ/puIGVsCiAgIGFuY2hvIHJlYWwgZGVsIGNvbnRlbmVkb3IgJiM4MjEyOyBlbCBtaXNtbyBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgeWEgdXNhIGVsCiAgIHJlc3RvIGRlbCBIVE1MIGV4cG9ydGFkbyBwYXJhIGFkYXB0YXJzZSBzaW4gZGVwZW5kZXIgZGUgSlMuICovCi5ibGstMDZxZXogLmxlYWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIEFudGV07XR1bG8vc3VidO10dWxvIGNvbiBzYWx0b3MgZGUgbO1uZWEgaW5kZXBlbmRpZW50ZXMgcG9yIHZpc3RhOiBtaXNtbwogICBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciAodmVyIGFycmliYSkuICovCi5ibGstMDZxZXogLmxlYWQta2lja2VyLW1vYmlsZSwgLmJsay0wNnFleiAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLyogVGl0dWxhciBkZSBub3RpY2lhIHJlbGFjaW9uYWRhIChjb2x1bW5hKSBjb24gdGV4dG8gcHJvcGlvIGVuIE3zdmlsICh2ZXIKICAgaXRlbS50aXRsZU1vYmlsZSBlbiBidWlsZENvbHVtbkl0ZW1UaXRsZUhUTUwpOiBtaXNtbyBtZWNhbmlzbW8gZGUKICAgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciBwcmluY2lwYWwgZGUgYXJyaWJhLiAqLwouYmxrLTA2cWV6IC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQouYmxrLTA2cWV6IC5hdXRob3ItbGFiZWx7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOnJpZ2h0O2Rpc3BsYXk6YmxvY2t9Ci5ibGstMDZxZXogLmNvbHVtbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjt9Ci5ibGstMDZxZXogLmNvbHVtbi1pdGVte2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO3BhZGRpbmc6MTBweDtiYWNrZ3JvdW5kOiNmZmY7YmxvY2stc2l6ZTpzdHJldGNoO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt9Ci5ibGstMDZxZXogLnRodW1ie3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjQvMztiYWNrZ3JvdW5kOiNlZWU7b3ZlcmZsb3c6aGlkZGVufQouYmxrLTA2cWV6IC50aHVtYiBpbWcsCi5ibGstMDZxZXogLnRodW1iIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0KLmJsay0wNnFleiAudGh1bWIgLnBsYXktc3F1YXJlLAouYmxrLTA2cWV6IC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsgYm90dG9tOjVweDsgbGVmdDo1cHg7CiAgaW5saW5lLXNpemU6MjVweDtibG9jay1zaXplOjI1cHg7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7CiAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTgpOwogIGN1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLCB0cmFuc2Zvcm0gLjEyczsKICB6LWluZGV4OjI7IGFuaW1hdGlvbjpibGstMDZxZXotYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLmJsay0wNnFleiAudGh1bWIgLnBsYXktc3F1YXJlOjpiZWZvcmUsCi5ibGstMDZxZXogLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOjpiZWZvcmV7CiAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjZweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIG1hcmdpbi1sZWZ0OjJweDsKfQouYmxrLTA2cWV6IC50aHVtYiAucGxheS1zcXVhcmU6aG92ZXIsCi5ibGstMDZxZXogLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOmhvdmVyeyBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC44NSk7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOyB9Ci5ibGstMDZxZXogLnN0YWNrLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE3cHg7bGluZS1oZWlnaHQ6MS4xNWVtO21hcmdpbjowO2NvbG9yOiMyYzNlNTM7fQouYmxrLTA2cWV6IC5zdGFjay1hdXRob3J7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1ib29rIixzYW5zLXNlcmlmO2NvbG9yOiM4Mjg1OTU7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOHJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjExcHg7bGV0dGVyLXNwYWNpbmc6MDt0ZXh0LWFsaWduOnJpZ2h0O30KLyogU2luIGVzdGEgcmVnbGEgZWwgYXV0b3IgcXVlZGEgcGVnYWRvIGp1c3RvIGRlYmFqbyBkZWwgdGl0dWxhciBlbiB2ZXogZGUKICAgYWJham8gZGUgbGEgdGFyamV0YTogLm1vZC1zdGFjayBuZWNlc2l0YSBzZXIgZmxleC1jb2x1bW4gY29uCiAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIHBhcmEgcXVlIGVsIGh1ZWNvIHNvYnJhbnRlIChjdWFuZG8gbGEKICAgdGFyamV0YSBjcmVjZSBt4XMgcXVlIHN1IGNvbnRlbmlkbywgdmVyIC5jb2x1bW4taXRlbTpub3QoLmxheW91dC1tZWRpYS1ibG9jaykKICAgbeFzIGFiYWpvKSBlbXB1amUgZWwgYXV0b3IgaGFjaWEgZWwgYm9yZGUgaW5mZXJpb3IuICovCi5ibGstMDZxZXogLm1vZC1zdGFja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZsZXg6MSAxIGF1dG87fQovKiBFc3RpbG8gImZvdG8gcGVxdWXxYSArIHRpdHVsYXIiOiBmb3RvIDQ6MyBhIGxhIGl6cXVpZXJkYSwgdGV4dG8gYSBsYSBkZXJlY2hhLiAqLwouYmxrLTA2cWV6IC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tbGVmdHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjExMHB4IDFmcjtnYXA6MTBweDt9Ci8qIEVzdGlsbyAic29sbyB0ZXh0byIgKHBvciBkZWZlY3RvKTogZWwgYXV0b3Igc2UgcG9zaWNpb25hIGVuIGFic29sdXRvLAogICBhbmNsYWRvIGEgbGEgZXNxdWluYSBpbmZlcmlvciBkZXJlY2hhIGRlIGxhIHRhcmpldGEgKGlndWFsIHF1ZSBlbCBwbGF5IGRlCiAgIGxhcyBtaW5pYXR1cmFzKSwgZW4gdmV6IGRlIGRlcGVuZGVyIGRlIHF1ZSBlbCBibG9xdWUgZGUgdGV4dG8gdGVuZ2EgaHVlY28KICAgZGUgc29icmEgcGFyYSBlbXB1amFybG8gYWJham8gY29uIGZsZXhib3ggJiM4MjEyOyBjb24gdO10dWxvcyBkZSAyLTMgbO1uZWFzIGVzZQogICBodWVjbyBubyBleGlzdGUgeSBlbCBhdXRvciBudW5jYSBsbGVnYWJhIGEgYmFqYXIuIHBhZGRpbmctYm90dG9tIGVuCiAgIGxlZnQtYm9keSByZXNlcnZhIGVsIGVzcGFjaW8gcGFyYSBxdWUgZWwgdO10dWxvIG5vIHNlIHNvbGFwZSBjb24g6WwuICovCi5ibGstMDZxZXogLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5sZWZ0LWJvZHl7cGFkZGluZy1ib3R0b206MzNweDt9Ci5ibGstMDZxZXogLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5zdGFjay1hdXRob3J7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDtib3R0b206MTBweDttYXJnaW4tdG9wOjA7fQouYmxrLTA2cWV6IC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9Ci5ibGstMDZxZXogLmxlZnQtcGxheXsKICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7CiAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTogNHB4Owp9Ci5ibGstMDZxZXogLmxlZnQtcGxheTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo0cHggc29saWQgIzAwYTdmZjtib3JkZXItdG9wOjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDoxcHg7Cn0KLmJsay0wNnFleiAucmVsYXRlZC1saXZlLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGRjUwNTA7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGRjUwNTA7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGstMDZxZXogLnJlbGF0ZWQtZWRpdG9yaWFsLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGQUIxMjE7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGQUIxMjE7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGstMDZxZXogLnBsYXktYnV0dG9uewogIC8qIEFuY2hvL2FsdG8gZmlqb3MgZW4gdmV6IGRlIGFzcGVjdC1yYXRpbzoxLzEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhIChlbAogICAgIGPhbGN1bG8gZGUgInNocmluay10by1maXQiIHBhcmEgdW4gPGJ1dHRvbj4gZW4gYWJzb2x1dG8gc2luIHRhbWHxbwogICAgIGV4cGztY2l0byBubyBlcyBmaWFibGUgZW50cmUgbW90b3JlczsgZW4gV2ViS2l0L2lPUyBkYWJhIHVuIHJlY3Thbmd1bG8KICAgICB2ZXJ0aWNhbCBlc3RyZWNo7XNpbW8gZW4gdmV6IGRlIHVuIGN1YWRyYWRvKS4gKi8KICBhcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7CiAgcG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4OwogIGlubGluZS1zaXplOjM0cHg7YmxvY2stc2l6ZTozNHB4OwogIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjEwcHggMTBweCAxMHB4IDEycHg7CiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43KTsKICBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjQyKTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6M3B4OwogIGN1cnNvcjpwb2ludGVyO3otaW5kZXg6MjthbmltYXRpb246YmxrLTA2cWV6LWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGstMDZxZXogLnBsYXktYnV0dG9uLnBvcy10b3AtcmlnaHR7dG9wOjEwcHg7cmlnaHQ6MTBweDtsZWZ0OmF1dG87Ym90dG9tOmF1dG87fQouYmxrLTA2cWV6IC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLWxlZnR7Ym90dG9tOjEwcHg7bGVmdDoxMHB4O3RvcDphdXRvO3JpZ2h0OmF1dG87fQouYmxrLTA2cWV6IC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0e2JvdHRvbToxMHB4O3JpZ2h0OjEwcHg7dG9wOmF1dG87bGVmdDphdXRvO30KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstMDZxZXogLmxlYWQubGVhZC1ib2R5LWxlZnQgLnBsYXktYnV0dG9uLnBvcy10b3AtbGVmdCwKLmJsay0wNnFleiAubGVhZC5sZWFkLWJvZHktbGVmdCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1sZWZ0eyBsZWZ0OjQwcHg7IH0KLmJsay0wNnFleiAubGVhZC5sZWFkLWJvZHktcmlnaHQgLnBsYXktYnV0dG9uLnBvcy10b3AtcmlnaHQsCi5ibGstMDZxZXogLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci8qIFBvc2ljafNuICdib3R0b20nIHBvciBkZWZlY3RvOiBlbCBsZWFkLWJvZHkgc29sYXBhIDMwcHggc29icmUgZWwgYm9yZGUKICAgSU5GRVJJT1IgZGUgbGEgZm90by927WRlbyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBObyBhcGxpY2EgY29uICdib3R0b20tZnVsbCcKICAgbmkgY29uICdsZWZ0Jy8ncmlnaHQnIChhanVzdGUgaG9yaXpvbnRhbCBwcm9waW8sIHZlciBhcnJpYmEpLiAqLwouYmxrLTA2cWV6IC5sZWFkOm5vdCgubGVhZC1ib2R5LWxlZnQpOm5vdCgubGVhZC1ib2R5LXJpZ2h0KTpub3QoLmxlYWQtYm9keS1ib3R0b20tZnVsbCkgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tbGVmdCwKLmJsay0wNnFleiAubGVhZDpub3QoLmxlYWQtYm9keS1sZWZ0KTpub3QoLmxlYWQtYm9keS1yaWdodCk6bm90KC5sZWFkLWJvZHktYm90dG9tLWZ1bGwpIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NDBweDsgfQouYmxrLTA2cWV6IC5wbGF5LWJ1dHRvbiAucGxheS1pY29uewogIGlubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjtib3JkZXItdG9wOjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjZweCBzb2xpZCB0cmFuc3BhcmVudDsKfQouYmxrLTA2cWV6IC5wbGF5LWJ1dHRvbiAucGxheS10ZXh0e2Rpc3BsYXk6bm9uZTt9CgovKiBUaXR1bGFyZXMgYW5pbWFkb3MgKGNhcGEgYWx0ZXJuYXRpdmEgc29icmUgbGVhZC1tZWRpYSkgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYQogICBoZXJyYW1pZW50YS4gQ2FkYSB0aXR1bGFyIHRpZW5lIHN1IHByb3BpYSBwb3NpY2nzbiAoY2xhc2UgcG9zLSosIHZlcgogICBidWlsZFNjb3BlZEhUTUwpIHkgc2UgcmV2ZWxhIGztbmVhIHBvciBs7W5lYSAodW5hIHZleiBtZWRpZGFzIHN1cyBs7W5lYXMKICAgcmVhbGVzIHBvciBlbCBzY3JpcHQgc3RhbmRhbG9uZSwgdmVyIGJ1aWxkQW5pbUhlYWRsaW5lc1NjcmlwdCkgY29uIHVuYQogICBjYWphIGRlIGZvbmRvIGRldHLhcyBkZSBjYWRhIGztbmVhIHkgdW4gZmFkZSBkZSBvcGFjaWRhZCBlbnRyZSB0aXR1bGFyZXMuICovCi5ibGstMDZxZXogLmxlYWQtYW5pbS1oZWFkbGluZXN7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgaW5zZXQ6MDsKICB6LWluZGV4OjQ7CiAgcG9pbnRlci1ldmVudHM6bm9uZTsKfQouYmxrLTA2cWV6IC5sZWFkLWFuaW0taGVhZGxpbmV7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgbGVmdDoxNXB4OwogIG9wYWNpdHk6MDsKfQouYmxrLTA2cWV6IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1sZWZ0eyBib3R0b206NjBweDsgfQouYmxrLTA2cWV6IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1sZWZ0eyB0b3A6NjBweDsgfQouYmxrLTA2cWV6IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1sZWZ0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLTA2cWV6IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay0wNnFleiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQsCi5ibGstMDZxZXogLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBsZWZ0OmF1dG87IHJpZ2h0OjE1cHg7IH0KLmJsay0wNnFleiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHR7IHRvcDo2MHB4OyB9Ci5ibGstMDZxZXogLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLTA2cWV6IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgYm90dG9tOjYwcHg7IH0KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstMDZxZXogLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnQsCi5ibGstMDZxZXogLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnQsCi5ibGstMDZxZXogLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGxlZnQ6NDBweDsgfQouYmxrLTA2cWV6IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQsCi5ibGstMDZxZXogLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay0wNnFleiAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci5ibGstMDZxZXogLmxlYWQtYW5pbS1oZWFkbGluZS5pcy1hY3RpdmV7IG9wYWNpdHk6MTsgfQouYmxrLTA2cWV6IC5sZWFkLWFuaW0tbGluZXsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBkaXNwbGF5OnRhYmxlOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjsKICBmb250LXdlaWdodDo5MDA7CiAgY29sb3I6I2ZmZjsKICBwYWRkaW5nOjJweCA4cHg7CiAgY2xpcC1wYXRoOmluc2V0KDAgMTAwJSAwIDApOwogIG9wYWNpdHk6MTsKICB0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBlYXNlOwp9Ci5ibGstMDZxZXogLmxlYWQtYW5pbS1saW5lLmlzLWhpZGluZ3sgb3BhY2l0eTowOyB9Ci8qIFNvbGFwZSBkZSAxcHggZW50ZXJhIGVudHJlIGztbmVhcyBwYXJhIGNlcnJhciBlbCBoaWxvIGRlIHN1Yi1w7XhlbCBxdWUKICAgcHVlZGUgcXVlZGFyIGVudHJlIHN1cyBjYWphcyBkZSBmb25kbyAocmVkb25kZW8gZGUgYWx0dXJhcyBmcmFjY2lvbmFyaWFzKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBjb21lbnRhcmlvLCBkZXRhbGxhZG8sIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstMDZxZXogLmxlYWQtYW5pbS1saW5lICsgLmxlYWQtYW5pbS1saW5lewogIG1hcmdpbi10b3A6LTFweDsKfQouYmxrLTA2cWV6IC5sZWFkLWFuaW0tbGluZTpmaXJzdC1jaGlsZHsgcGFkZGluZy10b3A6NnB4OyB9Ci5ibGstMDZxZXogLmxlYWQtYW5pbS1saW5lOmxhc3QtY2hpbGR7IHBhZGRpbmctYm90dG9tOjZweDsgfQouYmxrLTA2cWV6IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGstMDZxZXogLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay0wNnFleiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHQgLmxlYWQtYW5pbS1saW5leyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6MDsgfQouYmxrLTA2cWV6IC5sZWFkLWFuaW0taGVhZGxpbmVzLmlzLXBvc2l0aXZlIC5sZWFkLWFuaW0tbGluZXsgY29sb3I6IzBFMTExQTsgfQouYmxrLTA2cWV6IC5sZWFkLWFuaW0tbGluZS1iZ3sgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0OjA7IHotaW5kZXg6LTE7IH0KLmJsay0wNnFleiAubGVhZC1hbmltLWxpbmUtdGV4dHsgcG9zaXRpb246cmVsYXRpdmU7IH0KQGtleWZyYW1lcyBibGstMDZxZXotYW5pbS1saW5lLXJldmVhbHsgdG97IGNsaXAtcGF0aDppbnNldCgwIDAgMCAwKTsgfSB9CgovKiBBbmNob3Igb3ZlcmxheSBmb3IgZnVsbCBjbGlja2FibGUgbGVhZCAqLwouYmxrLTA2cWV6IC5sZWFkLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjF9CgovKiBIb3ZlciBvcGFjaXR5IGFuaW1hdGlvbiAqLwouYmxrLTA2cWV6IC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAouYmxrLTA2cWV6IC5jb2x1bW4taXRlbTpob3ZlcntvcGFjaXR5Oi44fQovKiBGb3RvIHByaW5jaXBhbCAoZmFsbGJhY2svc2luZ2xlKSBvIGNhcnJ1c2VsIGRlIGZvdG9zOiBvcGFjaWRhZCAwLjkgYWwKICAgcGFzYXIgZWwgcmF0824gcG9yIGxhIHRhcmpldGEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4KICAgbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGEgdu1kZW8gbmkgYWwKICAgY29tcGFyYWRvciBhbnRlcy9kZXNwdelzLiAqLwouYmxrLTA2cWV6IC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLTA2cWV6IC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay0wNnFleiAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKLmJsay0wNnFleiAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6Ljk7fQovKiBFbiBlbCBhbmNobyBt83ZpbCAobWlzbW8gQGNvbnRhaW5lciBxdWUgZWwgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvKSBubwogICBhcGxpY2EgZXN0YSBhbmltYWNp824gZGUgb3BhY2lkYWQgc29icmUgbGEgbm90aWNpYSBwcmluY2lwYWw6IHZhIERFU1BVyVMKICAgZGUgbGEgcmVnbGEgZ2VuZXJhbCBkZSBhcnJpYmEgKG1pc21hIGVzcGVjaWZpY2lkYWQpIHBhcmEgcG9kZXIgZ2FuYXJsZS4KICAgT21pdGlkbywgaWd1YWwgcXVlIGVsIGJsb3F1ZSBkZSB0aXBvZ3JhZu1hIGRlIGFycmliYSwgbWllbnRyYXMgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBlc3TpIGFjdGl2YSAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstMDZxZXogLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCiAgLmJsay0wNnFleiAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKICAuYmxrLTA2cWV6IC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eToxO30KfQoKLyogQW5pbWFjafNuIGNvbXBhcnRpZGEgcGxheSBwcmluY2lwYWwgKyBjdWFkcmFkb3MgcGxheSBhcGlsYWRhcyAqLwpAa2V5ZnJhbWVzIGJsay0wNnFlei1ibGlua3sKICAwJSwxMDAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpfQogIDUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LDAuOSl9Cn0KLyogQ2FiZWNlcmEgKi8KLmJsay0wNnFleiAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxMHB4IDAgMzJweH0KLmJsay0wNnFleiAuZm5kLWxpbmVhe2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTo1cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW4tdG9wOi0xOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICMzMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzMzM30KLmJsay0wNnFleiAuc2VjdGlvbi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LTFweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6NHB4IDEzcHg7Ym9yZGVyOjFweCBzb2xpZCAjMEUxMTFBO3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKTtmb250LXNpemU6NDJweDtjb2xvcjojMEUxMTFBO30KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsuYmxrLTA2cWV6IC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MCAxMHB4fX0KLyogQ2FiZWNlcmEgJiM4MjEyOyBEaXNl8W8gMiAodGl0dWxhciArIGNhcnJ1c2VsIGRlIGxvZ290aXBvcykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay0wNnFleiAuaGVhZGVyMntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoyMHB4O3BhZGRpbmctYm90dG9tOjVweDttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzBFMTExQTt9Ci8qIGFsaWduLXNlbGY6ZmxleC1lbmQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSAxNXB4IGRlIGxhIGztbmVhIHNlcGFyYWRvcmEKICAgZW4gRGVzayAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MKICAgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTA2cWV6IC5oZWFkZXIyLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtmbGV4OjEgMSA1MCU7bWluLWlubGluZS1zaXplOjA7YWxpZ24tc2VsZjpmbGV4LWVuZDt9Ci5ibGstMDZxZXogLmhlYWRlcjItdGFnc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleDowIDAgYXV0bzt9Ci8qIE1pc21vIHRhbWHxby90aXBvZ3JhZu1hIHF1ZSAubGVhZC1leGNsdXNpdmUtdGFnIChsYSBkZSBsYSBub3RpY2lhCiAgIHByaW5jaXBhbCkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZQogICBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay0wNnFleiAuaGVhZGVyMi1jYXQtdGFnLAouYmxrLTA2cWV6IC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWd7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6LjhlbTtsZXR0ZXItc3BhY2luZzouNXB4O3BhZGRpbmc6MnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7fQouYmxrLTA2cWV6IC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay0wNnFleiAuaGVhZGVyMi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZTozNnB4O2xpbmUtaGVpZ2h0OjEuMDU7Y29sb3I6IzBFMTExQTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWluLWlubGluZS1zaXplOjA7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO30KLyogU2VwYXJhY2nzbiBkZSAxMHB4IGVudHJlIGVsIHRleHRvIGRlIHBhdHJvY2luaW8geSBlbCBsb2dvIGVuIERlc2sgJiM4MjEyOyBlbgogICBN83ZpbCBzaWd1ZSBzaW4gc2VwYXJhY2nzbiAoZ2FwOjAsIHZlciBAY29udGFpbmVyIG3hcyBhYmFqbykuICovCi5ibGstMDZxZXogLmhlYWRlcjItbG9nb3Mtd3JhcHtmbGV4OjAgMCBhdXRvO21heC1pbmxpbmUtc2l6ZTo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7fQovKiBFdGlxdWV0YSBvcGNpb25hbCBqdW50byBhbCBjYXJydXNlbCBkZSBsb2dvcyAocC5lai4gIlBhdHJvY2luYWRvIHBvcjoiKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLTA2cWV6IC5oZWFkZXIyLWxvZ29zLWxhYmVse2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjY3O3doaXRlLXNwYWNlOm5vd3JhcDt9Ci5ibGstMDZxZXogLmhlYWRlcjItbG9nb3N7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTYwcHg7YmxvY2stc2l6ZTo1MHB4O2ZsZXgtc2hyaW5rOjA7fQouYmxrLTA2cWV6IC5oZWFkZXIyLWxvZ29zIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO21hcmdpbjphdXRvO21heC1pbmxpbmUtc2l6ZToxMDAlO21heC1ibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb250YWluO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIGVhc2UtaW4tb3V0O30KLmJsay0wNnFleiAuaGVhZGVyMi1sb2dvcyBpbWcuaXMtYWN0aXZle29wYWNpdHk6MTt9Ci8qIElndWFsIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsOiBwb3IgZGViYWpvIGRlIGVzdGUgYW5jaG8gc2UKICAgaW50ZW50YSBwcmltZXJvIDEgU09MQSBGSUxBIChldGlxdWV0YXMrdGl0dWxhciBqdW50byBhbCBsb2dvLCBpZ3VhbCBxdWUKICAgZW4gRGVzaywgYSB0YW1h8W8gcmVkdWNpZG8pLiBFbCBibG9xdWUgZGUgbG9nb3MgbWFudGllbmUgU0lFTVBSRSBzdQogICBkaXNwb3NpY2nzbiBlbiBjb2x1bW5hIChldGlxdWV0YSBkZSBwYXRyb2NpbmlvIGVuY2ltYSBkZWwgbG9nbywKICAgYWxpbmVhZG9zIGEgbGEgZGVyZWNoYSwgc2luIHNlcGFyYWNp824pIHRhbnRvIGVuIGVzdGEgZmlsYSD6bmljYSBjb21vIGVuCiAgIGVsIHJlc2d1YXJkbyBkZSBhYmFqby4gU2kgZWwgdGl0dWxhciwgc3VtYWRvIGFsIGFuY2hvIGRlIGxhcyBldGlxdWV0YXMKICAgYWN0aXZhcyAoY2F0ZWdvcu1hIHkvbyBleGNsdXNpdmEsIHNpIGxhcyBoYXkpLCBzdXBlcmEgZWwgNTUlIGRlbCBhbmNobwogICB0b3RhbCBkZSBsYSBjYWJlY2VyYSAoY2FkYSB1bm8gbWVkaWRvIGEgdW5hIHNvbGEgbO1uZWEpLCBlbCBzY3JpcHQKICAgc3RhbmRhbG9uZSBh8WFkaWRvIGFsIGZpbmFsIGRlIGVzdGUgSFRNTCAodmVyCiAgIGJ1aWxkSGVhZGVyMlN0YWNraW5nU2NyaXB0KCkpIGxvIGRldGVjdGEgbWlkaWVuZG8gc3UgYW5jaG8gbmF0dXJhbAogICB5IGHxYWRlIGxhIGNsYXNlICJoZWFkZXIyLXN0YWNrZWQiOiBlbCBibG9xdWUgZGUKICAgbG9nb3Mgc3ViZSBlbnRvbmNlcyBhIHN1IHByb3BpYSBmaWxhIChhbGluZWFkbyBhIGxhIGRlcmVjaGEpIHkKICAgdGl0dWxhcitldGlxdWV0YXMgYmFqYW4gYSBsYSBmaWxhIGRlIGFiYWpvLCBhIGFuY2hvIGNvbXBsZXRvICYjODIxMjsgbWlzbW8KICAgbGF5b3V0IGRlIDIgZmlsYXMgcXVlIGhhYu1hIGFudGVzIHNpZW1wcmUgcG9yIGRlYmFqbyBkZSBlc3RlIGJyZWFrcG9pbnQsCiAgIGFob3JhIHNvbG8gY29tbyByZXNndWFyZG8uIERlbnRybyBkZSBlc2UgcmVzZ3VhcmRvLCBjb24gZXRpcXVldGEocykgZWwKICAgdGl0dWxhciBwYXNhIGFkZW3hcyBhIHN1IFBST1BJQSBmaWxhIGEgYW5jaG8gY29tcGxldG8sIGRlYmFqbyBkZSBsYSBmaWxhIGRlIGV0aXF1ZXRhcyAodmVyCiAgICIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnQiIG3hcyBhYmFqbykuIEVsIGxvZ28gc2UgcmVkdWNlIHVuIDIwJQogICAoMTYweDUwICYjODU5NDsgMTI4eDQwKS4KICAgYWxpZ24tc2VsZjpmbGV4LWVuZCBlbiBoZWFkZXIyLWxlZnQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSBsb3MgMTBweAogICBkZWwgcGFkZGluZy1ib3R0b20gcmVzcGVjdG8gYSBsYSBs7W5lYSBzZXBhcmFkb3JhICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlCiAgIGVuIERlc2sgKHZlciBoZWFkZXIyLWxlZnQgbeFzIGFycmliYSk6IHNpbiBlc3RvLCBhbCBzZXIgZWwgYmxvcXVlIGRlCiAgIGxvZ29zIG3hcyBhbHRvIHF1ZSBlbCB0aXR1bGFyLCBlbCBjZW50cmFkbyB2ZXJ0aWNhbCBkZWwgcm93IGRlamFiYSB1bgogICBodWVjbyBtYXlvciBlbnRyZSBlbCB0aXR1bGFyIHkgbGEgbO1uZWEuIEVsIGJsb3F1ZSBkZSBsb2dvcyBzaWd1ZQogICBjZW50cmFkbyAoc2luIGVzZSBvdmVycmlkZSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay0wNnFleiAuaGVhZGVyMntmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4O30KICAuYmxrLTA2cWV6IC5oZWFkZXIyLWxlZnR7b3JkZXI6MTthbGlnbi1zZWxmOmZsZXgtZW5kO30KICAuYmxrLTA2cWV6IC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MjthbGlnbi1zZWxmOmNlbnRlcjttYXgtaW5saW5lLXNpemU6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC5ibGstMDZxZXogLmhlYWRlcjItbG9nb3N7aW5saW5lLXNpemU6MTI4cHg7YmxvY2stc2l6ZTo0MHB4O30KICAuYmxrLTA2cWV6IC5oZWFkZXIyLXRpdGxle2ZvbnQtc2l6ZToyN3B4O30KICAuYmxrLTA2cWV6IC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDt9CiAgLmJsay0wNnFleiAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdHtvcmRlcjoyO2FsaWduLXNlbGY6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NXB4O30KICAuYmxrLTA2cWV6IC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjE7bWF4LWlubGluZS1zaXplOjEwMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC8qIFJlc2d1YXJkbyBpbnRlcm1lZGlvICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YTogc29sbyBlbCB0aXR1bGFyIGJhamEgYSBzdQogICAgIHByb3BpYSBmaWxhIGEgYW5jaG8gY29tcGxldG8gY3VhbmRvIGxhcyBldGlxdWV0YXMgU80gY2FiZW4ganVudG8gYWwKICAgICBsb2dvIHBlcm8gZWwgdGl0dWxhciBuby4gaGVhZGVyMi1sZWZ0IHBhc2EgZGUgZmlsYSBhIGNvbHVtbmEKICAgICAoZXRpcXVldGFzIGFycmliYSwgdGl0dWxhciBkZWJham8pIHkgcmVjdXBlcmEgYWxpZ24tc2VsZjphdXRvIHBhcmEKICAgICBjZW50cmFyc2UgdmVydGljYWxtZW50ZSBjb250cmEgZWwgbG9nbyAoYWxpZ24tc2VsZjpjZW50ZXIgZGUgbGEgcmVnbGEKICAgICBiYXNlIGRlIC5oZWFkZXIyLWxvZ29zLXdyYXAsIGFycmliYSksIGlndWFsIHF1ZSBlbiBlbCByZXN0byBkZSBlc3RhZG9zLiAqLwogIC5ibGstMDZxZXogLmhlYWRlcjIuaGVhZGVyMi10aXRsZS1iZWxvdyAuaGVhZGVyMi1sZWZ0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLXNlbGY6YXV0bztnYXA6NXB4O30KfQoKLyogRXN0aWxvICJmb3RvIGdyYW5kZSArIHRpdHVsYXIiOiBmb3RvIDE2OjkgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbyAmIzgyMTI7IGVsZWdpYmxlCiAgIHBvciBub3RpY2lhIGRlc2RlIGVsIGdlc3Rvci4gTm8gc2UgcmVzdHJpbmdlIGNvbiBAY29udGFpbmVyIHBvcnF1ZQogICAuY29sdW1uLWl0ZW0geWEgZXMgYmxvY2sgcG9yIGRlZmVjdG8gKGVsIHRodW1iIHkgZWwgdGV4dG8gc2UgYXBpbGFuIHNvbG9zCiAgIHNpbiBt4XMgYWp1c3RlKSwgYXPtIHF1ZSBlbCBkaXNl8W8gZnVuY2lvbmEgaWd1YWwgZGUgYmllbiBlbiBjdWFscXVpZXIKICAgYW5jaG8sIERlc2sgbyBN83ZpbC4gKi8KLmJsay0wNnFleiAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay0wNnFleiAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAudGh1bWJ7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLTA2cWV6IC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXdlaWdodDo5MDA7fQovKiBFbiBN83ZpbCBlbCB0aXR1bGFyIGRlIGVzdGUgZGlzZfFvIHNlIG11ZXN0cmEgbeFzIGdyYW5kZSAoMS41cmVtIGVuIHZleiBkZQogICBsb3MgMS4ycmVtIGRlIERlc2spICYjODIxMjsgbWlzbWEgZXNwZWNpZmljaWRhZCAoMyBjbGFzZXMpIHF1ZSBsYSByZWdsYSBkZQogICBhcnJpYmE7IGFsIGlyIERFU1BVyVMgZW4gZWwgQ1NTIGdhbmEgcG9yIG9yZGVuIGRlIGNhc2NhZGEuIFNlIHVzYSBlbAogICBicmVha3BvaW50IGRlIDQ4MHB4IChlbCBkZSB0aXBvZ3JhZu1hIGVuIGVzdGEgYXBwLCBubyBlbCBkZSA4NjBweCBxdWUgYXF17QogICBzb2xvIGdvYmllcm5hIGVsIGFwaWxhZG8gZGUgY29sdW1uYXMpIHBhcmEgcXVlIGNvaW5jaWRhIGNvbiBlbCByZXN0byBkZQogICBjYW1iaW9zIGRlIHRleHRvL3RhbWHxbyBwb3IgdmlzdGEuIE5vIGFmZWN0YSBhbCByZXNndWFyZG8gZGUgMiBjb2x1bW5hcyBlbgogICBt83ZpbCAobW9iLWdyaWQpLCBt4XMgZXNwZWPtZmljbyAoMThweCwgdmVyIG3hcyBhcnJpYmEpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstMDZxZXogLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjEuNXJlbTt9Cn0KLyogRXN0aWxvICJCbG9xdWUgbWVkaWEiICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstMDZxZXogLm1lZGlhLWJsb2NrLW1lZGlhe2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOmF1dG87fQouYmxrLTA2cWV6IC5tZWRpYS1ibG9jay13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7fQouYmxrLTA2cWV6IC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLTA2cWV6IC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcCBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay0wNnFleiAuY29sdW1uLWl0ZW0ubGF5b3V0LW1lZGlhLWJsb2Nre2JvcmRlcjpub25lO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2Jsb2NrLXNpemU6YXV0bztmbGV4OjAgMCBhdXRvO30KLmJsay0wNnFleiAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spe2ZsZXg6MSAxIGF1dG87fQo8L3N0eWxlPgoKPGRpdiBjbGFzcz0iYmxrLTA2cWV6Ij4KICAKICA8bWFpbiBjbGFzcz0icGFnZSI+CiAgICAKICAgIDxhcnRpY2xlIGNsYXNzPSJsZWFkIGxlYWQtYm9keS1sZWZ0Ij4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1tZWRpYSI+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS9hbG1laWRhLWFudW5jaWEtcXVlLWJhamFyYS1lbC1pYmktYWwtbWluaW1vLXBlcm1pdGlkby1wb3ItbGEtbGV5LXBvci1wcmltZXJhLXZlei1lbi1sYS1oaXN0b3JpYS0yMDI2MTAxNS0xMTM1MzItMjBhODk5LmpwZyIgYWx0PSJBbG1laWRhIGFudW5jaWEgcXVlIGJhamFy4SBlbCBJQkkgYWwgbe1uaW1vIHBlcm1pdGlkbyBwb3IgbGEgbGV5ICZxdW90O3BvciBwcmltZXJhIHZleiBlbiBsYSBoaXN0b3JpYSZxdW90OyIgbG9hZGluZz0iZWFnZXIiIGZldGNocHJpb3JpdHk9ImhpZ2giIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVhZC1vdmVybGF5IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE0LDE3LDI2LDAuMDApOyI+PC9kaXY+CiAgICAgICAgCiAgICAgICAgPGJ1dHRvbiBjbGFzcz0icGxheS1idXR0b24gcG9zLXRvcC1sZWZ0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGRpdiBjbGFzcz0icGxheS1pY29uIj48L2Rpdj48c3BhbiBjbGFzcz0icGxheS10ZXh0Ij5QbGF5PC9zcGFuPjwvYnV0dG9uPgogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5IiBzdHlsZT0iYmFja2dyb3VuZDojNjI3MUM0OyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImxlYWQtY2F0IiBzdHlsZT0iYmFja2dyb3VuZDojZmZmO2NvbG9yOiM2MjcxQzQiPkVDT05PTc1BPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImxlYWQtYm9keS1tYWluIj4KICAgICAgICAgIAogICAgICAgICAgPGgyIGNsYXNzPSJsZWFkLXRpdGxlIj48c3BhbiBjbGFzcz0ibGVhZC10aXRsZS1kZXNrIj5BbG1laWRhIGFudW5jaWEgcXVlIGJhamFy4SBlbCBJQkkgYWwgbe1uaW1vIHBlcm1pdGlkbyBwb3IgbGEgbGV5ICZxdW90O3BvciBwcmltZXJhIHZleiBlbiBsYSBoaXN0b3JpYSZxdW90Ozwvc3Bhbj48c3BhbiBjbGFzcz0ibGVhZC10aXRsZS1tb2JpbGUiPkFsbWVpZGEgYW51bmNpYSBxdWUgYmFqYXLhIGVsIElCSSBhbCBt7W5pbW8gcGVybWl0aWRvIHBvciBsYSBsZXkgJnF1b3Q7cG9yIHByaW1lcmEgdmV6IGVuIGxhIGhpc3RvcmlhJnF1b3Q7PC9zcGFuPjwvaDI+CiAgICAgICAgICAKICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRob3ItbGFiZWwiPkFsYmEgTWFydO1uPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGEgY2xhc3M9ImxlYWQtbGluayIgaHJlZj0iaHR0cHM6Ly9va2RpYXJpby5jb20vZWNvbm9taWEvdml2aWVuZGEvYWxtZWlkYS1hbnVuY2lhLXF1ZS1iYWphcmEtaWJpLW1pbmltby1wZXJtaXRpZG8tbGV5LXByaW1lcmEtdmV6LWhpc3RvcmlhLTIwNTU1NDcxIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9IkFsbWVpZGEgYW51bmNpYSBxdWUgYmFqYXLhIGVsIElCSSBhbCBt7W5pbW8gcGVybWl0aWRvIHBvciBsYSBsZXkgJnF1b3Q7cG9yIHByaW1lcmEgdmV6IGVuIGxhIGhpc3RvcmlhJnF1b3Q7IiBhcmlhLWxhYmVsPSJBbG1laWRhIGFudW5jaWEgcXVlIGJhamFy4SBlbCBJQkkgYWwgbe1uaW1vIHBlcm1pdGlkbyBwb3IgbGEgbGV5ICZxdW90O3BvciBwcmltZXJhIHZleiBlbiBsYSBoaXN0b3JpYSZxdW90OyI+PC9hPgogICAgPC9hcnRpY2xlPgogIDwvbWFpbj4KPC9kaXY+Cgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICB2YXIgYXJ0aWNsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5ibGstMDZxZXogLmxlYWQnKTsKICBpZiAoIWFydGljbGUpIHJldHVybjsKICB2YXIgbWFpbiA9IGFydGljbGUucXVlcnlTZWxlY3RvcignLmxlYWQtYm9keS1tYWluJyk7CiAgdmFyIHRpdGxlRWwgPSBhcnRpY2xlLnF1ZXJ5U2VsZWN0b3IoJy5sZWFkLXRpdGxlJyk7CiAgaWYgKCFtYWluIHx8ICF0aXRsZUVsKSByZXR1cm47CiAgdmFyIGJhc2VGb250U2l6ZVB4ID0gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRpdGxlRWwpLmZvbnRTaXplKSB8fCAwOwogIGlmICghYmFzZUZvbnRTaXplUHgpIHJldHVybjsKICB2YXIgTUFYX1NDQUxFID0gMS44OwogIHZhciBNSU5fU0NBTEUgPSAwLjU7CiAgdmFyIE1BWF9GT05UX1BYID0gNjQ7IC8vIH40cmVtIGNvbiBsYSBiYXNlIGhhYml0dWFsIGRlIDE2cHggKG1pc21vIHRvcGUgcXVlIGZpdExlYWRUaXRsZVRvQm94KCkgZW4gZWwgZ2VzdG9yKQogIHZhciBib2R5UG9zaXRpb25CbG9ja3NGaXQgPSBhcnRpY2xlLmNsYXNzTGlzdC5jb250YWlucygnbGVhZC1ib2R5LWxlZnQnKSB8fCBhcnRpY2xlLmNsYXNzTGlzdC5jb250YWlucygnbGVhZC1ib2R5LXJpZ2h0Jyk7CiAgZnVuY3Rpb24gZml0KCl7CiAgICBpZiAoYm9keVBvc2l0aW9uQmxvY2tzRml0KSByZXR1cm47CiAgICB0aXRsZUVsLnN0eWxlLmZvbnRTaXplID0gYmFzZUZvbnRTaXplUHggKyAncHgnOwogICAgdmFyIGF2YWlsYWJsZUhlaWdodCA9IG1haW4uY2xpZW50SGVpZ2h0OwogICAgaWYgKCFhdmFpbGFibGVIZWlnaHQpIHJldHVybjsKICAgIC8vIFZlciBtaXNtbyBjb21lbnRhcmlvLCBkZXRhbGxhZG8sIGVuIGZpdExlYWRUaXRsZVRvQm94KCkgZGVsIGdlc3RvcjoKICAgIC8vIG1haW4uc2Nyb2xsSGVpZ2h0IG51bmNhIGJhamEgZGUgY2xpZW50SGVpZ2h0IGF1bnF1ZSBlbCBjb250ZW5pZG8gcmVhbAogICAgLy8gb2N1cGUgbWVub3MsIGFz7SBxdWUgbm8gc2lydmUgcGFyYSBkZXRlY3RhciBjdeFudG8gc29icmEgbyBmYWx0YSBjb24KICAgIC8vIGVsIHRpdHVsYXIgYWN0dWFsICYjODIxMjsgc2Ugc3VtYSBlbiBzdSBsdWdhciBlbCBhbHRvIHJlYWwgZGUgY2FkYSBoaWpvCiAgICAvLyBWSVNJQkxFIGRlbCBibG9xdWUsIHNhbHZvIGVsIHByb3BpbyB0aXR1bGFyLCBt4XMgZWwgaHVlY28gKCJnYXAiKQogICAgLy8gZW50cmUgZWxsb3M7IG5vIGNhbWJpYSBjb24gZWwgdGFtYfFvIGRlbCB0aXR1bGFyLCBhc+0gcXVlIHNlIG1pZGUgdW5hCiAgICAvLyBzb2xhIHZleiwgYW50ZXMgZGUgbGEgYvpzcXVlZGEgYmluYXJpYS4KICAgIHZhciBnYXBQeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShtYWluKS5yb3dHYXApIHx8IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShtYWluKS5nYXApIHx8IDA7CiAgICB2YXIgdmlzaWJsZUNoaWxkcmVuID0gW10uc2xpY2UuY2FsbChtYWluLmNoaWxkcmVuKS5maWx0ZXIoZnVuY3Rpb24oYyl7IHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGMpLmRpc3BsYXkgIT09ICdub25lJzsgfSk7CiAgICB2YXIgb3RoZXJzSGVpZ2h0ID0gdmlzaWJsZUNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbihjKXsgcmV0dXJuIGMgIT09IHRpdGxlRWw7IH0pLnJlZHVjZShmdW5jdGlvbihzdW0sIGMpeyByZXR1cm4gc3VtICsgYy5vZmZzZXRIZWlnaHQ7IH0sIDApCiAgICAgICsgZ2FwUHggKiBNYXRoLm1heCgwLCB2aXNpYmxlQ2hpbGRyZW4ubGVuZ3RoIC0gMSk7CiAgICB2YXIgYXZhaWxhYmxlRm9yVGl0bGUgPSBNYXRoLm1heCgwLCBhdmFpbGFibGVIZWlnaHQgLSBvdGhlcnNIZWlnaHQpOwogICAgaWYgKCFhdmFpbGFibGVGb3JUaXRsZSkgcmV0dXJuOwogICAgZnVuY3Rpb24gaGVpZ2h0QXRTY2FsZShzY2FsZSl7CiAgICAgIHRpdGxlRWwuc3R5bGUuZm9udFNpemUgPSBNYXRoLm1pbihiYXNlRm9udFNpemVQeCAqIHNjYWxlLCBNQVhfRk9OVF9QWCkgKyAncHgnOwogICAgICByZXR1cm4gdGl0bGVFbC5vZmZzZXRIZWlnaHQ7CiAgICB9CiAgICB2YXIgbG8gPSBNSU5fU0NBTEUsIGhpID0gTUFYX1NDQUxFOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCA4OyBpKyspewogICAgICB2YXIgbWlkID0gKGxvICsgaGkpIC8gMjsKICAgICAgaWYgKGhlaWdodEF0U2NhbGUobWlkKSA8PSBhdmFpbGFibGVGb3JUaXRsZSkgbG8gPSBtaWQ7IGVsc2UgaGkgPSBtaWQ7CiAgICB9CiAgICBoZWlnaHRBdFNjYWxlKGxvKTsKICB9CiAgZml0KCk7CiAgaWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLnJlYWR5KXsgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbihmaXQpOyB9CiAgaWYgKHdpbmRvdy5SZXNpemVPYnNlcnZlcil7IG5ldyBSZXNpemVPYnNlcnZlcihmaXQpLm9ic2VydmUoYXJ0aWNsZSk7IH0KICBlbHNlIHsgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZpdCk7IH0KfSkoKTsKPC9zY3JpcHQ+
      CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCksIHkgYXF17SBtaXNtbyBjb24gZWwgdGV4dG8gYQogICBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhIChib2R5UG9zaXRpb25CbG9ja3NDb2x1bW4pOiBjb24gZXNlIGxheW91dCBsYQogICBub3RpY2lhIHByaW5jaXBhbCB5YSBvY3VwYSBlbCAxMDAlIGRlbCBhbmNobyB5IHNvbGFwYSBzdSBwcm9waWEgZm90byBkZQogICBib3JkZSBhIGJvcmRlLCBhc+0gcXVlIGVsIGFpcmUvZm9uZG8gYmxhbmNvIHNvYnJhLiAqLwouYmxrLWZqMng3e21heC1pbmxpbmUtc2l6ZTo5NjBweDttYXJnaW46MCBhdXRvO2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplO30KLmJsay1majJ4NyBhe3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmluaGVyaXR9Ci5ibGstZmoyeDcgLnBhZ2V7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjE1cHh9Ci5ibGstZmoyeDcgLnBhZ2UgLmNvbHVtbntvcmRlcjoxfQouYmxrLWZqMng3IC5wYWdlIC5sZWFke29yZGVyOjJ9Ci8qIDg2MHB4IHkgbm8gNDc1cHg6IGNvbiBsYSBjb2x1bW5hIGZpamEgKDIyMHB4ICsgMjBweCBkZSBnYXAgPSAyNDBweCksCiAgIGN1YWxxdWllciBhbmNobyBkZSBpZnJhbWUgcG9yIGRlYmFqbyBkZSB+ODYwcHggZGVqYSBsYSBub3RpY2lhIHByaW5jaXBhbAogICAoMWZyKSBjYWRhIHZleiBjb24gbWVub3MgZXNwYWNpbyBoYXN0YSBjb2xhcHNhciBhIDBweCBkZSBhbmNobyBhbnRlcyBkZQogICBsbGVnYXIgYSB1biBicmVha3BvaW50IHRhbiBiYWpvIGNvbW8gNDc1cHggJiM4MjEyOyBsYSBub3RpY2lhIHByaW5jaXBhbAogICBkaXJlY3RhbWVudGUgZGVzYXBhcmVjZSBlbiBlc2EgZnJhbmphIGludGVybWVkaWEgKG5pICJkZXNrIiBjb21wbGV0byBuaQogICAibfN2aWwiIGVzdHJlY2hvKS4gQ29uIDg2MHB4IHNlIHBhc2EgYSB1bmEgc29sYSBjb2x1bW5hIGFwaWxhZGEgYW50ZXMgZGUKICAgcXVlIGVzbyBwdWVkYSBvY3VycmlyLgogICBFc3RlIGJyZWFrcG9pbnQgc2Ugb21pdGUgcG9yIGNvbXBsZXRvIG1pZW50cmFzIGxhIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06QogICBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KTogcGVuc2FkbyBwYXJhIGN1YW5kbyBlbCBt82R1bG8gbGxldmEgc3UKICAgY29sdW1uYSBhIDk2MHB4LCBkZWphIGRlIHRlbmVyIHNlbnRpZG8gZW4gdW5hIGV4cG9ydGFjafNuIGRlIHNvbG8gbGEKICAgbm90aWNpYSBwcmluY2lwYWwgYSB1biBhbmNobyBmaWpvIGVsZWdpZG8gYSBtYW5vICYjODIxMjsgbG9zIGFuY2hvcyBzaW11bGFkb3MKICAgKDYxMy80NjAvMzA3cHgpIGVzdOFuIFRPRE9TIHBvciBkZWJham8gZGUgODYwcHgsIGFz7SBxdWUgc2luIGVzdGUgZ2F0aW5nCiAgIGVsIEhUTUwgZXhwb3J0YWRvIGNhZXLtYSBzaWVtcHJlIGEgbGEgdGlwb2dyYWbtYSAiTfN2aWwiIChjb24gIWltcG9ydGFudCkKICAgc2VhIGN1YWwgc2VhIGxhIHF1ZSBlbCB1c3VhcmlvIGNvbmZpZ3Vy8yBlbiAiRGVzayIgcGFyYSBlc2Egc2ltdWxhY2nzbiwKICAgZGFuZG8gbGEgZmFsc2Egc2Vuc2FjafNuIGRlIHF1ZSB1bmEgY29uZmlndXJhY2nzbiAicGlzYSIgYSBvdHJhLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstZmoyeDd7YmFja2dyb3VuZDpub25lO3BhZGRpbmc6MDt9CiAgLmJsay1majJ4NyAucGFnZXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogIC5ibGstZmoyeDcgLnBhZ2UgLnN0YWNrLXRpdGxlIHtmb250LXNpemU6MThweDsgbGluZS1oZWlnaHQ6IDEuMmVtO30KICAuYmxrLWZqMng3IC5wYWdlIC5zdGFjay1hdXRob3Ige21hcmdpbi10b3A6IDEwcHg7fQogIC5ibGstZmoyeDcgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2Jsb2NrLXNpemU6NDAwcHggIWltcG9ydGFudDt9CiAgLmJsay1majJ4NyAubGVhZC1tZWRpYXthc3BlY3QtcmF0aW86NC8zICFpbXBvcnRhbnQ7fQogIC5ibGstZmoyeDcgLnBhZ2UgLmxlYWR7b3JkZXI6MX0KICAuYmxrLWZqMng3IC5wYWdlIC5jb2x1bW57b3JkZXI6Mn0KICAvKiBQb3IgZGViYWpvIGRlbCBicmVha3BvaW50LCBlbCBsZWFkLWJvZHkgc2llbXByZSB2dWVsdmUgYSBpciBkZWJham8gZGVsCiAgICAgbGVhZC1tZWRpYSAobm8gaGF5IHNpdGlvIHBhcmEgZWwgbGF5b3V0IGxhZG8gYSBsYWRvKS4gKi8KICAuYmxrLWZqMng3IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0LAogIC5ibGstZmoyeDcgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthc3BlY3QtcmF0aW86YXV0bzt9CiAgLmJsay1majJ4NyAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKICAuYmxrLWZqMng3IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjEgMSBhdXRvO30KICAuYmxrLWZqMng3IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCiAgLmJsay1majJ4NyAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXtmbGV4OjEgMSBhdXRvO2lubGluZS1zaXplOjkwJTttYXJnaW46LTMwcHggYXV0byAwO2Jsb2NrLXNpemU6YXV0bzthbGlnbi1zZWxmOmF1dG87anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7cGFkZGluZzoxMHB4O30KICAuYmxrLWZqMng3IC5wYWdlIC5jb2x1bW4taXRlbXtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KICAuYmxrLWZqMng3IC5wYWdlIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9CiAgLmJsay1majJ4NyAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMjEgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjIxcHggIWltcG9ydGFudDt9CiAgLmJsay1majJ4NyAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMTggLmxlZnQtdGl0bGV7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDt9CiAgLmJsay1majJ4NyAucGFnZSAubGVmdC1wbGF5ewogICAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICAgIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDsKICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4OwogIH0KICAuYmxrLWZqMng3IC5wYWdlIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICAgIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDBhN2ZmO2JvcmRlci10b3A6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206M3B4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjFweDsKICB9Cn0KLyogVGlwb2dyYWbtYSAiTfN2aWwiIChhbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL3RpdHVsYXJlcyBhbmltYWRvcykgY29uIFNVCiAgIFBST1BJTyBicmVha3BvaW50ICg0ODBweCksIHNlcGFyYWRvIGRlbCBkZSBhcnJpYmEgKDg2MHB4LCBzb2xvIHBhcmEgYXBpbGFyCiAgIGxhIHJlamlsbGEgY29sdW1uYStub3RpY2lhKTogdW4gY29udGVuZWRvciByZWFsIGRlIG1lbm9zIGRlIDg2MHB4IGVzIG11eQogICBoYWJpdHVhbCAocC5lai4gdW5hIGNvbHVtbmEgZGUgYXJ07WN1bG8gZGUgfjcwMHB4KSB5IE5PIGVzIHVuIG3zdmlsICYjODIxMjsgY29uCiAgIHVuIPpuaWNvIGJyZWFrcG9pbnQgY29tcGFydGlkbywgbGEgdGlwb2dyYWbtYSAiRGVzayIgcXVlIGNvbmZpZ3VyYSBlbAogICB1c3VhcmlvIG5vIGxsZWdhYmEgYSB2ZXJzZSBudW5jYSBlbiBlc2UgY2FzbywgY2F5ZW5kbyBzaWVtcHJlIGEgbG9zIHZhbG9yZXMKICAgcG9yIGRlZmVjdG8gZGUgIk3zdmlsIiBzaW4gcXVlIG5hZGllIGxvIGh1YmllcmEgcGVkaWRvLiA0ODBweCBz7SBzZQogICBjb3JyZXNwb25kZSBjb24gdW4gYW5jaG8gZGUgbfN2aWwgcmVhbCAobGEgdmlzdGEgIk3zdmlsIiBkZWwgcHJvcGlvIGdlc3RvcgogICBzaW11bGEgMzc1cHgpLiBJZ3VhbCBxdWUgZWwgYnJlYWtwb2ludCBkZSBhcnJpYmEsIHNlIG9taXRlIGR1cmFudGUgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBkZSBsYSBub3RpY2lhIHByaW5jaXBhbCAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstZmoyeDcgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjEgIWltcG9ydGFudDtjb2xvcjojNjI3MUM0ICFpbXBvcnRhbnQ7fQogIC5ibGstZmoyeDcgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiM2MjcxQzQgIWltcG9ydGFudDt9CiAgLmJsay1majJ4NyAubGVhZC10aXRsZXtmb250LXNpemU6MS43NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgLmJsay1majJ4NyAubGVhZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLWZqMng3IC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLWZqMng3IC5sZWFkLWtpY2tlci1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLWZqMng3IC5sZWFkLWtpY2tlci1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay1majJ4NyAubGVhZC1zdWJ0aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLWZqMng3IC5sZWFkLXN1YnRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLWZqMng3IC5sZWFkLWFuaW0taGVhZGxpbmVze2ZvbnQtc2l6ZToxLjg3NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgCiAgLmJsay1majJ4NyAucmVsYXRlZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLWZqMng3IC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KfQouYmxrLWZqMng3IC5sZWFke2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6I2ZmZjtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLWZqMng3IC5sZWFkLW1lZGlhe3Bvc2l0aW9uOnJlbGF0aXZlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW59Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZTogYWx0byBmaWpvIGVuIHDteGVsZXMgZW4gdmV6IGRlIGxhIHByb3BvcmNp824gZGUKICAgYXJyaWJhICh2ZXIgY29tZW50YXJpbyBkZXRhbGxhZG8ganVudG8gYSBzdGF0ZS5sZWFkLmlmcmFtZUhlaWdodCkgJiM4MjEyOyBlbAogICB2YWxvciBkZSBN83ZpbCBzZSBzb2JyZXNjcmliZSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywgaWd1YWwgcXVlIGVsCiAgIHJlc3RvIGRlIG92ZXJyaWRlcyByZXNwb25zaXZlIGRlIGVzdGUgSFRNTCBleHBvcnRhZG8uICovCi5ibGstZmoyeDcgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2FzcGVjdC1yYXRpbzpub25lO2Jsb2NrLXNpemU6NjQwcHg7fQouYmxrLWZqMng3IC5sZWFkLW1lZGlhIGltZywKLmJsay1majJ4NyAubGVhZC1tZWRpYSB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci8qIENhcnJ1c2VsIGRlIGZvdG9zIGRlIGZvbmRvIGNvbiBlZmVjdG8gS2VuIEJ1cm5zICYjODIxMjsgdmVyIGVsIG1pc21vIGJsb3F1ZSwKICAgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuCiAgIExhIGR1cmFjafNuIGRlIGxhcyBhbmltYWNpb25lcyAoNnMpIGNvaW5jaWRlIGNvbgogICBMRUFEX0NBUk9VU0VMX0lOVEVSVkFMLCBxdWUgdGFtYmnpbiBnb2JpZXJuYSBlbCBzY3JpcHQgZGUgcm90YWNp824KICAgKGJ1aWxkTGVhZENhcm91c2VsU2NyaXB0KSBh8WFkaWRvIGFsIGZpbmFsIGRlbCBIVE1MIGV4cG9ydGFkby4gKi8KLmJsay1majJ4NyAubGVhZC1jYXJvdXNlbHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjt9Ci5ibGstZmoyeDcgLmxlYWQtY2Fyb3VzZWwtc2xpZGV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDEuNXMgZWFzZTt9Ci5ibGstZmoyeDcgLmxlYWQtY2Fyb3VzZWwtc2xpZGUuaXMtYWN0aXZle29wYWNpdHk6MTt6LWluZGV4OjE7fQouYmxrLWZqMng3IC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7fQouYmxrLWZqMng3IC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChvZGQpIGltZ3thbmltYXRpb246YmxrLWZqMng3LWtlbmJ1cm5zLWEgNnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7fQouYmxrLWZqMng3IC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChldmVuKSBpbWd7YW5pbWF0aW9uOmJsay1majJ4Ny1rZW5idXJucy1iIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KQGtleWZyYW1lcyBibGstZmoyeDcta2VuYnVybnMtYXsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gfQpAa2V5ZnJhbWVzIGJsay1majJ4Ny1rZW5idXJucy1ieyBmcm9te3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IHRve3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoNCUsMyUpO30gfQovKiBDb24gdW5hIPpuaWNhIGZvdG8gKHNpbiByb3RhY2nzbiBwb3NpYmxlKSBzZSBhcGxpY2EgdW4gem9vbSBpbi9vdXQgZW4KICAgYnVjbGUgaW5maW5pdG8gZW4gdmV6IGRlbCByZWNvcnJpZG8g+m5pY28gKGZvcndhcmRzKSBkZSBhcnJpYmEuICovCi5ibGstZmoyeDcgLmxlYWQtY2Fyb3VzZWwuaXMtc2luZ2xlIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3thbmltYXRpb246YmxrLWZqMng3LWtlbmJ1cm5zLWxvb3AgMTRzIGVhc2UtaW4tb3V0IGluZmluaXRlO30KQGtleWZyYW1lcyBibGstZmoyeDcta2VuYnVybnMtbG9vcHsgMCV7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gNTAle3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoLTQlLC0zJSk7fSAxMDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IH0KLyogQ29tcGFyYWRvciBhbnRlcy9kZXNwdelzIChkZXNsaXphZG9yKSAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLWZqMng3IC5sZWFkLWNvbXBhcmV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7dG91Y2gtYWN0aW9uOm5vbmU7ei1pbmRleDoyO30KLmJsay1majJ4NyAubGVhZC1jb21wYXJlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjtkaXNwbGF5OmJsb2NrO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLWRyYWc6bm9uZTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay1majJ4NyAubGVhZC1jb21wYXJlLWJlZm9yZXtjbGlwLXBhdGg6aW5zZXQoMCA1MCUgMCAwKTt3aWxsLWNoYW5nZTpjbGlwLXBhdGg7fQouYmxrLWZqMng3IC5sZWFkLWNvbXBhcmUtcmFuZ2V7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTttYXJnaW46MDtvcGFjaXR5OjA7Y3Vyc29yOmV3LXJlc2l6ZTt9Ci5ibGstZmoyeDcgLmxlYWQtY29tcGFyZS1oYW5kbGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDo1MCU7aW5saW5lLXNpemU6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6Mjt9Ci5ibGstZmoyeDcgLmxlYWQtY29tcGFyZS1oYW5kbGU6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtpbmxpbmUtc2l6ZToycHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLC4yNSk7fQouYmxrLWZqMng3IC5sZWFkLWNvbXBhcmUtaGFuZGxlOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDotMTVweDtpbmxpbmUtc2l6ZTozMHB4O2Jsb2NrLXNpemU6MzBweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTggNiBMNCAxMCBMOCAxNCcvPjxwYXRoIGQ9J00xMiA2IEwxNiAxMCBMMTIgMTQnLz48L2c+PC9zdmc+IikgY2VudGVyLzE2cHggMTZweCBuby1yZXBlYXQ7Ym94LXNoYWRvdzowIDJweCA2cHggcmdiYSgwLDAsMCwuMjUpO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMjUpO30KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE1pc21vIHotaW5kZXg6MiBxdWUKICAgLmxlYWQtY29tcGFyZSwgcG9yIGVsIG1pc21vIG1vdGl2byAoZ2FuYXJsZSBhIC5sZWFkLWxpbmspLiAqLwouYmxrLWZqMng3IC5sZWFkLWlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTt6LWluZGV4OjI7fQouYmxrLWZqMng3IC5sZWFkLWlmcmFtZSBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay1majJ4NyAubGVhZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLWZqMng3IC5sZWFkLWJvZHl7cGFkZGluZzowcHggMjBweCAyMHB4IDIwcHg7O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7IHRleHQtYWxpZ246Y2VudGVyOyBhbGlnbi1pdGVtczpjZW50ZXI7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjY7IHBvaW50ZXItZXZlbnRzOm5vbmU7IGlubGluZS1zaXplOjk1JTsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OmF1dG87IG1hcmdpbi10b3A6LTMwcHg7IGJhY2tncm91bmQ6IzBFMTExQTsgZmxleDoxIDEgYXV0bzt9Ci8qIEFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vYXV0b3IgY2VudHJhZG9zIGVuIHZlcnRpY2FsIGRlbnRybyBkZWwgYWx0bwogICBzb2JyYW50ZSBiYWpvIGxhIGNhdGVnb3LtYSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLWZqMng3IC5sZWFkLWJvZHktbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2lubGluZS1zaXplOjEwMCU7ZmxleDoxIDEgYXV0bzttaW4taGVpZ2h0OjA7fQovKiBBcGFyaWVuY2lhIG5lZ2F0aXZhIChwb3IgZGVmZWN0bykgdnMuIHBvc2l0aXZhIGRlIGxhIGNhamEgZGUgdGl0dWxhciAmIzgyMTI7IHZlcgogICBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLWZqMng3IC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmxlYWQtYm9keXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO30KLmJsay1majJ4NyAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLXRpdGxlLAouYmxrLWZqMng3IC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmF1dGhvci1sYWJlbHtjb2xvcjojMEUxMTFBO30KLyogUG9zaWNp824gZGVsIGxlYWQtYm9keSByZXNwZWN0byBhbCBsZWFkLW1lZGlhICgnbGVmdCcvJ3JpZ2h0JykgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay1majJ4NyAubGVhZC5sZWFkLWJvZHktbGVmdCwKLmJsay1majJ4NyAubGVhZC5sZWFkLWJvZHktcmlnaHR7ZmxleC1kaXJlY3Rpb246cm93O2FzcGVjdC1yYXRpbzoyLjk2Mjk2Mjk2Mjk2Mjk2Mzt9Ci5ibGstZmoyeDcgLmxlYWQubGVhZC1ib2R5LWxlZnR7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7fQouYmxrLWZqMng3IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLW1lZGlhLAouYmxrLWZqMng3IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjAgMCA2MCU7fQouYmxrLWZqMng3IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCi5ibGstZmoyeDcgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7ZmxleDowIDAgY2FsYyg0MCUgKyAzMHB4KTtpbmxpbmUtc2l6ZTphdXRvO21hcmdpbi10b3A6MDtibG9jay1zaXplOmNhbGMoMTAwJSAtIDQycHgpO2FsaWduLXNlbGY6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O30KLmJsay1majJ4NyAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5e21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0Oi0zMHB4O30KLmJsay1majJ4NyAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDotMzBweDttYXJnaW4tcmlnaHQ6MDt9Ci8qIFBvc2ljafNuICdib3R0b20tZnVsbCcgZGVsIGxlYWQtYm9keSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBpbmxpbmUtc2l6ZQogICBlbiB2ZXogZGUgd2lkdGggcG9yIGVsIG1pc21vIG1vdGl2byBxdWUgZWwgcmVzdG8gZGUgZXN0ZSBibG9xdWUgKGV2aXRhcgogICBsYSBwYWxhYnJhICJ3aWR0aDoiIHF1ZSBlbCBDTVMgZGVsIHVzdWFyaW8gZWxpbWluYSBhbCBwZWdhciBIVE1ML0NTUwogICBkaXJlY3RhbWVudGUpLiAqLwouYmxrLWZqMng3IC5sZWFkLmxlYWQtYm9keS1ib3R0b20tZnVsbCAubGVhZC1ib2R5ewogIGlubGluZS1zaXplOjEwMCU7CiAgbWFyZ2luOjA7CiAgcGFkZGluZy10b3A6MzBweDsKICBwYWRkaW5nLWJvdHRvbTozMHB4OwogIGJvcmRlcjpub25lOwp9Ci8qIEV0aXF1ZXRhIGRlIGV4Y2x1c2l2YSAobyB0ZXh0byBwZXJzb25hbGl6YWRvKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLWZqMng3IC5sZWFkLWV4Y2x1c2l2ZS10YWd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4O3otaW5kZXg6MztkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2xldHRlci1zcGFjaW5nOjAuNXB4O3BhZGRpbmc6MnB4IDhweDtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOi44ZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3BvaW50ZXItZXZlbnRzOm5vbmU7fQovKiBTZWxlY3RvciBjb24gMyBjbGFzZXMgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoIi5sZWFkLW1lZGlhIGltZyIgdGFtYmnpbgogICBtYXRjaGVhIGVzdGUgPGltZz4geSBsZSBnYW5hYmEgZW4gZXNwZWNpZmljaWRhZCkuICovCi5ibGstZmoyeDcgLmxlYWQtZXhjbHVzaXZlLXRhZyAubGVhZC1leGNsdXNpdmUtdGFnLWljb257cG9zaXRpb246c3RhdGljO2luc2V0OmF1dG87aW5saW5lLXNpemU6MTRweDtibG9jay1zaXplOjE0cHg7b2JqZWN0LWZpdDpjb250YWluO2ZsZXg6MCAwIGF1dG87ZGlzcGxheTpibG9jazt9Ci5ibGstZmoyeDcgLmxlYWQtY2F0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7cGFkZGluZzoycHggOHB4O3RyYW5zZm9ybTpza2V3WSgtNmRlZyk7bWFyZ2luLXRvcDotMTVweDttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLWZqMng3IC5sZWFkLWtpY2tlciwgLmJsay1majJ4NyAubGVhZC1zdWJ0aXRsZXsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7dGV4dC10cmFuc2Zvcm06bm9uZTttYXJnaW46MDsKfQouYmxrLWZqMng3IC5sZWFkLWtpY2tlcntmb250LXdlaWdodDo3MDA7fQouYmxrLWZqMng3IC5sZWFkLXN1YnRpdGxle2ZvbnQtd2VpZ2h0OjYwMDt9Ci8qIFRhbWHxby9pbnRlcmxpbmVhZG8vY29sb3IgZGUgYW50ZXTtdHVsbyB5IHN1YnTtdHVsbyBlbiBEZXNrICh2YWxvcmVzIHBvcgogICBkZWZlY3RvIGRlbCBibG9xdWU7IGVsIG92ZXJyaWRlIGRlIE3zdmlsIHZhIGVuIGVsIEBjb250YWluZXIgZGUgbeFzIGFiYWpvLAogICB5YSBxdWUgZWwgSFRNTCBleHBvcnRhZG8gZXMgcmVzcG9uc2l2ZSB5IG5vIGRlcGVuZGUgZGUgcXXpIHZpc3RhIHR1dmllcmFzCiAgIHNlbGVjY2lvbmFkYSBlbiBlbCBnZXN0b3IgYWwgZXhwb3J0YXIvY29waWFyKS4gKi8KLmJsay1majJ4NyAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6IzYyNzFDNDt9Ci5ibGstZmoyeDcgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6IzYyNzFDNDt9Ci8qIHRleHQtd3JhcDpiYWxhbmNlICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwKICAgZGVsIGdlc3RvciAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgZXNhIHJlZ2xhKTogcmVwYXJ0ZSBsYXMKICAgbO1uZWFzIGRlbCB0aXR1bGFyIGRlIGZvcm1hIG3hcyB1bmlmb3JtZSBkZW50cm8gZGUgY2FkYSBkaXNwb3NpdGl2bywgc2luCiAgIHByZXRlbmRlciBpZ3VhbGFyIGVsIG76bWVybyBkZSBs7W5lYXMgZW50cmUgcGxhdGFmb3JtYXMgZGlzdGludGFzLiAqLwouYmxrLWZqMng3IC5sZWFkLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6MTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO3RleHQtd3JhcDpiYWxhbmNlO30KLyogVGl0dWxhciBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YSAodmVyIGJ1aWxkU2NvcGVkSFRNTCk6CiAgIHNlIGdlbmVyYW4gbG9zIGRvcyB0ZXh0b3MgKERlc2svTfN2aWwpIHkgYXF17SBzZSBtdWVzdHJhIHNvbG8gdW5vIHNlZ/puIGVsCiAgIGFuY2hvIHJlYWwgZGVsIGNvbnRlbmVkb3IgJiM4MjEyOyBlbCBtaXNtbyBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgeWEgdXNhIGVsCiAgIHJlc3RvIGRlbCBIVE1MIGV4cG9ydGFkbyBwYXJhIGFkYXB0YXJzZSBzaW4gZGVwZW5kZXIgZGUgSlMuICovCi5ibGstZmoyeDcgLmxlYWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIEFudGV07XR1bG8vc3VidO10dWxvIGNvbiBzYWx0b3MgZGUgbO1uZWEgaW5kZXBlbmRpZW50ZXMgcG9yIHZpc3RhOiBtaXNtbwogICBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciAodmVyIGFycmliYSkuICovCi5ibGstZmoyeDcgLmxlYWQta2lja2VyLW1vYmlsZSwgLmJsay1majJ4NyAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLyogVGl0dWxhciBkZSBub3RpY2lhIHJlbGFjaW9uYWRhIChjb2x1bW5hKSBjb24gdGV4dG8gcHJvcGlvIGVuIE3zdmlsICh2ZXIKICAgaXRlbS50aXRsZU1vYmlsZSBlbiBidWlsZENvbHVtbkl0ZW1UaXRsZUhUTUwpOiBtaXNtbyBtZWNhbmlzbW8gZGUKICAgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciBwcmluY2lwYWwgZGUgYXJyaWJhLiAqLwouYmxrLWZqMng3IC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQouYmxrLWZqMng3IC5hdXRob3ItbGFiZWx7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOnJpZ2h0O2Rpc3BsYXk6YmxvY2t9Ci5ibGstZmoyeDcgLmNvbHVtbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjt9Ci5ibGstZmoyeDcgLmNvbHVtbi1pdGVte2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO3BhZGRpbmc6MTBweDtiYWNrZ3JvdW5kOiNmZmY7YmxvY2stc2l6ZTpzdHJldGNoO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt9Ci5ibGstZmoyeDcgLnRodW1ie3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjQvMztiYWNrZ3JvdW5kOiNlZWU7b3ZlcmZsb3c6aGlkZGVufQouYmxrLWZqMng3IC50aHVtYiBpbWcsCi5ibGstZmoyeDcgLnRodW1iIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0KLmJsay1majJ4NyAudGh1bWIgLnBsYXktc3F1YXJlLAouYmxrLWZqMng3IC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsgYm90dG9tOjVweDsgbGVmdDo1cHg7CiAgaW5saW5lLXNpemU6MjVweDtibG9jay1zaXplOjI1cHg7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7CiAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTgpOwogIGN1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLCB0cmFuc2Zvcm0gLjEyczsKICB6LWluZGV4OjI7IGFuaW1hdGlvbjpibGstZmoyeDctYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLmJsay1majJ4NyAudGh1bWIgLnBsYXktc3F1YXJlOjpiZWZvcmUsCi5ibGstZmoyeDcgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOjpiZWZvcmV7CiAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjZweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIG1hcmdpbi1sZWZ0OjJweDsKfQouYmxrLWZqMng3IC50aHVtYiAucGxheS1zcXVhcmU6aG92ZXIsCi5ibGstZmoyeDcgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOmhvdmVyeyBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC44NSk7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOyB9Ci5ibGstZmoyeDcgLnN0YWNrLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE3cHg7bGluZS1oZWlnaHQ6MS4xNWVtO21hcmdpbjowO2NvbG9yOiMyYzNlNTM7fQouYmxrLWZqMng3IC5zdGFjay1hdXRob3J7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1ib29rIixzYW5zLXNlcmlmO2NvbG9yOiM4Mjg1OTU7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOHJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjExcHg7bGV0dGVyLXNwYWNpbmc6MDt0ZXh0LWFsaWduOnJpZ2h0O30KLyogU2luIGVzdGEgcmVnbGEgZWwgYXV0b3IgcXVlZGEgcGVnYWRvIGp1c3RvIGRlYmFqbyBkZWwgdGl0dWxhciBlbiB2ZXogZGUKICAgYWJham8gZGUgbGEgdGFyamV0YTogLm1vZC1zdGFjayBuZWNlc2l0YSBzZXIgZmxleC1jb2x1bW4gY29uCiAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIHBhcmEgcXVlIGVsIGh1ZWNvIHNvYnJhbnRlIChjdWFuZG8gbGEKICAgdGFyamV0YSBjcmVjZSBt4XMgcXVlIHN1IGNvbnRlbmlkbywgdmVyIC5jb2x1bW4taXRlbTpub3QoLmxheW91dC1tZWRpYS1ibG9jaykKICAgbeFzIGFiYWpvKSBlbXB1amUgZWwgYXV0b3IgaGFjaWEgZWwgYm9yZGUgaW5mZXJpb3IuICovCi5ibGstZmoyeDcgLm1vZC1zdGFja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZsZXg6MSAxIGF1dG87fQovKiBFc3RpbG8gImZvdG8gcGVxdWXxYSArIHRpdHVsYXIiOiBmb3RvIDQ6MyBhIGxhIGl6cXVpZXJkYSwgdGV4dG8gYSBsYSBkZXJlY2hhLiAqLwouYmxrLWZqMng3IC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tbGVmdHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjExMHB4IDFmcjtnYXA6MTBweDt9Ci8qIEVzdGlsbyAic29sbyB0ZXh0byIgKHBvciBkZWZlY3RvKTogZWwgYXV0b3Igc2UgcG9zaWNpb25hIGVuIGFic29sdXRvLAogICBhbmNsYWRvIGEgbGEgZXNxdWluYSBpbmZlcmlvciBkZXJlY2hhIGRlIGxhIHRhcmpldGEgKGlndWFsIHF1ZSBlbCBwbGF5IGRlCiAgIGxhcyBtaW5pYXR1cmFzKSwgZW4gdmV6IGRlIGRlcGVuZGVyIGRlIHF1ZSBlbCBibG9xdWUgZGUgdGV4dG8gdGVuZ2EgaHVlY28KICAgZGUgc29icmEgcGFyYSBlbXB1amFybG8gYWJham8gY29uIGZsZXhib3ggJiM4MjEyOyBjb24gdO10dWxvcyBkZSAyLTMgbO1uZWFzIGVzZQogICBodWVjbyBubyBleGlzdGUgeSBlbCBhdXRvciBudW5jYSBsbGVnYWJhIGEgYmFqYXIuIHBhZGRpbmctYm90dG9tIGVuCiAgIGxlZnQtYm9keSByZXNlcnZhIGVsIGVzcGFjaW8gcGFyYSBxdWUgZWwgdO10dWxvIG5vIHNlIHNvbGFwZSBjb24g6WwuICovCi5ibGstZmoyeDcgLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5sZWZ0LWJvZHl7cGFkZGluZy1ib3R0b206MzNweDt9Ci5ibGstZmoyeDcgLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5zdGFjay1hdXRob3J7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDtib3R0b206MTBweDttYXJnaW4tdG9wOjA7fQouYmxrLWZqMng3IC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9Ci5ibGstZmoyeDcgLmxlZnQtcGxheXsKICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7CiAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTogNHB4Owp9Ci5ibGstZmoyeDcgLmxlZnQtcGxheTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo0cHggc29saWQgIzAwYTdmZjtib3JkZXItdG9wOjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDoxcHg7Cn0KLmJsay1majJ4NyAucmVsYXRlZC1saXZlLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGRjUwNTA7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGRjUwNTA7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGstZmoyeDcgLnJlbGF0ZWQtZWRpdG9yaWFsLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGQUIxMjE7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGQUIxMjE7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGstZmoyeDcgLnBsYXktYnV0dG9uewogIC8qIEFuY2hvL2FsdG8gZmlqb3MgZW4gdmV6IGRlIGFzcGVjdC1yYXRpbzoxLzEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhIChlbAogICAgIGPhbGN1bG8gZGUgInNocmluay10by1maXQiIHBhcmEgdW4gPGJ1dHRvbj4gZW4gYWJzb2x1dG8gc2luIHRhbWHxbwogICAgIGV4cGztY2l0byBubyBlcyBmaWFibGUgZW50cmUgbW90b3JlczsgZW4gV2ViS2l0L2lPUyBkYWJhIHVuIHJlY3Thbmd1bG8KICAgICB2ZXJ0aWNhbCBlc3RyZWNo7XNpbW8gZW4gdmV6IGRlIHVuIGN1YWRyYWRvKS4gKi8KICBhcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7CiAgcG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4OwogIGlubGluZS1zaXplOjM0cHg7YmxvY2stc2l6ZTozNHB4OwogIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjEwcHggMTBweCAxMHB4IDEycHg7CiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43KTsKICBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjQyKTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6M3B4OwogIGN1cnNvcjpwb2ludGVyO3otaW5kZXg6MjthbmltYXRpb246YmxrLWZqMng3LWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGstZmoyeDcgLnBsYXktYnV0dG9uLnBvcy10b3AtcmlnaHR7dG9wOjEwcHg7cmlnaHQ6MTBweDtsZWZ0OmF1dG87Ym90dG9tOmF1dG87fQouYmxrLWZqMng3IC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLWxlZnR7Ym90dG9tOjEwcHg7bGVmdDoxMHB4O3RvcDphdXRvO3JpZ2h0OmF1dG87fQouYmxrLWZqMng3IC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0e2JvdHRvbToxMHB4O3JpZ2h0OjEwcHg7dG9wOmF1dG87bGVmdDphdXRvO30KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstZmoyeDcgLmxlYWQubGVhZC1ib2R5LWxlZnQgLnBsYXktYnV0dG9uLnBvcy10b3AtbGVmdCwKLmJsay1majJ4NyAubGVhZC5sZWFkLWJvZHktbGVmdCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1sZWZ0eyBsZWZ0OjQwcHg7IH0KLmJsay1majJ4NyAubGVhZC5sZWFkLWJvZHktcmlnaHQgLnBsYXktYnV0dG9uLnBvcy10b3AtcmlnaHQsCi5ibGstZmoyeDcgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci8qIFBvc2ljafNuICdib3R0b20nIHBvciBkZWZlY3RvOiBlbCBsZWFkLWJvZHkgc29sYXBhIDMwcHggc29icmUgZWwgYm9yZGUKICAgSU5GRVJJT1IgZGUgbGEgZm90by927WRlbyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBObyBhcGxpY2EgY29uICdib3R0b20tZnVsbCcKICAgbmkgY29uICdsZWZ0Jy8ncmlnaHQnIChhanVzdGUgaG9yaXpvbnRhbCBwcm9waW8sIHZlciBhcnJpYmEpLiAqLwouYmxrLWZqMng3IC5sZWFkOm5vdCgubGVhZC1ib2R5LWxlZnQpOm5vdCgubGVhZC1ib2R5LXJpZ2h0KTpub3QoLmxlYWQtYm9keS1ib3R0b20tZnVsbCkgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tbGVmdCwKLmJsay1majJ4NyAubGVhZDpub3QoLmxlYWQtYm9keS1sZWZ0KTpub3QoLmxlYWQtYm9keS1yaWdodCk6bm90KC5sZWFkLWJvZHktYm90dG9tLWZ1bGwpIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NDBweDsgfQouYmxrLWZqMng3IC5wbGF5LWJ1dHRvbiAucGxheS1pY29uewogIGlubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjtib3JkZXItdG9wOjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjZweCBzb2xpZCB0cmFuc3BhcmVudDsKfQouYmxrLWZqMng3IC5wbGF5LWJ1dHRvbiAucGxheS10ZXh0e2Rpc3BsYXk6bm9uZTt9CgovKiBUaXR1bGFyZXMgYW5pbWFkb3MgKGNhcGEgYWx0ZXJuYXRpdmEgc29icmUgbGVhZC1tZWRpYSkgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYQogICBoZXJyYW1pZW50YS4gQ2FkYSB0aXR1bGFyIHRpZW5lIHN1IHByb3BpYSBwb3NpY2nzbiAoY2xhc2UgcG9zLSosIHZlcgogICBidWlsZFNjb3BlZEhUTUwpIHkgc2UgcmV2ZWxhIGztbmVhIHBvciBs7W5lYSAodW5hIHZleiBtZWRpZGFzIHN1cyBs7W5lYXMKICAgcmVhbGVzIHBvciBlbCBzY3JpcHQgc3RhbmRhbG9uZSwgdmVyIGJ1aWxkQW5pbUhlYWRsaW5lc1NjcmlwdCkgY29uIHVuYQogICBjYWphIGRlIGZvbmRvIGRldHLhcyBkZSBjYWRhIGztbmVhIHkgdW4gZmFkZSBkZSBvcGFjaWRhZCBlbnRyZSB0aXR1bGFyZXMuICovCi5ibGstZmoyeDcgLmxlYWQtYW5pbS1oZWFkbGluZXN7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgaW5zZXQ6MDsKICB6LWluZGV4OjQ7CiAgcG9pbnRlci1ldmVudHM6bm9uZTsKfQouYmxrLWZqMng3IC5sZWFkLWFuaW0taGVhZGxpbmV7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgbGVmdDoxNXB4OwogIG9wYWNpdHk6MDsKfQouYmxrLWZqMng3IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1sZWZ0eyBib3R0b206NjBweDsgfQouYmxrLWZqMng3IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1sZWZ0eyB0b3A6NjBweDsgfQouYmxrLWZqMng3IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1sZWZ0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLWZqMng3IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay1majJ4NyAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQsCi5ibGstZmoyeDcgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBsZWZ0OmF1dG87IHJpZ2h0OjE1cHg7IH0KLmJsay1majJ4NyAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHR7IHRvcDo2MHB4OyB9Ci5ibGstZmoyeDcgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLWZqMng3IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgYm90dG9tOjYwcHg7IH0KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstZmoyeDcgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnQsCi5ibGstZmoyeDcgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnQsCi5ibGstZmoyeDcgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGxlZnQ6NDBweDsgfQouYmxrLWZqMng3IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQsCi5ibGstZmoyeDcgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay1majJ4NyAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci5ibGstZmoyeDcgLmxlYWQtYW5pbS1oZWFkbGluZS5pcy1hY3RpdmV7IG9wYWNpdHk6MTsgfQouYmxrLWZqMng3IC5sZWFkLWFuaW0tbGluZXsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBkaXNwbGF5OnRhYmxlOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjsKICBmb250LXdlaWdodDo5MDA7CiAgY29sb3I6I2ZmZjsKICBwYWRkaW5nOjJweCA4cHg7CiAgY2xpcC1wYXRoOmluc2V0KDAgMTAwJSAwIDApOwogIG9wYWNpdHk6MTsKICB0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBlYXNlOwp9Ci5ibGstZmoyeDcgLmxlYWQtYW5pbS1saW5lLmlzLWhpZGluZ3sgb3BhY2l0eTowOyB9Ci8qIFNvbGFwZSBkZSAxcHggZW50ZXJhIGVudHJlIGztbmVhcyBwYXJhIGNlcnJhciBlbCBoaWxvIGRlIHN1Yi1w7XhlbCBxdWUKICAgcHVlZGUgcXVlZGFyIGVudHJlIHN1cyBjYWphcyBkZSBmb25kbyAocmVkb25kZW8gZGUgYWx0dXJhcyBmcmFjY2lvbmFyaWFzKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBjb21lbnRhcmlvLCBkZXRhbGxhZG8sIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstZmoyeDcgLmxlYWQtYW5pbS1saW5lICsgLmxlYWQtYW5pbS1saW5lewogIG1hcmdpbi10b3A6LTFweDsKfQouYmxrLWZqMng3IC5sZWFkLWFuaW0tbGluZTpmaXJzdC1jaGlsZHsgcGFkZGluZy10b3A6NnB4OyB9Ci5ibGstZmoyeDcgLmxlYWQtYW5pbS1saW5lOmxhc3QtY2hpbGR7IHBhZGRpbmctYm90dG9tOjZweDsgfQouYmxrLWZqMng3IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGstZmoyeDcgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay1majJ4NyAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHQgLmxlYWQtYW5pbS1saW5leyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6MDsgfQouYmxrLWZqMng3IC5sZWFkLWFuaW0taGVhZGxpbmVzLmlzLXBvc2l0aXZlIC5sZWFkLWFuaW0tbGluZXsgY29sb3I6IzBFMTExQTsgfQouYmxrLWZqMng3IC5sZWFkLWFuaW0tbGluZS1iZ3sgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0OjA7IHotaW5kZXg6LTE7IH0KLmJsay1majJ4NyAubGVhZC1hbmltLWxpbmUtdGV4dHsgcG9zaXRpb246cmVsYXRpdmU7IH0KQGtleWZyYW1lcyBibGstZmoyeDctYW5pbS1saW5lLXJldmVhbHsgdG97IGNsaXAtcGF0aDppbnNldCgwIDAgMCAwKTsgfSB9CgovKiBBbmNob3Igb3ZlcmxheSBmb3IgZnVsbCBjbGlja2FibGUgbGVhZCAqLwouYmxrLWZqMng3IC5sZWFkLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjF9CgovKiBIb3ZlciBvcGFjaXR5IGFuaW1hdGlvbiAqLwouYmxrLWZqMng3IC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAouYmxrLWZqMng3IC5jb2x1bW4taXRlbTpob3ZlcntvcGFjaXR5Oi44fQovKiBGb3RvIHByaW5jaXBhbCAoZmFsbGJhY2svc2luZ2xlKSBvIGNhcnJ1c2VsIGRlIGZvdG9zOiBvcGFjaWRhZCAwLjkgYWwKICAgcGFzYXIgZWwgcmF0824gcG9yIGxhIHRhcmpldGEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4KICAgbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGEgdu1kZW8gbmkgYWwKICAgY29tcGFyYWRvciBhbnRlcy9kZXNwdelzLiAqLwouYmxrLWZqMng3IC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLWZqMng3IC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay1majJ4NyAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKLmJsay1majJ4NyAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6Ljk7fQovKiBFbiBlbCBhbmNobyBt83ZpbCAobWlzbW8gQGNvbnRhaW5lciBxdWUgZWwgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvKSBubwogICBhcGxpY2EgZXN0YSBhbmltYWNp824gZGUgb3BhY2lkYWQgc29icmUgbGEgbm90aWNpYSBwcmluY2lwYWw6IHZhIERFU1BVyVMKICAgZGUgbGEgcmVnbGEgZ2VuZXJhbCBkZSBhcnJpYmEgKG1pc21hIGVzcGVjaWZpY2lkYWQpIHBhcmEgcG9kZXIgZ2FuYXJsZS4KICAgT21pdGlkbywgaWd1YWwgcXVlIGVsIGJsb3F1ZSBkZSB0aXBvZ3JhZu1hIGRlIGFycmliYSwgbWllbnRyYXMgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBlc3TpIGFjdGl2YSAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstZmoyeDcgLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCiAgLmJsay1majJ4NyAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKICAuYmxrLWZqMng3IC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eToxO30KfQoKLyogQW5pbWFjafNuIGNvbXBhcnRpZGEgcGxheSBwcmluY2lwYWwgKyBjdWFkcmFkb3MgcGxheSBhcGlsYWRhcyAqLwpAa2V5ZnJhbWVzIGJsay1majJ4Ny1ibGlua3sKICAwJSwxMDAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpfQogIDUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LDAuOSl9Cn0KLyogQ2FiZWNlcmEgKi8KLmJsay1majJ4NyAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxMHB4IDAgMzJweH0KLmJsay1majJ4NyAuZm5kLWxpbmVhe2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTo1cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW4tdG9wOi0xOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICMzMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzMzM30KLmJsay1majJ4NyAuc2VjdGlvbi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LTFweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6NHB4IDEzcHg7Ym9yZGVyOjFweCBzb2xpZCAjMEUxMTFBO3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKTtmb250LXNpemU6NDJweDtjb2xvcjojMEUxMTFBO30KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsuYmxrLWZqMng3IC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MCAxMHB4fX0KLyogQ2FiZWNlcmEgJiM4MjEyOyBEaXNl8W8gMiAodGl0dWxhciArIGNhcnJ1c2VsIGRlIGxvZ290aXBvcykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1majJ4NyAuaGVhZGVyMntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoyMHB4O3BhZGRpbmctYm90dG9tOjVweDttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzBFMTExQTt9Ci8qIGFsaWduLXNlbGY6ZmxleC1lbmQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSAxNXB4IGRlIGxhIGztbmVhIHNlcGFyYWRvcmEKICAgZW4gRGVzayAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MKICAgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLWZqMng3IC5oZWFkZXIyLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtmbGV4OjEgMSA1MCU7bWluLWlubGluZS1zaXplOjA7YWxpZ24tc2VsZjpmbGV4LWVuZDt9Ci5ibGstZmoyeDcgLmhlYWRlcjItdGFnc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleDowIDAgYXV0bzt9Ci8qIE1pc21vIHRhbWHxby90aXBvZ3JhZu1hIHF1ZSAubGVhZC1leGNsdXNpdmUtdGFnIChsYSBkZSBsYSBub3RpY2lhCiAgIHByaW5jaXBhbCkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZQogICBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1majJ4NyAuaGVhZGVyMi1jYXQtdGFnLAouYmxrLWZqMng3IC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWd7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6LjhlbTtsZXR0ZXItc3BhY2luZzouNXB4O3BhZGRpbmc6MnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7fQouYmxrLWZqMng3IC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay1majJ4NyAuaGVhZGVyMi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZTozNnB4O2xpbmUtaGVpZ2h0OjEuMDU7Y29sb3I6IzBFMTExQTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWluLWlubGluZS1zaXplOjA7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO30KLyogU2VwYXJhY2nzbiBkZSAxMHB4IGVudHJlIGVsIHRleHRvIGRlIHBhdHJvY2luaW8geSBlbCBsb2dvIGVuIERlc2sgJiM4MjEyOyBlbgogICBN83ZpbCBzaWd1ZSBzaW4gc2VwYXJhY2nzbiAoZ2FwOjAsIHZlciBAY29udGFpbmVyIG3hcyBhYmFqbykuICovCi5ibGstZmoyeDcgLmhlYWRlcjItbG9nb3Mtd3JhcHtmbGV4OjAgMCBhdXRvO21heC1pbmxpbmUtc2l6ZTo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7fQovKiBFdGlxdWV0YSBvcGNpb25hbCBqdW50byBhbCBjYXJydXNlbCBkZSBsb2dvcyAocC5lai4gIlBhdHJvY2luYWRvIHBvcjoiKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLWZqMng3IC5oZWFkZXIyLWxvZ29zLWxhYmVse2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjY3O3doaXRlLXNwYWNlOm5vd3JhcDt9Ci5ibGstZmoyeDcgLmhlYWRlcjItbG9nb3N7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTYwcHg7YmxvY2stc2l6ZTo1MHB4O2ZsZXgtc2hyaW5rOjA7fQouYmxrLWZqMng3IC5oZWFkZXIyLWxvZ29zIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO21hcmdpbjphdXRvO21heC1pbmxpbmUtc2l6ZToxMDAlO21heC1ibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb250YWluO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIGVhc2UtaW4tb3V0O30KLmJsay1majJ4NyAuaGVhZGVyMi1sb2dvcyBpbWcuaXMtYWN0aXZle29wYWNpdHk6MTt9Ci8qIElndWFsIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsOiBwb3IgZGViYWpvIGRlIGVzdGUgYW5jaG8gc2UKICAgaW50ZW50YSBwcmltZXJvIDEgU09MQSBGSUxBIChldGlxdWV0YXMrdGl0dWxhciBqdW50byBhbCBsb2dvLCBpZ3VhbCBxdWUKICAgZW4gRGVzaywgYSB0YW1h8W8gcmVkdWNpZG8pLiBFbCBibG9xdWUgZGUgbG9nb3MgbWFudGllbmUgU0lFTVBSRSBzdQogICBkaXNwb3NpY2nzbiBlbiBjb2x1bW5hIChldGlxdWV0YSBkZSBwYXRyb2NpbmlvIGVuY2ltYSBkZWwgbG9nbywKICAgYWxpbmVhZG9zIGEgbGEgZGVyZWNoYSwgc2luIHNlcGFyYWNp824pIHRhbnRvIGVuIGVzdGEgZmlsYSD6bmljYSBjb21vIGVuCiAgIGVsIHJlc2d1YXJkbyBkZSBhYmFqby4gU2kgZWwgdGl0dWxhciwgc3VtYWRvIGFsIGFuY2hvIGRlIGxhcyBldGlxdWV0YXMKICAgYWN0aXZhcyAoY2F0ZWdvcu1hIHkvbyBleGNsdXNpdmEsIHNpIGxhcyBoYXkpLCBzdXBlcmEgZWwgNTUlIGRlbCBhbmNobwogICB0b3RhbCBkZSBsYSBjYWJlY2VyYSAoY2FkYSB1bm8gbWVkaWRvIGEgdW5hIHNvbGEgbO1uZWEpLCBlbCBzY3JpcHQKICAgc3RhbmRhbG9uZSBh8WFkaWRvIGFsIGZpbmFsIGRlIGVzdGUgSFRNTCAodmVyCiAgIGJ1aWxkSGVhZGVyMlN0YWNraW5nU2NyaXB0KCkpIGxvIGRldGVjdGEgbWlkaWVuZG8gc3UgYW5jaG8gbmF0dXJhbAogICB5IGHxYWRlIGxhIGNsYXNlICJoZWFkZXIyLXN0YWNrZWQiOiBlbCBibG9xdWUgZGUKICAgbG9nb3Mgc3ViZSBlbnRvbmNlcyBhIHN1IHByb3BpYSBmaWxhIChhbGluZWFkbyBhIGxhIGRlcmVjaGEpIHkKICAgdGl0dWxhcitldGlxdWV0YXMgYmFqYW4gYSBsYSBmaWxhIGRlIGFiYWpvLCBhIGFuY2hvIGNvbXBsZXRvICYjODIxMjsgbWlzbW8KICAgbGF5b3V0IGRlIDIgZmlsYXMgcXVlIGhhYu1hIGFudGVzIHNpZW1wcmUgcG9yIGRlYmFqbyBkZSBlc3RlIGJyZWFrcG9pbnQsCiAgIGFob3JhIHNvbG8gY29tbyByZXNndWFyZG8uIERlbnRybyBkZSBlc2UgcmVzZ3VhcmRvLCBjb24gZXRpcXVldGEocykgZWwKICAgdGl0dWxhciBwYXNhIGFkZW3hcyBhIHN1IFBST1BJQSBmaWxhIGEgYW5jaG8gY29tcGxldG8sIGRlYmFqbyBkZSBsYSBmaWxhIGRlIGV0aXF1ZXRhcyAodmVyCiAgICIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnQiIG3hcyBhYmFqbykuIEVsIGxvZ28gc2UgcmVkdWNlIHVuIDIwJQogICAoMTYweDUwICYjODU5NDsgMTI4eDQwKS4KICAgYWxpZ24tc2VsZjpmbGV4LWVuZCBlbiBoZWFkZXIyLWxlZnQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSBsb3MgMTBweAogICBkZWwgcGFkZGluZy1ib3R0b20gcmVzcGVjdG8gYSBsYSBs7W5lYSBzZXBhcmFkb3JhICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlCiAgIGVuIERlc2sgKHZlciBoZWFkZXIyLWxlZnQgbeFzIGFycmliYSk6IHNpbiBlc3RvLCBhbCBzZXIgZWwgYmxvcXVlIGRlCiAgIGxvZ29zIG3hcyBhbHRvIHF1ZSBlbCB0aXR1bGFyLCBlbCBjZW50cmFkbyB2ZXJ0aWNhbCBkZWwgcm93IGRlamFiYSB1bgogICBodWVjbyBtYXlvciBlbnRyZSBlbCB0aXR1bGFyIHkgbGEgbO1uZWEuIEVsIGJsb3F1ZSBkZSBsb2dvcyBzaWd1ZQogICBjZW50cmFkbyAoc2luIGVzZSBvdmVycmlkZSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay1majJ4NyAuaGVhZGVyMntmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4O30KICAuYmxrLWZqMng3IC5oZWFkZXIyLWxlZnR7b3JkZXI6MTthbGlnbi1zZWxmOmZsZXgtZW5kO30KICAuYmxrLWZqMng3IC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MjthbGlnbi1zZWxmOmNlbnRlcjttYXgtaW5saW5lLXNpemU6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC5ibGstZmoyeDcgLmhlYWRlcjItbG9nb3N7aW5saW5lLXNpemU6MTI4cHg7YmxvY2stc2l6ZTo0MHB4O30KICAuYmxrLWZqMng3IC5oZWFkZXIyLXRpdGxle2ZvbnQtc2l6ZToyN3B4O30KICAuYmxrLWZqMng3IC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDt9CiAgLmJsay1majJ4NyAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdHtvcmRlcjoyO2FsaWduLXNlbGY6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NXB4O30KICAuYmxrLWZqMng3IC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjE7bWF4LWlubGluZS1zaXplOjEwMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC8qIFJlc2d1YXJkbyBpbnRlcm1lZGlvICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YTogc29sbyBlbCB0aXR1bGFyIGJhamEgYSBzdQogICAgIHByb3BpYSBmaWxhIGEgYW5jaG8gY29tcGxldG8gY3VhbmRvIGxhcyBldGlxdWV0YXMgU80gY2FiZW4ganVudG8gYWwKICAgICBsb2dvIHBlcm8gZWwgdGl0dWxhciBuby4gaGVhZGVyMi1sZWZ0IHBhc2EgZGUgZmlsYSBhIGNvbHVtbmEKICAgICAoZXRpcXVldGFzIGFycmliYSwgdGl0dWxhciBkZWJham8pIHkgcmVjdXBlcmEgYWxpZ24tc2VsZjphdXRvIHBhcmEKICAgICBjZW50cmFyc2UgdmVydGljYWxtZW50ZSBjb250cmEgZWwgbG9nbyAoYWxpZ24tc2VsZjpjZW50ZXIgZGUgbGEgcmVnbGEKICAgICBiYXNlIGRlIC5oZWFkZXIyLWxvZ29zLXdyYXAsIGFycmliYSksIGlndWFsIHF1ZSBlbiBlbCByZXN0byBkZSBlc3RhZG9zLiAqLwogIC5ibGstZmoyeDcgLmhlYWRlcjIuaGVhZGVyMi10aXRsZS1iZWxvdyAuaGVhZGVyMi1sZWZ0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLXNlbGY6YXV0bztnYXA6NXB4O30KfQoKLyogRXN0aWxvICJmb3RvIGdyYW5kZSArIHRpdHVsYXIiOiBmb3RvIDE2OjkgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbyAmIzgyMTI7IGVsZWdpYmxlCiAgIHBvciBub3RpY2lhIGRlc2RlIGVsIGdlc3Rvci4gTm8gc2UgcmVzdHJpbmdlIGNvbiBAY29udGFpbmVyIHBvcnF1ZQogICAuY29sdW1uLWl0ZW0geWEgZXMgYmxvY2sgcG9yIGRlZmVjdG8gKGVsIHRodW1iIHkgZWwgdGV4dG8gc2UgYXBpbGFuIHNvbG9zCiAgIHNpbiBt4XMgYWp1c3RlKSwgYXPtIHF1ZSBlbCBkaXNl8W8gZnVuY2lvbmEgaWd1YWwgZGUgYmllbiBlbiBjdWFscXVpZXIKICAgYW5jaG8sIERlc2sgbyBN83ZpbC4gKi8KLmJsay1majJ4NyAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay1majJ4NyAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAudGh1bWJ7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLWZqMng3IC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXdlaWdodDo5MDA7fQovKiBFbiBN83ZpbCBlbCB0aXR1bGFyIGRlIGVzdGUgZGlzZfFvIHNlIG11ZXN0cmEgbeFzIGdyYW5kZSAoMS41cmVtIGVuIHZleiBkZQogICBsb3MgMS4ycmVtIGRlIERlc2spICYjODIxMjsgbWlzbWEgZXNwZWNpZmljaWRhZCAoMyBjbGFzZXMpIHF1ZSBsYSByZWdsYSBkZQogICBhcnJpYmE7IGFsIGlyIERFU1BVyVMgZW4gZWwgQ1NTIGdhbmEgcG9yIG9yZGVuIGRlIGNhc2NhZGEuIFNlIHVzYSBlbAogICBicmVha3BvaW50IGRlIDQ4MHB4IChlbCBkZSB0aXBvZ3JhZu1hIGVuIGVzdGEgYXBwLCBubyBlbCBkZSA4NjBweCBxdWUgYXF17QogICBzb2xvIGdvYmllcm5hIGVsIGFwaWxhZG8gZGUgY29sdW1uYXMpIHBhcmEgcXVlIGNvaW5jaWRhIGNvbiBlbCByZXN0byBkZQogICBjYW1iaW9zIGRlIHRleHRvL3RhbWHxbyBwb3IgdmlzdGEuIE5vIGFmZWN0YSBhbCByZXNndWFyZG8gZGUgMiBjb2x1bW5hcyBlbgogICBt83ZpbCAobW9iLWdyaWQpLCBt4XMgZXNwZWPtZmljbyAoMThweCwgdmVyIG3hcyBhcnJpYmEpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstZmoyeDcgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjEuNXJlbTt9Cn0KLyogRXN0aWxvICJCbG9xdWUgbWVkaWEiICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstZmoyeDcgLm1lZGlhLWJsb2NrLW1lZGlhe2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOmF1dG87fQouYmxrLWZqMng3IC5tZWRpYS1ibG9jay13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7fQouYmxrLWZqMng3IC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLWZqMng3IC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcCBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay1majJ4NyAuY29sdW1uLWl0ZW0ubGF5b3V0LW1lZGlhLWJsb2Nre2JvcmRlcjpub25lO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2Jsb2NrLXNpemU6YXV0bztmbGV4OjAgMCBhdXRvO30KLmJsay1majJ4NyAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spe2ZsZXg6MSAxIGF1dG87fQo8L3N0eWxlPgoKPGRpdiBjbGFzcz0iYmxrLWZqMng3Ij4KICAKICA8bWFpbiBjbGFzcz0icGFnZSI+CiAgICAKICAgIDxhcnRpY2xlIGNsYXNzPSJsZWFkIGxlYWQtYm9keS1sZWZ0Ij4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1tZWRpYSI+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS9hbG1laWRhLWFudW5jaWEtcXVlLWJhamFyYS1lbC1pYmktYWwtbWluaW1vLXBlcm1pdGlkby1wb3ItbGEtbGV5LXBvci1wcmltZXJhLXZlei1lbi1sYS1oaXN0b3JpYS0yMDI2MTAxNS0xMTM1MzItMjBhODk5LmpwZyIgYWx0PSJBbG1laWRhIGFudW5jaWEgcXVlIGJhamFy4SBlbCBJQkkgYWwgbe1uaW1vIHBlcm1pdGlkbyBwb3IgbGEgbGV5ICZxdW90O3BvciBwcmltZXJhIHZleiBlbiBsYSBoaXN0b3JpYSZxdW90OyIgbG9hZGluZz0iZWFnZXIiIGZldGNocHJpb3JpdHk9ImhpZ2giIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVhZC1vdmVybGF5IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE0LDE3LDI2LDAuMDApOyI+PC9kaXY+CiAgICAgICAgCiAgICAgICAgPGJ1dHRvbiBjbGFzcz0icGxheS1idXR0b24gcG9zLXRvcC1sZWZ0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PGRpdiBjbGFzcz0icGxheS1pY29uIj48L2Rpdj48c3BhbiBjbGFzcz0icGxheS10ZXh0Ij5QbGF5PC9zcGFuPjwvYnV0dG9uPgogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5IiBzdHlsZT0iYmFja2dyb3VuZDojNjI3MUM0OyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImxlYWQtY2F0IiBzdHlsZT0iYmFja2dyb3VuZDojZmZmO2NvbG9yOiM2MjcxQzQiPkVDT05PTc1BPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImxlYWQtYm9keS1tYWluIj4KICAgICAgICAgIAogICAgICAgICAgPGgyIGNsYXNzPSJsZWFkLXRpdGxlIj48c3BhbiBjbGFzcz0ibGVhZC10aXRsZS1kZXNrIj5BbG1laWRhIGFudW5jaWEgcXVlIGJhamFy4SBlbCBJQkkgYWwgbe1uaW1vIHBlcm1pdGlkbyBwb3IgbGEgbGV5ICZxdW90O3BvciBwcmltZXJhIHZleiBlbiBsYSBoaXN0b3JpYSZxdW90Ozwvc3Bhbj48c3BhbiBjbGFzcz0ibGVhZC10aXRsZS1tb2JpbGUiPkFsbWVpZGEgYW51bmNpYSBxdWUgYmFqYXLhIGVsIElCSSBhbCBt7W5pbW8gcGVybWl0aWRvIHBvciBsYSBsZXkgJnF1b3Q7cG9yIHByaW1lcmEgdmV6IGVuIGxhIGhpc3RvcmlhJnF1b3Q7PC9zcGFuPjwvaDI+CiAgICAgICAgICAKICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRob3ItbGFiZWwiPkFsYmEgTWFydO1uPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPGEgY2xhc3M9ImxlYWQtbGluayIgaHJlZj0iaHR0cHM6Ly9va2RpYXJpby5jb20vZWNvbm9taWEvdml2aWVuZGEvYWxtZWlkYS1hbnVuY2lhLXF1ZS1iYWphcmEtaWJpLW1pbmltby1wZXJtaXRpZG8tbGV5LXByaW1lcmEtdmV6LWhpc3RvcmlhLTIwNTU1NDcxIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9IkFsbWVpZGEgYW51bmNpYSBxdWUgYmFqYXLhIGVsIElCSSBhbCBt7W5pbW8gcGVybWl0aWRvIHBvciBsYSBsZXkgJnF1b3Q7cG9yIHByaW1lcmEgdmV6IGVuIGxhIGhpc3RvcmlhJnF1b3Q7IiBhcmlhLWxhYmVsPSJBbG1laWRhIGFudW5jaWEgcXVlIGJhamFy4SBlbCBJQkkgYWwgbe1uaW1vIHBlcm1pdGlkbyBwb3IgbGEgbGV5ICZxdW90O3BvciBwcmltZXJhIHZleiBlbiBsYSBoaXN0b3JpYSZxdW90OyI+PC9hPgogICAgPC9hcnRpY2xlPgogIDwvbWFpbj4KPC9kaXY+Cgo8c2NyaXB0PgooZnVuY3Rpb24oKXsKICB2YXIgYXJ0aWNsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5ibGstZmoyeDcgLmxlYWQnKTsKICBpZiAoIWFydGljbGUpIHJldHVybjsKICB2YXIgbWFpbiA9IGFydGljbGUucXVlcnlTZWxlY3RvcignLmxlYWQtYm9keS1tYWluJyk7CiAgdmFyIHRpdGxlRWwgPSBhcnRpY2xlLnF1ZXJ5U2VsZWN0b3IoJy5sZWFkLXRpdGxlJyk7CiAgaWYgKCFtYWluIHx8ICF0aXRsZUVsKSByZXR1cm47CiAgdmFyIGJhc2VGb250U2l6ZVB4ID0gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRpdGxlRWwpLmZvbnRTaXplKSB8fCAwOwogIGlmICghYmFzZUZvbnRTaXplUHgpIHJldHVybjsKICB2YXIgTUFYX1NDQUxFID0gMS44OwogIHZhciBNSU5fU0NBTEUgPSAwLjU7CiAgdmFyIE1BWF9GT05UX1BYID0gNjQ7IC8vIH40cmVtIGNvbiBsYSBiYXNlIGhhYml0dWFsIGRlIDE2cHggKG1pc21vIHRvcGUgcXVlIGZpdExlYWRUaXRsZVRvQm94KCkgZW4gZWwgZ2VzdG9yKQogIHZhciBib2R5UG9zaXRpb25CbG9ja3NGaXQgPSBhcnRpY2xlLmNsYXNzTGlzdC5jb250YWlucygnbGVhZC1ib2R5LWxlZnQnKSB8fCBhcnRpY2xlLmNsYXNzTGlzdC5jb250YWlucygnbGVhZC1ib2R5LXJpZ2h0Jyk7CiAgZnVuY3Rpb24gZml0KCl7CiAgICBpZiAoYm9keVBvc2l0aW9uQmxvY2tzRml0KSByZXR1cm47CiAgICB0aXRsZUVsLnN0eWxlLmZvbnRTaXplID0gYmFzZUZvbnRTaXplUHggKyAncHgnOwogICAgdmFyIGF2YWlsYWJsZUhlaWdodCA9IG1haW4uY2xpZW50SGVpZ2h0OwogICAgaWYgKCFhdmFpbGFibGVIZWlnaHQpIHJldHVybjsKICAgIC8vIFZlciBtaXNtbyBjb21lbnRhcmlvLCBkZXRhbGxhZG8sIGVuIGZpdExlYWRUaXRsZVRvQm94KCkgZGVsIGdlc3RvcjoKICAgIC8vIG1haW4uc2Nyb2xsSGVpZ2h0IG51bmNhIGJhamEgZGUgY2xpZW50SGVpZ2h0IGF1bnF1ZSBlbCBjb250ZW5pZG8gcmVhbAogICAgLy8gb2N1cGUgbWVub3MsIGFz7SBxdWUgbm8gc2lydmUgcGFyYSBkZXRlY3RhciBjdeFudG8gc29icmEgbyBmYWx0YSBjb24KICAgIC8vIGVsIHRpdHVsYXIgYWN0dWFsICYjODIxMjsgc2Ugc3VtYSBlbiBzdSBsdWdhciBlbCBhbHRvIHJlYWwgZGUgY2FkYSBoaWpvCiAgICAvLyBWSVNJQkxFIGRlbCBibG9xdWUsIHNhbHZvIGVsIHByb3BpbyB0aXR1bGFyLCBt4XMgZWwgaHVlY28gKCJnYXAiKQogICAgLy8gZW50cmUgZWxsb3M7IG5vIGNhbWJpYSBjb24gZWwgdGFtYfFvIGRlbCB0aXR1bGFyLCBhc+0gcXVlIHNlIG1pZGUgdW5hCiAgICAvLyBzb2xhIHZleiwgYW50ZXMgZGUgbGEgYvpzcXVlZGEgYmluYXJpYS4KICAgIHZhciBnYXBQeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShtYWluKS5yb3dHYXApIHx8IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShtYWluKS5nYXApIHx8IDA7CiAgICB2YXIgdmlzaWJsZUNoaWxkcmVuID0gW10uc2xpY2UuY2FsbChtYWluLmNoaWxkcmVuKS5maWx0ZXIoZnVuY3Rpb24oYyl7IHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGMpLmRpc3BsYXkgIT09ICdub25lJzsgfSk7CiAgICB2YXIgb3RoZXJzSGVpZ2h0ID0gdmlzaWJsZUNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbihjKXsgcmV0dXJuIGMgIT09IHRpdGxlRWw7IH0pLnJlZHVjZShmdW5jdGlvbihzdW0sIGMpeyByZXR1cm4gc3VtICsgYy5vZmZzZXRIZWlnaHQ7IH0sIDApCiAgICAgICsgZ2FwUHggKiBNYXRoLm1heCgwLCB2aXNpYmxlQ2hpbGRyZW4ubGVuZ3RoIC0gMSk7CiAgICB2YXIgYXZhaWxhYmxlRm9yVGl0bGUgPSBNYXRoLm1heCgwLCBhdmFpbGFibGVIZWlnaHQgLSBvdGhlcnNIZWlnaHQpOwogICAgaWYgKCFhdmFpbGFibGVGb3JUaXRsZSkgcmV0dXJuOwogICAgZnVuY3Rpb24gaGVpZ2h0QXRTY2FsZShzY2FsZSl7CiAgICAgIHRpdGxlRWwuc3R5bGUuZm9udFNpemUgPSBNYXRoLm1pbihiYXNlRm9udFNpemVQeCAqIHNjYWxlLCBNQVhfRk9OVF9QWCkgKyAncHgnOwogICAgICByZXR1cm4gdGl0bGVFbC5vZmZzZXRIZWlnaHQ7CiAgICB9CiAgICB2YXIgbG8gPSBNSU5fU0NBTEUsIGhpID0gTUFYX1NDQUxFOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCA4OyBpKyspewogICAgICB2YXIgbWlkID0gKGxvICsgaGkpIC8gMjsKICAgICAgaWYgKGhlaWdodEF0U2NhbGUobWlkKSA8PSBhdmFpbGFibGVGb3JUaXRsZSkgbG8gPSBtaWQ7IGVsc2UgaGkgPSBtaWQ7CiAgICB9CiAgICBoZWlnaHRBdFNjYWxlKGxvKTsKICB9CiAgZml0KCk7CiAgaWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLnJlYWR5KXsgZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbihmaXQpOyB9CiAgaWYgKHdpbmRvdy5SZXNpemVPYnNlcnZlcil7IG5ldyBSZXNpemVPYnNlcnZlcihmaXQpLm9ic2VydmUoYXJ0aWNsZSk7IH0KICBlbHNlIHsgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZpdCk7IH0KfSkoKTsKPC9zY3JpcHQ+
    • La Junta Electoral abre expediente a Sánchez por usar la Moncloa para dar un mitin del PSOE
        • España
        • España

      La Junta Electoral abre expediente a Sánchez por usar la Moncloa para dar un mitin del PSOE

      La Junta Electoral Central (JEC) ha sancionado al presidente del Gobierno, el socialista Pedro Sánchez, por usar la Moncloa para dar un mitin del PSOE, avanzan fuentes del PP y confirman desde el órgano supervisor. El principal partido de la oposición denunció su rueda de prensa en Moncloa del martes 6 de octubre con las elecciones generales del 29-N ya convocadas.
      • Segundo Sanz
      • 2026-10-15 16:16
    • PGlmcmFtZSBoZWlnaHQ9JzI1MHB4JyB3aWR0aD0nMTAwJScgICBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9odG1sL3ZmYzZnbC1jYXJydXNlbC1kaXJlY3Rvcy5waHA/bW9kZT1kZXNrIiAgIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9Im5vIiBzdHlsZT0iYm9yZGVyOjA7ZGlzcGxheTpibG9jazttYXgtIj48L2lmcmFtZT4=
      PGlmcmFtZSBoZWlnaHQ9JzY1MHB4JyB3aWR0aD0nMTAwJScgICBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9odG1sL3ZmYzZnbC1jYXJydXNlbC1kaXJlY3Rvcy5waHA/bW9kZT1tb2JpbGUiICAgZnJhbWVib3JkZXI9IjAiIHNjcm9sbGluZz0ibm8iIHN0eWxlPSJib3JkZXI6MDtkaXNwbGF5OmJsb2NrO21heC0iPjwvaWZyYW1lPg==
    • Terroristas en la Puerta del Sol
    • Un narco del clan de
        • España
        • España

      Un narco del clan de 'Los Rochos', al que encargaron "eliminar" a Biedma, hirió a tiros a un hombre el domingo

      • Irene Tabera | Fernán González
      • 2026-10-14 20:19
    • Los policías avisan de que Sol está infestada de activistas de Samidoun, red vinculada al grupo terrorista palestino FPLP
        • España
        • España

      Los policías avisan de que Sol está infestada de activistas de Samidoun, red vinculada al grupo terrorista palestino FPLP

      La acampada de Sol está llena de activistas de Samidoun, una red pro-Hamás que en países como EEUU y Canadá ha sido designada como grupo terrorista y que lideró el boicot a la Vuelta ciclista a España en 2025. Mientras las caras visibles del Sindicato de Inquilinas han abandonado Sol, la acampada ha sido tomada por peligrosos grupos ultra de izquierda, entre los que destaca esta organización.
      • Rosalina Moreno
      • 2026-10-15 05:50
    • CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCksIHkgYXF17SBtaXNtbyBjb24gZWwgdGV4dG8gYQogICBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhIChib2R5UG9zaXRpb25CbG9ja3NDb2x1bW4pOiBjb24gZXNlIGxheW91dCBsYQogICBub3RpY2lhIHByaW5jaXBhbCB5YSBvY3VwYSBlbCAxMDAlIGRlbCBhbmNobyB5IHNvbGFwYSBzdSBwcm9waWEgZm90byBkZQogICBib3JkZSBhIGJvcmRlLCBhc+0gcXVlIGVsIGFpcmUvZm9uZG8gYmxhbmNvIHNvYnJhLiAqLwouYmxrLXhsY3kye21heC1pbmxpbmUtc2l6ZTo5NjBweDttYXJnaW46MCBhdXRvO2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplO30KLmJsay14bGN5MiBhe3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmluaGVyaXR9Ci5ibGsteGxjeTIgLnBhZ2V7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjE1cHh9Ci5ibGsteGxjeTIgLnBhZ2UgLmNvbHVtbntvcmRlcjoxfQouYmxrLXhsY3kyIC5wYWdlIC5sZWFke29yZGVyOjJ9Ci8qIDg2MHB4IHkgbm8gNDc1cHg6IGNvbiBsYSBjb2x1bW5hIGZpamEgKDIyMHB4ICsgMjBweCBkZSBnYXAgPSAyNDBweCksCiAgIGN1YWxxdWllciBhbmNobyBkZSBpZnJhbWUgcG9yIGRlYmFqbyBkZSB+ODYwcHggZGVqYSBsYSBub3RpY2lhIHByaW5jaXBhbAogICAoMWZyKSBjYWRhIHZleiBjb24gbWVub3MgZXNwYWNpbyBoYXN0YSBjb2xhcHNhciBhIDBweCBkZSBhbmNobyBhbnRlcyBkZQogICBsbGVnYXIgYSB1biBicmVha3BvaW50IHRhbiBiYWpvIGNvbW8gNDc1cHggJiM4MjEyOyBsYSBub3RpY2lhIHByaW5jaXBhbAogICBkaXJlY3RhbWVudGUgZGVzYXBhcmVjZSBlbiBlc2EgZnJhbmphIGludGVybWVkaWEgKG5pICJkZXNrIiBjb21wbGV0byBuaQogICAibfN2aWwiIGVzdHJlY2hvKS4gQ29uIDg2MHB4IHNlIHBhc2EgYSB1bmEgc29sYSBjb2x1bW5hIGFwaWxhZGEgYW50ZXMgZGUKICAgcXVlIGVzbyBwdWVkYSBvY3VycmlyLgogICBFc3RlIGJyZWFrcG9pbnQgc2Ugb21pdGUgcG9yIGNvbXBsZXRvIG1pZW50cmFzIGxhIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06QogICBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KTogcGVuc2FkbyBwYXJhIGN1YW5kbyBlbCBt82R1bG8gbGxldmEgc3UKICAgY29sdW1uYSBhIDk2MHB4LCBkZWphIGRlIHRlbmVyIHNlbnRpZG8gZW4gdW5hIGV4cG9ydGFjafNuIGRlIHNvbG8gbGEKICAgbm90aWNpYSBwcmluY2lwYWwgYSB1biBhbmNobyBmaWpvIGVsZWdpZG8gYSBtYW5vICYjODIxMjsgbG9zIGFuY2hvcyBzaW11bGFkb3MKICAgKDYxMy80NjAvMzA3cHgpIGVzdOFuIFRPRE9TIHBvciBkZWJham8gZGUgODYwcHgsIGFz7SBxdWUgc2luIGVzdGUgZ2F0aW5nCiAgIGVsIEhUTUwgZXhwb3J0YWRvIGNhZXLtYSBzaWVtcHJlIGEgbGEgdGlwb2dyYWbtYSAiTfN2aWwiIChjb24gIWltcG9ydGFudCkKICAgc2VhIGN1YWwgc2VhIGxhIHF1ZSBlbCB1c3VhcmlvIGNvbmZpZ3Vy8yBlbiAiRGVzayIgcGFyYSBlc2Egc2ltdWxhY2nzbiwKICAgZGFuZG8gbGEgZmFsc2Egc2Vuc2FjafNuIGRlIHF1ZSB1bmEgY29uZmlndXJhY2nzbiAicGlzYSIgYSBvdHJhLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGsteGxjeTJ7YmFja2dyb3VuZDpub25lO3BhZGRpbmc6MDt9CiAgLmJsay14bGN5MiAucGFnZXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogIC5ibGsteGxjeTIgLnBhZ2UgLnN0YWNrLXRpdGxlIHtmb250LXNpemU6MThweDsgbGluZS1oZWlnaHQ6IDEuMmVtO30KICAuYmxrLXhsY3kyIC5wYWdlIC5zdGFjay1hdXRob3Ige21hcmdpbi10b3A6IDEwcHg7fQogIC5ibGsteGxjeTIgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2Jsb2NrLXNpemU6NDAwcHggIWltcG9ydGFudDt9CiAgLmJsay14bGN5MiAubGVhZC1tZWRpYXthc3BlY3QtcmF0aW86NC8zICFpbXBvcnRhbnQ7fQogIC5ibGsteGxjeTIgLnBhZ2UgLmxlYWR7b3JkZXI6MX0KICAuYmxrLXhsY3kyIC5wYWdlIC5jb2x1bW57b3JkZXI6Mn0KICAvKiBQb3IgZGViYWpvIGRlbCBicmVha3BvaW50LCBlbCBsZWFkLWJvZHkgc2llbXByZSB2dWVsdmUgYSBpciBkZWJham8gZGVsCiAgICAgbGVhZC1tZWRpYSAobm8gaGF5IHNpdGlvIHBhcmEgZWwgbGF5b3V0IGxhZG8gYSBsYWRvKS4gKi8KICAuYmxrLXhsY3kyIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0LAogIC5ibGsteGxjeTIgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthc3BlY3QtcmF0aW86YXV0bzt9CiAgLmJsay14bGN5MiAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKICAuYmxrLXhsY3kyIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjEgMSBhdXRvO30KICAuYmxrLXhsY3kyIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCiAgLmJsay14bGN5MiAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXtmbGV4OjEgMSBhdXRvO2lubGluZS1zaXplOjkwJTttYXJnaW46LTMwcHggYXV0byAwO2Jsb2NrLXNpemU6YXV0bzthbGlnbi1zZWxmOmF1dG87anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7cGFkZGluZzoxMHB4O30KICAuYmxrLXhsY3kyIC5wYWdlIC5jb2x1bW4taXRlbXtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KICAuYmxrLXhsY3kyIC5wYWdlIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9CiAgLmJsay14bGN5MiAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMjEgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjIxcHggIWltcG9ydGFudDt9CiAgLmJsay14bGN5MiAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMTggLmxlZnQtdGl0bGV7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDt9CiAgLmJsay14bGN5MiAucGFnZSAubGVmdC1wbGF5ewogICAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICAgIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDsKICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4OwogIH0KICAuYmxrLXhsY3kyIC5wYWdlIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICAgIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDBhN2ZmO2JvcmRlci10b3A6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206M3B4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjFweDsKICB9Cn0KLyogVGlwb2dyYWbtYSAiTfN2aWwiIChhbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL3RpdHVsYXJlcyBhbmltYWRvcykgY29uIFNVCiAgIFBST1BJTyBicmVha3BvaW50ICg0ODBweCksIHNlcGFyYWRvIGRlbCBkZSBhcnJpYmEgKDg2MHB4LCBzb2xvIHBhcmEgYXBpbGFyCiAgIGxhIHJlamlsbGEgY29sdW1uYStub3RpY2lhKTogdW4gY29udGVuZWRvciByZWFsIGRlIG1lbm9zIGRlIDg2MHB4IGVzIG11eQogICBoYWJpdHVhbCAocC5lai4gdW5hIGNvbHVtbmEgZGUgYXJ07WN1bG8gZGUgfjcwMHB4KSB5IE5PIGVzIHVuIG3zdmlsICYjODIxMjsgY29uCiAgIHVuIPpuaWNvIGJyZWFrcG9pbnQgY29tcGFydGlkbywgbGEgdGlwb2dyYWbtYSAiRGVzayIgcXVlIGNvbmZpZ3VyYSBlbAogICB1c3VhcmlvIG5vIGxsZWdhYmEgYSB2ZXJzZSBudW5jYSBlbiBlc2UgY2FzbywgY2F5ZW5kbyBzaWVtcHJlIGEgbG9zIHZhbG9yZXMKICAgcG9yIGRlZmVjdG8gZGUgIk3zdmlsIiBzaW4gcXVlIG5hZGllIGxvIGh1YmllcmEgcGVkaWRvLiA0ODBweCBz7SBzZQogICBjb3JyZXNwb25kZSBjb24gdW4gYW5jaG8gZGUgbfN2aWwgcmVhbCAobGEgdmlzdGEgIk3zdmlsIiBkZWwgcHJvcGlvIGdlc3RvcgogICBzaW11bGEgMzc1cHgpLiBJZ3VhbCBxdWUgZWwgYnJlYWtwb2ludCBkZSBhcnJpYmEsIHNlIG9taXRlIGR1cmFudGUgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBkZSBsYSBub3RpY2lhIHByaW5jaXBhbCAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGsteGxjeTIgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjEgIWltcG9ydGFudDtjb2xvcjojMWM5NTg3ICFpbXBvcnRhbnQ7fQogIC5ibGsteGxjeTIgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiMxYzk1ODcgIWltcG9ydGFudDt9CiAgLmJsay14bGN5MiAubGVhZC10aXRsZXtmb250LXNpemU6MS43NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgLmJsay14bGN5MiAubGVhZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLXhsY3kyIC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLXhsY3kyIC5sZWFkLWtpY2tlci1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLXhsY3kyIC5sZWFkLWtpY2tlci1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay14bGN5MiAubGVhZC1zdWJ0aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLXhsY3kyIC5sZWFkLXN1YnRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLXhsY3kyIC5sZWFkLWFuaW0taGVhZGxpbmVze2ZvbnQtc2l6ZToxLjg3NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgCiAgLmJsay14bGN5MiAucmVsYXRlZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLXhsY3kyIC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KfQouYmxrLXhsY3kyIC5sZWFke2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6I2ZmZjtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLXhsY3kyIC5sZWFkLW1lZGlhe3Bvc2l0aW9uOnJlbGF0aXZlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW59Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZTogYWx0byBmaWpvIGVuIHDteGVsZXMgZW4gdmV6IGRlIGxhIHByb3BvcmNp824gZGUKICAgYXJyaWJhICh2ZXIgY29tZW50YXJpbyBkZXRhbGxhZG8ganVudG8gYSBzdGF0ZS5sZWFkLmlmcmFtZUhlaWdodCkgJiM4MjEyOyBlbAogICB2YWxvciBkZSBN83ZpbCBzZSBzb2JyZXNjcmliZSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywgaWd1YWwgcXVlIGVsCiAgIHJlc3RvIGRlIG92ZXJyaWRlcyByZXNwb25zaXZlIGRlIGVzdGUgSFRNTCBleHBvcnRhZG8uICovCi5ibGsteGxjeTIgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2FzcGVjdC1yYXRpbzpub25lO2Jsb2NrLXNpemU6NjQwcHg7fQouYmxrLXhsY3kyIC5sZWFkLW1lZGlhIGltZywKLmJsay14bGN5MiAubGVhZC1tZWRpYSB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci8qIENhcnJ1c2VsIGRlIGZvdG9zIGRlIGZvbmRvIGNvbiBlZmVjdG8gS2VuIEJ1cm5zICYjODIxMjsgdmVyIGVsIG1pc21vIGJsb3F1ZSwKICAgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuCiAgIExhIGR1cmFjafNuIGRlIGxhcyBhbmltYWNpb25lcyAoNnMpIGNvaW5jaWRlIGNvbgogICBMRUFEX0NBUk9VU0VMX0lOVEVSVkFMLCBxdWUgdGFtYmnpbiBnb2JpZXJuYSBlbCBzY3JpcHQgZGUgcm90YWNp824KICAgKGJ1aWxkTGVhZENhcm91c2VsU2NyaXB0KSBh8WFkaWRvIGFsIGZpbmFsIGRlbCBIVE1MIGV4cG9ydGFkby4gKi8KLmJsay14bGN5MiAubGVhZC1jYXJvdXNlbHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjt9Ci5ibGsteGxjeTIgLmxlYWQtY2Fyb3VzZWwtc2xpZGV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDEuNXMgZWFzZTt9Ci5ibGsteGxjeTIgLmxlYWQtY2Fyb3VzZWwtc2xpZGUuaXMtYWN0aXZle29wYWNpdHk6MTt6LWluZGV4OjE7fQouYmxrLXhsY3kyIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7fQouYmxrLXhsY3kyIC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChvZGQpIGltZ3thbmltYXRpb246YmxrLXhsY3kyLWtlbmJ1cm5zLWEgNnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7fQouYmxrLXhsY3kyIC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChldmVuKSBpbWd7YW5pbWF0aW9uOmJsay14bGN5Mi1rZW5idXJucy1iIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KQGtleWZyYW1lcyBibGsteGxjeTIta2VuYnVybnMtYXsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gfQpAa2V5ZnJhbWVzIGJsay14bGN5Mi1rZW5idXJucy1ieyBmcm9te3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IHRve3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoNCUsMyUpO30gfQovKiBDb24gdW5hIPpuaWNhIGZvdG8gKHNpbiByb3RhY2nzbiBwb3NpYmxlKSBzZSBhcGxpY2EgdW4gem9vbSBpbi9vdXQgZW4KICAgYnVjbGUgaW5maW5pdG8gZW4gdmV6IGRlbCByZWNvcnJpZG8g+m5pY28gKGZvcndhcmRzKSBkZSBhcnJpYmEuICovCi5ibGsteGxjeTIgLmxlYWQtY2Fyb3VzZWwuaXMtc2luZ2xlIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3thbmltYXRpb246YmxrLXhsY3kyLWtlbmJ1cm5zLWxvb3AgMTRzIGVhc2UtaW4tb3V0IGluZmluaXRlO30KQGtleWZyYW1lcyBibGsteGxjeTIta2VuYnVybnMtbG9vcHsgMCV7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gNTAle3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoLTQlLC0zJSk7fSAxMDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IH0KLyogQ29tcGFyYWRvciBhbnRlcy9kZXNwdelzIChkZXNsaXphZG9yKSAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXhsY3kyIC5sZWFkLWNvbXBhcmV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7dG91Y2gtYWN0aW9uOm5vbmU7ei1pbmRleDoyO30KLmJsay14bGN5MiAubGVhZC1jb21wYXJlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjtkaXNwbGF5OmJsb2NrO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLWRyYWc6bm9uZTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay14bGN5MiAubGVhZC1jb21wYXJlLWJlZm9yZXtjbGlwLXBhdGg6aW5zZXQoMCA1MCUgMCAwKTt3aWxsLWNoYW5nZTpjbGlwLXBhdGg7fQouYmxrLXhsY3kyIC5sZWFkLWNvbXBhcmUtcmFuZ2V7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTttYXJnaW46MDtvcGFjaXR5OjA7Y3Vyc29yOmV3LXJlc2l6ZTt9Ci5ibGsteGxjeTIgLmxlYWQtY29tcGFyZS1oYW5kbGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDo1MCU7aW5saW5lLXNpemU6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6Mjt9Ci5ibGsteGxjeTIgLmxlYWQtY29tcGFyZS1oYW5kbGU6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtpbmxpbmUtc2l6ZToycHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLC4yNSk7fQouYmxrLXhsY3kyIC5sZWFkLWNvbXBhcmUtaGFuZGxlOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDotMTVweDtpbmxpbmUtc2l6ZTozMHB4O2Jsb2NrLXNpemU6MzBweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTggNiBMNCAxMCBMOCAxNCcvPjxwYXRoIGQ9J00xMiA2IEwxNiAxMCBMMTIgMTQnLz48L2c+PC9zdmc+IikgY2VudGVyLzE2cHggMTZweCBuby1yZXBlYXQ7Ym94LXNoYWRvdzowIDJweCA2cHggcmdiYSgwLDAsMCwuMjUpO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMjUpO30KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE1pc21vIHotaW5kZXg6MiBxdWUKICAgLmxlYWQtY29tcGFyZSwgcG9yIGVsIG1pc21vIG1vdGl2byAoZ2FuYXJsZSBhIC5sZWFkLWxpbmspLiAqLwouYmxrLXhsY3kyIC5sZWFkLWlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTt6LWluZGV4OjI7fQouYmxrLXhsY3kyIC5sZWFkLWlmcmFtZSBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay14bGN5MiAubGVhZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLXhsY3kyIC5sZWFkLWJvZHl7cGFkZGluZzowcHggMjBweCAyMHB4IDIwcHg7O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7IHRleHQtYWxpZ246Y2VudGVyOyBhbGlnbi1pdGVtczpjZW50ZXI7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjY7IHBvaW50ZXItZXZlbnRzOm5vbmU7IGlubGluZS1zaXplOjk1JTsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OmF1dG87IG1hcmdpbi10b3A6LTMwcHg7IGJhY2tncm91bmQ6IzBFMTExQTsgZmxleDoxIDEgYXV0bzt9Ci8qIEFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vYXV0b3IgY2VudHJhZG9zIGVuIHZlcnRpY2FsIGRlbnRybyBkZWwgYWx0bwogICBzb2JyYW50ZSBiYWpvIGxhIGNhdGVnb3LtYSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXhsY3kyIC5sZWFkLWJvZHktbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2lubGluZS1zaXplOjEwMCU7ZmxleDoxIDEgYXV0bzttaW4taGVpZ2h0OjA7fQovKiBBcGFyaWVuY2lhIG5lZ2F0aXZhIChwb3IgZGVmZWN0bykgdnMuIHBvc2l0aXZhIGRlIGxhIGNhamEgZGUgdGl0dWxhciAmIzgyMTI7IHZlcgogICBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXhsY3kyIC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmxlYWQtYm9keXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO30KLmJsay14bGN5MiAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLXRpdGxlLAouYmxrLXhsY3kyIC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmF1dGhvci1sYWJlbHtjb2xvcjojMEUxMTFBO30KLyogUG9zaWNp824gZGVsIGxlYWQtYm9keSByZXNwZWN0byBhbCBsZWFkLW1lZGlhICgnbGVmdCcvJ3JpZ2h0JykgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay14bGN5MiAubGVhZC5sZWFkLWJvZHktbGVmdCwKLmJsay14bGN5MiAubGVhZC5sZWFkLWJvZHktcmlnaHR7ZmxleC1kaXJlY3Rpb246cm93O2FzcGVjdC1yYXRpbzoyLjk2Mjk2Mjk2Mjk2Mjk2Mzt9Ci5ibGsteGxjeTIgLmxlYWQubGVhZC1ib2R5LWxlZnR7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7fQouYmxrLXhsY3kyIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLW1lZGlhLAouYmxrLXhsY3kyIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjAgMCA2MCU7fQouYmxrLXhsY3kyIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCi5ibGsteGxjeTIgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7ZmxleDowIDAgY2FsYyg0MCUgKyAzMHB4KTtpbmxpbmUtc2l6ZTphdXRvO21hcmdpbi10b3A6MDtibG9jay1zaXplOmNhbGMoMTAwJSAtIDQycHgpO2FsaWduLXNlbGY6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O30KLmJsay14bGN5MiAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5e21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0Oi0zMHB4O30KLmJsay14bGN5MiAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDotMzBweDttYXJnaW4tcmlnaHQ6MDt9Ci8qIFBvc2ljafNuICdib3R0b20tZnVsbCcgZGVsIGxlYWQtYm9keSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBpbmxpbmUtc2l6ZQogICBlbiB2ZXogZGUgd2lkdGggcG9yIGVsIG1pc21vIG1vdGl2byBxdWUgZWwgcmVzdG8gZGUgZXN0ZSBibG9xdWUgKGV2aXRhcgogICBsYSBwYWxhYnJhICJ3aWR0aDoiIHF1ZSBlbCBDTVMgZGVsIHVzdWFyaW8gZWxpbWluYSBhbCBwZWdhciBIVE1ML0NTUwogICBkaXJlY3RhbWVudGUpLiAqLwouYmxrLXhsY3kyIC5sZWFkLmxlYWQtYm9keS1ib3R0b20tZnVsbCAubGVhZC1ib2R5ewogIGlubGluZS1zaXplOjEwMCU7CiAgbWFyZ2luOjA7CiAgcGFkZGluZy10b3A6MzBweDsKICBwYWRkaW5nLWJvdHRvbTozMHB4OwogIGJvcmRlcjpub25lOwp9Ci8qIEV0aXF1ZXRhIGRlIGV4Y2x1c2l2YSAobyB0ZXh0byBwZXJzb25hbGl6YWRvKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXhsY3kyIC5sZWFkLWV4Y2x1c2l2ZS10YWd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4O3otaW5kZXg6MztkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2xldHRlci1zcGFjaW5nOjAuNXB4O3BhZGRpbmc6MnB4IDhweDtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOi44ZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3BvaW50ZXItZXZlbnRzOm5vbmU7fQovKiBTZWxlY3RvciBjb24gMyBjbGFzZXMgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoIi5sZWFkLW1lZGlhIGltZyIgdGFtYmnpbgogICBtYXRjaGVhIGVzdGUgPGltZz4geSBsZSBnYW5hYmEgZW4gZXNwZWNpZmljaWRhZCkuICovCi5ibGsteGxjeTIgLmxlYWQtZXhjbHVzaXZlLXRhZyAubGVhZC1leGNsdXNpdmUtdGFnLWljb257cG9zaXRpb246c3RhdGljO2luc2V0OmF1dG87aW5saW5lLXNpemU6MTRweDtibG9jay1zaXplOjE0cHg7b2JqZWN0LWZpdDpjb250YWluO2ZsZXg6MCAwIGF1dG87ZGlzcGxheTpibG9jazt9Ci5ibGsteGxjeTIgLmxlYWQtY2F0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7cGFkZGluZzoycHggOHB4O3RyYW5zZm9ybTpza2V3WSgtNmRlZyk7bWFyZ2luLXRvcDotMTVweDttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLXhsY3kyIC5sZWFkLWtpY2tlciwgLmJsay14bGN5MiAubGVhZC1zdWJ0aXRsZXsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7dGV4dC10cmFuc2Zvcm06bm9uZTttYXJnaW46MDsKfQouYmxrLXhsY3kyIC5sZWFkLWtpY2tlcntmb250LXdlaWdodDo3MDA7fQouYmxrLXhsY3kyIC5sZWFkLXN1YnRpdGxle2ZvbnQtd2VpZ2h0OjYwMDt9Ci8qIFRhbWHxby9pbnRlcmxpbmVhZG8vY29sb3IgZGUgYW50ZXTtdHVsbyB5IHN1YnTtdHVsbyBlbiBEZXNrICh2YWxvcmVzIHBvcgogICBkZWZlY3RvIGRlbCBibG9xdWU7IGVsIG92ZXJyaWRlIGRlIE3zdmlsIHZhIGVuIGVsIEBjb250YWluZXIgZGUgbeFzIGFiYWpvLAogICB5YSBxdWUgZWwgSFRNTCBleHBvcnRhZG8gZXMgcmVzcG9uc2l2ZSB5IG5vIGRlcGVuZGUgZGUgcXXpIHZpc3RhIHR1dmllcmFzCiAgIHNlbGVjY2lvbmFkYSBlbiBlbCBnZXN0b3IgYWwgZXhwb3J0YXIvY29waWFyKS4gKi8KLmJsay14bGN5MiAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6IzFjOTU4Nzt9Ci5ibGsteGxjeTIgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6IzFjOTU4Nzt9Ci8qIHRleHQtd3JhcDpiYWxhbmNlICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwKICAgZGVsIGdlc3RvciAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgZXNhIHJlZ2xhKTogcmVwYXJ0ZSBsYXMKICAgbO1uZWFzIGRlbCB0aXR1bGFyIGRlIGZvcm1hIG3hcyB1bmlmb3JtZSBkZW50cm8gZGUgY2FkYSBkaXNwb3NpdGl2bywgc2luCiAgIHByZXRlbmRlciBpZ3VhbGFyIGVsIG76bWVybyBkZSBs7W5lYXMgZW50cmUgcGxhdGFmb3JtYXMgZGlzdGludGFzLiAqLwouYmxrLXhsY3kyIC5sZWFkLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6MTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO3RleHQtd3JhcDpiYWxhbmNlO30KLyogVGl0dWxhciBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YSAodmVyIGJ1aWxkU2NvcGVkSFRNTCk6CiAgIHNlIGdlbmVyYW4gbG9zIGRvcyB0ZXh0b3MgKERlc2svTfN2aWwpIHkgYXF17SBzZSBtdWVzdHJhIHNvbG8gdW5vIHNlZ/puIGVsCiAgIGFuY2hvIHJlYWwgZGVsIGNvbnRlbmVkb3IgJiM4MjEyOyBlbCBtaXNtbyBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgeWEgdXNhIGVsCiAgIHJlc3RvIGRlbCBIVE1MIGV4cG9ydGFkbyBwYXJhIGFkYXB0YXJzZSBzaW4gZGVwZW5kZXIgZGUgSlMuICovCi5ibGsteGxjeTIgLmxlYWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIEFudGV07XR1bG8vc3VidO10dWxvIGNvbiBzYWx0b3MgZGUgbO1uZWEgaW5kZXBlbmRpZW50ZXMgcG9yIHZpc3RhOiBtaXNtbwogICBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciAodmVyIGFycmliYSkuICovCi5ibGsteGxjeTIgLmxlYWQta2lja2VyLW1vYmlsZSwgLmJsay14bGN5MiAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLyogVGl0dWxhciBkZSBub3RpY2lhIHJlbGFjaW9uYWRhIChjb2x1bW5hKSBjb24gdGV4dG8gcHJvcGlvIGVuIE3zdmlsICh2ZXIKICAgaXRlbS50aXRsZU1vYmlsZSBlbiBidWlsZENvbHVtbkl0ZW1UaXRsZUhUTUwpOiBtaXNtbyBtZWNhbmlzbW8gZGUKICAgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciBwcmluY2lwYWwgZGUgYXJyaWJhLiAqLwouYmxrLXhsY3kyIC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQouYmxrLXhsY3kyIC5hdXRob3ItbGFiZWx7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOnJpZ2h0O2Rpc3BsYXk6YmxvY2t9Ci5ibGsteGxjeTIgLmNvbHVtbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjt9Ci5ibGsteGxjeTIgLmNvbHVtbi1pdGVte2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO3BhZGRpbmc6MTBweDtiYWNrZ3JvdW5kOiNmZmY7YmxvY2stc2l6ZTpzdHJldGNoO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt9Ci5ibGsteGxjeTIgLnRodW1ie3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjQvMztiYWNrZ3JvdW5kOiNlZWU7b3ZlcmZsb3c6aGlkZGVufQouYmxrLXhsY3kyIC50aHVtYiBpbWcsCi5ibGsteGxjeTIgLnRodW1iIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0KLmJsay14bGN5MiAudGh1bWIgLnBsYXktc3F1YXJlLAouYmxrLXhsY3kyIC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsgYm90dG9tOjVweDsgbGVmdDo1cHg7CiAgaW5saW5lLXNpemU6MjVweDtibG9jay1zaXplOjI1cHg7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7CiAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTgpOwogIGN1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLCB0cmFuc2Zvcm0gLjEyczsKICB6LWluZGV4OjI7IGFuaW1hdGlvbjpibGsteGxjeTItYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLmJsay14bGN5MiAudGh1bWIgLnBsYXktc3F1YXJlOjpiZWZvcmUsCi5ibGsteGxjeTIgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOjpiZWZvcmV7CiAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjZweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIG1hcmdpbi1sZWZ0OjJweDsKfQouYmxrLXhsY3kyIC50aHVtYiAucGxheS1zcXVhcmU6aG92ZXIsCi5ibGsteGxjeTIgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOmhvdmVyeyBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC44NSk7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOyB9Ci5ibGsteGxjeTIgLnN0YWNrLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE3cHg7bGluZS1oZWlnaHQ6MS4xNWVtO21hcmdpbjowO2NvbG9yOiMyYzNlNTM7fQouYmxrLXhsY3kyIC5zdGFjay1hdXRob3J7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1ib29rIixzYW5zLXNlcmlmO2NvbG9yOiM4Mjg1OTU7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOHJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjExcHg7bGV0dGVyLXNwYWNpbmc6MDt0ZXh0LWFsaWduOnJpZ2h0O30KLyogU2luIGVzdGEgcmVnbGEgZWwgYXV0b3IgcXVlZGEgcGVnYWRvIGp1c3RvIGRlYmFqbyBkZWwgdGl0dWxhciBlbiB2ZXogZGUKICAgYWJham8gZGUgbGEgdGFyamV0YTogLm1vZC1zdGFjayBuZWNlc2l0YSBzZXIgZmxleC1jb2x1bW4gY29uCiAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIHBhcmEgcXVlIGVsIGh1ZWNvIHNvYnJhbnRlIChjdWFuZG8gbGEKICAgdGFyamV0YSBjcmVjZSBt4XMgcXVlIHN1IGNvbnRlbmlkbywgdmVyIC5jb2x1bW4taXRlbTpub3QoLmxheW91dC1tZWRpYS1ibG9jaykKICAgbeFzIGFiYWpvKSBlbXB1amUgZWwgYXV0b3IgaGFjaWEgZWwgYm9yZGUgaW5mZXJpb3IuICovCi5ibGsteGxjeTIgLm1vZC1zdGFja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZsZXg6MSAxIGF1dG87fQovKiBFc3RpbG8gImZvdG8gcGVxdWXxYSArIHRpdHVsYXIiOiBmb3RvIDQ6MyBhIGxhIGl6cXVpZXJkYSwgdGV4dG8gYSBsYSBkZXJlY2hhLiAqLwouYmxrLXhsY3kyIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tbGVmdHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjExMHB4IDFmcjtnYXA6MTBweDt9Ci8qIEVzdGlsbyAic29sbyB0ZXh0byIgKHBvciBkZWZlY3RvKTogZWwgYXV0b3Igc2UgcG9zaWNpb25hIGVuIGFic29sdXRvLAogICBhbmNsYWRvIGEgbGEgZXNxdWluYSBpbmZlcmlvciBkZXJlY2hhIGRlIGxhIHRhcmpldGEgKGlndWFsIHF1ZSBlbCBwbGF5IGRlCiAgIGxhcyBtaW5pYXR1cmFzKSwgZW4gdmV6IGRlIGRlcGVuZGVyIGRlIHF1ZSBlbCBibG9xdWUgZGUgdGV4dG8gdGVuZ2EgaHVlY28KICAgZGUgc29icmEgcGFyYSBlbXB1amFybG8gYWJham8gY29uIGZsZXhib3ggJiM4MjEyOyBjb24gdO10dWxvcyBkZSAyLTMgbO1uZWFzIGVzZQogICBodWVjbyBubyBleGlzdGUgeSBlbCBhdXRvciBudW5jYSBsbGVnYWJhIGEgYmFqYXIuIHBhZGRpbmctYm90dG9tIGVuCiAgIGxlZnQtYm9keSByZXNlcnZhIGVsIGVzcGFjaW8gcGFyYSBxdWUgZWwgdO10dWxvIG5vIHNlIHNvbGFwZSBjb24g6WwuICovCi5ibGsteGxjeTIgLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5sZWZ0LWJvZHl7cGFkZGluZy1ib3R0b206MzNweDt9Ci5ibGsteGxjeTIgLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5zdGFjay1hdXRob3J7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDtib3R0b206MTBweDttYXJnaW4tdG9wOjA7fQouYmxrLXhsY3kyIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9Ci5ibGsteGxjeTIgLmxlZnQtcGxheXsKICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7CiAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTogNHB4Owp9Ci5ibGsteGxjeTIgLmxlZnQtcGxheTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo0cHggc29saWQgIzAwYTdmZjtib3JkZXItdG9wOjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDoxcHg7Cn0KLmJsay14bGN5MiAucmVsYXRlZC1saXZlLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGRjUwNTA7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGRjUwNTA7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGsteGxjeTIgLnJlbGF0ZWQtZWRpdG9yaWFsLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGQUIxMjE7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGQUIxMjE7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGsteGxjeTIgLnBsYXktYnV0dG9uewogIC8qIEFuY2hvL2FsdG8gZmlqb3MgZW4gdmV6IGRlIGFzcGVjdC1yYXRpbzoxLzEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhIChlbAogICAgIGPhbGN1bG8gZGUgInNocmluay10by1maXQiIHBhcmEgdW4gPGJ1dHRvbj4gZW4gYWJzb2x1dG8gc2luIHRhbWHxbwogICAgIGV4cGztY2l0byBubyBlcyBmaWFibGUgZW50cmUgbW90b3JlczsgZW4gV2ViS2l0L2lPUyBkYWJhIHVuIHJlY3Thbmd1bG8KICAgICB2ZXJ0aWNhbCBlc3RyZWNo7XNpbW8gZW4gdmV6IGRlIHVuIGN1YWRyYWRvKS4gKi8KICBhcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7CiAgcG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4OwogIGlubGluZS1zaXplOjM0cHg7YmxvY2stc2l6ZTozNHB4OwogIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjEwcHggMTBweCAxMHB4IDEycHg7CiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43KTsKICBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjQyKTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6M3B4OwogIGN1cnNvcjpwb2ludGVyO3otaW5kZXg6MjthbmltYXRpb246YmxrLXhsY3kyLWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGsteGxjeTIgLnBsYXktYnV0dG9uLnBvcy10b3AtcmlnaHR7dG9wOjEwcHg7cmlnaHQ6MTBweDtsZWZ0OmF1dG87Ym90dG9tOmF1dG87fQouYmxrLXhsY3kyIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLWxlZnR7Ym90dG9tOjEwcHg7bGVmdDoxMHB4O3RvcDphdXRvO3JpZ2h0OmF1dG87fQouYmxrLXhsY3kyIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0e2JvdHRvbToxMHB4O3JpZ2h0OjEwcHg7dG9wOmF1dG87bGVmdDphdXRvO30KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGsteGxjeTIgLmxlYWQubGVhZC1ib2R5LWxlZnQgLnBsYXktYnV0dG9uLnBvcy10b3AtbGVmdCwKLmJsay14bGN5MiAubGVhZC5sZWFkLWJvZHktbGVmdCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1sZWZ0eyBsZWZ0OjQwcHg7IH0KLmJsay14bGN5MiAubGVhZC5sZWFkLWJvZHktcmlnaHQgLnBsYXktYnV0dG9uLnBvcy10b3AtcmlnaHQsCi5ibGsteGxjeTIgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci8qIFBvc2ljafNuICdib3R0b20nIHBvciBkZWZlY3RvOiBlbCBsZWFkLWJvZHkgc29sYXBhIDMwcHggc29icmUgZWwgYm9yZGUKICAgSU5GRVJJT1IgZGUgbGEgZm90by927WRlbyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBObyBhcGxpY2EgY29uICdib3R0b20tZnVsbCcKICAgbmkgY29uICdsZWZ0Jy8ncmlnaHQnIChhanVzdGUgaG9yaXpvbnRhbCBwcm9waW8sIHZlciBhcnJpYmEpLiAqLwouYmxrLXhsY3kyIC5sZWFkOm5vdCgubGVhZC1ib2R5LWxlZnQpOm5vdCgubGVhZC1ib2R5LXJpZ2h0KTpub3QoLmxlYWQtYm9keS1ib3R0b20tZnVsbCkgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tbGVmdCwKLmJsay14bGN5MiAubGVhZDpub3QoLmxlYWQtYm9keS1sZWZ0KTpub3QoLmxlYWQtYm9keS1yaWdodCk6bm90KC5sZWFkLWJvZHktYm90dG9tLWZ1bGwpIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NDBweDsgfQouYmxrLXhsY3kyIC5wbGF5LWJ1dHRvbiAucGxheS1pY29uewogIGlubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjtib3JkZXItdG9wOjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjZweCBzb2xpZCB0cmFuc3BhcmVudDsKfQouYmxrLXhsY3kyIC5wbGF5LWJ1dHRvbiAucGxheS10ZXh0e2Rpc3BsYXk6bm9uZTt9CgovKiBUaXR1bGFyZXMgYW5pbWFkb3MgKGNhcGEgYWx0ZXJuYXRpdmEgc29icmUgbGVhZC1tZWRpYSkgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYQogICBoZXJyYW1pZW50YS4gQ2FkYSB0aXR1bGFyIHRpZW5lIHN1IHByb3BpYSBwb3NpY2nzbiAoY2xhc2UgcG9zLSosIHZlcgogICBidWlsZFNjb3BlZEhUTUwpIHkgc2UgcmV2ZWxhIGztbmVhIHBvciBs7W5lYSAodW5hIHZleiBtZWRpZGFzIHN1cyBs7W5lYXMKICAgcmVhbGVzIHBvciBlbCBzY3JpcHQgc3RhbmRhbG9uZSwgdmVyIGJ1aWxkQW5pbUhlYWRsaW5lc1NjcmlwdCkgY29uIHVuYQogICBjYWphIGRlIGZvbmRvIGRldHLhcyBkZSBjYWRhIGztbmVhIHkgdW4gZmFkZSBkZSBvcGFjaWRhZCBlbnRyZSB0aXR1bGFyZXMuICovCi5ibGsteGxjeTIgLmxlYWQtYW5pbS1oZWFkbGluZXN7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgaW5zZXQ6MDsKICB6LWluZGV4OjQ7CiAgcG9pbnRlci1ldmVudHM6bm9uZTsKfQouYmxrLXhsY3kyIC5sZWFkLWFuaW0taGVhZGxpbmV7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgbGVmdDoxNXB4OwogIG9wYWNpdHk6MDsKfQouYmxrLXhsY3kyIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1sZWZ0eyBib3R0b206NjBweDsgfQouYmxrLXhsY3kyIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1sZWZ0eyB0b3A6NjBweDsgfQouYmxrLXhsY3kyIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1sZWZ0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLXhsY3kyIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay14bGN5MiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQsCi5ibGsteGxjeTIgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBsZWZ0OmF1dG87IHJpZ2h0OjE1cHg7IH0KLmJsay14bGN5MiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHR7IHRvcDo2MHB4OyB9Ci5ibGsteGxjeTIgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLXhsY3kyIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgYm90dG9tOjYwcHg7IH0KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGsteGxjeTIgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnQsCi5ibGsteGxjeTIgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnQsCi5ibGsteGxjeTIgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGxlZnQ6NDBweDsgfQouYmxrLXhsY3kyIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQsCi5ibGsteGxjeTIgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay14bGN5MiAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci5ibGsteGxjeTIgLmxlYWQtYW5pbS1oZWFkbGluZS5pcy1hY3RpdmV7IG9wYWNpdHk6MTsgfQouYmxrLXhsY3kyIC5sZWFkLWFuaW0tbGluZXsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBkaXNwbGF5OnRhYmxlOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjsKICBmb250LXdlaWdodDo5MDA7CiAgY29sb3I6I2ZmZjsKICBwYWRkaW5nOjJweCA4cHg7CiAgY2xpcC1wYXRoOmluc2V0KDAgMTAwJSAwIDApOwogIG9wYWNpdHk6MTsKICB0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBlYXNlOwp9Ci5ibGsteGxjeTIgLmxlYWQtYW5pbS1saW5lLmlzLWhpZGluZ3sgb3BhY2l0eTowOyB9Ci8qIFNvbGFwZSBkZSAxcHggZW50ZXJhIGVudHJlIGztbmVhcyBwYXJhIGNlcnJhciBlbCBoaWxvIGRlIHN1Yi1w7XhlbCBxdWUKICAgcHVlZGUgcXVlZGFyIGVudHJlIHN1cyBjYWphcyBkZSBmb25kbyAocmVkb25kZW8gZGUgYWx0dXJhcyBmcmFjY2lvbmFyaWFzKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBjb21lbnRhcmlvLCBkZXRhbGxhZG8sIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGsteGxjeTIgLmxlYWQtYW5pbS1saW5lICsgLmxlYWQtYW5pbS1saW5lewogIG1hcmdpbi10b3A6LTFweDsKfQouYmxrLXhsY3kyIC5sZWFkLWFuaW0tbGluZTpmaXJzdC1jaGlsZHsgcGFkZGluZy10b3A6NnB4OyB9Ci5ibGsteGxjeTIgLmxlYWQtYW5pbS1saW5lOmxhc3QtY2hpbGR7IHBhZGRpbmctYm90dG9tOjZweDsgfQouYmxrLXhsY3kyIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGsteGxjeTIgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay14bGN5MiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHQgLmxlYWQtYW5pbS1saW5leyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6MDsgfQouYmxrLXhsY3kyIC5sZWFkLWFuaW0taGVhZGxpbmVzLmlzLXBvc2l0aXZlIC5sZWFkLWFuaW0tbGluZXsgY29sb3I6IzBFMTExQTsgfQouYmxrLXhsY3kyIC5sZWFkLWFuaW0tbGluZS1iZ3sgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0OjA7IHotaW5kZXg6LTE7IH0KLmJsay14bGN5MiAubGVhZC1hbmltLWxpbmUtdGV4dHsgcG9zaXRpb246cmVsYXRpdmU7IH0KQGtleWZyYW1lcyBibGsteGxjeTItYW5pbS1saW5lLXJldmVhbHsgdG97IGNsaXAtcGF0aDppbnNldCgwIDAgMCAwKTsgfSB9CgovKiBBbmNob3Igb3ZlcmxheSBmb3IgZnVsbCBjbGlja2FibGUgbGVhZCAqLwouYmxrLXhsY3kyIC5sZWFkLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjF9CgovKiBIb3ZlciBvcGFjaXR5IGFuaW1hdGlvbiAqLwouYmxrLXhsY3kyIC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAouYmxrLXhsY3kyIC5jb2x1bW4taXRlbTpob3ZlcntvcGFjaXR5Oi44fQovKiBGb3RvIHByaW5jaXBhbCAoZmFsbGJhY2svc2luZ2xlKSBvIGNhcnJ1c2VsIGRlIGZvdG9zOiBvcGFjaWRhZCAwLjkgYWwKICAgcGFzYXIgZWwgcmF0824gcG9yIGxhIHRhcmpldGEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4KICAgbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGEgdu1kZW8gbmkgYWwKICAgY29tcGFyYWRvciBhbnRlcy9kZXNwdelzLiAqLwouYmxrLXhsY3kyIC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLXhsY3kyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay14bGN5MiAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKLmJsay14bGN5MiAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6Ljk7fQovKiBFbiBlbCBhbmNobyBt83ZpbCAobWlzbW8gQGNvbnRhaW5lciBxdWUgZWwgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvKSBubwogICBhcGxpY2EgZXN0YSBhbmltYWNp824gZGUgb3BhY2lkYWQgc29icmUgbGEgbm90aWNpYSBwcmluY2lwYWw6IHZhIERFU1BVyVMKICAgZGUgbGEgcmVnbGEgZ2VuZXJhbCBkZSBhcnJpYmEgKG1pc21hIGVzcGVjaWZpY2lkYWQpIHBhcmEgcG9kZXIgZ2FuYXJsZS4KICAgT21pdGlkbywgaWd1YWwgcXVlIGVsIGJsb3F1ZSBkZSB0aXBvZ3JhZu1hIGRlIGFycmliYSwgbWllbnRyYXMgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBlc3TpIGFjdGl2YSAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGsteGxjeTIgLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCiAgLmJsay14bGN5MiAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKICAuYmxrLXhsY3kyIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eToxO30KfQoKLyogQW5pbWFjafNuIGNvbXBhcnRpZGEgcGxheSBwcmluY2lwYWwgKyBjdWFkcmFkb3MgcGxheSBhcGlsYWRhcyAqLwpAa2V5ZnJhbWVzIGJsay14bGN5Mi1ibGlua3sKICAwJSwxMDAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpfQogIDUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LDAuOSl9Cn0KLyogQ2FiZWNlcmEgKi8KLmJsay14bGN5MiAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxMHB4IDAgMzJweH0KLmJsay14bGN5MiAuZm5kLWxpbmVhe2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTo1cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW4tdG9wOi0xOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICMzMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzMzM30KLmJsay14bGN5MiAuc2VjdGlvbi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LTFweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6NHB4IDEzcHg7Ym9yZGVyOjFweCBzb2xpZCAjMEUxMTFBO3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKTtmb250LXNpemU6NDJweDtjb2xvcjojMEUxMTFBO30KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsuYmxrLXhsY3kyIC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MCAxMHB4fX0KLyogQ2FiZWNlcmEgJiM4MjEyOyBEaXNl8W8gMiAodGl0dWxhciArIGNhcnJ1c2VsIGRlIGxvZ290aXBvcykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay14bGN5MiAuaGVhZGVyMntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoyMHB4O3BhZGRpbmctYm90dG9tOjVweDttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzBFMTExQTt9Ci8qIGFsaWduLXNlbGY6ZmxleC1lbmQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSAxNXB4IGRlIGxhIGztbmVhIHNlcGFyYWRvcmEKICAgZW4gRGVzayAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MKICAgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXhsY3kyIC5oZWFkZXIyLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtmbGV4OjEgMSA1MCU7bWluLWlubGluZS1zaXplOjA7YWxpZ24tc2VsZjpmbGV4LWVuZDt9Ci5ibGsteGxjeTIgLmhlYWRlcjItdGFnc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleDowIDAgYXV0bzt9Ci8qIE1pc21vIHRhbWHxby90aXBvZ3JhZu1hIHF1ZSAubGVhZC1leGNsdXNpdmUtdGFnIChsYSBkZSBsYSBub3RpY2lhCiAgIHByaW5jaXBhbCkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZQogICBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay14bGN5MiAuaGVhZGVyMi1jYXQtdGFnLAouYmxrLXhsY3kyIC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWd7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6LjhlbTtsZXR0ZXItc3BhY2luZzouNXB4O3BhZGRpbmc6MnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7fQouYmxrLXhsY3kyIC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay14bGN5MiAuaGVhZGVyMi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZTozNnB4O2xpbmUtaGVpZ2h0OjEuMDU7Y29sb3I6IzBFMTExQTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWluLWlubGluZS1zaXplOjA7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO30KLyogU2VwYXJhY2nzbiBkZSAxMHB4IGVudHJlIGVsIHRleHRvIGRlIHBhdHJvY2luaW8geSBlbCBsb2dvIGVuIERlc2sgJiM4MjEyOyBlbgogICBN83ZpbCBzaWd1ZSBzaW4gc2VwYXJhY2nzbiAoZ2FwOjAsIHZlciBAY29udGFpbmVyIG3hcyBhYmFqbykuICovCi5ibGsteGxjeTIgLmhlYWRlcjItbG9nb3Mtd3JhcHtmbGV4OjAgMCBhdXRvO21heC1pbmxpbmUtc2l6ZTo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7fQovKiBFdGlxdWV0YSBvcGNpb25hbCBqdW50byBhbCBjYXJydXNlbCBkZSBsb2dvcyAocC5lai4gIlBhdHJvY2luYWRvIHBvcjoiKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXhsY3kyIC5oZWFkZXIyLWxvZ29zLWxhYmVse2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjY3O3doaXRlLXNwYWNlOm5vd3JhcDt9Ci5ibGsteGxjeTIgLmhlYWRlcjItbG9nb3N7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTYwcHg7YmxvY2stc2l6ZTo1MHB4O2ZsZXgtc2hyaW5rOjA7fQouYmxrLXhsY3kyIC5oZWFkZXIyLWxvZ29zIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO21hcmdpbjphdXRvO21heC1pbmxpbmUtc2l6ZToxMDAlO21heC1ibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb250YWluO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIGVhc2UtaW4tb3V0O30KLmJsay14bGN5MiAuaGVhZGVyMi1sb2dvcyBpbWcuaXMtYWN0aXZle29wYWNpdHk6MTt9Ci8qIElndWFsIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsOiBwb3IgZGViYWpvIGRlIGVzdGUgYW5jaG8gc2UKICAgaW50ZW50YSBwcmltZXJvIDEgU09MQSBGSUxBIChldGlxdWV0YXMrdGl0dWxhciBqdW50byBhbCBsb2dvLCBpZ3VhbCBxdWUKICAgZW4gRGVzaywgYSB0YW1h8W8gcmVkdWNpZG8pLiBFbCBibG9xdWUgZGUgbG9nb3MgbWFudGllbmUgU0lFTVBSRSBzdQogICBkaXNwb3NpY2nzbiBlbiBjb2x1bW5hIChldGlxdWV0YSBkZSBwYXRyb2NpbmlvIGVuY2ltYSBkZWwgbG9nbywKICAgYWxpbmVhZG9zIGEgbGEgZGVyZWNoYSwgc2luIHNlcGFyYWNp824pIHRhbnRvIGVuIGVzdGEgZmlsYSD6bmljYSBjb21vIGVuCiAgIGVsIHJlc2d1YXJkbyBkZSBhYmFqby4gU2kgZWwgdGl0dWxhciwgc3VtYWRvIGFsIGFuY2hvIGRlIGxhcyBldGlxdWV0YXMKICAgYWN0aXZhcyAoY2F0ZWdvcu1hIHkvbyBleGNsdXNpdmEsIHNpIGxhcyBoYXkpLCBzdXBlcmEgZWwgNTUlIGRlbCBhbmNobwogICB0b3RhbCBkZSBsYSBjYWJlY2VyYSAoY2FkYSB1bm8gbWVkaWRvIGEgdW5hIHNvbGEgbO1uZWEpLCBlbCBzY3JpcHQKICAgc3RhbmRhbG9uZSBh8WFkaWRvIGFsIGZpbmFsIGRlIGVzdGUgSFRNTCAodmVyCiAgIGJ1aWxkSGVhZGVyMlN0YWNraW5nU2NyaXB0KCkpIGxvIGRldGVjdGEgbWlkaWVuZG8gc3UgYW5jaG8gbmF0dXJhbAogICB5IGHxYWRlIGxhIGNsYXNlICJoZWFkZXIyLXN0YWNrZWQiOiBlbCBibG9xdWUgZGUKICAgbG9nb3Mgc3ViZSBlbnRvbmNlcyBhIHN1IHByb3BpYSBmaWxhIChhbGluZWFkbyBhIGxhIGRlcmVjaGEpIHkKICAgdGl0dWxhcitldGlxdWV0YXMgYmFqYW4gYSBsYSBmaWxhIGRlIGFiYWpvLCBhIGFuY2hvIGNvbXBsZXRvICYjODIxMjsgbWlzbW8KICAgbGF5b3V0IGRlIDIgZmlsYXMgcXVlIGhhYu1hIGFudGVzIHNpZW1wcmUgcG9yIGRlYmFqbyBkZSBlc3RlIGJyZWFrcG9pbnQsCiAgIGFob3JhIHNvbG8gY29tbyByZXNndWFyZG8uIERlbnRybyBkZSBlc2UgcmVzZ3VhcmRvLCBjb24gZXRpcXVldGEocykgZWwKICAgdGl0dWxhciBwYXNhIGFkZW3hcyBhIHN1IFBST1BJQSBmaWxhIGEgYW5jaG8gY29tcGxldG8sIGRlYmFqbyBkZSBsYSBmaWxhIGRlIGV0aXF1ZXRhcyAodmVyCiAgICIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnQiIG3hcyBhYmFqbykuIEVsIGxvZ28gc2UgcmVkdWNlIHVuIDIwJQogICAoMTYweDUwICYjODU5NDsgMTI4eDQwKS4KICAgYWxpZ24tc2VsZjpmbGV4LWVuZCBlbiBoZWFkZXIyLWxlZnQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSBsb3MgMTBweAogICBkZWwgcGFkZGluZy1ib3R0b20gcmVzcGVjdG8gYSBsYSBs7W5lYSBzZXBhcmFkb3JhICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlCiAgIGVuIERlc2sgKHZlciBoZWFkZXIyLWxlZnQgbeFzIGFycmliYSk6IHNpbiBlc3RvLCBhbCBzZXIgZWwgYmxvcXVlIGRlCiAgIGxvZ29zIG3hcyBhbHRvIHF1ZSBlbCB0aXR1bGFyLCBlbCBjZW50cmFkbyB2ZXJ0aWNhbCBkZWwgcm93IGRlamFiYSB1bgogICBodWVjbyBtYXlvciBlbnRyZSBlbCB0aXR1bGFyIHkgbGEgbO1uZWEuIEVsIGJsb3F1ZSBkZSBsb2dvcyBzaWd1ZQogICBjZW50cmFkbyAoc2luIGVzZSBvdmVycmlkZSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay14bGN5MiAuaGVhZGVyMntmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4O30KICAuYmxrLXhsY3kyIC5oZWFkZXIyLWxlZnR7b3JkZXI6MTthbGlnbi1zZWxmOmZsZXgtZW5kO30KICAuYmxrLXhsY3kyIC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MjthbGlnbi1zZWxmOmNlbnRlcjttYXgtaW5saW5lLXNpemU6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC5ibGsteGxjeTIgLmhlYWRlcjItbG9nb3N7aW5saW5lLXNpemU6MTI4cHg7YmxvY2stc2l6ZTo0MHB4O30KICAuYmxrLXhsY3kyIC5oZWFkZXIyLXRpdGxle2ZvbnQtc2l6ZToyN3B4O30KICAuYmxrLXhsY3kyIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDt9CiAgLmJsay14bGN5MiAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdHtvcmRlcjoyO2FsaWduLXNlbGY6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NXB4O30KICAuYmxrLXhsY3kyIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjE7bWF4LWlubGluZS1zaXplOjEwMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC8qIFJlc2d1YXJkbyBpbnRlcm1lZGlvICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YTogc29sbyBlbCB0aXR1bGFyIGJhamEgYSBzdQogICAgIHByb3BpYSBmaWxhIGEgYW5jaG8gY29tcGxldG8gY3VhbmRvIGxhcyBldGlxdWV0YXMgU80gY2FiZW4ganVudG8gYWwKICAgICBsb2dvIHBlcm8gZWwgdGl0dWxhciBuby4gaGVhZGVyMi1sZWZ0IHBhc2EgZGUgZmlsYSBhIGNvbHVtbmEKICAgICAoZXRpcXVldGFzIGFycmliYSwgdGl0dWxhciBkZWJham8pIHkgcmVjdXBlcmEgYWxpZ24tc2VsZjphdXRvIHBhcmEKICAgICBjZW50cmFyc2UgdmVydGljYWxtZW50ZSBjb250cmEgZWwgbG9nbyAoYWxpZ24tc2VsZjpjZW50ZXIgZGUgbGEgcmVnbGEKICAgICBiYXNlIGRlIC5oZWFkZXIyLWxvZ29zLXdyYXAsIGFycmliYSksIGlndWFsIHF1ZSBlbiBlbCByZXN0byBkZSBlc3RhZG9zLiAqLwogIC5ibGsteGxjeTIgLmhlYWRlcjIuaGVhZGVyMi10aXRsZS1iZWxvdyAuaGVhZGVyMi1sZWZ0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLXNlbGY6YXV0bztnYXA6NXB4O30KfQoKLyogRXN0aWxvICJmb3RvIGdyYW5kZSArIHRpdHVsYXIiOiBmb3RvIDE2OjkgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbyAmIzgyMTI7IGVsZWdpYmxlCiAgIHBvciBub3RpY2lhIGRlc2RlIGVsIGdlc3Rvci4gTm8gc2UgcmVzdHJpbmdlIGNvbiBAY29udGFpbmVyIHBvcnF1ZQogICAuY29sdW1uLWl0ZW0geWEgZXMgYmxvY2sgcG9yIGRlZmVjdG8gKGVsIHRodW1iIHkgZWwgdGV4dG8gc2UgYXBpbGFuIHNvbG9zCiAgIHNpbiBt4XMgYWp1c3RlKSwgYXPtIHF1ZSBlbCBkaXNl8W8gZnVuY2lvbmEgaWd1YWwgZGUgYmllbiBlbiBjdWFscXVpZXIKICAgYW5jaG8sIERlc2sgbyBN83ZpbC4gKi8KLmJsay14bGN5MiAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay14bGN5MiAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAudGh1bWJ7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLXhsY3kyIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXdlaWdodDo5MDA7fQovKiBFbiBN83ZpbCBlbCB0aXR1bGFyIGRlIGVzdGUgZGlzZfFvIHNlIG11ZXN0cmEgbeFzIGdyYW5kZSAoMS41cmVtIGVuIHZleiBkZQogICBsb3MgMS4ycmVtIGRlIERlc2spICYjODIxMjsgbWlzbWEgZXNwZWNpZmljaWRhZCAoMyBjbGFzZXMpIHF1ZSBsYSByZWdsYSBkZQogICBhcnJpYmE7IGFsIGlyIERFU1BVyVMgZW4gZWwgQ1NTIGdhbmEgcG9yIG9yZGVuIGRlIGNhc2NhZGEuIFNlIHVzYSBlbAogICBicmVha3BvaW50IGRlIDQ4MHB4IChlbCBkZSB0aXBvZ3JhZu1hIGVuIGVzdGEgYXBwLCBubyBlbCBkZSA4NjBweCBxdWUgYXF17QogICBzb2xvIGdvYmllcm5hIGVsIGFwaWxhZG8gZGUgY29sdW1uYXMpIHBhcmEgcXVlIGNvaW5jaWRhIGNvbiBlbCByZXN0byBkZQogICBjYW1iaW9zIGRlIHRleHRvL3RhbWHxbyBwb3IgdmlzdGEuIE5vIGFmZWN0YSBhbCByZXNndWFyZG8gZGUgMiBjb2x1bW5hcyBlbgogICBt83ZpbCAobW9iLWdyaWQpLCBt4XMgZXNwZWPtZmljbyAoMThweCwgdmVyIG3hcyBhcnJpYmEpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGsteGxjeTIgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjEuNXJlbTt9Cn0KLyogRXN0aWxvICJCbG9xdWUgbWVkaWEiICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGsteGxjeTIgLm1lZGlhLWJsb2NrLW1lZGlhe2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOmF1dG87fQouYmxrLXhsY3kyIC5tZWRpYS1ibG9jay13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXhsY3kyIC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLXhsY3kyIC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcCBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay14bGN5MiAuY29sdW1uLWl0ZW0ubGF5b3V0LW1lZGlhLWJsb2Nre2JvcmRlcjpub25lO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2Jsb2NrLXNpemU6YXV0bztmbGV4OjAgMCBhdXRvO30KLmJsay14bGN5MiAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spe2ZsZXg6MSAxIGF1dG87fQo8L3N0eWxlPgoKPGRpdiBjbGFzcz0iYmxrLXhsY3kyIj4KICAKICA8bWFpbiBjbGFzcz0icGFnZSI+CiAgICAKICAgIDxhcnRpY2xlIGNsYXNzPSJsZWFkIGxlYWQtYm9keS1sZWZ0Ij4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1tZWRpYSI+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS91bmEtZW1wbGVhZGEtZGUtbG9zLXByb3N0aWJ1bG9zLWRlbC1zdWVncm8tZGUtc2FuY2hlei1hLW9rZGlhcmlvLWNvcnJpYS1sYS1jb2NhLXktc2UtZGVqYWJhbi1ib2xzYXMtbGxlbmFzLWRlLWJpbGxldGVzLTIwMjYxMDE1LTA3MTkxNS04ZTliZDYuZ2lmIiBhbHQ9IlVuYSBlbXBsZWFkYSBkZSBsb3MgcHJvc3TtYnVsb3MgZGVsIHN1ZWdybyBkZSBT4W5jaGV6IGEgT0tESUFSSU86ICZxdW90O0NvcnLtYSBsYSBjb2NhIHkgc2UgZGVqYWJhbiBib2xzYXMgbGxlbmFzIGRlIGJpbGxldGVzJnF1b3Q7IiBsb2FkaW5nPSJlYWdlciIgZmV0Y2hwcmlvcml0eT0iaGlnaCIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsZWFkLW92ZXJsYXkiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTQsMTcsMjYsMC4wMCk7Ij48L2Rpdj4KICAgICAgICAKICAgICAgICA8YnV0dG9uIGNsYXNzPSJwbGF5LWJ1dHRvbiBwb3MtdG9wLWxlZnQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48ZGl2IGNsYXNzPSJwbGF5LWljb24iPjwvZGl2PjxzcGFuIGNsYXNzPSJwbGF5LXRleHQiPlBsYXk8L3NwYW4+PC9idXR0b24+CiAgICAgICAgCiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJsZWFkLWJvZHkiIHN0eWxlPSJiYWNrZ3JvdW5kOiMxYzk1ODc7Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGVhZC1jYXQiIHN0eWxlPSJiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzFjOTU4NyI+SU5WRVNUSUdBQ0nTTjwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJsZWFkLWJvZHktbWFpbiI+CiAgICAgICAgICAKICAgICAgICAgIDxoMiBjbGFzcz0ibGVhZC10aXRsZSI+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtZGVzayI+VW5hIGVtcGxlYWRhIGRlIGxvcyBwcm9zdO1idWxvcyBkZWwgc3VlZ3JvIGRlIFPhbmNoZXogYSBPS0RJQVJJTzogJnF1b3Q7Q29ycu1hIGxhIGNvY2EgeSBzZSBkZWphYmFuIGJvbHNhcyBsbGVuYXMgZGUgYmlsbGV0ZXMmcXVvdDs8L3NwYW4+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtbW9iaWxlIj5VbmEgZW1wbGVhZGEgZGUgbG9zIHByb3N07WJ1bG9zIGRlbCBzdWVncm8gZGUgU+FuY2hleiBhIE9LRElBUklPOiAmcXVvdDtDb3Jy7WEgbGEgY29jYSB5IHNlIGRlamFiYW4gYm9sc2FzIGxsZW5hcyBkZSBiaWxsZXRlcyZxdW90Ozwvc3Bhbj48L2gyPgogICAgICAgICAgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aG9yLWxhYmVsIj5GZXJu4W4gR29ueuFsZXo8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YSBjbGFzcz0ibGVhZC1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9pbnZlc3RpZ2FjaW9uL2VtcGxlYWRhLXByb3N0aWJ1bG9zLWRlbC1zdWVncm8tc2FuY2hlei1va2RpYXJpby1jb3JyaWEtY29jYS1hY3VtdWxhYmFuLWJvbHNhcy1iaWxsZXRlcy0yMDU1MTMwNSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJVbmEgZW1wbGVhZGEgZGUgbG9zIHByb3N07WJ1bG9zIGRlbCBzdWVncm8gZGUgU+FuY2hleiBhIE9LRElBUklPOiAmcXVvdDtDb3Jy7WEgbGEgY29jYSB5IHNlIGRlamFiYW4gYm9sc2FzIGxsZW5hcyBkZSBiaWxsZXRlcyZxdW90OyIgYXJpYS1sYWJlbD0iVW5hIGVtcGxlYWRhIGRlIGxvcyBwcm9zdO1idWxvcyBkZWwgc3VlZ3JvIGRlIFPhbmNoZXogYSBPS0RJQVJJTzogJnF1b3Q7Q29ycu1hIGxhIGNvY2EgeSBzZSBkZWphYmFuIGJvbHNhcyBsbGVuYXMgZGUgYmlsbGV0ZXMmcXVvdDsiPjwvYT4KICAgIDwvYXJ0aWNsZT4KICA8L21haW4+CjwvZGl2PgoKPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgdmFyIGFydGljbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYmxrLXhsY3kyIC5sZWFkJyk7CiAgaWYgKCFhcnRpY2xlKSByZXR1cm47CiAgdmFyIG1haW4gPSBhcnRpY2xlLnF1ZXJ5U2VsZWN0b3IoJy5sZWFkLWJvZHktbWFpbicpOwogIHZhciB0aXRsZUVsID0gYXJ0aWNsZS5xdWVyeVNlbGVjdG9yKCcubGVhZC10aXRsZScpOwogIGlmICghbWFpbiB8fCAhdGl0bGVFbCkgcmV0dXJuOwogIHZhciBiYXNlRm9udFNpemVQeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aXRsZUVsKS5mb250U2l6ZSkgfHwgMDsKICBpZiAoIWJhc2VGb250U2l6ZVB4KSByZXR1cm47CiAgdmFyIE1BWF9TQ0FMRSA9IDEuODsKICB2YXIgTUlOX1NDQUxFID0gMC41OwogIHZhciBNQVhfRk9OVF9QWCA9IDY0OyAvLyB+NHJlbSBjb24gbGEgYmFzZSBoYWJpdHVhbCBkZSAxNnB4IChtaXNtbyB0b3BlIHF1ZSBmaXRMZWFkVGl0bGVUb0JveCgpIGVuIGVsIGdlc3RvcikKICB2YXIgYm9keVBvc2l0aW9uQmxvY2tzRml0ID0gYXJ0aWNsZS5jbGFzc0xpc3QuY29udGFpbnMoJ2xlYWQtYm9keS1sZWZ0JykgfHwgYXJ0aWNsZS5jbGFzc0xpc3QuY29udGFpbnMoJ2xlYWQtYm9keS1yaWdodCcpOwogIGZ1bmN0aW9uIGZpdCgpewogICAgaWYgKGJvZHlQb3NpdGlvbkJsb2Nrc0ZpdCkgcmV0dXJuOwogICAgdGl0bGVFbC5zdHlsZS5mb250U2l6ZSA9IGJhc2VGb250U2l6ZVB4ICsgJ3B4JzsKICAgIHZhciBhdmFpbGFibGVIZWlnaHQgPSBtYWluLmNsaWVudEhlaWdodDsKICAgIGlmICghYXZhaWxhYmxlSGVpZ2h0KSByZXR1cm47CiAgICAvLyBWZXIgbWlzbW8gY29tZW50YXJpbywgZGV0YWxsYWRvLCBlbiBmaXRMZWFkVGl0bGVUb0JveCgpIGRlbCBnZXN0b3I6CiAgICAvLyBtYWluLnNjcm9sbEhlaWdodCBudW5jYSBiYWphIGRlIGNsaWVudEhlaWdodCBhdW5xdWUgZWwgY29udGVuaWRvIHJlYWwKICAgIC8vIG9jdXBlIG1lbm9zLCBhc+0gcXVlIG5vIHNpcnZlIHBhcmEgZGV0ZWN0YXIgY3XhbnRvIHNvYnJhIG8gZmFsdGEgY29uCiAgICAvLyBlbCB0aXR1bGFyIGFjdHVhbCAmIzgyMTI7IHNlIHN1bWEgZW4gc3UgbHVnYXIgZWwgYWx0byByZWFsIGRlIGNhZGEgaGlqbwogICAgLy8gVklTSUJMRSBkZWwgYmxvcXVlLCBzYWx2byBlbCBwcm9waW8gdGl0dWxhciwgbeFzIGVsIGh1ZWNvICgiZ2FwIikKICAgIC8vIGVudHJlIGVsbG9zOyBubyBjYW1iaWEgY29uIGVsIHRhbWHxbyBkZWwgdGl0dWxhciwgYXPtIHF1ZSBzZSBtaWRlIHVuYQogICAgLy8gc29sYSB2ZXosIGFudGVzIGRlIGxhIGL6c3F1ZWRhIGJpbmFyaWEuCiAgICB2YXIgZ2FwUHggPSBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUobWFpbikucm93R2FwKSB8fCBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUobWFpbikuZ2FwKSB8fCAwOwogICAgdmFyIHZpc2libGVDaGlsZHJlbiA9IFtdLnNsaWNlLmNhbGwobWFpbi5jaGlsZHJlbikuZmlsdGVyKGZ1bmN0aW9uKGMpeyByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShjKS5kaXNwbGF5ICE9PSAnbm9uZSc7IH0pOwogICAgdmFyIG90aGVyc0hlaWdodCA9IHZpc2libGVDaGlsZHJlbi5maWx0ZXIoZnVuY3Rpb24oYyl7IHJldHVybiBjICE9PSB0aXRsZUVsOyB9KS5yZWR1Y2UoZnVuY3Rpb24oc3VtLCBjKXsgcmV0dXJuIHN1bSArIGMub2Zmc2V0SGVpZ2h0OyB9LCAwKQogICAgICArIGdhcFB4ICogTWF0aC5tYXgoMCwgdmlzaWJsZUNoaWxkcmVuLmxlbmd0aCAtIDEpOwogICAgdmFyIGF2YWlsYWJsZUZvclRpdGxlID0gTWF0aC5tYXgoMCwgYXZhaWxhYmxlSGVpZ2h0IC0gb3RoZXJzSGVpZ2h0KTsKICAgIGlmICghYXZhaWxhYmxlRm9yVGl0bGUpIHJldHVybjsKICAgIGZ1bmN0aW9uIGhlaWdodEF0U2NhbGUoc2NhbGUpewogICAgICB0aXRsZUVsLnN0eWxlLmZvbnRTaXplID0gTWF0aC5taW4oYmFzZUZvbnRTaXplUHggKiBzY2FsZSwgTUFYX0ZPTlRfUFgpICsgJ3B4JzsKICAgICAgcmV0dXJuIHRpdGxlRWwub2Zmc2V0SGVpZ2h0OwogICAgfQogICAgdmFyIGxvID0gTUlOX1NDQUxFLCBoaSA9IE1BWF9TQ0FMRTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgODsgaSsrKXsKICAgICAgdmFyIG1pZCA9IChsbyArIGhpKSAvIDI7CiAgICAgIGlmIChoZWlnaHRBdFNjYWxlKG1pZCkgPD0gYXZhaWxhYmxlRm9yVGl0bGUpIGxvID0gbWlkOyBlbHNlIGhpID0gbWlkOwogICAgfQogICAgaGVpZ2h0QXRTY2FsZShsbyk7CiAgfQogIGZpdCgpOwogIGlmIChkb2N1bWVudC5mb250cyAmJiBkb2N1bWVudC5mb250cy5yZWFkeSl7IGRvY3VtZW50LmZvbnRzLnJlYWR5LnRoZW4oZml0KTsgfQogIGlmICh3aW5kb3cuUmVzaXplT2JzZXJ2ZXIpeyBuZXcgUmVzaXplT2JzZXJ2ZXIoZml0KS5vYnNlcnZlKGFydGljbGUpOyB9CiAgZWxzZSB7IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBmaXQpOyB9Cn0pKCk7Cjwvc2NyaXB0Pg==
      CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCksIHkgYXF17SBtaXNtbyBjb24gZWwgdGV4dG8gYQogICBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhIChib2R5UG9zaXRpb25CbG9ja3NDb2x1bW4pOiBjb24gZXNlIGxheW91dCBsYQogICBub3RpY2lhIHByaW5jaXBhbCB5YSBvY3VwYSBlbCAxMDAlIGRlbCBhbmNobyB5IHNvbGFwYSBzdSBwcm9waWEgZm90byBkZQogICBib3JkZSBhIGJvcmRlLCBhc+0gcXVlIGVsIGFpcmUvZm9uZG8gYmxhbmNvIHNvYnJhLiAqLwouYmxrLXl2Z2Joe21heC1pbmxpbmUtc2l6ZTo5NjBweDttYXJnaW46MCBhdXRvO2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplO30KLmJsay15dmdiaCBhe3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmluaGVyaXR9Ci5ibGsteXZnYmggLnBhZ2V7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjE1cHh9Ci5ibGsteXZnYmggLnBhZ2UgLmNvbHVtbntvcmRlcjoxfQouYmxrLXl2Z2JoIC5wYWdlIC5sZWFke29yZGVyOjJ9Ci8qIDg2MHB4IHkgbm8gNDc1cHg6IGNvbiBsYSBjb2x1bW5hIGZpamEgKDIyMHB4ICsgMjBweCBkZSBnYXAgPSAyNDBweCksCiAgIGN1YWxxdWllciBhbmNobyBkZSBpZnJhbWUgcG9yIGRlYmFqbyBkZSB+ODYwcHggZGVqYSBsYSBub3RpY2lhIHByaW5jaXBhbAogICAoMWZyKSBjYWRhIHZleiBjb24gbWVub3MgZXNwYWNpbyBoYXN0YSBjb2xhcHNhciBhIDBweCBkZSBhbmNobyBhbnRlcyBkZQogICBsbGVnYXIgYSB1biBicmVha3BvaW50IHRhbiBiYWpvIGNvbW8gNDc1cHggJiM4MjEyOyBsYSBub3RpY2lhIHByaW5jaXBhbAogICBkaXJlY3RhbWVudGUgZGVzYXBhcmVjZSBlbiBlc2EgZnJhbmphIGludGVybWVkaWEgKG5pICJkZXNrIiBjb21wbGV0byBuaQogICAibfN2aWwiIGVzdHJlY2hvKS4gQ29uIDg2MHB4IHNlIHBhc2EgYSB1bmEgc29sYSBjb2x1bW5hIGFwaWxhZGEgYW50ZXMgZGUKICAgcXVlIGVzbyBwdWVkYSBvY3VycmlyLgogICBFc3RlIGJyZWFrcG9pbnQgc2Ugb21pdGUgcG9yIGNvbXBsZXRvIG1pZW50cmFzIGxhIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06QogICBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KTogcGVuc2FkbyBwYXJhIGN1YW5kbyBlbCBt82R1bG8gbGxldmEgc3UKICAgY29sdW1uYSBhIDk2MHB4LCBkZWphIGRlIHRlbmVyIHNlbnRpZG8gZW4gdW5hIGV4cG9ydGFjafNuIGRlIHNvbG8gbGEKICAgbm90aWNpYSBwcmluY2lwYWwgYSB1biBhbmNobyBmaWpvIGVsZWdpZG8gYSBtYW5vICYjODIxMjsgbG9zIGFuY2hvcyBzaW11bGFkb3MKICAgKDYxMy80NjAvMzA3cHgpIGVzdOFuIFRPRE9TIHBvciBkZWJham8gZGUgODYwcHgsIGFz7SBxdWUgc2luIGVzdGUgZ2F0aW5nCiAgIGVsIEhUTUwgZXhwb3J0YWRvIGNhZXLtYSBzaWVtcHJlIGEgbGEgdGlwb2dyYWbtYSAiTfN2aWwiIChjb24gIWltcG9ydGFudCkKICAgc2VhIGN1YWwgc2VhIGxhIHF1ZSBlbCB1c3VhcmlvIGNvbmZpZ3Vy8yBlbiAiRGVzayIgcGFyYSBlc2Egc2ltdWxhY2nzbiwKICAgZGFuZG8gbGEgZmFsc2Egc2Vuc2FjafNuIGRlIHF1ZSB1bmEgY29uZmlndXJhY2nzbiAicGlzYSIgYSBvdHJhLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGsteXZnYmh7YmFja2dyb3VuZDpub25lO3BhZGRpbmc6MDt9CiAgLmJsay15dmdiaCAucGFnZXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogIC5ibGsteXZnYmggLnBhZ2UgLnN0YWNrLXRpdGxlIHtmb250LXNpemU6MThweDsgbGluZS1oZWlnaHQ6IDEuMmVtO30KICAuYmxrLXl2Z2JoIC5wYWdlIC5zdGFjay1hdXRob3Ige21hcmdpbi10b3A6IDEwcHg7fQogIC5ibGsteXZnYmggLmxlYWQtbWVkaWEuaXMtaWZyYW1le2Jsb2NrLXNpemU6NDAwcHggIWltcG9ydGFudDt9CiAgLmJsay15dmdiaCAubGVhZC1tZWRpYXthc3BlY3QtcmF0aW86NC8zICFpbXBvcnRhbnQ7fQogIC5ibGsteXZnYmggLnBhZ2UgLmxlYWR7b3JkZXI6MX0KICAuYmxrLXl2Z2JoIC5wYWdlIC5jb2x1bW57b3JkZXI6Mn0KICAvKiBQb3IgZGViYWpvIGRlbCBicmVha3BvaW50LCBlbCBsZWFkLWJvZHkgc2llbXByZSB2dWVsdmUgYSBpciBkZWJham8gZGVsCiAgICAgbGVhZC1tZWRpYSAobm8gaGF5IHNpdGlvIHBhcmEgZWwgbGF5b3V0IGxhZG8gYSBsYWRvKS4gKi8KICAuYmxrLXl2Z2JoIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0LAogIC5ibGsteXZnYmggLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthc3BlY3QtcmF0aW86YXV0bzt9CiAgLmJsay15dmdiaCAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKICAuYmxrLXl2Z2JoIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjEgMSBhdXRvO30KICAuYmxrLXl2Z2JoIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCiAgLmJsay15dmdiaCAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXtmbGV4OjEgMSBhdXRvO2lubGluZS1zaXplOjkwJTttYXJnaW46LTMwcHggYXV0byAwO2Jsb2NrLXNpemU6YXV0bzthbGlnbi1zZWxmOmF1dG87anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7cGFkZGluZzoxMHB4O30KICAuYmxrLXl2Z2JoIC5wYWdlIC5jb2x1bW4taXRlbXtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KICAuYmxrLXl2Z2JoIC5wYWdlIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9CiAgLmJsay15dmdiaCAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMjEgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjIxcHggIWltcG9ydGFudDt9CiAgLmJsay15dmdiaCAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMTggLmxlZnQtdGl0bGV7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDt9CiAgLmJsay15dmdiaCAucGFnZSAubGVmdC1wbGF5ewogICAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICAgIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDsKICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4OwogIH0KICAuYmxrLXl2Z2JoIC5wYWdlIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICAgIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDBhN2ZmO2JvcmRlci10b3A6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206M3B4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjFweDsKICB9Cn0KLyogVGlwb2dyYWbtYSAiTfN2aWwiIChhbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL3RpdHVsYXJlcyBhbmltYWRvcykgY29uIFNVCiAgIFBST1BJTyBicmVha3BvaW50ICg0ODBweCksIHNlcGFyYWRvIGRlbCBkZSBhcnJpYmEgKDg2MHB4LCBzb2xvIHBhcmEgYXBpbGFyCiAgIGxhIHJlamlsbGEgY29sdW1uYStub3RpY2lhKTogdW4gY29udGVuZWRvciByZWFsIGRlIG1lbm9zIGRlIDg2MHB4IGVzIG11eQogICBoYWJpdHVhbCAocC5lai4gdW5hIGNvbHVtbmEgZGUgYXJ07WN1bG8gZGUgfjcwMHB4KSB5IE5PIGVzIHVuIG3zdmlsICYjODIxMjsgY29uCiAgIHVuIPpuaWNvIGJyZWFrcG9pbnQgY29tcGFydGlkbywgbGEgdGlwb2dyYWbtYSAiRGVzayIgcXVlIGNvbmZpZ3VyYSBlbAogICB1c3VhcmlvIG5vIGxsZWdhYmEgYSB2ZXJzZSBudW5jYSBlbiBlc2UgY2FzbywgY2F5ZW5kbyBzaWVtcHJlIGEgbG9zIHZhbG9yZXMKICAgcG9yIGRlZmVjdG8gZGUgIk3zdmlsIiBzaW4gcXVlIG5hZGllIGxvIGh1YmllcmEgcGVkaWRvLiA0ODBweCBz7SBzZQogICBjb3JyZXNwb25kZSBjb24gdW4gYW5jaG8gZGUgbfN2aWwgcmVhbCAobGEgdmlzdGEgIk3zdmlsIiBkZWwgcHJvcGlvIGdlc3RvcgogICBzaW11bGEgMzc1cHgpLiBJZ3VhbCBxdWUgZWwgYnJlYWtwb2ludCBkZSBhcnJpYmEsIHNlIG9taXRlIGR1cmFudGUgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBkZSBsYSBub3RpY2lhIHByaW5jaXBhbCAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGsteXZnYmggLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjEgIWltcG9ydGFudDtjb2xvcjojMWM5NTg3ICFpbXBvcnRhbnQ7fQogIC5ibGsteXZnYmggLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiMxYzk1ODcgIWltcG9ydGFudDt9CiAgLmJsay15dmdiaCAubGVhZC10aXRsZXtmb250LXNpemU6MS43NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgLmJsay15dmdiaCAubGVhZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLXl2Z2JoIC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLXl2Z2JoIC5sZWFkLWtpY2tlci1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLXl2Z2JoIC5sZWFkLWtpY2tlci1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay15dmdiaCAubGVhZC1zdWJ0aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLXl2Z2JoIC5sZWFkLXN1YnRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLXl2Z2JoIC5sZWFkLWFuaW0taGVhZGxpbmVze2ZvbnQtc2l6ZToxLjg3NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgCiAgLmJsay15dmdiaCAucmVsYXRlZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLXl2Z2JoIC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KfQouYmxrLXl2Z2JoIC5sZWFke2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6I2ZmZjtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLXl2Z2JoIC5sZWFkLW1lZGlhe3Bvc2l0aW9uOnJlbGF0aXZlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW59Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZTogYWx0byBmaWpvIGVuIHDteGVsZXMgZW4gdmV6IGRlIGxhIHByb3BvcmNp824gZGUKICAgYXJyaWJhICh2ZXIgY29tZW50YXJpbyBkZXRhbGxhZG8ganVudG8gYSBzdGF0ZS5sZWFkLmlmcmFtZUhlaWdodCkgJiM4MjEyOyBlbAogICB2YWxvciBkZSBN83ZpbCBzZSBzb2JyZXNjcmliZSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywgaWd1YWwgcXVlIGVsCiAgIHJlc3RvIGRlIG92ZXJyaWRlcyByZXNwb25zaXZlIGRlIGVzdGUgSFRNTCBleHBvcnRhZG8uICovCi5ibGsteXZnYmggLmxlYWQtbWVkaWEuaXMtaWZyYW1le2FzcGVjdC1yYXRpbzpub25lO2Jsb2NrLXNpemU6NjQwcHg7fQouYmxrLXl2Z2JoIC5sZWFkLW1lZGlhIGltZywKLmJsay15dmdiaCAubGVhZC1tZWRpYSB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci8qIENhcnJ1c2VsIGRlIGZvdG9zIGRlIGZvbmRvIGNvbiBlZmVjdG8gS2VuIEJ1cm5zICYjODIxMjsgdmVyIGVsIG1pc21vIGJsb3F1ZSwKICAgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuCiAgIExhIGR1cmFjafNuIGRlIGxhcyBhbmltYWNpb25lcyAoNnMpIGNvaW5jaWRlIGNvbgogICBMRUFEX0NBUk9VU0VMX0lOVEVSVkFMLCBxdWUgdGFtYmnpbiBnb2JpZXJuYSBlbCBzY3JpcHQgZGUgcm90YWNp824KICAgKGJ1aWxkTGVhZENhcm91c2VsU2NyaXB0KSBh8WFkaWRvIGFsIGZpbmFsIGRlbCBIVE1MIGV4cG9ydGFkby4gKi8KLmJsay15dmdiaCAubGVhZC1jYXJvdXNlbHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjt9Ci5ibGsteXZnYmggLmxlYWQtY2Fyb3VzZWwtc2xpZGV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDEuNXMgZWFzZTt9Ci5ibGsteXZnYmggLmxlYWQtY2Fyb3VzZWwtc2xpZGUuaXMtYWN0aXZle29wYWNpdHk6MTt6LWluZGV4OjE7fQouYmxrLXl2Z2JoIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7fQouYmxrLXl2Z2JoIC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChvZGQpIGltZ3thbmltYXRpb246YmxrLXl2Z2JoLWtlbmJ1cm5zLWEgNnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7fQouYmxrLXl2Z2JoIC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChldmVuKSBpbWd7YW5pbWF0aW9uOmJsay15dmdiaC1rZW5idXJucy1iIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KQGtleWZyYW1lcyBibGsteXZnYmgta2VuYnVybnMtYXsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gfQpAa2V5ZnJhbWVzIGJsay15dmdiaC1rZW5idXJucy1ieyBmcm9te3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IHRve3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoNCUsMyUpO30gfQovKiBDb24gdW5hIPpuaWNhIGZvdG8gKHNpbiByb3RhY2nzbiBwb3NpYmxlKSBzZSBhcGxpY2EgdW4gem9vbSBpbi9vdXQgZW4KICAgYnVjbGUgaW5maW5pdG8gZW4gdmV6IGRlbCByZWNvcnJpZG8g+m5pY28gKGZvcndhcmRzKSBkZSBhcnJpYmEuICovCi5ibGsteXZnYmggLmxlYWQtY2Fyb3VzZWwuaXMtc2luZ2xlIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3thbmltYXRpb246YmxrLXl2Z2JoLWtlbmJ1cm5zLWxvb3AgMTRzIGVhc2UtaW4tb3V0IGluZmluaXRlO30KQGtleWZyYW1lcyBibGsteXZnYmgta2VuYnVybnMtbG9vcHsgMCV7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gNTAle3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoLTQlLC0zJSk7fSAxMDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IH0KLyogQ29tcGFyYWRvciBhbnRlcy9kZXNwdelzIChkZXNsaXphZG9yKSAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXl2Z2JoIC5sZWFkLWNvbXBhcmV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7dG91Y2gtYWN0aW9uOm5vbmU7ei1pbmRleDoyO30KLmJsay15dmdiaCAubGVhZC1jb21wYXJlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjtkaXNwbGF5OmJsb2NrO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLWRyYWc6bm9uZTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay15dmdiaCAubGVhZC1jb21wYXJlLWJlZm9yZXtjbGlwLXBhdGg6aW5zZXQoMCA1MCUgMCAwKTt3aWxsLWNoYW5nZTpjbGlwLXBhdGg7fQouYmxrLXl2Z2JoIC5sZWFkLWNvbXBhcmUtcmFuZ2V7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTttYXJnaW46MDtvcGFjaXR5OjA7Y3Vyc29yOmV3LXJlc2l6ZTt9Ci5ibGsteXZnYmggLmxlYWQtY29tcGFyZS1oYW5kbGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDo1MCU7aW5saW5lLXNpemU6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6Mjt9Ci5ibGsteXZnYmggLmxlYWQtY29tcGFyZS1oYW5kbGU6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtpbmxpbmUtc2l6ZToycHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLC4yNSk7fQouYmxrLXl2Z2JoIC5sZWFkLWNvbXBhcmUtaGFuZGxlOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDotMTVweDtpbmxpbmUtc2l6ZTozMHB4O2Jsb2NrLXNpemU6MzBweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTggNiBMNCAxMCBMOCAxNCcvPjxwYXRoIGQ9J00xMiA2IEwxNiAxMCBMMTIgMTQnLz48L2c+PC9zdmc+IikgY2VudGVyLzE2cHggMTZweCBuby1yZXBlYXQ7Ym94LXNoYWRvdzowIDJweCA2cHggcmdiYSgwLDAsMCwuMjUpO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMjUpO30KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE1pc21vIHotaW5kZXg6MiBxdWUKICAgLmxlYWQtY29tcGFyZSwgcG9yIGVsIG1pc21vIG1vdGl2byAoZ2FuYXJsZSBhIC5sZWFkLWxpbmspLiAqLwouYmxrLXl2Z2JoIC5sZWFkLWlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTt6LWluZGV4OjI7fQouYmxrLXl2Z2JoIC5sZWFkLWlmcmFtZSBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay15dmdiaCAubGVhZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLXl2Z2JoIC5sZWFkLWJvZHl7cGFkZGluZzowcHggMjBweCAyMHB4IDIwcHg7O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7IHRleHQtYWxpZ246Y2VudGVyOyBhbGlnbi1pdGVtczpjZW50ZXI7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjY7IHBvaW50ZXItZXZlbnRzOm5vbmU7IGlubGluZS1zaXplOjk1JTsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OmF1dG87IG1hcmdpbi10b3A6LTMwcHg7IGJhY2tncm91bmQ6IzBFMTExQTsgZmxleDoxIDEgYXV0bzt9Ci8qIEFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vYXV0b3IgY2VudHJhZG9zIGVuIHZlcnRpY2FsIGRlbnRybyBkZWwgYWx0bwogICBzb2JyYW50ZSBiYWpvIGxhIGNhdGVnb3LtYSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXl2Z2JoIC5sZWFkLWJvZHktbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2lubGluZS1zaXplOjEwMCU7ZmxleDoxIDEgYXV0bzttaW4taGVpZ2h0OjA7fQovKiBBcGFyaWVuY2lhIG5lZ2F0aXZhIChwb3IgZGVmZWN0bykgdnMuIHBvc2l0aXZhIGRlIGxhIGNhamEgZGUgdGl0dWxhciAmIzgyMTI7IHZlcgogICBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXl2Z2JoIC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmxlYWQtYm9keXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO30KLmJsay15dmdiaCAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLXRpdGxlLAouYmxrLXl2Z2JoIC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmF1dGhvci1sYWJlbHtjb2xvcjojMEUxMTFBO30KLyogUG9zaWNp824gZGVsIGxlYWQtYm9keSByZXNwZWN0byBhbCBsZWFkLW1lZGlhICgnbGVmdCcvJ3JpZ2h0JykgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay15dmdiaCAubGVhZC5sZWFkLWJvZHktbGVmdCwKLmJsay15dmdiaCAubGVhZC5sZWFkLWJvZHktcmlnaHR7ZmxleC1kaXJlY3Rpb246cm93O2FzcGVjdC1yYXRpbzoyLjk2Mjk2Mjk2Mjk2Mjk2Mzt9Ci5ibGsteXZnYmggLmxlYWQubGVhZC1ib2R5LWxlZnR7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7fQouYmxrLXl2Z2JoIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLW1lZGlhLAouYmxrLXl2Z2JoIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjAgMCA2MCU7fQouYmxrLXl2Z2JoIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCi5ibGsteXZnYmggLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7ZmxleDowIDAgY2FsYyg0MCUgKyAzMHB4KTtpbmxpbmUtc2l6ZTphdXRvO21hcmdpbi10b3A6MDtibG9jay1zaXplOmNhbGMoMTAwJSAtIDQycHgpO2FsaWduLXNlbGY6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O30KLmJsay15dmdiaCAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5e21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0Oi0zMHB4O30KLmJsay15dmdiaCAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDotMzBweDttYXJnaW4tcmlnaHQ6MDt9Ci8qIFBvc2ljafNuICdib3R0b20tZnVsbCcgZGVsIGxlYWQtYm9keSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBpbmxpbmUtc2l6ZQogICBlbiB2ZXogZGUgd2lkdGggcG9yIGVsIG1pc21vIG1vdGl2byBxdWUgZWwgcmVzdG8gZGUgZXN0ZSBibG9xdWUgKGV2aXRhcgogICBsYSBwYWxhYnJhICJ3aWR0aDoiIHF1ZSBlbCBDTVMgZGVsIHVzdWFyaW8gZWxpbWluYSBhbCBwZWdhciBIVE1ML0NTUwogICBkaXJlY3RhbWVudGUpLiAqLwouYmxrLXl2Z2JoIC5sZWFkLmxlYWQtYm9keS1ib3R0b20tZnVsbCAubGVhZC1ib2R5ewogIGlubGluZS1zaXplOjEwMCU7CiAgbWFyZ2luOjA7CiAgcGFkZGluZy10b3A6MzBweDsKICBwYWRkaW5nLWJvdHRvbTozMHB4OwogIGJvcmRlcjpub25lOwp9Ci8qIEV0aXF1ZXRhIGRlIGV4Y2x1c2l2YSAobyB0ZXh0byBwZXJzb25hbGl6YWRvKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXl2Z2JoIC5sZWFkLWV4Y2x1c2l2ZS10YWd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4O3otaW5kZXg6MztkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2xldHRlci1zcGFjaW5nOjAuNXB4O3BhZGRpbmc6MnB4IDhweDtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOi44ZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3BvaW50ZXItZXZlbnRzOm5vbmU7fQovKiBTZWxlY3RvciBjb24gMyBjbGFzZXMgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoIi5sZWFkLW1lZGlhIGltZyIgdGFtYmnpbgogICBtYXRjaGVhIGVzdGUgPGltZz4geSBsZSBnYW5hYmEgZW4gZXNwZWNpZmljaWRhZCkuICovCi5ibGsteXZnYmggLmxlYWQtZXhjbHVzaXZlLXRhZyAubGVhZC1leGNsdXNpdmUtdGFnLWljb257cG9zaXRpb246c3RhdGljO2luc2V0OmF1dG87aW5saW5lLXNpemU6MTRweDtibG9jay1zaXplOjE0cHg7b2JqZWN0LWZpdDpjb250YWluO2ZsZXg6MCAwIGF1dG87ZGlzcGxheTpibG9jazt9Ci5ibGsteXZnYmggLmxlYWQtY2F0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7cGFkZGluZzoycHggOHB4O3RyYW5zZm9ybTpza2V3WSgtNmRlZyk7bWFyZ2luLXRvcDotMTVweDttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLXl2Z2JoIC5sZWFkLWtpY2tlciwgLmJsay15dmdiaCAubGVhZC1zdWJ0aXRsZXsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7dGV4dC10cmFuc2Zvcm06bm9uZTttYXJnaW46MDsKfQouYmxrLXl2Z2JoIC5sZWFkLWtpY2tlcntmb250LXdlaWdodDo3MDA7fQouYmxrLXl2Z2JoIC5sZWFkLXN1YnRpdGxle2ZvbnQtd2VpZ2h0OjYwMDt9Ci8qIFRhbWHxby9pbnRlcmxpbmVhZG8vY29sb3IgZGUgYW50ZXTtdHVsbyB5IHN1YnTtdHVsbyBlbiBEZXNrICh2YWxvcmVzIHBvcgogICBkZWZlY3RvIGRlbCBibG9xdWU7IGVsIG92ZXJyaWRlIGRlIE3zdmlsIHZhIGVuIGVsIEBjb250YWluZXIgZGUgbeFzIGFiYWpvLAogICB5YSBxdWUgZWwgSFRNTCBleHBvcnRhZG8gZXMgcmVzcG9uc2l2ZSB5IG5vIGRlcGVuZGUgZGUgcXXpIHZpc3RhIHR1dmllcmFzCiAgIHNlbGVjY2lvbmFkYSBlbiBlbCBnZXN0b3IgYWwgZXhwb3J0YXIvY29waWFyKS4gKi8KLmJsay15dmdiaCAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6IzFjOTU4Nzt9Ci5ibGsteXZnYmggLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6IzFjOTU4Nzt9Ci8qIHRleHQtd3JhcDpiYWxhbmNlICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwKICAgZGVsIGdlc3RvciAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgZXNhIHJlZ2xhKTogcmVwYXJ0ZSBsYXMKICAgbO1uZWFzIGRlbCB0aXR1bGFyIGRlIGZvcm1hIG3hcyB1bmlmb3JtZSBkZW50cm8gZGUgY2FkYSBkaXNwb3NpdGl2bywgc2luCiAgIHByZXRlbmRlciBpZ3VhbGFyIGVsIG76bWVybyBkZSBs7W5lYXMgZW50cmUgcGxhdGFmb3JtYXMgZGlzdGludGFzLiAqLwouYmxrLXl2Z2JoIC5sZWFkLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6MTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO3RleHQtd3JhcDpiYWxhbmNlO30KLyogVGl0dWxhciBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YSAodmVyIGJ1aWxkU2NvcGVkSFRNTCk6CiAgIHNlIGdlbmVyYW4gbG9zIGRvcyB0ZXh0b3MgKERlc2svTfN2aWwpIHkgYXF17SBzZSBtdWVzdHJhIHNvbG8gdW5vIHNlZ/puIGVsCiAgIGFuY2hvIHJlYWwgZGVsIGNvbnRlbmVkb3IgJiM4MjEyOyBlbCBtaXNtbyBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgeWEgdXNhIGVsCiAgIHJlc3RvIGRlbCBIVE1MIGV4cG9ydGFkbyBwYXJhIGFkYXB0YXJzZSBzaW4gZGVwZW5kZXIgZGUgSlMuICovCi5ibGsteXZnYmggLmxlYWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIEFudGV07XR1bG8vc3VidO10dWxvIGNvbiBzYWx0b3MgZGUgbO1uZWEgaW5kZXBlbmRpZW50ZXMgcG9yIHZpc3RhOiBtaXNtbwogICBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciAodmVyIGFycmliYSkuICovCi5ibGsteXZnYmggLmxlYWQta2lja2VyLW1vYmlsZSwgLmJsay15dmdiaCAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLyogVGl0dWxhciBkZSBub3RpY2lhIHJlbGFjaW9uYWRhIChjb2x1bW5hKSBjb24gdGV4dG8gcHJvcGlvIGVuIE3zdmlsICh2ZXIKICAgaXRlbS50aXRsZU1vYmlsZSBlbiBidWlsZENvbHVtbkl0ZW1UaXRsZUhUTUwpOiBtaXNtbyBtZWNhbmlzbW8gZGUKICAgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciBwcmluY2lwYWwgZGUgYXJyaWJhLiAqLwouYmxrLXl2Z2JoIC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQouYmxrLXl2Z2JoIC5hdXRob3ItbGFiZWx7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOnJpZ2h0O2Rpc3BsYXk6YmxvY2t9Ci5ibGsteXZnYmggLmNvbHVtbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjt9Ci5ibGsteXZnYmggLmNvbHVtbi1pdGVte2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO3BhZGRpbmc6MTBweDtiYWNrZ3JvdW5kOiNmZmY7YmxvY2stc2l6ZTpzdHJldGNoO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt9Ci5ibGsteXZnYmggLnRodW1ie3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjQvMztiYWNrZ3JvdW5kOiNlZWU7b3ZlcmZsb3c6aGlkZGVufQouYmxrLXl2Z2JoIC50aHVtYiBpbWcsCi5ibGsteXZnYmggLnRodW1iIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0KLmJsay15dmdiaCAudGh1bWIgLnBsYXktc3F1YXJlLAouYmxrLXl2Z2JoIC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsgYm90dG9tOjVweDsgbGVmdDo1cHg7CiAgaW5saW5lLXNpemU6MjVweDtibG9jay1zaXplOjI1cHg7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7CiAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTgpOwogIGN1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLCB0cmFuc2Zvcm0gLjEyczsKICB6LWluZGV4OjI7IGFuaW1hdGlvbjpibGsteXZnYmgtYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLmJsay15dmdiaCAudGh1bWIgLnBsYXktc3F1YXJlOjpiZWZvcmUsCi5ibGsteXZnYmggLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOjpiZWZvcmV7CiAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjZweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIG1hcmdpbi1sZWZ0OjJweDsKfQouYmxrLXl2Z2JoIC50aHVtYiAucGxheS1zcXVhcmU6aG92ZXIsCi5ibGsteXZnYmggLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOmhvdmVyeyBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC44NSk7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOyB9Ci5ibGsteXZnYmggLnN0YWNrLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE3cHg7bGluZS1oZWlnaHQ6MS4xNWVtO21hcmdpbjowO2NvbG9yOiMyYzNlNTM7fQouYmxrLXl2Z2JoIC5zdGFjay1hdXRob3J7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1ib29rIixzYW5zLXNlcmlmO2NvbG9yOiM4Mjg1OTU7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOHJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjExcHg7bGV0dGVyLXNwYWNpbmc6MDt0ZXh0LWFsaWduOnJpZ2h0O30KLyogU2luIGVzdGEgcmVnbGEgZWwgYXV0b3IgcXVlZGEgcGVnYWRvIGp1c3RvIGRlYmFqbyBkZWwgdGl0dWxhciBlbiB2ZXogZGUKICAgYWJham8gZGUgbGEgdGFyamV0YTogLm1vZC1zdGFjayBuZWNlc2l0YSBzZXIgZmxleC1jb2x1bW4gY29uCiAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIHBhcmEgcXVlIGVsIGh1ZWNvIHNvYnJhbnRlIChjdWFuZG8gbGEKICAgdGFyamV0YSBjcmVjZSBt4XMgcXVlIHN1IGNvbnRlbmlkbywgdmVyIC5jb2x1bW4taXRlbTpub3QoLmxheW91dC1tZWRpYS1ibG9jaykKICAgbeFzIGFiYWpvKSBlbXB1amUgZWwgYXV0b3IgaGFjaWEgZWwgYm9yZGUgaW5mZXJpb3IuICovCi5ibGsteXZnYmggLm1vZC1zdGFja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZsZXg6MSAxIGF1dG87fQovKiBFc3RpbG8gImZvdG8gcGVxdWXxYSArIHRpdHVsYXIiOiBmb3RvIDQ6MyBhIGxhIGl6cXVpZXJkYSwgdGV4dG8gYSBsYSBkZXJlY2hhLiAqLwouYmxrLXl2Z2JoIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tbGVmdHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjExMHB4IDFmcjtnYXA6MTBweDt9Ci8qIEVzdGlsbyAic29sbyB0ZXh0byIgKHBvciBkZWZlY3RvKTogZWwgYXV0b3Igc2UgcG9zaWNpb25hIGVuIGFic29sdXRvLAogICBhbmNsYWRvIGEgbGEgZXNxdWluYSBpbmZlcmlvciBkZXJlY2hhIGRlIGxhIHRhcmpldGEgKGlndWFsIHF1ZSBlbCBwbGF5IGRlCiAgIGxhcyBtaW5pYXR1cmFzKSwgZW4gdmV6IGRlIGRlcGVuZGVyIGRlIHF1ZSBlbCBibG9xdWUgZGUgdGV4dG8gdGVuZ2EgaHVlY28KICAgZGUgc29icmEgcGFyYSBlbXB1amFybG8gYWJham8gY29uIGZsZXhib3ggJiM4MjEyOyBjb24gdO10dWxvcyBkZSAyLTMgbO1uZWFzIGVzZQogICBodWVjbyBubyBleGlzdGUgeSBlbCBhdXRvciBudW5jYSBsbGVnYWJhIGEgYmFqYXIuIHBhZGRpbmctYm90dG9tIGVuCiAgIGxlZnQtYm9keSByZXNlcnZhIGVsIGVzcGFjaW8gcGFyYSBxdWUgZWwgdO10dWxvIG5vIHNlIHNvbGFwZSBjb24g6WwuICovCi5ibGsteXZnYmggLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5sZWZ0LWJvZHl7cGFkZGluZy1ib3R0b206MzNweDt9Ci5ibGsteXZnYmggLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5zdGFjay1hdXRob3J7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDtib3R0b206MTBweDttYXJnaW4tdG9wOjA7fQouYmxrLXl2Z2JoIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9Ci5ibGsteXZnYmggLmxlZnQtcGxheXsKICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7CiAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTogNHB4Owp9Ci5ibGsteXZnYmggLmxlZnQtcGxheTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo0cHggc29saWQgIzAwYTdmZjtib3JkZXItdG9wOjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDoxcHg7Cn0KLmJsay15dmdiaCAucmVsYXRlZC1saXZlLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGRjUwNTA7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGRjUwNTA7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGsteXZnYmggLnJlbGF0ZWQtZWRpdG9yaWFsLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGQUIxMjE7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGQUIxMjE7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGsteXZnYmggLnBsYXktYnV0dG9uewogIC8qIEFuY2hvL2FsdG8gZmlqb3MgZW4gdmV6IGRlIGFzcGVjdC1yYXRpbzoxLzEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhIChlbAogICAgIGPhbGN1bG8gZGUgInNocmluay10by1maXQiIHBhcmEgdW4gPGJ1dHRvbj4gZW4gYWJzb2x1dG8gc2luIHRhbWHxbwogICAgIGV4cGztY2l0byBubyBlcyBmaWFibGUgZW50cmUgbW90b3JlczsgZW4gV2ViS2l0L2lPUyBkYWJhIHVuIHJlY3Thbmd1bG8KICAgICB2ZXJ0aWNhbCBlc3RyZWNo7XNpbW8gZW4gdmV6IGRlIHVuIGN1YWRyYWRvKS4gKi8KICBhcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7CiAgcG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4OwogIGlubGluZS1zaXplOjM0cHg7YmxvY2stc2l6ZTozNHB4OwogIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjEwcHggMTBweCAxMHB4IDEycHg7CiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43KTsKICBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjQyKTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6M3B4OwogIGN1cnNvcjpwb2ludGVyO3otaW5kZXg6MjthbmltYXRpb246YmxrLXl2Z2JoLWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGsteXZnYmggLnBsYXktYnV0dG9uLnBvcy10b3AtcmlnaHR7dG9wOjEwcHg7cmlnaHQ6MTBweDtsZWZ0OmF1dG87Ym90dG9tOmF1dG87fQouYmxrLXl2Z2JoIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLWxlZnR7Ym90dG9tOjEwcHg7bGVmdDoxMHB4O3RvcDphdXRvO3JpZ2h0OmF1dG87fQouYmxrLXl2Z2JoIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0e2JvdHRvbToxMHB4O3JpZ2h0OjEwcHg7dG9wOmF1dG87bGVmdDphdXRvO30KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGsteXZnYmggLmxlYWQubGVhZC1ib2R5LWxlZnQgLnBsYXktYnV0dG9uLnBvcy10b3AtbGVmdCwKLmJsay15dmdiaCAubGVhZC5sZWFkLWJvZHktbGVmdCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1sZWZ0eyBsZWZ0OjQwcHg7IH0KLmJsay15dmdiaCAubGVhZC5sZWFkLWJvZHktcmlnaHQgLnBsYXktYnV0dG9uLnBvcy10b3AtcmlnaHQsCi5ibGsteXZnYmggLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci8qIFBvc2ljafNuICdib3R0b20nIHBvciBkZWZlY3RvOiBlbCBsZWFkLWJvZHkgc29sYXBhIDMwcHggc29icmUgZWwgYm9yZGUKICAgSU5GRVJJT1IgZGUgbGEgZm90by927WRlbyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBObyBhcGxpY2EgY29uICdib3R0b20tZnVsbCcKICAgbmkgY29uICdsZWZ0Jy8ncmlnaHQnIChhanVzdGUgaG9yaXpvbnRhbCBwcm9waW8sIHZlciBhcnJpYmEpLiAqLwouYmxrLXl2Z2JoIC5sZWFkOm5vdCgubGVhZC1ib2R5LWxlZnQpOm5vdCgubGVhZC1ib2R5LXJpZ2h0KTpub3QoLmxlYWQtYm9keS1ib3R0b20tZnVsbCkgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tbGVmdCwKLmJsay15dmdiaCAubGVhZDpub3QoLmxlYWQtYm9keS1sZWZ0KTpub3QoLmxlYWQtYm9keS1yaWdodCk6bm90KC5sZWFkLWJvZHktYm90dG9tLWZ1bGwpIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NDBweDsgfQouYmxrLXl2Z2JoIC5wbGF5LWJ1dHRvbiAucGxheS1pY29uewogIGlubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjtib3JkZXItdG9wOjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjZweCBzb2xpZCB0cmFuc3BhcmVudDsKfQouYmxrLXl2Z2JoIC5wbGF5LWJ1dHRvbiAucGxheS10ZXh0e2Rpc3BsYXk6bm9uZTt9CgovKiBUaXR1bGFyZXMgYW5pbWFkb3MgKGNhcGEgYWx0ZXJuYXRpdmEgc29icmUgbGVhZC1tZWRpYSkgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYQogICBoZXJyYW1pZW50YS4gQ2FkYSB0aXR1bGFyIHRpZW5lIHN1IHByb3BpYSBwb3NpY2nzbiAoY2xhc2UgcG9zLSosIHZlcgogICBidWlsZFNjb3BlZEhUTUwpIHkgc2UgcmV2ZWxhIGztbmVhIHBvciBs7W5lYSAodW5hIHZleiBtZWRpZGFzIHN1cyBs7W5lYXMKICAgcmVhbGVzIHBvciBlbCBzY3JpcHQgc3RhbmRhbG9uZSwgdmVyIGJ1aWxkQW5pbUhlYWRsaW5lc1NjcmlwdCkgY29uIHVuYQogICBjYWphIGRlIGZvbmRvIGRldHLhcyBkZSBjYWRhIGztbmVhIHkgdW4gZmFkZSBkZSBvcGFjaWRhZCBlbnRyZSB0aXR1bGFyZXMuICovCi5ibGsteXZnYmggLmxlYWQtYW5pbS1oZWFkbGluZXN7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgaW5zZXQ6MDsKICB6LWluZGV4OjQ7CiAgcG9pbnRlci1ldmVudHM6bm9uZTsKfQouYmxrLXl2Z2JoIC5sZWFkLWFuaW0taGVhZGxpbmV7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgbGVmdDoxNXB4OwogIG9wYWNpdHk6MDsKfQouYmxrLXl2Z2JoIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1sZWZ0eyBib3R0b206NjBweDsgfQouYmxrLXl2Z2JoIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1sZWZ0eyB0b3A6NjBweDsgfQouYmxrLXl2Z2JoIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1sZWZ0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLXl2Z2JoIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay15dmdiaCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQsCi5ibGsteXZnYmggLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBsZWZ0OmF1dG87IHJpZ2h0OjE1cHg7IH0KLmJsay15dmdiaCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHR7IHRvcDo2MHB4OyB9Ci5ibGsteXZnYmggLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLXl2Z2JoIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgYm90dG9tOjYwcHg7IH0KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGsteXZnYmggLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnQsCi5ibGsteXZnYmggLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnQsCi5ibGsteXZnYmggLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGxlZnQ6NDBweDsgfQouYmxrLXl2Z2JoIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQsCi5ibGsteXZnYmggLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay15dmdiaCAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci5ibGsteXZnYmggLmxlYWQtYW5pbS1oZWFkbGluZS5pcy1hY3RpdmV7IG9wYWNpdHk6MTsgfQouYmxrLXl2Z2JoIC5sZWFkLWFuaW0tbGluZXsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBkaXNwbGF5OnRhYmxlOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjsKICBmb250LXdlaWdodDo5MDA7CiAgY29sb3I6I2ZmZjsKICBwYWRkaW5nOjJweCA4cHg7CiAgY2xpcC1wYXRoOmluc2V0KDAgMTAwJSAwIDApOwogIG9wYWNpdHk6MTsKICB0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBlYXNlOwp9Ci5ibGsteXZnYmggLmxlYWQtYW5pbS1saW5lLmlzLWhpZGluZ3sgb3BhY2l0eTowOyB9Ci8qIFNvbGFwZSBkZSAxcHggZW50ZXJhIGVudHJlIGztbmVhcyBwYXJhIGNlcnJhciBlbCBoaWxvIGRlIHN1Yi1w7XhlbCBxdWUKICAgcHVlZGUgcXVlZGFyIGVudHJlIHN1cyBjYWphcyBkZSBmb25kbyAocmVkb25kZW8gZGUgYWx0dXJhcyBmcmFjY2lvbmFyaWFzKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBjb21lbnRhcmlvLCBkZXRhbGxhZG8sIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGsteXZnYmggLmxlYWQtYW5pbS1saW5lICsgLmxlYWQtYW5pbS1saW5lewogIG1hcmdpbi10b3A6LTFweDsKfQouYmxrLXl2Z2JoIC5sZWFkLWFuaW0tbGluZTpmaXJzdC1jaGlsZHsgcGFkZGluZy10b3A6NnB4OyB9Ci5ibGsteXZnYmggLmxlYWQtYW5pbS1saW5lOmxhc3QtY2hpbGR7IHBhZGRpbmctYm90dG9tOjZweDsgfQouYmxrLXl2Z2JoIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGsteXZnYmggLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay15dmdiaCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHQgLmxlYWQtYW5pbS1saW5leyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6MDsgfQouYmxrLXl2Z2JoIC5sZWFkLWFuaW0taGVhZGxpbmVzLmlzLXBvc2l0aXZlIC5sZWFkLWFuaW0tbGluZXsgY29sb3I6IzBFMTExQTsgfQouYmxrLXl2Z2JoIC5sZWFkLWFuaW0tbGluZS1iZ3sgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0OjA7IHotaW5kZXg6LTE7IH0KLmJsay15dmdiaCAubGVhZC1hbmltLWxpbmUtdGV4dHsgcG9zaXRpb246cmVsYXRpdmU7IH0KQGtleWZyYW1lcyBibGsteXZnYmgtYW5pbS1saW5lLXJldmVhbHsgdG97IGNsaXAtcGF0aDppbnNldCgwIDAgMCAwKTsgfSB9CgovKiBBbmNob3Igb3ZlcmxheSBmb3IgZnVsbCBjbGlja2FibGUgbGVhZCAqLwouYmxrLXl2Z2JoIC5sZWFkLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjF9CgovKiBIb3ZlciBvcGFjaXR5IGFuaW1hdGlvbiAqLwouYmxrLXl2Z2JoIC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAouYmxrLXl2Z2JoIC5jb2x1bW4taXRlbTpob3ZlcntvcGFjaXR5Oi44fQovKiBGb3RvIHByaW5jaXBhbCAoZmFsbGJhY2svc2luZ2xlKSBvIGNhcnJ1c2VsIGRlIGZvdG9zOiBvcGFjaWRhZCAwLjkgYWwKICAgcGFzYXIgZWwgcmF0824gcG9yIGxhIHRhcmpldGEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4KICAgbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGEgdu1kZW8gbmkgYWwKICAgY29tcGFyYWRvciBhbnRlcy9kZXNwdelzLiAqLwouYmxrLXl2Z2JoIC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLXl2Z2JoIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay15dmdiaCAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKLmJsay15dmdiaCAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6Ljk7fQovKiBFbiBlbCBhbmNobyBt83ZpbCAobWlzbW8gQGNvbnRhaW5lciBxdWUgZWwgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvKSBubwogICBhcGxpY2EgZXN0YSBhbmltYWNp824gZGUgb3BhY2lkYWQgc29icmUgbGEgbm90aWNpYSBwcmluY2lwYWw6IHZhIERFU1BVyVMKICAgZGUgbGEgcmVnbGEgZ2VuZXJhbCBkZSBhcnJpYmEgKG1pc21hIGVzcGVjaWZpY2lkYWQpIHBhcmEgcG9kZXIgZ2FuYXJsZS4KICAgT21pdGlkbywgaWd1YWwgcXVlIGVsIGJsb3F1ZSBkZSB0aXBvZ3JhZu1hIGRlIGFycmliYSwgbWllbnRyYXMgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBlc3TpIGFjdGl2YSAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGsteXZnYmggLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCiAgLmJsay15dmdiaCAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKICAuYmxrLXl2Z2JoIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eToxO30KfQoKLyogQW5pbWFjafNuIGNvbXBhcnRpZGEgcGxheSBwcmluY2lwYWwgKyBjdWFkcmFkb3MgcGxheSBhcGlsYWRhcyAqLwpAa2V5ZnJhbWVzIGJsay15dmdiaC1ibGlua3sKICAwJSwxMDAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpfQogIDUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LDAuOSl9Cn0KLyogQ2FiZWNlcmEgKi8KLmJsay15dmdiaCAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxMHB4IDAgMzJweH0KLmJsay15dmdiaCAuZm5kLWxpbmVhe2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTo1cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW4tdG9wOi0xOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICMzMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzMzM30KLmJsay15dmdiaCAuc2VjdGlvbi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LTFweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6NHB4IDEzcHg7Ym9yZGVyOjFweCBzb2xpZCAjMEUxMTFBO3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKTtmb250LXNpemU6NDJweDtjb2xvcjojMEUxMTFBO30KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsuYmxrLXl2Z2JoIC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MCAxMHB4fX0KLyogQ2FiZWNlcmEgJiM4MjEyOyBEaXNl8W8gMiAodGl0dWxhciArIGNhcnJ1c2VsIGRlIGxvZ290aXBvcykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay15dmdiaCAuaGVhZGVyMntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoyMHB4O3BhZGRpbmctYm90dG9tOjVweDttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzBFMTExQTt9Ci8qIGFsaWduLXNlbGY6ZmxleC1lbmQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSAxNXB4IGRlIGxhIGztbmVhIHNlcGFyYWRvcmEKICAgZW4gRGVzayAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MKICAgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXl2Z2JoIC5oZWFkZXIyLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtmbGV4OjEgMSA1MCU7bWluLWlubGluZS1zaXplOjA7YWxpZ24tc2VsZjpmbGV4LWVuZDt9Ci5ibGsteXZnYmggLmhlYWRlcjItdGFnc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleDowIDAgYXV0bzt9Ci8qIE1pc21vIHRhbWHxby90aXBvZ3JhZu1hIHF1ZSAubGVhZC1leGNsdXNpdmUtdGFnIChsYSBkZSBsYSBub3RpY2lhCiAgIHByaW5jaXBhbCkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZQogICBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay15dmdiaCAuaGVhZGVyMi1jYXQtdGFnLAouYmxrLXl2Z2JoIC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWd7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6LjhlbTtsZXR0ZXItc3BhY2luZzouNXB4O3BhZGRpbmc6MnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7fQouYmxrLXl2Z2JoIC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay15dmdiaCAuaGVhZGVyMi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZTozNnB4O2xpbmUtaGVpZ2h0OjEuMDU7Y29sb3I6IzBFMTExQTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWluLWlubGluZS1zaXplOjA7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO30KLyogU2VwYXJhY2nzbiBkZSAxMHB4IGVudHJlIGVsIHRleHRvIGRlIHBhdHJvY2luaW8geSBlbCBsb2dvIGVuIERlc2sgJiM4MjEyOyBlbgogICBN83ZpbCBzaWd1ZSBzaW4gc2VwYXJhY2nzbiAoZ2FwOjAsIHZlciBAY29udGFpbmVyIG3hcyBhYmFqbykuICovCi5ibGsteXZnYmggLmhlYWRlcjItbG9nb3Mtd3JhcHtmbGV4OjAgMCBhdXRvO21heC1pbmxpbmUtc2l6ZTo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7fQovKiBFdGlxdWV0YSBvcGNpb25hbCBqdW50byBhbCBjYXJydXNlbCBkZSBsb2dvcyAocC5lai4gIlBhdHJvY2luYWRvIHBvcjoiKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXl2Z2JoIC5oZWFkZXIyLWxvZ29zLWxhYmVse2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjY3O3doaXRlLXNwYWNlOm5vd3JhcDt9Ci5ibGsteXZnYmggLmhlYWRlcjItbG9nb3N7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTYwcHg7YmxvY2stc2l6ZTo1MHB4O2ZsZXgtc2hyaW5rOjA7fQouYmxrLXl2Z2JoIC5oZWFkZXIyLWxvZ29zIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO21hcmdpbjphdXRvO21heC1pbmxpbmUtc2l6ZToxMDAlO21heC1ibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb250YWluO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIGVhc2UtaW4tb3V0O30KLmJsay15dmdiaCAuaGVhZGVyMi1sb2dvcyBpbWcuaXMtYWN0aXZle29wYWNpdHk6MTt9Ci8qIElndWFsIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsOiBwb3IgZGViYWpvIGRlIGVzdGUgYW5jaG8gc2UKICAgaW50ZW50YSBwcmltZXJvIDEgU09MQSBGSUxBIChldGlxdWV0YXMrdGl0dWxhciBqdW50byBhbCBsb2dvLCBpZ3VhbCBxdWUKICAgZW4gRGVzaywgYSB0YW1h8W8gcmVkdWNpZG8pLiBFbCBibG9xdWUgZGUgbG9nb3MgbWFudGllbmUgU0lFTVBSRSBzdQogICBkaXNwb3NpY2nzbiBlbiBjb2x1bW5hIChldGlxdWV0YSBkZSBwYXRyb2NpbmlvIGVuY2ltYSBkZWwgbG9nbywKICAgYWxpbmVhZG9zIGEgbGEgZGVyZWNoYSwgc2luIHNlcGFyYWNp824pIHRhbnRvIGVuIGVzdGEgZmlsYSD6bmljYSBjb21vIGVuCiAgIGVsIHJlc2d1YXJkbyBkZSBhYmFqby4gU2kgZWwgdGl0dWxhciwgc3VtYWRvIGFsIGFuY2hvIGRlIGxhcyBldGlxdWV0YXMKICAgYWN0aXZhcyAoY2F0ZWdvcu1hIHkvbyBleGNsdXNpdmEsIHNpIGxhcyBoYXkpLCBzdXBlcmEgZWwgNTUlIGRlbCBhbmNobwogICB0b3RhbCBkZSBsYSBjYWJlY2VyYSAoY2FkYSB1bm8gbWVkaWRvIGEgdW5hIHNvbGEgbO1uZWEpLCBlbCBzY3JpcHQKICAgc3RhbmRhbG9uZSBh8WFkaWRvIGFsIGZpbmFsIGRlIGVzdGUgSFRNTCAodmVyCiAgIGJ1aWxkSGVhZGVyMlN0YWNraW5nU2NyaXB0KCkpIGxvIGRldGVjdGEgbWlkaWVuZG8gc3UgYW5jaG8gbmF0dXJhbAogICB5IGHxYWRlIGxhIGNsYXNlICJoZWFkZXIyLXN0YWNrZWQiOiBlbCBibG9xdWUgZGUKICAgbG9nb3Mgc3ViZSBlbnRvbmNlcyBhIHN1IHByb3BpYSBmaWxhIChhbGluZWFkbyBhIGxhIGRlcmVjaGEpIHkKICAgdGl0dWxhcitldGlxdWV0YXMgYmFqYW4gYSBsYSBmaWxhIGRlIGFiYWpvLCBhIGFuY2hvIGNvbXBsZXRvICYjODIxMjsgbWlzbW8KICAgbGF5b3V0IGRlIDIgZmlsYXMgcXVlIGhhYu1hIGFudGVzIHNpZW1wcmUgcG9yIGRlYmFqbyBkZSBlc3RlIGJyZWFrcG9pbnQsCiAgIGFob3JhIHNvbG8gY29tbyByZXNndWFyZG8uIERlbnRybyBkZSBlc2UgcmVzZ3VhcmRvLCBjb24gZXRpcXVldGEocykgZWwKICAgdGl0dWxhciBwYXNhIGFkZW3hcyBhIHN1IFBST1BJQSBmaWxhIGEgYW5jaG8gY29tcGxldG8sIGRlYmFqbyBkZSBsYSBmaWxhIGRlIGV0aXF1ZXRhcyAodmVyCiAgICIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnQiIG3hcyBhYmFqbykuIEVsIGxvZ28gc2UgcmVkdWNlIHVuIDIwJQogICAoMTYweDUwICYjODU5NDsgMTI4eDQwKS4KICAgYWxpZ24tc2VsZjpmbGV4LWVuZCBlbiBoZWFkZXIyLWxlZnQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSBsb3MgMTBweAogICBkZWwgcGFkZGluZy1ib3R0b20gcmVzcGVjdG8gYSBsYSBs7W5lYSBzZXBhcmFkb3JhICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlCiAgIGVuIERlc2sgKHZlciBoZWFkZXIyLWxlZnQgbeFzIGFycmliYSk6IHNpbiBlc3RvLCBhbCBzZXIgZWwgYmxvcXVlIGRlCiAgIGxvZ29zIG3hcyBhbHRvIHF1ZSBlbCB0aXR1bGFyLCBlbCBjZW50cmFkbyB2ZXJ0aWNhbCBkZWwgcm93IGRlamFiYSB1bgogICBodWVjbyBtYXlvciBlbnRyZSBlbCB0aXR1bGFyIHkgbGEgbO1uZWEuIEVsIGJsb3F1ZSBkZSBsb2dvcyBzaWd1ZQogICBjZW50cmFkbyAoc2luIGVzZSBvdmVycmlkZSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay15dmdiaCAuaGVhZGVyMntmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4O30KICAuYmxrLXl2Z2JoIC5oZWFkZXIyLWxlZnR7b3JkZXI6MTthbGlnbi1zZWxmOmZsZXgtZW5kO30KICAuYmxrLXl2Z2JoIC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MjthbGlnbi1zZWxmOmNlbnRlcjttYXgtaW5saW5lLXNpemU6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC5ibGsteXZnYmggLmhlYWRlcjItbG9nb3N7aW5saW5lLXNpemU6MTI4cHg7YmxvY2stc2l6ZTo0MHB4O30KICAuYmxrLXl2Z2JoIC5oZWFkZXIyLXRpdGxle2ZvbnQtc2l6ZToyN3B4O30KICAuYmxrLXl2Z2JoIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDt9CiAgLmJsay15dmdiaCAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdHtvcmRlcjoyO2FsaWduLXNlbGY6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NXB4O30KICAuYmxrLXl2Z2JoIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjE7bWF4LWlubGluZS1zaXplOjEwMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC8qIFJlc2d1YXJkbyBpbnRlcm1lZGlvICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YTogc29sbyBlbCB0aXR1bGFyIGJhamEgYSBzdQogICAgIHByb3BpYSBmaWxhIGEgYW5jaG8gY29tcGxldG8gY3VhbmRvIGxhcyBldGlxdWV0YXMgU80gY2FiZW4ganVudG8gYWwKICAgICBsb2dvIHBlcm8gZWwgdGl0dWxhciBuby4gaGVhZGVyMi1sZWZ0IHBhc2EgZGUgZmlsYSBhIGNvbHVtbmEKICAgICAoZXRpcXVldGFzIGFycmliYSwgdGl0dWxhciBkZWJham8pIHkgcmVjdXBlcmEgYWxpZ24tc2VsZjphdXRvIHBhcmEKICAgICBjZW50cmFyc2UgdmVydGljYWxtZW50ZSBjb250cmEgZWwgbG9nbyAoYWxpZ24tc2VsZjpjZW50ZXIgZGUgbGEgcmVnbGEKICAgICBiYXNlIGRlIC5oZWFkZXIyLWxvZ29zLXdyYXAsIGFycmliYSksIGlndWFsIHF1ZSBlbiBlbCByZXN0byBkZSBlc3RhZG9zLiAqLwogIC5ibGsteXZnYmggLmhlYWRlcjIuaGVhZGVyMi10aXRsZS1iZWxvdyAuaGVhZGVyMi1sZWZ0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLXNlbGY6YXV0bztnYXA6NXB4O30KfQoKLyogRXN0aWxvICJmb3RvIGdyYW5kZSArIHRpdHVsYXIiOiBmb3RvIDE2OjkgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbyAmIzgyMTI7IGVsZWdpYmxlCiAgIHBvciBub3RpY2lhIGRlc2RlIGVsIGdlc3Rvci4gTm8gc2UgcmVzdHJpbmdlIGNvbiBAY29udGFpbmVyIHBvcnF1ZQogICAuY29sdW1uLWl0ZW0geWEgZXMgYmxvY2sgcG9yIGRlZmVjdG8gKGVsIHRodW1iIHkgZWwgdGV4dG8gc2UgYXBpbGFuIHNvbG9zCiAgIHNpbiBt4XMgYWp1c3RlKSwgYXPtIHF1ZSBlbCBkaXNl8W8gZnVuY2lvbmEgaWd1YWwgZGUgYmllbiBlbiBjdWFscXVpZXIKICAgYW5jaG8sIERlc2sgbyBN83ZpbC4gKi8KLmJsay15dmdiaCAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay15dmdiaCAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAudGh1bWJ7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLXl2Z2JoIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXdlaWdodDo5MDA7fQovKiBFbiBN83ZpbCBlbCB0aXR1bGFyIGRlIGVzdGUgZGlzZfFvIHNlIG11ZXN0cmEgbeFzIGdyYW5kZSAoMS41cmVtIGVuIHZleiBkZQogICBsb3MgMS4ycmVtIGRlIERlc2spICYjODIxMjsgbWlzbWEgZXNwZWNpZmljaWRhZCAoMyBjbGFzZXMpIHF1ZSBsYSByZWdsYSBkZQogICBhcnJpYmE7IGFsIGlyIERFU1BVyVMgZW4gZWwgQ1NTIGdhbmEgcG9yIG9yZGVuIGRlIGNhc2NhZGEuIFNlIHVzYSBlbAogICBicmVha3BvaW50IGRlIDQ4MHB4IChlbCBkZSB0aXBvZ3JhZu1hIGVuIGVzdGEgYXBwLCBubyBlbCBkZSA4NjBweCBxdWUgYXF17QogICBzb2xvIGdvYmllcm5hIGVsIGFwaWxhZG8gZGUgY29sdW1uYXMpIHBhcmEgcXVlIGNvaW5jaWRhIGNvbiBlbCByZXN0byBkZQogICBjYW1iaW9zIGRlIHRleHRvL3RhbWHxbyBwb3IgdmlzdGEuIE5vIGFmZWN0YSBhbCByZXNndWFyZG8gZGUgMiBjb2x1bW5hcyBlbgogICBt83ZpbCAobW9iLWdyaWQpLCBt4XMgZXNwZWPtZmljbyAoMThweCwgdmVyIG3hcyBhcnJpYmEpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGsteXZnYmggLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjEuNXJlbTt9Cn0KLyogRXN0aWxvICJCbG9xdWUgbWVkaWEiICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGsteXZnYmggLm1lZGlhLWJsb2NrLW1lZGlhe2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOmF1dG87fQouYmxrLXl2Z2JoIC5tZWRpYS1ibG9jay13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXl2Z2JoIC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLXl2Z2JoIC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcCBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay15dmdiaCAuY29sdW1uLWl0ZW0ubGF5b3V0LW1lZGlhLWJsb2Nre2JvcmRlcjpub25lO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2Jsb2NrLXNpemU6YXV0bztmbGV4OjAgMCBhdXRvO30KLmJsay15dmdiaCAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spe2ZsZXg6MSAxIGF1dG87fQo8L3N0eWxlPgoKPGRpdiBjbGFzcz0iYmxrLXl2Z2JoIj4KICAKICA8bWFpbiBjbGFzcz0icGFnZSI+CiAgICAKICAgIDxhcnRpY2xlIGNsYXNzPSJsZWFkIGxlYWQtYm9keS1sZWZ0Ij4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1tZWRpYSI+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS91bmEtZW1wbGVhZGEtZGUtbG9zLXByb3N0aWJ1bG9zLWRlbC1zdWVncm8tZGUtc2FuY2hlei1hLW9rZGlhcmlvLWNvcnJpYS1sYS1jb2NhLXktc2UtZGVqYWJhbi1ib2xzYXMtbGxlbmFzLWRlLWJpbGxldGVzLTIwMjYxMDE1LTA3MTkxNS04ZTliZDYuZ2lmIiBhbHQ9IlVuYSBlbXBsZWFkYSBkZSBsb3MgcHJvc3TtYnVsb3MgZGVsIHN1ZWdybyBkZSBT4W5jaGV6IGEgT0tESUFSSU86ICZxdW90O0NvcnLtYSBsYSBjb2NhIHkgc2UgZGVqYWJhbiBib2xzYXMgbGxlbmFzIGRlIGJpbGxldGVzJnF1b3Q7IiBsb2FkaW5nPSJlYWdlciIgZmV0Y2hwcmlvcml0eT0iaGlnaCIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsZWFkLW92ZXJsYXkiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTQsMTcsMjYsMC4wMCk7Ij48L2Rpdj4KICAgICAgICAKICAgICAgICA8YnV0dG9uIGNsYXNzPSJwbGF5LWJ1dHRvbiBwb3MtdG9wLWxlZnQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48ZGl2IGNsYXNzPSJwbGF5LWljb24iPjwvZGl2PjxzcGFuIGNsYXNzPSJwbGF5LXRleHQiPlBsYXk8L3NwYW4+PC9idXR0b24+CiAgICAgICAgCiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJsZWFkLWJvZHkiIHN0eWxlPSJiYWNrZ3JvdW5kOiMxYzk1ODc7Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGVhZC1jYXQiIHN0eWxlPSJiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzFjOTU4NyI+SU5WRVNUSUdBQ0nTTjwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJsZWFkLWJvZHktbWFpbiI+CiAgICAgICAgICAKICAgICAgICAgIDxoMiBjbGFzcz0ibGVhZC10aXRsZSI+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtZGVzayI+VW5hIGVtcGxlYWRhIGRlIGxvcyBwcm9zdO1idWxvcyBkZWwgc3VlZ3JvIGRlIFPhbmNoZXogYSBPS0RJQVJJTzogJnF1b3Q7Q29ycu1hIGxhIGNvY2EgeSBzZSBkZWphYmFuIGJvbHNhcyBsbGVuYXMgZGUgYmlsbGV0ZXMmcXVvdDs8L3NwYW4+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtbW9iaWxlIj5VbmEgZW1wbGVhZGEgZGUgbG9zIHByb3N07WJ1bG9zIGRlbCBzdWVncm8gZGUgU+FuY2hleiBhIE9LRElBUklPOiAmcXVvdDtDb3Jy7WEgbGEgY29jYSB5IHNlIGRlamFiYW4gYm9sc2FzIGxsZW5hcyBkZSBiaWxsZXRlcyZxdW90Ozwvc3Bhbj48L2gyPgogICAgICAgICAgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aG9yLWxhYmVsIj5GZXJu4W4gR29ueuFsZXo8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YSBjbGFzcz0ibGVhZC1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9pbnZlc3RpZ2FjaW9uL2VtcGxlYWRhLXByb3N0aWJ1bG9zLWRlbC1zdWVncm8tc2FuY2hlei1va2RpYXJpby1jb3JyaWEtY29jYS1hY3VtdWxhYmFuLWJvbHNhcy1iaWxsZXRlcy0yMDU1MTMwNSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJVbmEgZW1wbGVhZGEgZGUgbG9zIHByb3N07WJ1bG9zIGRlbCBzdWVncm8gZGUgU+FuY2hleiBhIE9LRElBUklPOiAmcXVvdDtDb3Jy7WEgbGEgY29jYSB5IHNlIGRlamFiYW4gYm9sc2FzIGxsZW5hcyBkZSBiaWxsZXRlcyZxdW90OyIgYXJpYS1sYWJlbD0iVW5hIGVtcGxlYWRhIGRlIGxvcyBwcm9zdO1idWxvcyBkZWwgc3VlZ3JvIGRlIFPhbmNoZXogYSBPS0RJQVJJTzogJnF1b3Q7Q29ycu1hIGxhIGNvY2EgeSBzZSBkZWphYmFuIGJvbHNhcyBsbGVuYXMgZGUgYmlsbGV0ZXMmcXVvdDsiPjwvYT4KICAgIDwvYXJ0aWNsZT4KICA8L21haW4+CjwvZGl2PgoKPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgdmFyIGFydGljbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYmxrLXl2Z2JoIC5sZWFkJyk7CiAgaWYgKCFhcnRpY2xlKSByZXR1cm47CiAgdmFyIG1haW4gPSBhcnRpY2xlLnF1ZXJ5U2VsZWN0b3IoJy5sZWFkLWJvZHktbWFpbicpOwogIHZhciB0aXRsZUVsID0gYXJ0aWNsZS5xdWVyeVNlbGVjdG9yKCcubGVhZC10aXRsZScpOwogIGlmICghbWFpbiB8fCAhdGl0bGVFbCkgcmV0dXJuOwogIHZhciBiYXNlRm9udFNpemVQeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aXRsZUVsKS5mb250U2l6ZSkgfHwgMDsKICBpZiAoIWJhc2VGb250U2l6ZVB4KSByZXR1cm47CiAgdmFyIE1BWF9TQ0FMRSA9IDEuODsKICB2YXIgTUlOX1NDQUxFID0gMC41OwogIHZhciBNQVhfRk9OVF9QWCA9IDY0OyAvLyB+NHJlbSBjb24gbGEgYmFzZSBoYWJpdHVhbCBkZSAxNnB4IChtaXNtbyB0b3BlIHF1ZSBmaXRMZWFkVGl0bGVUb0JveCgpIGVuIGVsIGdlc3RvcikKICB2YXIgYm9keVBvc2l0aW9uQmxvY2tzRml0ID0gYXJ0aWNsZS5jbGFzc0xpc3QuY29udGFpbnMoJ2xlYWQtYm9keS1sZWZ0JykgfHwgYXJ0aWNsZS5jbGFzc0xpc3QuY29udGFpbnMoJ2xlYWQtYm9keS1yaWdodCcpOwogIGZ1bmN0aW9uIGZpdCgpewogICAgaWYgKGJvZHlQb3NpdGlvbkJsb2Nrc0ZpdCkgcmV0dXJuOwogICAgdGl0bGVFbC5zdHlsZS5mb250U2l6ZSA9IGJhc2VGb250U2l6ZVB4ICsgJ3B4JzsKICAgIHZhciBhdmFpbGFibGVIZWlnaHQgPSBtYWluLmNsaWVudEhlaWdodDsKICAgIGlmICghYXZhaWxhYmxlSGVpZ2h0KSByZXR1cm47CiAgICAvLyBWZXIgbWlzbW8gY29tZW50YXJpbywgZGV0YWxsYWRvLCBlbiBmaXRMZWFkVGl0bGVUb0JveCgpIGRlbCBnZXN0b3I6CiAgICAvLyBtYWluLnNjcm9sbEhlaWdodCBudW5jYSBiYWphIGRlIGNsaWVudEhlaWdodCBhdW5xdWUgZWwgY29udGVuaWRvIHJlYWwKICAgIC8vIG9jdXBlIG1lbm9zLCBhc+0gcXVlIG5vIHNpcnZlIHBhcmEgZGV0ZWN0YXIgY3XhbnRvIHNvYnJhIG8gZmFsdGEgY29uCiAgICAvLyBlbCB0aXR1bGFyIGFjdHVhbCAmIzgyMTI7IHNlIHN1bWEgZW4gc3UgbHVnYXIgZWwgYWx0byByZWFsIGRlIGNhZGEgaGlqbwogICAgLy8gVklTSUJMRSBkZWwgYmxvcXVlLCBzYWx2byBlbCBwcm9waW8gdGl0dWxhciwgbeFzIGVsIGh1ZWNvICgiZ2FwIikKICAgIC8vIGVudHJlIGVsbG9zOyBubyBjYW1iaWEgY29uIGVsIHRhbWHxbyBkZWwgdGl0dWxhciwgYXPtIHF1ZSBzZSBtaWRlIHVuYQogICAgLy8gc29sYSB2ZXosIGFudGVzIGRlIGxhIGL6c3F1ZWRhIGJpbmFyaWEuCiAgICB2YXIgZ2FwUHggPSBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUobWFpbikucm93R2FwKSB8fCBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUobWFpbikuZ2FwKSB8fCAwOwogICAgdmFyIHZpc2libGVDaGlsZHJlbiA9IFtdLnNsaWNlLmNhbGwobWFpbi5jaGlsZHJlbikuZmlsdGVyKGZ1bmN0aW9uKGMpeyByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShjKS5kaXNwbGF5ICE9PSAnbm9uZSc7IH0pOwogICAgdmFyIG90aGVyc0hlaWdodCA9IHZpc2libGVDaGlsZHJlbi5maWx0ZXIoZnVuY3Rpb24oYyl7IHJldHVybiBjICE9PSB0aXRsZUVsOyB9KS5yZWR1Y2UoZnVuY3Rpb24oc3VtLCBjKXsgcmV0dXJuIHN1bSArIGMub2Zmc2V0SGVpZ2h0OyB9LCAwKQogICAgICArIGdhcFB4ICogTWF0aC5tYXgoMCwgdmlzaWJsZUNoaWxkcmVuLmxlbmd0aCAtIDEpOwogICAgdmFyIGF2YWlsYWJsZUZvclRpdGxlID0gTWF0aC5tYXgoMCwgYXZhaWxhYmxlSGVpZ2h0IC0gb3RoZXJzSGVpZ2h0KTsKICAgIGlmICghYXZhaWxhYmxlRm9yVGl0bGUpIHJldHVybjsKICAgIGZ1bmN0aW9uIGhlaWdodEF0U2NhbGUoc2NhbGUpewogICAgICB0aXRsZUVsLnN0eWxlLmZvbnRTaXplID0gTWF0aC5taW4oYmFzZUZvbnRTaXplUHggKiBzY2FsZSwgTUFYX0ZPTlRfUFgpICsgJ3B4JzsKICAgICAgcmV0dXJuIHRpdGxlRWwub2Zmc2V0SGVpZ2h0OwogICAgfQogICAgdmFyIGxvID0gTUlOX1NDQUxFLCBoaSA9IE1BWF9TQ0FMRTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgODsgaSsrKXsKICAgICAgdmFyIG1pZCA9IChsbyArIGhpKSAvIDI7CiAgICAgIGlmIChoZWlnaHRBdFNjYWxlKG1pZCkgPD0gYXZhaWxhYmxlRm9yVGl0bGUpIGxvID0gbWlkOyBlbHNlIGhpID0gbWlkOwogICAgfQogICAgaGVpZ2h0QXRTY2FsZShsbyk7CiAgfQogIGZpdCgpOwogIGlmIChkb2N1bWVudC5mb250cyAmJiBkb2N1bWVudC5mb250cy5yZWFkeSl7IGRvY3VtZW50LmZvbnRzLnJlYWR5LnRoZW4oZml0KTsgfQogIGlmICh3aW5kb3cuUmVzaXplT2JzZXJ2ZXIpeyBuZXcgUmVzaXplT2JzZXJ2ZXIoZml0KS5vYnNlcnZlKGFydGljbGUpOyB9CiAgZWxzZSB7IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBmaXQpOyB9Cn0pKCk7Cjwvc2NyaXB0Pg==
    • Última hora de las huelgas, elecciones generales del 29-N y actualidad política hoy | Feijóo defenderá en Bruselas su plan para blindar las fronteras
        • España
        • España
      • EN DIRECTO

      la asociación de fiscales muestra su "Apoyo y solidaridad" a la jueza biedma ante las "posibles actuaciones de presión"

      • CARMEN CANALES
      • 2026-10-15 09:16
    • Cayetana Álvarez de Toledo: Vamos a acabar con los tezanos, las intxaurrondos y los pumpidos
        • España
        • España

      Cayetana Álvarez de Toledo: "Vamos a acabar con los tezanos, las intxaurrondos y los pumpidos"

      • Alejandro Arias de Esteban
      • 2026-10-15 13:42
    • Ayuso acusa a la izquierda de volverse extremadamente violenta cuando va a perder las elecciones
        • España
        • España

      Ayuso acusa a la izquierda de "volverse extremadamente violenta cuando va a perder las elecciones"

      • Pablo Romero-Salazar
      • 2026-10-15 11:08
    • PHN0eWxlPgogIEBpbXBvcnQgdXJsKCdodHRwczovL3VzZS50eXBla2l0Lm5ldC9pcWExcWViLmNzcycpOwoKICAuYmlsZHMtYWs2NnF6NXd7IGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTsgfQogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtZGVzaywKICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLW1vYntwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTllOWVjfQogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtZGVza3sKICAgIHdpZHRoOjEwMCU7bWF4LXdpZHRoOjk2MHB4O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NDYwcHggMWZyO2dhcDoxMHB4O3BhZGRpbmc6MTBweDttaW4td2lkdGg6OTYwcHg7CiB9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNrIC5tZWRpYS13cmFwe3dpZHRoOjQ2MHB4fQogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtZGVzayAubWVkaWEsCiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLm1lZGlhewogICAgcG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTthc3BlY3QtcmF0aW86MTYvOTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojMDAwO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtpc29sYXRpb246aXNvbGF0ZTsKICB9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNrIC5tZWRpYXt3aWR0aDo0NjBweDtoZWlnaHQ6MjYwcHh9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNrIGltZywgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNrIHZpZGVvLAogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtbW9iIGltZywgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgdmlkZW97d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmluaGVyaXQ7ZGlzcGxheTpibG9ja30KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUpO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lfQogIC5iaWxkcy1hazY2cXo1dyAucGl4ZWxhdGVkLW1lZGlhe2ltYWdlLXJlbmRlcmluZzpwaXhlbGF0ZWQ7aW1hZ2UtcmVuZGVyaW5nOmNyaXNwLWVkZ2VzfQogIC5iaWxkcy1hazY2cXo1dyAucGl4ZWwtcmlnaHQtd3JhcHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Om5vbmV9CiAgLmJpbGRzLWFrNjZxejV3IC5waXhlbC1yaWdodC1oYWxme3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NTAlO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbn0KICAuYmlsZHMtYWs2NnF6NXcgLnBpeGVsLXJpZ2h0LWhhbGYgaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6MjAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpyaWdodCBjZW50ZXI7ZGlzcGxheTpibG9jaztpbWFnZS1yZW5kZXJpbmc6cGl4ZWxhdGVkO2ltYWdlLXJlbmRlcmluZzpjcmlzcC1lZGdlc30KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLWRlc2sgLnRleHQsCiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmNvbnRlbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcn0KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLWRlc2sgLnRleHR7bWluLWhlaWdodDoyNjBweDtwYWRkaW5nOjAgMTBweH0KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLW1vYnt3aWR0aDoxMDAlO3BhZGRpbmc6MTBweDtkaXNwbGF5Om5vbmV9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmNvbnRlbnR7cGFkZGluZzoxNnB4IDEwcHggMTBweH0KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLWRlc2sgLmNhdGVnb3J5LAogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtbW9iIC5jYXRlZ29yeXsKICAgIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTRweDtjb2xvcjojZmZmO2JhY2tncm91bmQ6dmFyKC0tY2F0KTtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjZweCAxMnB4IDVweDt3aWR0aDpmaXQtY29udGVudDt0cmFuc2Zvcm06c2tld1koLThkZWcpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICB9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmNhdGVnb3J5IHsgbWFyZ2luLXRvcDotMzBweDsgfQogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtZGVzayAuaGVhZGxpbmUsCiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmhlYWRsaW5le21hcmdpbjoyMHB4IDAgMDtjb2xvcjojMEUxMTFBO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO3dvcmQtYnJlYWs6YnJlYWstd29yZH0KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLWRlc2sgLmhlYWRsaW5le2ZvbnQtc2l6ZTo0MnB4O2xpbmUtaGVpZ2h0OjQycHh9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmhlYWRsaW5le2ZvbnQtc2l6ZTozNHB4O2xpbmUtaGVpZ2h0OjM0cHh9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNrIC5kZXNjLAogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtbW9iIC5kZXNje21hcmdpbjoxNXB4IDAgMDtjb2xvcjojMzgzQjQyO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjdweDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjEwMCV9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNrIC5hdXRob3IsCiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmF1dGhvcnttYXJnaW4tdG9wOjIwcHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2NvbG9yOiMzODNCNDI7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjMwcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6YmxvY2t9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmF1dGhvciB7bWFyZ2luLXRvcDogMjBweDt9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmJvdHRvbS1saW5le2Rpc3BsYXk6dXBwZXJjYXNlO30KICAuYmlsZHMtYWs2NnF6NXcgLnBsYXktYnRue3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo4cHggMTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNDIpO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czo0cHg7Y3Vyc29yOnBvaW50ZXI7YW5pbWF0aW9uOmJpbGRzLWFrNjZxejV3LWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO3otaW5kZXg6Mn0KICAuYmlsZHMtYWs2NnF6NXcgLnBsYXktYnRuIC5pY297d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItbGVmdDoxMHB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgdHJhbnNwYXJlbnR9CiAgLmJpbGRzLWFrNjZxejV3IC5wbGF5LWJ0biAudHh0e2ZvbnQtd2VpZ2h0OjcwMH0KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLW1vYiAucGxheS1idG57bGVmdDphdXRvO3JpZ2h0OjEwcHg7cGFkZGluZzoxMHB4IDEwcHggMTBweCAxMnB4fQogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtbW9iIC5wbGF5LWJ0biAudHh0e2Rpc3BsYXk6bm9uZX0KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtkaXNwbGF5OmJsb2NrO29wYWNpdHk6MDt6LWluZGV4OjN9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNre29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0fQogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtZGVzazpob3ZlcntvcGFjaXR5Oi45fQogIEBrZXlmcmFtZXMgYmlsZHMtYWs2NnF6NXctYmxpbmt7MCUsMTAwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfTUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LC45KX19CiAgQGNvbnRhaW5lciAobWF4LXdpZHRoOiA0NzlweCl7CiAgICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLWRlc2t7ZGlzcGxheTpub25lfQogICAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2J7ZGlzcGxheTpibG9ja30KICB9CiAgQHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplKXsKICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzkuOThweCl7CiAgICAgIC5iaWxkcy1hazY2cXo1dyAucGllY2UtZGVza3tkaXNwbGF5Om5vbmV9CiAgICAgIC5iaWxkcy1hazY2cXo1dyAucGllY2UtbW9ie2Rpc3BsYXk6YmxvY2t9CiAgICB9CiAgfQogIDwvc3R5bGU+CjxzZWN0aW9uIGNsYXNzPSJiaWxkcy1hazY2cXo1dyIgc3R5bGU9Ii0tY2F0OiNGRkVBNEQ7IC0tY2F0LWJnOnJnYmEoMjU1LCAyMzQsIDc3LCAwLjIpIj4KICAgIDxhcnRpY2xlIGNsYXNzPSJwaWVjZS1kZXNrIiBpdGVtc2NvcGU9IiIgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9OZXdzQXJ0aWNsZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtd3JhcCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYSI+CiAgICAgICAgICAgIDxpbWcgZGVjb2Rpbmc9ImFzeW5jIiBhbHQ9IlkgbG9zIFJleWVzIHZpc2l0YXJvbiBDZXV0YSIgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9pbWcvMjAyNi8xMC8xNC8xNS0xMC0yMDI2LXJleWVzLXZpc2l0YW4tY2V1dGEuanBlZyIgbG9hZGluZz0ibGF6eSIgd2lkdGg9IjQ2MCIgaXRlbXByb3A9ImltYWdlIj4KICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeSIgaXRlbXByb3A9ImFydGljbGVTZWN0aW9uIiBzdHlsZT0iY29sb3I6IHJnYigxNCwgMTcsIDI2KTsiPkxBIFZJ0UVUQSBERSBQVUVCTEE8L3NwYW4+CiAgICAgICAgICA8aDIgY2xhc3M9ImhlYWRsaW5lIiBpZD0iYmlsZHMtYWs2NnF6NXctaGVhZGxpbmUiIGl0ZW1wcm9wPSJoZWFkbGluZSI+WSBMT1MgUkVZRVMgVklTSVRBUk9OIENFVVRBPC9oMj4KICAgICAgICAgIAogICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGEgY2xhc3M9InBpZWNlLWxpbmsiIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL29waW5pb24vcmV5ZXMtdmlzaXRhcm9uLWNldXRhLTIwNTUyMTUxIiBpdGVtcHJvcD0idXJsIiBhcmlhLWxhYmVsbGVkYnk9ImJpbGRzLWFrNjZxejV3LWhlYWRsaW5lIj48L2E+CiAgICAgIDwvYXJ0aWNsZT4KICAgIDxhcnRpY2xlIGNsYXNzPSJwaWVjZS1tb2IiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYSI+CiAgICAgICAgICA8aW1nIGRlY29kaW5nPSJhc3luYyIgYWx0PSJZIGxvcyBSZXllcyB2aXNpdGFyb24gQ2V1dGEiIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vaW1nLzIwMjYvMTAvMTQvMTUtMTAtMjAyNi1yZXllcy12aXNpdGFuLWNldXRhLmpwZWciIGxvYWRpbmc9ImxhenkiIHdpZHRoPSIzNzUiPgogICAgICAgICAgCiAgICAgICAgICAKICAgICAgICAgIAogICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnkiIHN0eWxlPSJjb2xvcjogcmdiKDE0LCAxNywgMjYpOyI+TEEgVknRRVRBIERFIFBVRUJMQTwvc3Bhbj4KICAgICAgICAgIDxoMiBjbGFzcz0iaGVhZGxpbmUiPlkgTE9TIFJFWUVTIFZJU0lUQVJPTiBDRVVUQTwvaDI+CiAgICAgICAgICAKICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tLWxpbmUiPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxhIGNsYXNzPSJwaWVjZS1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9vcGluaW9uL3JleWVzLXZpc2l0YXJvbi1jZXV0YS0yMDU1MjE1MSIgdGFiaW5kZXg9Ii0xIj48L2E+CiAgICAgIDwvYXJ0aWNsZT4KICA8L3NlY3Rpb24+
      PHN0eWxlPgogIEBpbXBvcnQgdXJsKCdodHRwczovL3VzZS50eXBla2l0Lm5ldC9pcWExcWViLmNzcycpOwoKICAuYmlsZHMtYWs2NnF6NXd7IGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTsgfQogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtZGVzaywKICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLW1vYntwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTllOWVjfQogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtZGVza3sKICAgIHdpZHRoOjEwMCU7bWF4LXdpZHRoOjk2MHB4O2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6NDYwcHggMWZyO2dhcDoxMHB4O3BhZGRpbmc6MTBweDttaW4td2lkdGg6OTYwcHg7CiB9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNrIC5tZWRpYS13cmFwe3dpZHRoOjQ2MHB4fQogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtZGVzayAubWVkaWEsCiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLm1lZGlhewogICAgcG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTthc3BlY3QtcmF0aW86MTYvOTtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojMDAwO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtpc29sYXRpb246aXNvbGF0ZTsKICB9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNrIC5tZWRpYXt3aWR0aDo0NjBweDtoZWlnaHQ6MjYwcHh9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNrIGltZywgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNrIHZpZGVvLAogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtbW9iIGltZywgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgdmlkZW97d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmluaGVyaXQ7ZGlzcGxheTpibG9ja30KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUpO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lfQogIC5iaWxkcy1hazY2cXo1dyAucGl4ZWxhdGVkLW1lZGlhe2ltYWdlLXJlbmRlcmluZzpwaXhlbGF0ZWQ7aW1hZ2UtcmVuZGVyaW5nOmNyaXNwLWVkZ2VzfQogIC5iaWxkcy1hazY2cXo1dyAucGl4ZWwtcmlnaHQtd3JhcHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Om5vbmV9CiAgLmJpbGRzLWFrNjZxejV3IC5waXhlbC1yaWdodC1oYWxme3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NTAlO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbn0KICAuYmlsZHMtYWs2NnF6NXcgLnBpeGVsLXJpZ2h0LWhhbGYgaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6MjAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpyaWdodCBjZW50ZXI7ZGlzcGxheTpibG9jaztpbWFnZS1yZW5kZXJpbmc6cGl4ZWxhdGVkO2ltYWdlLXJlbmRlcmluZzpjcmlzcC1lZGdlc30KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLWRlc2sgLnRleHQsCiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmNvbnRlbnR7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcn0KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLWRlc2sgLnRleHR7bWluLWhlaWdodDoyNjBweDtwYWRkaW5nOjAgMTBweH0KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLW1vYnt3aWR0aDoxMDAlO3BhZGRpbmc6MTBweDtkaXNwbGF5Om5vbmV9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmNvbnRlbnR7cGFkZGluZzoxNnB4IDEwcHggMTBweH0KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLWRlc2sgLmNhdGVnb3J5LAogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtbW9iIC5jYXRlZ29yeXsKICAgIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTRweDtjb2xvcjojZmZmO2JhY2tncm91bmQ6dmFyKC0tY2F0KTtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjZweCAxMnB4IDVweDt3aWR0aDpmaXQtY29udGVudDt0cmFuc2Zvcm06c2tld1koLThkZWcpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICB9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmNhdGVnb3J5IHsgbWFyZ2luLXRvcDotMzBweDsgfQogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtZGVzayAuaGVhZGxpbmUsCiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmhlYWRsaW5le21hcmdpbjoyMHB4IDAgMDtjb2xvcjojMEUxMTFBO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO3dvcmQtYnJlYWs6YnJlYWstd29yZH0KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLWRlc2sgLmhlYWRsaW5le2ZvbnQtc2l6ZTo0MnB4O2xpbmUtaGVpZ2h0OjQycHh9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmhlYWRsaW5le2ZvbnQtc2l6ZTozNHB4O2xpbmUtaGVpZ2h0OjM0cHh9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNrIC5kZXNjLAogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtbW9iIC5kZXNje21hcmdpbjoxNXB4IDAgMDtjb2xvcjojMzgzQjQyO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjdweDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjEwMCV9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNrIC5hdXRob3IsCiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmF1dGhvcnttYXJnaW4tdG9wOjIwcHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2NvbG9yOiMzODNCNDI7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjMwcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6YmxvY2t9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmF1dGhvciB7bWFyZ2luLXRvcDogMjBweDt9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2IgLmJvdHRvbS1saW5le2Rpc3BsYXk6dXBwZXJjYXNlO30KICAuYmlsZHMtYWs2NnF6NXcgLnBsYXktYnRue3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7cGFkZGluZzo4cHggMTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNDIpO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czo0cHg7Y3Vyc29yOnBvaW50ZXI7YW5pbWF0aW9uOmJpbGRzLWFrNjZxejV3LWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO3otaW5kZXg6Mn0KICAuYmlsZHMtYWs2NnF6NXcgLnBsYXktYnRuIC5pY297d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItbGVmdDoxMHB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgdHJhbnNwYXJlbnR9CiAgLmJpbGRzLWFrNjZxejV3IC5wbGF5LWJ0biAudHh0e2ZvbnQtd2VpZ2h0OjcwMH0KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLW1vYiAucGxheS1idG57bGVmdDphdXRvO3JpZ2h0OjEwcHg7cGFkZGluZzoxMHB4IDEwcHggMTBweCAxMnB4fQogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtbW9iIC5wbGF5LWJ0biAudHh0e2Rpc3BsYXk6bm9uZX0KICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtkaXNwbGF5OmJsb2NrO29wYWNpdHk6MDt6LWluZGV4OjN9CiAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1kZXNre29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0fQogIC5iaWxkcy1hazY2cXo1dyAucGllY2UtZGVzazpob3ZlcntvcGFjaXR5Oi45fQogIEBrZXlmcmFtZXMgYmlsZHMtYWs2NnF6NXctYmxpbmt7MCUsMTAwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfTUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LC45KX19CiAgQGNvbnRhaW5lciAobWF4LXdpZHRoOiA0NzlweCl7CiAgICAuYmlsZHMtYWs2NnF6NXcgLnBpZWNlLWRlc2t7ZGlzcGxheTpub25lfQogICAgLmJpbGRzLWFrNjZxejV3IC5waWVjZS1tb2J7ZGlzcGxheTpibG9ja30KICB9CiAgQHN1cHBvcnRzIG5vdCAoY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplKXsKICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzkuOThweCl7CiAgICAgIC5iaWxkcy1hazY2cXo1dyAucGllY2UtZGVza3tkaXNwbGF5Om5vbmV9CiAgICAgIC5iaWxkcy1hazY2cXo1dyAucGllY2UtbW9ie2Rpc3BsYXk6YmxvY2t9CiAgICB9CiAgfQogIDwvc3R5bGU+CjxzZWN0aW9uIGNsYXNzPSJiaWxkcy1hazY2cXo1dyIgc3R5bGU9Ii0tY2F0OiNGRkVBNEQ7IC0tY2F0LWJnOnJnYmEoMjU1LCAyMzQsIDc3LCAwLjIpIj4KICAgIDxhcnRpY2xlIGNsYXNzPSJwaWVjZS1kZXNrIiBpdGVtc2NvcGU9IiIgaXRlbXR5cGU9Imh0dHBzOi8vc2NoZW1hLm9yZy9OZXdzQXJ0aWNsZSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtd3JhcCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYSI+CiAgICAgICAgICAgIDxpbWcgZGVjb2Rpbmc9ImFzeW5jIiBhbHQ9IlkgbG9zIFJleWVzIHZpc2l0YXJvbiBDZXV0YSIgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9pbWcvMjAyNi8xMC8xNC8xNS0xMC0yMDI2LXJleWVzLXZpc2l0YW4tY2V1dGEuanBlZyIgbG9hZGluZz0ibGF6eSIgd2lkdGg9IjQ2MCIgaXRlbXByb3A9ImltYWdlIj4KICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXRlZ29yeSIgaXRlbXByb3A9ImFydGljbGVTZWN0aW9uIiBzdHlsZT0iY29sb3I6IHJnYigxNCwgMTcsIDI2KTsiPkxBIFZJ0UVUQSBERSBQVUVCTEE8L3NwYW4+CiAgICAgICAgICA8aDIgY2xhc3M9ImhlYWRsaW5lIiBpZD0iYmlsZHMtYWs2NnF6NXctaGVhZGxpbmUiIGl0ZW1wcm9wPSJoZWFkbGluZSI+WSBMT1MgUkVZRVMgVklTSVRBUk9OIENFVVRBPC9oMj4KICAgICAgICAgIAogICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGEgY2xhc3M9InBpZWNlLWxpbmsiIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL29waW5pb24vcmV5ZXMtdmlzaXRhcm9uLWNldXRhLTIwNTUyMTUxIiBpdGVtcHJvcD0idXJsIiBhcmlhLWxhYmVsbGVkYnk9ImJpbGRzLWFrNjZxejV3LWhlYWRsaW5lIj48L2E+CiAgICAgIDwvYXJ0aWNsZT4KICAgIDxhcnRpY2xlIGNsYXNzPSJwaWVjZS1tb2IiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYSI+CiAgICAgICAgICA8aW1nIGRlY29kaW5nPSJhc3luYyIgYWx0PSJZIGxvcyBSZXllcyB2aXNpdGFyb24gQ2V1dGEiIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vaW1nLzIwMjYvMTAvMTQvMTUtMTAtMjAyNi1yZXllcy12aXNpdGFuLWNldXRhLmpwZWciIGxvYWRpbmc9ImxhenkiIHdpZHRoPSIzNzUiPgogICAgICAgICAgCiAgICAgICAgICAKICAgICAgICAgIAogICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2F0ZWdvcnkiIHN0eWxlPSJjb2xvcjogcmdiKDE0LCAxNywgMjYpOyI+TEEgVknRRVRBIERFIFBVRUJMQTwvc3Bhbj4KICAgICAgICAgIDxoMiBjbGFzcz0iaGVhZGxpbmUiPlkgTE9TIFJFWUVTIFZJU0lUQVJPTiBDRVVUQTwvaDI+CiAgICAgICAgICAKICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tLWxpbmUiPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxhIGNsYXNzPSJwaWVjZS1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9vcGluaW9uL3JleWVzLXZpc2l0YXJvbi1jZXV0YS0yMDU1MjE1MSIgdGFiaW5kZXg9Ii0xIj48L2E+CiAgICAgIDwvYXJ0aWNsZT4KICA8L3NlY3Rpb24+
    • ¿Qué puñetas tendrías en el móvil, Pedro?
    • Ábalos recurrirá su condena al Constitucional y acusa al Supremo de confundir la aplicación de la ley
        • España
        • España

      Ábalos recurrirá su condena al Constitucional y acusa al Supremo de "confundir la aplicación de la ley"

      • Nacho Atanes
      • 2026-10-15 12:55
    • El PSOE cuela una treta en Bruselas para que Marruecos pueda acceder a ayudas industriales como el resto de la UE
        • España
        • España

      El PSOE cuela una treta en Bruselas para que Marruecos pueda acceder a ayudas industriales como el resto de la UE

      El PSOE ha presentado una enmienda a un reglamento sobre ayudas a empresas de la UE para extenderlas a "terceros países" que tienen un acuerdo con el club comunitario, entre los que está Marruecos. Los socialistas han introducido una modificación legislativa que aún tendrá que votarse en el Parlamento. La nueva norma se está debatiendo ahora mismo a dos bandas entre el legislativo europeo y el Consejo Europeo, el organismo que reúne a los líderes de cada Estado miembro.
      • Rafael Molina
      • 2026-10-15 05:48
    • CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCksIHkgYXF17SBtaXNtbyBjb24gZWwgdGV4dG8gYQogICBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhIChib2R5UG9zaXRpb25CbG9ja3NDb2x1bW4pOiBjb24gZXNlIGxheW91dCBsYQogICBub3RpY2lhIHByaW5jaXBhbCB5YSBvY3VwYSBlbCAxMDAlIGRlbCBhbmNobyB5IHNvbGFwYSBzdSBwcm9waWEgZm90byBkZQogICBib3JkZSBhIGJvcmRlLCBhc+0gcXVlIGVsIGFpcmUvZm9uZG8gYmxhbmNvIHNvYnJhLiAqLwouYmxrLWJrYXQ3e21heC1pbmxpbmUtc2l6ZTo5NjBweDttYXJnaW46MCBhdXRvO2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplO30KLmJsay1ia2F0NyBhe3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmluaGVyaXR9Ci5ibGstYmthdDcgLnBhZ2V7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjE1cHh9Ci5ibGstYmthdDcgLnBhZ2UgLmNvbHVtbntvcmRlcjoxfQouYmxrLWJrYXQ3IC5wYWdlIC5sZWFke29yZGVyOjJ9Ci8qIDg2MHB4IHkgbm8gNDc1cHg6IGNvbiBsYSBjb2x1bW5hIGZpamEgKDIyMHB4ICsgMjBweCBkZSBnYXAgPSAyNDBweCksCiAgIGN1YWxxdWllciBhbmNobyBkZSBpZnJhbWUgcG9yIGRlYmFqbyBkZSB+ODYwcHggZGVqYSBsYSBub3RpY2lhIHByaW5jaXBhbAogICAoMWZyKSBjYWRhIHZleiBjb24gbWVub3MgZXNwYWNpbyBoYXN0YSBjb2xhcHNhciBhIDBweCBkZSBhbmNobyBhbnRlcyBkZQogICBsbGVnYXIgYSB1biBicmVha3BvaW50IHRhbiBiYWpvIGNvbW8gNDc1cHggJiM4MjEyOyBsYSBub3RpY2lhIHByaW5jaXBhbAogICBkaXJlY3RhbWVudGUgZGVzYXBhcmVjZSBlbiBlc2EgZnJhbmphIGludGVybWVkaWEgKG5pICJkZXNrIiBjb21wbGV0byBuaQogICAibfN2aWwiIGVzdHJlY2hvKS4gQ29uIDg2MHB4IHNlIHBhc2EgYSB1bmEgc29sYSBjb2x1bW5hIGFwaWxhZGEgYW50ZXMgZGUKICAgcXVlIGVzbyBwdWVkYSBvY3VycmlyLgogICBFc3RlIGJyZWFrcG9pbnQgc2Ugb21pdGUgcG9yIGNvbXBsZXRvIG1pZW50cmFzIGxhIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06QogICBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KTogcGVuc2FkbyBwYXJhIGN1YW5kbyBlbCBt82R1bG8gbGxldmEgc3UKICAgY29sdW1uYSBhIDk2MHB4LCBkZWphIGRlIHRlbmVyIHNlbnRpZG8gZW4gdW5hIGV4cG9ydGFjafNuIGRlIHNvbG8gbGEKICAgbm90aWNpYSBwcmluY2lwYWwgYSB1biBhbmNobyBmaWpvIGVsZWdpZG8gYSBtYW5vICYjODIxMjsgbG9zIGFuY2hvcyBzaW11bGFkb3MKICAgKDYxMy80NjAvMzA3cHgpIGVzdOFuIFRPRE9TIHBvciBkZWJham8gZGUgODYwcHgsIGFz7SBxdWUgc2luIGVzdGUgZ2F0aW5nCiAgIGVsIEhUTUwgZXhwb3J0YWRvIGNhZXLtYSBzaWVtcHJlIGEgbGEgdGlwb2dyYWbtYSAiTfN2aWwiIChjb24gIWltcG9ydGFudCkKICAgc2VhIGN1YWwgc2VhIGxhIHF1ZSBlbCB1c3VhcmlvIGNvbmZpZ3Vy8yBlbiAiRGVzayIgcGFyYSBlc2Egc2ltdWxhY2nzbiwKICAgZGFuZG8gbGEgZmFsc2Egc2Vuc2FjafNuIGRlIHF1ZSB1bmEgY29uZmlndXJhY2nzbiAicGlzYSIgYSBvdHJhLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstYmthdDd7YmFja2dyb3VuZDpub25lO3BhZGRpbmc6MDt9CiAgLmJsay1ia2F0NyAucGFnZXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogIC5ibGstYmthdDcgLnBhZ2UgLnN0YWNrLXRpdGxlIHtmb250LXNpemU6MThweDsgbGluZS1oZWlnaHQ6IDEuMmVtO30KICAuYmxrLWJrYXQ3IC5wYWdlIC5zdGFjay1hdXRob3Ige21hcmdpbi10b3A6IDEwcHg7fQogIC5ibGstYmthdDcgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2Jsb2NrLXNpemU6NDAwcHggIWltcG9ydGFudDt9CiAgLmJsay1ia2F0NyAubGVhZC1tZWRpYXthc3BlY3QtcmF0aW86NC8zICFpbXBvcnRhbnQ7fQogIC5ibGstYmthdDcgLnBhZ2UgLmxlYWR7b3JkZXI6MX0KICAuYmxrLWJrYXQ3IC5wYWdlIC5jb2x1bW57b3JkZXI6Mn0KICAvKiBQb3IgZGViYWpvIGRlbCBicmVha3BvaW50LCBlbCBsZWFkLWJvZHkgc2llbXByZSB2dWVsdmUgYSBpciBkZWJham8gZGVsCiAgICAgbGVhZC1tZWRpYSAobm8gaGF5IHNpdGlvIHBhcmEgZWwgbGF5b3V0IGxhZG8gYSBsYWRvKS4gKi8KICAuYmxrLWJrYXQ3IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0LAogIC5ibGstYmthdDcgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthc3BlY3QtcmF0aW86YXV0bzt9CiAgLmJsay1ia2F0NyAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKICAuYmxrLWJrYXQ3IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjEgMSBhdXRvO30KICAuYmxrLWJrYXQ3IC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCiAgLmJsay1ia2F0NyAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXtmbGV4OjEgMSBhdXRvO2lubGluZS1zaXplOjkwJTttYXJnaW46LTMwcHggYXV0byAwO2Jsb2NrLXNpemU6YXV0bzthbGlnbi1zZWxmOmF1dG87anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7cGFkZGluZzoxMHB4O30KICAuYmxrLWJrYXQ3IC5wYWdlIC5jb2x1bW4taXRlbXtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KICAuYmxrLWJrYXQ3IC5wYWdlIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9CiAgLmJsay1ia2F0NyAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMjEgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjIxcHggIWltcG9ydGFudDt9CiAgLmJsay1ia2F0NyAucGFnZSAuY29sdW1uLWl0ZW0udGl0bGUtb25seS1tb2JpbGUtMTggLmxlZnQtdGl0bGV7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDt9CiAgLmJsay1ia2F0NyAucGFnZSAubGVmdC1wbGF5ewogICAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICAgIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDsKICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4OwogIH0KICAuYmxrLWJrYXQ3IC5wYWdlIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICAgIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDBhN2ZmO2JvcmRlci10b3A6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206M3B4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjFweDsKICB9Cn0KLyogVGlwb2dyYWbtYSAiTfN2aWwiIChhbnRldO10dWxvL3RpdHVsYXIvc3VidO10dWxvL3RpdHVsYXJlcyBhbmltYWRvcykgY29uIFNVCiAgIFBST1BJTyBicmVha3BvaW50ICg0ODBweCksIHNlcGFyYWRvIGRlbCBkZSBhcnJpYmEgKDg2MHB4LCBzb2xvIHBhcmEgYXBpbGFyCiAgIGxhIHJlamlsbGEgY29sdW1uYStub3RpY2lhKTogdW4gY29udGVuZWRvciByZWFsIGRlIG1lbm9zIGRlIDg2MHB4IGVzIG11eQogICBoYWJpdHVhbCAocC5lai4gdW5hIGNvbHVtbmEgZGUgYXJ07WN1bG8gZGUgfjcwMHB4KSB5IE5PIGVzIHVuIG3zdmlsICYjODIxMjsgY29uCiAgIHVuIPpuaWNvIGJyZWFrcG9pbnQgY29tcGFydGlkbywgbGEgdGlwb2dyYWbtYSAiRGVzayIgcXVlIGNvbmZpZ3VyYSBlbAogICB1c3VhcmlvIG5vIGxsZWdhYmEgYSB2ZXJzZSBudW5jYSBlbiBlc2UgY2FzbywgY2F5ZW5kbyBzaWVtcHJlIGEgbG9zIHZhbG9yZXMKICAgcG9yIGRlZmVjdG8gZGUgIk3zdmlsIiBzaW4gcXVlIG5hZGllIGxvIGh1YmllcmEgcGVkaWRvLiA0ODBweCBz7SBzZQogICBjb3JyZXNwb25kZSBjb24gdW4gYW5jaG8gZGUgbfN2aWwgcmVhbCAobGEgdmlzdGEgIk3zdmlsIiBkZWwgcHJvcGlvIGdlc3RvcgogICBzaW11bGEgMzc1cHgpLiBJZ3VhbCBxdWUgZWwgYnJlYWtwb2ludCBkZSBhcnJpYmEsIHNlIG9taXRlIGR1cmFudGUgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBkZSBsYSBub3RpY2lhIHByaW5jaXBhbCAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstYmthdDcgLmxlYWQta2lja2Vye2ZvbnQtc2l6ZToxLjMxMjVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjEgIWltcG9ydGFudDtjb2xvcjojMDBBN0ZGICFpbXBvcnRhbnQ7fQogIC5ibGstYmthdDcgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiMwMEE3RkYgIWltcG9ydGFudDt9CiAgLmJsay1ia2F0NyAubGVhZC10aXRsZXtmb250LXNpemU6MS43NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgLmJsay1ia2F0NyAubGVhZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLWJrYXQ3IC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLWJrYXQ3IC5sZWFkLWtpY2tlci1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLWJrYXQ3IC5sZWFkLWtpY2tlci1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay1ia2F0NyAubGVhZC1zdWJ0aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLWJrYXQ3IC5sZWFkLXN1YnRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLWJrYXQ3IC5sZWFkLWFuaW0taGVhZGxpbmVze2ZvbnQtc2l6ZToxLjg3NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMDIgIWltcG9ydGFudDt9CiAgCiAgLmJsay1ia2F0NyAucmVsYXRlZC10aXRsZS1kZXNre2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50O30KICAuYmxrLWJrYXQ3IC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KfQouYmxrLWJrYXQ3IC5sZWFke2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6I2ZmZjtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLWJrYXQ3IC5sZWFkLW1lZGlhe3Bvc2l0aW9uOnJlbGF0aXZlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW59Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZTogYWx0byBmaWpvIGVuIHDteGVsZXMgZW4gdmV6IGRlIGxhIHByb3BvcmNp824gZGUKICAgYXJyaWJhICh2ZXIgY29tZW50YXJpbyBkZXRhbGxhZG8ganVudG8gYSBzdGF0ZS5sZWFkLmlmcmFtZUhlaWdodCkgJiM4MjEyOyBlbAogICB2YWxvciBkZSBN83ZpbCBzZSBzb2JyZXNjcmliZSBlbiBlbCBAY29udGFpbmVyIGRlIG3hcyBhYmFqbywgaWd1YWwgcXVlIGVsCiAgIHJlc3RvIGRlIG92ZXJyaWRlcyByZXNwb25zaXZlIGRlIGVzdGUgSFRNTCBleHBvcnRhZG8uICovCi5ibGstYmthdDcgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2FzcGVjdC1yYXRpbzpub25lO2Jsb2NrLXNpemU6NjQwcHg7fQouYmxrLWJrYXQ3IC5sZWFkLW1lZGlhIGltZywKLmJsay1ia2F0NyAubGVhZC1tZWRpYSB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci8qIENhcnJ1c2VsIGRlIGZvdG9zIGRlIGZvbmRvIGNvbiBlZmVjdG8gS2VuIEJ1cm5zICYjODIxMjsgdmVyIGVsIG1pc21vIGJsb3F1ZSwKICAgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuCiAgIExhIGR1cmFjafNuIGRlIGxhcyBhbmltYWNpb25lcyAoNnMpIGNvaW5jaWRlIGNvbgogICBMRUFEX0NBUk9VU0VMX0lOVEVSVkFMLCBxdWUgdGFtYmnpbiBnb2JpZXJuYSBlbCBzY3JpcHQgZGUgcm90YWNp824KICAgKGJ1aWxkTGVhZENhcm91c2VsU2NyaXB0KSBh8WFkaWRvIGFsIGZpbmFsIGRlbCBIVE1MIGV4cG9ydGFkby4gKi8KLmJsay1ia2F0NyAubGVhZC1jYXJvdXNlbHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjt9Ci5ibGstYmthdDcgLmxlYWQtY2Fyb3VzZWwtc2xpZGV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDEuNXMgZWFzZTt9Ci5ibGstYmthdDcgLmxlYWQtY2Fyb3VzZWwtc2xpZGUuaXMtYWN0aXZle29wYWNpdHk6MTt6LWluZGV4OjE7fQouYmxrLWJrYXQ3IC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7fQouYmxrLWJrYXQ3IC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChvZGQpIGltZ3thbmltYXRpb246YmxrLWJrYXQ3LWtlbmJ1cm5zLWEgNnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7fQouYmxrLWJrYXQ3IC5sZWFkLWNhcm91c2VsLXNsaWRlOm50aC1jaGlsZChldmVuKSBpbWd7YW5pbWF0aW9uOmJsay1ia2F0Ny1rZW5idXJucy1iIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KQGtleWZyYW1lcyBibGstYmthdDcta2VuYnVybnMtYXsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gfQpAa2V5ZnJhbWVzIGJsay1ia2F0Ny1rZW5idXJucy1ieyBmcm9te3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IHRve3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoNCUsMyUpO30gfQovKiBDb24gdW5hIPpuaWNhIGZvdG8gKHNpbiByb3RhY2nzbiBwb3NpYmxlKSBzZSBhcGxpY2EgdW4gem9vbSBpbi9vdXQgZW4KICAgYnVjbGUgaW5maW5pdG8gZW4gdmV6IGRlbCByZWNvcnJpZG8g+m5pY28gKGZvcndhcmRzKSBkZSBhcnJpYmEuICovCi5ibGstYmthdDcgLmxlYWQtY2Fyb3VzZWwuaXMtc2luZ2xlIC5sZWFkLWNhcm91c2VsLXNsaWRlIGltZ3thbmltYXRpb246YmxrLWJrYXQ3LWtlbmJ1cm5zLWxvb3AgMTRzIGVhc2UtaW4tb3V0IGluZmluaXRlO30KQGtleWZyYW1lcyBibGstYmthdDcta2VuYnVybnMtbG9vcHsgMCV7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gNTAle3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoLTQlLC0zJSk7fSAxMDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IH0KLyogQ29tcGFyYWRvciBhbnRlcy9kZXNwdelzIChkZXNsaXphZG9yKSAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLWJrYXQ3IC5sZWFkLWNvbXBhcmV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7dG91Y2gtYWN0aW9uOm5vbmU7ei1pbmRleDoyO30KLmJsay1ia2F0NyAubGVhZC1jb21wYXJlIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXI7b2JqZWN0LXBvc2l0aW9uOmNlbnRlcjtkaXNwbGF5OmJsb2NrO3VzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLWRyYWc6bm9uZTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay1ia2F0NyAubGVhZC1jb21wYXJlLWJlZm9yZXtjbGlwLXBhdGg6aW5zZXQoMCA1MCUgMCAwKTt3aWxsLWNoYW5nZTpjbGlwLXBhdGg7fQouYmxrLWJrYXQ3IC5sZWFkLWNvbXBhcmUtcmFuZ2V7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTttYXJnaW46MDtvcGFjaXR5OjA7Y3Vyc29yOmV3LXJlc2l6ZTt9Ci5ibGstYmthdDcgLmxlYWQtY29tcGFyZS1oYW5kbGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDo1MCU7aW5saW5lLXNpemU6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6Mjt9Ci5ibGstYmthdDcgLmxlYWQtY29tcGFyZS1oYW5kbGU6OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtpbmxpbmUtc2l6ZToycHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLC4yNSk7fQouYmxrLWJrYXQ3IC5sZWFkLWNvbXBhcmUtaGFuZGxlOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDotMTVweDtpbmxpbmUtc2l6ZTozMHB4O2Jsb2NrLXNpemU6MzBweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOiNmZmYgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMDAwJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCc+PHBhdGggZD0nTTggNiBMNCAxMCBMOCAxNCcvPjxwYXRoIGQ9J00xMiA2IEwxNiAxMCBMMTIgMTQnLz48L2c+PC9zdmc+IikgY2VudGVyLzE2cHggMTZweCBuby1yZXBlYXQ7Ym94LXNoYWRvdzowIDJweCA2cHggcmdiYSgwLDAsMCwuMjUpO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMjUpO30KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE1pc21vIHotaW5kZXg6MiBxdWUKICAgLmxlYWQtY29tcGFyZSwgcG9yIGVsIG1pc21vIG1vdGl2byAoZ2FuYXJsZSBhIC5sZWFkLWxpbmspLiAqLwouYmxrLWJrYXQ3IC5sZWFkLWlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTt6LWluZGV4OjI7fQouYmxrLWJrYXQ3IC5sZWFkLWlmcmFtZSBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay1ia2F0NyAubGVhZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLWJrYXQ3IC5sZWFkLWJvZHl7cGFkZGluZzowcHggMjBweCAyMHB4IDIwcHg7O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7IHRleHQtYWxpZ246Y2VudGVyOyBhbGlnbi1pdGVtczpjZW50ZXI7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjY7IHBvaW50ZXItZXZlbnRzOm5vbmU7IGlubGluZS1zaXplOjk1JTsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OmF1dG87IG1hcmdpbi10b3A6LTMwcHg7IGJhY2tncm91bmQ6IzBFMTExQTsgZmxleDoxIDEgYXV0bzt9Ci8qIEFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vYXV0b3IgY2VudHJhZG9zIGVuIHZlcnRpY2FsIGRlbnRybyBkZWwgYWx0bwogICBzb2JyYW50ZSBiYWpvIGxhIGNhdGVnb3LtYSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLWJrYXQ3IC5sZWFkLWJvZHktbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2lubGluZS1zaXplOjEwMCU7ZmxleDoxIDEgYXV0bzttaW4taGVpZ2h0OjA7fQovKiBBcGFyaWVuY2lhIG5lZ2F0aXZhIChwb3IgZGVmZWN0bykgdnMuIHBvc2l0aXZhIGRlIGxhIGNhamEgZGUgdGl0dWxhciAmIzgyMTI7IHZlcgogICBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLWJrYXQ3IC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmxlYWQtYm9keXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO30KLmJsay1ia2F0NyAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLXRpdGxlLAouYmxrLWJrYXQ3IC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmF1dGhvci1sYWJlbHtjb2xvcjojMEUxMTFBO30KLyogUG9zaWNp824gZGVsIGxlYWQtYm9keSByZXNwZWN0byBhbCBsZWFkLW1lZGlhICgnbGVmdCcvJ3JpZ2h0JykgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay1ia2F0NyAubGVhZC5sZWFkLWJvZHktbGVmdCwKLmJsay1ia2F0NyAubGVhZC5sZWFkLWJvZHktcmlnaHR7ZmxleC1kaXJlY3Rpb246cm93O2FzcGVjdC1yYXRpbzoyLjk2Mjk2Mjk2Mjk2Mjk2Mzt9Ci5ibGstYmthdDcgLmxlYWQubGVhZC1ib2R5LWxlZnR7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7fQouYmxrLWJrYXQ3IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLW1lZGlhLAouYmxrLWJrYXQ3IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjAgMCA2MCU7fQouYmxrLWJrYXQ3IC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCi5ibGstYmthdDcgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7ZmxleDowIDAgY2FsYyg0MCUgKyAzMHB4KTtpbmxpbmUtc2l6ZTphdXRvO21hcmdpbi10b3A6MDtibG9jay1zaXplOmNhbGMoMTAwJSAtIDQycHgpO2FsaWduLXNlbGY6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O30KLmJsay1ia2F0NyAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5e21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0Oi0zMHB4O30KLmJsay1ia2F0NyAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDotMzBweDttYXJnaW4tcmlnaHQ6MDt9Ci8qIFBvc2ljafNuICdib3R0b20tZnVsbCcgZGVsIGxlYWQtYm9keSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBpbmxpbmUtc2l6ZQogICBlbiB2ZXogZGUgd2lkdGggcG9yIGVsIG1pc21vIG1vdGl2byBxdWUgZWwgcmVzdG8gZGUgZXN0ZSBibG9xdWUgKGV2aXRhcgogICBsYSBwYWxhYnJhICJ3aWR0aDoiIHF1ZSBlbCBDTVMgZGVsIHVzdWFyaW8gZWxpbWluYSBhbCBwZWdhciBIVE1ML0NTUwogICBkaXJlY3RhbWVudGUpLiAqLwouYmxrLWJrYXQ3IC5sZWFkLmxlYWQtYm9keS1ib3R0b20tZnVsbCAubGVhZC1ib2R5ewogIGlubGluZS1zaXplOjEwMCU7CiAgbWFyZ2luOjA7CiAgcGFkZGluZy10b3A6MzBweDsKICBwYWRkaW5nLWJvdHRvbTozMHB4OwogIGJvcmRlcjpub25lOwp9Ci8qIEV0aXF1ZXRhIGRlIGV4Y2x1c2l2YSAobyB0ZXh0byBwZXJzb25hbGl6YWRvKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLWJrYXQ3IC5sZWFkLWV4Y2x1c2l2ZS10YWd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4O3otaW5kZXg6MztkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2xldHRlci1zcGFjaW5nOjAuNXB4O3BhZGRpbmc6MnB4IDhweDtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOi44ZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3BvaW50ZXItZXZlbnRzOm5vbmU7fQovKiBTZWxlY3RvciBjb24gMyBjbGFzZXMgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoIi5sZWFkLW1lZGlhIGltZyIgdGFtYmnpbgogICBtYXRjaGVhIGVzdGUgPGltZz4geSBsZSBnYW5hYmEgZW4gZXNwZWNpZmljaWRhZCkuICovCi5ibGstYmthdDcgLmxlYWQtZXhjbHVzaXZlLXRhZyAubGVhZC1leGNsdXNpdmUtdGFnLWljb257cG9zaXRpb246c3RhdGljO2luc2V0OmF1dG87aW5saW5lLXNpemU6MTRweDtibG9jay1zaXplOjE0cHg7b2JqZWN0LWZpdDpjb250YWluO2ZsZXg6MCAwIGF1dG87ZGlzcGxheTpibG9jazt9Ci5ibGstYmthdDcgLmxlYWQtY2F0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7cGFkZGluZzoycHggOHB4O3RyYW5zZm9ybTpza2V3WSgtNmRlZyk7bWFyZ2luLXRvcDotMTVweDttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLWJrYXQ3IC5sZWFkLWtpY2tlciwgLmJsay1ia2F0NyAubGVhZC1zdWJ0aXRsZXsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7dGV4dC10cmFuc2Zvcm06bm9uZTttYXJnaW46MDsKfQouYmxrLWJrYXQ3IC5sZWFkLWtpY2tlcntmb250LXdlaWdodDo3MDA7fQouYmxrLWJrYXQ3IC5sZWFkLXN1YnRpdGxle2ZvbnQtd2VpZ2h0OjYwMDt9Ci8qIFRhbWHxby9pbnRlcmxpbmVhZG8vY29sb3IgZGUgYW50ZXTtdHVsbyB5IHN1YnTtdHVsbyBlbiBEZXNrICh2YWxvcmVzIHBvcgogICBkZWZlY3RvIGRlbCBibG9xdWU7IGVsIG92ZXJyaWRlIGRlIE3zdmlsIHZhIGVuIGVsIEBjb250YWluZXIgZGUgbeFzIGFiYWpvLAogICB5YSBxdWUgZWwgSFRNTCBleHBvcnRhZG8gZXMgcmVzcG9uc2l2ZSB5IG5vIGRlcGVuZGUgZGUgcXXpIHZpc3RhIHR1dmllcmFzCiAgIHNlbGVjY2lvbmFkYSBlbiBlbCBnZXN0b3IgYWwgZXhwb3J0YXIvY29waWFyKS4gKi8KLmJsay1ia2F0NyAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6IzAwQTdGRjt9Ci5ibGstYmthdDcgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6IzAwQTdGRjt9Ci8qIHRleHQtd3JhcDpiYWxhbmNlICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwKICAgZGVsIGdlc3RvciAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgZXNhIHJlZ2xhKTogcmVwYXJ0ZSBsYXMKICAgbO1uZWFzIGRlbCB0aXR1bGFyIGRlIGZvcm1hIG3hcyB1bmlmb3JtZSBkZW50cm8gZGUgY2FkYSBkaXNwb3NpdGl2bywgc2luCiAgIHByZXRlbmRlciBpZ3VhbGFyIGVsIG76bWVybyBkZSBs7W5lYXMgZW50cmUgcGxhdGFmb3JtYXMgZGlzdGludGFzLiAqLwouYmxrLWJrYXQ3IC5sZWFkLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6MTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO3RleHQtd3JhcDpiYWxhbmNlO30KLyogVGl0dWxhciBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YSAodmVyIGJ1aWxkU2NvcGVkSFRNTCk6CiAgIHNlIGdlbmVyYW4gbG9zIGRvcyB0ZXh0b3MgKERlc2svTfN2aWwpIHkgYXF17SBzZSBtdWVzdHJhIHNvbG8gdW5vIHNlZ/puIGVsCiAgIGFuY2hvIHJlYWwgZGVsIGNvbnRlbmVkb3IgJiM4MjEyOyBlbCBtaXNtbyBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgeWEgdXNhIGVsCiAgIHJlc3RvIGRlbCBIVE1MIGV4cG9ydGFkbyBwYXJhIGFkYXB0YXJzZSBzaW4gZGVwZW5kZXIgZGUgSlMuICovCi5ibGstYmthdDcgLmxlYWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIEFudGV07XR1bG8vc3VidO10dWxvIGNvbiBzYWx0b3MgZGUgbO1uZWEgaW5kZXBlbmRpZW50ZXMgcG9yIHZpc3RhOiBtaXNtbwogICBtZWNhbmlzbW8gZGUgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciAodmVyIGFycmliYSkuICovCi5ibGstYmthdDcgLmxlYWQta2lja2VyLW1vYmlsZSwgLmJsay1ia2F0NyAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLyogVGl0dWxhciBkZSBub3RpY2lhIHJlbGFjaW9uYWRhIChjb2x1bW5hKSBjb24gdGV4dG8gcHJvcGlvIGVuIE3zdmlsICh2ZXIKICAgaXRlbS50aXRsZU1vYmlsZSBlbiBidWlsZENvbHVtbkl0ZW1UaXRsZUhUTUwpOiBtaXNtbyBtZWNhbmlzbW8gZGUKICAgQGNvbnRhaW5lciBxdWUgZWwgdGl0dWxhciBwcmluY2lwYWwgZGUgYXJyaWJhLiAqLwouYmxrLWJrYXQ3IC5yZWxhdGVkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQouYmxrLWJrYXQ3IC5hdXRob3ItbGFiZWx7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOGVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOnJpZ2h0O2Rpc3BsYXk6YmxvY2t9Ci5ibGstYmthdDcgLmNvbHVtbntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjt9Ci5ibGstYmthdDcgLmNvbHVtbi1pdGVte2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO3BhZGRpbmc6MTBweDtiYWNrZ3JvdW5kOiNmZmY7YmxvY2stc2l6ZTpzdHJldGNoO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt9Ci5ibGstYmthdDcgLnRodW1ie3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjQvMztiYWNrZ3JvdW5kOiNlZWU7b3ZlcmZsb3c6aGlkZGVufQouYmxrLWJrYXQ3IC50aHVtYiBpbWcsCi5ibGstYmthdDcgLnRodW1iIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0KLmJsay1ia2F0NyAudGh1bWIgLnBsYXktc3F1YXJlLAouYmxrLWJrYXQ3IC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsgYm90dG9tOjVweDsgbGVmdDo1cHg7CiAgaW5saW5lLXNpemU6MjVweDtibG9jay1zaXplOjI1cHg7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtwbGFjZS1pdGVtczpjZW50ZXI7CiAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTgpOwogIGN1cnNvcjpwb2ludGVyO3RyYW5zaXRpb246YmFja2dyb3VuZCAuMTVzLCB0cmFuc2Zvcm0gLjEyczsKICB6LWluZGV4OjI7IGFuaW1hdGlvbjpibGstYmthdDctYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLmJsay1ia2F0NyAudGh1bWIgLnBsYXktc3F1YXJlOjpiZWZvcmUsCi5ibGstYmthdDcgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOjpiZWZvcmV7CiAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjZweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIG1hcmdpbi1sZWZ0OjJweDsKfQouYmxrLWJrYXQ3IC50aHVtYiAucGxheS1zcXVhcmU6aG92ZXIsCi5ibGstYmthdDcgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlOmhvdmVyeyBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC44NSk7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOyB9Ci5ibGstYmthdDcgLnN0YWNrLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE3cHg7bGluZS1oZWlnaHQ6MS4xNWVtO21hcmdpbjowO2NvbG9yOiMyYzNlNTM7fQouYmxrLWJrYXQ3IC5zdGFjay1hdXRob3J7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1ib29rIixzYW5zLXNlcmlmO2NvbG9yOiM4Mjg1OTU7Zm9udC13ZWlnaHQ6MjAwO2ZvbnQtc2l6ZTouOHJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjExcHg7bGV0dGVyLXNwYWNpbmc6MDt0ZXh0LWFsaWduOnJpZ2h0O30KLyogU2luIGVzdGEgcmVnbGEgZWwgYXV0b3IgcXVlZGEgcGVnYWRvIGp1c3RvIGRlYmFqbyBkZWwgdGl0dWxhciBlbiB2ZXogZGUKICAgYWJham8gZGUgbGEgdGFyamV0YTogLm1vZC1zdGFjayBuZWNlc2l0YSBzZXIgZmxleC1jb2x1bW4gY29uCiAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIHBhcmEgcXVlIGVsIGh1ZWNvIHNvYnJhbnRlIChjdWFuZG8gbGEKICAgdGFyamV0YSBjcmVjZSBt4XMgcXVlIHN1IGNvbnRlbmlkbywgdmVyIC5jb2x1bW4taXRlbTpub3QoLmxheW91dC1tZWRpYS1ibG9jaykKICAgbeFzIGFiYWpvKSBlbXB1amUgZWwgYXV0b3IgaGFjaWEgZWwgYm9yZGUgaW5mZXJpb3IuICovCi5ibGstYmthdDcgLm1vZC1zdGFja3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZsZXg6MSAxIGF1dG87fQovKiBFc3RpbG8gImZvdG8gcGVxdWXxYSArIHRpdHVsYXIiOiBmb3RvIDQ6MyBhIGxhIGl6cXVpZXJkYSwgdGV4dG8gYSBsYSBkZXJlY2hhLiAqLwouYmxrLWJrYXQ3IC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tbGVmdHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjExMHB4IDFmcjtnYXA6MTBweDt9Ci8qIEVzdGlsbyAic29sbyB0ZXh0byIgKHBvciBkZWZlY3RvKTogZWwgYXV0b3Igc2UgcG9zaWNpb25hIGVuIGFic29sdXRvLAogICBhbmNsYWRvIGEgbGEgZXNxdWluYSBpbmZlcmlvciBkZXJlY2hhIGRlIGxhIHRhcmpldGEgKGlndWFsIHF1ZSBlbCBwbGF5IGRlCiAgIGxhcyBtaW5pYXR1cmFzKSwgZW4gdmV6IGRlIGRlcGVuZGVyIGRlIHF1ZSBlbCBibG9xdWUgZGUgdGV4dG8gdGVuZ2EgaHVlY28KICAgZGUgc29icmEgcGFyYSBlbXB1amFybG8gYWJham8gY29uIGZsZXhib3ggJiM4MjEyOyBjb24gdO10dWxvcyBkZSAyLTMgbO1uZWFzIGVzZQogICBodWVjbyBubyBleGlzdGUgeSBlbCBhdXRvciBudW5jYSBsbGVnYWJhIGEgYmFqYXIuIHBhZGRpbmctYm90dG9tIGVuCiAgIGxlZnQtYm9keSByZXNlcnZhIGVsIGVzcGFjaW8gcGFyYSBxdWUgZWwgdO10dWxvIG5vIHNlIHNvbGFwZSBjb24g6WwuICovCi5ibGstYmthdDcgLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5sZWZ0LWJvZHl7cGFkZGluZy1ib3R0b206MzNweDt9Ci5ibGstYmthdDcgLmNvbHVtbi1pdGVtLmxheW91dC10aXRsZS1vbmx5IC5zdGFjay1hdXRob3J7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDtib3R0b206MTBweDttYXJnaW4tdG9wOjA7fQouYmxrLWJrYXQ3IC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MS4xNTtjb2xvcjojMmMzZTUzO21hcmdpbjowO3RleHQtYWxpZ246bGVmdDt9Ci5ibGstYmthdDcgLmxlZnQtcGxheXsKICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogIGJhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICMwMGE3ZmY7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7CiAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTogNHB4Owp9Ci5ibGstYmthdDcgLmxlZnQtcGxheTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo0cHggc29saWQgIzAwYTdmZjtib3JkZXItdG9wOjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDoxcHg7Cn0KLmJsay1ia2F0NyAucmVsYXRlZC1saXZlLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGRjUwNTA7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGRjUwNTA7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGstYmthdDcgLnJlbGF0ZWQtZWRpdG9yaWFsLXRhZ3sKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmbGV4OjAgMCBhdXRvOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOi43cmVtO2xpbmUtaGVpZ2h0OjAuODtsZXR0ZXItc3BhY2luZzouM3B4O2NvbG9yOiNGQUIxMjE7CiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNGQUIxMjE7CiAgcGFkZGluZzozcHggNHB4IDJweCA0cHg7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwp9Ci5ibGstYmthdDcgLnBsYXktYnV0dG9uewogIC8qIEFuY2hvL2FsdG8gZmlqb3MgZW4gdmV6IGRlIGFzcGVjdC1yYXRpbzoxLzEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhIChlbAogICAgIGPhbGN1bG8gZGUgInNocmluay10by1maXQiIHBhcmEgdW4gPGJ1dHRvbj4gZW4gYWJzb2x1dG8gc2luIHRhbWHxbwogICAgIGV4cGztY2l0byBubyBlcyBmaWFibGUgZW50cmUgbW90b3JlczsgZW4gV2ViS2l0L2lPUyBkYWJhIHVuIHJlY3Thbmd1bG8KICAgICB2ZXJ0aWNhbCBlc3RyZWNo7XNpbW8gZW4gdmV6IGRlIHVuIGN1YWRyYWRvKS4gKi8KICBhcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7CiAgcG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4OwogIGlubGluZS1zaXplOjM0cHg7YmxvY2stc2l6ZTozNHB4OwogIGRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjEwcHggMTBweCAxMHB4IDEycHg7CiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43KTsKICBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjQyKTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6M3B4OwogIGN1cnNvcjpwb2ludGVyO3otaW5kZXg6MjthbmltYXRpb246YmxrLWJrYXQ3LWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGstYmthdDcgLnBsYXktYnV0dG9uLnBvcy10b3AtcmlnaHR7dG9wOjEwcHg7cmlnaHQ6MTBweDtsZWZ0OmF1dG87Ym90dG9tOmF1dG87fQouYmxrLWJrYXQ3IC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLWxlZnR7Ym90dG9tOjEwcHg7bGVmdDoxMHB4O3RvcDphdXRvO3JpZ2h0OmF1dG87fQouYmxrLWJrYXQ3IC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0e2JvdHRvbToxMHB4O3JpZ2h0OjEwcHg7dG9wOmF1dG87bGVmdDphdXRvO30KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstYmthdDcgLmxlYWQubGVhZC1ib2R5LWxlZnQgLnBsYXktYnV0dG9uLnBvcy10b3AtbGVmdCwKLmJsay1ia2F0NyAubGVhZC5sZWFkLWJvZHktbGVmdCAucGxheS1idXR0b24ucG9zLWJvdHRvbS1sZWZ0eyBsZWZ0OjQwcHg7IH0KLmJsay1ia2F0NyAubGVhZC5sZWFkLWJvZHktcmlnaHQgLnBsYXktYnV0dG9uLnBvcy10b3AtcmlnaHQsCi5ibGstYmthdDcgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci8qIFBvc2ljafNuICdib3R0b20nIHBvciBkZWZlY3RvOiBlbCBsZWFkLWJvZHkgc29sYXBhIDMwcHggc29icmUgZWwgYm9yZGUKICAgSU5GRVJJT1IgZGUgbGEgZm90by927WRlbyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBObyBhcGxpY2EgY29uICdib3R0b20tZnVsbCcKICAgbmkgY29uICdsZWZ0Jy8ncmlnaHQnIChhanVzdGUgaG9yaXpvbnRhbCBwcm9waW8sIHZlciBhcnJpYmEpLiAqLwouYmxrLWJrYXQ3IC5sZWFkOm5vdCgubGVhZC1ib2R5LWxlZnQpOm5vdCgubGVhZC1ib2R5LXJpZ2h0KTpub3QoLmxlYWQtYm9keS1ib3R0b20tZnVsbCkgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tbGVmdCwKLmJsay1ia2F0NyAubGVhZDpub3QoLmxlYWQtYm9keS1sZWZ0KTpub3QoLmxlYWQtYm9keS1yaWdodCk6bm90KC5sZWFkLWJvZHktYm90dG9tLWZ1bGwpIC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NDBweDsgfQouYmxrLWJrYXQ3IC5wbGF5LWJ1dHRvbiAucGxheS1pY29uewogIGlubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjtib3JkZXItdG9wOjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjZweCBzb2xpZCB0cmFuc3BhcmVudDsKfQouYmxrLWJrYXQ3IC5wbGF5LWJ1dHRvbiAucGxheS10ZXh0e2Rpc3BsYXk6bm9uZTt9CgovKiBUaXR1bGFyZXMgYW5pbWFkb3MgKGNhcGEgYWx0ZXJuYXRpdmEgc29icmUgbGVhZC1tZWRpYSkgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYQogICBoZXJyYW1pZW50YS4gQ2FkYSB0aXR1bGFyIHRpZW5lIHN1IHByb3BpYSBwb3NpY2nzbiAoY2xhc2UgcG9zLSosIHZlcgogICBidWlsZFNjb3BlZEhUTUwpIHkgc2UgcmV2ZWxhIGztbmVhIHBvciBs7W5lYSAodW5hIHZleiBtZWRpZGFzIHN1cyBs7W5lYXMKICAgcmVhbGVzIHBvciBlbCBzY3JpcHQgc3RhbmRhbG9uZSwgdmVyIGJ1aWxkQW5pbUhlYWRsaW5lc1NjcmlwdCkgY29uIHVuYQogICBjYWphIGRlIGZvbmRvIGRldHLhcyBkZSBjYWRhIGztbmVhIHkgdW4gZmFkZSBkZSBvcGFjaWRhZCBlbnRyZSB0aXR1bGFyZXMuICovCi5ibGstYmthdDcgLmxlYWQtYW5pbS1oZWFkbGluZXN7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgaW5zZXQ6MDsKICB6LWluZGV4OjQ7CiAgcG9pbnRlci1ldmVudHM6bm9uZTsKfQouYmxrLWJrYXQ3IC5sZWFkLWFuaW0taGVhZGxpbmV7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgbGVmdDoxNXB4OwogIG9wYWNpdHk6MDsKfQouYmxrLWJrYXQ3IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1sZWZ0eyBib3R0b206NjBweDsgfQouYmxrLWJrYXQ3IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1sZWZ0eyB0b3A6NjBweDsgfQouYmxrLWJrYXQ3IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1sZWZ0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLWJrYXQ3IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay1ia2F0NyAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQsCi5ibGstYmthdDcgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBsZWZ0OmF1dG87IHJpZ2h0OjE1cHg7IH0KLmJsay1ia2F0NyAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHR7IHRvcDo2MHB4OyB9Ci5ibGstYmthdDcgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLWJrYXQ3IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgYm90dG9tOjYwcHg7IH0KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstYmthdDcgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnQsCi5ibGstYmthdDcgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnQsCi5ibGstYmthdDcgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGxlZnQ6NDBweDsgfQouYmxrLWJrYXQ3IC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQsCi5ibGstYmthdDcgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay1ia2F0NyAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci5ibGstYmthdDcgLmxlYWQtYW5pbS1oZWFkbGluZS5pcy1hY3RpdmV7IG9wYWNpdHk6MTsgfQouYmxrLWJrYXQ3IC5sZWFkLWFuaW0tbGluZXsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBkaXNwbGF5OnRhYmxlOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjsKICBmb250LXdlaWdodDo5MDA7CiAgY29sb3I6I2ZmZjsKICBwYWRkaW5nOjJweCA4cHg7CiAgY2xpcC1wYXRoOmluc2V0KDAgMTAwJSAwIDApOwogIG9wYWNpdHk6MTsKICB0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBlYXNlOwp9Ci5ibGstYmthdDcgLmxlYWQtYW5pbS1saW5lLmlzLWhpZGluZ3sgb3BhY2l0eTowOyB9Ci8qIFNvbGFwZSBkZSAxcHggZW50ZXJhIGVudHJlIGztbmVhcyBwYXJhIGNlcnJhciBlbCBoaWxvIGRlIHN1Yi1w7XhlbCBxdWUKICAgcHVlZGUgcXVlZGFyIGVudHJlIHN1cyBjYWphcyBkZSBmb25kbyAocmVkb25kZW8gZGUgYWx0dXJhcyBmcmFjY2lvbmFyaWFzKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBjb21lbnRhcmlvLCBkZXRhbGxhZG8sIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstYmthdDcgLmxlYWQtYW5pbS1saW5lICsgLmxlYWQtYW5pbS1saW5lewogIG1hcmdpbi10b3A6LTFweDsKfQouYmxrLWJrYXQ3IC5sZWFkLWFuaW0tbGluZTpmaXJzdC1jaGlsZHsgcGFkZGluZy10b3A6NnB4OyB9Ci5ibGstYmthdDcgLmxlYWQtYW5pbS1saW5lOmxhc3QtY2hpbGR7IHBhZGRpbmctYm90dG9tOjZweDsgfQouYmxrLWJrYXQ3IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGstYmthdDcgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay1ia2F0NyAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHQgLmxlYWQtYW5pbS1saW5leyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6MDsgfQouYmxrLWJrYXQ3IC5sZWFkLWFuaW0taGVhZGxpbmVzLmlzLXBvc2l0aXZlIC5sZWFkLWFuaW0tbGluZXsgY29sb3I6IzBFMTExQTsgfQouYmxrLWJrYXQ3IC5sZWFkLWFuaW0tbGluZS1iZ3sgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0OjA7IHotaW5kZXg6LTE7IH0KLmJsay1ia2F0NyAubGVhZC1hbmltLWxpbmUtdGV4dHsgcG9zaXRpb246cmVsYXRpdmU7IH0KQGtleWZyYW1lcyBibGstYmthdDctYW5pbS1saW5lLXJldmVhbHsgdG97IGNsaXAtcGF0aDppbnNldCgwIDAgMCAwKTsgfSB9CgovKiBBbmNob3Igb3ZlcmxheSBmb3IgZnVsbCBjbGlja2FibGUgbGVhZCAqLwouYmxrLWJrYXQ3IC5sZWFkLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjF9CgovKiBIb3ZlciBvcGFjaXR5IGFuaW1hdGlvbiAqLwouYmxrLWJrYXQ3IC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAouYmxrLWJrYXQ3IC5jb2x1bW4taXRlbTpob3ZlcntvcGFjaXR5Oi44fQovKiBGb3RvIHByaW5jaXBhbCAoZmFsbGJhY2svc2luZ2xlKSBvIGNhcnJ1c2VsIGRlIGZvdG9zOiBvcGFjaWRhZCAwLjkgYWwKICAgcGFzYXIgZWwgcmF0824gcG9yIGxhIHRhcmpldGEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4KICAgbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGEgdu1kZW8gbmkgYWwKICAgY29tcGFyYWRvciBhbnRlcy9kZXNwdelzLiAqLwouYmxrLWJrYXQ3IC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLWJrYXQ3IC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay1ia2F0NyAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKLmJsay1ia2F0NyAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6Ljk7fQovKiBFbiBlbCBhbmNobyBt83ZpbCAobWlzbW8gQGNvbnRhaW5lciBxdWUgZWwgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvKSBubwogICBhcGxpY2EgZXN0YSBhbmltYWNp824gZGUgb3BhY2lkYWQgc29icmUgbGEgbm90aWNpYSBwcmluY2lwYWw6IHZhIERFU1BVyVMKICAgZGUgbGEgcmVnbGEgZ2VuZXJhbCBkZSBhcnJpYmEgKG1pc21hIGVzcGVjaWZpY2lkYWQpIHBhcmEgcG9kZXIgZ2FuYXJsZS4KICAgT21pdGlkbywgaWd1YWwgcXVlIGVsIGJsb3F1ZSBkZSB0aXBvZ3JhZu1hIGRlIGFycmliYSwgbWllbnRyYXMgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBlc3TpIGFjdGl2YSAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstYmthdDcgLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCiAgLmJsay1ia2F0NyAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKICAuYmxrLWJrYXQ3IC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eToxO30KfQoKLyogQW5pbWFjafNuIGNvbXBhcnRpZGEgcGxheSBwcmluY2lwYWwgKyBjdWFkcmFkb3MgcGxheSBhcGlsYWRhcyAqLwpAa2V5ZnJhbWVzIGJsay1ia2F0Ny1ibGlua3sKICAwJSwxMDAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpfQogIDUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LDAuOSl9Cn0KLyogQ2FiZWNlcmEgKi8KLmJsay1ia2F0NyAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxMHB4IDAgMzJweH0KLmJsay1ia2F0NyAuZm5kLWxpbmVhe2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTo1cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW4tdG9wOi0xOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICMzMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzMzM30KLmJsay1ia2F0NyAuc2VjdGlvbi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LTFweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6NHB4IDEzcHg7Ym9yZGVyOjFweCBzb2xpZCAjMEUxMTFBO3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKTtmb250LXNpemU6NDJweDtjb2xvcjojMEUxMTFBO30KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsuYmxrLWJrYXQ3IC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MCAxMHB4fX0KLyogQ2FiZWNlcmEgJiM4MjEyOyBEaXNl8W8gMiAodGl0dWxhciArIGNhcnJ1c2VsIGRlIGxvZ290aXBvcykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1ia2F0NyAuaGVhZGVyMntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoyMHB4O3BhZGRpbmctYm90dG9tOjVweDttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzBFMTExQTt9Ci8qIGFsaWduLXNlbGY6ZmxleC1lbmQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSAxNXB4IGRlIGxhIGztbmVhIHNlcGFyYWRvcmEKICAgZW4gRGVzayAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MKICAgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLWJrYXQ3IC5oZWFkZXIyLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtmbGV4OjEgMSA1MCU7bWluLWlubGluZS1zaXplOjA7YWxpZ24tc2VsZjpmbGV4LWVuZDt9Ci5ibGstYmthdDcgLmhlYWRlcjItdGFnc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleDowIDAgYXV0bzt9Ci8qIE1pc21vIHRhbWHxby90aXBvZ3JhZu1hIHF1ZSAubGVhZC1leGNsdXNpdmUtdGFnIChsYSBkZSBsYSBub3RpY2lhCiAgIHByaW5jaXBhbCkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZQogICBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay1ia2F0NyAuaGVhZGVyMi1jYXQtdGFnLAouYmxrLWJrYXQ3IC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWd7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6LjhlbTtsZXR0ZXItc3BhY2luZzouNXB4O3BhZGRpbmc6MnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7fQouYmxrLWJrYXQ3IC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay1ia2F0NyAuaGVhZGVyMi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZTozNnB4O2xpbmUtaGVpZ2h0OjEuMDU7Y29sb3I6IzBFMTExQTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWluLWlubGluZS1zaXplOjA7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO30KLyogU2VwYXJhY2nzbiBkZSAxMHB4IGVudHJlIGVsIHRleHRvIGRlIHBhdHJvY2luaW8geSBlbCBsb2dvIGVuIERlc2sgJiM4MjEyOyBlbgogICBN83ZpbCBzaWd1ZSBzaW4gc2VwYXJhY2nzbiAoZ2FwOjAsIHZlciBAY29udGFpbmVyIG3hcyBhYmFqbykuICovCi5ibGstYmthdDcgLmhlYWRlcjItbG9nb3Mtd3JhcHtmbGV4OjAgMCBhdXRvO21heC1pbmxpbmUtc2l6ZTo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7fQovKiBFdGlxdWV0YSBvcGNpb25hbCBqdW50byBhbCBjYXJydXNlbCBkZSBsb2dvcyAocC5lai4gIlBhdHJvY2luYWRvIHBvcjoiKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLWJrYXQ3IC5oZWFkZXIyLWxvZ29zLWxhYmVse2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjY3O3doaXRlLXNwYWNlOm5vd3JhcDt9Ci5ibGstYmthdDcgLmhlYWRlcjItbG9nb3N7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTYwcHg7YmxvY2stc2l6ZTo1MHB4O2ZsZXgtc2hyaW5rOjA7fQouYmxrLWJrYXQ3IC5oZWFkZXIyLWxvZ29zIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO21hcmdpbjphdXRvO21heC1pbmxpbmUtc2l6ZToxMDAlO21heC1ibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb250YWluO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIGVhc2UtaW4tb3V0O30KLmJsay1ia2F0NyAuaGVhZGVyMi1sb2dvcyBpbWcuaXMtYWN0aXZle29wYWNpdHk6MTt9Ci8qIElndWFsIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsOiBwb3IgZGViYWpvIGRlIGVzdGUgYW5jaG8gc2UKICAgaW50ZW50YSBwcmltZXJvIDEgU09MQSBGSUxBIChldGlxdWV0YXMrdGl0dWxhciBqdW50byBhbCBsb2dvLCBpZ3VhbCBxdWUKICAgZW4gRGVzaywgYSB0YW1h8W8gcmVkdWNpZG8pLiBFbCBibG9xdWUgZGUgbG9nb3MgbWFudGllbmUgU0lFTVBSRSBzdQogICBkaXNwb3NpY2nzbiBlbiBjb2x1bW5hIChldGlxdWV0YSBkZSBwYXRyb2NpbmlvIGVuY2ltYSBkZWwgbG9nbywKICAgYWxpbmVhZG9zIGEgbGEgZGVyZWNoYSwgc2luIHNlcGFyYWNp824pIHRhbnRvIGVuIGVzdGEgZmlsYSD6bmljYSBjb21vIGVuCiAgIGVsIHJlc2d1YXJkbyBkZSBhYmFqby4gU2kgZWwgdGl0dWxhciwgc3VtYWRvIGFsIGFuY2hvIGRlIGxhcyBldGlxdWV0YXMKICAgYWN0aXZhcyAoY2F0ZWdvcu1hIHkvbyBleGNsdXNpdmEsIHNpIGxhcyBoYXkpLCBzdXBlcmEgZWwgNTUlIGRlbCBhbmNobwogICB0b3RhbCBkZSBsYSBjYWJlY2VyYSAoY2FkYSB1bm8gbWVkaWRvIGEgdW5hIHNvbGEgbO1uZWEpLCBlbCBzY3JpcHQKICAgc3RhbmRhbG9uZSBh8WFkaWRvIGFsIGZpbmFsIGRlIGVzdGUgSFRNTCAodmVyCiAgIGJ1aWxkSGVhZGVyMlN0YWNraW5nU2NyaXB0KCkpIGxvIGRldGVjdGEgbWlkaWVuZG8gc3UgYW5jaG8gbmF0dXJhbAogICB5IGHxYWRlIGxhIGNsYXNlICJoZWFkZXIyLXN0YWNrZWQiOiBlbCBibG9xdWUgZGUKICAgbG9nb3Mgc3ViZSBlbnRvbmNlcyBhIHN1IHByb3BpYSBmaWxhIChhbGluZWFkbyBhIGxhIGRlcmVjaGEpIHkKICAgdGl0dWxhcitldGlxdWV0YXMgYmFqYW4gYSBsYSBmaWxhIGRlIGFiYWpvLCBhIGFuY2hvIGNvbXBsZXRvICYjODIxMjsgbWlzbW8KICAgbGF5b3V0IGRlIDIgZmlsYXMgcXVlIGhhYu1hIGFudGVzIHNpZW1wcmUgcG9yIGRlYmFqbyBkZSBlc3RlIGJyZWFrcG9pbnQsCiAgIGFob3JhIHNvbG8gY29tbyByZXNndWFyZG8uIERlbnRybyBkZSBlc2UgcmVzZ3VhcmRvLCBjb24gZXRpcXVldGEocykgZWwKICAgdGl0dWxhciBwYXNhIGFkZW3hcyBhIHN1IFBST1BJQSBmaWxhIGEgYW5jaG8gY29tcGxldG8sIGRlYmFqbyBkZSBsYSBmaWxhIGRlIGV0aXF1ZXRhcyAodmVyCiAgICIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnQiIG3hcyBhYmFqbykuIEVsIGxvZ28gc2UgcmVkdWNlIHVuIDIwJQogICAoMTYweDUwICYjODU5NDsgMTI4eDQwKS4KICAgYWxpZ24tc2VsZjpmbGV4LWVuZCBlbiBoZWFkZXIyLWxlZnQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSBsb3MgMTBweAogICBkZWwgcGFkZGluZy1ib3R0b20gcmVzcGVjdG8gYSBsYSBs7W5lYSBzZXBhcmFkb3JhICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlCiAgIGVuIERlc2sgKHZlciBoZWFkZXIyLWxlZnQgbeFzIGFycmliYSk6IHNpbiBlc3RvLCBhbCBzZXIgZWwgYmxvcXVlIGRlCiAgIGxvZ29zIG3hcyBhbHRvIHF1ZSBlbCB0aXR1bGFyLCBlbCBjZW50cmFkbyB2ZXJ0aWNhbCBkZWwgcm93IGRlamFiYSB1bgogICBodWVjbyBtYXlvciBlbnRyZSBlbCB0aXR1bGFyIHkgbGEgbO1uZWEuIEVsIGJsb3F1ZSBkZSBsb2dvcyBzaWd1ZQogICBjZW50cmFkbyAoc2luIGVzZSBvdmVycmlkZSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay1ia2F0NyAuaGVhZGVyMntmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4O30KICAuYmxrLWJrYXQ3IC5oZWFkZXIyLWxlZnR7b3JkZXI6MTthbGlnbi1zZWxmOmZsZXgtZW5kO30KICAuYmxrLWJrYXQ3IC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MjthbGlnbi1zZWxmOmNlbnRlcjttYXgtaW5saW5lLXNpemU6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC5ibGstYmthdDcgLmhlYWRlcjItbG9nb3N7aW5saW5lLXNpemU6MTI4cHg7YmxvY2stc2l6ZTo0MHB4O30KICAuYmxrLWJrYXQ3IC5oZWFkZXIyLXRpdGxle2ZvbnQtc2l6ZToyN3B4O30KICAuYmxrLWJrYXQ3IC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDt9CiAgLmJsay1ia2F0NyAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdHtvcmRlcjoyO2FsaWduLXNlbGY6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NXB4O30KICAuYmxrLWJrYXQ3IC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjE7bWF4LWlubGluZS1zaXplOjEwMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC8qIFJlc2d1YXJkbyBpbnRlcm1lZGlvICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YTogc29sbyBlbCB0aXR1bGFyIGJhamEgYSBzdQogICAgIHByb3BpYSBmaWxhIGEgYW5jaG8gY29tcGxldG8gY3VhbmRvIGxhcyBldGlxdWV0YXMgU80gY2FiZW4ganVudG8gYWwKICAgICBsb2dvIHBlcm8gZWwgdGl0dWxhciBuby4gaGVhZGVyMi1sZWZ0IHBhc2EgZGUgZmlsYSBhIGNvbHVtbmEKICAgICAoZXRpcXVldGFzIGFycmliYSwgdGl0dWxhciBkZWJham8pIHkgcmVjdXBlcmEgYWxpZ24tc2VsZjphdXRvIHBhcmEKICAgICBjZW50cmFyc2UgdmVydGljYWxtZW50ZSBjb250cmEgZWwgbG9nbyAoYWxpZ24tc2VsZjpjZW50ZXIgZGUgbGEgcmVnbGEKICAgICBiYXNlIGRlIC5oZWFkZXIyLWxvZ29zLXdyYXAsIGFycmliYSksIGlndWFsIHF1ZSBlbiBlbCByZXN0byBkZSBlc3RhZG9zLiAqLwogIC5ibGstYmthdDcgLmhlYWRlcjIuaGVhZGVyMi10aXRsZS1iZWxvdyAuaGVhZGVyMi1sZWZ0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLXNlbGY6YXV0bztnYXA6NXB4O30KfQoKLyogRXN0aWxvICJmb3RvIGdyYW5kZSArIHRpdHVsYXIiOiBmb3RvIDE2OjkgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbyAmIzgyMTI7IGVsZWdpYmxlCiAgIHBvciBub3RpY2lhIGRlc2RlIGVsIGdlc3Rvci4gTm8gc2UgcmVzdHJpbmdlIGNvbiBAY29udGFpbmVyIHBvcnF1ZQogICAuY29sdW1uLWl0ZW0geWEgZXMgYmxvY2sgcG9yIGRlZmVjdG8gKGVsIHRodW1iIHkgZWwgdGV4dG8gc2UgYXBpbGFuIHNvbG9zCiAgIHNpbiBt4XMgYWp1c3RlKSwgYXPtIHF1ZSBlbCBkaXNl8W8gZnVuY2lvbmEgaWd1YWwgZGUgYmllbiBlbiBjdWFscXVpZXIKICAgYW5jaG8sIERlc2sgbyBN83ZpbC4gKi8KLmJsay1ia2F0NyAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay1ia2F0NyAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAudGh1bWJ7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLWJrYXQ3IC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXdlaWdodDo5MDA7fQovKiBFbiBN83ZpbCBlbCB0aXR1bGFyIGRlIGVzdGUgZGlzZfFvIHNlIG11ZXN0cmEgbeFzIGdyYW5kZSAoMS41cmVtIGVuIHZleiBkZQogICBsb3MgMS4ycmVtIGRlIERlc2spICYjODIxMjsgbWlzbWEgZXNwZWNpZmljaWRhZCAoMyBjbGFzZXMpIHF1ZSBsYSByZWdsYSBkZQogICBhcnJpYmE7IGFsIGlyIERFU1BVyVMgZW4gZWwgQ1NTIGdhbmEgcG9yIG9yZGVuIGRlIGNhc2NhZGEuIFNlIHVzYSBlbAogICBicmVha3BvaW50IGRlIDQ4MHB4IChlbCBkZSB0aXBvZ3JhZu1hIGVuIGVzdGEgYXBwLCBubyBlbCBkZSA4NjBweCBxdWUgYXF17QogICBzb2xvIGdvYmllcm5hIGVsIGFwaWxhZG8gZGUgY29sdW1uYXMpIHBhcmEgcXVlIGNvaW5jaWRhIGNvbiBlbCByZXN0byBkZQogICBjYW1iaW9zIGRlIHRleHRvL3RhbWHxbyBwb3IgdmlzdGEuIE5vIGFmZWN0YSBhbCByZXNndWFyZG8gZGUgMiBjb2x1bW5hcyBlbgogICBt83ZpbCAobW9iLWdyaWQpLCBt4XMgZXNwZWPtZmljbyAoMThweCwgdmVyIG3hcyBhcnJpYmEpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstYmthdDcgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjEuNXJlbTt9Cn0KLyogRXN0aWxvICJCbG9xdWUgbWVkaWEiICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstYmthdDcgLm1lZGlhLWJsb2NrLW1lZGlhe2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOmF1dG87fQouYmxrLWJrYXQ3IC5tZWRpYS1ibG9jay13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7fQouYmxrLWJrYXQ3IC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLWJrYXQ3IC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcCBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay1ia2F0NyAuY29sdW1uLWl0ZW0ubGF5b3V0LW1lZGlhLWJsb2Nre2JvcmRlcjpub25lO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2Jsb2NrLXNpemU6YXV0bztmbGV4OjAgMCBhdXRvO30KLmJsay1ia2F0NyAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spe2ZsZXg6MSAxIGF1dG87fQo8L3N0eWxlPgoKPGRpdiBjbGFzcz0iYmxrLWJrYXQ3Ij4KICAKICA8bWFpbiBjbGFzcz0icGFnZSI+CiAgICAKICAgIDxhcnRpY2xlIGNsYXNzPSJsZWFkIGxlYWQtYm9keS1sZWZ0Ij4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1tZWRpYSI+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS9lbC1wc29lLXJldHVlcmNlLWxhLWZhcnNhLWRlbC1nYXMtcGltaWVudGEtZW4tZWwtY29uZ3Jlc28tZGUtYW5hLXZhenF1ZXoteS1sb2dyYS1xdWUtdW4tanVlei1pbnZlc3RpZ3VlLWxhcy1zdXB1ZXN0YXMtbGVzaW9uZXMtc3VmcmlkYXMtMjAyNjEwMTUtMDYwMTAxLTBkNWJmMC5qcGciIGFsdD0iRWwgUFNPRSByZXR1ZXJjZSBsYSBmYXJzYSBkZWwgZ2FzIHBpbWllbnRhIGVuIGVsIENvbmdyZXNvIGRlIEFuYSBW4XpxdWV6IHkgbG9ncmEgcXVlIHVuIGp1ZXogaW52ZXN0aWd1ZSBsYXMgc3VwdWVzdGFzIGxlc2lvbmVzIHN1ZnJpZGFzIiBsb2FkaW5nPSJlYWdlciIgZmV0Y2hwcmlvcml0eT0iaGlnaCIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsZWFkLW92ZXJsYXkiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTQsMTcsMjYsMC4wMCk7Ij48L2Rpdj4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImxlYWQtYm9keSIgc3R5bGU9ImJhY2tncm91bmQ6IzAwQTdGRjsiPgogICAgICAgIDxzcGFuIGNsYXNzPSJsZWFkLWNhdCIgc3R5bGU9ImJhY2tncm91bmQ6I2ZmZjtjb2xvcjojMDBBN0ZGIj5FU1BB0UE8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5LW1haW4iPgogICAgICAgICAgCiAgICAgICAgICA8aDIgY2xhc3M9ImxlYWQtdGl0bGUiPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLWRlc2siPkVsIFBTT0UgcmV0dWVyY2UgbGEgZmFyc2EgZGVsIGdhcyBwaW1pZW50YSBlbiBlbCBDb25ncmVzbyBkZSBBbmEgVuF6cXVleiB5IGxvZ3JhIHF1ZSB1biBqdWV6IGludmVzdGlndWUgbGFzIHN1cHVlc3RhcyBsZXNpb25lcyBzdWZyaWRhczwvc3Bhbj48c3BhbiBjbGFzcz0ibGVhZC10aXRsZS1tb2JpbGUiPkVsIFBTT0UgcmV0dWVyY2UgbGEgZmFyc2EgZGVsIGdhcyBwaW1pZW50YSBlbiBlbCBDb25ncmVzbyBkZSBBbmEgVuF6cXVleiB5IGxvZ3JhIHF1ZSB1biBqdWV6IGludmVzdGlndWUgbGFzIHN1cHVlc3RhcyBsZXNpb25lcyBzdWZyaWRhczwvc3Bhbj48L2gyPgogICAgICAgICAgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aG9yLWxhYmVsIj5JcmVuZSBUYWJlcmE8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YSBjbGFzcz0ibGVhZC1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BhbmEvcHNvZS1yZXR1ZXJjZS1mYXJzYS1kZWwtZ2FzLXBpbWllbnRhLWNvbmdyZXNvLWFuYS12YXpxdWV6LWxvZ3JhLXF1ZS1qdWV6LWludmVzdGlndWUtc3VwdWVzdGFzLWxlc2lvbmVzLXN1ZnJpZGFzLTIwNTUxMDMzIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9IkVsIFBTT0UgcmV0dWVyY2UgbGEgZmFyc2EgZGVsIGdhcyBwaW1pZW50YSBlbiBlbCBDb25ncmVzbyBkZSBBbmEgVuF6cXVleiB5IGxvZ3JhIHF1ZSB1biBqdWV6IGludmVzdGlndWUgbGFzIHN1cHVlc3RhcyBsZXNpb25lcyBzdWZyaWRhcyIgYXJpYS1sYWJlbD0iRWwgUFNPRSByZXR1ZXJjZSBsYSBmYXJzYSBkZWwgZ2FzIHBpbWllbnRhIGVuIGVsIENvbmdyZXNvIGRlIEFuYSBW4XpxdWV6IHkgbG9ncmEgcXVlIHVuIGp1ZXogaW52ZXN0aWd1ZSBsYXMgc3VwdWVzdGFzIGxlc2lvbmVzIHN1ZnJpZGFzIj48L2E+CiAgICA8L2FydGljbGU+CiAgPC9tYWluPgo8L2Rpdj4KCjxzY3JpcHQ+CihmdW5jdGlvbigpewogIHZhciBhcnRpY2xlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJsay1ia2F0NyAubGVhZCcpOwogIGlmICghYXJ0aWNsZSkgcmV0dXJuOwogIHZhciBtYWluID0gYXJ0aWNsZS5xdWVyeVNlbGVjdG9yKCcubGVhZC1ib2R5LW1haW4nKTsKICB2YXIgdGl0bGVFbCA9IGFydGljbGUucXVlcnlTZWxlY3RvcignLmxlYWQtdGl0bGUnKTsKICBpZiAoIW1haW4gfHwgIXRpdGxlRWwpIHJldHVybjsKICB2YXIgYmFzZUZvbnRTaXplUHggPSBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUodGl0bGVFbCkuZm9udFNpemUpIHx8IDA7CiAgaWYgKCFiYXNlRm9udFNpemVQeCkgcmV0dXJuOwogIHZhciBNQVhfU0NBTEUgPSAxLjg7CiAgdmFyIE1JTl9TQ0FMRSA9IDAuNTsKICB2YXIgTUFYX0ZPTlRfUFggPSA2NDsgLy8gfjRyZW0gY29uIGxhIGJhc2UgaGFiaXR1YWwgZGUgMTZweCAobWlzbW8gdG9wZSBxdWUgZml0TGVhZFRpdGxlVG9Cb3goKSBlbiBlbCBnZXN0b3IpCiAgdmFyIGJvZHlQb3NpdGlvbkJsb2Nrc0ZpdCA9IGFydGljbGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWFkLWJvZHktbGVmdCcpIHx8IGFydGljbGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWFkLWJvZHktcmlnaHQnKTsKICBmdW5jdGlvbiBmaXQoKXsKICAgIGlmIChib2R5UG9zaXRpb25CbG9ja3NGaXQpIHJldHVybjsKICAgIHRpdGxlRWwuc3R5bGUuZm9udFNpemUgPSBiYXNlRm9udFNpemVQeCArICdweCc7CiAgICB2YXIgYXZhaWxhYmxlSGVpZ2h0ID0gbWFpbi5jbGllbnRIZWlnaHQ7CiAgICBpZiAoIWF2YWlsYWJsZUhlaWdodCkgcmV0dXJuOwogICAgLy8gVmVyIG1pc21vIGNvbWVudGFyaW8sIGRldGFsbGFkbywgZW4gZml0TGVhZFRpdGxlVG9Cb3goKSBkZWwgZ2VzdG9yOgogICAgLy8gbWFpbi5zY3JvbGxIZWlnaHQgbnVuY2EgYmFqYSBkZSBjbGllbnRIZWlnaHQgYXVucXVlIGVsIGNvbnRlbmlkbyByZWFsCiAgICAvLyBvY3VwZSBtZW5vcywgYXPtIHF1ZSBubyBzaXJ2ZSBwYXJhIGRldGVjdGFyIGN14W50byBzb2JyYSBvIGZhbHRhIGNvbgogICAgLy8gZWwgdGl0dWxhciBhY3R1YWwgJiM4MjEyOyBzZSBzdW1hIGVuIHN1IGx1Z2FyIGVsIGFsdG8gcmVhbCBkZSBjYWRhIGhpam8KICAgIC8vIFZJU0lCTEUgZGVsIGJsb3F1ZSwgc2Fsdm8gZWwgcHJvcGlvIHRpdHVsYXIsIG3hcyBlbCBodWVjbyAoImdhcCIpCiAgICAvLyBlbnRyZSBlbGxvczsgbm8gY2FtYmlhIGNvbiBlbCB0YW1h8W8gZGVsIHRpdHVsYXIsIGFz7SBxdWUgc2UgbWlkZSB1bmEKICAgIC8vIHNvbGEgdmV6LCBhbnRlcyBkZSBsYSBi+nNxdWVkYSBiaW5hcmlhLgogICAgdmFyIGdhcFB4ID0gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLnJvd0dhcCkgfHwgcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKG1haW4pLmdhcCkgfHwgMDsKICAgIHZhciB2aXNpYmxlQ2hpbGRyZW4gPSBbXS5zbGljZS5jYWxsKG1haW4uY2hpbGRyZW4pLmZpbHRlcihmdW5jdGlvbihjKXsgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoYykuZGlzcGxheSAhPT0gJ25vbmUnOyB9KTsKICAgIHZhciBvdGhlcnNIZWlnaHQgPSB2aXNpYmxlQ2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uKGMpeyByZXR1cm4gYyAhPT0gdGl0bGVFbDsgfSkucmVkdWNlKGZ1bmN0aW9uKHN1bSwgYyl7IHJldHVybiBzdW0gKyBjLm9mZnNldEhlaWdodDsgfSwgMCkKICAgICAgKyBnYXBQeCAqIE1hdGgubWF4KDAsIHZpc2libGVDaGlsZHJlbi5sZW5ndGggLSAxKTsKICAgIHZhciBhdmFpbGFibGVGb3JUaXRsZSA9IE1hdGgubWF4KDAsIGF2YWlsYWJsZUhlaWdodCAtIG90aGVyc0hlaWdodCk7CiAgICBpZiAoIWF2YWlsYWJsZUZvclRpdGxlKSByZXR1cm47CiAgICBmdW5jdGlvbiBoZWlnaHRBdFNjYWxlKHNjYWxlKXsKICAgICAgdGl0bGVFbC5zdHlsZS5mb250U2l6ZSA9IE1hdGgubWluKGJhc2VGb250U2l6ZVB4ICogc2NhbGUsIE1BWF9GT05UX1BYKSArICdweCc7CiAgICAgIHJldHVybiB0aXRsZUVsLm9mZnNldEhlaWdodDsKICAgIH0KICAgIHZhciBsbyA9IE1JTl9TQ0FMRSwgaGkgPSBNQVhfU0NBTEU7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IDg7IGkrKyl7CiAgICAgIHZhciBtaWQgPSAobG8gKyBoaSkgLyAyOwogICAgICBpZiAoaGVpZ2h0QXRTY2FsZShtaWQpIDw9IGF2YWlsYWJsZUZvclRpdGxlKSBsbyA9IG1pZDsgZWxzZSBoaSA9IG1pZDsKICAgIH0KICAgIGhlaWdodEF0U2NhbGUobG8pOwogIH0KICBmaXQoKTsKICBpZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMucmVhZHkpeyBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKGZpdCk7IH0KICBpZiAod2luZG93LlJlc2l6ZU9ic2VydmVyKXsgbmV3IFJlc2l6ZU9ic2VydmVyKGZpdCkub2JzZXJ2ZShhcnRpY2xlKTsgfQogIGVsc2UgeyB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZml0KTsgfQp9KSgpOwo8L3NjcmlwdD4=
      CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQiIGNyb3Nzb3JpZ2luPgo8bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vcC50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MiPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzcwMCZkaXNwbGF5PXN3YXAiPgo8c3R5bGU+Ci8qIGFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkOiB2ZXIgcmVsYXRlZFVwcGVyY2FzZVRpdGxlRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwTWVkaXVtJTIwQ25kLm90ZiIpOwp9Ci8qIGFtcGxpdHVkZS1ib29rOiB2ZXIgcmVsYXRlZEF1dGhvckZvbnQgbeFzIGFiYWpvLiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogImFtcGxpdHVkZS1ib29rIjsKICBzcmM6IHVybCgiaHR0cHM6Ly9va2RpYXJpby5jb20vd2ViL3RoZW1lcy92MTAvY3NzL19mb250c19hbXBsaXR1ZGUvQW1wbGl0dWRlJTIwQXViaSUyMEJvb2sub3RmIik7Cn0KLyogY29udGFpbmVyLXR5cGU6aW5saW5lLXNpemUgYXF17SBlcyBpbXByZXNjaW5kaWJsZTogY29udmllcnRlIGVzdGUgYmxvcXVlCiAgIGVuIGVsIGNvbnRlbmVkb3IgZGUgcmVmZXJlbmNpYSBwYXJhIGxvcyAiQGNvbnRhaW5lciAoLi4uLWlubGluZS1zaXplLi4uKSIKICAgZGUgbeFzIGFiYWpvLiBVc2Ftb3MgQGNvbnRhaW5lciBlbiB2ZXogZGUgQG1lZGlhIHBvcnF1ZSAiQG1lZGlhCiAgIChtYXgtaW5saW5lLXNpemU6Li4uKSIgTk8gZXMgdW5hIGNvbmRpY2nzbiBDU1MgduFsaWRhICYjODIxMjsgaW5saW5lLXNpemUgc29sbwogICBleGlzdGUgY29tbyBjYXJhY3Rlcu1zdGljYSBkZSBAY29udGFpbmVyLCBudW5jYSBkZSBAbWVkaWEgJiM4MjEyOyBhc+0gcXVlIGVzYXMKICAgcmVnbGFzIGphbeFzIHNlIGFjdGl2YWJhbiAodmVyaWZpY2FkbyBjb24gbWF0Y2hNZWRpYTogc2llbXByZSBmYWxzZSwgc2luCiAgIGltcG9ydGFyIGVsIGFuY2hvKSwgeSBwb3IgZXNvIGxhIG5vdGljaWEgcHJpbmNpcGFsIHBvZO1hIGRlc2FwYXJlY2VyIG8gZWwKICAgZGlzZfFvIG3zdmlsIG5vIHNlIGFjdGl2YWJhIG51bmNhLiBAY29udGFpbmVyIHPtIHNvcG9ydGEgaW5saW5lLXNpemUgZGUKICAgZm9ybWEgduFsaWRhLCB5IGV2aXRhIGlndWFsbWVudGUgbGEgcGFsYWJyYSAid2lkdGg6IiBxdWUgZWwgQ01TIGRlbAogICB1c3VhcmlvIGVsaW1pbmEgYWwgcGVnYXIgSFRNTC9DU1MgZGlyZWN0YW1lbnRlLiAqLwovKiBGSVggT0tESUFSSU8gKi8KICAgIC5pdGVtIGFydGljbGUgLmFydGljbGUtc2NyaXB0IHsKICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OwogICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OwogICAgfQovKiBDb250ZW5lZG9yIGRlIHRvZGEgbGEgYXBlcnR1cmEgKGNhYmVjZXJhICsgbm90aWNpYSBwcmluY2lwYWwgKyBjb2x1bW5hKToKICAgZm9uZG8gYmxhbmNvIHkgYWlyZSBhbHJlZGVkb3IsIHNvbG8gZW4gRGVzayAmIzgyMTI7IHZlciBvdmVycmlkZSBkZW50cm8gZGVsCiAgIEBjb250YWluZXIobWF4LWlubGluZS1zaXplOjg2MHB4KSBkZSBt4XMgYWJham8sIHF1ZSBsbyBhbnVsYSBwb3IgZGViYWpvCiAgIGRlIGVzZSBhbmNobyAoZXF1aXZhbGVudGUgYSBsYSB2aXN0YSBN83ZpbCksIHkgYXF17SBtaXNtbyBjb24gZWwgdGV4dG8gYQogICBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhIChib2R5UG9zaXRpb25CbG9ja3NDb2x1bW4pOiBjb24gZXNlIGxheW91dCBsYQogICBub3RpY2lhIHByaW5jaXBhbCB5YSBvY3VwYSBlbCAxMDAlIGRlbCBhbmNobyB5IHNvbGFwYSBzdSBwcm9waWEgZm90byBkZQogICBib3JkZSBhIGJvcmRlLCBhc+0gcXVlIGVsIGFpcmUvZm9uZG8gYmxhbmNvIHNvYnJhLiAqLwouYmxrLXZyZGJie21heC1pbmxpbmUtc2l6ZTo5NjBweDttYXJnaW46MCBhdXRvO2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplO2JhY2tncm91bmQtY29sb3I6I2ZmZjtwYWRkaW5nOjEwcHg7fQouYmxrLXZyZGJiIGF7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6aW5oZXJpdH0KLmJsay12cmRiYiAucGFnZXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtnYXA6MTVweH0KLmJsay12cmRiYiAucGFnZSAuY29sdW1ue29yZGVyOjF9Ci5ibGstdnJkYmIgLnBhZ2UgLmxlYWR7b3JkZXI6Mn0KLyogODYwcHggeSBubyA0NzVweDogY29uIGxhIGNvbHVtbmEgZmlqYSAoMjIwcHggKyAyMHB4IGRlIGdhcCA9IDI0MHB4KSwKICAgY3VhbHF1aWVyIGFuY2hvIGRlIGlmcmFtZSBwb3IgZGViYWpvIGRlIH44NjBweCBkZWphIGxhIG5vdGljaWEgcHJpbmNpcGFsCiAgICgxZnIpIGNhZGEgdmV6IGNvbiBtZW5vcyBlc3BhY2lvIGhhc3RhIGNvbGFwc2FyIGEgMHB4IGRlIGFuY2hvIGFudGVzIGRlCiAgIGxsZWdhciBhIHVuIGJyZWFrcG9pbnQgdGFuIGJham8gY29tbyA0NzVweCAmIzgyMTI7IGxhIG5vdGljaWEgcHJpbmNpcGFsCiAgIGRpcmVjdGFtZW50ZSBkZXNhcGFyZWNlIGVuIGVzYSBmcmFuamEgaW50ZXJtZWRpYSAobmkgImRlc2siIGNvbXBsZXRvIG5pCiAgICJt83ZpbCIgZXN0cmVjaG8pLiBDb24gODYwcHggc2UgcGFzYSBhIHVuYSBzb2xhIGNvbHVtbmEgYXBpbGFkYSBhbnRlcyBkZQogICBxdWUgZXNvIHB1ZWRhIG9jdXJyaXIuCiAgIEVzdGUgYnJlYWtwb2ludCBzZSBvbWl0ZSBwb3IgY29tcGxldG8gbWllbnRyYXMgbGEgc2ltdWxhY2nzbiBkZSBhbmNobyBlc3TpCiAgIGFjdGl2YSAodmVyIGxlYWRXaWR0aFByZXZpZXcpOiBwZW5zYWRvIHBhcmEgY3VhbmRvIGVsIG3zZHVsbyBsbGV2YSBzdQogICBjb2x1bW5hIGEgOTYwcHgsIGRlamEgZGUgdGVuZXIgc2VudGlkbyBlbiB1bmEgZXhwb3J0YWNp824gZGUgc29sbyBsYQogICBub3RpY2lhIHByaW5jaXBhbCBhIHVuIGFuY2hvIGZpam8gZWxlZ2lkbyBhIG1hbm8gJiM4MjEyOyBsb3MgYW5jaG9zIHNpbXVsYWRvcwogICAoNjEzLzQ2MC8zMDdweCkgZXN04W4gVE9ET1MgcG9yIGRlYmFqbyBkZSA4NjBweCwgYXPtIHF1ZSBzaW4gZXN0ZSBnYXRpbmcKICAgZWwgSFRNTCBleHBvcnRhZG8gY2Flcu1hIHNpZW1wcmUgYSBsYSB0aXBvZ3JhZu1hICJN83ZpbCIgKGNvbiAhaW1wb3J0YW50KQogICBzZWEgY3VhbCBzZWEgbGEgcXVlIGVsIHVzdWFyaW8gY29uZmlndXLzIGVuICJEZXNrIiBwYXJhIGVzYSBzaW11bGFjafNuLAogICBkYW5kbyBsYSBmYWxzYSBzZW5zYWNp824gZGUgcXVlIHVuYSBjb25maWd1cmFjafNuICJwaXNhIiBhIG90cmEuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7CiAgLmJsay12cmRiYntiYWNrZ3JvdW5kOm5vbmU7cGFkZGluZzowO30KICAuYmxrLXZyZGJiIC5wYWdle2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnJ9CiAgLmJsay12cmRiYiAucGFnZSAuc3RhY2stdGl0bGUge2ZvbnQtc2l6ZToxOHB4OyBsaW5lLWhlaWdodDogMS4yZW07fQogIC5ibGstdnJkYmIgLnBhZ2UgLnN0YWNrLWF1dGhvciB7bWFyZ2luLXRvcDogMTBweDt9CiAgLmJsay12cmRiYiAubGVhZC1tZWRpYS5pcy1pZnJhbWV7YmxvY2stc2l6ZTo0MDBweCAhaW1wb3J0YW50O30KICAuYmxrLXZyZGJiIC5sZWFkLW1lZGlhe2FzcGVjdC1yYXRpbzo0LzMgIWltcG9ydGFudDt9CiAgLmJsay12cmRiYiAucGFnZSAubGVhZHtvcmRlcjoxfQogIC5ibGstdnJkYmIgLnBhZ2UgLmNvbHVtbntvcmRlcjoyfQogIC8qIFBvciBkZWJham8gZGVsIGJyZWFrcG9pbnQsIGVsIGxlYWQtYm9keSBzaWVtcHJlIHZ1ZWx2ZSBhIGlyIGRlYmFqbyBkZWwKICAgICBsZWFkLW1lZGlhIChubyBoYXkgc2l0aW8gcGFyYSBlbCBsYXlvdXQgbGFkbyBhIGxhZG8pLiAqLwogIC5ibGstdnJkYmIgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQsCiAgLmJsay12cmRiYiAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FzcGVjdC1yYXRpbzphdXRvO30KICAuYmxrLXZyZGJiIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLW1lZGlhLAogIC5ibGstdnJkYmIgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLW1lZGlhe2ZsZXg6MSAxIGF1dG87fQogIC5ibGstdnJkYmIgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYm9keSwKICAuYmxrLXZyZGJiIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e2ZsZXg6MSAxIGF1dG87aW5saW5lLXNpemU6OTAlO21hcmdpbjotMzBweCBhdXRvIDA7YmxvY2stc2l6ZTphdXRvO2FsaWduLXNlbGY6YXV0bztqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtwYWRkaW5nOjEwcHg7fQogIC5ibGstdnJkYmIgLnBhZ2UgLmNvbHVtbi1pdGVte2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQogIC5ibGstdnJkYmIgLnBhZ2UgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoxLjE1O2NvbG9yOiMyYzNlNTM7bWFyZ2luOjA7dGV4dC1hbGlnbjpsZWZ0O30KICAuYmxrLXZyZGJiIC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0yMSAubGVmdC10aXRsZXtmb250LXNpemU6MjFweCAhaW1wb3J0YW50O30KICAuYmxrLXZyZGJiIC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0xOCAubGVmdC10aXRsZXtmb250LXNpemU6MThweCAhaW1wb3J0YW50O30KICAuYmxrLXZyZGJiIC5wYWdlIC5sZWZ0LXBsYXl7CiAgICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogICAgYmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzAwYTdmZjsKICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogICAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7CiAgfQogIC5ibGstdnJkYmIgLnBhZ2UgLmxlZnQtcGxheTo6YmVmb3JlewogICAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4OwogIH0KfQovKiBUaXBvZ3JhZu1hICJN83ZpbCIgKGFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vdGl0dWxhcmVzIGFuaW1hZG9zKSBjb24gU1UKICAgUFJPUElPIGJyZWFrcG9pbnQgKDQ4MHB4KSwgc2VwYXJhZG8gZGVsIGRlIGFycmliYSAoODYwcHgsIHNvbG8gcGFyYSBhcGlsYXIKICAgbGEgcmVqaWxsYSBjb2x1bW5hK25vdGljaWEpOiB1biBjb250ZW5lZG9yIHJlYWwgZGUgbWVub3MgZGUgODYwcHggZXMgbXV5CiAgIGhhYml0dWFsIChwLmVqLiB1bmEgY29sdW1uYSBkZSBhcnTtY3VsbyBkZSB+NzAwcHgpIHkgTk8gZXMgdW4gbfN2aWwgJiM4MjEyOyBjb24KICAgdW4g+m5pY28gYnJlYWtwb2ludCBjb21wYXJ0aWRvLCBsYSB0aXBvZ3JhZu1hICJEZXNrIiBxdWUgY29uZmlndXJhIGVsCiAgIHVzdWFyaW8gbm8gbGxlZ2FiYSBhIHZlcnNlIG51bmNhIGVuIGVzZSBjYXNvLCBjYXllbmRvIHNpZW1wcmUgYSBsb3MgdmFsb3JlcwogICBwb3IgZGVmZWN0byBkZSAiTfN2aWwiIHNpbiBxdWUgbmFkaWUgbG8gaHViaWVyYSBwZWRpZG8uIDQ4MHB4IHPtIHNlCiAgIGNvcnJlc3BvbmRlIGNvbiB1biBhbmNobyBkZSBt83ZpbCByZWFsIChsYSB2aXN0YSAiTfN2aWwiIGRlbCBwcm9waW8gZ2VzdG9yCiAgIHNpbXVsYSAzNzVweCkuIElndWFsIHF1ZSBlbCBicmVha3BvaW50IGRlIGFycmliYSwgc2Ugb21pdGUgZHVyYW50ZSBsYQogICBzaW11bGFjafNuIGRlIGFuY2hvIGRlIGxhIG5vdGljaWEgcHJpbmNpcGFsICh2ZXIgbGVhZFdpZHRoUHJldmlldykuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay12cmRiYiAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiMwMEE3RkYgIWltcG9ydGFudDt9CiAgLmJsay12cmRiYiAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4xICFpbXBvcnRhbnQ7Y29sb3I6IzAwQTdGRiAhaW1wb3J0YW50O30KICAuYmxrLXZyZGJiIC5sZWFkLXRpdGxle2ZvbnQtc2l6ZToxLjc1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4wMiAhaW1wb3J0YW50O30KICAuYmxrLXZyZGJiIC5sZWFkLXRpdGxlLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstdnJkYmIgLmxlYWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstdnJkYmIgLmxlYWQta2lja2VyLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstdnJkYmIgLmxlYWQta2lja2VyLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLXZyZGJiIC5sZWFkLXN1YnRpdGxlLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstdnJkYmIgLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstdnJkYmIgLmxlYWQtYW5pbS1oZWFkbGluZXN7Zm9udC1zaXplOjEuODc1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4wMiAhaW1wb3J0YW50O30KICAKICAuYmxrLXZyZGJiIC5yZWxhdGVkLXRpdGxlLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGstdnJkYmIgLnJlbGF0ZWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQp9Ci5ibGstdnJkYmIgLmxlYWR7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojZmZmO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9Ci5ibGstdnJkYmIgLmxlYWQtbWVkaWF7cG9zaXRpb246cmVsYXRpdmU7YXNwZWN0LXJhdGlvOjE2Lzk7YmFja2dyb3VuZDojMDAwO292ZXJmbG93OmhpZGRlbn0KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lOiBhbHRvIGZpam8gZW4gcO14ZWxlcyBlbiB2ZXogZGUgbGEgcHJvcG9yY2nzbiBkZQogICBhcnJpYmEgKHZlciBjb21lbnRhcmlvIGRldGFsbGFkbyBqdW50byBhIHN0YXRlLmxlYWQuaWZyYW1lSGVpZ2h0KSAmIzgyMTI7IGVsCiAgIHZhbG9yIGRlIE3zdmlsIHNlIHNvYnJlc2NyaWJlIGVuIGVsIEBjb250YWluZXIgZGUgbeFzIGFiYWpvLCBpZ3VhbCBxdWUgZWwKICAgcmVzdG8gZGUgb3ZlcnJpZGVzIHJlc3BvbnNpdmUgZGUgZXN0ZSBIVE1MIGV4cG9ydGFkby4gKi8KLmJsay12cmRiYiAubGVhZC1tZWRpYS5pcy1pZnJhbWV7YXNwZWN0LXJhdGlvOm5vbmU7YmxvY2stc2l6ZTo2NDBweDt9Ci5ibGstdnJkYmIgLmxlYWQtbWVkaWEgaW1nLAouYmxrLXZyZGJiIC5sZWFkLW1lZGlhIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0KLyogQ2FycnVzZWwgZGUgZm90b3MgZGUgZm9uZG8gY29uIGVmZWN0byBLZW4gQnVybnMgJiM4MjEyOyB2ZXIgZWwgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4KICAgTGEgZHVyYWNp824gZGUgbGFzIGFuaW1hY2lvbmVzICg2cykgY29pbmNpZGUgY29uCiAgIExFQURfQ0FST1VTRUxfSU5URVJWQUwsIHF1ZSB0YW1iaeluIGdvYmllcm5hIGVsIHNjcmlwdCBkZSByb3RhY2nzbgogICAoYnVpbGRMZWFkQ2Fyb3VzZWxTY3JpcHQpIGHxYWRpZG8gYWwgZmluYWwgZGVsIEhUTUwgZXhwb3J0YWRvLiAqLwouYmxrLXZyZGJiIC5sZWFkLWNhcm91c2Vse3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO30KLmJsay12cmRiYiAubGVhZC1jYXJvdXNlbC1zbGlkZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgMS41cyBlYXNlO30KLmJsay12cmRiYiAubGVhZC1jYXJvdXNlbC1zbGlkZS5pcy1hY3RpdmV7b3BhY2l0eToxO3otaW5kZXg6MTt9Ci5ibGstdnJkYmIgLmxlYWQtY2Fyb3VzZWwtc2xpZGUgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt9Ci5ibGstdnJkYmIgLmxlYWQtY2Fyb3VzZWwtc2xpZGU6bnRoLWNoaWxkKG9kZCkgaW1ne2FuaW1hdGlvbjpibGstdnJkYmIta2VuYnVybnMtYSA2cyBlYXNlLWluLW91dCBmb3J3YXJkczt9Ci5ibGstdnJkYmIgLmxlYWQtY2Fyb3VzZWwtc2xpZGU6bnRoLWNoaWxkKGV2ZW4pIGltZ3thbmltYXRpb246YmxrLXZyZGJiLWtlbmJ1cm5zLWIgNnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7fQpAa2V5ZnJhbWVzIGJsay12cmRiYi1rZW5idXJucy1heyBmcm9te3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IHRve3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoLTQlLC0zJSk7fSB9CkBrZXlmcmFtZXMgYmxrLXZyZGJiLWtlbmJ1cm5zLWJ7IGZyb217dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gdG97dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSg0JSwzJSk7fSB9Ci8qIENvbiB1bmEg+m5pY2EgZm90byAoc2luIHJvdGFjafNuIHBvc2libGUpIHNlIGFwbGljYSB1biB6b29tIGluL291dCBlbgogICBidWNsZSBpbmZpbml0byBlbiB2ZXogZGVsIHJlY29ycmlkbyD6bmljbyAoZm9yd2FyZHMpIGRlIGFycmliYS4gKi8KLmJsay12cmRiYiAubGVhZC1jYXJvdXNlbC5pcy1zaW5nbGUgLmxlYWQtY2Fyb3VzZWwtc2xpZGUgaW1ne2FuaW1hdGlvbjpibGstdnJkYmIta2VuYnVybnMtbG9vcCAxNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7fQpAa2V5ZnJhbWVzIGJsay12cmRiYi1rZW5idXJucy1sb29weyAwJXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSA1MCV7dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSgtNCUsLTMlKTt9IDEwMCV7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gfQovKiBDb21wYXJhZG9yIGFudGVzL2Rlc3B16XMgKGRlc2xpemFkb3IpICYjODIxMjsgdmVyIGVsIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuCiAgIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdnJkYmIgLmxlYWQtY29tcGFyZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTt0b3VjaC1hY3Rpb246bm9uZTt6LWluZGV4OjI7fQouYmxrLXZyZGJiIC5sZWFkLWNvbXBhcmUgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtcG9zaXRpb246Y2VudGVyO2Rpc3BsYXk6YmxvY2s7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItZHJhZzpub25lO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLXZyZGJiIC5sZWFkLWNvbXBhcmUtYmVmb3Jle2NsaXAtcGF0aDppbnNldCgwIDUwJSAwIDApO3dpbGwtY2hhbmdlOmNsaXAtcGF0aDt9Ci5ibGstdnJkYmIgLmxlYWQtY29tcGFyZS1yYW5nZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO21hcmdpbjowO29wYWNpdHk6MDtjdXJzb3I6ZXctcmVzaXplO30KLmJsay12cmRiYiAubGVhZC1jb21wYXJlLWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjUwJTtpbmxpbmUtc2l6ZTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoyO30KLmJsay12cmRiYiAubGVhZC1jb21wYXJlLWhhbmRsZTo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO2lubGluZS1zaXplOjJweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHJnYmEoMCwwLDAsLjI1KTt9Ci5ibGstdnJkYmIgLmxlYWQtY29tcGFyZS1oYW5kbGU6OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0Oi0xNXB4O2lubGluZS1zaXplOjMwcHg7YmxvY2stc2l6ZTozMHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6I2ZmZiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PGcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNOCA2IEw0IDEwIEw4IDE0Jy8+PHBhdGggZD0nTTEyIDYgTDE2IDEwIEwxMiAxNCcvPjwvZz48L3N2Zz4iKSBjZW50ZXIvMTZweCAxNnB4IG5vLXJlcGVhdDtib3gtc2hhZG93OjAgMnB4IDZweCByZ2JhKDAsMCwwLC4yNSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yNSk7fQovKiBNZWRpYSBtZWRpYW50ZSBpZnJhbWUgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTWlzbW8gei1pbmRleDoyIHF1ZQogICAubGVhZC1jb21wYXJlLCBwb3IgZWwgbWlzbW8gbW90aXZvIChnYW5hcmxlIGEgLmxlYWQtbGluaykuICovCi5ibGstdnJkYmIgLmxlYWQtaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3otaW5kZXg6Mjt9Ci5ibGstdnJkYmIgLmxlYWQtaWZyYW1lIGlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXZyZGJiIC5sZWFkLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5ibGstdnJkYmIgLmxlYWQtYm9keXtwYWRkaW5nOjBweCAyMHB4IDIwcHggMjBweDs7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDsgdGV4dC1hbGlnbjpjZW50ZXI7IGFsaWduLWl0ZW1zOmNlbnRlcjsgcG9zaXRpb246cmVsYXRpdmU7IHotaW5kZXg6NjsgcG9pbnRlci1ldmVudHM6bm9uZTsgaW5saW5lLXNpemU6OTUlOyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6YXV0bzsgbWFyZ2luLXRvcDotMzBweDsgYmFja2dyb3VuZDojMEUxMTFBOyBmbGV4OjEgMSBhdXRvO30KLyogQW50ZXTtdHVsby90aXR1bGFyL3N1YnTtdHVsby9hdXRvciBjZW50cmFkb3MgZW4gdmVydGljYWwgZGVudHJvIGRlbCBhbHRvCiAgIHNvYnJhbnRlIGJham8gbGEgY2F0ZWdvcu1hICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstdnJkYmIgLmxlYWQtYm9keS1tYWlue2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7aW5saW5lLXNpemU6MTAwJTtmbGV4OjEgMSBhdXRvO21pbi1oZWlnaHQ6MDt9Ci8qIEFwYXJpZW5jaWEgbmVnYXRpdmEgKHBvciBkZWZlY3RvKSB2cy4gcG9zaXRpdmEgZGUgbGEgY2FqYSBkZSB0aXR1bGFyICYjODIxMjsgdmVyCiAgIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstdnJkYmIgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAubGVhZC1ib2R5e2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7fQouYmxrLXZyZGJiIC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmxlYWQtdGl0bGUsCi5ibGstdnJkYmIgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAuYXV0aG9yLWxhYmVse2NvbG9yOiMwRTExMUE7fQovKiBQb3NpY2nzbiBkZWwgbGVhZC1ib2R5IHJlc3BlY3RvIGFsIGxlYWQtbWVkaWEgKCdsZWZ0Jy8ncmlnaHQnKSAmIzgyMTI7IHZlciBtaXNtbwogICBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXZyZGJiIC5sZWFkLmxlYWQtYm9keS1sZWZ0LAouYmxrLXZyZGJiIC5sZWFkLmxlYWQtYm9keS1yaWdodHtmbGV4LWRpcmVjdGlvbjpyb3c7YXNwZWN0LXJhdGlvOjIuOTYyOTYyOTYyOTYyOTYzO30KLmJsay12cmRiYiAubGVhZC5sZWFkLWJvZHktbGVmdHtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZTt9Ci5ibGstdnJkYmIgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtbWVkaWEsCi5ibGstdnJkYmIgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLW1lZGlhe2ZsZXg6MCAwIDYwJTt9Ci5ibGstdnJkYmIgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYm9keSwKLmJsay12cmRiYiAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXtmbGV4OjAgMCBjYWxjKDQwJSArIDMwcHgpO2lubGluZS1zaXplOmF1dG87bWFyZ2luLXRvcDowO2Jsb2NrLXNpemU6Y2FsYygxMDAlIC0gNDJweCk7YWxpZ24tc2VsZjpjZW50ZXI7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7fQouYmxrLXZyZGJiIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHl7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6LTMwcHg7fQouYmxrLXZyZGJiIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e21hcmdpbi1sZWZ0Oi0zMHB4O21hcmdpbi1yaWdodDowO30KLyogUG9zaWNp824gJ2JvdHRvbS1mdWxsJyBkZWwgbGVhZC1ib2R5ICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuCiAgIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIGlubGluZS1zaXplCiAgIGVuIHZleiBkZSB3aWR0aCBwb3IgZWwgbWlzbW8gbW90aXZvIHF1ZSBlbCByZXN0byBkZSBlc3RlIGJsb3F1ZSAoZXZpdGFyCiAgIGxhIHBhbGFicmEgIndpZHRoOiIgcXVlIGVsIENNUyBkZWwgdXN1YXJpbyBlbGltaW5hIGFsIHBlZ2FyIEhUTUwvQ1NTCiAgIGRpcmVjdGFtZW50ZSkuICovCi5ibGstdnJkYmIgLmxlYWQubGVhZC1ib2R5LWJvdHRvbS1mdWxsIC5sZWFkLWJvZHl7CiAgaW5saW5lLXNpemU6MTAwJTsKICBtYXJnaW46MDsKICBwYWRkaW5nLXRvcDozMHB4OwogIHBhZGRpbmctYm90dG9tOjMwcHg7CiAgYm9yZGVyOm5vbmU7Cn0KLyogRXRpcXVldGEgZGUgZXhjbHVzaXZhIChvIHRleHRvIHBlcnNvbmFsaXphZG8pICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdnJkYmIgLmxlYWQtZXhjbHVzaXZlLXRhZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtsZWZ0OjEwcHg7ei1pbmRleDozO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7bGV0dGVyLXNwYWNpbmc6MC41cHg7cGFkZGluZzoycHggOHB4O2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXNpemU6LjhlbTtmb250LXdlaWdodDo3MDA7Y29sb3I6I2ZmZjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci8qIFNlbGVjdG9yIGNvbiAzIGNsYXNlcyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhICgiLmxlYWQtbWVkaWEgaW1nIiB0YW1iaeluCiAgIG1hdGNoZWEgZXN0ZSA8aW1nPiB5IGxlIGdhbmFiYSBlbiBlc3BlY2lmaWNpZGFkKS4gKi8KLmJsay12cmRiYiAubGVhZC1leGNsdXNpdmUtdGFnIC5sZWFkLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay12cmRiYiAubGVhZC1jYXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDtwYWRkaW5nOjJweCA4cHg7dHJhbnNmb3JtOnNrZXdZKC02ZGVnKTttYXJnaW4tdG9wOi0xNXB4O21hcmdpbi1ib3R0b206MTBweDt9Ci5ibGstdnJkYmIgLmxlYWQta2lja2VyLCAuYmxrLXZyZGJiIC5sZWFkLXN1YnRpdGxlewogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjt0ZXh0LXRyYW5zZm9ybTpub25lO21hcmdpbjowOwp9Ci5ibGstdnJkYmIgLmxlYWQta2lja2Vye2ZvbnQtd2VpZ2h0OjcwMDt9Ci5ibGstdnJkYmIgLmxlYWQtc3VidGl0bGV7Zm9udC13ZWlnaHQ6NjAwO30KLyogVGFtYfFvL2ludGVybGluZWFkby9jb2xvciBkZSBhbnRldO10dWxvIHkgc3VidO10dWxvIGVuIERlc2sgKHZhbG9yZXMgcG9yCiAgIGRlZmVjdG8gZGVsIGJsb3F1ZTsgZWwgb3ZlcnJpZGUgZGUgTfN2aWwgdmEgZW4gZWwgQGNvbnRhaW5lciBkZSBt4XMgYWJham8sCiAgIHlhIHF1ZSBlbCBIVE1MIGV4cG9ydGFkbyBlcyByZXNwb25zaXZlIHkgbm8gZGVwZW5kZSBkZSBxdekgdmlzdGEgdHV2aWVyYXMKICAgc2VsZWNjaW9uYWRhIGVuIGVsIGdlc3RvciBhbCBleHBvcnRhci9jb3BpYXIpLiAqLwouYmxrLXZyZGJiIC5sZWFkLWtpY2tlcntmb250LXNpemU6MS4zMTI1cmVtO2xpbmUtaGVpZ2h0OjEuMTtjb2xvcjojMDBBN0ZGO30KLmJsay12cmRiYiAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtO2xpbmUtaGVpZ2h0OjEuMTtjb2xvcjojMDBBN0ZGO30KLyogdGV4dC13cmFwOmJhbGFuY2UgJiM4MjEyOyBtaXNtbyBjcml0ZXJpbyBxdWUgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbAogICBkZWwgZ2VzdG9yICh2ZXIgY29tZW50YXJpbyBkZXRhbGxhZG8ganVudG8gYSBlc2EgcmVnbGEpOiByZXBhcnRlIGxhcwogICBs7W5lYXMgZGVsIHRpdHVsYXIgZGUgZm9ybWEgbeFzIHVuaWZvcm1lIGRlbnRybyBkZSBjYWRhIGRpc3Bvc2l0aXZvLCBzaW4KICAgcHJldGVuZGVyIGlndWFsYXIgZWwgbvptZXJvIGRlIGztbmVhcyBlbnRyZSBwbGF0YWZvcm1hcyBkaXN0aW50YXMuICovCi5ibGstdnJkYmIgLmxlYWQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDtmb250LXNpemU6Mi40NXJlbTtsaW5lLWhlaWdodDoxO21hcmdpbjowO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7dGV4dC13cmFwOmJhbGFuY2U7fQovKiBUaXR1bGFyIGNvbiBzYWx0b3MgZGUgbO1uZWEgaW5kZXBlbmRpZW50ZXMgcG9yIHZpc3RhICh2ZXIgYnVpbGRTY29wZWRIVE1MKToKICAgc2UgZ2VuZXJhbiBsb3MgZG9zIHRleHRvcyAoRGVzay9N83ZpbCkgeSBhcXXtIHNlIG11ZXN0cmEgc29sbyB1bm8gc2Vn+m4gZWwKICAgYW5jaG8gcmVhbCBkZWwgY29udGVuZWRvciAmIzgyMTI7IGVsIG1pc21vIG1lY2FuaXNtbyBkZSBAY29udGFpbmVyIHF1ZSB5YSB1c2EgZWwKICAgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvIHBhcmEgYWRhcHRhcnNlIHNpbiBkZXBlbmRlciBkZSBKUy4gKi8KLmJsay12cmRiYiAubGVhZC10aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLyogQW50ZXTtdHVsby9zdWJ07XR1bG8gY29uIHNhbHRvcyBkZSBs7W5lYSBpbmRlcGVuZGllbnRlcyBwb3IgdmlzdGE6IG1pc21vCiAgIG1lY2FuaXNtbyBkZSBAY29udGFpbmVyIHF1ZSBlbCB0aXR1bGFyICh2ZXIgYXJyaWJhKS4gKi8KLmJsay12cmRiYiAubGVhZC1raWNrZXItbW9iaWxlLCAuYmxrLXZyZGJiIC5sZWFkLXN1YnRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQovKiBUaXR1bGFyIGRlIG5vdGljaWEgcmVsYWNpb25hZGEgKGNvbHVtbmEpIGNvbiB0ZXh0byBwcm9waW8gZW4gTfN2aWwgKHZlcgogICBpdGVtLnRpdGxlTW9iaWxlIGVuIGJ1aWxkQ29sdW1uSXRlbVRpdGxlSFRNTCk6IG1pc21vIG1lY2FuaXNtbyBkZQogICBAY29udGFpbmVyIHF1ZSBlbCB0aXR1bGFyIHByaW5jaXBhbCBkZSBhcnJpYmEuICovCi5ibGstdnJkYmIgLnJlbGF0ZWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci5ibGstdnJkYmIgLmF1dGhvci1sYWJlbHtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Y29sb3I6I2ZmZjtmb250LXdlaWdodDoyMDA7Zm9udC1zaXplOi44ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246cmlnaHQ7ZGlzcGxheTpibG9ja30KLmJsay12cmRiYiAuY29sdW1ue2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO30KLmJsay12cmRiYiAuY29sdW1uLWl0ZW17ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay12cmRiYiAudGh1bWJ7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86NC8zO2JhY2tncm91bmQ6I2VlZTtvdmVyZmxvdzpoaWRkZW59Ci5ibGstdnJkYmIgLnRodW1iIGltZywKLmJsay12cmRiYiAudGh1bWIgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyfQouYmxrLXZyZGJiIC50aHVtYiAucGxheS1zcXVhcmUsCi5ibGstdnJkYmIgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlewogIHBvc2l0aW9uOmFic29sdXRlOyBib3R0b206NXB4OyBsZWZ0OjVweDsKICBpbmxpbmUtc2l6ZToyNXB4O2Jsb2NrLXNpemU6MjVweDtib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5OmlubGluZS1ncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xOCk7CiAgY3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMsIHRyYW5zZm9ybSAuMTJzOwogIHotaW5kZXg6MjsgYW5pbWF0aW9uOmJsay12cmRiYi1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLXZyZGJiIC50aHVtYiAucGxheS1zcXVhcmU6OmJlZm9yZSwKLmJsay12cmRiYiAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmU6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NnB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo1cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgbWFyZ2luLWxlZnQ6MnB4Owp9Ci5ibGstdnJkYmIgLnRodW1iIC5wbGF5LXNxdWFyZTpob3ZlciwKLmJsay12cmRiYiAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmU6aG92ZXJ7IGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjg1KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7IH0KLmJsay12cmRiYiAuc3RhY2stdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTdweDtsaW5lLWhlaWdodDoxLjE1ZW07bWFyZ2luOjA7Y29sb3I6IzJjM2U1Mzt9Ci5ibGstdnJkYmIgLnN0YWNrLWF1dGhvcntmb250LWZhbWlseToiYW1wbGl0dWRlLWJvb2siLHNhbnMtc2VyaWY7Y29sb3I6IzgyODU5NTtmb250LXdlaWdodDoyMDA7Zm9udC1zaXplOi44cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6MTFweDtsZXR0ZXItc3BhY2luZzowO3RleHQtYWxpZ246cmlnaHQ7fQovKiBTaW4gZXN0YSByZWdsYSBlbCBhdXRvciBxdWVkYSBwZWdhZG8ganVzdG8gZGViYWpvIGRlbCB0aXR1bGFyIGVuIHZleiBkZQogICBhYmFqbyBkZSBsYSB0YXJqZXRhOiAubW9kLXN0YWNrIG5lY2VzaXRhIHNlciBmbGV4LWNvbHVtbiBjb24KICAganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4gcGFyYSBxdWUgZWwgaHVlY28gc29icmFudGUgKGN1YW5kbyBsYQogICB0YXJqZXRhIGNyZWNlIG3hcyBxdWUgc3UgY29udGVuaWRvLCB2ZXIgLmNvbHVtbi1pdGVtOm5vdCgubGF5b3V0LW1lZGlhLWJsb2NrKQogICBt4XMgYWJham8pIGVtcHVqZSBlbCBhdXRvciBoYWNpYSBlbCBib3JkZSBpbmZlcmlvci4gKi8KLmJsay12cmRiYiAubW9kLXN0YWNre2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47ZmxleDoxIDEgYXV0bzt9Ci8qIEVzdGlsbyAiZm90byBwZXF1ZfFhICsgdGl0dWxhciI6IGZvdG8gNDozIGEgbGEgaXpxdWllcmRhLCB0ZXh0byBhIGxhIGRlcmVjaGEuICovCi5ibGstdnJkYmIgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by1sZWZ0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MTEwcHggMWZyO2dhcDoxMHB4O30KLyogRXN0aWxvICJzb2xvIHRleHRvIiAocG9yIGRlZmVjdG8pOiBlbCBhdXRvciBzZSBwb3NpY2lvbmEgZW4gYWJzb2x1dG8sCiAgIGFuY2xhZG8gYSBsYSBlc3F1aW5hIGluZmVyaW9yIGRlcmVjaGEgZGUgbGEgdGFyamV0YSAoaWd1YWwgcXVlIGVsIHBsYXkgZGUKICAgbGFzIG1pbmlhdHVyYXMpLCBlbiB2ZXogZGUgZGVwZW5kZXIgZGUgcXVlIGVsIGJsb3F1ZSBkZSB0ZXh0byB0ZW5nYSBodWVjbwogICBkZSBzb2JyYSBwYXJhIGVtcHVqYXJsbyBhYmFqbyBjb24gZmxleGJveCAmIzgyMTI7IGNvbiB07XR1bG9zIGRlIDItMyBs7W5lYXMgZXNlCiAgIGh1ZWNvIG5vIGV4aXN0ZSB5IGVsIGF1dG9yIG51bmNhIGxsZWdhYmEgYSBiYWphci4gcGFkZGluZy1ib3R0b20gZW4KICAgbGVmdC1ib2R5IHJlc2VydmEgZWwgZXNwYWNpbyBwYXJhIHF1ZSBlbCB07XR1bG8gbm8gc2Ugc29sYXBlIGNvbiDpbC4gKi8KLmJsay12cmRiYiAuY29sdW1uLWl0ZW0ubGF5b3V0LXRpdGxlLW9ubHkgLmxlZnQtYm9keXtwYWRkaW5nLWJvdHRvbTozM3B4O30KLmJsay12cmRiYiAuY29sdW1uLWl0ZW0ubGF5b3V0LXRpdGxlLW9ubHkgLnN0YWNrLWF1dGhvcntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMHB4O2JvdHRvbToxMHB4O21hcmdpbi10b3A6MDt9Ci5ibGstdnJkYmIgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MjFweDtsaW5lLWhlaWdodDoxLjE1O2NvbG9yOiMyYzNlNTM7bWFyZ2luOjA7dGV4dC1hbGlnbjpsZWZ0O30KLmJsay12cmRiYiAubGVmdC1wbGF5ewogIGZsZXg6MCAwIGF1dG87aW5saW5lLXNpemU6MTVweDtibG9jay1zaXplOjE1cHg7Ym9yZGVyLXJhZGl1czoycHg7CiAgYmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzAwYTdmZjsKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDsKICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOiA0cHg7Cn0KLmJsay12cmRiYiAubGVmdC1wbGF5OjpiZWZvcmV7CiAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDBhN2ZmO2JvcmRlci10b3A6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206M3B4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjFweDsKfQouYmxrLXZyZGJiIC5yZWxhdGVkLWxpdmUtdGFnewogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXg6MCAwIGF1dG87CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDsKICBmb250LXNpemU6LjdyZW07bGluZS1oZWlnaHQ6MC44O2xldHRlci1zcGFjaW5nOi4zcHg7Y29sb3I6I0ZGNTA1MDsKICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI0ZGNTA1MDsKICBwYWRkaW5nOjNweCA0cHggMnB4IDRweDttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsKICB3aGl0ZS1zcGFjZTpub3dyYXA7Cn0KLmJsay12cmRiYiAucmVsYXRlZC1lZGl0b3JpYWwtdGFnewogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXg6MCAwIGF1dG87CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDsKICBmb250LXNpemU6LjdyZW07bGluZS1oZWlnaHQ6MC44O2xldHRlci1zcGFjaW5nOi4zcHg7Y29sb3I6I0ZBQjEyMTsKICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI0ZBQjEyMTsKICBwYWRkaW5nOjNweCA0cHggMnB4IDRweDttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsKICB3aGl0ZS1zcGFjZTpub3dyYXA7Cn0KLmJsay12cmRiYiAucGxheS1idXR0b257CiAgLyogQW5jaG8vYWx0byBmaWpvcyBlbiB2ZXogZGUgYXNwZWN0LXJhdGlvOjEvMSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEgKGVsCiAgICAgY+FsY3VsbyBkZSAic2hyaW5rLXRvLWZpdCIgcGFyYSB1biA8YnV0dG9uPiBlbiBhYnNvbHV0byBzaW4gdGFtYfFvCiAgICAgZXhwbO1jaXRvIG5vIGVzIGZpYWJsZSBlbnRyZSBtb3RvcmVzOyBlbiBXZWJLaXQvaU9TIGRhYmEgdW4gcmVjdOFuZ3VsbwogICAgIHZlcnRpY2FsIGVzdHJlY2jtc2ltbyBlbiB2ZXogZGUgdW4gY3VhZHJhZG8pLiAqLwogIGFwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTsKICBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtsZWZ0OjEwcHg7CiAgaW5saW5lLXNpemU6MzRweDtibG9jay1zaXplOjM0cHg7CiAgZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTBweCAxMHB4IDEwcHggMTJweDsKICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpOwogIGJvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNDIpO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czozcHg7CiAgY3Vyc29yOnBvaW50ZXI7ei1pbmRleDoyO2FuaW1hdGlvbjpibGstdnJkYmItYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLmJsay12cmRiYiAucGxheS1idXR0b24ucG9zLXRvcC1yaWdodHt0b3A6MTBweDtyaWdodDoxMHB4O2xlZnQ6YXV0bztib3R0b206YXV0bzt9Ci5ibGstdnJkYmIgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tbGVmdHtib3R0b206MTBweDtsZWZ0OjEwcHg7dG9wOmF1dG87cmlnaHQ6YXV0bzt9Ci5ibGstdnJkYmIgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tcmlnaHR7Ym90dG9tOjEwcHg7cmlnaHQ6MTBweDt0b3A6YXV0bztsZWZ0OmF1dG87fQovKiBDb24gZWwgdGV4dG8gKGxlYWQtYm9keSkgYSBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhLCBlc2UgYmxvcXVlIHNvbGFwYQogICAzMHB4IGRlbCBsYWRvIGRlIGxhIGZvdG8vdu1kZW8gcGVnYWRvIGEg6WwgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay12cmRiYiAubGVhZC5sZWFkLWJvZHktbGVmdCAucGxheS1idXR0b24ucG9zLXRvcC1sZWZ0LAouYmxrLXZyZGJiIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5wbGF5LWJ1dHRvbi5wb3MtYm90dG9tLWxlZnR7IGxlZnQ6NDBweDsgfQouYmxrLXZyZGJiIC5sZWFkLmxlYWQtYm9keS1yaWdodCAucGxheS1idXR0b24ucG9zLXRvcC1yaWdodCwKLmJsay12cmRiYiAubGVhZC5sZWFkLWJvZHktcmlnaHQgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tcmlnaHR7IHJpZ2h0OjQwcHg7IH0KLyogUG9zaWNp824gJ2JvdHRvbScgcG9yIGRlZmVjdG86IGVsIGxlYWQtYm9keSBzb2xhcGEgMzBweCBzb2JyZSBlbCBib3JkZQogICBJTkZFUklPUiBkZSBsYSBmb3RvL3btZGVvICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE5vIGFwbGljYSBjb24gJ2JvdHRvbS1mdWxsJwogICBuaSBjb24gJ2xlZnQnLydyaWdodCcgKGFqdXN0ZSBob3Jpem9udGFsIHByb3BpbywgdmVyIGFycmliYSkuICovCi5ibGstdnJkYmIgLmxlYWQ6bm90KC5sZWFkLWJvZHktbGVmdCk6bm90KC5sZWFkLWJvZHktcmlnaHQpOm5vdCgubGVhZC1ib2R5LWJvdHRvbS1mdWxsKSAucGxheS1idXR0b24ucG9zLWJvdHRvbS1sZWZ0LAouYmxrLXZyZGJiIC5sZWFkOm5vdCgubGVhZC1ib2R5LWxlZnQpOm5vdCgubGVhZC1ib2R5LXJpZ2h0KTpub3QoLmxlYWQtYm9keS1ib3R0b20tZnVsbCkgLnBsYXktYnV0dG9uLnBvcy1ib3R0b20tcmlnaHR7IGJvdHRvbTo0MHB4OyB9Ci5ibGstdnJkYmIgLnBsYXktYnV0dG9uIC5wbGF5LWljb257CiAgaW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6MTBweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci5ibGstdnJkYmIgLnBsYXktYnV0dG9uIC5wbGF5LXRleHR7ZGlzcGxheTpub25lO30KCi8qIFRpdHVsYXJlcyBhbmltYWRvcyAoY2FwYSBhbHRlcm5hdGl2YSBzb2JyZSBsZWFkLW1lZGlhKSAmIzgyMTI7IHZlciBtaXNtbwogICBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhCiAgIGhlcnJhbWllbnRhLiBDYWRhIHRpdHVsYXIgdGllbmUgc3UgcHJvcGlhIHBvc2ljafNuIChjbGFzZSBwb3MtKiwgdmVyCiAgIGJ1aWxkU2NvcGVkSFRNTCkgeSBzZSByZXZlbGEgbO1uZWEgcG9yIGztbmVhICh1bmEgdmV6IG1lZGlkYXMgc3VzIGztbmVhcwogICByZWFsZXMgcG9yIGVsIHNjcmlwdCBzdGFuZGFsb25lLCB2ZXIgYnVpbGRBbmltSGVhZGxpbmVzU2NyaXB0KSBjb24gdW5hCiAgIGNhamEgZGUgZm9uZG8gZGV0cuFzIGRlIGNhZGEgbO1uZWEgeSB1biBmYWRlIGRlIG9wYWNpZGFkIGVudHJlIHRpdHVsYXJlcy4gKi8KLmJsay12cmRiYiAubGVhZC1hbmltLWhlYWRsaW5lc3sKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBpbnNldDowOwogIHotaW5kZXg6NDsKICBwb2ludGVyLWV2ZW50czpub25lOwp9Ci5ibGstdnJkYmIgLmxlYWQtYW5pbS1oZWFkbGluZXsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBsZWZ0OjE1cHg7CiAgb3BhY2l0eTowOwp9Ci5ibGstdnJkYmIgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGJvdHRvbTo2MHB4OyB9Ci5ibGstdnJkYmIgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnR7IHRvcDo2MHB4OyB9Ci5ibGstdnJkYmIgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstdnJkYmIgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0LAouYmxrLXZyZGJiIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay12cmRiYiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IGxlZnQ6YXV0bzsgcmlnaHQ6MTVweDsgfQouYmxrLXZyZGJiIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodHsgdG9wOjYwcHg7IH0KLmJsay12cmRiYiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHR7IHRvcDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB9Ci5ibGstdnJkYmIgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBib3R0b206NjBweDsgfQovKiBDb24gZWwgdGV4dG8gKGxlYWQtYm9keSkgYSBsYSBpenF1aWVyZGEgbyBsYSBkZXJlY2hhLCBlc2UgYmxvcXVlIHNvbGFwYQogICAzMHB4IGRlbCBsYWRvIGRlIGxhIGZvdG8vdu1kZW8gcGVnYWRvIGEg6WwgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8KICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay12cmRiYiAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtbGVmdCwKLmJsay12cmRiYiAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtbGVmdCwKLmJsay12cmRiYiAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tbGVmdHsgbGVmdDo0MHB4OyB9Ci5ibGstdnJkYmIgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay12cmRiYiAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0LAouYmxrLXZyZGJiIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IHJpZ2h0OjQwcHg7IH0KLmJsay12cmRiYiAubGVhZC1hbmltLWhlYWRsaW5lLmlzLWFjdGl2ZXsgb3BhY2l0eToxOyB9Ci5ibGstdnJkYmIgLmxlYWQtYW5pbS1saW5lewogIHBvc2l0aW9uOnJlbGF0aXZlOwogIGRpc3BsYXk6dGFibGU7CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmOwogIGZvbnQtd2VpZ2h0OjkwMDsKICBjb2xvcjojZmZmOwogIHBhZGRpbmc6MnB4IDhweDsKICBjbGlwLXBhdGg6aW5zZXQoMCAxMDAlIDAgMCk7CiAgb3BhY2l0eToxOwogIHRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGVhc2U7Cn0KLmJsay12cmRiYiAubGVhZC1hbmltLWxpbmUuaXMtaGlkaW5neyBvcGFjaXR5OjA7IH0KLyogU29sYXBlIGRlIDFweCBlbnRlcmEgZW50cmUgbO1uZWFzIHBhcmEgY2VycmFyIGVsIGhpbG8gZGUgc3ViLXDteGVsIHF1ZQogICBwdWVkZSBxdWVkYXIgZW50cmUgc3VzIGNhamFzIGRlIGZvbmRvIChyZWRvbmRlbyBkZSBhbHR1cmFzIGZyYWNjaW9uYXJpYXMpICYjODIxMjsKICAgdmVyIG1pc21vIGNvbWVudGFyaW8sIGRldGFsbGFkbywgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay12cmRiYiAubGVhZC1hbmltLWxpbmUgKyAubGVhZC1hbmltLWxpbmV7CiAgbWFyZ2luLXRvcDotMXB4Owp9Ci5ibGstdnJkYmIgLmxlYWQtYW5pbS1saW5lOmZpcnN0LWNoaWxkeyBwYWRkaW5nLXRvcDo2cHg7IH0KLmJsay12cmRiYiAubGVhZC1hbmltLWxpbmU6bGFzdC1jaGlsZHsgcGFkZGluZy1ib3R0b206NnB4OyB9Ci5ibGstdnJkYmIgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay12cmRiYiAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQgLmxlYWQtYW5pbS1saW5lLAouYmxrLXZyZGJiIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodCAubGVhZC1hbmltLWxpbmV7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDowOyB9Ci5ibGstdnJkYmIgLmxlYWQtYW5pbS1oZWFkbGluZXMuaXMtcG9zaXRpdmUgLmxlYWQtYW5pbS1saW5leyBjb2xvcjojMEUxMTFBOyB9Ci5ibGstdnJkYmIgLmxlYWQtYW5pbS1saW5lLWJneyBwb3NpdGlvbjphYnNvbHV0ZTsgaW5zZXQ6MDsgei1pbmRleDotMTsgfQouYmxrLXZyZGJiIC5sZWFkLWFuaW0tbGluZS10ZXh0eyBwb3NpdGlvbjpyZWxhdGl2ZTsgfQpAa2V5ZnJhbWVzIGJsay12cmRiYi1hbmltLWxpbmUtcmV2ZWFseyB0b3sgY2xpcC1wYXRoOmluc2V0KDAgMCAwIDApOyB9IH0KCi8qIEFuY2hvciBvdmVybGF5IGZvciBmdWxsIGNsaWNrYWJsZSBsZWFkICovCi5ibGstdnJkYmIgLmxlYWQtbGlua3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MX0KCi8qIEhvdmVyIG9wYWNpdHkgYW5pbWF0aW9uICovCi5ibGstdnJkYmIgLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCi5ibGstdnJkYmIgLmNvbHVtbi1pdGVtOmhvdmVye29wYWNpdHk6Ljh9Ci8qIEZvdG8gcHJpbmNpcGFsIChmYWxsYmFjay9zaW5nbGUpIG8gY2FycnVzZWwgZGUgZm90b3M6IG9wYWNpZGFkIDAuOSBhbAogICBwYXNhciBlbCByYXTzbiBwb3IgbGEgdGFyamV0YSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbgogICBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBObyBhcGxpY2EgYSB27WRlbyBuaSBhbAogICBjb21wYXJhZG9yIGFudGVzL2Rlc3B16XMuICovCi5ibGstdnJkYmIgLmxlYWQtbWVkaWEgPiBpbWcsCi5ibGstdnJkYmIgLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQouYmxrLXZyZGJiIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLXZyZGJiIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eTouOTt9Ci8qIEVuIGVsIGFuY2hvIG3zdmlsIChtaXNtbyBAY29udGFpbmVyIHF1ZSBlbCByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8pIG5vCiAgIGFwbGljYSBlc3RhIGFuaW1hY2nzbiBkZSBvcGFjaWRhZCBzb2JyZSBsYSBub3RpY2lhIHByaW5jaXBhbDogdmEgREVTUFXJUwogICBkZSBsYSByZWdsYSBnZW5lcmFsIGRlIGFycmliYSAobWlzbWEgZXNwZWNpZmljaWRhZCkgcGFyYSBwb2RlciBnYW5hcmxlLgogICBPbWl0aWRvLCBpZ3VhbCBxdWUgZWwgYmxvcXVlIGRlIHRpcG9ncmFm7WEgZGUgYXJyaWJhLCBtaWVudHJhcyBsYQogICBzaW11bGFjafNuIGRlIGFuY2hvIGVzdOkgYWN0aXZhICh2ZXIgbGVhZFdpZHRoUHJldmlldykuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7CiAgLmJsay12cmRiYiAubGVhZDpob3ZlciAubGVhZC10aXRsZSwKICAuYmxrLXZyZGJiIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gaW1nLAogIC5ibGstdnJkYmIgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHtvcGFjaXR5OjE7fQp9CgovKiBBbmltYWNp824gY29tcGFydGlkYSBwbGF5IHByaW5jaXBhbCArIGN1YWRyYWRvcyBwbGF5IGFwaWxhZGFzICovCkBrZXlmcmFtZXMgYmxrLXZyZGJiLWJsaW5rewogIDAlLDEwMCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNyl9CiAgNTAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDE2NSwyNTUsMC45KX0KfQovKiBDYWJlY2VyYSAqLwouYmxrLXZyZGJiIC5iZy1zZWN0aW9uLXRpdGxle2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjEwcHggMCAzMnB4fQouYmxrLXZyZGJiIC5mbmQtbGluZWF7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjVweDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO21hcmdpbi10b3A6LTE4cHg7Ym9yZGVyLXRvcDoxcHggc29saWQgIzMzMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMzMzfQouYmxrLXZyZGJiIC5zZWN0aW9uLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuMjtsZXR0ZXItc3BhY2luZzotMXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjtiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzo0cHggMTNweDtib3JkZXI6MXB4IHNvbGlkICMwRTExMUE7dHJhbnNmb3JtOnJvdGF0ZVgoNWRlZykgcm90YXRlWSgtMjVkZWcpIHNrZXdYKDBkZWcpO2ZvbnQtc2l6ZTo0MnB4O2NvbG9yOiMwRTExMUE7fQpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpey5ibGstdnJkYmIgLnNlY3Rpb24tdGl0bGV7Zm9udC1zaXplOjI3cHg7cGFkZGluZzowIDEwcHh9fQovKiBDYWJlY2VyYSAmIzgyMTI7IERpc2XxbyAyICh0aXR1bGFyICsgY2FycnVzZWwgZGUgbG9nb3RpcG9zKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsCiAgIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXZyZGJiIC5oZWFkZXIye2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjIwcHg7cGFkZGluZy1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MTBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMEUxMTFBO30KLyogYWxpZ24tc2VsZjpmbGV4LWVuZCBmaWphIGVsIHRpdHVsYXIgU0lFTVBSRSBhIDE1cHggZGUgbGEgbO1uZWEgc2VwYXJhZG9yYQogICBlbiBEZXNrICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcwogICBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdnJkYmIgLmhlYWRlcjItbGVmdHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2ZsZXg6MSAxIDUwJTttaW4taW5saW5lLXNpemU6MDthbGlnbi1zZWxmOmZsZXgtZW5kO30KLmJsay12cmRiYiAuaGVhZGVyMi10YWdze2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjZweDtmbGV4OjAgMCBhdXRvO30KLyogTWlzbW8gdGFtYfFvL3RpcG9ncmFm7WEgcXVlIC5sZWFkLWV4Y2x1c2l2ZS10YWcgKGxhIGRlIGxhIG5vdGljaWEKICAgcHJpbmNpcGFsKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlCiAgIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXZyZGJiIC5oZWFkZXIyLWNhdC10YWcsCi5ibGstdnJkYmIgLmhlYWRlcjItZXhjbHVzaXZlLXRhZ3thbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjJweDtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZTouOGVtO2xldHRlci1zcGFjaW5nOi41cHg7cGFkZGluZzoycHggOHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjt9Ci5ibGstdnJkYmIgLmhlYWRlcjItZXhjbHVzaXZlLXRhZy1pY29ue3Bvc2l0aW9uOnN0YXRpYztpbnNldDphdXRvO2lubGluZS1zaXplOjE0cHg7YmxvY2stc2l6ZToxNHB4O29iamVjdC1maXQ6Y29udGFpbjtmbGV4OjAgMCBhdXRvO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXZyZGJiIC5oZWFkZXIyLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjM2cHg7bGluZS1oZWlnaHQ6MS4wNTtjb2xvcjojMEUxMTFBO21hcmdpbjowO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttaW4taW5saW5lLXNpemU6MDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7fQovKiBTZXBhcmFjafNuIGRlIDEwcHggZW50cmUgZWwgdGV4dG8gZGUgcGF0cm9jaW5pbyB5IGVsIGxvZ28gZW4gRGVzayAmIzgyMTI7IGVuCiAgIE3zdmlsIHNpZ3VlIHNpbiBzZXBhcmFjafNuIChnYXA6MCwgdmVyIEBjb250YWluZXIgbeFzIGFiYWpvKS4gKi8KLmJsay12cmRiYiAuaGVhZGVyMi1sb2dvcy13cmFwe2ZsZXg6MCAwIGF1dG87bWF4LWlubGluZS1zaXplOjUwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDt9Ci8qIEV0aXF1ZXRhIG9wY2lvbmFsIGp1bnRvIGFsIGNhcnJ1c2VsIGRlIGxvZ29zIChwLmVqLiAiUGF0cm9jaW5hZG8gcG9yOiIpICYjODIxMjsKICAgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwKICAgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdnJkYmIgLmhlYWRlcjItbG9nb3MtbGFiZWx7Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM2Njc7d2hpdGUtc3BhY2U6bm93cmFwO30KLmJsay12cmRiYiAuaGVhZGVyMi1sb2dvc3twb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxNjBweDtibG9jay1zaXplOjUwcHg7ZmxleC1zaHJpbms6MDt9Ci5ibGstdnJkYmIgLmhlYWRlcjItbG9nb3MgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7bWFyZ2luOmF1dG87bWF4LWlubGluZS1zaXplOjEwMCU7bWF4LWJsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvbnRhaW47b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuN3MgZWFzZS1pbi1vdXQ7fQouYmxrLXZyZGJiIC5oZWFkZXIyLWxvZ29zIGltZy5pcy1hY3RpdmV7b3BhY2l0eToxO30KLyogSWd1YWwgcXVlIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWw6IHBvciBkZWJham8gZGUgZXN0ZSBhbmNobyBzZQogICBpbnRlbnRhIHByaW1lcm8gMSBTT0xBIEZJTEEgKGV0aXF1ZXRhcyt0aXR1bGFyIGp1bnRvIGFsIGxvZ28sIGlndWFsIHF1ZQogICBlbiBEZXNrLCBhIHRhbWHxbyByZWR1Y2lkbykuIEVsIGJsb3F1ZSBkZSBsb2dvcyBtYW50aWVuZSBTSUVNUFJFIHN1CiAgIGRpc3Bvc2ljafNuIGVuIGNvbHVtbmEgKGV0aXF1ZXRhIGRlIHBhdHJvY2luaW8gZW5jaW1hIGRlbCBsb2dvLAogICBhbGluZWFkb3MgYSBsYSBkZXJlY2hhLCBzaW4gc2VwYXJhY2nzbikgdGFudG8gZW4gZXN0YSBmaWxhIPpuaWNhIGNvbW8gZW4KICAgZWwgcmVzZ3VhcmRvIGRlIGFiYWpvLiBTaSBlbCB0aXR1bGFyLCBzdW1hZG8gYWwgYW5jaG8gZGUgbGFzIGV0aXF1ZXRhcwogICBhY3RpdmFzIChjYXRlZ29y7WEgeS9vIGV4Y2x1c2l2YSwgc2kgbGFzIGhheSksIHN1cGVyYSBlbCA1NSUgZGVsIGFuY2hvCiAgIHRvdGFsIGRlIGxhIGNhYmVjZXJhIChjYWRhIHVubyBtZWRpZG8gYSB1bmEgc29sYSBs7W5lYSksIGVsIHNjcmlwdAogICBzdGFuZGFsb25lIGHxYWRpZG8gYWwgZmluYWwgZGUgZXN0ZSBIVE1MICh2ZXIKICAgYnVpbGRIZWFkZXIyU3RhY2tpbmdTY3JpcHQoKSkgbG8gZGV0ZWN0YSBtaWRpZW5kbyBzdSBhbmNobyBuYXR1cmFsCiAgIHkgYfFhZGUgbGEgY2xhc2UgImhlYWRlcjItc3RhY2tlZCI6IGVsIGJsb3F1ZSBkZQogICBsb2dvcyBzdWJlIGVudG9uY2VzIGEgc3UgcHJvcGlhIGZpbGEgKGFsaW5lYWRvIGEgbGEgZGVyZWNoYSkgeQogICB0aXR1bGFyK2V0aXF1ZXRhcyBiYWphbiBhIGxhIGZpbGEgZGUgYWJham8sIGEgYW5jaG8gY29tcGxldG8gJiM4MjEyOyBtaXNtbwogICBsYXlvdXQgZGUgMiBmaWxhcyBxdWUgaGFi7WEgYW50ZXMgc2llbXByZSBwb3IgZGViYWpvIGRlIGVzdGUgYnJlYWtwb2ludCwKICAgYWhvcmEgc29sbyBjb21vIHJlc2d1YXJkby4gRGVudHJvIGRlIGVzZSByZXNndWFyZG8sIGNvbiBldGlxdWV0YShzKSBlbAogICB0aXR1bGFyIHBhc2EgYWRlbeFzIGEgc3UgUFJPUElBIGZpbGEgYSBhbmNobyBjb21wbGV0bywgZGViYWpvIGRlIGxhIGZpbGEgZGUgZXRpcXVldGFzICh2ZXIKICAgIi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdCIgbeFzIGFiYWpvKS4gRWwgbG9nbyBzZSByZWR1Y2UgdW4gMjAlCiAgICgxNjB4NTAgJiM4NTk0OyAxMjh4NDApLgogICBhbGlnbi1zZWxmOmZsZXgtZW5kIGVuIGhlYWRlcjItbGVmdCBmaWphIGVsIHRpdHVsYXIgU0lFTVBSRSBhIGxvcyAxMHB4CiAgIGRlbCBwYWRkaW5nLWJvdHRvbSByZXNwZWN0byBhIGxhIGztbmVhIHNlcGFyYWRvcmEgJiM4MjEyOyBtaXNtbyBjcml0ZXJpbyBxdWUKICAgZW4gRGVzayAodmVyIGhlYWRlcjItbGVmdCBt4XMgYXJyaWJhKTogc2luIGVzdG8sIGFsIHNlciBlbCBibG9xdWUgZGUKICAgbG9nb3MgbeFzIGFsdG8gcXVlIGVsIHRpdHVsYXIsIGVsIGNlbnRyYWRvIHZlcnRpY2FsIGRlbCByb3cgZGVqYWJhIHVuCiAgIGh1ZWNvIG1heW9yIGVudHJlIGVsIHRpdHVsYXIgeSBsYSBs7W5lYS4gRWwgYmxvcXVlIGRlIGxvZ29zIHNpZ3VlCiAgIGNlbnRyYWRvIChzaW4gZXNlIG92ZXJyaWRlKS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjQ4MHB4KXsKICAuYmxrLXZyZGJiIC5oZWFkZXIye2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4O3BhZGRpbmctYm90dG9tOjEwcHg7fQogIC5ibGstdnJkYmIgLmhlYWRlcjItbGVmdHtvcmRlcjoxO2FsaWduLXNlbGY6ZmxleC1lbmQ7fQogIC5ibGstdnJkYmIgLmhlYWRlcjItbG9nb3Mtd3JhcHtvcmRlcjoyO2FsaWduLXNlbGY6Y2VudGVyO21heC1pbmxpbmUtc2l6ZTpub25lO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6MDt9CiAgLmJsay12cmRiYiAuaGVhZGVyMi1sb2dvc3tpbmxpbmUtc2l6ZToxMjhweDtibG9jay1zaXplOjQwcHg7fQogIC5ibGstdnJkYmIgLmhlYWRlcjItdGl0bGV7Zm9udC1zaXplOjI3cHg7fQogIC5ibGstdnJkYmIgLmhlYWRlcjIuaGVhZGVyMi1zdGFja2Vke2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O30KICAuYmxrLXZyZGJiIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sZWZ0e29yZGVyOjI7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2dhcDo1cHg7fQogIC5ibGstdnJkYmIgLmhlYWRlcjIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MTttYXgtaW5saW5lLXNpemU6MTAwJTthbGlnbi1zZWxmOmZsZXgtZW5kO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpmbGV4LWVuZDtnYXA6MDt9CiAgLyogUmVzZ3VhcmRvIGludGVybWVkaW8gJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhOiBzb2xvIGVsIHRpdHVsYXIgYmFqYSBhIHN1CiAgICAgcHJvcGlhIGZpbGEgYSBhbmNobyBjb21wbGV0byBjdWFuZG8gbGFzIGV0aXF1ZXRhcyBTzSBjYWJlbiBqdW50byBhbAogICAgIGxvZ28gcGVybyBlbCB0aXR1bGFyIG5vLiBoZWFkZXIyLWxlZnQgcGFzYSBkZSBmaWxhIGEgY29sdW1uYQogICAgIChldGlxdWV0YXMgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbykgeSByZWN1cGVyYSBhbGlnbi1zZWxmOmF1dG8gcGFyYQogICAgIGNlbnRyYXJzZSB2ZXJ0aWNhbG1lbnRlIGNvbnRyYSBlbCBsb2dvIChhbGlnbi1zZWxmOmNlbnRlciBkZSBsYSByZWdsYQogICAgIGJhc2UgZGUgLmhlYWRlcjItbG9nb3Mtd3JhcCwgYXJyaWJhKSwgaWd1YWwgcXVlIGVuIGVsIHJlc3RvIGRlIGVzdGFkb3MuICovCiAgLmJsay12cmRiYiAuaGVhZGVyMi5oZWFkZXIyLXRpdGxlLWJlbG93IC5oZWFkZXIyLWxlZnR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7YWxpZ24tc2VsZjphdXRvO2dhcDo1cHg7fQp9CgovKiBFc3RpbG8gImZvdG8gZ3JhbmRlICsgdGl0dWxhciI6IGZvdG8gMTY6OSBhcnJpYmEsIHRpdHVsYXIgZGViYWpvICYjODIxMjsgZWxlZ2libGUKICAgcG9yIG5vdGljaWEgZGVzZGUgZWwgZ2VzdG9yLiBObyBzZSByZXN0cmluZ2UgY29uIEBjb250YWluZXIgcG9ycXVlCiAgIC5jb2x1bW4taXRlbSB5YSBlcyBibG9jayBwb3IgZGVmZWN0byAoZWwgdGh1bWIgeSBlbCB0ZXh0byBzZSBhcGlsYW4gc29sb3MKICAgc2luIG3hcyBhanVzdGUpLCBhc+0gcXVlIGVsIGRpc2XxbyBmdW5jaW9uYSBpZ3VhbCBkZSBiaWVuIGVuIGN1YWxxdWllcgogICBhbmNobywgRGVzayBvIE3zdmlsLiAqLwouYmxrLXZyZGJiIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9we2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47fQouYmxrLXZyZGJiIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC50aHVtYntpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O21hcmdpbi1ib3R0b206MTBweDt9Ci5ibGstdnJkYmIgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImFtcGxpdHVkZS1tZWRpdW0tY29uZGVuc2VkIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS4yZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjkwMDt9Ci8qIEVuIE3zdmlsIGVsIHRpdHVsYXIgZGUgZXN0ZSBkaXNl8W8gc2UgbXVlc3RyYSBt4XMgZ3JhbmRlICgxLjVyZW0gZW4gdmV6IGRlCiAgIGxvcyAxLjJyZW0gZGUgRGVzaykgJiM4MjEyOyBtaXNtYSBlc3BlY2lmaWNpZGFkICgzIGNsYXNlcykgcXVlIGxhIHJlZ2xhIGRlCiAgIGFycmliYTsgYWwgaXIgREVTUFXJUyBlbiBlbCBDU1MgZ2FuYSBwb3Igb3JkZW4gZGUgY2FzY2FkYS4gU2UgdXNhIGVsCiAgIGJyZWFrcG9pbnQgZGUgNDgwcHggKGVsIGRlIHRpcG9ncmFm7WEgZW4gZXN0YSBhcHAsIG5vIGVsIGRlIDg2MHB4IHF1ZSBhcXXtCiAgIHNvbG8gZ29iaWVybmEgZWwgYXBpbGFkbyBkZSBjb2x1bW5hcykgcGFyYSBxdWUgY29pbmNpZGEgY29uIGVsIHJlc3RvIGRlCiAgIGNhbWJpb3MgZGUgdGV4dG8vdGFtYfFvIHBvciB2aXN0YS4gTm8gYWZlY3RhIGFsIHJlc2d1YXJkbyBkZSAyIGNvbHVtbmFzIGVuCiAgIG3zdmlsIChtb2ItZ3JpZCksIG3hcyBlc3BlY+1maWNvICgxOHB4LCB2ZXIgbeFzIGFycmliYSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay12cmRiYiAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAubGVmdC10aXRsZXtmb250LXNpemU6MS41cmVtO30KfQovKiBFc3RpbG8gIkJsb3F1ZSBtZWRpYSIgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay12cmRiYiAubWVkaWEtYmxvY2stbWVkaWF7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6YXV0bzt9Ci5ibGstdnJkYmIgLm1lZGlhLWJsb2NrLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazt9Ci5ibGstdnJkYmIgLm1lZGlhLWJsb2NrLWlmcmFtZS13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjE2Lzk7YmFja2dyb3VuZDojMDAwO292ZXJmbG93OmhpZGRlbjt9Ci5ibGstdnJkYmIgLm1lZGlhLWJsb2NrLWlmcmFtZS13cmFwIGlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXZyZGJiIC5jb2x1bW4taXRlbS5sYXlvdXQtbWVkaWEtYmxvY2t7Ym9yZGVyOm5vbmU7cGFkZGluZzowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7YmxvY2stc2l6ZTphdXRvO2ZsZXg6MCAwIGF1dG87fQouYmxrLXZyZGJiIC5jb2x1bW4taXRlbTpub3QoLmxheW91dC1tZWRpYS1ibG9jayl7ZmxleDoxIDEgYXV0bzt9Cjwvc3R5bGU+Cgo8ZGl2IGNsYXNzPSJibGstdnJkYmIiPgogIAogIDxtYWluIGNsYXNzPSJwYWdlIj4KICAgIAogICAgPGFydGljbGUgY2xhc3M9ImxlYWQiPgogICAgICA8ZGl2IGNsYXNzPSJsZWFkLW1lZGlhIj4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL21lZGlhL2VsLXBzb2UtcmV0dWVyY2UtbGEtZmFyc2EtZGVsLWdhcy1waW1pZW50YS1lbi1lbC1jb25ncmVzby1kZS1hbmEtdmF6cXVlei15LWxvZ3JhLXF1ZS11bi1qdWV6LWludmVzdGlndWUtbGFzLXN1cHVlc3Rhcy1sZXNpb25lcy1zdWZyaWRhcy0yMDI2MTAxNS0wNjAxMDEtMGQ1YmYwLmpwZyIgYWx0PSJFbCBQU09FIHJldHVlcmNlIGxhIGZhcnNhIGRlbCBnYXMgcGltaWVudGEgZW4gZWwgQ29uZ3Jlc28gZGUgQW5hIFbhenF1ZXogeSBsb2dyYSBxdWUgdW4ganVleiBpbnZlc3RpZ3VlIGxhcyBzdXB1ZXN0YXMgbGVzaW9uZXMgc3VmcmlkYXMiIGxvYWRpbmc9ImVhZ2VyIiBmZXRjaHByaW9yaXR5PSJoaWdoIiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDxkaXYgY2xhc3M9ImxlYWQtb3ZlcmxheSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiYSgxNCwxNywyNiwwLjAwKTsiPjwvZGl2PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5IiBzdHlsZT0iYmFja2dyb3VuZDojMDBBN0ZGOyI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImxlYWQtY2F0IiBzdHlsZT0iYmFja2dyb3VuZDojZmZmO2NvbG9yOiMwMEE3RkYiPkVTUEHRQTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJsZWFkLWJvZHktbWFpbiI+CiAgICAgICAgICAKICAgICAgICAgIDxoMiBjbGFzcz0ibGVhZC10aXRsZSI+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtZGVzayI+RWwgUFNPRSByZXR1ZXJjZSBsYSBmYXJzYSBkZWwgZ2FzIHBpbWllbnRhIGVuIGVsIENvbmdyZXNvIGRlIEFuYSBW4XpxdWV6IHkgbG9ncmEgcXVlIHVuIGp1ZXogaW52ZXN0aWd1ZSBsYXMgc3VwdWVzdGFzIGxlc2lvbmVzIHN1ZnJpZGFzPC9zcGFuPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLW1vYmlsZSI+RWwgUFNPRSByZXR1ZXJjZSBsYSBmYXJzYSBkZWwgZ2FzIHBpbWllbnRhIGVuIGVsIENvbmdyZXNvIGRlIEFuYSBW4XpxdWV6IHkgbG9ncmEgcXVlIHVuIGp1ZXogaW52ZXN0aWd1ZSBsYXMgc3VwdWVzdGFzIGxlc2lvbmVzIHN1ZnJpZGFzPC9zcGFuPjwvaDI+CiAgICAgICAgICAKICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRob3ItbGFiZWwiPklyZW5lIFRhYmVyYTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxhIGNsYXNzPSJsZWFkLWxpbmsiIGhyZWY9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGFuYS9wc29lLXJldHVlcmNlLWZhcnNhLWRlbC1nYXMtcGltaWVudGEtY29uZ3Jlc28tYW5hLXZhenF1ZXotbG9ncmEtcXVlLWp1ZXotaW52ZXN0aWd1ZS1zdXB1ZXN0YXMtbGVzaW9uZXMtc3VmcmlkYXMtMjA1NTEwMzMiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiB0aXRsZT0iRWwgUFNPRSByZXR1ZXJjZSBsYSBmYXJzYSBkZWwgZ2FzIHBpbWllbnRhIGVuIGVsIENvbmdyZXNvIGRlIEFuYSBW4XpxdWV6IHkgbG9ncmEgcXVlIHVuIGp1ZXogaW52ZXN0aWd1ZSBsYXMgc3VwdWVzdGFzIGxlc2lvbmVzIHN1ZnJpZGFzIiBhcmlhLWxhYmVsPSJFbCBQU09FIHJldHVlcmNlIGxhIGZhcnNhIGRlbCBnYXMgcGltaWVudGEgZW4gZWwgQ29uZ3Jlc28gZGUgQW5hIFbhenF1ZXogeSBsb2dyYSBxdWUgdW4ganVleiBpbnZlc3RpZ3VlIGxhcyBzdXB1ZXN0YXMgbGVzaW9uZXMgc3VmcmlkYXMiPjwvYT4KICAgIDwvYXJ0aWNsZT4KICA8L21haW4+CjwvZGl2PgoKPHNjcmlwdD4KKGZ1bmN0aW9uKCl7CiAgdmFyIGFydGljbGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYmxrLXZyZGJiIC5sZWFkJyk7CiAgaWYgKCFhcnRpY2xlKSByZXR1cm47CiAgdmFyIG1haW4gPSBhcnRpY2xlLnF1ZXJ5U2VsZWN0b3IoJy5sZWFkLWJvZHktbWFpbicpOwogIHZhciB0aXRsZUVsID0gYXJ0aWNsZS5xdWVyeVNlbGVjdG9yKCcubGVhZC10aXRsZScpOwogIGlmICghbWFpbiB8fCAhdGl0bGVFbCkgcmV0dXJuOwogIHZhciBiYXNlRm9udFNpemVQeCA9IHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZSh0aXRsZUVsKS5mb250U2l6ZSkgfHwgMDsKICBpZiAoIWJhc2VGb250U2l6ZVB4KSByZXR1cm47CiAgdmFyIE1BWF9TQ0FMRSA9IDEuODsKICB2YXIgTUlOX1NDQUxFID0gMC41OwogIHZhciBNQVhfRk9OVF9QWCA9IDY0OyAvLyB+NHJlbSBjb24gbGEgYmFzZSBoYWJpdHVhbCBkZSAxNnB4IChtaXNtbyB0b3BlIHF1ZSBmaXRMZWFkVGl0bGVUb0JveCgpIGVuIGVsIGdlc3RvcikKICB2YXIgYm9keVBvc2l0aW9uQmxvY2tzRml0ID0gYXJ0aWNsZS5jbGFzc0xpc3QuY29udGFpbnMoJ2xlYWQtYm9keS1sZWZ0JykgfHwgYXJ0aWNsZS5jbGFzc0xpc3QuY29udGFpbnMoJ2xlYWQtYm9keS1yaWdodCcpOwogIGZ1bmN0aW9uIGZpdCgpewogICAgaWYgKGJvZHlQb3NpdGlvbkJsb2Nrc0ZpdCkgcmV0dXJuOwogICAgdGl0bGVFbC5zdHlsZS5mb250U2l6ZSA9IGJhc2VGb250U2l6ZVB4ICsgJ3B4JzsKICAgIHZhciBhdmFpbGFibGVIZWlnaHQgPSBtYWluLmNsaWVudEhlaWdodDsKICAgIGlmICghYXZhaWxhYmxlSGVpZ2h0KSByZXR1cm47CiAgICAvLyBWZXIgbWlzbW8gY29tZW50YXJpbywgZGV0YWxsYWRvLCBlbiBmaXRMZWFkVGl0bGVUb0JveCgpIGRlbCBnZXN0b3I6CiAgICAvLyBtYWluLnNjcm9sbEhlaWdodCBudW5jYSBiYWphIGRlIGNsaWVudEhlaWdodCBhdW5xdWUgZWwgY29udGVuaWRvIHJlYWwKICAgIC8vIG9jdXBlIG1lbm9zLCBhc+0gcXVlIG5vIHNpcnZlIHBhcmEgZGV0ZWN0YXIgY3XhbnRvIHNvYnJhIG8gZmFsdGEgY29uCiAgICAvLyBlbCB0aXR1bGFyIGFjdHVhbCAmIzgyMTI7IHNlIHN1bWEgZW4gc3UgbHVnYXIgZWwgYWx0byByZWFsIGRlIGNhZGEgaGlqbwogICAgLy8gVklTSUJMRSBkZWwgYmxvcXVlLCBzYWx2byBlbCBwcm9waW8gdGl0dWxhciwgbeFzIGVsIGh1ZWNvICgiZ2FwIikKICAgIC8vIGVudHJlIGVsbG9zOyBubyBjYW1iaWEgY29uIGVsIHRhbWHxbyBkZWwgdGl0dWxhciwgYXPtIHF1ZSBzZSBtaWRlIHVuYQogICAgLy8gc29sYSB2ZXosIGFudGVzIGRlIGxhIGL6c3F1ZWRhIGJpbmFyaWEuCiAgICB2YXIgZ2FwUHggPSBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUobWFpbikucm93R2FwKSB8fCBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUobWFpbikuZ2FwKSB8fCAwOwogICAgdmFyIHZpc2libGVDaGlsZHJlbiA9IFtdLnNsaWNlLmNhbGwobWFpbi5jaGlsZHJlbikuZmlsdGVyKGZ1bmN0aW9uKGMpeyByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShjKS5kaXNwbGF5ICE9PSAnbm9uZSc7IH0pOwogICAgdmFyIG90aGVyc0hlaWdodCA9IHZpc2libGVDaGlsZHJlbi5maWx0ZXIoZnVuY3Rpb24oYyl7IHJldHVybiBjICE9PSB0aXRsZUVsOyB9KS5yZWR1Y2UoZnVuY3Rpb24oc3VtLCBjKXsgcmV0dXJuIHN1bSArIGMub2Zmc2V0SGVpZ2h0OyB9LCAwKQogICAgICArIGdhcFB4ICogTWF0aC5tYXgoMCwgdmlzaWJsZUNoaWxkcmVuLmxlbmd0aCAtIDEpOwogICAgdmFyIGF2YWlsYWJsZUZvclRpdGxlID0gTWF0aC5tYXgoMCwgYXZhaWxhYmxlSGVpZ2h0IC0gb3RoZXJzSGVpZ2h0KTsKICAgIGlmICghYXZhaWxhYmxlRm9yVGl0bGUpIHJldHVybjsKICAgIGZ1bmN0aW9uIGhlaWdodEF0U2NhbGUoc2NhbGUpewogICAgICB0aXRsZUVsLnN0eWxlLmZvbnRTaXplID0gTWF0aC5taW4oYmFzZUZvbnRTaXplUHggKiBzY2FsZSwgTUFYX0ZPTlRfUFgpICsgJ3B4JzsKICAgICAgcmV0dXJuIHRpdGxlRWwub2Zmc2V0SGVpZ2h0OwogICAgfQogICAgdmFyIGxvID0gTUlOX1NDQUxFLCBoaSA9IE1BWF9TQ0FMRTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgODsgaSsrKXsKICAgICAgdmFyIG1pZCA9IChsbyArIGhpKSAvIDI7CiAgICAgIGlmIChoZWlnaHRBdFNjYWxlKG1pZCkgPD0gYXZhaWxhYmxlRm9yVGl0bGUpIGxvID0gbWlkOyBlbHNlIGhpID0gbWlkOwogICAgfQogICAgaGVpZ2h0QXRTY2FsZShsbyk7CiAgfQogIGZpdCgpOwogIGlmIChkb2N1bWVudC5mb250cyAmJiBkb2N1bWVudC5mb250cy5yZWFkeSl7IGRvY3VtZW50LmZvbnRzLnJlYWR5LnRoZW4oZml0KTsgfQogIGlmICh3aW5kb3cuUmVzaXplT2JzZXJ2ZXIpeyBuZXcgUmVzaXplT2JzZXJ2ZXIoZml0KS5vYnNlcnZlKGFydGljbGUpOyB9CiAgZWxzZSB7IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBmaXQpOyB9Cn0pKCk7Cjwvc2NyaXB0Pg==
    • Nueva alerta sanitaria en Ceuta: una invasora marroquí da positivo en difteria y obliga a aislar un módulo del CETI
        • España
        • España

      Nueva alerta sanitaria en Ceuta: una invasora marroquí da positivo en difteria y obliga a aislar un módulo del CETI

      La invasión marroquí en Ceuta ha creado una alerta sanitaria brutal. La última enfermedad que en España ya estaba completamente controlada pero que se ha vuelto a detectar por la entrada de los inmigrantes ha sido la difteria. Una mujer que residía en el Centro de Estancia Temporal de Inmigrantes está ingresada en el Hospital Universitario de Ceuta y ha dado positivo, obligando a confinar su módulo.
      • Diana Arias
      • 2026-10-15 11:28
    • El Colegio de Médicos de Ceuta lanza un SOS en Bruselas: Los ceutíes merecen vivir, no sobrevivir
        • OkSalud
        • OkSalud

      El Colegio de Médicos de Ceuta lanza un SOS en Bruselas: "Los ceutíes merecen vivir, no sobrevivir"

      • Diego Buenosvinos
      • 2026-10-15 16:47
    • La Policía detiene a 40 inmigrantes en Ceuta por usar documentación falsa para entrar a la península
        • España
        • España

      La Policía detiene a 40 inmigrantes en Ceuta por usar documentación falsa para entrar a la península

      • Mario Pérez Pérez
      • 2026-10-15 13:25
    • Mourinho rompe la tregua con el fútbol español: del gato escondido a los madridistas no son estúpidos
    • Vota en nuestra encuesta: ¿Estás de acuerdo con Vinicius en que los pitos perjudican al Real Madrid?
        • Real Madrid
        • Real Madrid

      Vota en nuestra encuesta: ¿Estás de acuerdo con Vinicius en que los pitos perjudican al Real Madrid?

      • Pablo Villanueva
      • 2026-10-15 13:05
    • Espí, pocos minutos y muchos goles
        • Real Madrid
        • Real Madrid

      Espí, pocos minutos y muchos goles

      • Iván Martín
      • Enviado especial
      • ROMA
      • 2026-10-15 12:00
    • Arda Güler demuestra que es la solución del Real Madrid
        • Real Madrid
        • Real Madrid

      Arda Güler demuestra que es la solución a los problemas de juego del Real Madrid

      Pocos jugadores tienen la magia de Arda Güler. Lo demostró en apenas media hora en Roma con dos asistencias que dieron alas al Real Madrid para culminar otra remontada para la historia de la Champions. El turco revolucionó al conjunto madridista y dio ese empujón que necesitaban cuando el equipo estaba contra las cuerdas. Una exhibición en toda regla que impresionó a José Mourinho hasta tal punto de calificarle como "el futbolista más importante de la plantilla".
      • Pablo Villanueva
      • 2026-10-15 09:14
    • La Airef nunca dijo que las pensiones de Sánchez fueran sostenibles: solo aseguró que cumplían la regla de gasto
    • TVE insiste en desafiar a los trabajadores: un externo independentista entrevistará a Puigdemont en Waterloo
        • Economía
        • Economía

      TVE desafía a los trabajadores: un externo independentista entrevistará a Puigdemont en Waterloo

      • Carlos Ribagorda
      • 2026-10-15 05:45
    • El Gobierno no localiza las 17.000 fincas rústicas que prometió movilizar
        • Economía
        • Economía

      El Gobierno no localiza las 17.000 fincas rústicas que prometió movilizar

      • Xavier Vilaltella
      • 2026-10-15 12:02
    • PGlmcmFtZSBoZWlnaHQ9JzM1MHB4JyB3aWR0aD0nMTAwJScgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvaHRtbC95N2hzcnYtY2FycnVzZWwtZGlyZWN0b3MucGhwP21vZGU9ZGVzayIgICBmcmFtZWJvcmRlcj0iMCIgc2Nyb2xsaW5nPSJubyIgc3R5bGU9ImJvcmRlcjowO2Rpc3BsYXk6YmxvY2s7bWF4LSI+PC9pZnJhbWU+Cg==
      PGlmcmFtZSBoZWlnaHQ9JzY1MHB4JyB3aWR0aD0nMTAwJScgc3JjPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvaHRtbC95N2hzcnYtY2FycnVzZWwtZGlyZWN0b3MucGhwP21vZGU9bW9iaWxlIiAgIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9Im5vIiBzdHlsZT0iYm9yZGVyOjA7ZGlzcGxheTpibG9jazttYXgtIj48L2lmcmFtZT4K
    • Los Javis, más cerca de los Oscar: la prensa de Hollywood lleva
        • Cool
        • Cool

      Los Javis, más cerca de los Oscar: la prensa de Hollywood lleva 'La bola negra' a sus portadas

      La bola negra, la ambiciosa película dirigida por los Javis, se ha consolidado definitivamente como la gran esperanza del cine español para conquistar la temporada de premios y cruzar con pie firme la alfombra roja de los Oscar. Lo que comenzó como un aplaudido recorrido festivalero, tras su paso por citas como Cannes, Toronto o San Sebastián, se ha transformado en un fenómeno en la meca de la industria audiovisual. Variety, conocida como la biblia de Hollywood, ha llevado la cinta de Javier Ambrossi y Javier Calvo a su portada.

      • Paula M. Gonzálvez
      • 2026-10-15 16:09
    • Pilar Rubio pincha el globo del amor de película al hablar de Sergio Ramos: No tienes que luchar por tu pareja
        • Cool
        • Cool

      Pilar Rubio pincha el globo del amor de película al hablar de Sergio Ramos: "No tienes que luchar por tu pareja"

      • Marta Menéndez
      • 2026-10-15 15:30
    • Vuelven las Jornadas Jurídicas de OKDIARIO: Marbella reunirá a la élite del Derecho español el 12 y 13 de noviembre
    • OK AL DÍA

    • Los expertos en interiorismo lo tienen claro: poner el cubo de basura debajo del fregadero está bien, pero hay una alternativa más cómoda y práctica
        • Curiosidades
        • Curiosidades

      poner el cubo de basura debajo del fregadero está bien, pero hay una alternativa más cómoda 

      • Blanca Espada
      • 2026-10-15 11:30
    • Clint Eastwood compró un rancho de 54 hectáreas en California y termina donándolo para proteger la naturaleza
        • Curiosidades
        • Curiosidades

      Clint Eastwood compró un rancho de 54 hectáreas en California y lo dona para proteger la naturaleza

      • Aitana Pascual
      • 2026-10-15 07:51
    • Los peluqueros instan a poner papel de aluminio en el pelo antes de dormir: por qué lo recomiendan y para qué sirve
        • Curiosidades
        • Curiosidades

      Los peluqueros instan a poner papel de aluminio en el pelo antes de dormir: por qué lo recomiendan y para qué sirve

      Para las personas con un pelo largo, dormir puede ser un problema si buscas mantener el pelo acomodado. El movimiento constante de la almohada genera fricción, lo que provoca que se deshagan los peinados y favorece la aparición de frizz, especialmente en cabellos ondulados, rizados o con tendencia a resecarse.
      • Fernando Larruscain
      • 2026-10-15 11:32
    • Giro confirmado en la TDT: la OCU pide que nos preparemos para el cambio que llega el 5 de noviembre a España
        • Curiosidades
        • Curiosidades

      Giro confirmado en la TDT: la OCU pide que nos preparemos para el cambio que llega el 5 de noviembre

      • Álvaro Olivero
      • 2026-10-15 10:27
    • Una psicóloga analiza la reacción de Rafa Jódar contra un recogepelotas: La presión es una pérdida momentánea de autocontrol
        • Deportes
        • Deportes

      Una psicóloga analiza la reacción de Rafa Jódar contra un recogepelotas: "La presión es..."

      • Pablo Villanueva
      • 2026-10-15 12:02
    • Cuatro estudiantes suizos cubren un glaciar de los Alpes con 200 m2 de lana de oveja y en 3 meses descubren que han ralentizado su deshielo en más de un 50%
        • Naturaleza
        • Naturaleza

      Cuatro estudiantes suizos cubren un glaciar de los Alpes con 200 m2 de lana de oveja 

      • Sofía Crotti
      • 2026-10-15 10:32
    • Estupefacción entre los arqueólogos: descubren un palacio etíope de hace 2.800 años cuyos muros podían soportar el peso de un edificio de 16 pisos
        • Historia
        • Historia

      descubren un palacio de hace 2.800 años que podía soportar el peso de un edificio de 16 pisos

      • Naiara Philpotts
      • 2026-10-15 11:00
    • Adiós a los azulejos de cocina para siempre: la nueva moda que llega en 2027 es más moderna, elegante y fácil de limpiar
        • Curiosidades
        • Curiosidades

      Adiós a los azulejos de cocina: la nueva moda que llega es más moderna, elegante y limpia

      • Janire Manzanas
      • 2026-10-15 12:00
    • Los psicólogos confirman que las personas que evitan las cajas de autoservicio en el supermercado no son antisociales: más bien están buscando interacción social
        • Curiosidades
        • Curiosidades

      Los psicólogos confirman que las personas que evitan las cajas de autoservicio no son antisociales

      • Aitana Pascual
      • 2026-10-15 10:52
    • CiAgICA8c3R5bGU+CiAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MnKTsKCiAgICAvKiBDb250ZW5lZG9yIHByaW5jaXBhbCBsaW1pdGFkbyBhIDk2MHB4IGVuIGVzY3JpdG9yaW8gKi8KICAgIC5jdi16d244NyAuc2VjdGlvbnttYXgtd2lkdGg6OTYwcHg7bWFyZ2luOjAgYXV0bzt3aWR0aDoxMDAlfQoKICAgIC5jdi16d244NyAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjo4cHggMCA1MHB4fQogICAgLmN2LXp3bjg3IC5mbmQtbGluZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NXB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luLXRvcDotMjVweDtib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzN9CiAgICAuY3YtenduODcgLnNlY3Rpb24tdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjRweCAxM3B4O2JvcmRlcjoxcHggc29saWQgIzMzMztmb250LXNpemU6NDJweDt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyl9CgogICAgLmN2LXp3bjg3IC5jYXJvdXNlbHstLWdhcDoxNnB4Oy0tcGVlazoxMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tZ2FwKTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206NnB4fQogICAgLmN2LXp3bjg3IC50cmFja3tkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLWdhcCk7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnk7c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtwYWRkaW5nLXJpZ2h0OjB9CiAgICAuY3YtenduODcgLnRyYWNrOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9CiAgICAuY3YtenduODcgLmNhcmR7cG9zaXRpb246cmVsYXRpdmU7ZmxleDowIDAgYXV0bztzY3JvbGwtc25hcC1hbGlnbjpzdGFydDt3aWR0aDpjYWxjKCgxMDAlIC0gMip2YXIoLS1nYXApIC0gdmFyKC0tcGVlaykpLzMpO2FzcGVjdC1yYXRpbzo5LzE2O2JvcmRlci1yYWRpdXM6MTBweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojMDAwO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgZWFzZSwgdHJhbnNmb3JtIC40cyBlYXNlfQogICAgLmN2LXp3bjg3IC5jYXJkLmlzLWlue29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX0KCiAgICAuY3YtenduODcgLnRodW1ie3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgZWFzZSwgb3BhY2l0eSAuMjVzIGVhc2U7dHJhbnNmb3JtOnNjYWxlKDEuMDEpfQogICAgLmN2LXp3bjg3IC5jYXJkOmhvdmVyIC50aHVtYiwuY3YtenduODcgLmNhcmQ6Zm9jdXMtdmlzaWJsZSAudGh1bWJ7dHJhbnNmb3JtOnNjYWxlKDEuMDYpfQogICAgLyogU2luIG92ZXJsYXlzIHBlcnNvbmFsaXphZG9zOiBzZSB1c2FuIGNvbnRyb2xlcyBuYXRpdm9zIGRlbCBwbGF5ZXIgKi8KCiAgICAuY3YtenduODcgLmFye3Bvc2l0aW9uOnJlbGF0aXZlfQogICAgLmN2LXp3bjg3IC5hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2IoMjU1IDI1NSAyNTUgLyAyMCUpO2JveC1zaGFkb3c6MCA2cHggMTZweCByZ2IoMCAwIDAgLyAyMCUpO2JvcmRlcjoxcHggc29saWQgI2ZmZjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoyO3RyYW5zaXRpb246LjNzfQogICAgLmN2LXp3bjg3IC5hcnJvdzpob3ZlcntiYWNrZ3JvdW5kOnJnYigwIDAgMCAvIDIwJSk7Ym9yZGVyOjFweCBzb2xpZCAjZmZmfQogICAgLmN2LXp3bjg3IC5hcnJvdzpmb2N1c3tiYWNrZ3JvdW5kOnJnYigyNTUgMjU1IDI1NSAvIDIwJSl9CiAgICAuY3YtenduODcgLmFycm93IHN2Z3t3aWR0aDoyMHB4O2hlaWdodDoyMHB4fQogICAgLmN2LXp3bjg3IC5hcnJvdy5sZWZ0e2xlZnQ6MTBweH0KICAgIC5jdi16d244NyAuYXJyb3cucmlnaHR7cmlnaHQ6MTBweH0KCiAgICBAbWVkaWEgKG1heC13aWR0aDo3NjhweCl7CiAgICAgIC8qIEVuIG3zdmlsLCBlbCBjb250ZW5lZG9yIG9jdXBhIHRvZG8gZWwgYW5jaG8gKi8KICAgICAgLmN2LXp3bjg3IC5zZWN0aW9ue21heC13aWR0aDoxMDAlfQogICAgICAuY3YtenduODcgLnNlY3Rpb24tdGl0bGV7Zm9udC1zaXplOjI3cHg7cGFkZGluZzoycHggOHB4O3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKX0KICAgICAgLmN2LXp3bjg3IC5jYXJvdXNlbHstLXBlZWs6MTIlfQogICAgICAvKiAyIHRhcmpldGFzIGNvbXBsZXRhcyArIHVuIHBlZWsgZGUgbGEgM6ogKi8KICAgICAgLmN2LXp3bjg3IC5jYXJke3dpZHRoOmNhbGMoKDEwMCUgLSA0KnZhcigtLWdhcCkgLSB2YXIoLS1wZWVrKSkvMSl9CiAgICAgIC5jdi16d244NyAuYXJyb3d7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9CiAgICAgIC5jdi16d244NyAudHJhY2t7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3BhZGRpbmctcmlnaHQ6MH0KICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iY3YtenduODciPgogICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgYXJpYS1sYWJlbD0iQ2FycnVzZWwgZGUgdu1kZW9zIChTaG9ydHMpIj4KICAgICAgICA8ZGl2IGNsYXNzPSJiZy1zZWN0aW9uLXRpdGxlIj4KICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TG9zICdzaG9ydHMnIGRlIE9LRElBUklPPC9oMj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbmQtbGluZWEiPjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhciIgcm9sZT0icmVnaW9uIiBhcmlhLWxhYmVsPSJMaXN0YWRvIGRlIHbtZGVvcyI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhcnJvdyBsZWZ0IiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IkFudGVyaW9yIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNMTUgNmwtNiA2IDYgNiIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhcnJvdyByaWdodCIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJTaWd1aWVudGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik05IDE4bDYtNi02LTYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmFjayIgcm9sZT0ibGlzdCI+CgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvRFJycXBrSldQakkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJEUnJxcGtKV1BqSSIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL0RScnFwa0pXUGpJL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCAxIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzL09QdzBnWXhVNE9JIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iT1B3MGdZeFU0T0kiIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9PUHcwZ1l4VTRPSS9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgMiIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy9qS0NJaG9ON281TSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9ImpLQ0lob043bzVNIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvaktDSWhvTjdvNU0vaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDMiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvdk9qMldaR0pCY28iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJ2T2oyV1pHSkJjbyIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL3ZPajJXWkdKQmNvL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCA0IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzLy1wdXkyN0lsTXlJIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iLXB1eTI3SWxNeUkiIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS8tcHV5MjdJbE15SS9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgNSIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy9TQnZRenN1cU53TSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9IlNCdlF6c3VxTndNIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvU0J2UXpzdXFOd00vaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDYiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvSlpNSTNHVkNOT1kiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJKWk1JM0dWQ05PWSIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL0paTUkzR1ZDTk9ZL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCA3IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+CiAgICA8c2NyaXB0PgogICAgKGZ1bmN0aW9uKCl7CiAgICAgIHZhciByb290ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmN2LXp3bjg3Jyk7CiAgICAgIGlmICghcm9vdCkgcmV0dXJuOwogICAgICB2YXIgdHJhY2sgPSByb290LnF1ZXJ5U2VsZWN0b3IoJy50cmFjaycpOwogICAgICBpZiAoIXRyYWNrKSByZXR1cm47CgogICAgICB2YXIgYXJyb3dzID0gcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuYXJyb3cnKTsKICAgICAgdmFyIEdBUCA9IDE2OwoKICAgICAgZnVuY3Rpb24gZ2V0Q2FyZFdpZHRoKCl7CiAgICAgICAgdmFyIGZpcnN0ID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcuY2FyZCcpOwogICAgICAgIGlmICghZmlyc3QpIHJldHVybiAwOwogICAgICAgIHJldHVybiBmaXJzdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gZ2V0Q2FyZHNQZXJQYWdlKCl7CiAgICAgICAgLy8gRGVzazogYXZhbnphIGRlIHVuYSBlbiB1bmEgdGFyamV0YQogICAgICAgIHJldHVybiAod2luZG93LmlubmVyV2lkdGggPD0gNzY4KSA/IDIgOiAxOwogICAgICB9CgogICAgICBhcnJvd3MuZm9yRWFjaChmdW5jdGlvbihidG4pewogICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpewogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgdmFyIGRpciA9IHRoaXMuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWZ0JykgPyAtMSA6IDE7CiAgICAgICAgICB2YXIgY2FyZFcgPSBnZXRDYXJkV2lkdGgoKTsKICAgICAgICAgIGlmICghY2FyZFcpIHJldHVybjsKICAgICAgICAgIHZhciBzdGVwID0gKGNhcmRXICsgR0FQKSAqIGdldENhcmRzUGVyUGFnZSgpICogZGlyOwogICAgICAgICAgdHJhY2suc2Nyb2xsQnkoeyBsZWZ0OiBzdGVwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgLy8gRmFkZS1pbiBhbCBlbnRyYXIgZW4gdmlld3BvcnQKICAgICAgdmFyIGlvID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpewogICAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlbil7IGlmKGVuLmlzSW50ZXJzZWN0aW5nKXsgZW4udGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2lzLWluJyk7IH0gfSk7CiAgICAgIH0sIHsgcm9vdDogdHJhY2ssIHRocmVzaG9sZDogMC4xIH0pOwogICAgICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jYXJkJykuZm9yRWFjaChmdW5jdGlvbihjKXsgaW8ub2JzZXJ2ZShjKTsgfSk7CgogICAgICAvLyBDbGljayBwZXJzaXN0ZW50ZSAoc2luIHRlYXNlciBwb3IgaG92ZXIpCiAgICAgIGZ1bmN0aW9uIG1ha2VFbWJlZFVybChpZCwgb3B0cyl7CiAgICAgICAgdmFyIHFzID0gWwogICAgICAgICAgJ2F1dG9wbGF5PScgKyAob3B0cyAmJiBvcHRzLmF1dG9wbGF5PyAnMSc6JzAnKSwKICAgICAgICAgICdwbGF5c2lubGluZT0xJywnZnM9MScsJ2l2X2xvYWRfcG9saWN5PTMnLCdzaG93aW5mbz0xJywncmVsPTAnLCdjY19sb2FkX3BvbGljeT0wJywnc3RhcnQ9MCcsCiAgICAgICAgICAnbXV0ZT0nICsgKG9wdHMgJiYgb3B0cy5tdXRlPyAnMSc6JzAnKSwKICAgICAgICAgIChvcHRzICYmIG9wdHMuY29udHJvbHM9PT0wPyAnY29udHJvbHM9MCc6J2NvbnRyb2xzPTEnKSwKICAgICAgICAgICdtb2Rlc3RicmFuZGluZz0xJywnZW5hYmxlanNhcGk9MScKICAgICAgICBdLmpvaW4oJyYnKTsKICAgICAgICByZXR1cm4gJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLycgKyBpZCArICc/JyArIHFzOwogICAgICB9CgogICAgICAvLyBDYXJnYXIgQVBJIGRlIFlvdVR1YmUgYmFqbyBkZW1hbmRhCiAgICAgIHZhciB5dEFwaVByb21pc2UgPSBudWxsOwogICAgICBmdW5jdGlvbiBlbnN1cmVZVEFwaSgpewogICAgICAgIGlmICh3aW5kb3cuWVQgJiYgd2luZG93LllULlBsYXllcikgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwogICAgICAgIGlmICh5dEFwaVByb21pc2UpIHJldHVybiB5dEFwaVByb21pc2U7CiAgICAgICAgeXRBcGlQcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSl7CiAgICAgICAgICB2YXIgcHJldkNiID0gd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5OwogICAgICAgICAgd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5ID0gZnVuY3Rpb24oKXsgaWYgKHR5cGVvZiBwcmV2Q2I9PT0nZnVuY3Rpb24nKSB7IHRyeXsgcHJldkNiKCk7IH1jYXRjaChfKXt9IH0gcmVzb2x2ZSgpOyB9OwogICAgICAgICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICAgIHMuc3JjID0gJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGknOwogICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4geXRBcGlQcm9taXNlOwogICAgICB9CgogICAgICAvLyBJbnN0YW5jaWFyIHBsYXllciBuYXRpdm8gZW4gdGFyamV0YXMgdmlzaWJsZXMgcGFyYSBxdWUgZWwgaWNvbm8gZGUgcGxheSBhcGFyZXpjYSBkZXNkZSBlbCBpbmljaW8KICAgICAgZnVuY3Rpb24gaW5pdFBsYXllckZvckNhcmQoY2FyZCl7CiAgICAgICAgaWYoIWNhcmQgfHwgY2FyZC5feXRQbGF5ZXIgfHwgY2FyZC5feXRJbml0KSByZXR1cm47CiAgICAgICAgdmFyIGlkID0gY2FyZC5nZXRBdHRyaWJ1dGUoJ2RhdGEteXQtaWQnKTsKICAgICAgICBpZighaWQpIHJldHVybjsKICAgICAgICBjYXJkLl95dEluaXQgPSB0cnVlOwogICAgICAgIHZhciBwb3N0ZXIgPSBjYXJkLnF1ZXJ5U2VsZWN0b3IoJ2ltZy50aHVtYicpOwogICAgICAgIHZhciBob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBob2xkZXIuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaG9sZGVyLnN0eWxlLmluc2V0PScwJzsgaG9sZGVyLnN0eWxlLndpZHRoPScxMDAlJzsgaG9sZGVyLnN0eWxlLmhlaWdodD0nMTAwJSc7IGhvbGRlci5zdHlsZS5iYWNrZ3JvdW5kPScjMDAwJzsKICAgICAgICBpZihwb3N0ZXIpeyBjYXJkLmluc2VydEJlZm9yZShob2xkZXIsIHBvc3Rlcik7IH0gZWxzZSB7IGNhcmQuYXBwZW5kQ2hpbGQoaG9sZGVyKTsgfQogICAgICAgIC8vIE9jdWx0YW1vcyBlbCBw83N0ZXIgY3VhbnRvIGFudGVzIHBhcmEgZGVqYXIgdmVyIGVsIG92ZXJsYXkgbmF0aXZvCiAgICAgICAgaWYocG9zdGVyKXsgcG9zdGVyLnN0eWxlLnRyYW5zaXRpb24gPSBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiB8fCAnb3BhY2l0eSAuMTVzIGVhc2UnOyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IHBvc3Rlci5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJzsgfQogICAgICAgIGVuc3VyZVlUQXBpKCkudGhlbihmdW5jdGlvbigpewogICAgICAgICAgdmFyIHBsYXllciA9IG5ldyBZVC5QbGF5ZXIoaG9sZGVyLCB7CiAgICAgICAgICAgIHZpZGVvSWQ6IGlkLAogICAgICAgICAgICBwbGF5ZXJWYXJzOiB7IGF1dG9wbGF5OjAsIGNvbnRyb2xzOjEsIHJlbDowLCBwbGF5c2lubGluZToxLCBpdl9sb2FkX3BvbGljeTozLCBtb2Rlc3RicmFuZGluZzoxLCBmczoxLCBvcmlnaW46IChsb2NhdGlvbiAmJiBsb2NhdGlvbi5vcmlnaW4pID8gbG9jYXRpb24ub3JpZ2luIDogdW5kZWZpbmVkIH0sCiAgICAgICAgICAgIGV2ZW50czogewogICAgICAgICAgICAgIG9uUmVhZHk6IGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IHBvc3Rlci5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJzsgfQogICAgICAgICAgICAgICAgLy8gRm9yemFyIHBlcm1pc29zIGRlIHBhbnRhbGxhIGNvbXBsZXRhIGVuIGVsIGlmcmFtZSBnZW5lcmFkbwogICAgICAgICAgICAgICAgdHJ5ewogICAgICAgICAgICAgICAgICB2YXIgaWZyID0gcGxheWVyLmdldElmcmFtZSAmJiBwbGF5ZXIuZ2V0SWZyYW1lKCk7CiAgICAgICAgICAgICAgICAgIGlmIChpZnIpewogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93ZnVsbHNjcmVlbicsJycpOwogICAgICAgICAgICAgICAgICAgIHZhciBjdXIgPSBpZnIuZ2V0QXR0cmlidXRlKCdhbGxvdycpIHx8ICcnOwogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93JywgKGN1ciA/IGN1ciArICc7ICcgOiAnJykgKyAnZnVsbHNjcmVlbicpOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgICAgIGNhcmQuX3l0UGxheWVyID0gcGxheWVyOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICAgIHRyeXsgY2FyZC5yZW1vdmVDaGlsZChob2xkZXIpOyB9Y2F0Y2goXyl7IH0KICAgICAgICAgIC8vIFNpIGZhbGxhIGxhIEFQSSwgZGVqYW1vcyBlbCBw83N0ZXIgaGFzdGEgaW50ZXJhY2Np824KICAgICAgICAgIGlmKHBvc3Rlcil7IHBvc3Rlci5zdHlsZS5vcGFjaXR5PScnOyBwb3N0ZXIuc3R5bGUucG9pbnRlckV2ZW50cz0nJzsgfQogICAgICAgICAgY2FyZC5feXRJbml0ID0gZmFsc2U7CiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIC8vIEluaWNpYWxpemFyIGF1dG9t4XRpY2FtZW50ZSBsb3MgcGxheWVycyBkZSBsYXMgdGFyamV0YXMgdmlzaWJsZXMgYWwgY2FyZ2FyCiAgICAgIHZhciBpbml0SU8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcyl7CiAgICAgICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVuKXsgaWYoZW4uaXNJbnRlcnNlY3RpbmcpeyBpbml0UGxheWVyRm9yQ2FyZChlbi50YXJnZXQpOyB9IH0pOwogICAgICB9LCB7IHJvb3Q6IG51bGwsIHRocmVzaG9sZDogMC4yNSB9KTsKICAgICAgcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuY2FyZCcpLmZvckVhY2goZnVuY3Rpb24oYyl7IGluaXRJTy5vYnNlcnZlKGMpOyB9KTsKCiAgICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsKICAgICAgICB2YXIgYSA9IGUudGFyZ2V0LmNsb3Nlc3QoJ2EuY2FyZFtkYXRhLXl0LWlkXScpOwogICAgICAgIGlmKCFhIHx8ICFyb290LmNvbnRhaW5zKGEpKSByZXR1cm47CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIHZhciBwb3N0ZXIgPSBhLnF1ZXJ5U2VsZWN0b3IoJ2ltZy50aHVtYicpOwogICAgICAgIC8vIHNpbiBvdmVybGF5cyBwZXJzb25hbGl6YWRvcwoKICAgICAgICAvLyBUb2dnbGUgc2kgeWEgaGF5IHBsYXllcgogICAgICAgIGlmIChhLl95dFBsYXllcil7CiAgICAgICAgICB2YXIgcCA9IGEuX3l0UGxheWVyOwogICAgICAgICAgaWYgKGEuY2xhc3NMaXN0LmNvbnRhaW5zKCdpcy1wYXVzZWQnKSl7CiAgICAgICAgICAgIHRyeXsgcC51bk11dGUoKTsgcC5zZXRWb2x1bWUoMTAwKTsgcC5wbGF5VmlkZW8oKTsgfWNhdGNoKF8peyB9CiAgICAgICAgICAgIGEuY2xhc3NMaXN0LnJlbW92ZSgnaXMtcGF1c2VkJyk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0cnl7IHAucGF1c2VWaWRlbygpOyB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgYS5jbGFzc0xpc3QuYWRkKCdpcy1wYXVzZWQnKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgc3RvcFRlYXNlcihhKTsKICAgICAgICB2YXIgaWQgPSBhLmdldEF0dHJpYnV0ZSgnZGF0YS15dC1pZCcpOwogICAgICAgIHZhciBob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBob2xkZXIuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaG9sZGVyLnN0eWxlLmluc2V0PScwJzsgaG9sZGVyLnN0eWxlLndpZHRoPScxMDAlJzsgaG9sZGVyLnN0eWxlLmhlaWdodD0nMTAwJSc7IGhvbGRlci5zdHlsZS5iYWNrZ3JvdW5kPScjMDAwJzsKICAgICAgICBpZihwb3N0ZXIpeyBhLmluc2VydEJlZm9yZShob2xkZXIsIHBvc3Rlcik7IH0gZWxzZSB7IGEuYXBwZW5kQ2hpbGQoaG9sZGVyKTsgfQoKICAgICAgICBlbnN1cmVZVEFwaSgpLnRoZW4oZnVuY3Rpb24oKXsKICAgICAgICAgIHZhciBwbGF5ZXIgPSBuZXcgWVQuUGxheWVyKGhvbGRlciwgewogICAgICAgICAgICB2aWRlb0lkOiBpZCwKICAgICAgICAgICAgcGxheWVyVmFyczogeyBhdXRvcGxheToxLCBjb250cm9sczoxLCByZWw6MCwgcGxheXNpbmxpbmU6MSwgaXZfbG9hZF9wb2xpY3k6MywgbW9kZXN0YnJhbmRpbmc6MSwgZnM6MSwgb3JpZ2luOiAobG9jYXRpb24gJiYgbG9jYXRpb24ub3JpZ2luKSA/IGxvY2F0aW9uLm9yaWdpbiA6IHVuZGVmaW5lZCB9LAogICAgICAgICAgICBldmVudHM6IHsKICAgICAgICAgICAgICBvblJlYWR5OiBmdW5jdGlvbihldil7CiAgICAgICAgICAgICAgICB0cnl7IGV2LnRhcmdldC51bk11dGUoKTsgZXYudGFyZ2V0LnNldFZvbHVtZSgxMDApOyBldi50YXJnZXQucGxheVZpZGVvKCk7IH1jYXRjaChfKXt9CiAgICAgICAgICAgICAgICAvLyBGb3J6YXIgZnVsbHNjcmVlbiBkaXNwb25pYmxlIGVuIGlmcmFtZSBJRnJhbWUgQVBJCiAgICAgICAgICAgICAgICB0cnl7CiAgICAgICAgICAgICAgICAgIHZhciBpZnIgPSBwbGF5ZXIuZ2V0SWZyYW1lICYmIHBsYXllci5nZXRJZnJhbWUoKTsKICAgICAgICAgICAgICAgICAgaWYgKGlmcil7CiAgICAgICAgICAgICAgICAgICAgaWZyLnNldEF0dHJpYnV0ZSgnYWxsb3dmdWxsc2NyZWVuJywnJyk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGN1ciA9IGlmci5nZXRBdHRyaWJ1dGUoJ2FsbG93JykgfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgaWZyLnNldEF0dHJpYnV0ZSgnYWxsb3cnLCAoY3VyID8gY3VyICsgJzsgJyA6ICcnKSArICdmdWxsc2NyZWVuJyk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH1jYXRjaChfKXsgfQogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiA9IHBvc3Rlci5zdHlsZS50cmFuc2l0aW9uIHx8ICdvcGFjaXR5IC4xNXMgZWFzZSc7IHBvc3Rlci5zdHlsZS5vcGFjaXR5PScwJzsgfQogICAgICAgICAgICAgICAgICBhLmNsYXNzTGlzdC5hZGQoJ2lzLXBsYXlpbmcnKTsKICAgICAgICAgICAgICAgICAgYS5feXRQbGF5ZXIgPSBwbGF5ZXI7CiAgICAgICAgICAgICAgICB9LCAxMDApOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICAgIC8vIEZhbGxiYWNrOiBpZnJhbWUgc2ltcGxlCiAgICAgICAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CiAgICAgICAgICBpZnJhbWUuc3JjID0gbWFrZUVtYmVkVXJsKGlkLCB7YXV0b3BsYXk6dHJ1ZSwgbXV0ZTpmYWxzZX0pOwogICAgICAgICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgnYWxsb3cnLCAnYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYTsgcGljdHVyZS1pbi1waWN0dXJlJyk7CiAgICAgICAgICBpZnJhbWUuc2V0QXR0cmlidXRlKCdhbGxvd2Z1bGxzY3JlZW4nLCAnJyk7CiAgICAgICAgICBpZnJhbWUuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaWZyYW1lLnN0eWxlLmluc2V0PScwJzsgaWZyYW1lLnN0eWxlLndpZHRoPScxMDAlJzsgaWZyYW1lLnN0eWxlLmhlaWdodD0nMTAwJSc7IGlmcmFtZS5zdHlsZS5ib3JkZXI9JzAnOyBpZnJhbWUuc3R5bGUuZGlzcGxheT0nYmxvY2snOyBpZnJhbWUuc3R5bGUuYmFja2dyb3VuZD0nIzAwMCc7CiAgICAgICAgICBob2xkZXIucmVwbGFjZVdpdGgoaWZyYW1lKTsKICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgYS5jbGFzc0xpc3QuYWRkKCdpcy1wbGF5aW5nJyk7IH0sIDE1MCk7CiAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgCiAgICB9KSgpOwogICAgPC9zY3JpcHQ+
      CiAgICA8c3R5bGU+CiAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MnKTsKCiAgICAvKiBDb250ZW5lZG9yIHByaW5jaXBhbCBsaW1pdGFkbyBhIDk2MHB4IGVuIGVzY3JpdG9yaW8gKi8KICAgIC5jdi1jM3lwMSAuc2VjdGlvbnttYXgtd2lkdGg6OTYwcHg7bWFyZ2luOjAgYXV0bzt3aWR0aDoxMDAlfQoKICAgIC5jdi1jM3lwMSAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjo4cHggMCA1MHB4fQogICAgLmN2LWMzeXAxIC5mbmQtbGluZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NXB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luLXRvcDotMjVweDtib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzN9CiAgICAuY3YtYzN5cDEgLnNlY3Rpb24tdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjRweCAxM3B4O2JvcmRlcjoxcHggc29saWQgIzMzMztmb250LXNpemU6NDJweDt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyl9CgogICAgLmN2LWMzeXAxIC5jYXJvdXNlbHstLWdhcDoxNnB4Oy0tcGVlazoxMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tZ2FwKTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206NnB4fQogICAgLmN2LWMzeXAxIC50cmFja3tkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLWdhcCk7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnk7c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtwYWRkaW5nLXJpZ2h0OjB9CiAgICAuY3YtYzN5cDEgLnRyYWNrOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9CiAgICAuY3YtYzN5cDEgLmNhcmR7cG9zaXRpb246cmVsYXRpdmU7ZmxleDowIDAgYXV0bztzY3JvbGwtc25hcC1hbGlnbjpzdGFydDt3aWR0aDpjYWxjKCgxMDAlIC0gMip2YXIoLS1nYXApIC0gdmFyKC0tcGVlaykpLzMpO2FzcGVjdC1yYXRpbzo5LzE2O2JvcmRlci1yYWRpdXM6MTBweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDojMDAwO29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgZWFzZSwgdHJhbnNmb3JtIC40cyBlYXNlfQogICAgLmN2LWMzeXAxIC5jYXJkLmlzLWlue29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX0KCiAgICAuY3YtYzN5cDEgLnRodW1ie3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zNXMgZWFzZSwgb3BhY2l0eSAuMjVzIGVhc2U7dHJhbnNmb3JtOnNjYWxlKDEuMDEpfQogICAgLmN2LWMzeXAxIC5jYXJkOmhvdmVyIC50aHVtYiwuY3YtYzN5cDEgLmNhcmQ6Zm9jdXMtdmlzaWJsZSAudGh1bWJ7dHJhbnNmb3JtOnNjYWxlKDEuMDYpfQogICAgLyogU2luIG92ZXJsYXlzIHBlcnNvbmFsaXphZG9zOiBzZSB1c2FuIGNvbnRyb2xlcyBuYXRpdm9zIGRlbCBwbGF5ZXIgKi8KCiAgICAuY3YtYzN5cDEgLmFye3Bvc2l0aW9uOnJlbGF0aXZlfQogICAgLmN2LWMzeXAxIC5hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDpyZ2IoMjU1IDI1NSAyNTUgLyAyMCUpO2JveC1zaGFkb3c6MCA2cHggMTZweCByZ2IoMCAwIDAgLyAyMCUpO2JvcmRlcjoxcHggc29saWQgI2ZmZjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoyO3RyYW5zaXRpb246LjNzfQogICAgLmN2LWMzeXAxIC5hcnJvdzpob3ZlcntiYWNrZ3JvdW5kOnJnYigwIDAgMCAvIDIwJSk7Ym9yZGVyOjFweCBzb2xpZCAjZmZmfQogICAgLmN2LWMzeXAxIC5hcnJvdzpmb2N1c3tiYWNrZ3JvdW5kOnJnYigyNTUgMjU1IDI1NSAvIDIwJSl9CiAgICAuY3YtYzN5cDEgLmFycm93IHN2Z3t3aWR0aDoyMHB4O2hlaWdodDoyMHB4fQogICAgLmN2LWMzeXAxIC5hcnJvdy5sZWZ0e2xlZnQ6MTBweH0KICAgIC5jdi1jM3lwMSAuYXJyb3cucmlnaHR7cmlnaHQ6MTBweH0KCiAgICBAbWVkaWEgKG1heC13aWR0aDo3NjhweCl7CiAgICAgIC8qIEVuIG3zdmlsLCBlbCBjb250ZW5lZG9yIG9jdXBhIHRvZG8gZWwgYW5jaG8gKi8KICAgICAgLmN2LWMzeXAxIC5zZWN0aW9ue21heC13aWR0aDoxMDAlfQogICAgICAuY3YtYzN5cDEgLnNlY3Rpb24tdGl0bGV7Zm9udC1zaXplOjI3cHg7cGFkZGluZzoycHggOHB4O3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKX0KICAgICAgLmN2LWMzeXAxIC5jYXJvdXNlbHstLXBlZWs6MTIlfQogICAgICAvKiAyIHRhcmpldGFzIGNvbXBsZXRhcyArIHVuIHBlZWsgZGUgbGEgM6ogKi8KICAgICAgLmN2LWMzeXAxIC5jYXJke3dpZHRoOmNhbGMoKDEwMCUgLSA0KnZhcigtLWdhcCkgLSB2YXIoLS1wZWVrKSkvMSl9CiAgICAgIC5jdi1jM3lwMSAuYXJyb3d7ZGlzcGxheTpub25lICFpbXBvcnRhbnR9CiAgICAgIC5jdi1jM3lwMSAudHJhY2t7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3BhZGRpbmctcmlnaHQ6MH0KICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iY3YtYzN5cDEiPgogICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiIgYXJpYS1sYWJlbD0iQ2FycnVzZWwgZGUgdu1kZW9zIChTaG9ydHMpIj4KICAgICAgICA8ZGl2IGNsYXNzPSJiZy1zZWN0aW9uLXRpdGxlIj4KICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TG9zICdzaG9ydHMnIGRlIE9LRElBUklPPC9oMj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbmQtbGluZWEiPjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhciIgcm9sZT0icmVnaW9uIiBhcmlhLWxhYmVsPSJMaXN0YWRvIGRlIHbtZGVvcyI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhcnJvdyBsZWZ0IiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IkFudGVyaW9yIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48cGF0aCBkPSJNMTUgNmwtNiA2IDYgNiIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhcnJvdyByaWdodCIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJTaWd1aWVudGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik05IDE4bDYtNi02LTYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmFjayIgcm9sZT0ibGlzdCI+CgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvRFJycXBrSldQakkiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJEUnJxcGtKV1BqSSIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL0RScnFwa0pXUGpJL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCAxIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzL09QdzBnWXhVNE9JIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iT1B3MGdZeFU0T0kiIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9PUHcwZ1l4VTRPSS9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgMiIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy9qS0NJaG9ON281TSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9ImpLQ0lob043bzVNIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvaktDSWhvTjdvNU0vaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDMiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvdk9qMldaR0pCY28iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJ2T2oyV1pHSkJjbyIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL3ZPajJXWkdKQmNvL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCA0IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzLy1wdXkyN0lsTXlJIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iLXB1eTI3SWxNeUkiIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS8tcHV5MjdJbE15SS9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgNSIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy9TQnZRenN1cU53TSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9IlNCdlF6c3VxTndNIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvU0J2UXpzdXFOd00vaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDYiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvSlpNSTNHVkNOT1kiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJKWk1JM0dWQ05PWSIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL0paTUkzR1ZDTk9ZL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCA3IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+CiAgICA8c2NyaXB0PgogICAgKGZ1bmN0aW9uKCl7CiAgICAgIHZhciByb290ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmN2LWMzeXAxJyk7CiAgICAgIGlmICghcm9vdCkgcmV0dXJuOwogICAgICB2YXIgdHJhY2sgPSByb290LnF1ZXJ5U2VsZWN0b3IoJy50cmFjaycpOwogICAgICBpZiAoIXRyYWNrKSByZXR1cm47CgogICAgICB2YXIgYXJyb3dzID0gcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuYXJyb3cnKTsKICAgICAgdmFyIEdBUCA9IDE2OwoKICAgICAgZnVuY3Rpb24gZ2V0Q2FyZFdpZHRoKCl7CiAgICAgICAgdmFyIGZpcnN0ID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcuY2FyZCcpOwogICAgICAgIGlmICghZmlyc3QpIHJldHVybiAwOwogICAgICAgIHJldHVybiBmaXJzdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gZ2V0Q2FyZHNQZXJQYWdlKCl7CiAgICAgICAgLy8gRGVzazogYXZhbnphIGRlIHVuYSBlbiB1bmEgdGFyamV0YQogICAgICAgIHJldHVybiAod2luZG93LmlubmVyV2lkdGggPD0gNzY4KSA/IDIgOiAxOwogICAgICB9CgogICAgICBhcnJvd3MuZm9yRWFjaChmdW5jdGlvbihidG4pewogICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpewogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgdmFyIGRpciA9IHRoaXMuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWZ0JykgPyAtMSA6IDE7CiAgICAgICAgICB2YXIgY2FyZFcgPSBnZXRDYXJkV2lkdGgoKTsKICAgICAgICAgIGlmICghY2FyZFcpIHJldHVybjsKICAgICAgICAgIHZhciBzdGVwID0gKGNhcmRXICsgR0FQKSAqIGdldENhcmRzUGVyUGFnZSgpICogZGlyOwogICAgICAgICAgdHJhY2suc2Nyb2xsQnkoeyBsZWZ0OiBzdGVwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgLy8gRmFkZS1pbiBhbCBlbnRyYXIgZW4gdmlld3BvcnQKICAgICAgdmFyIGlvID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpewogICAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlbil7IGlmKGVuLmlzSW50ZXJzZWN0aW5nKXsgZW4udGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2lzLWluJyk7IH0gfSk7CiAgICAgIH0sIHsgcm9vdDogdHJhY2ssIHRocmVzaG9sZDogMC4xIH0pOwogICAgICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jYXJkJykuZm9yRWFjaChmdW5jdGlvbihjKXsgaW8ub2JzZXJ2ZShjKTsgfSk7CgogICAgICAvLyBDbGljayBwZXJzaXN0ZW50ZSAoc2luIHRlYXNlciBwb3IgaG92ZXIpCiAgICAgIGZ1bmN0aW9uIG1ha2VFbWJlZFVybChpZCwgb3B0cyl7CiAgICAgICAgdmFyIHFzID0gWwogICAgICAgICAgJ2F1dG9wbGF5PScgKyAob3B0cyAmJiBvcHRzLmF1dG9wbGF5PyAnMSc6JzAnKSwKICAgICAgICAgICdwbGF5c2lubGluZT0xJywnZnM9MScsJ2l2X2xvYWRfcG9saWN5PTMnLCdzaG93aW5mbz0xJywncmVsPTAnLCdjY19sb2FkX3BvbGljeT0wJywnc3RhcnQ9MCcsCiAgICAgICAgICAnbXV0ZT0nICsgKG9wdHMgJiYgb3B0cy5tdXRlPyAnMSc6JzAnKSwKICAgICAgICAgIChvcHRzICYmIG9wdHMuY29udHJvbHM9PT0wPyAnY29udHJvbHM9MCc6J2NvbnRyb2xzPTEnKSwKICAgICAgICAgICdtb2Rlc3RicmFuZGluZz0xJywnZW5hYmxlanNhcGk9MScKICAgICAgICBdLmpvaW4oJyYnKTsKICAgICAgICByZXR1cm4gJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLycgKyBpZCArICc/JyArIHFzOwogICAgICB9CgogICAgICAvLyBDYXJnYXIgQVBJIGRlIFlvdVR1YmUgYmFqbyBkZW1hbmRhCiAgICAgIHZhciB5dEFwaVByb21pc2UgPSBudWxsOwogICAgICBmdW5jdGlvbiBlbnN1cmVZVEFwaSgpewogICAgICAgIGlmICh3aW5kb3cuWVQgJiYgd2luZG93LllULlBsYXllcikgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwogICAgICAgIGlmICh5dEFwaVByb21pc2UpIHJldHVybiB5dEFwaVByb21pc2U7CiAgICAgICAgeXRBcGlQcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSl7CiAgICAgICAgICB2YXIgcHJldkNiID0gd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5OwogICAgICAgICAgd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5ID0gZnVuY3Rpb24oKXsgaWYgKHR5cGVvZiBwcmV2Q2I9PT0nZnVuY3Rpb24nKSB7IHRyeXsgcHJldkNiKCk7IH1jYXRjaChfKXt9IH0gcmVzb2x2ZSgpOyB9OwogICAgICAgICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICAgIHMuc3JjID0gJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGknOwogICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4geXRBcGlQcm9taXNlOwogICAgICB9CgogICAgICAvLyBJbnN0YW5jaWFyIHBsYXllciBuYXRpdm8gZW4gdGFyamV0YXMgdmlzaWJsZXMgcGFyYSBxdWUgZWwgaWNvbm8gZGUgcGxheSBhcGFyZXpjYSBkZXNkZSBlbCBpbmljaW8KICAgICAgZnVuY3Rpb24gaW5pdFBsYXllckZvckNhcmQoY2FyZCl7CiAgICAgICAgaWYoIWNhcmQgfHwgY2FyZC5feXRQbGF5ZXIgfHwgY2FyZC5feXRJbml0KSByZXR1cm47CiAgICAgICAgdmFyIGlkID0gY2FyZC5nZXRBdHRyaWJ1dGUoJ2RhdGEteXQtaWQnKTsKICAgICAgICBpZighaWQpIHJldHVybjsKICAgICAgICBjYXJkLl95dEluaXQgPSB0cnVlOwogICAgICAgIHZhciBwb3N0ZXIgPSBjYXJkLnF1ZXJ5U2VsZWN0b3IoJ2ltZy50aHVtYicpOwogICAgICAgIHZhciBob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBob2xkZXIuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaG9sZGVyLnN0eWxlLmluc2V0PScwJzsgaG9sZGVyLnN0eWxlLndpZHRoPScxMDAlJzsgaG9sZGVyLnN0eWxlLmhlaWdodD0nMTAwJSc7IGhvbGRlci5zdHlsZS5iYWNrZ3JvdW5kPScjMDAwJzsKICAgICAgICBpZihwb3N0ZXIpeyBjYXJkLmluc2VydEJlZm9yZShob2xkZXIsIHBvc3Rlcik7IH0gZWxzZSB7IGNhcmQuYXBwZW5kQ2hpbGQoaG9sZGVyKTsgfQogICAgICAgIC8vIE9jdWx0YW1vcyBlbCBw83N0ZXIgY3VhbnRvIGFudGVzIHBhcmEgZGVqYXIgdmVyIGVsIG92ZXJsYXkgbmF0aXZvCiAgICAgICAgaWYocG9zdGVyKXsgcG9zdGVyLnN0eWxlLnRyYW5zaXRpb24gPSBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiB8fCAnb3BhY2l0eSAuMTVzIGVhc2UnOyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IHBvc3Rlci5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJzsgfQogICAgICAgIGVuc3VyZVlUQXBpKCkudGhlbihmdW5jdGlvbigpewogICAgICAgICAgdmFyIHBsYXllciA9IG5ldyBZVC5QbGF5ZXIoaG9sZGVyLCB7CiAgICAgICAgICAgIHZpZGVvSWQ6IGlkLAogICAgICAgICAgICBwbGF5ZXJWYXJzOiB7IGF1dG9wbGF5OjAsIGNvbnRyb2xzOjEsIHJlbDowLCBwbGF5c2lubGluZToxLCBpdl9sb2FkX3BvbGljeTozLCBtb2Rlc3RicmFuZGluZzoxLCBmczoxLCBvcmlnaW46IChsb2NhdGlvbiAmJiBsb2NhdGlvbi5vcmlnaW4pID8gbG9jYXRpb24ub3JpZ2luIDogdW5kZWZpbmVkIH0sCiAgICAgICAgICAgIGV2ZW50czogewogICAgICAgICAgICAgIG9uUmVhZHk6IGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IHBvc3Rlci5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJzsgfQogICAgICAgICAgICAgICAgLy8gRm9yemFyIHBlcm1pc29zIGRlIHBhbnRhbGxhIGNvbXBsZXRhIGVuIGVsIGlmcmFtZSBnZW5lcmFkbwogICAgICAgICAgICAgICAgdHJ5ewogICAgICAgICAgICAgICAgICB2YXIgaWZyID0gcGxheWVyLmdldElmcmFtZSAmJiBwbGF5ZXIuZ2V0SWZyYW1lKCk7CiAgICAgICAgICAgICAgICAgIGlmIChpZnIpewogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93ZnVsbHNjcmVlbicsJycpOwogICAgICAgICAgICAgICAgICAgIHZhciBjdXIgPSBpZnIuZ2V0QXR0cmlidXRlKCdhbGxvdycpIHx8ICcnOwogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93JywgKGN1ciA/IGN1ciArICc7ICcgOiAnJykgKyAnZnVsbHNjcmVlbicpOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgICAgIGNhcmQuX3l0UGxheWVyID0gcGxheWVyOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICAgIHRyeXsgY2FyZC5yZW1vdmVDaGlsZChob2xkZXIpOyB9Y2F0Y2goXyl7IH0KICAgICAgICAgIC8vIFNpIGZhbGxhIGxhIEFQSSwgZGVqYW1vcyBlbCBw83N0ZXIgaGFzdGEgaW50ZXJhY2Np824KICAgICAgICAgIGlmKHBvc3Rlcil7IHBvc3Rlci5zdHlsZS5vcGFjaXR5PScnOyBwb3N0ZXIuc3R5bGUucG9pbnRlckV2ZW50cz0nJzsgfQogICAgICAgICAgY2FyZC5feXRJbml0ID0gZmFsc2U7CiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIC8vIEluaWNpYWxpemFyIGF1dG9t4XRpY2FtZW50ZSBsb3MgcGxheWVycyBkZSBsYXMgdGFyamV0YXMgdmlzaWJsZXMgYWwgY2FyZ2FyCiAgICAgIHZhciBpbml0SU8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcyl7CiAgICAgICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVuKXsgaWYoZW4uaXNJbnRlcnNlY3RpbmcpeyBpbml0UGxheWVyRm9yQ2FyZChlbi50YXJnZXQpOyB9IH0pOwogICAgICB9LCB7IHJvb3Q6IG51bGwsIHRocmVzaG9sZDogMC4yNSB9KTsKICAgICAgcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuY2FyZCcpLmZvckVhY2goZnVuY3Rpb24oYyl7IGluaXRJTy5vYnNlcnZlKGMpOyB9KTsKCiAgICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsKICAgICAgICB2YXIgYSA9IGUudGFyZ2V0LmNsb3Nlc3QoJ2EuY2FyZFtkYXRhLXl0LWlkXScpOwogICAgICAgIGlmKCFhIHx8ICFyb290LmNvbnRhaW5zKGEpKSByZXR1cm47CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIHZhciBwb3N0ZXIgPSBhLnF1ZXJ5U2VsZWN0b3IoJ2ltZy50aHVtYicpOwogICAgICAgIC8vIHNpbiBvdmVybGF5cyBwZXJzb25hbGl6YWRvcwoKICAgICAgICAvLyBUb2dnbGUgc2kgeWEgaGF5IHBsYXllcgogICAgICAgIGlmIChhLl95dFBsYXllcil7CiAgICAgICAgICB2YXIgcCA9IGEuX3l0UGxheWVyOwogICAgICAgICAgaWYgKGEuY2xhc3NMaXN0LmNvbnRhaW5zKCdpcy1wYXVzZWQnKSl7CiAgICAgICAgICAgIHRyeXsgcC51bk11dGUoKTsgcC5zZXRWb2x1bWUoMTAwKTsgcC5wbGF5VmlkZW8oKTsgfWNhdGNoKF8peyB9CiAgICAgICAgICAgIGEuY2xhc3NMaXN0LnJlbW92ZSgnaXMtcGF1c2VkJyk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0cnl7IHAucGF1c2VWaWRlbygpOyB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgYS5jbGFzc0xpc3QuYWRkKCdpcy1wYXVzZWQnKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgc3RvcFRlYXNlcihhKTsKICAgICAgICB2YXIgaWQgPSBhLmdldEF0dHJpYnV0ZSgnZGF0YS15dC1pZCcpOwogICAgICAgIHZhciBob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBob2xkZXIuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaG9sZGVyLnN0eWxlLmluc2V0PScwJzsgaG9sZGVyLnN0eWxlLndpZHRoPScxMDAlJzsgaG9sZGVyLnN0eWxlLmhlaWdodD0nMTAwJSc7IGhvbGRlci5zdHlsZS5iYWNrZ3JvdW5kPScjMDAwJzsKICAgICAgICBpZihwb3N0ZXIpeyBhLmluc2VydEJlZm9yZShob2xkZXIsIHBvc3Rlcik7IH0gZWxzZSB7IGEuYXBwZW5kQ2hpbGQoaG9sZGVyKTsgfQoKICAgICAgICBlbnN1cmVZVEFwaSgpLnRoZW4oZnVuY3Rpb24oKXsKICAgICAgICAgIHZhciBwbGF5ZXIgPSBuZXcgWVQuUGxheWVyKGhvbGRlciwgewogICAgICAgICAgICB2aWRlb0lkOiBpZCwKICAgICAgICAgICAgcGxheWVyVmFyczogeyBhdXRvcGxheToxLCBjb250cm9sczoxLCByZWw6MCwgcGxheXNpbmxpbmU6MSwgaXZfbG9hZF9wb2xpY3k6MywgbW9kZXN0YnJhbmRpbmc6MSwgZnM6MSwgb3JpZ2luOiAobG9jYXRpb24gJiYgbG9jYXRpb24ub3JpZ2luKSA/IGxvY2F0aW9uLm9yaWdpbiA6IHVuZGVmaW5lZCB9LAogICAgICAgICAgICBldmVudHM6IHsKICAgICAgICAgICAgICBvblJlYWR5OiBmdW5jdGlvbihldil7CiAgICAgICAgICAgICAgICB0cnl7IGV2LnRhcmdldC51bk11dGUoKTsgZXYudGFyZ2V0LnNldFZvbHVtZSgxMDApOyBldi50YXJnZXQucGxheVZpZGVvKCk7IH1jYXRjaChfKXt9CiAgICAgICAgICAgICAgICAvLyBGb3J6YXIgZnVsbHNjcmVlbiBkaXNwb25pYmxlIGVuIGlmcmFtZSBJRnJhbWUgQVBJCiAgICAgICAgICAgICAgICB0cnl7CiAgICAgICAgICAgICAgICAgIHZhciBpZnIgPSBwbGF5ZXIuZ2V0SWZyYW1lICYmIHBsYXllci5nZXRJZnJhbWUoKTsKICAgICAgICAgICAgICAgICAgaWYgKGlmcil7CiAgICAgICAgICAgICAgICAgICAgaWZyLnNldEF0dHJpYnV0ZSgnYWxsb3dmdWxsc2NyZWVuJywnJyk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGN1ciA9IGlmci5nZXRBdHRyaWJ1dGUoJ2FsbG93JykgfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgaWZyLnNldEF0dHJpYnV0ZSgnYWxsb3cnLCAoY3VyID8gY3VyICsgJzsgJyA6ICcnKSArICdmdWxsc2NyZWVuJyk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH1jYXRjaChfKXsgfQogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiA9IHBvc3Rlci5zdHlsZS50cmFuc2l0aW9uIHx8ICdvcGFjaXR5IC4xNXMgZWFzZSc7IHBvc3Rlci5zdHlsZS5vcGFjaXR5PScwJzsgfQogICAgICAgICAgICAgICAgICBhLmNsYXNzTGlzdC5hZGQoJ2lzLXBsYXlpbmcnKTsKICAgICAgICAgICAgICAgICAgYS5feXRQbGF5ZXIgPSBwbGF5ZXI7CiAgICAgICAgICAgICAgICB9LCAxMDApOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICAgIC8vIEZhbGxiYWNrOiBpZnJhbWUgc2ltcGxlCiAgICAgICAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CiAgICAgICAgICBpZnJhbWUuc3JjID0gbWFrZUVtYmVkVXJsKGlkLCB7YXV0b3BsYXk6dHJ1ZSwgbXV0ZTpmYWxzZX0pOwogICAgICAgICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgnYWxsb3cnLCAnYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYTsgcGljdHVyZS1pbi1waWN0dXJlJyk7CiAgICAgICAgICBpZnJhbWUuc2V0QXR0cmlidXRlKCdhbGxvd2Z1bGxzY3JlZW4nLCAnJyk7CiAgICAgICAgICBpZnJhbWUuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaWZyYW1lLnN0eWxlLmluc2V0PScwJzsgaWZyYW1lLnN0eWxlLndpZHRoPScxMDAlJzsgaWZyYW1lLnN0eWxlLmhlaWdodD0nMTAwJSc7IGlmcmFtZS5zdHlsZS5ib3JkZXI9JzAnOyBpZnJhbWUuc3R5bGUuZGlzcGxheT0nYmxvY2snOyBpZnJhbWUuc3R5bGUuYmFja2dyb3VuZD0nIzAwMCc7CiAgICAgICAgICBob2xkZXIucmVwbGFjZVdpdGgoaWZyYW1lKTsKICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgYS5jbGFzc0xpc3QuYWRkKCdpcy1wbGF5aW5nJyk7IH0sIDE1MCk7CiAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgCiAgICB9KSgpOwogICAgPC9zY3JpcHQ+
    • El Papa León XIV sigue mejorando después de la operación: Pasó una buena noche en el hospital, se levantó y desayunó
        • Internacional
        • Internacional

      El Papa León XIV sigue mejorando después de la operación: "Pasó una buena noche en el hospital, se levantó y desayunó"

      El Papa ha pasado una buena segunda noche en el Hospital Gemelli después de que le extirparan el lóbulo inferior del pulmón derecho el martes. Según informa la Oficina de Prensa de la Santa Sede, ha dormido bien y ha llegado a desayunar.
      • Toni Sanjuan
      • 2026-10-15 14:07
    • Montse Buitrez
    • Título
        • Categoria
        • navarra

      Le dan una paliza a un hombre en Navarra por llevar una gorra con la bandera de españa: iba con su mujer y un bebé

      • iranzu larrasoaña
    • La Fiscalía pide 8 años de cárcel para la mujer acusada de encerrar a una vecina y quemarle la vagina por celos
        • España
        • España

      La Fiscalía pide 8 años de cárcel para la mujer acusada de encerrar a una vecina y quemarle la vagina por celos

      • Ángel Moya
      • 2026-10-15 14:35
    • Los Mossos encuentran en Sitges el cuerpo de Rami, el niño de 12 años con autismo que desapareció en Granollers
        • Sucesos
        • Sucesos

      Los Mossos encuentran el cuerpo de Rami, el niño de 12 años que desapareció en Granollers

      • Alejandro Arias
      • 2026-10-15 11:40
    • Antes lo usabas para transferir dinero a tus amigos, y desde ahora también  para pagar en el comercio físico
    • Mueren dos ancianos y cuatro permanecen heridos tras el desplome de un ascensor en una residencia en Vélez-Málaga
        • Sucesos
        • Sucesos

      Mueren dos ancianos tras el desplome de un ascensor en una residencia en Vélez-Málaga

      • Mario Pérez
      • 2026-10-15 10:50
    • Detenido el pirómano de Rivas-Vaciamadrid por incendiar 31 contenedores, coches y portales de sus vecinos
        • Sucesos
        • Sucesos

      Detenido el pirómano de RivaS por incendiar 31 contenedores, coches y portales de sus vecinos

      • Ángel Moya
      • 2026-10-15 12:34
    • Un camión pierde su carga de estiércol en plena AP-7 y provoca el caos en plena hora punta
        • Sucesos
        • Sucesos

      Un camión pierde su carga de estiércol en plena AP-7 y provoca el caos en plena hora punta

      • Toni Sanjuan
      • 2026-10-15 12:10
    • Más interés que conocimientos: el reto financiero de los jóvenes españoles
    • Mesonero-Romanos (Alfa Romeo): No intento satisfacer a todo el mundo, prefiero enamorar mucho a unos pocos
        • Motor
        • Motor

      Mesonero-Romanos (Alfa Romeo): "No intento satisfacer a todos, prefiero enamorar mucho a unos pocos"

      • M. Villardón
      • 2026-10-15 07:00
    • Así es el Alfa Romeo Cuorerosso: volver a lo esencial para marcar el futuro de una nueva era
        • Motor
        • Motor

      Así es el Alfa Romeo Cuorerosso: volver a lo esencial para marcar el futuro de una nueva era

      • M. Villardón
      • 2026-10-15 07:00
    • Transición sostenible, competitividad y agua: la V Jornada OKGREEN reúne en Madrid a empresas e instituciones
    • El Gobierno vasco aboca a su sanidad a la huelga: 17 años sin renovar el acuerdo y sin mejoras salariales
        • OkSalud
        • OkSalud

      El Gobierno vasco aboca a su sanidad a la huelga: 17 años sin renovar el acuerdo y sin mejoras salariales

      • Diego Buenosvinos
      • 2026-10-15 12:28
    • Ofertas flash de Amazon del día, en directo: productos rebajados, chollos activos, descuentos y última hora de las ofertas de hoy
        • Sociedad
        • Sociedad
      • EN DIRECTO

      Ofertas flash de Amazon del día, en directo: productos rebajados, chollos activos, descuentos y última hora de las ofertas de hoy

      • OKDIARIO
      • 2026-10-15 09:13
    • Alberto Fuentes (Ferroglobe): El coste del sistema eléctrico no puede ser una caja oscura que sólo controle Redeia
        • Economía
        • Economía

      Alberto Fuentes (Ferroglobe): "El coste del sistema eléctrico no puede ser una caja oscura que sólo controle Redeia"

      La industria electrointensiva necesita energía asequible para ser competitiva. Sin estabilidad eléctrica, este sector generador de riqueza y empleos de calidad para España y Europa, está abocado a desaparecer. Este es uno de los mensajes que más han repetido los protagonistas del desayuno informativo de OKDIARIO Materiales críticos y la importancia de blindar la cadena de suministro, celebrado este miércoles con Carola Hermoso, directora general de UNESID; Alberto Fuentes, director general de Operaciones de Ferroglobe en España, Argentina, Noruega y Latinoamérica, y Macarena Gutiérrez, consejera delegada de Atlantic Copper.
      • Alba Martín
      • 2026-10-14 12:01
    • Sánchez saca a pasear la momia del PSOE guerracivilista
    • Myriam Gimeno, CEO de Nealis, ganadora nacional de la 10.ª edición del CaixaBank Premio Empresaria
    • Los
        • OkBaleares
        • OkBaleares

      Los 'mejores amigos' de Koldo en Baleares encabezarán la lista del PSOE para el 29-N: Armengol y Marc Pons

      La presidenta del Congreso de los Diputados, Francina Armengol, y el portavoz adjunto del PSOE en el Parlament balear, Marc Pons, estarán en los puestos de salida de la lista socialista al Congreso en las elecciones del 29-N. 
      • Tomas Ibarz
      • 2026-10-15 13:51
    • El TSJ valenciano inadmite la querella contra Pérez Llorca por las entradas para la final del Mundial de fútbol
        • España
        • España

      El TSJ valenciano inadmite la querella contra Pérez Llorca por las entradas para la final del Mundial de fútbol

      • Ignacio Martínez
      • VALENCIA
      • 2026-10-15 15:35
    • Palma recupera las instalaciones deportivas de s
    • El 29-N saldremos a votar, ganaremos y los echaremos
    • La alcaldesa socialista de Alcalá de Guadaíra (Sevilla) no ha construido ninguna VPO en toda la legislatura
        • España
        • España

      La alcaldesa socialista de Alcalá de Guadaíra (Sevilla) no ha construido ninguna VPO en toda la legislatura

      • Ezequiel Marín
      • 2026-10-15 16:37
    • Sánchez premia con el Congreso al alcalde dos meses después del robo del tesoro de Villena de valor incalculable
        • España
        • España

      Sánchez premia con el Congreso al alcalde dos meses después del robo del tesoro de Villena de valor incalculable

      • Ignacio Martínez
      • ALICANTE
      • 2026-10-15 13:42
    • El partido de Oltra propone como 1 de Compromís al Congreso al diputado que desató su odio contra la portavoz del PP
        • España
        • España

      El partido de Oltra propone como 1 de Compromís al Congreso al diputado que desató su odio contra la portavoz del PP

      • Ignacio Martínez
      • VALENCIA
      • 2026-10-15 12:28
    • Y Sánchez convocó elecciones: ¿qué se está gestando?
    • “Para hablar de futuro es importante saber de dónde venimos”:
    • si te lo perdiste...

    • La reflexión de Manolo Escobar sobre la importancia de disfrutar: La muerte no me va a agobiar la vida
        • Curiosidades
        • Curiosidades

      Manolo Escobar sobre la importancia de disfrutar: "La muerte no me va a agobiar la vida"

      • Fernando Larruscain
      • 2026-10-15 12:24
    • Los zoólogos no dan crédito: un centro de rescate de animales en EEUU encuentra una tortuga acuática de dos cabezas
        • Naturaleza
        • Naturaleza

      un centro de rescate de animales en EEUU encuentra una tortuga acuática de dos cabezas

      • Naiara Philpotts
      • 2026-10-15 12:30
    • El BOE confirma el festivo del 2 de noviembre sólo en estas comunidades: habrá puente por el Día de Todos los Santos
        • Economía
        • Economía

      El BOE confirma el festivo del 2 de noviembre sólo en estas comunidades: habrá puente por el Día de Todos los Santos

      El calendario laboral de 2026 deja una oportunidad para alargar el descanso a comienzos de noviembre, pero no será igual en toda España. El Día de Todos los Santos, que se celebra cada 1 de noviembre, cae este año en domingo, por lo que algunas comunidades autónomas han trasladado la festividad al lunes siguiente.
      • Aitana Pascual
      • 2026-10-15 10:00
    • La reflexión de Ernest Hemingway sobre España que sigue inspirando: Si el pueblo español tiene algún rasgo común es el orgullo y si tiene otro es el sentido común
        • Curiosidades
        • Curiosidades

      La reflexión de Ernest Hemingway sobre España: "Si el tiene algún rasgo común es el orgullo"

      • Janire Manzanas
      • 2026-10-15 11:30
    • Confirmado: la tuneladora Granite Janet, de 255 toneladas, ya excava bajo Manchester un túnel de 3,6 kilómetros para reducir los vertidos de aguas residuales al río Merrimack
        • Techy
        • Techy

      a tuneladora Granite Janet, de 255 toneladas, ya excava bajo Manchester un túnel de 3,6 kms

      • Adrián Villellas
      • 2026-10-15 12:36
    • La poderosa reflexión de Tom Hanks (70 años) sobre el destino: No sé si todos tenemos un destino, o si estamos flotando casualmente como en una nube; pero yo creo que pueden ser ambas
        • Curiosidades
        • Curiosidades

      Tom Hanks: "No sé si todos tenemos un destino, o si estamos flotando casualmente como en una nube"

      • Elena García
      • 2026-10-15 12:43
    • La reflexión de
        • Curiosidades
        • Curiosidades

      La reflexión de 'El Principito': "se enamoró de sus flores y no de sus raíces, y en otoño ya no supo..."

      • Elena García
      • 2026-10-15 12:43
    • Arnold Schwarzenegger (79 años): Para entrenar no necesitas 15 ejercicios ni 90 minutos sino unos pocos movimientos
        • Curiosidades
        • Curiosidades

      Schwarzenegger: "Para entrenar no necesitas 15 ejercicios ni 90 minutos sino pocos movimientos"

      • Fernando Larruscain
      • 2026-10-15 13:05
    • Viktor Frankl, psiquiatra y superviviente de Auschwitz: Aquellos que tienen un por qué para vivir pueden soportar casi cualquier cómo
        • Curiosidades
        • Curiosidades

      Viktor Frankl, psiquiatra: "los que tienen un por qué para vivir pueden soportar cualquier cómo"

      • Aitana Pascual
      • 2026-10-15 13:00
    • Los OK y KO del jueves, 15 de octubre de 2026
    • Diario Madridista

    • La rebeldía del
    • Del Madrid inmortal al desastre de Roma: Europa se rinde a otra remontada blanca
        • Real Madrid
        • Real Madrid

      Del "Madrid inmortal" al "desastre" de Roma: Europa se rinde a otra remontada blanca

      El Real Madrid volvió a dejar una noche europea difícil de explicar. El equipo de José Mourinho perdía 3-1 en el Olímpico y caminaba hacia una derrota que habría abierto otro debate sobre su fútbol. Sin embargo, Carlos Espí, Endrick y Rüdiger transformaron el partido en ocho minutos. La prensa recoge las dos caras de ese 3-4: el desastre que amenazaba al Madrid y la reacción que hundió a la Roma.
      • Iván Martín
      • Enviado especial
      • ROMA
      • 2026-10-15 07:59
    • Drama en el centro del campo del Real Madrid: Courtois completó más pases que Valverde y Tchouaméni en la primera parte
        • Real Madrid
        • Real Madrid

      Drama en el centro del campo: Courtois completó más pases que Valverde y Tchouaméni en la primera parte

      • Hugo Carrasco
      • 2026-10-15 05:45
    • La Liga denuncia insultos contra Vinicus... ¡en el Real Sociedad-Deportivo!
        • Real Madrid
        • Real Madrid

      La Liga denuncia insultos contra Vinicus... ¡en el Real Sociedad-Deportivo!

      • Hugo Carrasco
      • 2026-10-15 14:37
    • Sale a la luz la reacción de Mourinho tras el tacón de Vinicius en el segundo gol de la Roma
        • Real Madrid
        • Real Madrid

      Sale a la luz la reacción de Mourinho tras el tacón de Vinicius en el segundo gol de la Roma

      • Pedro Antolinos
      • 2026-10-15 09:14
    • Cañizares aplaude a Bellingham y Valverde: Han corrido más en esos 20 minutos que en todo el partido
        • Real Madrid
        • Real Madrid

      Cañizares aplaude a Bellingham y Valverde: "Han corrido más en 20 minutos que en todo el partido"

      • Pablo Villanueva
      • 2026-10-15 10:01
    • Iturralde desafía a Mourinho: De reglamento sabe muy poco
        • Real Madrid
        • Real Madrid

      Iturralde desafía a Mourinho: "De reglamento sabe muy poco"

      • Pedro Antolinos
      • 2026-10-15 08:56
    • Deportes

    • Vuelve el
    • El Barcelona hace negocio con las camisetas del Clásico y las saca a la venta por...¡500 euros!
        • Deportes
        • Deportes

      El Barcelona hace negocio con las camisetas del Clásico y las saca a la venta por...¡500 euros!

      • Pablo Villanueva
      • 2026-10-15 10:34
    • David Ferrer dejará el cargo de capitán de España tras la Davis
        • Deportes
        • Deportes

      David Ferrer dejará el cargo de capitán de España tras la Davis

      • Alejandro Peinado
      • 2026-10-15 13:20
    • Figo y Wenger entran en las quinielas de opositores a Infantino en las elecciones de la FIFA
        • Deportes
        • Deportes

      Figo y Wenger entran en las quinielas de opositores a Infantino en las elecciones de la FIFA

      Las elecciones a la FIFA tendrán como candidato a Infantino y, como mínimo, a otro candidato que contará con el apoyo unánime de la UEFA. Por el momento, el ente europeo mantiene silencio y no ha colocado a ningún opositor real al actual presidente, aunque sí que se ha descartado la candidatura de Nasser Al-Khelaifi, que fue el mejor colocado al destaparse el escándalo de la venta del Mundial.
      • Hugo Carrasco
      • 2026-10-15 12:32
    • Pablo Barrios, un punto más
    • Matthäus, muy duro con Olise tras su expulsión en Champions: Se deja provocar y perjudica al equipo
        • Deportes
        • Deportes

      Matthäus, muy duro con Olise tras su expulsión en Champions: "Se deja provocar"

      • Javier Molero
      • 2026-10-15 12:32
    • Lamine Yamal no descansa tras más de 1.100 minutos en mes y medio: Está muy bien físicamente
        • Deportes
        • Deportes

      Lamine Yamal no descansa tras más de 1.100 minutos en mes y medio: "Está muy bien físicamente"

      • Luis Cobos
      • 2026-10-15 12:00
    • Alcaraz disputará el ATP 500 de Viena tras la cancelación del Six Kings Slam
        • Deportes
        • Deportes

      Alcaraz disputará el ATP 500 de Viena tras la cancelación del Six Kings Slam

      • Hugo Carrasco
      • 2026-10-15 13:40
    • economía

    • Los empleados de Santa Bárbara piden iniciar el programa del tanque oruga antes del 29-N para proteger sus puestos
    • Cimic (ACS) se adjudica un proyecto de transmisión eléctrica renovable en Australia por 295 millones de euros
        • Economía
        • Economía

      Cimic (ACS) se adjudica un proyecto de transmisión eléctrica renovable en Australia por 295 millones de euros

      Cimic, la filial australiana de ACS, ha ganado un contrato del gobierno del Estado de Australia Occidental para construir nuevas líneas de transmisión de alta capacidad al sur de Perth por 478 millones de dólares australianos (295 millones).
      • Alba Martín
      • 2026-10-15 12:08
    • El Ibex mantiene su rally alcista camino de los 19.300 mientras que el petróleo se mantiene en los 103 dólares
        • Economía
        • Economía

      El Ibex mantiene su rally alcista camino de los 19.300 mientras que el petróleo se mantiene en los 103 dólares

      • Celia Amayuelas
      • 2026-10-15 09:33
    • ACS y Acciona llevan a los tribunales la adjudicación a Ferrovial de la autopista I-24 de Tennessee
        • Economía
        • Economía

      ACS y Acciona llevan a los tribunales la adjudicación a Ferrovial de la autopista I-24 de Tennessee

      • Celia Amayuelas
      • 2026-10-15 16:34
    • OKDIARIO coloca a Alcobendas en el centro de la inversión empresarial con un gran evento en la ciudad
        • Economía
        • Economía

      OKDIARIO coloca a Alcobendas en el centro de la inversión empresarial con un gran evento en la ciudad

      • Alba Martín
      • 2026-10-15 16:21
    • El diésel, las elecciones y la guerra
    • COOL

    • Las pistas de una posible ruptura entre Victoria Federica y Jorge Navalpotro: planes separados, ausencia en una boda y distancia en redes
        • Cool
        • Cool

      Las pistas de la ruptura entre Victoria Federica y Jorge Navalpotro: planes separados y ausencia en una boda

      • Lourdes Crespo
      • 2026-10-15 14:00
    • Roca Rey vuelve al estrella Michelin donde comió Tana Rivera antes de los rumores de crisis: menú degustación por 114€
        • Cool
        • Cool

      Roca Rey vuelve al estrella Michelin donde comió Tana Rivera antes de los rumores de crisis

      • Marta Morales
      • 2026-10-15 13:43
    • Carlos Latre, contundente al hablar de su ruptura y de cómo la está llevando: La palabra que define esta etapa es calma
        • Cool
        • Cool

      Carlos Latre, contundente al hablar de su ruptura y de cómo la está llevando: "La palabra que define esta etapa es calma"

      Después de más de 25 años juntos y una hija, Carlos Latre se ha separado de Yolanda Marcos, protagonizando así una de las noticias más inesperadas en la prensa del corazón de las últimas semanas. Por ahora, los motivos del fin de su matrimonio continúan siendo un auténtico misterio, aunque lo cierto es que las últimas palabras que ha concedido el presentador a COOL dejan entrever que todo se ha producido de una manera cordial, amistosa y siempre desde el respeto. 
      • Marta Huertas
      • 2026-10-15 14:45
    • El entorno de Tana Rivera y Roca Rey se pronuncia sobre su ruptura: Pensaba que era mentira
        • Cool
        • Cool

      El entorno de Tana Rivera y Roca Rey se pronuncia sobre su ruptura: "PensÉ que era mentira"

      • Marta Huertas
      • 2026-10-15 12:30
    • Céline Dion recupera 29 años después su icónico vestido de Chanel de los Oscar de 1997
        • Cool
        • Cool

      Céline Dion recupera 29 años después su icónico vestido de Chanel de los Oscar de 1997

      • Rocío Álvarez
      • 2026-10-15 15:53
    • Carlos III debuta como diseñador de Burberry: su acuarela y la corona británica protagonizan una colección de hasta 1.940 euros
        • Cool
        • Cool

      Carlos III debuta como diseñador de Burberry: protagoniza una colección de hasta 1.940 euros

      • Marta Morales
      • 2026-10-15 11:42
    • Happy FM

    • Avance de
        • HappyFM
        • HappyFM

      Avance de 'Sueños de libertad' de hoy, 15 de octubre: Máxima preocupación por el estado de Beatriz

      • Idania Monzón
      • 2026-10-15 16:01
    • Rubén se salta las normas en su encuentro con Gema en
        • HappyFM
        • HappyFM

      Rubén se salta las normas en su encuentro con Gema en 'LIDLT': "Solo han sido tres besos, no me la he…"

      • María Peñafiel de Blas
      • 2026-10-15 13:10
    • Laura Cuevas destapa que Omar Sánchez y Anabel Pantoja hablan tres o cuatro veces por semana
        • HappyFM
        • HappyFM

      Laura Cuevas destapa que Omar Sánchez y Anabel Pantoja hablan "tres o cuatro veces por semana"

      • Idania Monzón
      • 2026-10-15 14:42
    • 'El Benidorm Fest
        • HappyFM
        • HappyFM

      'El Benidorm Fest' se refuerza con grandes nombres para compensar la falta del premio de Eurovisión

      • Nacho Molina
      • 2026-10-15 14:03
    • Dabiz Muñoz sale en defensa de Cristina Pedroche tras las críticas por su estreno como DJ
        • HappyFM
        • HappyFM

      Dabiz Muñoz sale en defensa de Cristina Pedroche tras las críticas por su estreno como DJ

      • María Peñafiel de Blas
      • 2026-10-15 13:35
    • Christian Gálvez vuelve a ponerse al frente de
        • HappyFM
        • HappyFM

      Christian Gálvez vuelve a ponerse al frente de 'El Rosco' en medio de la guerra por 'Pasapalabra'

      • Idania Monzón
      • 2026-10-15 12:57
    • Okmotor

    • Filosa defiende mantener todas las marcas de Stellantis: Si decides eliminar alguna pierdes mucho
        • Motor
        • Motor

      Filosa defiende mantener todas las marcas de Stellantis: "Si decides eliminar alguna pierdes"

      • Andrea Aguado
      • 2026-10-14 05:45
    • Iberdrola instala más de 100 puntos de recarga para coches eléctricos al día
        • Motor
        • Motor

      Iberdrola instala más de 100 puntos de recarga para coches eléctricos al día

      • Andrea Aguado
      • 2026-10-15 16:24
    • El Dacia Duster está bien pero BYD viene a reventar el mercado con su coche eléctrico con 1.008 km de autonomía y consumo de 11,5 kWh/100km
        • Motor
        • Motor

      El Dacia Duster está bien pero BYD viene a reventar el mercado con su coche eléctrico 

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

    • Sólo 300 de las 1.200 hectáreas agrícolas entran en las ayudas para renaturalizar Doñana
        • OKGREEN
        • OKGREEN

      Sólo 300 de las 1.200 hectáreas agrícolas entran en las ayudas para renaturalizar Doñana

      Los agricultores del entorno de Doñana han recibido con enorme decepción la primera resolución de las ayudas a la renaturalización. El motivo de esta tristeza se visibiliza en que alrededor del 75% de la superficie presentada a través de la Plataforma en Defensa de los Regadíos del Condado ha quedado fuera. La organización, que analiza expediente por expediente la resolución provisional de la Fundación Biodiversidad, calcula que algo más de 300 de las 1.200 hectáreas que tramitó habrían resultado inicialmente beneficiarias.
      • Antonio Quilis
      • 2026-10-15 05:00
    • Más te vale tener este pájaro en mano: las aves que van a aparecer en los nuevos billetes de euro
        • OKGREEN
        • OKGREEN

      Más te vale tener este pájaro en mano: las aves que van a aparecer en los nuevos billetes de euro

      • Daniel Jiménez
      • 2026-10-15 05:14
    • El problema que las ZBE no resuelven: el 85% de los coches circula con una sola persona en las horas punta
        • OKGREEN
        • OKGREEN

      El problema que las ZBE no resuelven: el 85% de los coches circula con una sola persona en las horas punta

      • Antonio Quilis
      • 2026-10-15 05:30
    • OKSalud

    • Dietas extremas y ejercicio sin descanso: así afecta la obsesión por el fitness a la salud física y mental
    • ¿Y si las defensas del organismo tuvieran algo que ver con el cáncer infantil? Descubren la posible conexión
        • OkSalud
        • OkSalud

      ¿Y si las defensas del organismo tuvieran algo que ver con el cáncer infantil? Descubren la posible conexión

      • Diego Buenosvinos
      • 2026-10-15 05:40
    • El litio en el agua potable preocupa por sus posibles efectos en el corazón de los niños
        • OkSalud
        • OkSalud

      El litio en el agua potable preocupa por sus posibles efectos en el corazón de los niños

      • Diego Buenosvinos
      • 2026-10-15 05:40
    • Diez síntomas que te pueden hacer sospechar que tu bebé tiene alergia a la proteína de la leche de vaca
        • OkSalud
        • OkSalud

      Diez síntomas que te pueden hacer sospechar que tu bebé tiene alergia a la proteína de la leche de vaca

      En la actualidad, entre el 6% y el 8% de los niños de un año presentan algún tipo de alergia alimentaria y, en concreto, la alergia a la proteína de la leche de vaca (APLV) es la más frecuente durante el primer año de vida. En España, entre el 0,5% y el 1% de los lactantes presentan APLV, según los estudios que confirman el diagnóstico mediante prueba de provocación oral.
      • B. Muñoz
      • 2026-10-15 05:40
    • ¿Por qué vemos, oímos o sentimos cosas que no están ahí?
    • 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
    • Sergio Espí: Netflix ha estrenado la película más decepcionante del año
        • OKCLUB
        • OKCLUB

      Sergio Espí: "Netflix ha estrenado la película más decepcionante del año"

      • OKDIARIO
      • 2026-10-15 05:47
    • navarra

    • Nueva polémica de Asiron por el Aquavox: UPN denuncia irregularidades y pide suspender el proceso participativo
        • Política

      Nueva polémica de Asiron por el Aquavox: UPN denuncia irregularidades y pide suspender el proceso participativo

    • Las elecciones del 29 de noviembre alteran la Navidad en Pamplona: el encendido de luces cambia de fecha este año
        • Pamplona

      Las elecciones del 29 de noviembre alteran la Navidad en Pamplona: el encendido de luces cambia de fecha este año

    • Condenado en Navarra a más de 4 años de cárcel por grabar a escondidas sexo con su pareja y enseñar el vídeo a otra mujer
        • Tribunales

      Condenado en Navarra a más de 4 años de cárcel por grabar a escondidas sexo con su pareja y enseñar el vídeo a otra mujer

    • Sánchez infla el censo en Navarra: la Ley de Nietos suma 7.134 votantes en el extranjero
        • Política

      Sánchez infla el censo en Navarra: la Ley de Nietos suma 7.134 votantes en el extranjero

    • Una empresa de quesos de Navarra convoca a sus accionistas para decidir sobre dividendos y cambios en su organización interna
        • Sociedad

      Una empresa de quesos de Navarra convoca a sus accionistas para decidir sobre dividendos y cambios en su organización interna

    • Dos ciclistas de 75 y 62 años, trasladados al hospital tras sufrir una caída cuando circulaban en grupo por Navarra
        • Sucesos

      Dos ciclistas de 75 y 62 años, trasladados al hospital tras sufrir una caída cuando circulaban en grupo por Navarra

    • metabolic

    • ¿Cuánto tiempo debo caminar después de comer para una mejor digestión? La respuesta de los médicos
        • Deporte

      ¿Cuánto tiempo debo caminar después de comer para una mejor digestión? La respuesta de los médicos

    • Experta en menopausia: «Caminar o practicar yoga no basta. Hay que ir al gimnasio y entrenar los músculos con pesas»
        • Deporte

      Experta en menopausia: «Caminar o practicar yoga no basta. Hay que ir al gimnasio y entrenar los músculos con pesas»

    • Christine Passerieux, psiquiatra: «Los primeros signos de deterioro de la salud mental a menudo se confunden con estrés»
        • Emociones y Salud Mental

      Christine Passerieux, psiquiatra: «Los primeros signos de deterioro de la salud mental a menudo se confunden con estrés»

    • Cómo mantiene Kate Middleton la forma: el ejercicio al aire libre que quema entre 300 y 500 calorías por hora
        • Deporte

      Cómo mantiene Kate Middleton la forma: el ejercicio al aire libre que quema entre 300 y 500 calorías por hora

    • Ni salmón ni atún: el pescado azul que recomienda comer un médico por su aporte de proteínas, calcio y omega-3
        • Alimentos

      Ni salmón ni atún: el pescado azul que recomienda comer un médico por su aporte de proteínas, calcio y omega-3

    • Cómo adelgazar sin sacrificar masa muscular: el entrenamiento combinado de fuerza y resistencia que recomiendan los expertos
        • Deporte

      Cómo adelgazar sin sacrificar masa muscular: el entrenamiento combinado de fuerza y resistencia que recomiendan los expertos

    • talent24h

    • Tiene problemas lumbares y pide la incapacidad permanente, pero la Justicia considera que puede seguir trabajando
        • Actualidad

      Tiene problemas lumbares y pide la incapacidad permanente, pero la Justicia considera que puede seguir trabajando

    • Le descubren un enganche ilegal de luz, le reclaman casi 12.000 euros y la Justicia acaba dando un giro al caso
        • Actualidad

      Le descubren un enganche ilegal de luz, le reclaman casi 12.000 euros y la Justicia acaba dando un giro al caso

    • El Supremo obliga a Bankinter a pagar 180.353,92 euros por permitir que un tercero cobrara un cheque sin autorización
        • Actualidad

      El Supremo obliga a Bankinter a pagar 180.353,92 euros por permitir que un tercero cobrara un cheque sin autorización

    • El pueblo andaluz que combina casas bajo la roca y unas migas tradicionales es ideal para verlo en un día
        • Actualidad

      El pueblo andaluz que combina casas bajo la roca y unas migas tradicionales es ideal para verlo en un día

    • Lidl anuncia más de 100 empleos en España con la apertura de cinco nuevos supermercados durante octubre
        • Empleo

      Lidl anuncia más de 100 empleos en España con la apertura de cinco nuevos supermercados durante octubre

    • Canarias lanza una convocatoria PFAE para 1.380 desempleados con trabajo remunerado y formación profesional
        • Empleo

      Canarias lanza una convocatoria PFAE para 1.380 desempleados con trabajo remunerado y formación profesional

    • Muy Interesante

    • ¿Qué hacían los neandertales en las playas de Portugal hace 80.000 años?
        • Historia

      ¿Qué hacían los neandertales en las playas de Portugal hace 80.000 años?

    • ¿Híbrido o eléctrico? La berlina que ofrece ambas opciones desde 61.500 euros
        • Actualidad

      ¿Híbrido o eléctrico? La berlina que ofrece ambas opciones desde 61.500 euros

    • Así es Digital-IA, el programa que acerca la inteligencia artificial a los pueblos de la Comunitat Valenciana con cursos gratuitos
        • IA al día

      Así es Digital-IA, el programa que acerca la inteligencia artificial a los pueblos de la Comunitat Valenciana con cursos gratuitos

    • ¿Es cierto que el Vesubio destruyó Pompeya en el año 79 d. C.?
        • Historia

      ¿Es cierto que el Vesubio destruyó Pompeya en el año 79 d. C.?

    • Sale de una fábrica española y termina en París: 1.555 kilómetros para explorar las dos caras de este eléctrico de 281 CV
        • Actualidad

      Sale de una fábrica española y termina en París: 1.555 kilómetros para explorar las dos caras de este eléctrico de 281 CV

    • La DJI Osmo Pocket 4P baja de precio y se convierte en una de las grandes tentaciones del otoño
        • Compras

      La DJI Osmo Pocket 4P baja de precio y se convierte en una de las grandes tentaciones del otoño

    • okzinet

    • 7 frases para poner límites a los niños sin amenazas (y qué decir en su lugar)
        • Ser Padres

      7 frases para poner límites a los niños sin amenazas (y qué decir en su lugar)

    • Dudas frecuentes de las madres primerizas sobre el bebé y el posparto
        • Ser Padres

      Dudas frecuentes de las madres primerizas sobre el bebé y el posparto

    • ¿Tu hijo ha heredado tu carácter o lo ha aprendido? Un experto en genética responde
        • Ser Padres

      ¿Tu hijo ha heredado tu carácter o lo ha aprendido? Un experto en genética responde

    • 3 consejos para evitar que el pintalabios se acumule en las arrugas del código de barras después de los 50
        • Mia Revista

      3 consejos para evitar que el pintalabios se acumule en las arrugas del código de barras después de los 50

    • Muy Science Fest Barcelona: una noche para aprender, sorprenderse y salir con ganas de saber más
        • Mia Revista

      Muy Science Fest Barcelona: una noche para aprender, sorprenderse y salir con ganas de saber más

    • La raya al lado vuelve a llevarse: 3 claves de esta tendencia capilar
        • Mia Revista

      La raya al lado vuelve a llevarse: 3 claves de esta tendencia capilar

    • Techy

    • Huellas del rover Perseverance en Marte el 11 de octubre de 2026, el sol en que batió el récord de distancia fuera de la Tierra
        • Techy

      Es oficial: el rover Perseverance de la NASA ya es el vehículo que más distancia ha recorrido fuera de la Tierra, con 45,22 km en Marte, y deja atrás a Opportunity

      • Adrián Villellas
    • Un operario sostiene la torta de telururo de cobre de la planta de Kennecott, en Utah
        • Techy

      Es oficial: una mina de cobre de Utah ya tiene su propia planta solar de 71.000 paneles hechos con el telurio que saca del lodo de su refinería

      • Adrián Villellas
    • Escudo de la tuneladora Granite Janet colgado de la grúa en Manchester, New Hampshire
        • Techy

      Confirmado: la tuneladora Granite Janet, de 255 toneladas, ya excava bajo Manchester un túnel de 3,6 kilómetros para reducir los vertidos de aguas residuales al río Merrimack

      • Adrián Villellas
    • Ann Makosinski con su linterna sin pilas que funciona con el calor de la mano
        • Techy

      Linterna sin pilas que funciona con el calor de la mano: ganó un premio de Google con 15 años y 13 años después sigue sin llegar a las tiendas

      • Adrián Villellas
    • Recreación de los anillos de Chariklo, el centauro estudiado por el James Webb
        • Techy

      Los científicos no dan crédito: el telescopio James Webb descubre que los anillos de Chariklo están cambiando en sentidos opuestos en apenas unos años

      • Adrián Villellas
    • Ilustración de un pequeño objeto helado más allá de Neptuno estudiado por Hubble y James Webb
        • Techy

      Los científicos no dan crédito: Hubble y James Webb estudian 27 mundos helados recién descubiertos más allá de Neptuno y los pequeños conservan el color con el que nacieron

      • Adrián Villellas
    • OkPlanes

    • escapadas otoño
        • OkPlanes

      Cinco escapadas de fin de semana para desconectar este otoño sin salir de España

      • Sandra Quintana C
    • restaurantes por menos de 20 euros
        • OkPlanes

      Cinco direcciones de Madrid para comer estupendamente por menos de 20 euros

      • Sandra Quintana C
    • restaurantes por menos de 20 euros
        • OkPlanes

      Cinco restaurantes para comer muy bien en Madrid por menos de 20 euros

      • Sandra Quintana C
    • setas restaurante
        • OkPlanes

      Los cinco mejores restaurantes de Madrid para comer setas esta temporada

      • Sandra Quintana C
    • 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
    • Curiosidades

    • Vivir gratis en Sagunto
        • Curiosidades

      Se buscan voluntarios que hablen inglés para vivir gratis en Sagunto (Valencia) a cambio de cuidar perros en un centro de rehabilitación canina

      • Alejo Lucarás
    • Imagen generada con IA.
        • Curiosidades

      Viktor Frankl, psiquiatra y superviviente de Auschwitz: «Aquellos que tienen un por qué para vivir pueden soportar casi cualquier cómo»

      • Aitana Pascual
    • Tom Hanks
        • Curiosidades

      La poderosa reflexión de Tom Hanks (70 años) sobre el destino: «No sé si todos tenemos un destino, o si estamos flotando casualmente como en una nube; pero yo creo que pueden ser ambas»

      • Elena García
    • Manolo Escobar. (EuropaPress)
        • Curiosidades

      La reflexión de Manolo Escobar sobre la importancia de disfrutar: «La muerte no me va a agobiar la vida»

      • Fernando Larruscain
    • Azulejos de cocina
        • Curiosidades

      Adiós a los azulejos de cocina para siempre: la nueva moda que llega en 2027 es más moderna, elegante y fácil de limpiar

      • Janire Manzanas
    • cubo basura
        • Curiosidades

      Los expertos en interiorismo lo tienen claro: poner el cubo de basura debajo del fregadero está bien, pero hay una alternativa más cómoda y práctica

      • Blanca Espada
    • Recetas de cocina

    • Huevos al horno
        • Recetas de cocina

      Huevos al horno con feta y tomates cherry: el desayuno fácil inspirado en la pasta viral

      • Francisco María
        • Recetas de cocina

      Pan plano de queso cottage: la receta rica en proteínas que se prepara sin harina

      • Francisco María
    • Cócteles y bebidas para Halloween: 8 recetas con y sin alcohol
        • Recetas de cocina

      Cócteles y bebidas para Halloween: 8 recetas con y sin alcohol

      • Francisco María
    • Almuerzos de Halloween: recetas originales y fáciles
        • Recetas de cocina

      Almuerzos de Halloween: recetas originales y fáciles

      • Francisco María
    • Aperitivos salados en Halloween
        • Recetas de cocina

      Aperitivos salados de Halloween: 10 recetas fáciles

      • Janire Manzanas
    • Bagels
        • Recetas de cocina

      Bagels de queso cottage: la receta proteica fácil que sólo necesita unos pocos ingredientes

      • Francisco María
    • OkShopping

    • Butaca Corvena
        • OkShopping

      La butaca de Kave Home que convierte cualquier rincón del salón en el más acogedor de la casa

      • New Mall Media
    • Silla de oficina Dasck
        • OkShopping

      Si acabas la jornada con la espalda hecha polvo, esta silla de oficina Dasck es lo que te falta

      • New Mall Media
    • Estufa de leña Teide
        • OkShopping

      Esta estufa de leña calienta hasta 220 metros cúbicos, te hará olvidar el radiador y está de oferta

      • New Mall Media
    • mejores juguetes de salud y bienestar sexual
        • OkShopping

      Los 10 mejores juguetes de salud y bienestar sexual de 2026

      • New Mall Media
    • LG AI Direct Drive
        • OkShopping

      Tu colada lista en 39 minutos: esta lavadora de LG detecta cada tejido y te ahorra un 39% de luz

      • New Mall Media
    • Airwrap i.d. de Dyson
        • OkShopping

      Dyson lo ha vuelto a hacer: este moldeador programa tus rizos perfectos con solo pulsar un botón

      • New Mall Media
    • Mascotas

        • Mascotas

      El IMSERSO lo confirma: se permite a los jubilados viajar con sus mascotas y éstas son todas las condiciones y requisitos que deben cumplir

      • Janire Manzanas
        • Mascotas

      Ya está en vigor y lo avala la Ley de Bienestar Animal: se prohíbe a los dueños de perros y gatos someterlos a trabajos inadecuados

      • Álvaro Olivero
    • Perros, animales, mascotas
        • Mascotas

      Borja Capponi, experto en entrenamiento de perros: «El adiestramiento en positivo rompe el instinto del animal y puede generar más ansiedad»

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

      Los veterinarios expertos coinciden: «Los perros no saben que han hecho algo mal, sienten miedo cuando te enfadas»

      • Carmen Ruiz
    • Perro, animales, mascotas
        • Mascotas

      César Millán, experto en adiestramiento canino (57 años): «He sido muy cauteloso con algunos perros, pero nunca les he tenido miedo»

      • Ana López Vera
    • Perros, animales, mascotas
        • Mascotas

      En 1926 un millonario pagó una fortuna por resucitar un perro de cráneo plano: 100 años después, 9 de cada 10 ejemplares de esa raza tienen malformaciones en el cerebro

      • Ana López Vera
    • Ciencia

    • Sueño
        • Ciencia

      Un nuevo estudio revela que las casas modernas alteran el sueño: la falta de refrigeración nocturna provoca insomnio

      • Janire Manzanas
    • hámster
        • Ciencia

      Suena raro, pero la ciencia lo respalda: Un inventor adolescente consigue que un hámster cargue su teléfono móvil dando vueltas en la rueda

      • Sofía Crotti
    • Una célula solar de perovskita, en una imagen del Laboratorio Nacional de Energías Renovables (NREL) de Estados Unidos. Foto: Dennis Schroeder / Laboratorio Nacional de Energías Renovables (NREL) vía Wikimedia Commons - Dominio público
        • Ciencia

      China tenía que ser: baten un nuevo récord mundial con una célula solar de perovskita que supera el 30% de eficiencia

      • Naiara Philpotts
    • Integrantes del equipo de la empresa emergente de Essen, en Alemania, junto a un toldo solar con células fotovoltaicas integradas en la lona. Foto: SolarMarkise / WDR
        • Ciencia

      Desde el siglo XVI es el colchón térmico más habitual en España: hoy los alemanes lo han convertido además en una fuente estable de energía solar

      • Naiara Philpotts
    • Ácidos
        • Ciencia

      Ácido tartárico: qué es, para qué sirve, usos alimentarios y propiedades

      • Francisco María
    • John Archibald Wheeler
        • Ciencia

      John Archibald Wheeler (1911 – 2008), físico: «No existe una ley excepto la ley de que no hay ley”

      • 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

        • Tecnología

      La NASA recibe hoy una nave con experimentos para fabricar retinas artificiales y estudiar el alzhéimer

      • Nacho Grosso
    • Opera Air
        • Tecnología

      El navegador Opera Air se rediseña para estorbar menos y suma cinco Soundscapes con música propia

      • Nacho Grosso
    • Dyson Nurovi
        • Tecnología

      Los robots Dyson Nurovi llegan a España con mopas triangulares para limpiar hasta las esquinas

      • Nacho Grosso
    • Ringr IA
        • Tecnología

      Ringr entra en Italia con un agente de IA que resuelve las conversaciones empresariales más complejas.

      • OKDIARIO
    • XBOX Nano
        • Tecnología

      El Xbox Nano Controller, el mando de Xbox que cabe en el bolsillo, llegará a España en noviembre

      • Nacho Grosso
    • llamadas WhtsApp
        • Tecnología

      WhatsApp abre sus llamadas a gente que ni siquiera tiene la app

      • Nacho Grosso
    Ir Arriba

    Noticias de última hora

    • Arzú encabeza la carrera por la presidencia de Guatemala: una encuesta le sitúa en cabeza con un 18,6%
    • Última hora de las huelgas, elecciones generales del 29-N y actualidad política hoy | Feijóo defenderá en Bruselas su plan para «blindar las fronteras»
    • Todo sobre ‘Crystal Lake’: sinopsis, fecha de estreno y número de capítulos de la mejor serie que puedes ver en Halloween
    • Pérez Llorca defiende ante el Rey el «orgullo» por «seguir construyendo este proyecto compartido que es España»
    • Es oficial: el rover Perseverance de la NASA ya es el vehículo que más distancia ha recorrido fuera de la Tierra, con 45,22 km en Marte, y deja atrás a Opportunity
    • Lidia Herrero, maquilladora profesional: “A partir de los 50, si tienes ojos marrones, el delineador más favorecedor es el chocolate”
    • Antony estalla tras el robo en su casa durante el Oporto-Betis: «Han invadido mi hogar y me siento inseguro»
    • La alcaldesa socialista de Alcalá de Guadaíra (Sevilla) no ha construido ninguna VPO en toda la legislatura
    • ACS y Acciona llevan a los tribunales la adjudicación a Ferrovial de la autopista I-24 de Tennessee
    • La desgarradora confesión de Carmen Lomana tras la muerte de su hermano: «Nunca piensas que el pequeño se puede morir antes que tú»

    Noticias más vistas

    • La alcaldesa socialista de Espartinas (Sevilla) acude a una manifestación por la vivienda mientras tiene siete inmuebles en propiedad
    • Un tío proxeneta de Begoña Gómez gana 6.000 € al mes por alquilar a inmigrantes antiguos pisos públicos sin salidas de humo
    • Perico Delgado (66 años) se rinde a Miguel Indurain: «Era un caballero. Pudo ganar más pero no se entregaba a sus intereses personales»
    • Destituido el cargo del PSOE en la Cámara de Cuentas que defendió la cátedra de Begoña Gómez como desveló OKDIARIO
    • El alcalde socialista de Mairena del Aljarafe (Sevilla) investigado por la construcción ilegal de un polideportivo
    • Simeone: «Tuvimos la suerte de empezar el partido con buen pie, pero fuimos mejores que el Manchester»
    • El Barcelona ruge en el infierno
    • Ni Asics ni Hoka: Lidl rompe el mercado con sus zapatillas de running de gama alta por menos de 50 euros
    • Restauran el altar de Sandra Peña tras ser vandalizado días antes del aniversario de su muerte: «Aún eres luz»
    • Marcos Llorente (31 años): «¿Quién cree de verdad que avanzamos? Más pantallas, menos naturaleza, menos vida»

    Noticias virales

    • Se buscan personas para trabajar de albañil, fontanero, cuidador de ancianos o camarero en un pueblo en un municipio de Alicante
    • Las personas que permanecen calladas para evitar conflictos tienen una personalidad marcada por el resentimiento y la fatiga emocional
    • Una joven de 20 años compra una casa por 9.000 € en el pueblo de su abuela en Cuenca y sólo reformar el tejado le cuesta más que la vivienda
    • Diógenes, filósofo griego, sobre el dinero: «La riqueza no consiste en tener muchas posesiones, sino en tener pocas necesidades»
    • Poner una hoja de laurel seca detrás de la puerta de entrada: para qué sirve y por qué lo recomiendan
    • Manolo Escobar, mítico cantante español nacido hace 95 años, sobre la fama: «Muchos cantan mejor que yo, pero soy el más querido»
    • La frase de Marcus Ulpius, legionario romano, que sigue emocionando: «Suena la corneta, comienza un nuevo día en las fortificaciones del Danubio para las legiones de Roma»
    • Una joven belga de 29 años busca voluntarios para vivir en una casa rural aislada en las montañas asturianas a cambio de ayudarle con las tareas de mantenimiento
    • Qué quiere decir el proverbio de la filosofía china: «Un árbol torcido vive su propia vida, pero un árbol recto se convierte en madera»
    • Según la psicología, las personas que fingen no ver a un conocido en la calle no suelen ser maleducadas, sino que tienden a sufrir fatiga mental
    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