IiBNZW51IFRyYW5zbGF0aW9uczoJVHJhZGl0aW9uYWwgQ2hpbmVzZQoiIFRyYW5zbGF0ZWQgQnk6CUh1bmctVGUgTGluCTxwaWFpcEBjc2llLm50dS5lZHUudHc+CiIgTGFzdCBDaGFuZ2U6CQkyMDEyIE1heSAwMQoKIiB7e3sgUXVpdCB3aGVuIG1lbnUgdHJhbnNsYXRpb25zIGhhdmUgYWxyZWFkeSBiZWVuIGRvbmUuCmlmIGV4aXN0cygiZGlkX21lbnVfdHJhbnMiKQogIGZpbmlzaAplbmRpZgpsZXQgZGlkX21lbnVfdHJhbnMgPSAxCiIgfX19CmxldCBzOmtlZXBjcG89ICZjcG8Kc2V0IGNwbyZ2aW0KCnNjcmlwdGVuY29kaW5nIGNwOTUwCgoiIHt7eyBIZWxwIG1lbnU6IGNvbXBsZXRlCm1lbnV0cmFucyAmSGVscAkJCbuyp1W7oan6KCZIKQoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQptZW51dHJhbnMgJk92ZXJ2aWV3PFRhYj48RjE+Cbuhqfqk5aXzwWDE/SgmTyk8VGFiPjxGMT4KbWVudXRyYW5zICZVc2VyXCBNYW51YWwJCajPpc6qzKTipVUoJlUpCm1lbnV0cmFucyAmSG93LXRvXCBsaW5rcwmmcKbzp0BcLlwuXC4oJkgpCm1lbnV0cmFucyAmR1VJCQkJuc+rrKzJrbEoJkcpCm1lbnV0cmFucyAmQ3JlZGl0cwkJt1DBwigmQykKbWVudXRyYW5zIENvJnB5aW5nCQmqqcV2KCZQKQptZW51dHJhbnMgJlNwb25zb3IvUmVnaXN0ZXIJCcPZp1UvtfmlVSgmUykKbWVudXRyYW5zIE8mcnBoYW5zCQmsQLHPqXSo4CgmUikKIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KbWVudXRyYW5zICZWZXJzaW9uCQm1e6ahqqmlu7jqsFQoJlYpCm1lbnV0cmFucyAmQWJvdXQJCcP2qfNcIFZpbSgmQSkKIiB9fX0KCiIge3t7IEZpbGUgbWVudTogY29tcGxldGUKbWVudXRyYW5zICZGaWxlCQkJCcDJrtcoJkYpCiIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCm1lbnV0cmFucyAmT3BlblwuXC5cLjxUYWI+OmUJCbZ9sdIoJk8pXC5cLlwuPFRhYj46ZQptZW51dHJhbnMgU3AmbGl0LU9wZW5cLlwuXC48VGFiPjpzcAmkwLPOtfi1oajDtn2x0igmTCk8VGFiPjpzcAptZW51dHJhbnMgJk5ldzxUYWI+OmVuZXcJCb1zv+i3c8DJrtcoJk4pPFRhYj46ZW5ldwptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2xvc2UJCcP2s6zAya7XKCZDKTxUYWI+OmNsb3NlCiIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCm1lbnV0cmFucyAmU2F2ZTxUYWI+OncJCQnAeKZzKCZTKTxUYWI+OncKbWVudXRyYW5zIFNhdmVcICZBc1wuXC5cLjxUYWI+OnNhdgmldKZzt3PAySgmQSlcLlwuXC48VGFiPjpzYXYKIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KbWVudXRyYW5zIFNwbGl0XCAmRGlmZlwgd2l0aFwuXC5cLgmk8bj7KCZEaWZmKVwuXC5cLgptZW51dHJhbnMgU3BsaXRcIFBhdGNoZWRcICZCeVwuXC5cLgmw9abmUGF0Y2goJkIpXC5cLlwuCiIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCm1lbnV0cmFucyAmUHJpbnQJCQmmQ6ZMKCZQKQoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQptZW51dHJhbnMgU2EmdmUtRXhpdDxUYWI+OndxYQkJwHimc6jDwve2fSgmVik8VGFiPjp3cWEKbWVudXRyYW5zIEUmeGl0PFRhYj46cWEJCQnC97Z9KCZYKTxUYWI+OnFhCiIgfX19CgoiIHt7eyBFZGl0IG1lbnUKbWVudXRyYW5zICZFZGl0CQkJCb1zv+goJkUpCiIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCm1lbnV0cmFucyAmVW5kbzxUYWI+dQkJCbRfrewoJlUpPFRhYj51Cm1lbnV0cmFucyAmUmVkbzxUYWI+XlIJCQmo+q74pFemuLRfrewoJlIpPFRhYj5eUgptZW51dHJhbnMgUmVwJmVhdDxUYWI+XC4JCa2rvcakV6a4sMqnQCgmRSk8VGFiPlwuCiIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCm1lbnV0cmFucyBDdSZ0PFRhYj4iK3gJCQmwxaRVKCZUKTxUYWI+Iit4Cm1lbnV0cmFucyAmQ29weTxUYWI+Iit5CQkJvca7cygmQyk8VGFiPiIreQptZW51dHJhbnMgJlBhc3RlPFRhYj4iK2dQCQm2S6RXKCZQKTxUYWI+IitnUAptZW51dHJhbnMgUHV0XCAmQmVmb3JlPFRhYj5bcAkJtkuo7LTlvNCrZSgmQik8VGFiPltwCm1lbnV0cmFucyBQdXRcICZBZnRlcjxUYWI+XXAJCbZLqOy05bzQq+EoJkEpPFRhYj5dcAptZW51dHJhbnMgJkRlbGV0ZTxUYWI+eAkJCadSsKMoJkQpPFRhYj54Cm1lbnV0cmFucyAmU2VsZWN0XCBBbGw8VGFiPmdnVkcJCaX+v+8oJlMpPFRhYj5nZ3ZHCiIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCm1lbnV0cmFucyAmRmluZFwuXC5cLgkJCbRNp+QoJkYpXC5cLlwuCm1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlXC5cLlwuCbRNp+Sow6j6pU4oJkwpXC5cLlwuCiIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCm1lbnV0cmFucyBTZXR0aW5nc1wgJldpbmRvdwkJs12pd7X4taEoJlcpCm1lbnV0cmFucyAmR2xvYmFsXCBTZXR0aW5ncwkJpf6w7LNdqXcoJkcpCm1lbnV0cmFucyBGJmlsZVwgU2V0dGluZ3MJCbNdqXemucDJrtcoJkkpCm1lbnV0cmFucyBDJm9sb3JcIFNjaGVtZQkJsHSm4rNdqXcoJk8pCm1lbnV0cmFucyAmS2V5bWFwCQkJweS9TLnvwLMoJkspCiAgICAiICJ7e3sgS2V5bWFwOgogICAgbWVudXRyYW5zIE5vbmUJCQm1TAogICAgIiB9fX0KbWVudXRyYW5zIFNlbGVjdFwgRm8mbnRcLlwuXC4JCbNdqXemcqusKCZOKVwuXC5cLgoiIH19fQoKIiB7e3sgRWRpdC5GaWxlU2V0dGluZ3MKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJk51bWJlcmluZzxUYWI+OnNldFwgbnUhICAgIKTBtKvF46Xcpua4uSgmTik8VGFiPjpzZXRcIG51IQptZW51dHJhbnMgVG9nZ2xlXCAmTGlzdFwgTW9kZTxUYWI+OnNldFwgbGlzdCEJICAgIKTBtKvF46XcpuanwKTOVEFCKCZMKTxUYWI+OnNldFwgbGlzdCEKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJldyYXA8VGFiPjpzZXRcIHdyYXAhCSAgICCkwbSrptuwyqfppubF46XcKCZXKTxUYWI+OnNldFwgd3JhcCEKbWVudXRyYW5zIFRvZ2dsZVwgVyZyYXBcIGF0XCB3b3JkPFRhYj46c2V0XCBsYnIhICAgIKTBtKun6abmxeOl3KVppfS3TsJfpXkoJlIpPFRhYj46c2V0XCBsYnIhCm1lbnV0cmFucyBUb2dnbGVcICZleHBhbmQtdGFiPFRhYj46c2V0XCBldCEJICAgIKTBtKuuabZ9VEFCKCZFKTxUYWI+OnNldFwgZXQhCm1lbnV0cmFucyBUb2dnbGVcICZhdXRvLWluZGVudDxUYWI+OnNldFwgYWkhCSAgICCkwbSrptuwysFZscYoJkEpPFRhYj46c2V0XCBhaSEKbWVudXRyYW5zIFRvZ2dsZVwgJkMtaW5kZW50aW5nPFRhYj46c2V0XCBjaW4hCSAgICCkwbSrotG7eailwVmxxigmQyk8VGFiPjpzZXRcIGNpbiEKIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KbWVudXRyYW5zICZTaGlmdHdpZHRoCQkJCSAgICDBWbHGvGWr1yhzaGlmdHdpZHRoKSgmUykKbWVudXRyYW5zIFNvZnRcICZUYWJzdG9wCQkJICAgILNuxem80sDAVEFCKHNvZnR0YWJzdG9wKSgmVCkKbWVudXRyYW5zIFRlJnh0XCBXaWR0aFwuXC5cLgkJCSAgICCk5aZyrbatsbxlq9codGV4dHdpZHRoKSgmWClcLlwuXC4KbWVudXRyYW5zICZGaWxlXCBGb3JtYXRcLlwuXC4JCQkgICAgs12pd8DJrteu5qahKLnvwLOnQLd+qHSyzikoJkYpXC5cLlwuCiIgfX19CgoiIHt7eyBFZGl0Lkdsb2JhbFNldHRpbmdzCm1lbnV0cmFucyBUb2dnbGVcIFBhdHRlcm5cICZIaWdobGlnaHQ8VGFiPjpzZXRcIGhscyEgpMG0q7Cqq0er17dqtE2mcqbqKCZIKTxUYWI+OnNldFwgaGxzIQptZW51dHJhbnMgVG9nZ2xlXCAmSWdub3JlLWNhc2U8VGFiPjpzZXRcIGljIQkgICAgIKTBtKupv7KkpGqkcLxnKCZJKTxUYWI+OnNldFwgaWMhCm1lbnV0cmFucyBUb2dnbGVcICZTaG93bWF0Y2g8VGFiPjpzZXRcIHNtIQkgICAgIKTBtKvF46Xcue/As6xBuLkoJlMpPFRhYj46c2V0XCBzbSEKbWVudXRyYW5zIFRvZ2dsZVwgVmlcIEMmb21wYXRpYmxlPFRhYj46c2V0XCBjcCEJICAgICCkwbSrtseyzlZprNuuZbzSpqEoJk8pPFRhYj46c2V0XCBjcCEKbWVudXRyYW5zICZDb250ZXh0XCBsaW5lcwkJCSAgICAgpbuk5atlq+GrT69kpua8xihzY3JvbGxvZmYpKCZDKQptZW51dHJhbnMgJlZpcnR1YWxcIEVkaXQJCQkgICAgILTlvNCl9LdOsr6wyih2aXJ0dWFsZWRpdCkoJlYpCiAgICAiIHt7eyBFZGl0Lkdsb2JhbFNldHRpbmdzLlZpcnR1YWxFZGl0CiAgICBtZW51dHJhbnMgTmV2ZXIJCQkJICAgICCko6jPpc4KICAgIG1lbnV0cmFucyBCbG9ja1wgU2VsZWN0aW9uCQkJICAgICCwz7b0v+++3K7JCiAgICBtZW51dHJhbnMgSW5zZXJ0XCBtb2RlCQkJICAgICC0oaRKvNKmoa7JCiAgICBtZW51dHJhbnMgQmxvY2tcIGFuZFwgSW5zZXJ0CQkgICAgILDPtvS7ULShpEq80qahCiAgICBtZW51dHJhbnMgQWx3YXlzCQkJCSAgICAgpECqvbZ9sdIKICAgICIgfX19Cm1lbnV0cmFucyBUb2dnbGVcIEluc2VydFwgJk1vZGU8VGFiPjpzZXRcIGltIQkgICAgIKTBtKu0oaRKvNKmoSgmTSk8VGFiPjpzZXRcIGltIQptZW51dHJhbnMgU2VhcmNoXCAmUGF0aFwuXC5cLgkJCSAgICAgt2q0Tbj0rnwoJlApXC5cLlwuCm1lbnV0cmFucyBUYSZnXCBGaWxlc1wuXC5cLgkJCSAgICAgVGFnXCC80MXSr8Gk3sDJrtcoJkcpXC5cLlwuCiIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCm1lbnV0cmFucyBUb2dnbGVcICZUb29sYmFyCQkJICAgICCkwbSrqM+lzqR1qOOmQygmVCkKbWVudXRyYW5zIFRvZ2dsZVwgJkJvdHRvbVwgU2Nyb2xsYmFyCQkgICAgIKTBtKuoz6XOqbO63bGysMq2YigmQikKbWVudXRyYW5zIFRvZ2dsZVwgJkxlZnRcIFNjcm9sbGJhcgkJICAgICCkwbSrqM+lzqWqut2xsrDKtmIoJkwpCm1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCQkgICAgIKTBtKuoz6XOpWu63bGysMq2YigmUikKIiB9fX0KCiIge3t7IFRvb2xzIG1lbnU6IGNvbXBsZXRlCm1lbnV0cmFucyAmVG9vbHMJCQmkdajjKCZUKQoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQptZW51dHJhbnMgJkp1bXBcIHRvXCB0aGlzXCB0YWc8VGFiPmdeXQnAy6/BtOW80LNCqrq80MXSw/bB5KZyKHRhZykoJkopPFRhYj5nXl0KbWVudXRyYW5zIEp1bXBcICZiYWNrPFRhYj5eVAkJuPWmXsDLr8GrZaq6puy4bSgmQik8VGFiPl5UCm1lbnV0cmFucyBCdWlsZFwgJlRhZ3NcIEZpbGUJCavYpd+80MXSr8Gk3sDJXCBUYWdzKCZUKQoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQptZW51dHJhbnMgJkZvbGRpbmcJCQnC0MV8KEZvbGQps12pdygmRikKICAgICIge3t7IFRvb2xzLkZvbGQKICAgIG1lbnV0cmFucyAmRW5hYmxlL0Rpc2FibGVcIGZvbGRzPFRhYj56aQkgICAgpMG0q6jPpc5cIEZvbGRpbmcoJkUpPFRhYj56aQogICAgbWVudXRyYW5zICZWaWV3XCBDdXJzb3JcIExpbmU8VGFiPnp2CSAgICDAy7X4prm8aFwgRm9sZCgmVik8VGFiPnp2CiAgICBtZW51dHJhbnMgVmllJndcIEN1cnNvclwgTGluZVwgb25seTxUYWI+ek16eCAgICCldcDLtfimuVwgRm9sZCgmVyk8VGFiPnpNengKICAgIG1lbnV0cmFucyBDJmxvc2VcIG1vcmVcIGZvbGRzPFRhYj56bQkgICAgpqywX6RAvGhcIEZvbGRzKCZMKTxUYWI+em0KICAgIG1lbnV0cmFucyAmQ2xvc2VcIGFsbFwgZm9sZHM8VGFiPnpNCQkgICAgpqywX6nSprNcIEZvbGRzKCZDKTxUYWI+ek0KICAgIG1lbnV0cmFucyBPJnBlblwgbW9yZVwgZm9sZHM8VGFiPnpyCQkgICAgpbS2faRAvGhcIEZvbGRzKCZQKTxUYWI+enIKICAgIG1lbnV0cmFucyAmT3BlblwgYWxsXCBmb2xkczxUYWI+elIJCSAgICCltLZ9qdKms1wgRm9sZHMoJk8pPFRhYj56UgogICAgbWVudXRyYW5zIEZvbGRcIE1ldCZob2QJCQkgICAgRm9sZGluZ1wgpOimoSgmSCkKCSIge3t7IFRvb2xzLkZvbGQuTWV0aG9kCgltZW51dHJhbnMgTSZhbnVhbAkJpOKwyqvYpd8oJkEpCgltZW51dHJhbnMgSSZuZGVudAkJqMy308FZscYoJk4pCgltZW51dHJhbnMgRSZ4cHJlc3Npb24JCabbrXG5QrripqEoJlgpCgltZW51dHJhbnMgUyZ5bnRheAkJqMy307t5qmuzXal3KCZZKQoJbWVudXRyYW5zICZEaWZmCQkJRGlmZigmRCkKCW1lbnV0cmFucyBNYSZya2VyCQm80LBPKE1hcmtlcikoJlIpCgkiIH19fQogICAgIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIG1lbnV0cmFucyBDcmVhdGVcICZGb2xkPFRhYj56ZgkJICAgIKvYpd9cIEZvbGQoJkYpPFRhYj56ZgogICAgbWVudXRyYW5zICZEZWxldGVcIEZvbGQ8VGFiPnpkCQkgICAgp1Kwo1wgRm9sZCgmRCk8VGFiPnpkCiAgICBtZW51dHJhbnMgRGVsZXRlXCAmQWxsXCBGb2xkczxUYWI+ekQJICAgIKdSsKOp0qazXCBGb2xkKCZBKTxUYWI+ekQKICAgICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICBtZW51dHJhbnMgRm9sZFwgY29sdW1uXCAmd2lkdGgJCSAgICCzXal3XCBGb2xkxOa8ZSgmVykKICAgICIgfX19Cm1lbnV0cmFucyAmRGlmZgkJCQlEaWZmKCZEKQogICAgIiB7e3sgVG9vbHMuRGlmZgogICAgbWVudXRyYW5zICZVcGRhdGUJCQmn87dzKCZVKQogICAgbWVudXRyYW5zICZHZXRcIEJsb2NrCQmo+rFvsM+29CgmRykKICAgIG1lbnV0cmFucyAmUHV0XCBCbG9jawkJtkukV7DPtvQoJlApCiAgICAiIH19fQoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQptZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQmw9abmXCBNYWtlKCZNKTxUYWI+Om1ha2UKbWVudXRyYW5zICZMaXN0XCBFcnJvcnM8VGFiPjpjbAkJpkOlWL1zxLa/+bt+KCZFKTxUYWI+OmNsCm1lbnV0cmFucyBMJmlzdFwgTWVzc2FnZXM8VGFiPjpjbCEJpkOlWKnSprOwVK6nKCZJKTxUYWI+OmNsIQptZW51dHJhbnMgJk5leHRcIEVycm9yPFRhYj46Y24JCaRVpECt071zxLa/+bt+s0IoJk4pPFRhYj46Y24KbWVudXRyYW5zICZQcmV2aW91c1wgRXJyb3I8VGFiPjpjcAmkV6RArdO9c8S2v/m7frNCKCZQKTxUYWI+OmNwCm1lbnV0cmFucyAmT2xkZXJcIExpc3Q8VGFiPjpjb2xkCcDLtfjCwr/5u36mQ6rtKCZPKTxUYWI+OmNvbGQKbWVudXRyYW5zIE4mZXdlclwgTGlzdDxUYWI+OmNuZXcJwMu1+Ldzv/m7fqZDqu0oJkUpPFRhYj46Y25ldwptZW51dHJhbnMgRXJyb3JcICZXaW5kb3cJCb/5u36wVK6ntfi1oSgmVykKICAgICIge3t7IFRvb2xzLkVycm9yV2luZG93CiAgICBtZW51dHJhbnMgJlVwZGF0ZTxUYWI+OmN3aW4JCafzt3MoJlUpPFRhYj46Y3dpbgogICAgbWVudXRyYW5zICZPcGVuPFRhYj46Y29wZW4JCbZ9sdIoJk8pPFRhYj46Y29wZW4KICAgIG1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjY2xvc2UJw/azrCgmQyk8VGFiPjpjY2xvc2UKICAgICIgfX19Cm1lbnV0cmFucyAmU2V0XCBDb21waWxlcgkJs12pd71zxLa+uUNvbXBpbGVyKCZTKQoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIRVg8VGFiPjolIXh4ZAnC4LSrpqgxNrZppuy9WCgmQyk8VGFiPjolIXh4ZAptZW51dHJhbnMgQ29udmUmcnRcIGJhY2s8VGFiPjolIXh4ZFwgLXIJsXExNrZppuy9WMLgtKumXqTlpnIoJlIpPFRhYj46JSF4eGRcIC1yCiIgfX19CgoiIHt7eyBTeW50YXggbWVudTogY29tcGV0ZQptZW51dHJhbnMgJlN5bnRheAkJICAgILt5qmuuxKpHKCZTKQoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQptZW51dHJhbnMgJlNob3dcIGZpbGV0eXBlc1wgaW5cIG1lbnUJxeOl3KnSprOlaaXOwMmu167mpqEoJlMpCm1lbnV0cmFucyBTZXRcICcmc3ludGF4J1wgb25seQkgICAgpXWoz6XOXCAnc3ludGF4JygmUykKbWVudXRyYW5zIFNldFwgJyZmaWxldHlwZSdcIHRvbwkgICAgqM+lzlwgJ3N5bnRheCcrJ2ZpbGV0eXBlJygmRikKbWVudXRyYW5zICZPZmYJCQkgICAgw/azrK7EqkcoJk8pCm1lbnV0cmFucyAmTWFudWFsCQkgICAgpOKwyrNdqXcoJk0pCm1lbnV0cmFucyBBJnV0b21hdGljCQkgICAgptuwyrNdqXcoJlUpCm1lbnV0cmFucyBvbi9vZmZcIGZvclwgJlRoaXNcIGZpbGUgIKV1pMG0q6a5wMmquq7EqkezXal3KCZUKQoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQptZW51dHJhbnMgQ28mbG9yXCB0ZXN0CQkgICAgpuKxbcXjpdy0+rjVKCZMKQptZW51dHJhbnMgJkhpZ2hsaWdodFwgdGVzdAkgICAgu3mqa67Eqke0+rjVKCZIKQptZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIVE1MCSAgICDC4LSrpqhcIEhUTUxcIK7mpqEoJkMpCiIgfX19CgoiIHt7eyBCdWZmZXJzIG1lbnU6IGNvbXBsZXRlCm1lbnV0cmFucyAmQnVmZmVycwkJCb13vcSwzygmQikKIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KbWVudXRyYW5zICZSZWZyZXNoXCBtZW51CQmn87dzKCZSKQptZW51dHJhbnMgJkRlbGV0ZQkJCadSsKMoJkQpCm1lbnV0cmFucyAmQWx0ZXJuYXRlCQkJpMG0q6RXpri9c7/ovXe9xLDPKCZBKQptZW51dHJhbnMgJk5leHQJCQkJpFWkQK3TKCZOKQptZW51dHJhbnMgJlByZXZpb3VzCQkJq2WkQK3TKCZQKQoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoiIG1lbnV0cmFucyBbTm9cIGZpbGVdCQkJW7VMwMmu110KIiB9fX0KCiIge3t7IFdpbmRvdyBtZW51OiBjb21wbGV0ZQptZW51dHJhbnMgJldpbmRvdwkJCbX4taEoJlcpCiIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCm1lbnV0cmFucyAmTmV3PFRhYj5eV24JCQm2fbdztfi1oSgmTik8VGFiPl5XbgptZW51dHJhbnMgUyZwbGl0PFRhYj5eV3MJCaTAs861+LWhKCZQKTxUYWI+XldzCm1lbnV0cmFucyBTcCZsaXRcIFRvXCAjPFRhYj5eV15eCaTAs86o7CMoJkwpPFRhYj5eV15eCm1lbnV0cmFucyBTcGxpdFwgJlZlcnRpY2FsbHk8VGFiPl5Xdgmrq6q9pMCzzigmVik8VGFiPl5XdgptZW51dHJhbnMgU3BsaXRcIEZpbGVcIEUmeHBsb3JlcgnAya7XwWC63qahpMCzzigmWCkKIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KbWVudXRyYW5zICZDbG9zZTxUYWI+XldjCQnD9rOstfi1oSgmQyk8VGFiPl5XYwptZW51dHJhbnMgQ2xvc2VcICZPdGhlcihzKTxUYWI+XldvCcP2s6yo5KWmtfi1oSgmTyk8VGFiPl5XbwoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQptZW51dHJhbnMgTW92ZVwgJlRvCQkJsr6m3CgmVCkKICAgICIge3t7IFdpbmRvdy5Nb3ZlVG8KICAgIG1lbnV0cmFucyAmVG9wPFRhYj5eV0sJCbO7ut0oJlQpPFRhYj5eV0sKICAgIG1lbnV0cmFucyAmQm90dG9tPFRhYj5eV0oJCamzut0oJkIpPFRhYj5eV0oKICAgIG1lbnV0cmFucyAmTGVmdFwgc2lkZTxUYWI+XldICaWqw+QoJkwpPFRhYj5eV0gKICAgIG1lbnV0cmFucyAmUmlnaHRcIHNpZGU8VGFiPl5XTAmla8PkKCZSKTxUYWI+XldMCiAgICAiIH19fQptZW51dHJhbnMgUm90YXRlXCAmVXA8VGFiPl5XUgkJpFeyvrX4taEoJlUpPFRhYj5eV1IKbWVudXRyYW5zIFJvdGF0ZVwgJkRvd248VGFiPl5XcgkJpFWyvrX4taEoJkQpPFRhYj5eV3IKIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KbWVudXRyYW5zICZFcXVhbFwgU2l6ZTxUYWI+Xlc9CQmp0qaztfi1obWlsKooJkUpPFRhYj5eVz0KbWVudXRyYW5zICZNYXhcIEhlaWdodDxUYWI+XldfCQmzzKRqsKqr1ygmTSk8VGFiPl5XCm1lbnV0cmFucyBNJmluXCBIZWlnaHQ8VGFiPl5XMV8JCbPMpHCwqqvXKCZJKTxUYWI+XlcxXwptZW51dHJhbnMgTWF4XCAmV2lkdGg8VGFiPl5XXHwJCbPMpGq8ZavXKCZXKTxUYWI+XldcfAptZW51dHJhbnMgTWluXCBXaWR0Jmg8VGFiPl5XMVx8CQmzzKRwvGWr1ygmSCk8VGFiPl5XMVx8CiIgfX19CgoiIHt7eyBUaGUgcG9wdXAgbWVudTogY29tcGxldGUKbWVudXRyYW5zICZVbmRvCQkJCbRfrewoJlUpCiIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCm1lbnV0cmFucyBDdSZ0CQkJCbDFpFUoJlQpCm1lbnV0cmFucyAmQ29weQkJCQm9xrtzKCZDKQptZW51dHJhbnMgJlBhc3RlCQkJtkukVygmUCkKbWVudXRyYW5zICZEZWxldGUJCQmnUrCjKCZEKQoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQptZW51dHJhbnMgU2VsZWN0XCBCbG9ja3dpc2UJCUJsb2Nrd2lzZaahv+++3AptZW51dHJhbnMgU2VsZWN0XCAmV29yZAkJCb/vvtyz5qZyKCZXKQptZW51dHJhbnMgU2VsZWN0XCAmTGluZQkJCb/vvtym5igmTCkKbWVudXRyYW5zIFNlbGVjdFwgJkJsb2NrCQm/777csM+29CgmQikKbWVudXRyYW5zIFNlbGVjdFwgJkFsbAkJCaX+v+8oJkEpCiIgfX19CgoiIHt7eyBUaGUgR1VJIHRvb2xiYXI6IGNvbXBsZXRlCmlmIGhhcygidG9vbGJhciIpCiAgaWYgZXhpc3RzKCIqRG9fdG9vbGJhcl90bWVudSIpCiAgICBkZWxmdW4gRG9fdG9vbGJhcl90bWVudQogIGVuZGlmCiAgZnVuIERvX3Rvb2xiYXJfdG1lbnUoKQogICAgdG1lbnUgVG9vbEJhci5PcGVuCQm2fbHSwMmu1wogICAgdG1lbnUgVG9vbEJhci5TYXZlCQnAeKZzpdirZb1zv+ikpKq6wMmu1wogICAgdG1lbnUgVG9vbEJhci5TYXZlQWxsCcB4pnOl/rOhwMmu1wogICAgdG1lbnUgVG9vbEJhci5QcmludAkJpkOmTAoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgdG1lbnUgVG9vbEJhci5VbmRvCQm0X63spFemuMXcsMoKICAgIHRtZW51IFRvb2xCYXIuUmVkbwkJqPqu+KRXpri0X63ssMqnQAoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgdG1lbnUgVG9vbEJhci5DdXQJCbDFpFWm3LDFtkvDrwogICAgdG1lbnUgVG9vbEJhci5Db3B5CQm9xrtzqOywxbZLw68KICAgIHRtZW51IFRvb2xCYXIuUGFzdGUJCaXRsMW2S8OvtkukVwoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgdG1lbnUgVG9vbEJhci5GaW5kCQm0TafkLi4uCiAgICB0bWVudSBUb29sQmFyLkZpbmROZXh0CafkpFWkQK3TCiAgICB0bWVudSBUb29sQmFyLkZpbmRQcmV2CafkpFekQK3TCiAgICB0bWVudSBUb29sQmFyLlJlcGxhY2UJqPqlTi4uLgoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgdG1lbnUgVG9vbEJhci5Mb2FkU2Vzbgm4/KRKIFNlc3Npb24KICAgIHRtZW51IFRvb2xCYXIuU2F2ZVNlc24JwHimc6XYq2WquiBTZXNzaW9uCiAgICB0bWVudSBUb29sQmFyLlJ1blNjcmlwdAmw9abmIFZpbSC1e6ahwMkKIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIHRtZW51IFRvb2xCYXIuTWFrZQkJsPWm5iBNYWtlCiAgICB0bWVudSBUb29sQmFyLlNoZWxsCQm2fbHSpECt06lSpU+mQ7X4taEgRG9zQm94CiAgICB0bWVudSBUb29sQmFyLlJ1bkN0YWdzCbD1puYgY3RhZ3MKICAgIHRtZW51IFRvb2xCYXIuVGFnSnVtcAm49ajspdirZbTlvNCm7LhtqrogdGFnCiAgICB0bWVudSBUb29sQmFyLkhlbHAJCVZpbSC7sqdVu6Gp+gogICAgdG1lbnUgVG9vbEJhci5GaW5kSGVscAm3arRNIFZpbSC7oan6pOWl8wogIGVuZGZ1bgplbmRpZgoiIH19fQoKbGV0ICZjcG8gPSBzOmtlZXBjcG8KdW5sZXQgczprZWVwY3BvCgoiIHZpbTpmb2xkbWV0aG9kPW1hcmtlcjpub3dyYXA6Zm9sZGNvbHVtbj0yOmZvbGRsZXZlbD0xCg==