Creative Commons License

Slides voor Weekend 4 “Biologische Aspecten van Biodanza”, 15/01/2022-16/01/2022, in de Biodanza opleiding Antwerpen

Totale duur van het lesmateriaal: ongeveer 2 uur 10 min.

Volledige Youtube Playlist (19 clips, totale afspeeltijd 129min). De clips zijn ook afzonderlijk te bekijken bij elk onderdeel.


Introductie door Annette Heynderickx


1 Biocentrisch Principe


De theorie van Biodanza heeft Rolando geënt op zijn axioma: ‘biocentrisch principe’.

Het universum is

  • Matrix van het leven
  • Zelforganiserende structuur die leven opbouwt
  • Opgevat als levend organisme

\(\rightarrow\) Uitnodiging om je relatie als menselijk wezen tot de hele biosfeer grondig te herdenken

\(\rightarrow\) Leven is intrensiek sacraal en hoort dus in het hart te liggen van levensbeschouwing/wereldbeeld


1.1 Vivencia

  • Unieke weg om het biocentrisch principe te beleven en om ervan doordrongen te worden.
  • En dat niet door onze mind maar door een dieper innerlijk weten


1.2 Inspiratie bij 3 Nobelprijs Winnaars

  • Erwin Schrödinger: “order-from-disorder”
  • Ilia Prigogine: “Dissipatieve structuren”
  • Christian de Duve: “Life is an obligatory manifestation of matter, written into the fabric of the universe”


2 Biologische Aspecten van de Biodanza



  1. Principes van het kosmische leven en genese van het leven
  2. Evolutie en fylogenese
  3. Ontogenese


3 Wat is Leven?

Youtube Playlist (5 clips, totale afspeeltijd 45 min). De clips zijn ook afzonderlijk te bekijken bij elk onderdeel.


3.1 Schrödinger en Prigogine


Boek: “What Is Life? The Physical Aspect of the Living Cell” (Schrödinger, 1944).

Het leven is

  1. een open systeem dat orde kan creeëren uit chaos door externe energie bronnen uit te buiten: negatieve entropie (entropie is wanorde),

  2. met de capaciteit om zijn eigen specifieke blauwdruk door te geven van generatie op generatie (reproductieve invariantie).

Merk op dat DNA in de tijd van Schrödinger nog niet is gekend.


3.1.1 Hoe kan dit?

  • Tweede hoofdwet van de thermodynamica: een gesloten systeem streeft steeds naar maximale entropie

  • Entropie is graad wanorde

\(\rightarrow\)


  • Leven is

    • gebaseerd op chemische reacties

    • een open systeem

    • energie van de zon

    • chaos van moleculen op aarde

    • Tijdens de chemische reacties die structuur geven wordt ook veel energie verloren in warmte: dissipatie

      \(\rightarrow\) Toename van entropie


Prigogine onderzocht chemische systemen ver uit thermodynamisch evenwicht

  • Open systemen: influx van materie en energie

  • De reacties bevatten typisch veel feedback loops

  • Ze kunnen zelf structuur genereren: chemische klokken, spatiale en spatiotemporale concentratie golven

  • Ze dissiperen hiervoor de inkomende energie

  • Hij noemde ze dissipatieve structuren


Ons zonnestelsel is een dissipatieve zone waar orde uit chaos kan worden gegenereerd.

  • Het leven doet aan entropie productie door de energie in UV en zichtbare fotonen te dissiperen in warmte door organische pigmenten (vb. chlorofyl).

  • Deze hitte induceert secundaire dissipatieve processen zoals de water cyclus, wind en zeestromingen, orkanen, enz.


3.2 Definitie volgens de Duve





Boek: “Life Evolving - Molecules, Mind and Meaning” (de Duve, 2002)

Het Leven is

  1. één
  2. chemie
  3. informatie


Ontstaan van leven:

  • eerst energie
  • vervolgens chemie en
  • daarna informatie


3.2.1 Het leven is één




3.2.1.1 Alle organismen zijn opgebouwd uit cellen

  • Eencelligen


(Cyanobacterium, bron: Chisholm Lab, wikipedia)


  • Essentieel is dat ze een membraan hebben die hen afscheid van de omgeving en interactie met omgeving mogelijk maakt.


  • Meercelligen


(bron: pmgbiology)


3.2.1.2 LUCA (last Universal Common Ancestor).

  • Alle cellen komen voort uit een gemeenschappelijke populatie voorouderlijke cellen.

(Bron: wikipedia)


3.2.1.3 Universele brandstof voor leven (is eigenlijk geen verbranding maar chemie)

(bron: adapted from wikipedia)

  • ATP: Adinose-tri-phosphate
  • Merk op dat AMP een van de bouwblokken is van RNA
  • Link tussen energie en informatie!


3.2.1.4 Zelfde bouwblokken voor alle levende organismen

  1. Lipiden (vetachtige substanties): membranen afscheiding
  2. Koolhydraten (suikers): energie + bouwblok
  3. Aminozuren: basisbouwblokken van eiwitten de werkpaarden van een cel
  4. Nucleine-zuren: basisbouwblokken van RNA en DNA


3.2.1.4.1 Lipiden

(bron: Doug Hatfield, wikipedia)


3.2.1.4.2 Koolhydraten

(bron: thebiologynotes.com)


3.2.1.4.3 Aminozuren

(bron: thebiologynotes.com)


3.2.1.4.4 Nucleïne zuren
  • Bouwblokken voor dragers van erfelijk materiaal RNA en DNA


(RNA, bron: wikipedia)



(DNA, bron: OpenStax, wikipedia)



(bron: Sponk, wikipedia)


3.2.1.5 Zelfde genetische code (zie Het Leven is Informatie)


3.2.2 Het Leven is Chemie




(bron: Dr. Gerhard Michal, Roche)

3.2.2.1 Energie

(bron: wikipedia)


3.2.2.2 Katalyse

(bron: Narayanese, wikipedia)




“Any living organism is a reflection of its enzyme arsenal”

  • Katalyse: Groot aantal chemische reacties die nooit zouden gebeuren wanneer we de molecules gewoon zouden mengen zonder een katalysator

  • Katalysator: een chemische verbinding die de reactie help plaatsvinden zonder hierbij te worden verbruikt.

  • Biologische katalysatoren worden enzymes genoemd.

  • Enzymes zijn eiwitten die

    • de bepaalde molecules vissen uit het complex mengsel van de cel,
    • dat uit duizenden verbindingen bestaan,
    • en dat meestal met een lage concentratie;
    • d.m.v. bindingssites die deze moleculen (ook substraten genoemd) samenbrengen in 3D zodat deze kunnen reageren en een nieuwe verbinding kunnen vormen.


3.2.2.3 Zelforganisatie

  • Sommige eiwitten geven ook structuur aan de cel
  • Ze kunnen zich spontaan zelf organiseren
  • Zie video waarbij cytoplasma (celsap) werd gehomogeniseerd dat zich daarna spontaan herorganiseerd in celachtige structuren.


(bron: Science DOI: 10.1126/science.aav7793)


De onderzoekers vonden dat volgende nodig was hiervoor:

  • ATP de energiebron van een cel
  • soort filamenteuze proteinen (microtubuli)
  • Dynein, een soort motor proteine


(bron: Pakorn Kanchanawong, wikipedia)


Proteinen spelen dus een centrale rol in het leven: katalyse + structuur

Een cel erft van de moedercel niet alleen erfelijk materiaal maar ook spatiale organisatie door haar bestaande macro-moleculaire componenten.


3.2.3 Het Leven is informatie




  • Gen: basiseenheid van erfelijk materiaal, een DNA sequentie die codeert voor de synthese van een gen product, een eiwit of een functioneel RNA.

(bron: Thomas Shafee, wikipedia)


  • DNA: 4 letter code (4 basen: ACGT)
  • RNA: 4 letter code (4 basen: ACGU)


(bron: Sponk, wikipedia)



(bron: tokresources.org)


  • Principe: hybridisatie van complementaire basen!
  • Transport RNA: codon (triplet van 3 basen) per aminozuur die wordt aangebracht


  • Eiwit: keten opgebouwd uit aminozuren

    • er bestaan meer dan 400 aminozuren
    • enkel 20 werden geselecteerd door het leven om eiwitten te bouwen


(bron: wikipedia)


  • Code is zo geëvolueerd dat veel mutaties leiden tot

    • synonieme codons (zelfde aminozuur) of
    • tot inbouwen van aminozuur dat niet erg sterk verschillend is \(\rightarrow\) eiwit functie blijft behouden


  • DNA is enkel de drager van ergelijk materiaal (te vergelijken met harde schijf)

  • RNA speelt een meer centrale rol:

    • Messenger RNA (te vergelijken met werkgeheugen van een cel)
    • Ribozymen: katalitische functie
      • transfer RNA bij translatie tot eiwitten
      • in ribosomen bij translatie tot eiwitten
      • nog vele andere rybozymen
    • RNA primer noodzakelijk voor kopieren van DNA
    • Drager van erfelijk materiaal (vb corona virus)


4 Principes van het Kosmische Leven en Genese van het Leven

Youtube Playlist (2 clips, totale afspeeltijd 19 min). De clips zijn ook afzonderlijk te bekijken bij elk onderdeel.


Intro


4.1 Ontstaan van het heelal





(bron: NASA/WMAP Science Team, wikipedia)


4.2 Ontstaan van eerste sterren

  • Na afkoelen van expanderende heelal
  • Gaswolken die vooral bestaan uit waterstof (H) en helium (He)


(bron: universe-review.ca)


  • Concentratie verschillen in de wolk

\(\rightarrow\) zwaartekracht trekt wolk verder samen

\(\rightarrow\) implosie van wolken

\(\rightarrow\) stervorming: grote opwarming in middenste van geimplodeerde nevel door zwaartekracht

\(\rightarrow\) condities waardoor kern fusie mogelijk wordt

\(\rightarrow\) omzetten van lichte atomen naar zwaardere atomen waarbij heel veel energie vrijkomt


4.3 Kernfusie


(bron: Sarang, wikipedia)


  • Als alle waterstof opgebruikt is, vorming van zwaardere atomen veelal tijdens supernova (ontploffing van de ster)



(bron: www.universetoday.com)


  • Kernfusie in sterren tot ijzer


(bron: Fastfission, wikipedia)


  • Alle zwaardere atomen zijn gemaakt in de sterren \(\rightarrow\) we zijn opgebouwd uit kosmische stof!

  • Na supernova is er opnieuw een nevel waaruit weer nieuwe sterren kunnen ontstaan.


4.4 Koolstofverbindingen in interstellaire ruimte

  • Poly aromatische koolstof verbindingen (PAHs) in de interstellaire ruimte

    • Cat’s paw nebula in melkweg.
    • Groene regio’s zijn gebieden waarin straling van hete sterren PAHs doet fluoresceren.


(bron: NASA/JPL-Caltech, wikipedia)


  • PAHs werder al kort na de Big Bang gegenereerd.

  • Worden in interstellaire ruimte verder getransformeerd

    • hydrogenatie: waterstoffen,
    • oxidatie: zuurstof,
    • hydroxylatie (OH)

\(\rightarrow\) eerste stap naar aminozuren (bouwblokken eiwitten) en nucleotiden (bouwblokken RNA en DNA).


4.5 Ontstaan van het zonnestelsel en de genese van het leven





(Author: Matthew Twombly)


Na afkoeling van de aarde is er water:


(bron: wikipedia)


  • Merkwaardige molecule: vloeibaar bij vrij lage temperaturen door waterstof bruggen
  • Vloeibaar water essentieel voor leven
  • Stolt met volume vergroting!


RNA

  • Merk op dat RNA bestaat uit AMP, CMP, GMP en UMP
  • Biologische energie “coin”: ATP zelfde molecule maar met 3 fosfaatgroepen (zie ATP/ADP)
  • Recent onderzoek toont aan dat RNA ook bijzonder katalytisch is en zichzelf kan repliceren in condities zonder zuurstof en in aanwezigheid van ijze (e.g. Williams et al, Nat.Chem., 2013, DOI: 10.1038/nchem.1649)


5 Evolutie en Fylogenese

Youtube Playlist (7 clips, totale afspeeltijd 37 min). De clips zijn ook afzonderlijk te bekijken bij elk onderdeel.


Intro




(Bron: wikipedia)


5.1 Evolutie

5.1.1 Variatie en Selectie




Bacteria & Archae

(bron: Ecoddington, wikipedia)

Eukaryota (Bron: Ali Zifan, wikipedia)



(bron: wikipedia)


  • Foutenmarge bij DNA replicatie: 1 fout per miljard baseparen die wordt gekopieerd (Menselijk genoom 6.4 miljard baseparen)

  • Inserties/deleties: baseparen die worden toegevoegd of verwijderd

  • Recombinatie: herschikking van genetische eigenschappen, bijvoorbeeld bij geslachtelijke voortplanting (andere combinatie van genen dan beide ouders) \(\rightarrow\) Mutaties
    \(\rightarrow\) Natuurlijke variabiliteit

  • Meeste mutaties zijn veelal neutraal \(\rightarrow\) Moleculaire/Genetische Klok

  • Maar soms ook niet



(Bron: Thomas Samuel (1), OpenStax College (2), BruceBlaus(3), wikipedia)


  • Komt vooral in Afrika voor.
  • Waarom blijft deze mutatie bestaan?
  • Selectie door ecofactoren: omdat het resistentie geeft tegen malaria


5.1.2 Evolutie




  • Natuurlijk proces dat aan de basis ligt van het ontstaan van alle soorten (planten, dieren, bacteriën, schimmels, … en mensachtigen)

  • Eindresultaat van twee tegenwerkende krachten: variatie en selectie

  • Variatie door spontaan optreden van foutjes in de genetische code: mutaties

  • Selectie door combinatie van omgevingsomstandigheden en mutatie, is mutatie gunstig of schadelijk is voor bepaald organisme in deze omgeving

  • Kans dat een mutatie wordt overgedragen, afhankelijk van voortplantingssucces

  • Proces van mutatie en selectie kan over veel generaties leiden tot nieuwe soort


5.1.3 Genetische drift




  • Genetische drift: toevallige fluctuatie van allelen

  • Vooral sterk in kleine populaties

  • In tegenstelling tot selectie niet adaptief

  • Ontstaan van nieuwe soort gaat sneller als een klein deel van de populatie wordt afgesplitst in een nieuw milieu.


5.1.4 Horizontale genuitwisseling




- Niet sexuele uitwisseling van genetische informatie

  • Veelvuldig tussen prokaryoten (eubacteria en arachae bacteria)

    • vb uitwisseling resistentie tegen antibiotica
  • tussen eukaryoten (vooral protisten, eencellige organismen met celkern)

  • tussen prokaryoten (eubacteria en arachae bacteria) en eukaryoten (protisten, planten en dieren)


