Datos Migrantes
Mesas migrantes por comuna
## Parsed with column specification:
## cols(
## CODIGO_DISTRITO = col_character(),
## CODIGO_SECCION = col_character(),
## CODIGO_CIRCUITO = col_character(),
## CODIGO_MESA = col_character(),
## CODIGO_CATEGORIA = col_character(),
## CODIGO_AGRUPACION = col_character(),
## CODIGO_LISTA = col_character(),
## VOTOS_LISTA = col_double()
## )
Cuadro votos totales de migrantes, por comuna
CODIGO_AGRUPACION | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 |
Autodeterminacion y Libertad | 10 | 0 | 10 | 5 | 2 | 2 | 10 | 27 | 9 | 5 | 0 | 4 | 2 | 2 | 3 |
Consenso Federal | 18 | 5 | 10 | 23 | 10 | 9 | 21 | 54 | 29 | 9 | 6 | 1 | 4 | 3 | 7 |
Dignidad Popular | 15 | 1 | 3 | 6 | 0 | 0 | 8 | 30 | 12 | 3 | 3 | 0 | 1 | 2 | 1 |
FIT | 49 | 2 | 15 | 30 | 14 | 15 | 79 | 108 | 50 | 8 | 5 | 5 | 9 | 5 | 16 |
Frente de Todos | 603 | 52 | 222 | 512 | 146 | 107 | 897 | 1373 | 573 | 206 | 110 | 62 | 68 | 88 | 185 |
Juntos por el Cambio | 188 | 100 | 148 | 135 | 114 | 73 | 169 | 224 | 106 | 68 | 56 | 50 | 78 | 96 | 87 |
Libertad y Dignidad | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
MAS | 7 | 0 | 0 | 6 | 2 | 3 | 8 | 18 | 4 | 2 | 4 | 0 | 2 | 0 | 1 |
Cuadro porcentaje en mesas migrantes, por comuna
CODIGO_AGRUPACION | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 |
Autodeterminacion y Libertad | 1.12 | 0.00 | 2.45 | 0.70 | 0.69 | 0.96 | 0.84 | 1.47 | 1.15 | 1.66 | 0.00 | 3.28 | 1.22 | 1.02 | 1.00 |
Consenso Federal | 2.02 | 3.12 | 2.45 | 3.21 | 3.47 | 4.31 | 1.76 | 2.94 | 3.70 | 2.99 | 3.26 | 0.82 | 2.44 | 1.53 | 2.33 |
Dignidad Popular | 1.69 | 0.62 | 0.74 | 0.84 | 0.00 | 0.00 | 0.67 | 1.64 | 1.53 | 1.00 | 1.63 | 0.00 | 0.61 | 1.02 | 0.33 |
FIT | 5.51 | 1.25 | 3.68 | 4.18 | 4.86 | 7.18 | 6.63 | 5.89 | 6.39 | 2.66 | 2.72 | 4.10 | 5.49 | 2.55 | 5.33 |
Frente de Todos | 67.75 | 32.50 | 54.41 | 71.41 | 50.69 | 51.20 | 75.25 | 74.86 | 73.18 | 68.44 | 59.78 | 50.82 | 41.46 | 44.90 | 61.67 |
Juntos por el Cambio | 21.12 | 62.50 | 36.27 | 18.83 | 39.58 | 34.93 | 14.18 | 12.21 | 13.54 | 22.59 | 30.43 | 40.98 | 47.56 | 48.98 | 29.00 |
Libertad y Dignidad | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
MAS | 0.79 | 0.00 | 0.00 | 0.84 | 0.69 | 1.44 | 0.67 | 0.98 | 0.51 | 0.66 | 2.17 | 0.00 | 1.22 | 0.00 | 0.33 |
Datos de mesas de nacionales (sin mesas migrantes)
Cuadro de votos totales en mesas de nacionales, por comuna
CODIGO_AGRUPACION | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 |
Autodeterminacion y Libertad | 1267 | 725 | 1478 | 1365 | 1799 | 1971 | 1746 | 789 | 1266 | 1660 | 1927 | 1931 | 1751 | 1414 | 2212 |
Consenso Federal | 7054 | 5359 | 8108 | 8995 | 9197 | 9829 | 10471 | 7047 | 10114 | 10603 | 11748 | 12165 | 10381 | 8839 | 9452 |
Dignidad Popular | 168 | 90 | 171 | 215 | 144 | 98 | 157 | 175 | 147 | 147 | 123 | 133 | 102 | 106 | 147 |
FIT | 4470 | 2698 | 5284 | 5795 | 6002 | 5503 | 5365 | 3906 | 4516 | 5054 | 5432 | 6312 | 5530 | 4884 | 6333 |
Frente de Todos | 40282 | 18963 | 41257 | 54294 | 42094 | 37235 | 46110 | 48745 | 43312 | 39211 | 41243 | 44243 | 35125 | 34303 | 45285 |
Juntos por el Cambio | 56194 | 66845 | 48023 | 49074 | 50607 | 61094 | 55428 | 33115 | 44338 | 49224 | 63052 | 72436 | 100785 | 93451 | 52717 |
Libertad y Dignidad | 25 | 4 | 23 | 44 | 41 | 95 | 28 | 84 | 95 | 57 | 170 | 59 | 57 | 90 | 105 |
MAS | 994 | 667 | 1131 | 1279 | 1321 | 1326 | 1321 | 763 | 1024 | 1202 | 1275 | 1409 | 1277 | 1163 | 1316 |
Cuadro de porcentajes de mesas de nacionales, por comuna
CODIGO_AGRUPACION | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 |
Autodeterminacion y Libertad | 1.15 | 0.76 | 1.40 | 1.13 | 1.62 | 1.68 | 1.45 | 0.83 | 1.21 | 1.55 | 1.54 | 1.39 | 1.13 | 0.98 | 1.88 |
Consenso Federal | 6.39 | 5.62 | 7.69 | 7.43 | 8.27 | 8.39 | 8.68 | 7.45 | 9.65 | 9.89 | 9.40 | 8.77 | 6.70 | 6.13 | 8.04 |
Dignidad Popular | 0.15 | 0.09 | 0.16 | 0.18 | 0.13 | 0.08 | 0.13 | 0.18 | 0.14 | 0.14 | 0.10 | 0.10 | 0.07 | 0.07 | 0.13 |
FIT | 4.05 | 2.83 | 5.01 | 4.79 | 5.40 | 4.70 | 4.45 | 4.13 | 4.31 | 4.72 | 4.35 | 4.55 | 3.57 | 3.39 | 5.39 |
Frente de Todos | 36.47 | 19.89 | 39.12 | 44.85 | 37.85 | 31.78 | 38.23 | 51.51 | 41.32 | 36.59 | 33.00 | 31.90 | 22.66 | 23.78 | 38.52 |
Juntos por el Cambio | 50.88 | 70.10 | 45.53 | 40.54 | 45.51 | 52.15 | 45.95 | 35.00 | 42.30 | 45.94 | 50.45 | 52.23 | 65.02 | 64.78 | 44.84 |
Libertad y Dignidad | 0.02 | 0.00 | 0.02 | 0.04 | 0.04 | 0.08 | 0.02 | 0.09 | 0.09 | 0.05 | 0.14 | 0.04 | 0.04 | 0.06 | 0.09 |
MAS | 0.90 | 0.70 | 1.07 | 1.06 | 1.19 | 1.13 | 1.10 | 0.81 | 0.98 | 1.12 | 1.02 | 1.02 | 0.82 | 0.81 | 1.12 |
Grafico comparativo