5.1.5 Teleonomie




  • Er is enkel het unieke primitieve doel van behoud en reproductie van de soort.

  • Evolutie heeft verder geen doel of richting

  • Bij het ontstaan van complexe organen en organismen kan het lijken alsof er een richting is/alsof die met een doel zijn ontstaan, maar dat is er niet.



(bron: Matticus78, wikipedia)


  • Een oog is niet door de evolutie ontwikkeld met het doel om te zien.

  • Het oog heeft enkel de functie om te zien

  • Het is het resultaat van een gradueel proces waarbij elke aanpassing weer reproductief voordeel gaf in dat bepaald milieu.

  • In een andere omgeving kan het niet langer nuttig zijn, bv mol en verdwijnt de functie weer

  • Het ontstaan van een soort is het resultaat van evolutie, maar niet het doel van evolutie.

  • evolutie: is aanpassing met als doel behoud en reproductie


5.1.5.1 Evolutie heeft geen richting

  • Verdeling van aantal species en complexiteit


(bron: Stephen J. Gould, 1996, Full House: the spread of Excellence from Plato To Darwin)

  • Verdeling van massa koolstof die vastligt in verschillende types organismen


(Massa in giga ton koolstof. Bron: doi.org/10.1073/pnas.1711842115)


  • Wel heel grote foutenmarge op bacteriën (kan factor 10 hoger zijn).

  • Aantal bacteriële cellen in ons lichaam (bron: doi.org/10.1371/journal.pbio.1002533):

    • #bacteriële cellen/#menselijke cellen vroeger geschat op\(\pm\) 10/1
    • recente schatting \(\pm\) 1/1.
    • Mens van 70kg \(\pm\) 38 biljoen bacteriële cellen/30 biljoen humane cellen (biljoen: 1000 miljard).


5.2 Fylogenese




Ontstaan van alle soorten door evolutie


(Bron: wikipedia)

  • Het ontstaan van soorten en aanpassing aan het milieu noemt Rolando ook evolutionaire differentiatie.


5.2.1 Tijdschaal

4.5 BYA 4.3 BYA 3.8 BYA 3.5 BYA 540 MYA 520 MYA

(bron: naturedocumetaries.org)

  • Black Earth (4.5 BYA): heet basalt gesteente en stof in koud vacuum

  • Grey Earth (4.3 BYA): graniet

  • Blue Earth (3.8 BYA): water

  • Red Earth (3.5 BYA): Radicale verandering door leven.

    • Cyanobacteria die fotosynthese doen.
    • Zuurstof.
    • Alle ijzer in oceaan precipiteert als roest (rood).
    • Van 250 \(\rightarrow\) > 5000 mineralen.
    • Massale uitsterfte van leven.
  • White Earth (540 MYA)

    • Grote ijstijd
    • Massale uitsterfte van leven
    • Vulcanische activiteit was redding: broeikasgassen
  • Green Earth (520 MYA)

    • Explosie leven
    • Van eencellig naar meer complex leven


5.2.2 Kantelpunt: Genese van eukaryote cel

Twee archetypes: prokaryoten (eenvoudige cellen, 0.1 to 5.0 \(\mu m\)) en eukaryoten (grotere meer complexe cellen, 10-100 \(\mu m\))


(bron: Ali Zifan (1) & Mariana Ruiz Villarreal (2 & 3), wikipedia)


  • 3.5 BYA - 520 MYA enkel prokaryote cellen teruggevonden in fosielen


Genese van Eukaryote cel door endosymbiosis:


(bron: Kelvinsong, wikipedia)


  • Prokaryoten: reproductie door celdeling, mutatie gefixeerd in alle dochtercellen


  • Eukaryoten: bijnal allemaal een fase met sexuele reproductie

    • veel meer variatie: recombinatie van chromosomen
    • bij diploide organismen zijn er twee kopieën van elk gen (vader en moeder) \(\rightarrow\) opeenvolgende mutaties van 1 kopie mogelijk terwijl nog een andere functionele kopie is van het gen.


  • Eukaryote cellen evolueren verder in

    • protisten (eencelligen)
    • planten
    • dieren


Genetische informatie van een soort kan ook worden gezien als een soort “logboek” van de milieus en ontwikkeling die ze heeft ondergaan tot dit punt.


5.3 Evolutie van evolutie

  1. Chemische evolutie: selectie van bouwblokken en complexe chemie

  2. Biologische evolutie: cel/organisme \(\rightarrow\) selectie genetische informatie and functie

  3. Culturele evolutie die natuurlijke evolutie soms bypassed:

    • artificiële selectie: plantenveredeling, huisdieren/vee, genetische manipulatie, …
    • Technologie: snelle aanpassing aan nieuw milieu, adaptatie van milieu


6 Ontogenese

Youtube Playlist (2 clips, totale afspeeltijd 20 min). De clips zijn ook afzonderlijk te bekijken bij elk onderdeel.


Intro




  • Ontogenese: ontwikkeling van een organisme van eicel tot overlijden van volwassen individu.

  • Elke cel van meercellig organisme bevat zelfde erfelijk materiaal!

  • Waarom zijn cellen van zelfde organisme nu zo verschillend?


6.1 Epigenetica


(bron: NIH, wikipedia)



(bron: Mariuswalter, wikipedia)


  • Differentiatie \(\rightarrow\) epigenetica

  • Epigenetica: epigenetische merkers op DNA en histonen \(\rightarrow\) gen kan worden afgelezen of niet.

  • Epigenetica wordt beïnvoeld door ecofactoren.

  • Eeneiige tweelingen zelfde genoom, verschillen steeds meer gedurende het leven: epigenetica


(Verschil door ecofactor UV-blootstelling, bron: Swab & Hogenson, DOI: 10.1007/978-3-319-31143-2_65-1)



(Bron doi: 10.1111/j.1526-4637.2012.01488.x)


  • Epigenetica heel belangrijk bij ontwikkeling van het brein en leren

  • Wiring of the brain:

    • Erfelijk
    • Random
    • Ecofactoren selecteren en amplificeren verbindingen
    • Verbindingen die niet worden gebruikt verdwijnen
    • Communicatie (via alle zintuigen) is key bij ontwikkeling van kinderbrein


6.2 Ontogenese in Biodanza





  • Ontogenese kan worden gezien als de tijdsas in het model!

  • Vivencia werkt sterk in op brein \(\rightarrow\) de sensaties die we hierbij ervaren zijn afkomstig van de genen van allerlei hormonen en neurotransmitters die tot expressie worden gebracht.

  • Langdurig beoefenenen van Biodanza kan epigenetica beïnvloeden en dus hoe genetisch potentieel wordt benut.

  • Onze tool?

    • Regressie en identiteit in de 5 lijnen
    • de pulsatie tussen regressie en identiteit is nodig want een organisme filtert prikkels weg die continu zijn!
  • Aangetoond dat mind-body technieken (meditatie, qigong, tai chi, yoga) celverjonging kunnen induceren door activatie van het gen dat codeert voor teleomerase (The telomere effect (Jonger worden), Nobelprijs winnares Elizabeth Blackburn en Elissa Epel)


7 Slotopmerkingen

  • Het leven is
    • één
    • chemie
    • informatie


  • Het kosmische leven

    • In de sterren ontstonden de atomen van het leven

    • In het stof van de sterren werden deze omgezet tot essentiële moleculen en bouwblokken van het leven die alom aanwezig in de kosmos

    • Onder de juiste condities structureren deze bouwblokken zich spontaan tot leven zoals we dat kennen

    • Eerst was er energie, toen kwam chemie en daarna informatie: samen zijn ze het leven

    • Vanuit de quantum mechanica en relativiteitstheorie zien we materie niet langer passief of inert maar

      • als een vorm van energie
      • met een dynamische natuur
      • op atomaire schaal en subatomaire schaal is er heel veel leegte waarin er een continue dans en pulserende beweging is van electronen, protonen, neutronen, atomen en moleculen
    • Dualisme (materie, ziel) \(\rightarrow\) monoisme (materie)

    • Het leven is een obligate manifestatie van materie die is geschreven in het weefsel van de kosmos (Christian de Duve)


  • Organismen en leven kan niet worden bestudeerd los van hun intieme relatie met hun milieu/ecosysteem

    • moleculen werken niet alleen maar in grote netwerken

    • omgevingscondities zijn belangrijk voor zelforganisatie

    • selectieve evolutie: selectie door ecofactoren

    • organismen veranderen/shapen ook op hun beurt het milieu en ecofactoren: denk maar aan de cyanobacteriën

    • individuele evolutie: ecofactoren \(\leftrightarrow\) epigenetica

    • ecofactoren worden ook bepaald door andere organismen: ecosysteem

    • Organismen interageren en werken samen in het ecosysteem

    • Genetische informatie kan als het ware worden gezien als “logboek” van alle condities waarin onze voorouderlijke cellen hebben geleefd.

      \(\rightarrow\) “Web of Life”


  • Met Biodanza kunnen we de ontogenese beïnvloeden of
  • Hoe onze genen worden gebruikt in onze cellen!