LS0tCnRpdGxlOiAiUGFzbyAyMDE5IgphdXRob3I6ICJEZW1pYW4gWmF5YXQiCmRhdGU6ICI4LzE0LzIwMTkiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgZGZfcHJpbnQ6IHBhZ2VkCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCi0tLQpgYGB7ciwgaW5jbHVkZT1GQUxTRX0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoZ3JpZCkKbGlicmFyeShncmlkRXh0cmEpCmxpYnJhcnkoa2FibGVFeHRyYSkKbGlicmFyeShmbGV4dGFibGUpCmBgYAojIERhdG9zIGRlIGxhcyBwYXNvIGRlIGh0dHBzOi8vd3d3LnJlc3VsdGFkb3MyMDE5LmdvYi5hci8gCgojIyBEYXRvcyBNaWdyYW50ZXMgCgpNZXNhcyBtaWdyYW50ZXMgcG9yIGNvbXVuYQpgYGB7ciwgZWNobz1GQUxTRX0KcGFpczwtIHJlYWRfZGVsaW0oIi9Vc2Vycy9kZW1pYW4vRG9jdW1lbnRzL1JjcmFuL2hhY2thdG9uX3Bhc28vUEFTTzIwMTkvU21hcnRNYXRpYy8xMjA4MTktMDU0MDI5L21lc2FzX3RvdGFsZXNfbGlzdGEuZHN2IixkZWxpbSA9ICJ8IikgCiAgCmNhYmEgPC0gcGFpcyAlPiUgCiAgZmlsdGVyKENPRElHT19ESVNUUklUTyA9PSAiMDEiKSAgJT4lIAogIG11dGF0ZShDT0RJR09fQ0FURUdPUklBID0gcmVjb2RlKENPRElHT19DQVRFR09SSUEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjAwMDEwMDAwMDAwMDAwMCIgPSAiUHJlc2lkZW50ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjAwMDIwMTAwMDAwMDAwMCIgPSAiU2VuYWRvcmVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMDAwMzAxMDAwMDAwMDAwIiA9ICJEaXB1dGFkb3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA1MDEwMDAwMDAwMDAiID0gIkplZmUgZGUgR29iLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjAwMDgwMTAwMDAwMDAwMCIgPSAiTGVnaXNsYWRvcmVzIENhYmEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMDEwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMDEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMDIwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMDMwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMDMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMDQwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMDQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMDUwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMDYwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMDYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMDcwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMDgwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMDgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMDkwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMTAwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMTEwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMTEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMTIwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMTMwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMTQwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMTQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMDA5MDEwMTUwMDAwMDAiID0gIkp1bnRhIENvbXVuYWwgMTUiKSwKICAgICAgICAgQ09ESUdPX0FHUlVQQUNJT04gPSByZWNvZGUoQ09ESUdPX0FHUlVQQUNJT04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMS0xODciID0gIkF1dG9kZXRlcm1pbmFjaW9uIHkgTGliZXJ0YWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMDEtNTAxIiA9ICJGSVQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMDEtNTAyIiA9ICJGcmVudGUgZGUgVG9kb3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMDEtNTAzIiA9ICJKdW50b3MgcG9yIGVsIENhbWJpbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwMS01MDQiID0gIkNvbnNlbnNvIEZlZGVyYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMTMiID0gIk1BUyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI4NyIgPSAiTGliZXJ0YWQgeSBEaWduaWRhZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI4OCIgPSAiRGlnbmlkYWQgUG9wdWxhciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI1IiA9ICJEZW1vY3JhdGEgQ3Jpc3RpYW5hIikpCgoKY2FiYV9taWdyYW50ZSA8LSBjYWJhJT4lIAogIGZpbHRlcihzdHJfZGV0ZWN0KGNhYmEkQ09ESUdPX01FU0EsICIuRSIpKQoKY2FiYV9uYWNpb25hbCA8LSBjYWJhICU+JSAKICBmaWx0ZXIoc3RyX2RldGVjdChjYWJhJENPRElHT19NRVNBLCAiLkUiLCBuZWdhdGUgPSBUUlVFKSkKCmNhYmFfbWlncmFudGVfdm90byA8LSBjYWJhX21pZ3JhbnRlICU+JSAKICBncm91cF9ieShDT0RJR09fU0VDQ0lPTiwgQ09ESUdPX0NBVEVHT1JJQSxDT0RJR09fTUVTQSwgQ09ESUdPX0FHUlVQQUNJT04gKSAlPiUgCiAgc3VtbWFyaXplKHZvdG9zID0gc3VtKFZPVE9TX0xJU1RBKSkgJT4lIAogIG11dGF0ZShjb211bmEgPSBzdHJfc3ViKENPRElHT19TRUNDSU9OLCAtMikpIAoKCmplZmVfZ29iIDwtIGNhYmFfbWlncmFudGVfdm90byAlPiUgCiAgZmlsdGVyKENPRElHT19DQVRFR09SSUEgPT0gIkplZmUgZGUgR29iLiIpICU+JSAKICBncm91cF9ieSggY29tdW5hLCBDT0RJR09fQUdSVVBBQ0lPTikgJT4lIAogIHN1bW1hcmlzZSh0b3RhbCA9IHN1bSh2b3RvcykpICU+JSAKICBzcHJlYWQoa2V5ID0gY29tdW5hLCB2YWx1ZSA9IHRvdGFsKQogIApqZWZlX2dvYl9wb3JjIDwtIGNhYmFfbWlncmFudGVfdm90byAlPiUgCiAgZmlsdGVyKENPRElHT19DQVRFR09SSUEgPT0gIkplZmUgZGUgR29iLiIpICU+JSAKICBncm91cF9ieSggY29tdW5hLCBDT0RJR09fQUdSVVBBQ0lPTikgJT4lIAogIHN1bW1hcmlzZSh0b3RhbCA9IHN1bSh2b3RvcykpICU+JSAKICBtdXRhdGUocG9yYyA9IHJvdW5kKHRvdGFsIC9zdW0odG90YWwpKjEwMCwyKSkgJT4lIAogIHNlbGVjdCgtdG90YWwpICU+JSAKICBzcHJlYWQoa2V5ID0gY29tdW5hLCB2YWx1ZSA9IHBvcmMpCgpqZWZlX2dvYl91bmlkbyA8LSBsZWZ0X2pvaW4oamVmZV9nb2IsIGplZmVfZ29iX3BvcmMsIGJ5ID0gIkNPRElHT19BR1JVUEFDSU9OIikgJT4lIAogIHNlbGVjdChDT0RJR09fQUdSVVBBQ0lPTiwiMDEueCIsICIwMS55IiwgIjAyLngiLCAiMDIueSIsICIwMy54IiwgIjAzLnkiLAogICAgICAgICAiMDQueCIsICIwNC55IiwgIjA1LngiLCAiMDUueSIsICIwNi54IiwgIjA2LnkiLCAiMDcueCIsICIwNy55IiwKICAgICAgICAgIjA4LngiLCAiMDgueSIsICIwOS54IiwgIjA5LnkiLCAiMTAueCIsICIxMC55IiwgIjExLngiLCAiMTEueSIsIAogICAgICAgICAiMTIueCIsICIxMi55IiwgIjEzLngiLCAiMTMueSIsICIxNC54IiwgIjE0LnkiLCAiMTUueCIsICIxNS55IikKYGBgCkN1YWRybyB2b3RvcyB0b3RhbGVzIGRlIG1pZ3JhbnRlcywgcG9yIGNvbXVuYQoKYGBge3IsIGVjaG8gPSBGQUxTRX0KZmxleHRhYmxlKGplZmVfZ29iKSAlPiUgCiAgc2V0X2Zvcm1hdHRlcl90eXBlKGZtdF9kb3VibGUgPSAiJS4wMGYiKQpgYGAKCkN1YWRybyBwb3JjZW50YWplIGVuIG1lc2FzIG1pZ3JhbnRlcywgcG9yIGNvbXVuYQpgYGB7ciwgZWNobyA9IEZBTFNFfQpmbGV4dGFibGUoamVmZV9nb2JfcG9yYykgJT4lIAogIHNldF9mb3JtYXR0ZXJfdHlwZShmbXRfZG91YmxlID0gIiUuMDJmIikKYGBgCgoKCiMjIERhdG9zIGRlIG1lc2FzIGRlIG5hY2lvbmFsZXMgKHNpbiBtZXNhcyBtaWdyYW50ZXMpCgpgYGB7ciwgZWNobyA9IEZBTFNFfQoKY2FiYV9uYWNpb25hbF92b3RvIDwtIGNhYmFfbmFjaW9uYWwgJT4lIAogIGdyb3VwX2J5KENPRElHT19TRUNDSU9OLCBDT0RJR09fQ0FURUdPUklBLENPRElHT19NRVNBLCBDT0RJR09fQUdSVVBBQ0lPTiApICU+JSAKICBzdW1tYXJpemUodm90b3MgPSBzdW0oVk9UT1NfTElTVEEpKSAlPiUgCiAgbXV0YXRlKGNvbXVuYSA9IHN0cl9zdWIoQ09ESUdPX1NFQ0NJT04sIC0yKSkgCgoKamVmZV9nb2JfbmFjIDwtIGNhYmFfbmFjaW9uYWxfdm90byAlPiUgCiAgZmlsdGVyKENPRElHT19DQVRFR09SSUEgPT0gIkplZmUgZGUgR29iLiIpICU+JSAKICBncm91cF9ieSggY29tdW5hLCBDT0RJR09fQUdSVVBBQ0lPTikgJT4lIAogIHN1bW1hcmlzZSh0b3RhbCA9IHN1bSh2b3RvcykpICU+JSAKICBzcHJlYWQoa2V5ID0gY29tdW5hLCB2YWx1ZSA9IHRvdGFsKQoKamVmZV9nb2JfcG9yY19uYWMgPC0gY2FiYV9uYWNpb25hbF92b3RvICU+JSAKICBmaWx0ZXIoQ09ESUdPX0NBVEVHT1JJQSA9PSAiSmVmZSBkZSBHb2IuIikgJT4lIAogIGdyb3VwX2J5KCBjb211bmEsIENPRElHT19BR1JVUEFDSU9OKSAlPiUgCiAgc3VtbWFyaXNlKHRvdGFsID0gc3VtKHZvdG9zKSkgJT4lIAogIG11dGF0ZShwb3JjID0gcm91bmQodG90YWwgL3N1bSh0b3RhbCkqMTAwLDIpKSAlPiUgCiAgc2VsZWN0KC10b3RhbCkgJT4lIAogIHNwcmVhZChrZXkgPSBjb211bmEsIHZhbHVlID0gcG9yYykKCmplZmVfZ29iX3VuaWRvX25hY2lvbmFsIDwtIGxlZnRfam9pbihqZWZlX2dvYl9uYWMsIGplZmVfZ29iX3BvcmNfbmFjLCBieSA9ICJDT0RJR09fQUdSVVBBQ0lPTiIpICU+JSAKICBzZWxlY3QoQ09ESUdPX0FHUlVQQUNJT04sIjAxLngiLCAiMDEueSIsICIwMi54IiwgIjAyLnkiLCAiMDMueCIsICIwMy55IiwKICAgICAgICAgIjA0LngiLCAiMDQueSIsICIwNS54IiwgIjA1LnkiLCAiMDYueCIsICIwNi55IiwgIjA3LngiLCAiMDcueSIsCiAgICAgICAgICIwOC54IiwgIjA4LnkiLCAiMDkueCIsICIwOS55IiwgIjEwLngiLCAiMTAueSIsICIxMS54IiwgIjExLnkiLCAKICAgICAgICAgIjEyLngiLCAiMTIueSIsICIxMy54IiwgIjEzLnkiLCAiMTQueCIsICIxNC55IiwgIjE1LngiLCAiMTUueSIpCmBgYAoKQ3VhZHJvIGRlIHZvdG9zIHRvdGFsZXMgZW4gbWVzYXMgZGUgbmFjaW9uYWxlcywgcG9yIGNvbXVuYQpgYGB7ciwgZWNobyA9IEZBTFNFfQpmbGV4dGFibGUoamVmZV9nb2JfbmFjKSAlPiUgCiAgc2V0X2Zvcm1hdHRlcl90eXBlKGZtdF9kb3VibGUgPSAiJS4wMGYiKQpgYGAKCkN1YWRybyBkZSBwb3JjZW50YWplcyBkZSBtZXNhcyBkZSBuYWNpb25hbGVzLCBwb3IgY29tdW5hCgpgYGB7ciwgZWNobyA9IEZBTFNFfQpmbGV4dGFibGUoamVmZV9nb2JfcG9yY19uYWMpICU+JSAKICBzZXRfZm9ybWF0dGVyX3R5cGUoZm10X2RvdWJsZSA9ICIlLjAyZiIpCmBgYAoKCiMjIEdyYWZpY28gY29tcGFyYXRpdm8KYGBge3IsIGV2YWwgPSBUUlVFLCBlY2hvID0gRkFMU0V9CmplZmVfZ29iX3BvcmMgPC0gY2FiYV9taWdyYW50ZV92b3RvICU+JSAKICBmaWx0ZXIoQ09ESUdPX0NBVEVHT1JJQSA9PSAiSmVmZSBkZSBHb2IuIikgJT4lIAogIGdyb3VwX2J5KCBjb211bmEsIENPRElHT19BR1JVUEFDSU9OKSAlPiUgCiAgc3VtbWFyaXNlKHRvdGFsID0gc3VtKHZvdG9zKSkgJT4lIAogIG11dGF0ZShwb3JjID0gcm91bmQodG90YWwgL3N1bSh0b3RhbCkqMTAwLDIpKSAlPiUgCiAgc2VsZWN0KC10b3RhbCkKCmplZmVfZ29iX3BvcmNfbmFjIDwtIGNhYmFfbmFjaW9uYWxfdm90byAlPiUgCiAgZmlsdGVyKENPRElHT19DQVRFR09SSUEgPT0gIkplZmUgZGUgR29iLiIpICU+JSAKICBncm91cF9ieSggY29tdW5hLCBDT0RJR09fQUdSVVBBQ0lPTikgJT4lIAogIHN1bW1hcmlzZSh0b3RhbCA9IHN1bSh2b3RvcykpICU+JSAKICBtdXRhdGUocG9yYyA9IHJvdW5kKHRvdGFsIC9zdW0odG90YWwpKjEwMCwyKSkgJT4lIAogIHNlbGVjdCgtdG90YWwpCgpwYWxldGEgPC0gYygiIzgwMDA4MCIsICIjMDA4MDAwIiwgIiNEQzE0M0MiLCAiI0ZGMDAwMCIsICIjMUU5MEZGIiwgIiNGRkQ3MDAiLCAiI0E5QTlBOSIsICIjRkY4QzAwIiApCm5hY2lvbmFsIDwtIGdncGxvdCgpKwogIGdlb21fY29sKGRhdGEgPSBqZWZlX2dvYl9wb3JjX25hYywgYWVzKHggPSBDT0RJR09fQUdSVVBBQ0lPTiwgeSA9IHBvcmMsIGZpbGwgPSBDT0RJR09fQUdSVVBBQ0lPTikpKwogIGZhY2V0X3dyYXAofmNvbXVuYSkrCiAgbGFicyh0aXRsZSA9ICJQb3JjZW50YWplIHZvdG8gbmFjaW9uYWxlcyBwb3IgY29tdW5hIiwgeCA9ICIiLCBzdWJ0aXRsZSA9ICJKZWZlIGRlIEdvYmllcm5vIikrCiAgc2NhbGVfZmlsbF9tYW51YWwgKHZhbHVlcyA9IHBhbGV0YSkrCiAgdGhlbWVfYncoKSsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpLAogICAgICAgIGF4aXMudGV4dC54PWVsZW1lbnRfYmxhbmsoKSwKICAgICAgICBheGlzLnRpY2tzLng9ZWxlbWVudF9ibGFuaygpKQoKbWlncmFudGUgPC0gZ2dwbG90KCkrCiAgZ2VvbV9jb2woZGF0YSA9IGplZmVfZ29iX3BvcmMsIGFlcyh4ID0gQ09ESUdPX0FHUlVQQUNJT04sIHkgPSBwb3JjLCBmaWxsID0gQ09ESUdPX0FHUlVQQUNJT04pKSsKICBmYWNldF93cmFwKH5jb211bmEpKwogIGxhYnModGl0bGUgPSAiUG9yY2VudGFqZSB2b3RvIG1pZ3JhbnRlcyBwb3IgY29tdW5hIiwgeCA9ICIiLCBzdWJ0aXRsZSA9ICJKZWZlIGRlIEdvYmllcm5vIikrCiAgc2NhbGVfZmlsbF9tYW51YWwgKHZhbHVlcyA9IHBhbGV0YSkrCiAgdGhlbWVfYncoKSsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpLAogICAgICAgIGF4aXMudGV4dC54PWVsZW1lbnRfYmxhbmsoKSwKICAgICAgICBheGlzLnRpY2tzLng9ZWxlbWVudF9ibGFuaygpKQoKbmFjaW9uYWwKCm1pZ3JhbnRlCmBgYAoK