LS0tCnRpdGxlOiAiQmlvbG9naXNjaGUgQXNwZWN0ZW4gdmFuIEJpb2RhbnphLCBHYXN0bGVzIGluIEJpb2RhbnphIE9wbGVpZGluZyBBbnR3ZXJwZW4iCmF1dGhvcjogIkxpZXZlbiBDbGVtZW50IgpkYXRlOiAiW0Jpb2RhbnphIEJydWdnZV0oaHR0cHM6Ly9iaW9kYW56YWJydWdnZS5iZSkgJiBbc3RhdE9taWNzXShodHRwczovL3N0YXRvbWljcy5naXRodWIuaW8pIgpvdXRwdXQ6CiAgICBodG1sX2RvY3VtZW50OgogICAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCiAgICAgIHRvYzogdHJ1ZQogICAgICB0b2NfZmxvYXQ6IHRydWUKICAgICAgaGlnaGxpZ2h0OiB0YW5nbwogICAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUKLS0tCgo8YSByZWw9ImxpY2Vuc2UiIGhyZWY9Imh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uYy1zYS80LjAiPjxpbWcgYWx0PSJDcmVhdGl2ZSBDb21tb25zIExpY2Vuc2UiIHN0eWxlPSJib3JkZXItd2lkdGg6MCIgc3JjPSJodHRwczovL2kuY3JlYXRpdmVjb21tb25zLm9yZy9sL2J5LW5jLXNhLzQuMC84OHgzMS5wbmciIC8+PC9hPgoKU2xpZGVzIHZvb3IgV2Vla2VuZCA0ICJCaW9sb2dpc2NoZSBBc3BlY3RlbiB2YW4gQmlvZGFuemEiLCAxNS8wMS8yMDIyLTE2LzAxLzIwMjIsIGluIGRlIFtCaW9kYW56YSBvcGxlaWRpbmcgQW50d2VycGVuXShodHRwczovL3d3dy5iaW9kYW56YXNjaG9vbGFudHdlcnBlbi5iZS9iaW9kYW56YS1vcGxlaWRpbmcpCgpUb3RhbGUgZHV1ciB2YW4gaGV0IGxlc21hdGVyaWFhbDogb25nZXZlZXIgMiB1dXIgMTAgbWluLgoKKipWb2xsZWRpZ2UgWW91dHViZSBQbGF5bGlzdCAoMTkgY2xpcHMsIHRvdGFsZSBhZnNwZWVsdGlqZCAxMjltaW4pKiouIERlIGNsaXBzIHppam4gb29rIGFmem9uZGVybGlqayB0ZSBiZWtpamtlbiBiaWogZWxrIG9uZGVyZGVlbC4gCgo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1Ni4yNSU7Ij4KPGlmcmFtZSAKc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC92aWRlb3Nlcmllcz9saXN0PVBMS0FGTy1IQXAyR3pKSVNJS2xESHRYWmM1NzNSTG4xUEciIHN0eWxlPSIgcG9zaXRpb246YWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyIKdGl0bGU9IllvdVR1YmUgdmlkZW8gcGxheWVyIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4KPC9kaXY+Cgo8L2JyPgoKCiMgSW50cm9kdWN0aWUgZG9vciBBbm5ldHRlIEhleW5kZXJpY2t4IHstfQo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1Ni4yNSU7Ij4KPGlmcmFtZQpzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL0pWMUlNS3RBZFpRIgpmcmFtZWJvcmRlcj0iMCIKc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7IgphbGxvdz0iYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYSIgYWxsb3dmdWxsc2NyZWVuIGRhdGEtZXh0ZXJuYWw9IjEiIHN0YXJ0PTg+PC9pZnJhbWU+CjwvZGl2Pgo8L2JyPiAKCiMgQmlvY2VudHJpc2NoIFByaW5jaXBlIAo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1Ni4yNSU7Ij4KPGlmcmFtZQpzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL1RSdUJ0TXdUWVg0IgpmcmFtZWJvcmRlcj0iMCIKc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7IgphbGxvdz0iYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYSIgYWxsb3dmdWxsc2NyZWVuIGRhdGEtZXh0ZXJuYWw9IjEiIHN0YXJ0PTg+PC9pZnJhbWU+CjwvZGl2Pgo8L2JyPiAKCkRlIHRoZW9yaWUgdmFuIEJpb2RhbnphIGhlZWZ0IFJvbGFuZG8gZ2XDq250IG9wIHppam4gYXhpb21hOiDigJhiaW9jZW50cmlzY2ggcHJpbmNpcGXigJkuIAoKSGV0IHVuaXZlcnN1bSBpcwogICAgICAgIAotIE1hdHJpeCB2YW4gaGV0IGxldmVuIAotIFplbGZvcmdhbmlzZXJlbmRlIHN0cnVjdHV1ciBkaWUgbGV2ZW4gb3Bib3V3dCAKLSBPcGdldmF0IGFscyBsZXZlbmQgb3JnYW5pc21lCiAKCiRccmlnaHRhcnJvdyQgVWl0bm9kaWdpbmcgb20gamUgcmVsYXRpZSBhbHMgbWVuc2VsaWprIHdlemVuIHRvdCBkZSBoZWxlIGJpb3NmZWVyIGdyb25kaWcgdGUgaGVyZGVua2VuICAKCiRccmlnaHRhcnJvdyQgTGV2ZW4gaXMgaW50cmVuc2llayBzYWNyYWFsIGVuIGhvb3J0IGR1cyBpbiBoZXQgaGFydCB0ZSBsaWdnZW4gdmFuIGxldmVuc2Jlc2Nob3V3aW5nL3dlcmVsZGJlZWxkICAKCjwvYnI+ICAKCiMjIFZpdmVuY2lhCgotIFVuaWVrZSB3ZWcgb20gaGV0IGJpb2NlbnRyaXNjaCBwcmluY2lwZSB0ZSBiZWxldmVuIGVuIG9tIGVydmFuIGRvb3Jkcm9uZ2VuIHRlIHdvcmRlbi4KLSBFbiBkYXQgbmlldCBkb29yIG9uemUgbWluZCBtYWFyIGRvb3IgZWVuIGRpZXBlciBpbm5lcmxpamsgd2V0ZW4KICAKPC9icj4gIAoKIyMgSW5zcGlyYXRpZSBiaWogMyBOb2JlbHByaWpzIFdpbm5hYXJzCgotIEVyd2luIFNjaHLDtmRpbmdlcjogIm9yZGVyLWZyb20tZGlzb3JkZXIiIAotIElsaWEgUHJpZ29naW5lOiAiRGlzc2lwYXRpZXZlIHN0cnVjdHVyZW4iIAotIENocmlzdGlhbiBkZSBEdXZlOiAiTGlmZSBpcyBhbiBvYmxpZ2F0b3J5IG1hbmlmZXN0YXRpb24gb2YgbWF0dGVyLCB3cml0dGVuIGludG8gdGhlIGZhYnJpYyBvZiB0aGUgdW5pdmVyc2UiCgo8L2JyPiAgCgojIEJpb2xvZ2lzY2hlIEFzcGVjdGVuIHZhbiBkZSBCaW9kYW56YQoKPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAxMDAlO2hlaWdodDogMDtwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyI+CjxpZnJhbWUKc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9TMEJKT3NBd1hkSSIKZnJhbWVib3JkZXI9IjAiCnN0eWxlPSIgcG9zaXRpb246YWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyIKYWxsb3c9ImF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWEiIGFsbG93ZnVsbHNjcmVlbiBkYXRhLWV4dGVybmFsPSIxIiBzdGFydD04PjwvaWZyYW1lPgo8L2Rpdj4KPC9icj4KPC9icj4KPGNlbnRlcj4KIVtdKC4vZmlncy9iaW9kYW56YU1vZGVsLnBuZyl7d2lkdGg9NTAlfQo8L2NlbnRlcj4KCjEuIFByaW5jaXBlcyB2YW4gaGV0IGtvc21pc2NoZSBsZXZlbiBlbiBnZW5lc2UgdmFuIGhldCBsZXZlbgoyLiBFdm9sdXRpZSBlbiBmeWxvZ2VuZXNlCjMuIE9udG9nZW5lc2UgIAogIAo8L2JyPiAgCgojIFdhdCBpcyBMZXZlbj8KCioqWW91dHViZSBQbGF5bGlzdCAoNSBjbGlwcywgdG90YWxlIGFmc3BlZWx0aWpkIDQ1IG1pbikqKi4gRGUgY2xpcHMgemlqbiBvb2sgYWZ6b25kZXJsaWprIHRlIGJla2lqa2VuIGJpaiBlbGsgb25kZXJkZWVsLgo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1Ni4yNSU7Ij4KPGlmcmFtZSAKc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC92aWRlb3Nlcmllcz9saXN0PVBMS0FGTy1IQXAyR3dYN09UeDRIbU1WejFfX3dmbmJsMlciIHN0eWxlPSIgcG9zaXRpb246YWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyIKdGl0bGU9IllvdVR1YmUgdmlkZW8gcGxheWVyIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4KPC9kaXY+CjwvYnI+CgoKIyMgU2NocsO2ZGluZ2VyIGVuIFByaWdvZ2luZQo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1Ni4yNSU7Ij4KPGlmcmFtZQpzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL002TF9lM00xSDRFIgpmcmFtZWJvcmRlcj0iMCIKc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7IgphbGxvdz0iYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYSIgYWxsb3dmdWxsc2NyZWVuIGRhdGEtZXh0ZXJuYWw9IjEiIHN0YXJ0PTg+PC9pZnJhbWU+CjwvZGl2Pgo8L2JyPiAKCkJvZWs6ICJXaGF0IElzIExpZmU/IFRoZSBQaHlzaWNhbCBBc3BlY3Qgb2YgdGhlIExpdmluZyBDZWxsIiAoU2NocsO2ZGluZ2VyLCAxOTQ0KS4gCgpIZXQgbGV2ZW4gaXMgCgoxLiBlZW4gb3BlbiBzeXN0ZWVtIGRhdCBvcmRlIGthbiBjcmVlw6tyZW4gdWl0IGNoYW9zIGRvb3IgZXh0ZXJuZSBlbmVyZ2llIGJyb25uZW4gdWl0IHRlIGJ1aXRlbjogbmVnYXRpZXZlIGVudHJvcGllIChlbnRyb3BpZSBpcyB3YW5vcmRlKSwKCjIuIG1ldCBkZSBjYXBhY2l0ZWl0IG9tIHppam4gZWlnZW4gc3BlY2lmaWVrZSBibGF1d2RydWsgZG9vciB0ZSBnZXZlbiB2YW4gZ2VuZXJhdGllIG9wIGdlbmVyYXRpZSAocmVwcm9kdWN0aWV2ZSBpbnZhcmlhbnRpZSkuIAoKTWVyayBvcCBkYXQgRE5BIGluIGRlIHRpamQgdmFuIFNjaHLDtmRpbmdlciBub2cgbmlldCBpcyBnZWtlbmQuCgoKPC9icj4gIAoKIyMjIEhvZSBrYW4gZGl0PyAKCi0gVHdlZWRlIGhvb2Zkd2V0IHZhbiBkZSB0aGVybW9keW5hbWljYTogZWVuIGdlc2xvdGVuIHN5c3RlZW0gc3RyZWVmdCBzdGVlZHMgbmFhciBtYXhpbWFsZSBlbnRyb3BpZQoKLSBFbnRyb3BpZSBpcyBncmFhZCB3YW5vcmRlCgo8Y2VudGVyPiFbXShodHRwczovL3d3dy5oYW5keXNxdWFkLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyMC8xMC90aWUtdXAtY2FibGVzLmpwZyl7d2lkdGg9MzAlfSAkXHJpZ2h0YXJyb3ckICFbXShodHRwczovL2VhZG4td2MwNS0yMDE0ODkubnhlZGdlLmlvL2Nkbi93cC1jb250ZW50L3VwbG9hZHMvMjAxOC8wOS9FbnRyb3B5Q2hhb3MyLTcwMC00NjcuanBnKXt3aWR0aD0zMCV9CjwvY2VudGVyPgoKPC9icj4KCi0gTGV2ZW4gaXMgCiAgICAKICAgIC0gZ2ViYXNlZXJkIG9wIGNoZW1pc2NoZSByZWFjdGllcwogICAgLSBlZW4gb3BlbiBzeXN0ZWVtCiAgICAtIGVuZXJnaWUgdmFuIGRlIHpvbiAKICAgIC0gY2hhb3MgdmFuIG1vbGVjdWxlbiBvcCBhYXJkZSAKICAgIC0gVGlqZGVucyBkZSBjaGVtaXNjaGUgcmVhY3RpZXMgZGllIHN0cnVjdHV1ciBnZXZlbiB3b3JkdCBvb2sgdmVlbCBlbmVyZ2llIHZlcmxvcmVuIGluIHdhcm10ZTogZGlzc2lwYXRpZSAgCiAgICAgIAogICAgICAkXHJpZ2h0YXJyb3ckIFRvZW5hbWUgdmFuIGVudHJvcGllCgo8L2JyPgoKUHJpZ29naW5lIG9uZGVyem9jaHQgY2hlbWlzY2hlIHN5c3RlbWVuIHZlciB1aXQgdGhlcm1vZHluYW1pc2NoIGV2ZW53aWNodCAgCgotIE9wZW4gc3lzdGVtZW46IGluZmx1eCB2YW4gbWF0ZXJpZSBlbiBlbmVyZ2llICAKCi0gRGUgcmVhY3RpZXMgYmV2YXR0ZW4gdHlwaXNjaCB2ZWVsIGZlZWRiYWNrIGxvb3BzICAKCi0gWmUga3VubmVuIHplbGYgc3RydWN0dXVyIGdlbmVyZXJlbjogY2hlbWlzY2hlIGtsb2trZW4sIHNwYXRpYWxlIGVuIHNwYXRpb3RlbXBvcmFsZSBjb25jZW50cmF0aWUgZ29sdmVuICAKCi0gWmUgZGlzc2lwZXJlbiBoaWVydm9vciBkZSBpbmtvbWVuZGUgZW5lcmdpZSAgCgotIEhpaiBub2VtZGUgemUgZGlzc2lwYXRpZXZlIHN0cnVjdHVyZW4gIAoKPC9icj4KCk9ucyB6b25uZXN0ZWxzZWwgaXMgZWVuIGRpc3NpcGF0aWV2ZSB6b25lIHdhYXIgb3JkZSB1aXQgY2hhb3Mga2FuIHdvcmRlbiBnZWdlbmVyZWVyZC4gIAoKLSBIZXQgbGV2ZW4gZG9ldCBhYW4gZW50cm9waWUgcHJvZHVjdGllIGRvb3IgZGUgZW5lcmdpZSBpbiBVViBlbiB6aWNodGJhcmUgZm90b25lbiB0ZSBkaXNzaXBlcmVuIGluIHdhcm10ZSBkb29yIG9yZ2FuaXNjaGUgcGlnbWVudGVuICh2Yi4gY2hsb3JvZnlsKS4gIAoKLSBEZXplIGhpdHRlIGluZHVjZWVydCBzZWN1bmRhaXJlIGRpc3NpcGF0aWV2ZSBwcm9jZXNzZW4gem9hbHMgZGUgd2F0ZXIgY3ljbHVzLCB3aW5kIGVuIHplZXN0cm9taW5nZW4sIG9ya2FuZW4sIGVuei4KCjwvYnI+ICAKCiMjIERlZmluaXRpZSB2b2xnZW5zIGRlIER1dmUKCjwvYnI+ICAKPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAxMDAlO2hlaWdodDogMDtwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyI+CjxpZnJhbWUKc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9lQmh4am5kWDBKMCIKZnJhbWVib3JkZXI9IjAiCnN0eWxlPSIgcG9zaXRpb246YWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyIKYWxsb3c9ImF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWEiIGFsbG93ZnVsbHNjcmVlbiBkYXRhLWV4dGVybmFsPSIxIiBzdGFydD04PjwvaWZyYW1lPgo8L2Rpdj4KPC9icj4gCgo8L2JyPgoKQm9lazogIkxpZmUgRXZvbHZpbmcgLSBNb2xlY3VsZXMsIE1pbmQgYW5kIE1lYW5pbmciIChkZSBEdXZlLCAyMDAyKQoKSGV0IExldmVuIGlzIAoKMS4gw6nDqW4KMi4gY2hlbWllCjMuIGluZm9ybWF0aWUgCgo8L2JyPiAgCgpPbnRzdGFhbiB2YW4gbGV2ZW46CgotIGVlcnN0IGVuZXJnaWUKLSB2ZXJ2b2xnZW5zIGNoZW1pZSBlbiAKLSBkYWFybmEgaW5mb3JtYXRpZSAKCjwvYnI+ICAKCiMjIyBIZXQgbGV2ZW4gaXMgw6nDqW4KCjwvYnI+ICAKPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAxMDAlO2hlaWdodDogMDtwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyI+CjxpZnJhbWUKc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9CMnhrNFNMR29GOCIKZnJhbWVib3JkZXI9IjAiCnN0eWxlPSIgcG9zaXRpb246YWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyIKYWxsb3c9ImF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWEiIGFsbG93ZnVsbHNjcmVlbiBkYXRhLWV4dGVybmFsPSIxIiBzdGFydD04PjwvaWZyYW1lPgo8L2Rpdj4KPC9icj4gCgojIyMjIEFsbGUgb3JnYW5pc21lbiB6aWpuIG9wZ2Vib3V3ZCB1aXQgY2VsbGVuCgotIEVlbmNlbGxpZ2VuCgohW10oLi9maWdzL1Byb2NobG9yb2NvY2N1c19tYXJpbnVzLmpwZyl7d2lkdGg9NTAlfSAgCihDeWFub2JhY3Rlcml1bSwgYnJvbjogQ2hpc2hvbG0gTGFiLCB3aWtpcGVkaWEpIAoKPC9icj4gIAoKLSBFc3NlbnRpZWVsIGlzIGRhdCB6ZSBlZW4gbWVtYnJhYW4gaGViYmVuIGRpZSBoZW4gYWZzY2hlaWQgdmFuIGRlIG9tZ2V2aW5nIGVuIGludGVyYWN0aWUgbWV0IG9tZ2V2aW5nIG1vZ2VsaWprIG1hYWt0LiAKCjwvYnI+ICAKCi0gTWVlcmNlbGxpZ2VuIAoKIVtdKGh0dHBzOi8vcG1nYmlvbG9neS5maWxlcy53b3JkcHJlc3MuY29tLzIwMTUvMDMvbGV2ZWxzb2Zvcmdhbml6YXRpb24uanBnKSAgCihicm9uOiBwbWdiaW9sb2d5KQoKPC9icj4gIAoKIyMjIyBMVUNBIChsYXN0IFVuaXZlcnNhbCBDb21tb24gQW5jZXN0b3IpLgoKLSBBbGxlIGNlbGxlbiBrb21lbiB2b29ydCB1aXQgZWVuIGdlbWVlbnNjaGFwcGVsaWprZSBwb3B1bGF0aWUgdm9vcm91ZGVybGlqa2UgY2VsbGVuLiAgCgohW10oLi9maWdzL1BoeWxvZ2VuZXRpY190cmVlLnN2ZykKKEJyb246IHdpa2lwZWRpYSkgICAgCgo8L2JyPiAgCiAgICAKIyMjIyBVbml2ZXJzZWxlIGJyYW5kc3RvZiB2b29yIGxldmVuIChpcyBlaWdlbmxpamsgZ2VlbiB2ZXJicmFuZGluZyBtYWFyIGNoZW1pZSkKCiFbXSguL2ZpZ3MvQVRQLUFEUC5wbmcpCihicm9uOiBhZGFwdGVkIGZyb20gd2lraXBlZGlhKQoKLSBBVFA6IEFkaW5vc2UtdHJpLXBob3NwaGF0ZQotIE1lcmsgb3AgZGF0IEFNUCBlZW4gdmFuIGRlIGJvdXdibG9ra2VuIGlzIHZhbiBSTkEgCi0gTGluayB0dXNzZW4gZW5lcmdpZSBlbiBpbmZvcm1hdGllISAKCjwvYnI+ICAKCiMjIyMgWmVsZmRlIGJvdXdibG9ra2VuIHZvb3IgYWxsZSBsZXZlbmRlIG9yZ2FuaXNtZW4KCjEuIExpcGlkZW4gKHZldGFjaHRpZ2Ugc3Vic3RhbnRpZXMpOiBtZW1icmFuZW4gYWZzY2hlaWRpbmcKMi4gS29vbGh5ZHJhdGVuIChzdWlrZXJzKTogZW5lcmdpZSArIGJvdXdibG9rCjMuIEFtaW5venVyZW46IGJhc2lzYm91d2Jsb2trZW4gdmFuIGVpd2l0dGVuIGRlIHdlcmtwYWFyZGVuIHZhbiBlZW4gY2VsCjQuIE51Y2xlaW5lLXp1cmVuOiBiYXNpc2JvdXdibG9ra2VuIHZhbiBSTkEgZW4gRE5BCgo8L2JyPiAgCgojIyMjIyBMaXBpZGVuICAgIAohW10oLi9maWdzL0NlbGxfbWVtYnJhbmVfZGV0YWlsZWRfZGlhZ3JhbV80LnN2ZykKKGJyb246IERvdWcgSGF0ZmllbGQsIHdpa2lwZWRpYSkKCjwvYnI+ICAKCiMjIyMjIEtvb2xoeWRyYXRlbiAKIVtdKGh0dHBzOi8vdGhlYmlvbG9neW5vdGVzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyMC8xMS9DYXJib2h5ZHJhdGVzLWRlZmluaXRpb24tY2xhc3NpZmljYXRpb24td2l0aC1zdHJ1Y3R1cmUtYW5kLWZ1bmN0aW9ucy5qcGVnKQooYnJvbjogdGhlYmlvbG9neW5vdGVzLmNvbSkKCjwvYnI+ICAKCiMjIyMjIEFtaW5venVyZW4KIVtdKGh0dHBzOi8vdGhlYmlvbG9neW5vdGVzLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAyMC8xMi9BbWluby1hY2lkcy1hbmQtUHJvdGVpbnMuanBlZykKKGJyb246IHRoZWJpb2xvZ3lub3Rlcy5jb20pCgo8L2JyPiAgCiAgICAKIyMjIyMgTnVjbGXDr25lIHp1cmVuCgotIEJvdXdibG9ra2VuIHZvb3IgZHJhZ2VycyB2YW4gZXJmZWxpamsgbWF0ZXJpYWFsIFJOQSBlbiBETkEKCgohW10oLi9maWdzL1JOQS1OdWNsZW9iYXNlcy5zdmcpe3dpZHRoPTUwJX0gIAooUk5BLCBicm9uOiB3aWtpcGVkaWEpCgo8L2JyPiAgCgohW10oLi9maWdzL0ROQV9OdWNsZW90aWRlcy5qcGVnKSAgCihETkEsIGJyb246IE9wZW5TdGF4LCB3aWtpcGVkaWEpCgo8L2JyPiAgCgohW10oLi9maWdzL0RpZmZlcmVuY2VfRE5BX1JOQS1FTi5zdmcpICAKKGJyb246IFNwb25rLCB3aWtpcGVkaWEpCgo8L2JyPiAgCiAgICAKCiMjIyMgWmVsZmRlIGdlbmV0aXNjaGUgY29kZSAoemllIEhldCBMZXZlbiBpcyBJbmZvcm1hdGllKQoKPC9icj4gIAoKIyMjIEhldCBMZXZlbiBpcyBDaGVtaWUKCjwvYnI+ICAKPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAxMDAlO2hlaWdodDogMDtwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyI+CjxpZnJhbWUKc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC96dl9sLTNXcngxSSIKZnJhbWVib3JkZXI9IjAiCnN0eWxlPSIgcG9zaXRpb246YWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyIKYWxsb3c9ImF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWEiIGFsbG93ZnVsbHNjcmVlbiBkYXRhLWV4dGVybmFsPSIxIiBzdGFydD04PjwvaWZyYW1lPgo8L2Rpdj4KPC9icj4gCgoKWyFbXSguL2ZpZ3Mvcm9jaGVfcGF0aHdheXMuanBnKV0oaHR0cDovL2Jpb2NoZW1pY2FsLXBhdGh3YXlzLmNvbS8jL21hcC8xKQooYnJvbjogRHIuIEdlcmhhcmQgTWljaGFsLCBSb2NoZSkKPCEtLSAKTm90IHdvcmtpbmcgaHR0cCBpbiBodHRwcwo8ZGl2IHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXRvcDo1Ni4yNSU7Ij4KPGlmcmFtZSBzcmM9ICJodHRwOi8vZ29vZ2xld2VibGlnaHQuY29tLz9saXRldXJsPWh0dHBzOi8vYmlvY2hlbWljYWwtcGF0aHdheXMuY29tLyMvbWFwLzEiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4KICAgICAgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOyI+CjwvaWZyYW1lPgo8L2Rpdj4gLS0+CgojIyMjIEVuZXJnaWUgCgohW10oLi9maWdzL0FUUC1BRFAucG5nKQooYnJvbjogd2lraXBlZGlhKQoKPC9icj4gIAoKIyMjIyBLYXRhbHlzZQoKIVtdKC4vZmlncy9DaXRyaWNfYWNpZF9jeWNsZV93aXRoX2Fjb25pdGF0ZV8yLnN2ZykKKGJyb246IE5hcmF5YW5lc2UsIHdpa2lwZWRpYSkKCjwvYnI+ICAKPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAxMDAlO2hlaWdodDogMDtwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyI+CjxpZnJhbWUKc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC95azE0ZE9PdndNaz9zdGFydD04JmVuZD02MCIKZnJhbWVib3JkZXI9IjAiCnN0eWxlPSIgcG9zaXRpb246YWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyIKYWxsb3c9ImF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWEiIGFsbG93ZnVsbHNjcmVlbiBkYXRhLWV4dGVybmFsPSIxIiBzdGFydD04PjwvaWZyYW1lPgo8L2Rpdj4KPC9icj4gIAoKIkFueSBsaXZpbmcgb3JnYW5pc20gaXMgYSByZWZsZWN0aW9uIG9mIGl0cyBlbnp5bWUgYXJzZW5hbCIgCiAKLSBLYXRhbHlzZTogR3Jvb3QgYWFudGFsIGNoZW1pc2NoZSByZWFjdGllcyBkaWUgbm9vaXQgem91ZGVuIGdlYmV1cmVuIHdhbm5lZXIgd2UgZGUgbW9sZWN1bGVzIGdld29vbiB6b3VkZW4gbWVuZ2VuIHpvbmRlciBlZW4ga2F0YWx5c2F0b3IKCi0gS2F0YWx5c2F0b3I6IGVlbiBjaGVtaXNjaGUgdmVyYmluZGluZyBkaWUgZGUgcmVhY3RpZSBoZWxwIHBsYWF0c3ZpbmRlbiB6b25kZXIgaGllcmJpaiB0ZSB3b3JkZW4gdmVyYnJ1aWt0LiAKCi0gQmlvbG9naXNjaGUga2F0YWx5c2F0b3JlbiB3b3JkZW4gZW56eW1lcyBnZW5vZW1kLiAKCi0gRW56eW1lcyB6aWpuIGVpd2l0dGVuIGRpZSAKICAKICAtIGRlIGJlcGFhbGRlIG1vbGVjdWxlcyB2aXNzZW4gdWl0IGhldCBjb21wbGV4IG1lbmdzZWwgdmFuIGRlIGNlbCwgCiAgLSBkYXQgdWl0IGR1aXplbmRlbiB2ZXJiaW5kaW5nZW4gYmVzdGFhbiwKICAtIGVuIGRhdCBtZWVzdGFsIG1ldCBlZW4gbGFnZSBjb25jZW50cmF0aWU7CiAgLSBkLm0udi4gYmluZGluZ3NzaXRlcyBkaWUgZGV6ZSBtb2xlY3VsZW4gKG9vayBzdWJzdHJhdGVuIGdlbm9lbWQpIHNhbWVuYnJlbmdlbiBpbiAzRCB6b2RhdCBkZXplIGt1bm5lbiByZWFnZXJlbiBlbiBlZW4gbmlldXdlIHZlcmJpbmRpbmcga3VubmVuIHZvcm1lbi4gCgo8L2JyPiAgCgojIyMjIFplbGZvcmdhbmlzYXRpZSAKCi0gU29tbWlnZSBlaXdpdHRlbiBnZXZlbiBvb2sgc3RydWN0dXVyIGFhbiBkZSBjZWwKLSBaZSBrdW5uZW4gemljaCBzcG9udGFhbiB6ZWxmIG9yZ2FuaXNlcmVuCi0gWmllIHZpZGVvIHdhYXJiaWogY3l0b3BsYXNtYSAoY2Vsc2FwKSB3ZXJkIGdlaG9tb2dlbmlzZWVyZCBkYXQgemljaCBkYWFybmEgc3BvbnRhYW4gaGVyb3JnYW5pc2VlcmQgaW4gY2VsYWNodGlnZSBzdHJ1Y3R1cmVuLgoKPC9icj4gIAo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1Ni4yNSU7Ij4KPGlmcmFtZQpzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3BycTFPY2N1MjJzP3N0YXJ0PTAmZW5kPTcmbG9vcD0xIgpmcmFtZWJvcmRlcj0iMCIKc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7IgphbGxvdz0iYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYSIgYWxsb3dmdWxsc2NyZWVuIGRhdGEtZXh0ZXJuYWw9IjEiIHN0YXJ0PTg+PC9pZnJhbWU+CjwvZGl2PgoKKGJyb246IFNjaWVuY2UgRE9JOiAxMC4xMTI2L3NjaWVuY2UuYWF2Nzc5MykKCjwvYnI+ICAKCkRlIG9uZGVyem9la2VycyB2b25kZW4gZGF0IHZvbGdlbmRlIG5vZGlnIHdhcyBoaWVydm9vcjogCgotIEFUUCBkZSBlbmVyZ2llYnJvbiB2YW4gZWVuIGNlbCAKLSBzb29ydCBmaWxhbWVudGV1emUgcHJvdGVpbmVuIChtaWNyb3R1YnVsaSkgCi0gRHluZWluLCBlZW4gc29vcnQgbW90b3IgcHJvdGVpbmUgCgohW10oLi9maWdzL1R1YnVsaW5fSW5mb2dyYXBoaWMuanBlZykgIAooYnJvbjogUGFrb3JuIEthbmNoYW5hd29uZywgd2lraXBlZGlhKQoKPC9icj4gIAoKUHJvdGVpbmVuIHNwZWxlbiBkdXMgZWVuIGNlbnRyYWxlIHJvbCBpbiBoZXQgbGV2ZW46IGthdGFseXNlICsgc3RydWN0dXVyCgpFZW4gY2VsIGVyZnQgdmFuIGRlIG1vZWRlcmNlbCBuaWV0IGFsbGVlbiBlcmZlbGlqayBtYXRlcmlhYWwgbWFhciBvb2sgc3BhdGlhbGUgb3JnYW5pc2F0aWUgZG9vciBoYWFyIGJlc3RhYW5kZSBtYWNyby1tb2xlY3VsYWlyZSBjb21wb25lbnRlbi4KCjwvYnI+ICAKCiMjIyBIZXQgTGV2ZW4gaXMgaW5mb3JtYXRpZQoKPC9icj4gIAo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1Ni4yNSU7Ij4KPGlmcmFtZQpzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3VsdDRfNmhoNXpvIgpmcmFtZWJvcmRlcj0iMCIKc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7IgphbGxvdz0iYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYSIgYWxsb3dmdWxsc2NyZWVuIGRhdGEtZXh0ZXJuYWw9IjEiIHN0YXJ0PTg+PC9pZnJhbWU+CjwvZGl2Pgo8L2JyPiAKCi0gR2VuOiBiYXNpc2VlbmhlaWQgdmFuIGVyZmVsaWprIG1hdGVyaWFhbCwgZWVuIEROQSBzZXF1ZW50aWUgZGllIGNvZGVlcnQgdm9vciBkZSBzeW50aGVzZSB2YW4gZWVuIGdlbiBwcm9kdWN0LCBlZW4gZWl3aXQgb2YgZWVuIGZ1bmN0aW9uZWVsIFJOQS4gCgohW10oLi9maWdzL2dlbmUuc3ZnKQooYnJvbjogVGhvbWFzIFNoYWZlZSwgd2lraXBlZGlhKQoKPC9icj4KCi0gRE5BOiA0IGxldHRlciBjb2RlICg0IGJhc2VuOiBBQ0dUKQotIFJOQTogNCBsZXR0ZXIgY29kZSAoNCBiYXNlbjogQUNHVSkKCiFbXSguL2ZpZ3MvRGlmZmVyZW5jZV9ETkFfUk5BLUVOLnN2Zyl7d2lkdGg9NTAlfSAgCihicm9uOiBTcG9uaywgd2lraXBlZGlhKQoKPC9icj4gIAoKIVtdKGh0dHBzOi8vYWhvbGRlbmNpcm0uZmlsZXMud29yZHByZXNzLmNvbS8yMDE2LzA2L3RyYW5zY3JpcHRpb25fMi5qcGcpICAKKGJyb246IFt0b2tyZXNvdXJjZXMub3JnXShodHRwOi8vd3d3LnRva3Jlc291cmNlLm9yZy90b2tfY2xhc3Nlcy9iaW9iaW9iaW8vYmlvbWVudS90cmFuc2NyaXB0aW9uX3RyYW5zbGF0aW9uLykpCgo8L2JyPiAgCgotIFByaW5jaXBlOiBoeWJyaWRpc2F0aWUgdmFuIGNvbXBsZW1lbnRhaXJlIGJhc2VuISAKLSBUcmFuc3BvcnQgUk5BOiBjb2RvbiAodHJpcGxldCB2YW4gMyBiYXNlbikgcGVyIGFtaW5venV1ciBkaWUgd29yZHQgYWFuZ2VicmFjaHQKCjwvYnI+ICAKCi0gRWl3aXQ6IGtldGVuIG9wZ2Vib3V3ZCB1aXQgYW1pbm96dXJlbiAKCiAgICAtIGVyIGJlc3RhYW4gbWVlciBkYW4gNDAwIGFtaW5venVyZW4gCiAgICAtIGVua2VsIDIwIHdlcmRlbiBnZXNlbGVjdGVlcmQgZG9vciBoZXQgbGV2ZW4gb20gZWl3aXR0ZW4gdGUgYm91d2VuCgohW10oLi9maWdzL0FtaW5vYWNpZHNfdGFibGUuc3ZnKXt3aWR0aD01MCV9ICAKKGJyb246IHdpa2lwZWRpYSkKCjwvYnI+ICAKCi0gQ29kZSBpcyB6byBnZcOrdm9sdWVlcmQgZGF0IHZlZWwgbXV0YXRpZXMgbGVpZGVuIHRvdCAKCiAgLSBzeW5vbmllbWUgY29kb25zICh6ZWxmZGUgYW1pbm96dXVyKSBvZiAKICAtIHRvdCBpbmJvdXdlbiB2YW4gYW1pbm96dXVyIGRhdCBuaWV0IGVyZyBzdGVyayB2ZXJzY2hpbGxlbmQgaXMgCiAgJFxyaWdodGFycm93JCBlaXdpdCBmdW5jdGllIGJsaWpmdCBiZWhvdWRlbgoKCjwvYnI+ICAKCi0gRE5BIGlzIGVua2VsIGRlIGRyYWdlciB2YW4gZXJnZWxpamsgbWF0ZXJpYWFsICh0ZSB2ZXJnZWxpamtlbiBtZXQgaGFyZGUgc2NoaWpmKQoKLSBSTkEgc3BlZWx0IGVlbiBtZWVyIGNlbnRyYWxlIHJvbDoKCiAgICAtIE1lc3NlbmdlciBSTkEgKHRlIHZlcmdlbGlqa2VuIG1ldCB3ZXJrZ2VoZXVnZW4gdmFuIGVlbiBjZWwpCiAgICAtIFJpYm96eW1lbjoga2F0YWxpdGlzY2hlIGZ1bmN0aWUgCiAgICAgICAgLSB0cmFuc2ZlciBSTkEgYmlqIHRyYW5zbGF0aWUgdG90IGVpd2l0dGVuCiAgICAgICAgLSBpbiByaWJvc29tZW4gYmlqIHRyYW5zbGF0aWUgdG90IGVpd2l0dGVuIAogICAgICAgIC0gbm9nIHZlbGUgYW5kZXJlIHJ5Ym96eW1lbgogICAgLSBSTkEgcHJpbWVyIG5vb2R6YWtlbGlqayB2b29yIGtvcGllcmVuIHZhbiBETkEgICAKICAgIC0gRHJhZ2VyIHZhbiBlcmZlbGlqayBtYXRlcmlhYWwgKHZiIGNvcm9uYSB2aXJ1cykKCjwvYnI+ICAKCiMgUHJpbmNpcGVzIHZhbiBoZXQgS29zbWlzY2hlIExldmVuIGVuIEdlbmVzZSB2YW4gaGV0IExldmVuCgoqKllvdXR1YmUgUGxheWxpc3QgKDIgY2xpcHMsIHRvdGFsZSBhZnNwZWVsdGlqZCAxOSBtaW4pKiouIERlIGNsaXBzIHppam4gb29rIGFmem9uZGVybGlqayB0ZSBiZWtpamtlbiBiaWogZWxrIG9uZGVyZGVlbC4KPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAxMDAlO2hlaWdodDogMDtwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyI+CjxpZnJhbWUgCnNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvdmlkZW9zZXJpZXM/bGlzdD1QTEtBRk8tSEFwMkd3c3NMN2FHcTBtbEFhV2Q3R09hZEhDIiBzdHlsZT0iIHBvc2l0aW9uOmFic29sdXRlO3RvcDogMDtsZWZ0OiAwO3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTsiCnRpdGxlPSJZb3VUdWJlIHZpZGVvIHBsYXllciIgZnJhbWVib3JkZXI9IjAiIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+CjwvZGl2Pgo8L2JyPgoKIyMgSW50cm8gey19CjxjZW50ZXI+CiFbXSguL2ZpZ3MvYmlvbG9naXNjaGVBc3BlY3RlbkJpb2RhbnphRGVlbEkucG5nKXt3aWR0aD01MCV9CjwvY2VudGVyPgo8L2JyPiAgCgojIyBPbnRzdGFhbiB2YW4gaGV0IGhlZWxhbAoKPC9icj4gIAo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1Ni4yNSU7Ij4KPGlmcmFtZQpzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLy1JWUY4UVI4b2tzIgpmcmFtZWJvcmRlcj0iMCIKc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7IgphbGxvdz0iYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYSIgYWxsb3dmdWxsc2NyZWVuIGRhdGEtZXh0ZXJuYWw9IjEiIHN0YXJ0PTg+PC9pZnJhbWU+CjwvZGl2Pgo8L2JyPiAKCiFbXSguL2ZpZ3Mvb3JpZ2luS29zbW9zLmpwZykgIAooYnJvbjogTkFTQS9XTUFQIFNjaWVuY2UgVGVhbSwgd2lraXBlZGlhKSAKCjwvYnI+ICAKCiMjIE9udHN0YWFuIHZhbiBlZXJzdGUgc3RlcnJlbgoKLSBOYSBhZmtvZWxlbiB2YW4gZXhwYW5kZXJlbmRlIGhlZWxhbAotIEdhc3dvbGtlbiBkaWUgdm9vcmFsIGJlc3RhYW4gdWl0IHdhdGVyc3RvZiAoSCkgZW4gaGVsaXVtIChIZSkKCiFbXShodHRwczovL3VuaXZlcnNlLXJldmlldy5jYS9JMDgtMTMtZmlyc3RzdGFyczYuanBnKSAgCihicm9uOiB1bml2ZXJzZS1yZXZpZXcuY2EpCgo8L2JyPiAgCgotIENvbmNlbnRyYXRpZSB2ZXJzY2hpbGxlbiBpbiBkZSB3b2xrIAoKJFxyaWdodGFycm93JCB6d2FhcnRla3JhY2h0IHRyZWt0IHdvbGsgdmVyZGVyIHNhbWVuICAKCiRccmlnaHRhcnJvdyQgaW1wbG9zaWUgdmFuIHdvbGtlbiAgCgokXHJpZ2h0YXJyb3ckIHN0ZXJ2b3JtaW5nOiBncm90ZSBvcHdhcm1pbmcgaW4gbWlkZGVuc3RlIHZhbiBnZWltcGxvZGVlcmRlIG5ldmVsIGRvb3IgendhYXJ0ZWtyYWNodCAgCgokXHJpZ2h0YXJyb3ckIGNvbmRpdGllcyB3YWFyZG9vciBrZXJuIGZ1c2llIG1vZ2VsaWprIHdvcmR0ICAgCgokXHJpZ2h0YXJyb3ckIG9temV0dGVuIHZhbiBsaWNodGUgYXRvbWVuIG5hYXIgendhYXJkZXJlIGF0b21lbiB3YWFyYmlqIGhlZWwgdmVlbCBlbmVyZ2llIHZyaWprb210IAoKPC9icj4gIAoKIyMgS2VybmZ1c2llCgohW10oLi9maWdzL2Z1c2lvbi5zdmcpe3dpZHRoPTUwJX0gIAooYnJvbjogU2FyYW5nLCB3aWtpcGVkaWEpCgo8L2JyPiAgCgotIEFscyBhbGxlIHdhdGVyc3RvZiBvcGdlYnJ1aWt0IGlzLCB2b3JtaW5nIHZhbiB6d2FhcmRlcmUgYXRvbWVuIHZlZWxhbCB0aWpkZW5zIHN1cGVybm92YSAob250cGxvZmZpbmcgdmFuIGRlIHN0ZXIpCgo8L2JyPiAgCgohW10oaHR0cHM6Ly93d3cudW5pdmVyc2V0b2RheS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjAvMDQvaGlyZXMuanBnKSAgCihicm9uOiB3d3cudW5pdmVyc2V0b2RheS5jb20pCgo8L2JyPiAgCgotIEtlcm5mdXNpZSBpbiBzdGVycmVuIHRvdCBpanplciAKCiFbXSguL2ZpZ3MvZnVzaW9uRW5lcmd5LnBuZykgIAooYnJvbjogRmFzdGZpc3Npb24sIHdpa2lwZWRpYSkKCjwvYnI+ICAKCi0gQWxsZSB6d2FhcmRlcmUgYXRvbWVuIHppam4gZ2VtYWFrdCBpbiBkZSBzdGVycmVuICRccmlnaHRhcnJvdyQgd2UgemlqbiBvcGdlYm91d2QgdWl0IGtvc21pc2NoZSBzdG9mISAKCi0gTmEgc3VwZXJub3ZhIGlzIGVyIG9wbmlldXcgZWVuIG5ldmVsIHdhYXJ1aXQgd2VlciBuaWV1d2Ugc3RlcnJlbiBrdW5uZW4gb250c3RhYW4uIAoKPC9icj4gIAoKIyMgS29vbHN0b2Z2ZXJiaW5kaW5nZW4gaW4gaW50ZXJzdGVsbGFpcmUgcnVpbXRlCgotIFBvbHkgYXJvbWF0aXNjaGUga29vbHN0b2YgdmVyYmluZGluZ2VuIChQQUhzKSBpbiBkZSBpbnRlcnN0ZWxsYWlyZSBydWltdGUKCiAgICAtIENhdCdzIHBhdyBuZWJ1bGEgaW4gbWVsa3dlZy4KICAgIC0gR3JvZW5lIHJlZ2lvJ3MgemlqbiBnZWJpZWRlbiB3YWFyaW4gc3RyYWxpbmcgdmFuIGhldGUgc3RlcnJlbiBQQUhzIGRvZXQgZmx1b3Jlc2NlcmVuLiAKICAgIAohW10oLi9maWdzL29yaW9uV2l0aFBBSC5qcGVnKXt3aWR0aD0yMDAlfSAgCihicm9uOiBOQVNBL0pQTC1DYWx0ZWNoLCB3aWtpcGVkaWEpCgo8L2JyPiAgCgotIFBBSHMgd2VyZGVyIGFsIGtvcnQgbmEgZGUgQmlnIEJhbmcgZ2VnZW5lcmVlcmQuIAoKCi0gV29yZGVuIGluIGludGVyc3RlbGxhaXJlIHJ1aW10ZSB2ZXJkZXIgZ2V0cmFuc2Zvcm1lZXJkIAoKICAgIC0gaHlkcm9nZW5hdGllOiB3YXRlcnN0b2ZmZW4sIAogICAgLSBveGlkYXRpZTogenV1cnN0b2YsIAogICAgLSBoeWRyb3h5bGF0aWUgKE9IKSAKICAgIC0gLi4uCgokXHJpZ2h0YXJyb3ckIGVlcnN0ZSBzdGFwIG5hYXIgYW1pbm96dXJlbiAoYm91d2Jsb2trZW4gZWl3aXR0ZW4pIGVuIG51Y2xlb3RpZGVuIChib3V3Ymxva2tlbiBSTkEgZW4gRE5BKS4gCgo8L2JyPiAgCgojIyBPbnRzdGFhbiB2YW4gaGV0IHpvbm5lc3RlbHNlbCBlbiBkZSBnZW5lc2UgdmFuIGhldCBsZXZlbgoKPC9icj4gIAo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1Ni4yNSU7Ij4KPGlmcmFtZQpzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL2o1d0I0Q201RThRIgpmcmFtZWJvcmRlcj0iMCIKc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7IgphbGxvdz0iYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYSIgYWxsb3dmdWxsc2NyZWVuIGRhdGEtZXh0ZXJuYWw9IjEiIHN0YXJ0PTg+PC9pZnJhbWU+CjwvZGl2Pgo8L2JyPiAKCgohW10oaHR0cHM6Ly9pbWFnZXMuc3F1YXJlc3BhY2UtY2RuLmNvbS9jb250ZW50L3YxLzUzYTBiZTAwZTRiMDE0ZWMzYTkzYTljMi8xNTMyMDkzNjI1NjkyLTQ2UjM2VjZHVEdMNDlISlY5MzRQL1R3b21ibHktU2NpQW0tT3JpZ2luc19tYXRjaC5qcGcpICAKKEF1dGhvcjogTWF0dGhldyBUd29tYmx5KQoKPC9icj4gIAoKTmEgYWZrb2VsaW5nIHZhbiBkZSBhYXJkZSBpcyBlciB3YXRlcjogCgohW10oLi9maWdzLzNEX21vZGVsX2h5ZHJvZ2VuX2JvbmRzX2luX3dhdGVyLnN2Zyl7d2lkdGg9NTAlfSAgCihicm9uOiB3aWtpcGVkaWEpCgo8L2JyPiAgCgotIE1lcmt3YWFyZGlnZSBtb2xlY3VsZTogdmxvZWliYWFyIGJpaiB2cmlqIGxhZ2UgdGVtcGVyYXR1cmVuIGRvb3Igd2F0ZXJzdG9mIGJydWdnZW4gCi0gVmxvZWliYWFyIHdhdGVyIGVzc2VudGllZWwgdm9vciBsZXZlbgotIFN0b2x0IG1ldCB2b2x1bWUgdmVyZ3JvdGluZyEgCgo8L2JyPiAgCgpSTkEKCi0gTWVyayBvcCBkYXQgUk5BIGJlc3RhYXQgdWl0IEFNUCwgQ01QLCBHTVAgZW4gVU1QIAotIEJpb2xvZ2lzY2hlIGVuZXJnaWUgImNvaW4iOiBBVFAgemVsZmRlIG1vbGVjdWxlIG1hYXIgbWV0IDMgZm9zZmFhdGdyb2VwZW4gKHppZSBBVFAvQURQKQotIFJlY2VudCBvbmRlcnpvZWsgdG9vbnQgYWFuIGRhdCBSTkEgb29rIGJpanpvbmRlciBrYXRhbHl0aXNjaCBpcyBlbiB6aWNoemVsZiBrYW4gcmVwbGljZXJlbiBpbiBjb25kaXRpZXMgem9uZGVyIHp1dXJzdG9mIGVuIGluIGFhbndlemlnaGVpZCB2YW4gaWp6ZSAoZS5nLiBXaWxsaWFtcyBldCBhbCwgTmF0LkNoZW0uLCAyMDEzLCBET0k6IDEwLjEwMzgvbmNoZW0uMTY0OSkKCjwvYnI+ICAKCiMgRXZvbHV0aWUgZW4gRnlsb2dlbmVzZQoKKipZb3V0dWJlIFBsYXlsaXN0ICg3IGNsaXBzLCB0b3RhbGUgYWZzcGVlbHRpamQgMzcgbWluKSoqLiBEZSBjbGlwcyB6aWpuIG9vayBhZnpvbmRlcmxpamsgdGUgYmVraWprZW4gYmlqIGVsayBvbmRlcmRlZWwuCjxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTt3aWR0aDogMTAwJTtoZWlnaHQ6IDA7cGFkZGluZy1ib3R0b206IDU2LjI1JTsiPgo8aWZyYW1lIApzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3ZpZGVvc2VyaWVzP2xpc3Q9UExLQUZPLUhBcDJHeVRWb3A4RHNDNTd1aHZXZ0l3WjhBZyIgc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7Igp0aXRsZT0iWW91VHViZSB2aWRlbyBwbGF5ZXIiIGZyYW1lYm9yZGVyPSIwIiBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZSIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPgo8L2Rpdj4KPC9icj4KCiMjIEludHJvIHstfQo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1Ni4yNSU7Ij4KPGlmcmFtZQpzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL1RESzJoU0FFbTgwIgpmcmFtZWJvcmRlcj0iMCIKc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7IgphbGxvdz0iYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYSIgYWxsb3dmdWxsc2NyZWVuIGRhdGEtZXh0ZXJuYWw9IjEiIHN0YXJ0PTg+PC9pZnJhbWU+CjwvZGl2Pgo8L2JyPiAKCjxjZW50ZXI+CiFbXSguL2ZpZ3MvYmlvbG9naXNjaGVBc3BlY3RlbkJpb2RhbnphRGVlbElJLnBuZyl7d2lkdGg9NTAlfSAgCjwvY2VudGVyPgoKPC9icj4KCgo8L2JyPgoKIVtdKC4vZmlncy9QaHlsb2dlbmV0aWNfdHJlZS5zdmcpCihCcm9uOiB3aWtpcGVkaWEpICAgIAoKPC9icj4gIAoKIyMgRXZvbHV0aWUKCiMjIyBWYXJpYXRpZSBlbiBTZWxlY3RpZQoKPC9icj4gIAo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1Ni4yNSU7Ij4KPGlmcmFtZQpzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLzlTWVg2QVNhV0FRIgpmcmFtZWJvcmRlcj0iMCIKc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7IgphbGxvdz0iYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYSIgYWxsb3dmdWxsc2NyZWVuIGRhdGEtZXh0ZXJuYWw9IjEiIHN0YXJ0PTg+PC9pZnJhbWU+CjwvZGl2Pgo8L2JyPiAKCkJhY3RlcmlhICYgQXJjaGFlICAKIVtdKC4vZmlncy9CaW5hcnlfRmlzc2lvbl8yLnN2Zyl7d2lkdGg9NzAlfSAgCihicm9uOiBFY29kZGluZ3Rvbiwgd2lraXBlZGlhKQoKRXVrYXJ5b3RhCiFbXSguL2ZpZ3MvTWVpb3Npc19TdGFnZXMuc3ZnKQooQnJvbjogQWxpIFppZmFuLCB3aWtpcGVkaWEpCgo8L2JyPiAgCgo8Y2VudGVyPgohW10oLi9maWdzL0ROQV9wb2x5bWVyYXNlLnN2Zyl7d2lkdGg9NDAlfSAgCihicm9uOiB3aWtpcGVkaWEpCjwvY2VudGVyPgoKPC9icj4gCgotIEZvdXRlbm1hcmdlIGJpaiBETkEgIHJlcGxpY2F0aWU6IDEgZm91dCBwZXIgbWlsamFyZCBiYXNlcGFyZW4gZGllIHdvcmR0IGdla29waWVlcmQgKE1lbnNlbGlqayBnZW5vb20gNi40IG1pbGphcmQgYmFzZXBhcmVuKSAgCgotIEluc2VydGllcy9kZWxldGllczogYmFzZXBhcmVuIGRpZSB3b3JkZW4gdG9lZ2V2b2VnZCBvZiB2ZXJ3aWpkZXJkICAKCi0gUmVjb21iaW5hdGllOiBoZXJzY2hpa2tpbmcgdmFuIGdlbmV0aXNjaGUgZWlnZW5zY2hhcHBlbiwgYmlqdm9vcmJlZWxkIGJpaiBnZXNsYWNodGVsaWprZSB2b29ydHBsYW50aW5nIChhbmRlcmUgY29tYmluYXRpZSB2YW4gZ2VuZW4gZGFuIGJlaWRlIG91ZGVycykKJFxyaWdodGFycm93JCBNdXRhdGllcyAgCiRccmlnaHRhcnJvdyQgTmF0dXVybGlqa2UgdmFyaWFiaWxpdGVpdAoKLSBNZWVzdGUgbXV0YXRpZXMgemlqbiB2ZWVsYWwgbmV1dHJhYWwgICRccmlnaHRhcnJvdyQgTW9sZWN1bGFpcmUvR2VuZXRpc2NoZSBLbG9rCi0gTWFhciBzb21zIG9vayBuaWV0Cgo8L2JyPiAgCgohW10oLi9maWdzL3NpY2tsZUNlbGxXaWtpcGVkaWEyLnBuZykKIVtdKC4vZmlncy9TaWNrbGVfQ2VsbHNfd2lraS5qcGVnKXt3aWR0aD00NSV9CiFbXSguL2ZpZ3MvU2lja2xlX0NlbGxfQW5lbWlhX3dpa2kzLnBuZyl7d2lkdGg9NDUlfSAgCihCcm9uOiBUaG9tYXMgU2FtdWVsICgxKSwgT3BlblN0YXggQ29sbGVnZSAoMiksIEJydWNlQmxhdXMoMyksIHdpa2lwZWRpYSkKCjwvYnI+ICAKCi0gS29tdCB2b29yYWwgaW4gQWZyaWthIHZvb3IuCi0gV2Fhcm9tIGJsaWpmdCBkZXplIG11dGF0aWUgYmVzdGFhbj8gCi0gU2VsZWN0aWUgZG9vciBlY29mYWN0b3Jlbjogb21kYXQgaGV0IHJlc2lzdGVudGllIGdlZWZ0IHRlZ2VuIG1hbGFyaWEgCgo8L2JyPiAgCgoKIyMjIEV2b2x1dGllIAoKPC9icj4gIAo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1Ni4yNSU7Ij4KPGlmcmFtZQpzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL2tXeC16eUZkQzBjIgpmcmFtZWJvcmRlcj0iMCIKc3R5bGU9IiBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7IgphbGxvdz0iYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYSIgYWxsb3dmdWxsc2NyZWVuIGRhdGEtZXh0ZXJuYWw9IjEiIHN0YXJ0PTg+PC9pZnJhbWU+CjwvZGl2Pgo8L2JyPiAKCgotIE5hdHV1cmxpamsgcHJvY2VzIGRhdCBhYW4gZGUgYmFzaXMgbGlndCB2YW4gaGV0IG9udHN0YWFuIHZhbiBhbGxlIHNvb3J0ZW4gKHBsYW50ZW4sIGRpZXJlbiwgYmFjdGVyacOrbiwgc2NoaW1tZWxzLCAuLi4gZW4gbWVuc2FjaHRpZ2VuKQoKLSBFaW5kcmVzdWx0YWF0IHZhbiB0d2VlIHRlZ2Vud2Vya2VuZGUga3JhY2h0ZW46ICoqdmFyaWF0aWUqKiBlbiAqKnNlbGVjdGllKioKCi0gVmFyaWF0aWUgZG9vciBzcG9udGFhbiBvcHRyZWRlbiB2YW4gZm91dGplcyBpbiBkZSBnZW5ldGlzY2hlIGNvZGU6IG11dGF0aWVzCgotIFNlbGVjdGllIGRvb3IgY29tYmluYXRpZSB2YW4gb21nZXZpbmdzb21zdGFuZGlnaGVkZW4gZW4gbXV0YXRpZSwgaXMgbXV0YXRpZSBndW5zdGlnIG9mIHNjaGFkZWxpamsgaXMgdm9vciBiZXBhYWxkIG9yZ2FuaXNtZSBpbiBkZXplIG9tZ2V2aW5nCgotIEthbnMgZGF0IGVlbiBtdXRhdGllIHdvcmR0IG92ZXJnZWRyYWdlbiwgYWZoYW5rZWxpamsgdmFuIHZvb3J0cGxhbnRpbmdzc3VjY2VzCgotIFByb2NlcyB2YW4gbXV0YXRpZSBlbiBzZWxlY3RpZSBrYW4gb3ZlciB2ZWVsIGdlbmVyYXRpZXMgbGVpZGVuIHRvdCBuaWV1d2Ugc29vcnQKCjwvYnI+ICAKCgojIyMgR2VuZXRpc2NoZSBkcmlmdCAKCjwvYnI+ICAKPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAxMDAlO2hlaWdodDogMDtwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyI+CjxpZnJhbWUKc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9DVHVNaTlhWXM4QSIKZnJhbWVib3JkZXI9IjAiCnN0eWxlPSIgcG9zaXRpb246YWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyIKYWxsb3c9ImF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWEiIGFsbG93ZnVsbHNjcmVlbiBkYXRhLWV4dGVybmFsPSIxIiBzdGFydD04PjwvaWZyYW1lPgo8L2Rpdj4KPC9icj4gCgotIEdlbmV0aXNjaGUgZHJpZnQ6IHRvZXZhbGxpZ2UgZmx1Y3R1YXRpZSB2YW4gYWxsZWxlbiAKCi0gVm9vcmFsIHN0ZXJrIGluIGtsZWluZSBwb3B1bGF0aWVzCgotIEluIHRlZ2Vuc3RlbGxpbmcgdG90IHNlbGVjdGllIG5pZXQgYWRhcHRpZWYgCgotIE9udHN0YWFuIHZhbiBuaWV1d2Ugc29vcnQgZ2FhdCBzbmVsbGVyIGFscyBlZW4ga2xlaW4gZGVlbCB2YW4gZGUgcG9wdWxhdGllIHdvcmR0IGFmZ2VzcGxpdHN0IGluIGVlbiBuaWV1dyBtaWxpZXUuIAoKPC9icj4gIAoKCiMjIyBIb3Jpem9udGFsZSBnZW51aXR3aXNzZWxpbmcKCjwvYnI+ICAKPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAxMDAlO2hlaWdodDogMDtwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyI+CjxpZnJhbWUKc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9YLU9jMzNaV05RbyIKZnJhbWVib3JkZXI9IjAiCnN0eWxlPSIgcG9zaXRpb246YWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyIKYWxsb3c9ImF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWEiIGFsbG93ZnVsbHNjcmVlbiBkYXRhLWV4dGVybmFsPSIxIiBzdGFydD04PjwvaWZyYW1lPgo8L2Rpdj4KPC9icj4gCi0gTmlldCBzZXh1ZWxlIHVpdHdpc3NlbGluZyB2YW4gZ2VuZXRpc2NoZSBpbmZvcm1hdGllCgotIFZlZWx2dWxkaWcgdHVzc2VuIHByb2thcnlvdGVuIChldWJhY3RlcmlhIGVuIGFyYWNoYWUgYmFjdGVyaWEpIAoKICAtIHZiIHVpdHdpc3NlbGluZyByZXNpc3RlbnRpZSB0ZWdlbiBhbnRpYmlvdGljYQoKLSB0dXNzZW4gZXVrYXJ5b3RlbiAodm9vcmFsIHByb3Rpc3RlbiwgZWVuY2VsbGlnZSBvcmdhbmlzbWVuIG1ldCBjZWxrZXJuKSAgCgotIHR1c3NlbiBwcm9rYXJ5b3RlbiAoZXViYWN0ZXJpYSBlbiBhcmFjaGFlIGJhY3RlcmlhKSBlbiBldWthcnlvdGVuIChwcm90aXN0ZW4sIHBsYW50ZW4gZW4gZGllcmVuKQoKPC9icj4gIAoKIyMjIFRlbGVvbm9taWUKCjwvYnI+ICAKPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAxMDAlO2hlaWdodDogMDtwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyI+CjxpZnJhbWUKc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9CUjJLOFd5MVhQQSIKZnJhbWVib3JkZXI9IjAiCnN0eWxlPSIgcG9zaXRpb246YWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyIKYWxsb3c9ImF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWEiIGFsbG93ZnVsbHNjcmVlbiBkYXRhLWV4dGVybmFsPSIxIiBzdGFydD04PjwvaWZyYW1lPgo8L2Rpdj4KPC9icj4gCgotIEVyIGlzIGVua2VsIGhldCB1bmlla2UgcHJpbWl0aWV2ZSBkb2VsIHZhbiBiZWhvdWQgZW4gcmVwcm9kdWN0aWUgdmFuIGRlIHNvb3J0LgoKLSBFdm9sdXRpZSBoZWVmdCB2ZXJkZXIgZ2VlbiBkb2VsIG9mIHJpY2h0aW5nIAoKLSBCaWogaGV0IG9udHN0YWFuIHZhbiBjb21wbGV4ZSBvcmdhbmVuIGVuIG9yZ2FuaXNtZW4ga2FuIGhldCBsaWprZW4gYWxzb2YgZXIgZWVuIHJpY2h0aW5nIGlzL2Fsc29mIGRpZSBtZXQgZWVuIGRvZWwgemlqbiBvbnRzdGFhbiwgbWFhciBkYXQgaXMgZXIgbmlldC4gCgo8L2JyPiAgCgohW10oLi9maWdzL2V2b2x1dGlvbkV5ZS5wbmcpe3dpZHRoPTUwJX0gIAooYnJvbjogTWF0dGljdXM3OCwgd2lraXBlZGlhKQoKPC9icj4gIAoKLSBFZW4gb29nIGlzIG5pZXQgZG9vciBkZSBldm9sdXRpZSBvbnR3aWtrZWxkIG1ldCBoZXQgZG9lbCBvbSB0ZSB6aWVuLiAKCi0gSGV0IG9vZyBoZWVmdCBlbmtlbCBkZSBmdW5jdGllIG9tIHRlIHppZW4KCi0gSGV0IGlzIGhldCByZXN1bHRhYXQgdmFuIGVlbiBncmFkdWVlbCBwcm9jZXMgd2FhcmJpaiBlbGtlIGFhbnBhc3Npbmcgd2VlciByZXByb2R1Y3RpZWYgdm9vcmRlZWwgZ2FmIGluIGRhdCBiZXBhYWxkIG1pbGlldS4gCgotIEluIGVlbiBhbmRlcmUgb21nZXZpbmcga2FuIGhldCBuaWV0IGxhbmdlciBudXR0aWcgemlqbiwgYnYgbW9sIGVuIHZlcmR3aWpudCBkZSBmdW5jdGllIHdlZXIKICAgIAotIEhldCBvbnRzdGFhbiB2YW4gZWVuIHNvb3J0IGlzIGhldCByZXN1bHRhYXQgdmFuIGV2b2x1dGllLCBtYWFyIG5pZXQgaGV0IGRvZWwgdmFuIGV2b2x1dGllLiAKCi0gZXZvbHV0aWU6IGlzIGFhbnBhc3NpbmcgbWV0IGFscyBkb2VsIGJlaG91ZCBlbiByZXByb2R1Y3RpZQoKPC9icj4gIAoKIyMjIyBFdm9sdXRpZSBoZWVmdCBnZWVuIHJpY2h0aW5nCgotIFZlcmRlbGluZyB2YW4gYWFudGFsIHNwZWNpZXMgZW4gY29tcGxleGl0ZWl0CgohW10oLi9maWdzL3NlbGVjdGlvbk5vRGlyZWN0aW9uRGVmLnBuZykgIAooYnJvbjogU3RlcGhlbiBKLiBHb3VsZCwgMTk5NiwgRnVsbCBIb3VzZTogdGhlIHNwcmVhZCBvZiBFeGNlbGxlbmNlIGZyb20gUGxhdG8gVG8gRGFyd2luKSAgCiAgCi0gVmVyZGVsaW5nIHZhbiBtYXNzYSBrb29sc3RvZiBkaWUgdmFzdGxpZ3QgaW4gdmVyc2NoaWxsZW5kZSB0eXBlcyBvcmdhbmlzbWVuIAoKIVtdKGh0dHBzOi8vd3d3LnBuYXMub3JnL2NvbnRlbnQvcG5hcy8xMTUvMjUvNjUwNi9GMS5sYXJnZS5qcGcpICAKKE1hc3NhIGluIGdpZ2EgdG9uIGtvb2xzdG9mLiBCcm9uOiBkb2kub3JnLzEwLjEwNzMvcG5hcy4xNzExODQyMTE1KQoKPC9icj4gIAoKLSBXZWwgaGVlbCBncm90ZSBmb3V0ZW5tYXJnZSBvcCBiYWN0ZXJpw6tuIChrYW4gZmFjdG9yIDEwIGhvZ2VyIHppam4pLiAKCi0gQWFudGFsIGJhY3RlcmnDq2xlIGNlbGxlbiBpbiBvbnMgbGljaGFhbSAoYnJvbjogZG9pLm9yZy8xMC4xMzcxL2pvdXJuYWwucGJpby4xMDAyNTMzKTogCiAgLSBcI2JhY3RlcmnDq2xlIGNlbGxlbi9cI21lbnNlbGlqa2UgY2VsbGVuIHZyb2VnZXIgZ2VzY2hhdCBvcCRccG0kIDEwLzEgCiAgLSByZWNlbnRlIHNjaGF0dGluZyAkXHBtJCAxLzEuIAogIC0gTWVucyB2YW4gNzBrZyAkXHBtJCAzOCBiaWxqb2VuIGJhY3RlcmnDq2xlIGNlbGxlbi8zMCBiaWxqb2VuIGh1bWFuZSBjZWxsZW4gKGJpbGpvZW46IDEwMDAgbWlsamFyZCkuCgoKPC9icj4gIAoKIyMgRnlsb2dlbmVzZSAKCjwvYnI+ICAKPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAxMDAlO2hlaWdodDogMDtwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyI+CjxpZnJhbWUKc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9Wd0hiajFNaHhOWSIKZnJhbWVib3JkZXI9IjAiCnN0eWxlPSIgcG9zaXRpb246YWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyIKYWxsb3c9ImF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWEiIGFsbG93ZnVsbHNjcmVlbiBkYXRhLWV4dGVybmFsPSIxIiBzdGFydD04PjwvaWZyYW1lPgo8L2Rpdj4KPC9icj4gCgpPbnRzdGFhbiB2YW4gYWxsZSBzb29ydGVuIGRvb3IgZXZvbHV0aWUKCiFbXSguL2ZpZ3MvUGh5bG9nZW5ldGljX3RyZWUuc3ZnKSAgCihCcm9uOiB3aWtpcGVkaWEpICAgIAoKLSBIZXQgb250c3RhYW4gdmFuIHNvb3J0ZW4gZW4gYWFucGFzc2luZyBhYW4gaGV0IG1pbGlldSBub2VtdCBSb2xhbmRvIG9vayBldm9sdXRpb25haXJlIGRpZmZlcmVudGlhdGllLiAKCjwvYnI+ICAKCiMjIyBUaWpkc2NoYWFsCgohW10oaHR0cHM6Ly9uYXR1cmVkb2N1bWVudGFyaWVzLm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAxNy8xMi9saWZlcm9ja3lzdGFydHN0cmlwLmpwZykKCnwgNC41IEJZQSB8IDQuMyBCWUEgfCAzLjggQllBIHwgMy41IEJZQSB8IDU0MCBNWUEgfCA1MjAgTVlBIHwKfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfAp8ICAgICAgICAgfCAgICAgICAgIHwgICAgICAgICB8ICAgICAgICAgfCAgICAgICAgIHwgICAgICAgICB8CgooYnJvbjogbmF0dXJlZG9jdW1ldGFyaWVzLm9yZykKCgotIEJsYWNrIEVhcnRoICg0LjUgQllBKTogaGVldCBiYXNhbHQgZ2VzdGVlbnRlIGVuIHN0b2YgaW4ga291ZCB2YWN1dW0KCi0gR3JleSBFYXJ0aCAoNC4zIEJZQSk6IGdyYW5pZXQKCi0gQmx1ZSBFYXJ0aCAoMy44IEJZQSk6IHdhdGVyCgotIFJlZCBFYXJ0aCAoMy41IEJZQSk6IFJhZGljYWxlIHZlcmFuZGVyaW5nIGRvb3IgbGV2ZW4uIAoKICAgIC0gQ3lhbm9iYWN0ZXJpYSBkaWUgZm90b3N5bnRoZXNlIGRvZW4uIAogICAgLSBadXVyc3RvZi4gCiAgICAtIEFsbGUgaWp6ZXIgaW4gb2NlYWFuIHByZWNpcGl0ZWVydCBhbHMgcm9lc3QgKHJvb2QpLiAKICAgIC0gVmFuIDI1MCAkXHJpZ2h0YXJyb3ckID4gNTAwMCBtaW5lcmFsZW4uIAogICAgLSBNYXNzYWxlIHVpdHN0ZXJmdGUgdmFuIGxldmVuLiAKICAKICAKLSBXaGl0ZSBFYXJ0aCAoNTQwIE1ZQSkKICAgIC0gR3JvdGUgaWpzdGlqZAogICAgLSBNYXNzYWxlIHVpdHN0ZXJmdGUgdmFuIGxldmVuCiAgICAtIFZ1bGNhbmlzY2hlIGFjdGl2aXRlaXQgd2FzIHJlZGRpbmc6IGJyb2Vpa2FzZ2Fzc2VuCiAgCiAgCi0gR3JlZW4gRWFydGggKDUyMCBNWUEpCiAgICAKICAgIC0gRXhwbG9zaWUgbGV2ZW4gCiAgICAtIFZhbiBlZW5jZWxsaWcgbmFhciBtZWVyIGNvbXBsZXggbGV2ZW4gCgo8L2JyPiAgCgojIyMgS2FudGVscHVudDogR2VuZXNlIHZhbiBldWthcnlvdGUgY2VsCgpUd2VlIGFyY2hldHlwZXM6IHByb2thcnlvdGVuIChlZW52b3VkaWdlIGNlbGxlbiwgIDAuMSB0byA1LjAgJFxtdSBtJCkgZW4gZXVrYXJ5b3RlbiAoZ3JvdGVyZSBtZWVyIGNvbXBsZXhlIGNlbGxlbiwgMTAtMTAwICRcbXUgbSQpIAoKIVtdKC4vZmlncy9wcm9rYXJ5b3RlQ2VsbC5zdmcpe3dpZHRoPTMwJX0KIVtdKC4vZmlncy9hbmltYWxDZWxsLnN2Zyl7d2lkdGg9MzAlfQohW10oLi9maWdzL3BsYW50Q2VsbC5zdmcpe3dpZHRoPTMwJX0gIAooYnJvbjogIEFsaSBaaWZhbiAoMSkgJiBNYXJpYW5hIFJ1aXogVmlsbGFycmVhbCAoMiAmIDMpLCB3aWtpcGVkaWEpIAoKPC9icj4gIAoKLSAzLjUgQllBIC0gNTIwIE1ZQSBlbmtlbCBwcm9rYXJ5b3RlIGNlbGxlbiB0ZXJ1Z2dldm9uZGVuIGluIGZvc2llbGVuCgo8L2JyPiAgCgoKR2VuZXNlIHZhbiBFdWthcnlvdGUgY2VsIGRvb3IgZW5kb3N5bWJpb3NpczoKCiFbXSguL2ZpZ3MvZW5kb3N5bWJpb3Npcy5zdmcpICAKKGJyb246IEtlbHZpbnNvbmcsIHdpa2lwZWRpYSkKCjwvYnI+ICAKCi0gUHJva2FyeW90ZW46IHJlcHJvZHVjdGllIGRvb3IgY2VsZGVsaW5nLCBtdXRhdGllIGdlZml4ZWVyZCBpbiBhbGxlIGRvY2h0ZXJjZWxsZW4gCgo8L2JyPiAgCgotIEV1a2FyeW90ZW46IGJpam5hbCBhbGxlbWFhbCBlZW4gZmFzZSBtZXQgc2V4dWVsZSByZXByb2R1Y3RpZQogIAogIC0gdmVlbCBtZWVyIHZhcmlhdGllOiByZWNvbWJpbmF0aWUgdmFuIGNocm9tb3NvbWVuIAogIC0gYmlqIGRpcGxvaWRlIG9yZ2FuaXNtZW4gemlqbiBlciB0d2VlIGtvcGllw6tuIHZhbiBlbGsgZ2VuICh2YWRlciBlbiBtb2VkZXIpICRccmlnaHRhcnJvdyQgb3BlZW52b2xnZW5kZSBtdXRhdGllcyB2YW4gMSBrb3BpZSBtb2dlbGlqayB0ZXJ3aWpsIG5vZyBlZW4gYW5kZXJlIGZ1bmN0aW9uZWxlIGtvcGllIGlzIHZhbiBoZXQgZ2VuLiAKCjwvYnI+ICAKICAKLSBFdWthcnlvdGUgY2VsbGVuIGV2b2x1ZXJlbiB2ZXJkZXIgaW4gCgogIC0gcHJvdGlzdGVuIChlZW5jZWxsaWdlbikKICAtIHBsYW50ZW4KICAtIGRpZXJlbgoKPC9icj4gIAoKR2VuZXRpc2NoZSBpbmZvcm1hdGllIHZhbiBlZW4gc29vcnQga2FuIG9vayB3b3JkZW4gZ2V6aWVuIGFscyBlZW4gc29vcnQgImxvZ2JvZWsiIHZhbiBkZSBtaWxpZXVzIGVuIG9udHdpa2tlbGluZyBkaWUgemUgaGVlZnQgb25kZXJnYWFuIHRvdCBkaXQgcHVudC4gCgo8L2JyPiAgCgojIyBFdm9sdXRpZSB2YW4gZXZvbHV0aWUKCjEuIENoZW1pc2NoZSBldm9sdXRpZTogc2VsZWN0aWUgdmFuIGJvdXdibG9ra2VuIGVuIGNvbXBsZXhlIGNoZW1pZQoyLiBCaW9sb2dpc2NoZSBldm9sdXRpZTogY2VsL29yZ2FuaXNtZSAkXHJpZ2h0YXJyb3ckIHNlbGVjdGllIGdlbmV0aXNjaGUgaW5mb3JtYXRpZSBhbmQgZnVuY3RpZSAKMy4gQ3VsdHVyZWxlIGV2b2x1dGllIGRpZSBuYXR1dXJsaWprZSBldm9sdXRpZSBzb21zIGJ5cGFzc2VkOiAKICAgIAogICAgLSBhcnRpZmljacOrbGUgc2VsZWN0aWU6IHBsYW50ZW52ZXJlZGVsaW5nLCBodWlzZGllcmVuL3ZlZSwgZ2VuZXRpc2NoZSBtYW5pcHVsYXRpZSwgLi4uCiAgICAtIFRlY2hub2xvZ2llOiBzbmVsbGUgYWFucGFzc2luZyBhYW4gbmlldXcgbWlsaWV1LCBhZGFwdGF0aWUgdmFuIG1pbGlldSAKCjwvYnI+ICAKICAgIAojIE9udG9nZW5lc2UKCioqWW91dHViZSBQbGF5bGlzdCAoMiBjbGlwcywgdG90YWxlIGFmc3BlZWx0aWpkIDIwIG1pbikqKi4gRGUgY2xpcHMgemlqbiBvb2sgYWZ6b25kZXJsaWprIHRlIGJla2lqa2VuIGJpaiBlbGsgb25kZXJkZWVsLgo8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO3BhZGRpbmctYm90dG9tOiA1Ni4yNSU7Ij4KPGlmcmFtZSAKc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC92aWRlb3Nlcmllcz9saXN0PVBMS0FGTy1IQXAyR3lzVE52S1VOSUppcXJQYThKNnpaVzAiIHN0eWxlPSIgcG9zaXRpb246YWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyIKdGl0bGU9IllvdVR1YmUgdmlkZW8gcGxheWVyIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4KPC9kaXY+CjwvYnI+CgojIyBJbnRybyB7LX0KPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAxMDAlO2hlaWdodDogMDtwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyI+CjxpZnJhbWUKc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9pdW9yNG02d09HWSIKZnJhbWVib3JkZXI9IjAiCnN0eWxlPSIgcG9zaXRpb246YWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlOyIKYWxsb3c9ImF1dG9wbGF5OyBlbmNyeXB0ZWQtbWVkaWEiIGFsbG93ZnVsbHNjcmVlbiBkYXRhLWV4dGVybmFsPSIxIiBzdGFydD04PjwvaWZyYW1lPgo8L2Rpdj4KPC9icj4gCgo8L2JyPgo8Y2VudGVyPgohW10oLi9maWdzL2Jpb2xvZ2lzY2hlQXNwZWN0ZW5CaW9kYW56YURlZWxJSUkucG5nKXt3aWR0aD01MCV9CjwvY2VudGVyPgoKPC9icj4gIAoKLSBPbnRvZ2VuZXNlOiBvbnR3aWtrZWxpbmcgdmFuIGVlbiBvcmdhbmlzbWUgdmFuIGVpY2VsIHRvdCBvdmVybGlqZGVuIHZhbiB2b2x3YXNzZW4gaW5kaXZpZHUuIAoKLSBFbGtlIGNlbCB2YW4gbWVlcmNlbGxpZyBvcmdhbmlzbWUgYmV2YXQgemVsZmRlIGVyZmVsaWprIG1hdGVyaWFhbCEKCgotIFdhYXJvbSB6aWpuIGNlbGxlbiB2YW4gemVsZmRlIG9yZ2FuaXNtZSBudSB6byB2ZXJzY2hpbGxlbmQ/Cgo8L2JyPgoKIyMgRXBpZ2VuZXRpY2EgCgohW10oLi9maWdzL0VwaWdlbmV0aWNfbWVjaGFuaXNtcy5wbmcpICAKKGJyb246IE5JSCwgd2lraXBlZGlhKQoKPC9icj4KCiFbXSguL2ZpZ3MvRE5BX21ldGh5bGF0aW9uX3JlcHJvZ3JhbW1pbmcucG5nKSAgCihicm9uOiBNYXJpdXN3YWx0ZXIsIHdpa2lwZWRpYSkKCjwvYnI+ICAKCi0gRGlmZmVyZW50aWF0aWUgJFxyaWdodGFycm93JCBlcGlnZW5ldGljYSAKCi0gRXBpZ2VuZXRpY2E6IGVwaWdlbmV0aXNjaGUgbWVya2VycyBvcCBETkEgZW4gaGlzdG9uZW4gJFxyaWdodGFycm93JCBnZW4ga2FuIHdvcmRlbiBhZmdlbGV6ZW4gb2YgbmlldC4KCi0gRXBpZ2VuZXRpY2Egd29yZHQgYmXDr252b2VsZCBkb29yIGVjb2ZhY3RvcmVuLiAKCi0gRWVuZWlpZ2UgdHdlZWxpbmdlbiB6ZWxmZGUgZ2Vub29tLCB2ZXJzY2hpbGxlbiBzdGVlZHMgbWVlciBnZWR1cmVuZGUgaGV0IGxldmVuOiBlcGlnZW5ldGljYQoKCjwvYnI+IAoKPGNlbnRlcj4KIVtdKGh0dHBzOi8vd3d3LnJlc2VhcmNoZ2F0ZS5uZXQvcHJvZmlsZS9UYXJhLUhvZ2Vuc29uL3B1YmxpY2F0aW9uLzMyMDM4NjQ4Ny9maWd1cmUvZmlnMS9BUzo3ODM4NDc5MTQ0NzE0MjlAMTU2Mzg5NTMxNDkwNy9kZW50aWNhbC10d2lucy13aXRoLXBoZW5vdHlwaWMtZGlzY29yZGFuY2UtZHVlLXRvLWVudmlyb25tZW50YWwtZXhwb3N1cmUtQWx0aG91Z2gtTVoucG5nKXt3aWR0aD01MCV9CjwvY2VudGVyPgooVmVyc2NoaWwgZG9vciBlY29mYWN0b3IgVVYtYmxvb3RzdGVsbGluZywgYnJvbjogU3dhYiAmIEhvZ2Vuc29uLCBET0k6IDEwLjEwMDcvOTc4LTMtMzE5LTMxMTQzLTJfNjUtMSkKCjwvYnI+IAoKIVtdKGh0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvcG1jL2FydGljbGVzL2luc3RhbmNlLzM1MDE1NzkvYmluL25paG1zNDAyMTg3ZjMuanBnKSAgCihCcm9uIGRvaTogMTAuMTExMS9qLjE1MjYtNDYzNy4yMDEyLjAxNDg4LngpCgo8L2JyPiAgCgotIEVwaWdlbmV0aWNhIGhlZWwgYmVsYW5ncmlqayBiaWogb250d2lra2VsaW5nIHZhbiBoZXQgYnJlaW4gZW4gbGVyZW4KCi0gV2lyaW5nIG9mIHRoZSBicmFpbjogCgogICAgLSBFcmZlbGlqawogICAgLSBSYW5kb20KICAgIC0gRWNvZmFjdG9yZW4gc2VsZWN0ZXJlbiBlbiBhbXBsaWZpY2VyZW4gdmVyYmluZGluZ2VuCiAgICAtIFZlcmJpbmRpbmdlbiBkaWUgbmlldCB3b3JkZW4gZ2VicnVpa3QgdmVyZHdpam5lbgogICAgLSBDb21tdW5pY2F0aWUgKHZpYSBhbGxlIHppbnR1aWdlbikgaXMga2V5IGJpaiBvbnR3aWtrZWxpbmcgdmFuIGtpbmRlcmJyZWluCgo8L2JyPiAgCgojIyBPbnRvZ2VuZXNlIGluIEJpb2RhbnphCgo8L2JyPiAgCjxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTt3aWR0aDogMTAwJTtoZWlnaHQ6IDA7cGFkZGluZy1ib3R0b206IDU2LjI1JTsiPgo8aWZyYW1lCnNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvYjdqUVQtcXRHMmciCmZyYW1lYm9yZGVyPSIwIgpzdHlsZT0iIHBvc2l0aW9uOmFic29sdXRlO3RvcDogMDtsZWZ0OiAwO3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTsiCmFsbG93PSJhdXRvcGxheTsgZW5jcnlwdGVkLW1lZGlhIiBhbGxvd2Z1bGxzY3JlZW4gZGF0YS1leHRlcm5hbD0iMSIgc3RhcnQ9OD48L2lmcmFtZT4KPC9kaXY+CjwvYnI+IAoKCjwvYnI+CjxjZW50ZXI+CiFbXSguL2ZpZ3MvYmlvbG9naXNjaGVBc3BlY3RlbkJpb2RhbnphRGVlbElJSS5wbmcpe3dpZHRoPTUwJX0KPC9jZW50ZXI+CgotIE9udG9nZW5lc2Uga2FuIHdvcmRlbiBnZXppZW4gYWxzIGRlIHRpamRzYXMgaW4gaGV0IG1vZGVsIQoKLSBWaXZlbmNpYSB3ZXJrdCBzdGVyayBpbiBvcCBicmVpbgokXHJpZ2h0YXJyb3ckIGRlIHNlbnNhdGllcyBkaWUgd2UgaGllcmJpaiBlcnZhcmVuIHppam4gYWZrb21zdGlnIHZhbiBkZSBnZW5lbiB2YW4gYWxsZXJsZWkgaG9ybW9uZW4gZW4gbmV1cm90cmFuc21pdHRlcnMgZGllIHRvdCBleHByZXNzaWUgd29yZGVuIGdlYnJhY2h0LiAKCi0gTGFuZ2R1cmlnIGJlb2VmZW5lbmVuIHZhbiBCaW9kYW56YSBrYW4gZXBpZ2VuZXRpY2EgYmXDr252bG9lZGVuIGVuIGR1cyBob2UgZ2VuZXRpc2NoIHBvdGVudGllZWwgd29yZHQgYmVudXQuCgotIE9uemUgdG9vbD8gCiAgCiAgLSBSZWdyZXNzaWUgZW4gaWRlbnRpdGVpdCBpbiBkZSA1IGxpam5lbiAKICAtIGRlIHB1bHNhdGllIHR1c3NlbiByZWdyZXNzaWUgZW4gaWRlbnRpdGVpdCBpcyBub2RpZyB3YW50IGVlbiBvcmdhbmlzbWUgZmlsdGVydCBwcmlra2VscyB3ZWcgZGllIGNvbnRpbnUgemlqbiEgIAogIAogIAotIEFhbmdldG9vbmQgZGF0IG1pbmQtYm9keSB0ZWNobmlla2VuIChtZWRpdGF0aWUsIHFpZ29uZywgdGFpIGNoaSwgeW9nYSkgY2VsdmVyam9uZ2luZyBrdW5uZW4gaW5kdWNlcmVuIGRvb3IgYWN0aXZhdGllIHZhbiBoZXQgZ2VuIGRhdCBjb2RlZXJ0IHZvb3IgdGVsZW9tZXJhc2UgKFRoZSB0ZWxvbWVyZSBlZmZlY3QgKEpvbmdlciB3b3JkZW4pLCBOb2JlbHByaWpzIHdpbm5hcmVzIEVsaXphYmV0aCBCbGFja2J1cm4gZW4gRWxpc3NhIEVwZWwpCgo8L2JyPiAgCgojIFNsb3RvcG1lcmtpbmdlbiAKCi0gSGV0IGxldmVuIGlzCiAgICAtIMOpw6luCiAgICAtIGNoZW1pZSAKICAgIC0gaW5mb3JtYXRpZSAKCjwvYnI+ICAKCi0gSGV0IGtvc21pc2NoZSBsZXZlbiAKCiAgICAtIEluIGRlIHN0ZXJyZW4gb250c3RvbmRlbiBkZSBhdG9tZW4gdmFuIGhldCBsZXZlbiAKICAgIAogICAgLSBJbiBoZXQgc3RvZiB2YW4gZGUgc3RlcnJlbiB3ZXJkZW4gZGV6ZSBvbWdlemV0IHRvdCBlc3NlbnRpw6tsZSBtb2xlY3VsZW4gZW4gYm91d2Jsb2trZW4gdmFuIGhldCBsZXZlbiBkaWUgYWxvbSBhYW53ZXppZyBpbiBkZSBrb3Ntb3MKICAgIAogICAgLSBPbmRlciBkZSBqdWlzdGUgY29uZGl0aWVzIHN0cnVjdHVyZXJlbiBkZXplIGJvdXdibG9ra2VuIHppY2ggc3BvbnRhYW4gdG90IGxldmVuIHpvYWxzIHdlIGRhdCBrZW5uZW4gCiAgICAKICAgIC0gRWVyc3Qgd2FzIGVyIGVuZXJnaWUsIHRvZW4ga3dhbSBjaGVtaWUgZW4gZGFhcm5hIGluZm9ybWF0aWU6IHNhbWVuIHppam4gemUgaGV0IGxldmVuCiAgICAKICAgIC0gVmFudWl0IGRlIHF1YW50dW0gbWVjaGFuaWNhIGVuIHJlbGF0aXZpdGVpdHN0aGVvcmllIHppZW4gd2UgbWF0ZXJpZSBuaWV0IGxhbmdlciBwYXNzaWVmIG9mIGluZXJ0IG1hYXIgICAgICAgICAgCiAgICAgICAgCiAgICAgICAgLSBhbHMgZWVuIHZvcm0gdmFuIGVuZXJnaWUgCiAgICAgICAgLSBtZXQgZWVuIGR5bmFtaXNjaGUgbmF0dXVyCiAgICAgICAgLSBvcCBhdG9tYWlyZSBzY2hhYWwgZW4gc3ViYXRvbWFpcmUgc2NoYWFsIGlzIGVyIGhlZWwgdmVlbCBsZWVndGUgd2FhcmluIGVyIGVlbiBjb250aW51ZSBkYW5zIGVuIHB1bHNlcmVuZGUgYmV3ZWdpbmcgaXMgdmFuIGVsZWN0cm9uZW4sIHByb3RvbmVuLCBuZXV0cm9uZW4sIGF0b21lbiBlbiBtb2xlY3VsZW4gCiAgICAKICAgIC0gRHVhbGlzbWUgKG1hdGVyaWUsIHppZWwpICRccmlnaHRhcnJvdyQgbW9ub2lzbWUgKG1hdGVyaWUpICAKICAgIAogICAgLSBIZXQgbGV2ZW4gaXMgZWVuIG9ibGlnYXRlIG1hbmlmZXN0YXRpZSB2YW4gbWF0ZXJpZSBkaWUgaXMgZ2VzY2hyZXZlbiBpbiBoZXQgd2VlZnNlbCB2YW4gZGUga29zbW9zIChDaHJpc3RpYW4gZGUgRHV2ZSkKCgo8L2JyPiAgCiAgCi0gT3JnYW5pc21lbiBlbiBsZXZlbiBrYW4gbmlldCB3b3JkZW4gYmVzdHVkZWVyZCBsb3MgdmFuIGh1biBpbnRpZW1lIHJlbGF0aWUgbWV0IGh1biBtaWxpZXUvZWNvc3lzdGVlbQoKICAgIC0gbW9sZWN1bGVuIHdlcmtlbiBuaWV0IGFsbGVlbiBtYWFyIGluIGdyb3RlIG5ldHdlcmtlbgogICAgLSBvbWdldmluZ3Njb25kaXRpZXMgemlqbiBiZWxhbmdyaWprIHZvb3IgemVsZm9yZ2FuaXNhdGllCiAgICAtIHNlbGVjdGlldmUgZXZvbHV0aWU6IHNlbGVjdGllIGRvb3IgZWNvZmFjdG9yZW4gCiAgICAtIG9yZ2FuaXNtZW4gdmVyYW5kZXJlbi9zaGFwZW4gb29rIG9wIGh1biBiZXVydCBoZXQgbWlsaWV1IGVuIGVjb2ZhY3RvcmVuOiBkZW5rIG1hYXIgYWFuIGRlIGN5YW5vYmFjdGVyacOrbiAKICAgIC0gaW5kaXZpZHVlbGUgZXZvbHV0aWU6IGVjb2ZhY3RvcmVuICRcbGVmdHJpZ2h0YXJyb3ckIGVwaWdlbmV0aWNhIAogICAgLSBlY29mYWN0b3JlbiB3b3JkZW4gb29rIGJlcGFhbGQgZG9vciBhbmRlcmUgb3JnYW5pc21lbjogZWNvc3lzdGVlbQogICAgLSBPcmdhbmlzbWVuIGludGVyYWdlcmVuIGVuIHdlcmtlbiBzYW1lbiBpbiBoZXQgZWNvc3lzdGVlbQogICAgLSBHZW5ldGlzY2hlIGluZm9ybWF0aWUga2FuIGFscyBoZXQgd2FyZSB3b3JkZW4gZ2V6aWVuIGFscyAibG9nYm9layIgdmFuIGFsbGUgY29uZGl0aWVzIHdhYXJpbiBvbnplIHZvb3JvdWRlcmxpamtlIGNlbGxlbiBoZWJiZW4gZ2VsZWVmZC4gIAogICAgICAKICAgICAgJFxyaWdodGFycm93JCAiV2ViIG9mIExpZmUiIAoKPC9icj4KCi0gTWV0IEJpb2RhbnphIGt1bm5lbiB3ZSBkZSBvbnRvZ2VuZXNlIGJlw69udmxvZWRlbiBvZiAKLSBIb2Ugb256ZSBnZW5lbiB3b3JkZW4gZ2VicnVpa3QgaW4gb256ZSBjZWxsZW4hCgo8L2JyPgoKPGNlbnRlcj4KIVtdKC4vZmlncy9iaW9kYW56YU1vZGVsLnBuZyl7d2lkdGg9NTAlfQo8L2NlbnRlcj4K