{"data":{"id":"10.5061/dryad.9zw3r22tn","type":"dois","attributes":{"doi":"10.5061/dryad.9zw3r22tn","prefix":"10.5061","suffix":"dryad.9zw3r22tn","identifiers":[],"alternateIdentifiers":[],"creators":[{"name":"Kristensen, Anders M.","nameType":"Personal","givenName":"Anders M.","familyName":"Kristensen","affiliation":["Aarhus University"],"nameIdentifiers":[{"schemeUri":"https://orcid.org","nameIdentifier":"https://orcid.org/0000-0002-7066-6989","nameIdentifierScheme":"ORCID"}]},{"name":"Bordoni, Luca","nameType":"Personal","givenName":"Luca","familyName":"Bordoni","affiliation":["Aarhus University","University of Oslo"],"nameIdentifiers":[{"schemeUri":"https://orcid.org","nameIdentifier":"https://orcid.org/0000-0002-2428-0874","nameIdentifierScheme":"ORCID"}]},{"name":"Nielsen, Marie B.","nameType":"Personal","givenName":"Marie B.","familyName":"Nielsen","affiliation":["Aarhus University Hospital"],"nameIdentifiers":[]},{"name":"Faivre, Anna","nameType":"Personal","givenName":"Anna","familyName":"Faivre","affiliation":["Aarhus University"],"nameIdentifiers":[]},{"name":"Kidmose, Hanne","nameType":"Personal","givenName":"Hanne","familyName":"Kidmose","affiliation":["Aarhus University"],"nameIdentifiers":[]},{"name":"Sardella, Donato","nameType":"Personal","givenName":"Donato","familyName":"Sardella","affiliation":["Aarhus University"],"nameIdentifiers":[]},{"name":"Shipman, Katherine E.","nameType":"Personal","givenName":"Katherine E.","familyName":"Shipman","affiliation":["University of Pittsburgh School of Medicine"],"nameIdentifiers":[]},{"name":"Krogstrup, Nicoline","nameType":"Personal","givenName":"Nicoline","familyName":"Krogstrup","affiliation":["Aarhus University"],"nameIdentifiers":[]},{"name":"Størling, Joachim","nameType":"Personal","givenName":"Joachim","familyName":"Størling","affiliation":["Steno Diabetes Center Copenhagen"],"nameIdentifiers":[]},{"name":"Birn, Henrik","nameType":"Personal","givenName":"Henrik","familyName":"Birn","affiliation":["Aarhus University Hospital","Aarhus University"],"nameIdentifiers":[]},{"name":"Enger, Rune","nameType":"Personal","givenName":"Rune","familyName":"Enger","affiliation":["University of Oslo","Oslo University Hospital"],"nameIdentifiers":[{"schemeUri":"https://orcid.org","nameIdentifier":"https://orcid.org/0000-0001-9418-7117","nameIdentifierScheme":"ORCID"}]},{"name":"Schiessl, Ina","nameType":"Personal","givenName":"Ina","familyName":"Schiessl","affiliation":["Aarhus University"],"nameIdentifiers":[{"schemeUri":"https://orcid.org","nameIdentifier":"https://orcid.org/0000-0003-1613-2000","nameIdentifierScheme":"ORCID"}]}],"titles":[{"title":"In vivo expression of VCAM1 precedes nephron loss following kidney tubular necrosis"}],"publisher":"Dryad","container":{},"publicationYear":2025,"subjects":[{"subject":"FOS: Basic medicine","schemeUri":"https://web-archive.oecd.org/2012-06-15/138575-38235147.pdf","subjectScheme":"fos"},{"subject":"FOS: Basic medicine","schemeUri":"http://www.oecd.org/science/inno/38235147.pdf","subjectScheme":"Fields of Science and Technology (FOS)"},{"subject":"Acute renal failure","schemeUri":"https://github.com/PLOS/plos-thesaurus","subjectScheme":"PLOS Subject Area Thesaurus"},{"subject":"In vivo imaging","schemeUri":"https://github.com/PLOS/plos-thesaurus","subjectScheme":"PLOS Subject Area Thesaurus"},{"subject":"Fibrosis","schemeUri":"https://github.com/PLOS/plos-thesaurus","subjectScheme":"PLOS Subject Area Thesaurus"}],"contributors":[],"dates":[{"date":"2025-07-22T07:45:03Z","dateType":"Created"},{"date":"2025-07-22T07:55:00Z","dateType":"Submitted"},{"date":"2025-09-19T00:00:00Z","dateType":"Issued"},{"date":"2025-09-19T00:00:00Z","dateType":"Available"}],"language":"en","types":{"ris":"DATA","bibtex":"misc","citeproc":"dataset","schemaOrg":"Dataset","resourceType":"dataset","resourceTypeGeneral":"Dataset"},"relatedIdentifiers":[{"relationType":"IsDerivedFrom","relatedIdentifier":"10.5281/zenodo.16353892","relatedIdentifierType":"DOI"},{"relationType":"IsCitedBy","relatedIdentifier":"10.1126/sciadv.adz5358","relatedIdentifierType":"DOI"}],"relatedItems":[],"sizes":["56241723241 bytes"],"formats":[],"version":"7","rightsList":[{"rights":"Creative Commons Zero v1.0 Universal","rightsUri":"https://creativecommons.org/publicdomain/zero/1.0/legalcode","schemeUri":"https://spdx.org/licenses/","rightsIdentifier":"cc0-1.0","rightsIdentifierScheme":"SPDX"}],"descriptions":[{"description":"Nephron loss is a key event during the onset and progression of chronic\n kidney disease, yet the mechanisms determining whether tubules undergo\n successful repair or progress to atrophy remain poorly understood. While\n fibrosis has been proposed to drive progressive organ damage, antifibrotic\n therapies have failed in clinical trials. Here, we reveal that tubular\n VCAM1-expression precedes nephron loss, fibrosis, and long-term kidney\n dysfunction. Using serial intravital microscopy in transgenic mice, we\n track tubulointerstitial remodeling between injured and intact tissue over\n 3 weeks. VCAM1 is rapidly induced in a distinct subset of injured tubules,\n preceding atrophy with sustained fibroblast recruitment. However,\n fibroblasts remain confined to injury sites and do not cause secondary\n damage in uninjured tubules. Finally, in human kidney transplant biopsies,\n tubular VCAM1 expression - but not KIM1 - correlates negatively with early\n and 12-month graft function, underscoring its potential as a biomarker of\n adverse outcomes. These findings position VCAM1 as an early indicator of\n tubular fate and nephron loss.","descriptionType":"Abstract"},{"description":"\u003cstrong\u003eStudy Approval\u003c/strong\u003e\n All experimental procedures involving animals were approved by\n the local authorities (Animal Experiments Inspectorate, Denmark, permit\n numbers: 2020-15-0201-00443 and 2024-15-0201-01839) and reported according\n to ARRIVE guidelines. Processing of human samples and data was approved by\n the National Committee on Health Research Ethics (M-20100269). Informed\n and written content was obtained from the participants. The trial was\n conducted according to the Helsinki Declaration.\n \u003cstrong\u003eAnimals\u003c/strong\u003e A total\n of 60 (26 male and 34 female) mice with a mean weight of 22.3 ± 0.5 g and\n age of 12.6 ± 0.6 weeks (mean ± SEM) were included in the study (Tables S1\n and 2). Transgenic mice were obtained from Jax Laboratory and bred in the\n animal facilities at the Department of Biomedicine, Aarhus University:\n PDGFRβCre-ERT2 – Salsa6F reporter mice were generated by crossing\n B6.Cg-Tg(PDGFrβ-cre/ERT2)6096Rha/J (Strain #:030201)\n \u003csup\u003e27\u003c/sup\u003e and\n B6(129S4)-Gt(ROSA)26Sortm1.1(CAG-tdTomato/GCaMP6f)Mdcah/J)] (Strain #:\n 031968) \u003csup\u003e28\u003c/sup\u003e. After induction with tamoxifen, this\n strain identifies  PDGFRβcells by Salsa6F, a fusion protein of GCaMP6 and\n tdTomato. Additionally, CycB1-GFP reporter mice\n (Tg(Pgk1-Ccnb1/EGFP)1Aklo/J) (Strain #: 023345) \u003csup\u003e36\u003c/sup\u003e\n were used to detect renal cell proliferation through transient\n nuclear/cytosolic expression of  green fluorescent protein (GFP)\n expression stages S-, G2- and M of the cell cycle. Mice\n were randomly allocated to one of three groups; i) in vivo imaging, ii)\n GFR and urine collection and iii) ex vivo imaging, as summarized in Table\n S2. Group i) was further divided into mice undergoing partial IRI surgery,\n sham surgery or laser injury, respectively. Groups ii) and iii) were\n divided into mice undergoing partial IRI surgery and sham surgery.\n Additionally, some mice from group i) were also used for ex vivo\n correlative microscopy upon sacrificing. Our study design precluded\n blinding of the experimental treatment, as the validation of surgical\n outcomes required close microscopic examination during the procedure.\n Serial intravital microscopy of partial IRI animals was challenged by\n strong tissue remodeling that sometimes caused missing data points from\n late acquisition time points. To compensate for missing data points, we\n included higher n-numbers in the partial IRI group. For statistical\n analysis all available serial imaging data was included. No data was\n excluded.\n \u003cstrong\u003eSurgery\u003c/strong\u003e Prior to\n surgery mice were accommodated in groups of 2 to 5 within ventilated cages\n (Technoplast model GM500 or GM9000) at 21 ± 2°C and 55 ± 10% relative\n humidity. Littermates were weaned at 3 weeks of age. Mice were maintained\n on a standardized 12-hour light-dark diurnal cycle, with unrestricted\n access to standard diet and water. The bedding material consisted of Aspen\n wood chips measuring 2-3 mm in size (Abedd, bedding midi), complemented by\n compressed cotton tubes for nesting purposes. Cages were enriched with\n Mouse Igloo with spinning wheels, wooden chew sticks, cardboard tubes, and\n Shepherd Shacks. Upon surgery, Mouse Igloo and cardboard tubes were\n replaced by cardbox houses to prevent the abdominal image window from\n getting stuck. Cages were routinely cleaned once a week. To investigate\n whether (myo)fibroblasts engage in progressive and self-perpetuating\n tubulointerstitial fibrosis, two individual surgery procedures were\n performed. First, an unilateral partial ischemia-reperfusion injury (IRI)\n was done by occluding one branch of the left renal artery for 21 min, as\n previously described \u003csup\u003e7\u003c/sup\u003e. Second, a winged abdominal\n image window (wAIW) was placed above the postischemic and non-ischemic\n parts of the partial IRI kidney and implanted into the left flank of the\n mouse as described previously \u003csup\u003e29, 63\u003c/sup\u003e. Thus, it was\n possible to image the border between the ischemic and non-ischemic\n regions. During surgery mice received analgesia through\n intraperitoneal administration of buprenorphine (0.1 mg/ kg BW, Temgesic),\n and anesthetized with isoflurane (3.5% for induction, 1.5–1.75% for\n maintenance, 1.2-1.8 L/min flow rate, 50% oxygen in medical air). Surgery\n was conducted on a heating plate set to 37 ± 0.5°C, while eye ointment\n prevented cornea dehydration. The mouse’s left flank was shaved, and the\n skin was disinfected using chlorhexidine (0.5 % in 70% ethanol). Hereafter\n an incision into the left flank exposed the kidney. The kidney was gently\n repositioned, and the right artery branch was occluded with a clamp for 21\n minutes. During occlusion, kidney temperature, and hydration were\n maintained with a nonwoven swab and occasional flushing with 37°C saline\n \u003csup\u003e29\u003c/sup\u003e. Upon reperfusion, a purse-string suture\n connected the muscle layer and the skin around the incision, and the\n kidney glued to the wAIW using 50 μl cyanoacrylate glue. Lastly, the skin\n was secured around the groove of the wAIW by tightening of the\n purse-string suture \u003csup\u003e68\u003c/sup\u003e. 10 μl/g BW sterile saline\n was injected i.p. for fluid supplementation. Following the image session\n at day 0, meloxicam (1 mg/kg BW meloxicam, Metacam) was administrated s.c.\n as postoperative analgesia as well as at days 1 and 2 post surgery.\n Additionally, mice had restricted access to normal drinking water but had\n to drink water containing buprenorphine (1 ml buprenorphine 0.3 mg/ml to\n 35 ml water) until 3 days post-surgery.\n \u003cstrong\u003eImage acquisition protocol\u003c/strong\u003e\n In vivo imaging was conducted using an upright Olympus FVMPE-RS\n 2-photon microscope (Olympus, Japan) operated with Fluoview FV31S software\n (Olympus, Japan), and an upright Ultima Investigator Plus multiphoton\n setup (Bruker Corporation, Billerica, MA, USA) with PraireView IV software\n as described previously \u003csup\u003e7\u003c/sup\u003e. The\n Olympus microscope was equipped with a MaiTaiHP DS-OL excitation laser\n (Spectra Physics, United States), a 25X XLPLN25xWMP2 objective, water\n immersion, (Olympus, Japan, NA 1.05; WD 2.00mm), with an IR cut filter of\n 690 nm, and the following detection cubes: Ch1: λet = 705/45 nm\n (multialkali PMT), Ch2: λet = 610/35 nm (multialkali PMT), Ch3: λet =\n 540/40 (GaAsP), Ch4: λet = 480/40 (GaAsP). The Bruker\n microscope was equipped with a 20X Olympus XLUMPLFLN Objective, water\n immersion (Olympus, Japan, NA 1.00; WD 2.00mm), a 720 sp filter, and the\n following detection cubes: Ch1: λet=525/50 nm (GaAsP), Ch2: λet= 525/50 nm\n (GaAsP), Ch3: λet= 460/50 nm (GaAsP). Prior to imaging,\n 1 μl/g body weight of a 2.5 mg/ml conjugated Albumin-Alexa Fluor 594 dye\n solution (Alexa594-albumin, Invitrogen) and 10 μl of propidium iodide (PI,\n 0.25 mg/ml, Thermo Fisher) was administered via retro-orbital injection.\n For imaging, the wAIW implant was slotted into a custom 3D-printed frame\n ensuring image stabilization on an upright microscope setup\n \u003csup\u003e64\u003c/sup\u003e. During imaging, anesthesia and temperature were\n maintained with a low-flow (30–50 ml/min, 1.0–1.5%) isoflurane vaporizer\n (SomnoSuite, Kent Scientific), which was equipped with a heating blanket\n placed beneath the animal. We identified ≈ 4 FOV, which\n were imaged using dual-track excitation using 750 nm and 940 nm,\n respectively (512 x 512, dwell time: 4 μs, line averaging x 2, Galvano\n laser). Z-series, with a step size of 1-2 μm and depth of ≈ 60 μm, were\n acquired from each FOV, starting from the capsule. Upon the end of the\n image session, mice recovered from anesthesia and placed back in their\n cage. This process was repeated for each imaging day as detailed in Table\n S2. To induce selective laser-injury in a few nephrons\n within the otherwise healthy PDGFRβ-CreERT2-tdTomato kidneys (n = 4), we\n used the 2-photon laser as a micromanipulator and focused high laser power\n on a kidney region of approximately 60 um\u003csup\u003e2\u003c/sup\u003e. Tissue\n remodeling at the injury site was then monitored via serial in vivo\n imaging for up to 4 weeks as detailed in Tables S1 and 2. At some image\n sessions, a tile scan approach was utilized if the damaged area exceeded\n the normal FOV. These tiles were later stitched using the cell sense\n software (Olympus, Japan). After the last imaging\n session, mice were anesthetized with isoflurane and perfusion-fixated with\n 4% PFA. For correlative microscopy the cortical renal area attached to the\n wAIW was separated as a ≈ 2 mm thick tissue section, post-fixated with 4%\n PFA for 1 hour, and then washed in PBS (3 x 5 min). Whereafter they were\n stained ex vivo. \u003cstrong\u003eImage\n analysis\u003c/strong\u003e During the analysis, all\n tubular segments from each FOV were sequentially numbered, re-identified\n on consecutive imaging time points, and qualitatively assessed for\n categorization into one of the following classifications:\n 'undamaged,' 'damaged,' 'recovered,' or\n 'atrophic'. Tubular segments were classified as\n 'damaged' if they exhibited any of the following criteria:\n positive staining for propidium iodide, dilated or collapsed tubule lumen,\n luminal granular cast accumulation, flattened tubule epithelium, visually\n decreased NADH autofluorescence and/or, in the case of PT-S1, visually\n reduced albumin endocytosis. 'Undamaged' tubule segments were\n defined by the absence of all characteristics mentioned above. Tubule\n segments were classified as 'atrophic' if they adopted a\n strongly collapsed, non-reversible state with decreased NADH\n autofluorescence. ‘Recovered’ tubules were identified with any of the\n damage characteristics outlined above and later adopted an ‘undamaged’\n state. Additionally, atrophic’ tubule segments were further sub-classified\n as 'degraded' if they completely disappeared. The classification\n of individual tubule segments across consecutive imaging time points was\n performed and confirmed by two experimenters. Denoising\n of images was conducted using the BM3D algorithms ^70 ^as previously\n described \u003csup\u003e69\u003c/sup\u003e. In short, a denoising pipeline was\n created utilizing both FIJI \u003csup\u003e75\u003c/sup\u003e and MATLAB. FIJI\n facilitated batch data input/output, handled multichannel images, and\n merged denoised outputs. MATLAB executed BM3D algorithms, processing one\n channel at a time by reading temporary files written on disk by FIJI and\n producing the denoised data in separate temporary files.\n Registration of serial imaging data was performed using a\n combination of a manual landmark-based volumetric registration within the\n FIJI plugin BigWarp using rigid rotation transforms\n \u003csup\u003e76\u003c/sup\u003e, and intensity-based medical image registration\n using Elastix \u003csup\u003e38\u003c/sup\u003e. To quantify\n PDGFRβ-cell accumulation, two different approaches were utilized. In the\n first method, PDGFRβ-cells were segmented using Ilastik\n \u003csup\u003e77\u003c/sup\u003e (v5.1.0). Here, tdTomato-labeled PDGFRβ-cells\n were segmented from the registered 940 tracks using pixel classification.\n To train Ilastik, labels were assigned to Z-stack images to identify\n structures/cells as either tdTomato-positive or negative cells. Following\n exportation of the 2D Ilastik predictions, a threshold was applied using\n the Otsu method \u003csup\u003e78\u003c/sup\u003e, whereafter the percentage of\n the of tdTomato cell area was assessed relative to the total FOV area\n (Figures S2B, C). This approach provided an unbiased quantification of\n PDGFRβ-cell abundance on a per FOV basis. In the second\n method, the perimeter of each individual tubule was measured for each day\n equivalating 6903individual measurements. Afterward, it was measured how\n much of the tubule in question was in touch with surrounding PDGFRβ-cells\n and PDGFRβ-cell enclosure was expressed in percent of the total perimeter\n of the tubule (Figure 2E). This approach provided insights into\n PDGFRβ-cell dynamics with individual tubules. Second\n harmonic generation (SHG) was quantified following image segmentation\n using Ilastik. The software was trained to recognize SHG signals from 940\n tracks. Following the export of the 2D Ilastik predictions, a threshold\n was applied using the Otsu method, after which the percentage of the SHG\n area was evaluated relative to the total FOV area. All SHG analysis was\n done on decapsulated, ex vivo samples to avoid bias when separating\n interstitial SHG signal from SHG signal deriving from the kidney\n capsule.  NADH signal quantification was only performed\n on images acquired on the Olympus system to maintain consistent detection\n optics for the quantification. In 750 nm excitation track data, a ROI was\n manually drawn around the epithelium of each tubule, and the average\n intensity of channel 4 was measured.","descriptionType":"Methods"},{"description":"# In vivo expression of VCAM1 precedes nephron loss following kidney\n tubular necrosis Dataset DOI:\n [10.5061/dryad.9zw3r22tn](10.5061/dryad.9zw3r22tn) ## Description of the\n data and file structure `File: Dataset_001_Partial_IRI.zip` **# Data\n Description** Using serial intravital microscopy of transgenic mice, we\n tracked the interactions of renal fibroblasts and pericytes with injured\n and uninjured tubules over 3 weeks and tested whether fibrosis preceded\n secondary tubular damage in uninjured tissue. To achieve this, we used a\n model of partial ischemia-reperfusion injury (partial IRI), which resulted\n in rapid and abundant tubule atrophy and fibrosis in approximately half of\n the kidney while demonstrating uninjured renal tissue in the other half.\n **# Experimental Setup and Protocol Information:** Transgenic\n PDGFRβCre-ERT2–Salsa6F reporter mice were generated by crossing\n B6.Cg-Tg(PDGFrβ-cre/ERT2)6096Rha/J (The Jackson Laboratory, Strain\n #:030201) and B6(129S4)-Gt(ROSA)26Sortm1.1(CAG-tdTomato/GCaMP6f)Mdcah/J)]\n (The Jackson Laboratory , Strain #: 031968). A partial IRI was performed\n in the mice, which was followed by an abdominal imaging window (AIW)\n implementation, and serial intravital imaging under isoflurane anaesthesia\n for up to 21 days post-IRI. **# Experimental Equipment** In vivo 2-photon\n imaging was performed using two setups: 1\\) Upright Olympus FVMPE-RS\n 2-photon microscope (Olympus, Japan) equipped with MaiTai HP DS-OL\n excitation laser (Spectra Physics, United States), XLPLN25xWMP2 objective\n (Olympus, Japan, NA 1.05; WD 2.00 mm). Excitation wavelengths used were\n 750 nm and 940 nm. 2\\) Chamelion Ultra II Coherent Laser and an Ultima\n Investigator Plus multiphoton setup (Bruker Corporation, Billerica, MA,\n USA) with PraireView IV software in upright objective configuration (20X\n Olympus XLUMPLFLN Objective, water immersion, 1.00 NA, 2.0 mm WD).\n Excitation wavelengths used were 750 nm and 940 nm. Emission signal was\n detected after a 720sp filter on 3 GaAsP (Hamamatsu, H7422-40)\n photomultipliers (Ch1: λet = 525/50 nm, Ch2: λet = 525/50 nm, Ch3: λe t=\n 460/50 nm). Subject IDs: 008, 009, 010. `File:\n Dataset_002_Laser_Injury.zip` **# Data Description** To explore the\n dynamics of fibroblasts in a locally restricted injury model, we used\n serial *in vivo* imaging via two-photon microscopy and genetic\n identification of PDGFRβ cells in kidneys undergoing laser-induced tubular\n injury. **# Experimental Setup and Protocol Information:** Transgenic\n PDGFRβCre-ERT2–Salsa6F reporter mice were generated by crossing\n B6.Cg-Tg(PDGFrβ-cre/ERT2)6096Rha/J (The Jackson Laboratory, Strain\n #:030201) and B6(129S4)-Gt(ROSA)26Sortm1.1(CAG-tdTomato/GCaMP6f)Mdcah/J)]\n (The Jackson Laboratory , Strain #: 031968). An abdominal imaging window\n (AIW) was implemented in the mice, which was followed by a laser-induced\n tubular injury and serial intravital imaging performed under isoflurane\n anesthesia for up to 28 days. **# Experimental Equipment** *In vivo*\n 2-photon imaging was performed using an upright Olympus FVMPE-RS 2-photon\n microscope (Olympus, Japan) equipped with MaiTai HP DS-OL excitation laser\n (Spectra Physics, United States), XLPLN25xWMP2 objective (Olympus, Japan,\n NA 1.05; WD 2.00 mm), and the following detection cubes: Ch1: λet = Empty,\n Ch2: λet = 610 ± 35 nm (multialkali PMT), Ch3: λet = 540 ± 20 nm (GaAsP),\n Ch4: λet = 480 ± 20 nm (GaAsP). `File: Dataset_003_Control.zip` Serial\n intravital imaging via 2-photon microscopy and genetic identification of\n PDGFRβ cells in kidneys undergoing sham ischemia-reperfusion injury (IRI)\n surgery. **# Experimental Setup and Protocol Information:** Transgenic\n PDGFRβCre-ERT2–Salsa6F reporter mice were generated by crossing\n B6.Cg-Tg(PDGFrβ-cre/ERT2)6096Rha/J (The Jackson Laboratory, Strain\n #:030201) and B6(129S4)-Gt(ROSA)26Sortm1.1(CAG-tdTomato/GCaMP6f)Mdcah/J)]\n (The Jackson Laboratory, Strain #: 031968). A sham IRI surgery was\n performed in the mice, which was followed by an abdominal imaging window\n (AIW) implementation, and serial intravital imaging under isoflurane\n anaesthesia for up to 21 days post surgery. **# Experimental Equipment**\n In vivo 2-photon imaging was performed using two setups: 1\\) Upright\n Olympus FVMPE-RS 2-photon microscope (Olympus, Japan) equipped with MaiTai\n HP DS-OL excitation laser (Spectra Physics, United States), XLPLN25xWMP2\n objective (Olympus, Japan, NA 1.05; WD 2.00 mm). Excitation wavelengths\n used were 750 nm and 940 nm. 2\\) Chamelion Ultra II Coherent Laser and an\n Ultima Investigator Plus multiphoton setup (Bruker Corporation, Billerica,\n MA, USA) with PraireView IV software in upright objective configuration\n (20X Olympus XLUMPLFLN Objective, water immersion, 1.00 NA, 2.0 mm WD).\n Excitation wavelengths used were 750 nm and 940 nm. Emission signal was\n detected after a 720sp filter on 3 GaAsP (Hamamatsu, H7422-40)\n photomultipliers (Ch1: λet = 525/50 nm, Ch2: λet = 525/50 nm, Ch3: λe t=\n 460/50 nm). Subject IDs: 008, 009, 010. `File: Dataset_004_Vcam1KIM1.zip`\n Ex vivo imaging of human biopsies from kidney transplantations stained for\n Kim1 and Vcam1. **# Experimental Setup and Protocol Information:**\n Biopsies were obtained from patients undergoing kidney transplantation.\n The biopsy was taken from the transplanted kidney 6 days\n post-transplantation. Human biopsies were stained for Kim1 and Vcam1. The\n primary antibody, Rabbit anti-VCAM1 (Abcam AB0134047, 1:500 dilution) or\n Goat anti KIM1 (Biotechne AF181, 1:500), was incubated overnight at 4°C.\n Following primary antibody incubation, sections were washed three times\n for 10 minutes each in a buffer containing 1% BSA, 0.2% gelatin, and 0.05%\n saponin in PBS (pH 7.4). The secondary antibody, Goat anti-Rabbit Cy5\n (Invitrogen A10523, 1:500 dilution) or Donkey anti Goat Alexa 647\n (Invitrogen A2144, 1:1000), was applied for 2 hours at room temperature\n (20°C). Both primary and secondary antibodies were diluted in a solution\n of 0.1% BSA, 0.3% Triton X-100, in PBS (pH 7.4). For nuclear staining,\n Hoechst 33342 (1 µg/mL, Invitrogen H3570) was incubated concurrently with\n the secondary antibody. Sections were mounted with Glysergel mounting\n medium (Dako C0563) containing 0.025 g/mL 1,4-diazabicyclo[2.2.2]octane\n (2.5% w/v, Merck 803456). **# Experimental Equipment** biopsies were\n imaged on an Olympus VS120 upright widefield fluorescence microscope\n (Olympus, Japan) equipped with a 20X UPLSAPO objective (air immersion) and\n a high-sensitivity monochrome camera with 82% quantum efficiency\n (Hamamatsu ORCA-FLASH4.0V2). Images were captured using emission\n wavelengths of 518 nm (exposure time = 500 ms), 455 nm (exposure time =\n 100 ms), and 565 nm (exposure time = 800 ms). `File:\n Dataset_005_Ex_vivo.zip` Ex vivo imaging of stained sections following\n partial IRI. **# Experimental Setup and Protocol Information:** On days 4,\n 7, and 21 post partial IRI of the kidney, mice were perfusion fixed, and\n the kidney was cut out. Ex vivo samples used for paraffin embedding were\n post-fixated in 4% paraformaldehyde (PFA), whereafter they were\n transferred to 70% ethanol and incubated overnight. The ethanol\n concentration was sequentially increased to 96% for 2 hours, then to 99%\n for an additional 2 hours, followed by overnight incubation in 99% ethanol\n with xylene. Samples were subsequently embedded in paraffin at 60°C and\n stored until staining. Kidney tissue was cut coronally. Upon staining,\n sections were dehydrated until water, using Xylene and a decreasing amount\n of ethanol. Antigen retrieval was performed with HIER pH9. Samples were\n blocked in 50mM NH4Cl for 30 minutes, followed by 1% BSA, 0,2% gelatine,\n 0,05% Saponin in PBS pH 7,4. 3x10 minutes. Primary antibodies, Rabbit anti\n VCAM-1 (Abcam AB0134047, 1:500) or Rabbit anti VCAM-1 conjugated to Alexa\n 647 (Abcam AB194319-1001, 1:200), Rabbit anti-PDGFRβ (Abcam ab32570,\n 1:200), Rabbit anti-CD68 (Abcam 125212, 1:900), Mouse anti αSMA (Dako\n M085, 1:1000), Rabbit anti-PCK1(Abcam 7035, 1:200) were diluted in 0,1%\n BSA, 0,3% Tritin x-100 in PSB pH7,4 and incubated over night at 4°C.\n Samples are washed 3 x 10 min in 0,1% BSA, 0,2% gelatine, 0,05% Saponin in\n PBS pH 7,4, before incubation 1 h with Donkey anti Rabbit Alexa 488\n (Invotrogen A21206, 1:1000), Donkey anti Rabbit Alexa 680 (Invitrogen\n A10043, 1:1000), and  Goat anti Mouse Alexa 488 (Invitrogen A32723,\n 1:1000) diluted in 0,1% BSA, 0,3% Tritin x-100 in PSB pH7,4. After\n staining, samples are washed for 100 min. in PBS and mounted with\n Glycergel (Dako C0563) containing 2,5 % w/v 1,4-Diazabicyclo[2.2.2]octane\n (Merck 803456). Samples were imaged on a Zeiss LSM900 Inverted confocal\n laser scanning microscope with Airyscan 2 detection array. For a detailed\n overview, see Table S4. Picrosirius Red staining was performed as\n described before: Upon deparaffinization, sections were consecutively\n incubated in solutions of Celestinblue, Harris Hæmatoxilin, and Sirius\n Red. Collagen was visualized using confocal microscopy (LSM900 Inverted\n confocal laser scanning microscope with Airyscan 2 detection array) using\n an excitation of 561 nm and detection of Sirius Red signal at 635-685 nm.\n **# Experimental Equipment** Samples were imaged on a Zeiss LSM 900 Laser\n Scanning Confocal microscope `File:\n Dataset_006_Correlative_imaging_of_Vcam1.zip` Correlative imaging of\n Partial IRI kidney in vivo and ex vivo stained for Vcam1. **# Experimental\n Setup and Protocol Information:** A partial IRI was performed in the mice,\n which was followed by an abdominal imaging window (AIW) implementation,\n and serial intravital imaging under isoflurane anesthesia for 4 days\n post-IRI. Whereafter, mice were perfusion fixed. Kidney tissue stained\n against VCAM1 was blocked in 1% BSA/2% SEA BLOCK/0,1 % Triton X-100/PBS\n for 1 h and then incubated in Rabbit anti-VCAM-1 (Abcam AB0134047, 1:200)\n for 72 hours at 4 °C. After washing in PBS (3 x 5 min), Donkey anti-Rabbit\n Alexa 405 (Jackson ImmunoResearch 711-175-152, 1:500) secondary antibody\n was incubated overnight at 4°C. For PDGFRβ, the kidney tissue was blocked\n with 1% BSA + 2 % SEA in PBS for 1 hour and incubated in Rabbit\n anti-PDGFrβ (Abcam ab32570, 1:200) overnight at 4°C. After washing in PBS\n (3 x 5 min), the sample was incubated in Donkey anti-Rabbit Alexa 594\n (Invitrogen A21207, 1:500). After incubation in secondary antibody,\n samples were washed in PBS and embedded in PBS between two coverslips\n separated by a 2 mm thick spacer (SunJim Lab). **# Experimental\n Equipment** Upright Olympus FVMPE-RS 2-photon microscope (Olympus, Japan)\n equipped with MaiTai HP DS-OL excitation laser (Spectra Physics, United\n States), XLPLN25xWMP2 objective (Olympus, Japan, NA 1.05; WD 2.00 mm).\n Excitation wavelengths used for in vivo were 750 nm and 940 nm, and 800 nm\n for ex vivo. ### Files and variables #### **File:\n Dataset_001_Partial_IRI.zip** Description: Longitudinal imaging of the\n mouse kidney over 3 weeks via in vivo 2-photon microscopy after partial\n ischemia-reperfusion injury (partial IR). **# What each imaging file\n represents** Volumetric image series of renal cortex (mice), approximately\n 60 µm depth, step size 1-2 µm. The starting imaging location was selected\n at the depth of the renal capsule (identified via second harmonic\n generation, displayed in blue, in the 940 excitation files). **# Color\n Scheme** Images were acquired using both 750 nm as excitation wavelength,\n and 940 nm as excitation wavelength. For each Field of view, there is a\n file for the 750 excitation and 940 excitation track. For each excitation\n track, light has been collected in either 3 or 4 different channels. 1\\)\n for subject ID: 001, 002, 003, 004, 005, 006, 007, the Olympus system with\n the following detection cubes has been used: Ch1: λet = Empty Ch2: λet =\n 610 ± 35 nm (multialkali PMT),  Ch3: λet = 540 ± 20 nm (GaAsP), Ch4: λet =\n 480 ± 20 nm (GaAsP). What do we see in each channel: •             \n Channel 1. N/A •              Channel 2. 750: Alexa-594 albumin, Propidium\n Iodide (only present in Day 0). Both were injected retroorbitally under\n isoflurane before the imaging session. PDGFRβ–Salsa6F signal (weak). 940:\n PDGFRβ–Salsa6F signal (strong). •              Channel 3. 750: Renal\n epithelial autofluorescence- endogenous signal. PDGFRβ–Salsa6F signal\n (weak). 940: Renal epithelial autofluorescence- endogenous signal.\n PDGFRβ–Salsa6F signal (strong). •              Channel 4. 750: Renal\n epithelial autofluorescence- endogenous signal. 940: Collagen fibers\n images via second harmonic generation (SHG)- endogenous signal. Channel 1,\n which did not convey relevant physiological signals, was occasionally\n disabled during acquisition to optimize data storage and minimize file\n size. In those cases, only 3 channels are present in the file. 2\\) for\n subject ID: 008, 009, 010, the Bruker system with the following detection\n cubes has been used: Ch1: λet = Empty Ch2: λet = 595 ± 50 nm (GaAsP), \n Ch3: λet = 525 ± 50 nm (GaAsP), Ch4: λet = 460 ± 50 nm (GaAsP). What do we\n see in each channel: •              Channel 1. N/A •              Channel\n 2. 750: Alexa-594 albumin, Propidium Iodide (only present in Day 0). Both\n were injected retroorbitally under isoflurane before the imaging session.\n PDGFRβ–Salsa6F signal (weak). 940: PDGFRβ–Salsa6F signal (strong).\n •              Channel 3. 750: Renal epithelial autofluorescence-\n endogenous signal. 940: Renal epithelial autofluorescence- endogenous\n signal. •              Channel 4. 750: Renal epithelial autofluorescence-\n endogenous signal. 940: Collagen fibers images via second harmonic\n generation (SHG)- endogenous signal. Channel 1, which did not convey\n relevant physiological signals, was occasionally disabled during\n acquisition to optimize data storage and minimize file size. In those\n cases only 3 channels are present in the file. **# Nomenclature** File\n nomenclature specifies the required information to allocate any imaging\n file to the relevant protocol details, separated by an underscore sign\n (“_“). •                           ZSeries: scan type, volumetric\n acquisition •                           ID0xx: subject experimental ID\n •              FOVx: unique FOV within each experimental subject. Each FOV\n has been serially imaged over different days from partial IRI\n •                           Dxx: days from partial IRI disease model\n •                           WLxx: the wavelength used to excite. Either\n 750 nm or 940 nm. •                           Each file name ends with the\n file acquisition date on the format DDMMYYY  **# Subject-specific\n deviations** On the 3-week follow-up protocols, imaging days 14 to 21 from\n partial IRI required imaging deeper to locate the tubular structure, which\n was imaged serially over the initial week from partial IRI. FOVs from\n those days may include volumetric image sequences larger than 60 images.\n Likewise, the laser power used to excite has also been increased. ####\n **File: Dataset_002_Laser_Injury.zip** Description: Serial *in vivo*\n imaging via two-photon microscopy and genetic identification of PDGFRβ\n cells in kidneys undergoing laser-induced tubular injury. **# What each\n imaging file represents** Volumetric image series of renal cortex (mice),\n approximately 60 µm depth, step size 1-2 µm. The starting imaging location\n was selected at the depth of the renal capsule (identified via second\n harmonic generation, displayed in blue, in the 940 excitation files). **#\n Color Scheme** Images were acquired using both 750 nm as excitation\n wavelength, and 940 nm as excitation wavelength. For each Field of view,\n there is a file for the 750 excitation and 940 excitation track. For each\n excitation track, light has been collected in either 3 or 4 different\n channels. Ch1: λet = Empty Ch2: λet = 610 ± 35 nm (multialkali PMT),  Ch3:\n λet = 540 ± 20 nm (GaAsP), Ch4: λet = 480 ± 20 nm (GaAsP). What do we see\n in each channel: •              Channel 1. N/A •              Channel 2.\n 750: Alexa-594 albumin, Propidium Iodide. Both were injected\n retroorbitally under isoflurane before the imaging session. PDGFRβ–Salsa6F\n signal (weak). 940: PDGFRβ–Salsa6F signal (strong). •              Channel\n 3. 750: Renal epithelial autofluorescence- endogenous signal.\n PDGFRβ–Salsa6F signal (weak). 940: Renal epithelial autofluorescence-\n endogenous signal. PDGFRβ–Salsa6F signal (strong). •              Channel\n 4. 750: Renal epithelial autofluorescence- endogenous signal. 940:\n Collagen fibers images via second harmonic generation (SHG)- endogenous\n signal. Channel 1, which did not convey relevant physiological signals,\n was occasionally disabled during acquisition to optimize data storage and\n minimize file size. In those cases, only 3 channels are present in the\n file. **# Nomenclature** File nomenclature specifies the required\n information to allocate any imaging file to the relevant protocol details,\n separated by an underscore sign (“_“). •                          \n ZSeries: scan type, volumetric acquisition •                          \n ID0xx: subject experimental ID •              FOVx: unique FOV within each\n experimental subject. Each FOV has been serially imaged over different\n days from partial IRI •                           Dxx: days from partial\n IRI disease model •                           WLxx: the wavelength used to\n excite. Either 750 nm or 940 nm. •                           Each file\n name ends with the file acquisition date in format DDMMYYY **File:\n Dataset_003_Control.zip** Description: Serial intravital imaging via\n 2-photon microscopy and genetic identification of PDGFRβ cells in kidneys\n undergoing sham ischemia-reperfusion injury (IRI) surgery. **# What each\n imaging file represents** Volumetric image series of renal cortex (mice),\n approximately 60 µm depth, step size 1-2 µm. The starting imaging location\n was selected at the depth of the renal capsule (identified via second\n harmonic generation, displayed in blue, in the 940 excitation files). **#\n Color Scheme** Images were acquired using both 750 nm as excitation\n wavelength, and 940 nm as excitation wavelength. For each Field of view,\n there is a file for the 750 excitation and 940 excitation track. For each\n excitation track, light has been collected in either 3 or 4 different\n channels. For all subject IDs, the Olympus system with the following\n detection cubes has been used: Ch1: λet = Empty Ch2: λet = 610 ± 35 nm\n (multialkali PMT),  Ch3: λet = 540 ± 20 nm (GaAsP), Ch4: λet = 480 ± 20 nm\n (GaAsP). What do we see in each channel: •              Channel 1. N/A\n •              Channel 2. 750: Alexa-594 albumin, Propidium Iodide (only\n present in Day 0). Both were injected retroorbitally under isoflurane\n before the imaging session. PDGFRβ–Salsa6F signal (weak). 940:\n PDGFRβ–Salsa6F signal (strong). •              Channel 3. 750: Renal\n epithelial autofluorescence- endogenous signal. PDGFRβ–Salsa6F signal\n (weak). 940: Renal epithelial autofluorescence- endogenous signal.\n PDGFRβ–Salsa6F signal (strong). •              Channel 4. 750: Renal\n epithelial autofluorescence- endogenous signal. 940: Collagen fibers\n images via second harmonic generation (SHG)- endogenous signal. Channel 1,\n which did not convey relevant physiological signals, was occasionally\n disabled during acquisition to optimize data storage and minimize file\n size. In those cases, only 3 channels are present in the file. **#\n Nomenclature** File nomenclature specifies the required information to\n allocate any imaging file to the relevant protocol details, separated by\n an underscore sign (“_“). •                           ZSeries: scan type,\n volumetric acquisition •                           ID0xx: subject\n experimental ID •              FOVx: unique FOV within each experimental\n subject. Each FOV has been serially imaged over different days from\n partial IRI •                           Dxx: days from partial IRI disease\n model •                           WLxx: the wavelength used to excite.\n Either 750 nm or 940 nm. •                           Each file name ends\n with the file acquisition date in the format DDMMYYY  **# Subject-specific\n deviations** On the 3-week follow-up protocols, imaging days 14 to 21 from\n partial IRI required imaging deeper to locate the tubular structure, which\n was imaged serially over the initial week from partial IRI. FOVs from\n those days may include volumetric image sequences larger than 60 images.\n Likewise, the laser power used to excite has also been increased. **File:\n Dataset_004_Vcam1Kim1.zip** Description: Ex vivo imaging of human biopsies\n from kidney transplantations stained for Kim1 and Vcam1. **# What each\n imaging file represents** Single image of a human kidney biopsy stained\n for either Vcam1 or Kim1. **# Color Scheme** Biopsies were imaged with an\n emission wavelength of 518 nm, 455 nm, and 565 nm, corresponding to\n channel 1, 2, and 3 in the images of Vcam1 and channel 2, 1, and 3 for\n Kim1. **Vcam1** Ch1: λet = Emission wavelength: 518 nm Ch2: λet = Emission\n wavelength: 455 nm Ch3: λet = Emission wavelength: 565 nm What do we see\n in each channel: •              Channel 1. Autofluorescence from kidney\n tubules (green) •              Channel 2. Hoechst staining (blue)\n •              Channel 3. Vcam1 staining (red) **Kim1** Ch1: λet =\n Emission wavelength: 455 nm Ch2: λet = Emission wavelength: 518 nm Ch3:\n λet = Emission wavelength: 565 nm What do we see in each channel:\n •              Channel 1. Hoechst staining (blue) •              Channel\n 2. autofluorescence from kidney tubules (green) •              Channel 3.\n Kim1 staining (red) **# Nomenclature** File nomenclature specifies the\n required information to allocate any imaging file to the relevant protocol\n details, separated by an underscore sign (“_“). •              Vcam1/Kim1:\n staining of either Vcam1 or Kim1 •              IDxxx: randomized ID\n number **File: Dataset_005_Ex vivo.zip** Description: Ex vivo images of\n stained kidney sections 4 days, 7 days, and 21 days after partial IRI.\n Sections were stained for Vcam1, CD68, PCK1, αSMA, PDGFRβ, and Picrosirius\n Red. Images have been acquired in the IRI area or in the non-IRI area. Day\n 4 data are from 4 different mice (3087, 3088, 3089, 3090) Day 7 data are\n from 3 different mice (2929, 2935, 2937) Day 21 data are from 3 different\n mice (2893, 2895, 2896) Samples were stained for αSMA together with\n PDGFRβ. Samples were stained for CD68 together with Vcam1. Samples were\n stained for PKC1 together with Vcam1. **# What each imaging file\n represents** Single images of renal cortex (mice) stained for Vcam1, CD68,\n PKC1, αSMA, PDGFRβ, and SiriusRed. Each image has three different channels\n as specified: **# Color Scheme** αSMA/PDGFRβ: Ch1: λet = PDGrb staining\n (red) Ch2: λet = aSMA staining (green) Ch3: λet = Tubular autofluorescence\n (blue) CD68/Vcam1: Ch1: λet = Vcam1 staining (red) Ch2: λet = CD68\n staining (green) Ch3: λet = Tubular autofluorescence (blue) PCK1/Vcam1:\n Ch1: λet = Vcam1 staining (red) Ch2: λet = PCK1 staining (green) Ch3: λet\n = Tubular autofluorescence (blue) Picrosirius Red: Ch1: λet = Picrosirius\n Red staining (red) Ch2: λet = Tubular autofluorescence (green) Ch3: λet =\n Tubular autofluorescence (blue) **File: File: Dataset_006\\_ Correlative\n imaging of Vcam1.zip** Description: Correlative imaging of Partial IRI\n kidney in vivo and ex vivo stained for Vcam1. Mice were imaged in vivo at\n day 4 after partial IRI, whereafter they were perfusion fixed and the\n kidney taken out, stained for Vcam1, and then the same areas were imaged\n ex vivo. **# What each imaging file represents** Volumetric images of\n renal cortex (mice), approximately 60 µm depth, step size 1-2 µm. The\n starting imaging location was selected at the depth of the renal capsule\n (identified via second harmonic generation, displayed in blue, in the 940\n excitation files). **# Color Scheme** Images were acquired using both 750\n nm as excitation wavelength, and 940 nm as excitation wavelength for in\n vivo and 800 nm for ex vivo. For each Field of view, there is a file for\n the 750, 800, and 940 excitation tracks. For each excitation track, light\n has been collected in either 3 or 4 different channels. 1\\) in vivo images\n Ch1: λet = Empty Ch2: λet = 610 ± 35 nm (multialkali PMT),  Ch3: λet = 540\n ± 20 nm (GaAsP), Ch4: λet = 480 ± 20 nm (GaAsP). What do we see in each\n channel: •              Channel 1. N/A •              Channel 2. 750:\n Alexa-594 albumin. PDGFRβ–Salsa6F signal (weak). 940: PDGFRβ–Salsa6F\n signal (strong). •              Channel 3. 750: Renal epithelial\n autofluorescence- endogenous signal. PDGFRβ–Salsa6F signal (weak). 940:\n Renal epithelial autofluorescence- endogenous signal. PDGFRβ–Salsa6F\n signal (strong). •              Channel 4. 750: Renal epithelial\n autofluorescence- endogenous signal. 940: Collagen fibers images via\n second harmonic generation (SHG)- endogenous signal. Channel 1, which did\n not convey relevant physiological signals, was occasionally disabled\n during acquisition to optimize data storage and minimize file size. In\n those cases, only 3 channels are present in the file. 2\\) ex vivo images\n Ch1: λet = Empty Ch2: λet = 570 ± 30 nm (multialkali PMT),  Ch3: λet =\n 521,5 ± 16,5 nm (GaAsP), Ch4: λet = 452,5 ± 22,5 nm (GaAsP). What do we\n see in each channel: •              Channel 1. N/A •              Channel\n 2: PDGFRβ–Salsa6F signal •              Channel 3: Renal epithelial\n autofluorescence- endogenous signal •              Channel 4: Vcam1\n staining Channel 1, which did not convey relevant physiological signals,\n was occasionally disabled during acquisition to optimize data storage and\n minimize file size. In those cases, only 3 channels are present in the\n file. ## Code/software **We recommend opening the images in FIJI** **Image\n Processing** The images have been opened using the free software FIJI Java\n version: 2.14.0/1.54f In case of bending of the field of view over time,\n the serial imaging data were registered to day 0, in order to visualize\n the images in 2D Registration of serial imaging data was performed using a\n combination of a manual landmark-based volumetric registration within the\n FIJI plugin BigWarp using rigid rotation transforms, and intensity-based\n medical image registration using Elastix. For\n Dataset_002_Laser_Injury.zip, a tile scan approach was utilized if the\n damaged area exceeded the normal field of view. These tiles were later\n stitched using the CellSens software (Olympus, Japan). For Dataset_005_Ex\n vivo.zip, the tilescan function has likewise occasionally been used to\n show big overviews. No other processing has been performed on the images\n uploaded in this dataset. ## Access information Other publicly accessible\n locations of the data: * None. The biological interpretation of the data\n is described in detail in the associated manuscript. Data was derived from\n the following sources: * All data presented in this dataset were acquired\n by the authors using the experimental 2-photon microscopy facilities\n provided by the Health Bioimaging Core facility at Aarhus University and\n the Center for Functionally and Integrative Neuroscience (CFIN), Aarhus\n University","descriptionType":"TechnicalInfo"}],"geoLocations":[],"fundingReferences":[{"schemeUri":"https://ror.org","funderName":"Novo Nordisk Foundation","awardNumber":"NNF19OC0054899","funderIdentifier":"https://ror.org/04txyc737","funderIdentifierType":"ROR"},{"schemeUri":"https://ror.org","funderName":"Augustinus Foundation","awardNumber":"22-1924","funderIdentifier":"https://ror.org/030y53541","funderIdentifierType":"ROR"},{"schemeUri":"https://ror.org","funderName":"Aarhus University","awardNumber":"AUFF-E-201 9-7-21","funderIdentifier":"https://ror.org/01aj84f44","funderIdentifierType":"ROR"},{"schemeUri":"https://ror.org","funderName":"Danmarks Frie Forskningsfond","awardNumber":"3122-00034B","funderIdentifier":"https://ror.org/05svhj534","funderIdentifierType":"ROR"},{"schemeUri":"https://ror.org","funderName":"Chan Zuckerberg Initiative (United States)","awardNumber":"2023-331840","funderIdentifier":"https://ror.org/02qenvm24","funderIdentifierType":"ROR"},{"schemeUri":"https://ror.org","funderName":"The Research Council of Norway","awardNumber":"302326","funderIdentifier":"https://ror.org/00epmv149","funderIdentifierType":"ROR"},{"schemeUri":"https://ror.org","funderName":"Letten Foundation","funderIdentifier":"https://ror.org/01gce3t61","funderIdentifierType":"ROR"},{"schemeUri":"https://ror.org","funderName":"European Union","awardNumber":"801133","funderIdentifier":"https://ror.org/019w4f821","funderIdentifierType":"ROR"},{"schemeUri":"https://ror.org","funderName":"Swiss National Science Foundation","awardNumber":"P500PM_230477","funderIdentifier":"https://ror.org/00yjd3n13","funderIdentifierType":"ROR"}],"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC00L21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTA2MS9EUllBRC45WlczUjIyVE48L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPktyaXN0ZW5zZW4sIEFuZGVycyBNLjwvY3JlYXRvck5hbWU+CiAgICAgIDxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0iT1JDSUQiIHNjaGVtZVVSST0iaHR0cDovL29yY2lkLm9yZy8iPjAwMDAtMDAwMi03MDY2LTY5ODk8L25hbWVJZGVudGlmaWVyPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDFhajg0ZjQ0IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPkFhcmh1cyBVbml2ZXJzaXR5PC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5Cb3Jkb25pLCBMdWNhPC9jcmVhdG9yTmFtZT4KICAgICAgPG5hbWVJZGVudGlmaWVyIG5hbWVJZGVudGlmaWVyU2NoZW1lPSJPUkNJRCIgc2NoZW1lVVJJPSJodHRwOi8vb3JjaWQub3JnLyI+MDAwMC0wMDAyLTI0MjgtMDg3NDwvbmFtZUlkZW50aWZpZXI+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wMWFqODRmNDQiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+QWFyaHVzIFVuaXZlcnNpdHk8L2FmZmlsaWF0aW9uPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDF4dHRoYjU2IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPlVuaXZlcnNpdHkgb2YgT3NsbzwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lIG5hbWVUeXBlPSJQZXJzb25hbCI+TmllbHNlbiwgTWFyaWUgQi48L2NyZWF0b3JOYW1lPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDQwcjhmcjY1IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPkFhcmh1cyBVbml2ZXJzaXR5IEhvc3BpdGFsPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5GYWl2cmUsIEFubmE8L2NyZWF0b3JOYW1lPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDFhajg0ZjQ0IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPkFhcmh1cyBVbml2ZXJzaXR5PC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5LaWRtb3NlLCBIYW5uZTwvY3JlYXRvck5hbWU+CiAgICAgIDxhZmZpbGlhdGlvbiBhZmZpbGlhdGlvbklkZW50aWZpZXI9Imh0dHBzOi8vcm9yLm9yZy8wMWFqODRmNDQiIGFmZmlsaWF0aW9uSWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZyI+QWFyaHVzIFVuaXZlcnNpdHk8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPlNhcmRlbGxhLCBEb25hdG88L2NyZWF0b3JOYW1lPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDFhajg0ZjQ0IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPkFhcmh1cyBVbml2ZXJzaXR5PC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5TaGlwbWFuLCBLYXRoZXJpbmUgRS48L2NyZWF0b3JOYW1lPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDR6dnIwNTI5IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPlVuaXZlcnNpdHkgb2YgUGl0dHNidXJnaCBTY2hvb2wgb2YgTWVkaWNpbmU8L2FmZmlsaWF0aW9uPgogICAgPC9jcmVhdG9yPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZSBuYW1lVHlwZT0iUGVyc29uYWwiPktyb2dzdHJ1cCwgTmljb2xpbmU8L2NyZWF0b3JOYW1lPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDFhajg0ZjQ0IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPkFhcmh1cyBVbml2ZXJzaXR5PC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5TdMO4cmxpbmcsIEpvYWNoaW08L2NyZWF0b3JOYW1lPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDNncXpkZzg3IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPlN0ZW5vIERpYWJldGVzIENlbnRlciBDb3BlbmhhZ2VuPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWUgbmFtZVR5cGU9IlBlcnNvbmFsIj5CaXJuLCBIZW5yaWs8L2NyZWF0b3JOYW1lPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDQwcjhmcjY1IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPkFhcmh1cyBVbml2ZXJzaXR5IEhvc3BpdGFsPC9hZmZpbGlhdGlvbj4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAxYWo4NGY0NCIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5BYXJodXMgVW5pdmVyc2l0eTwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lIG5hbWVUeXBlPSJQZXJzb25hbCI+RW5nZXIsIFJ1bmU8L2NyZWF0b3JOYW1lPgogICAgICA8bmFtZUlkZW50aWZpZXIgbmFtZUlkZW50aWZpZXJTY2hlbWU9Ik9SQ0lEIiBzY2hlbWVVUkk9Imh0dHA6Ly9vcmNpZC5vcmcvIj4wMDAwLTAwMDEtOTQxOC03MTE3PC9uYW1lSWRlbnRpZmllcj4KICAgICAgPGFmZmlsaWF0aW9uIGFmZmlsaWF0aW9uSWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAxeHR0aGI1NiIgYWZmaWxpYXRpb25JZGVudGlmaWVyU2NoZW1lPSJST1IiIHNjaGVtZVVSST0iaHR0cHM6Ly9yb3Iub3JnIj5Vbml2ZXJzaXR5IG9mIE9zbG88L2FmZmlsaWF0aW9uPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDBqOWMyODQwIiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPk9zbG8gVW5pdmVyc2l0eSBIb3NwaXRhbDwvYWZmaWxpYXRpb24+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lIG5hbWVUeXBlPSJQZXJzb25hbCI+U2NoaWVzc2wsIEluYTwvY3JlYXRvck5hbWU+CiAgICAgIDxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0iT1JDSUQiIHNjaGVtZVVSST0iaHR0cDovL29yY2lkLm9yZy8iPjAwMDAtMDAwMy0xNjEzLTIwMDA8L25hbWVJZGVudGlmaWVyPgogICAgICA8YWZmaWxpYXRpb24gYWZmaWxpYXRpb25JZGVudGlmaWVyPSJodHRwczovL3Jvci5vcmcvMDFhajg0ZjQ0IiBhZmZpbGlhdGlvbklkZW50aWZpZXJTY2hlbWU9IlJPUiIgc2NoZW1lVVJJPSJodHRwczovL3Jvci5vcmciPkFhcmh1cyBVbml2ZXJzaXR5PC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICA8L2NyZWF0b3JzPgogIDx0aXRsZXM+CiAgICA8dGl0bGU+CiAgICAgIEluIHZpdm8gZXhwcmVzc2lvbiBvZiBWQ0FNMSBwcmVjZWRlcyBuZXBocm9uIGxvc3MgZm9sbG93aW5nIGtpZG5leSB0dWJ1bGFyCiAgICAgIG5lY3Jvc2lzCiAgICA8L3RpdGxlPgogIDwvdGl0bGVzPgogIDxwdWJsaXNoZXIgcHVibGlzaGVySWRlbnRpZmllcj0iaHR0cHM6Ly9yb3Iub3JnLzAweDZoNW45NSIgcHVibGlzaGVySWRlbnRpZmllclNjaGVtZT0iUk9SIiBzY2hlbWVVUkk9Imh0dHBzOi8vcm9yLm9yZy8iPkRyeWFkPC9wdWJsaXNoZXI+CiAgPHJlc291cmNlVHlwZSByZXNvdXJjZVR5cGVHZW5lcmFsPSJEYXRhc2V0Ij5kYXRhc2V0PC9yZXNvdXJjZVR5cGU+CiAgPHB1YmxpY2F0aW9uWWVhcj4yMDI1PC9wdWJsaWNhdGlvblllYXI+CiAgPHN1YmplY3RzPgogICAgPHN1YmplY3Qgc3ViamVjdFNjaGVtZT0iZm9zIiBzY2hlbWVVUkk9Imh0dHBzOi8vd2ViLWFyY2hpdmUub2VjZC5vcmcvMjAxMi0wNi0xNS8xMzg1NzUtMzgyMzUxNDcucGRmIj5GT1M6IEJhc2ljIG1lZGljaW5lPC9zdWJqZWN0PgogICAgPHN1YmplY3Qgc3ViamVjdFNjaGVtZT0iUExPUyBTdWJqZWN0IEFyZWEgVGhlc2F1cnVzIiBzY2hlbWVVUkk9Imh0dHBzOi8vZ2l0aHViLmNvbS9QTE9TL3Bsb3MtdGhlc2F1cnVzIj5BY3V0ZSByZW5hbCBmYWlsdXJlPC9zdWJqZWN0PgogICAgPHN1YmplY3Qgc3ViamVjdFNjaGVtZT0iUExPUyBTdWJqZWN0IEFyZWEgVGhlc2F1cnVzIiBzY2hlbWVVUkk9Imh0dHBzOi8vZ2l0aHViLmNvbS9QTE9TL3Bsb3MtdGhlc2F1cnVzIj5JbiB2aXZvIGltYWdpbmc8L3N1YmplY3Q+CiAgICA8c3ViamVjdCBzdWJqZWN0U2NoZW1lPSJQTE9TIFN1YmplY3QgQXJlYSBUaGVzYXVydXMiIHNjaGVtZVVSST0iaHR0cHM6Ly9naXRodWIuY29tL1BMT1MvcGxvcy10aGVzYXVydXMiPkZpYnJvc2lzPC9zdWJqZWN0PgogIDwvc3ViamVjdHM+CiAgPGZ1bmRpbmdSZWZlcmVuY2VzPgogICAgPGZ1bmRpbmdSZWZlcmVuY2U+CiAgICAgIDxmdW5kZXJOYW1lPk5vdm8gTm9yZGlzayBGb3VuZGF0aW9uPC9mdW5kZXJOYW1lPgogICAgICA8ZnVuZGVySWRlbnRpZmllciBmdW5kZXJJZGVudGlmaWVyVHlwZT0iUk9SIj5odHRwczovL3Jvci5vcmcvMDR0eHljNzM3PC9mdW5kZXJJZGVudGlmaWVyPgogICAgICA8YXdhcmROdW1iZXI+Tk5GMTlPQzAwNTQ4OTk8L2F3YXJkTnVtYmVyPgogICAgICA8YXdhcmRUaXRsZS8+CiAgICA8L2Z1bmRpbmdSZWZlcmVuY2U+CiAgICA8ZnVuZGluZ1JlZmVyZW5jZT4KICAgICAgPGZ1bmRlck5hbWU+QXVndXN0aW51cyBGb3VuZGF0aW9uPC9mdW5kZXJOYW1lPgogICAgICA8ZnVuZGVySWRlbnRpZmllciBmdW5kZXJJZGVudGlmaWVyVHlwZT0iUk9SIj5odHRwczovL3Jvci5vcmcvMDMweTUzNTQxPC9mdW5kZXJJZGVudGlmaWVyPgogICAgICA8YXdhcmROdW1iZXI+MjItMTkyNDwvYXdhcmROdW1iZXI+CiAgICAgIDxhd2FyZFRpdGxlLz4KICAgIDwvZnVuZGluZ1JlZmVyZW5jZT4KICAgIDxmdW5kaW5nUmVmZXJlbmNlPgogICAgICA8ZnVuZGVyTmFtZT5BYXJodXMgVW5pdmVyc2l0eTwvZnVuZGVyTmFtZT4KICAgICAgPGZ1bmRlcklkZW50aWZpZXIgZnVuZGVySWRlbnRpZmllclR5cGU9IlJPUiI+aHR0cHM6Ly9yb3Iub3JnLzAxYWo4NGY0NDwvZnVuZGVySWRlbnRpZmllcj4KICAgICAgPGF3YXJkTnVtYmVyPkFVRkYtRS0yMDEgOS03LTIxPC9hd2FyZE51bWJlcj4KICAgICAgPGF3YXJkVGl0bGUvPgogICAgPC9mdW5kaW5nUmVmZXJlbmNlPgogICAgPGZ1bmRpbmdSZWZlcmVuY2U+CiAgICAgIDxmdW5kZXJOYW1lPkRhbm1hcmtzIEZyaWUgRm9yc2tuaW5nc2ZvbmQ8L2Z1bmRlck5hbWU+CiAgICAgIDxmdW5kZXJJZGVudGlmaWVyIGZ1bmRlcklkZW50aWZpZXJUeXBlPSJST1IiPmh0dHBzOi8vcm9yLm9yZy8wNXN2aGo1MzQ8L2Z1bmRlcklkZW50aWZpZXI+CiAgICAgIDxhd2FyZE51bWJlcj4zMTIyLTAwMDM0QjwvYXdhcmROdW1iZXI+CiAgICAgIDxhd2FyZFRpdGxlLz4KICAgIDwvZnVuZGluZ1JlZmVyZW5jZT4KICAgIDxmdW5kaW5nUmVmZXJlbmNlPgogICAgICA8ZnVuZGVyTmFtZT5DaGFuIFp1Y2tlcmJlcmcgSW5pdGlhdGl2ZSAoVW5pdGVkIFN0YXRlcyk8L2Z1bmRlck5hbWU+CiAgICAgIDxmdW5kZXJJZGVudGlmaWVyIGZ1bmRlcklkZW50aWZpZXJUeXBlPSJST1IiPmh0dHBzOi8vcm9yLm9yZy8wMnFlbnZtMjQ8L2Z1bmRlcklkZW50aWZpZXI+CiAgICAgIDxhd2FyZE51bWJlcj4yMDIzLTMzMTg0MDwvYXdhcmROdW1iZXI+CiAgICAgIDxhd2FyZFRpdGxlLz4KICAgIDwvZnVuZGluZ1JlZmVyZW5jZT4KICAgIDxmdW5kaW5nUmVmZXJlbmNlPgogICAgICA8ZnVuZGVyTmFtZT5UaGUgUmVzZWFyY2ggQ291bmNpbCBvZiBOb3J3YXk8L2Z1bmRlck5hbWU+CiAgICAgIDxmdW5kZXJJZGVudGlmaWVyIGZ1bmRlcklkZW50aWZpZXJUeXBlPSJST1IiPmh0dHBzOi8vcm9yLm9yZy8wMGVwbXYxNDk8L2Z1bmRlcklkZW50aWZpZXI+CiAgICAgIDxhd2FyZE51bWJlcj4zMDIzMjY8L2F3YXJkTnVtYmVyPgogICAgPC9mdW5kaW5nUmVmZXJlbmNlPgogICAgPGZ1bmRpbmdSZWZlcmVuY2U+CiAgICAgIDxmdW5kZXJOYW1lPkxldHRlbiBGb3VuZGF0aW9uPC9mdW5kZXJOYW1lPgogICAgICA8ZnVuZGVySWRlbnRpZmllciBmdW5kZXJJZGVudGlmaWVyVHlwZT0iUk9SIj5odHRwczovL3Jvci5vcmcvMDFnY2UzdDYxPC9mdW5kZXJJZGVudGlmaWVyPgogICAgICA8YXdhcmRUaXRsZS8+CiAgICA8L2Z1bmRpbmdSZWZlcmVuY2U+CiAgICA8ZnVuZGluZ1JlZmVyZW5jZT4KICAgICAgPGZ1bmRlck5hbWU+RXVyb3BlYW4gVW5pb248L2Z1bmRlck5hbWU+CiAgICAgIDxmdW5kZXJJZGVudGlmaWVyIGZ1bmRlcklkZW50aWZpZXJUeXBlPSJST1IiPmh0dHBzOi8vcm9yLm9yZy8wMTl3NGY4MjE8L2Z1bmRlcklkZW50aWZpZXI+CiAgICAgIDxhd2FyZE51bWJlcj44MDExMzM8L2F3YXJkTnVtYmVyPgogICAgICA8YXdhcmRUaXRsZS8+CiAgICA8L2Z1bmRpbmdSZWZlcmVuY2U+CiAgICA8ZnVuZGluZ1JlZmVyZW5jZT4KICAgICAgPGZ1bmRlck5hbWU+U3dpc3MgTmF0aW9uYWwgU2NpZW5jZSBGb3VuZGF0aW9uPC9mdW5kZXJOYW1lPgogICAgICA8ZnVuZGVySWRlbnRpZmllciBmdW5kZXJJZGVudGlmaWVyVHlwZT0iUk9SIj5odHRwczovL3Jvci5vcmcvMDB5amQzbjEzPC9mdW5kZXJJZGVudGlmaWVyPgogICAgICA8YXdhcmROdW1iZXI+UDUwMFBNXzIzMDQ3NzwvYXdhcmROdW1iZXI+CiAgICAgIDxhd2FyZFRpdGxlLz4KICAgIDwvZnVuZGluZ1JlZmVyZW5jZT4KICA8L2Z1bmRpbmdSZWZlcmVuY2VzPgogIDxkYXRlcz4KICAgIDxkYXRlIGRhdGVUeXBlPSJDcmVhdGVkIj4yMDI1LTA3LTIyVDA3OjQ1OjAzWjwvZGF0ZT4KICAgIDxkYXRlIGRhdGVUeXBlPSJTdWJtaXR0ZWQiPjIwMjUtMDctMjJUMDc6NTU6MDBaPC9kYXRlPgogICAgPGRhdGUgZGF0ZVR5cGU9Iklzc3VlZCI+MjAyNS0wOS0xOVQwMDowMDowMFo8L2RhdGU+CiAgICA8ZGF0ZSBkYXRlVHlwZT0iQXZhaWxhYmxlIj4yMDI1LTA5LTE5VDAwOjAwOjAwWjwvZGF0ZT4KICA8L2RhdGVzPgogIDxsYW5ndWFnZT5lbjwvbGFuZ3VhZ2U+CiAgPHJlbGF0ZWRJZGVudGlmaWVycz4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGlvblR5cGU9IklzRGVyaXZlZEZyb20iIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIj5odHRwczovL2RvaS5vcmcvMTAuNTI4MS96ZW5vZG8uMTYzNTM4OTI8L3JlbGF0ZWRJZGVudGlmaWVyPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0aW9uVHlwZT0iSXNDaXRlZEJ5IiByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSI+aHR0cHM6Ly9kb2kub3JnLzEwLjExMjYvc2NpYWR2LmFkejUzNTg8L3JlbGF0ZWRJZGVudGlmaWVyPgogIDwvcmVsYXRlZElkZW50aWZpZXJzPgogIDxzaXplcz4KICAgIDxzaXplPjU2MjQxNzIzMjQxIGJ5dGVzPC9zaXplPgogIDwvc2l6ZXM+CiAgPHZlcnNpb24+NzwvdmVyc2lvbj4KICA8cmlnaHRzTGlzdD4KICAgIDxyaWdodHMgcmlnaHRzVVJJPSJodHRwczovL3NwZHgub3JnL2xpY2Vuc2VzL0NDMC0xLjAuaHRtbCI+Q3JlYXRpdmUgQ29tbW9ucyBaZXJvIHYxLjAgVW5pdmVyc2FsPC9yaWdodHM+CiAgPC9yaWdodHNMaXN0PgogIDxkZXNjcmlwdGlvbnM+CiAgICA8ZGVzY3JpcHRpb24gZGVzY3JpcHRpb25UeXBlPSJBYnN0cmFjdCI+CiAgICAgIE5lcGhyb24gbG9zcyBpcyBhIGtleSBldmVudCBkdXJpbmcgdGhlIG9uc2V0IGFuZCBwcm9ncmVzc2lvbiBvZiBjaHJvbmljCiAgICAgIGtpZG5leSBkaXNlYXNlLCB5ZXQgdGhlIG1lY2hhbmlzbXMgZGV0ZXJtaW5pbmcgd2hldGhlciB0dWJ1bGVzIHVuZGVyZ28KICAgICAgc3VjY2Vzc2Z1bCByZXBhaXIgb3IgcHJvZ3Jlc3MgdG8gYXRyb3BoeSByZW1haW4gcG9vcmx5IHVuZGVyc3Rvb2QuIFdoaWxlCiAgICAgIGZpYnJvc2lzIGhhcyBiZWVuIHByb3Bvc2VkIHRvIGRyaXZlIHByb2dyZXNzaXZlIG9yZ2FuIGRhbWFnZSwgYW50aWZpYnJvdGljCiAgICAgIHRoZXJhcGllcyBoYXZlIGZhaWxlZCBpbiBjbGluaWNhbCB0cmlhbHMuIEhlcmUsIHdlIHJldmVhbCB0aGF0IHR1YnVsYXIKICAgICAgVkNBTTEtZXhwcmVzc2lvbiBwcmVjZWRlcyBuZXBocm9uIGxvc3MsIGZpYnJvc2lzLCBhbmQgbG9uZy10ZXJtIGtpZG5leQogICAgICBkeXNmdW5jdGlvbi4gVXNpbmcgc2VyaWFsIGludHJhdml0YWwgbWljcm9zY29weSBpbiB0cmFuc2dlbmljIG1pY2UsIHdlCiAgICAgIHRyYWNrIHR1YnVsb2ludGVyc3RpdGlhbCByZW1vZGVsaW5nIGJldHdlZW4gaW5qdXJlZCBhbmQgaW50YWN0IHRpc3N1ZSBvdmVyCiAgICAgIDMgd2Vla3MuIFZDQU0xIGlzIHJhcGlkbHkgaW5kdWNlZCBpbiBhIGRpc3RpbmN0IHN1YnNldCBvZiBpbmp1cmVkIHR1YnVsZXMsCiAgICAgIHByZWNlZGluZyBhdHJvcGh5IHdpdGggc3VzdGFpbmVkIGZpYnJvYmxhc3QgcmVjcnVpdG1lbnQuIEhvd2V2ZXIsCiAgICAgIGZpYnJvYmxhc3RzIHJlbWFpbiBjb25maW5lZCB0byBpbmp1cnkgc2l0ZXMgYW5kIGRvIG5vdCBjYXVzZSBzZWNvbmRhcnkKICAgICAgZGFtYWdlIGluIHVuaW5qdXJlZCB0dWJ1bGVzLiBGaW5hbGx5LCBpbiBodW1hbiBraWRuZXkgdHJhbnNwbGFudCBiaW9wc2llcywKICAgICAgdHVidWxhciBWQ0FNMSBleHByZXNzaW9uIC0gYnV0IG5vdCBLSU0xIC0gY29ycmVsYXRlcyBuZWdhdGl2ZWx5IHdpdGggZWFybHkKICAgICAgYW5kIDEyLW1vbnRoIGdyYWZ0IGZ1bmN0aW9uLCB1bmRlcnNjb3JpbmcgaXRzIHBvdGVudGlhbCBhcyBhIGJpb21hcmtlciBvZgogICAgICBhZHZlcnNlIG91dGNvbWVzLiBUaGVzZSBmaW5kaW5ncyBwb3NpdGlvbiBWQ0FNMSBhcyBhbiBlYXJseSBpbmRpY2F0b3Igb2YKICAgICAgdHVidWxhciBmYXRlIGFuZCBuZXBocm9uIGxvc3MuCiAgICA8L2Rlc2NyaXB0aW9uPgogICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iTWV0aG9kcyI+CiAgICAgICZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7U3R1ZHkgQXBwcm92YWwmbHQ7L3N0cm9uZyZndDsmbHQ7L3AmZ3Q7CiAgICAgICZsdDtwJmd0O0FsbCBleHBlcmltZW50YWwgcHJvY2VkdXJlcyBpbnZvbHZpbmcgYW5pbWFscyB3ZXJlIGFwcHJvdmVkIGJ5CiAgICAgIHRoZSBsb2NhbCBhdXRob3JpdGllcyAoQW5pbWFsIEV4cGVyaW1lbnRzIEluc3BlY3RvcmF0ZSwgRGVubWFyaywgcGVybWl0CiAgICAgIG51bWJlcnM6IDIwMjAtMTUtMDIwMS0wMDQ0MyBhbmQgMjAyNC0xNS0wMjAxLTAxODM5KSBhbmQgcmVwb3J0ZWQgYWNjb3JkaW5nCiAgICAgIHRvIEFSUklWRSBndWlkZWxpbmVzLiBQcm9jZXNzaW5nIG9mIGh1bWFuIHNhbXBsZXMgYW5kIGRhdGEgd2FzIGFwcHJvdmVkIGJ5CiAgICAgIHRoZSBOYXRpb25hbCBDb21taXR0ZWUgb24gSGVhbHRoIFJlc2VhcmNoIEV0aGljcyAoTS0yMDEwMDI2OSkuIEluZm9ybWVkCiAgICAgIGFuZCB3cml0dGVuIGNvbnRlbnQgd2FzIG9idGFpbmVkIGZyb20gdGhlIHBhcnRpY2lwYW50cy4gVGhlIHRyaWFsIHdhcwogICAgICBjb25kdWN0ZWQgYWNjb3JkaW5nIHRvIHRoZSBIZWxzaW5raSBEZWNsYXJhdGlvbi4mbHQ7L3AmZ3Q7CiAgICAgICZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7QW5pbWFscyZsdDsvc3Ryb25nJmd0OyZsdDsvcCZndDsgJmx0O3AmZ3Q7QSB0b3RhbAogICAgICBvZiA2MCAoMjYgbWFsZSBhbmQgMzQgZmVtYWxlKSBtaWNlIHdpdGggYSBtZWFuIHdlaWdodCBvZiAyMi4zIMKxIDAuNSBnIGFuZAogICAgICBhZ2Ugb2YgMTIuNiDCsSAwLjYgd2Vla3MgKG1lYW4gwrEgU0VNKSB3ZXJlIGluY2x1ZGVkIGluIHRoZSBzdHVkeSAoVGFibGVzIFMxCiAgICAgIGFuZCAyKS4gVHJhbnNnZW5pYyBtaWNlIHdlcmUgb2J0YWluZWQgZnJvbSBKYXggTGFib3JhdG9yeSBhbmQgYnJlZCBpbiB0aGUKICAgICAgYW5pbWFsIGZhY2lsaXRpZXMgYXQgdGhlIERlcGFydG1lbnQgb2YgQmlvbWVkaWNpbmUsIEFhcmh1cyBVbml2ZXJzaXR5OgogICAgICBQREdGUs6yQ3JlLUVSVDIg4oCTIFNhbHNhNkYgcmVwb3J0ZXIgbWljZSB3ZXJlIGdlbmVyYXRlZCBieSBjcm9zc2luZwogICAgICBCNi5DZy1UZyhQREdGcs6yLWNyZS9FUlQyKTYwOTZSaGEvSiAoU3RyYWluICM6MDMwMjAxKQogICAgICAmbHQ7c3VwJmd0OzI3Jmx0Oy9zdXAmZ3Q7IGFuZAogICAgICBCNigxMjlTNCktR3QoUk9TQSkyNlNvcnRtMS4xKENBRy10ZFRvbWF0by9HQ2FNUDZmKU1kY2FoL0opXSAoU3RyYWluICM6CiAgICAgIDAzMTk2OCkgJmx0O3N1cCZndDsyOCZsdDsvc3VwJmd0Oy4gQWZ0ZXIgaW5kdWN0aW9uIHdpdGggdGFtb3hpZmVuLCB0aGlzCiAgICAgIHN0cmFpbiBpZGVudGlmaWVzIMKgUERHRlLOsmNlbGxzIGJ5IFNhbHNhNkYsIGEgZnVzaW9uIHByb3RlaW4gb2YgR0NhTVA2IGFuZAogICAgICB0ZFRvbWF0by4gQWRkaXRpb25hbGx5LCBDeWNCMS1HRlAgcmVwb3J0ZXIgbWljZQogICAgICAoVGcoUGdrMS1DY25iMS9FR0ZQKTFBa2xvL0opIChTdHJhaW4gIzogMDIzMzQ1KSAmbHQ7c3VwJmd0OzM2Jmx0Oy9zdXAmZ3Q7CiAgICAgIHdlcmUgdXNlZCB0byBkZXRlY3QgcmVuYWwgY2VsbCBwcm9saWZlcmF0aW9uIHRocm91Z2ggdHJhbnNpZW50CiAgICAgIG51Y2xlYXIvY3l0b3NvbGljIGV4cHJlc3Npb24gb2bCoCBncmVlbiBmbHVvcmVzY2VudCBwcm90ZWluIChHRlApCiAgICAgIGV4cHJlc3Npb24gc3RhZ2VzIFMtLCBHMi0gYW5kIE0gb2YgdGhlIGNlbGwgY3ljbGUuJmx0Oy9wJmd0OyAmbHQ7cCZndDtNaWNlCiAgICAgIHdlcmUgcmFuZG9tbHkgYWxsb2NhdGVkIHRvIG9uZSBvZiB0aHJlZSBncm91cHM7IGkpIGluIHZpdm8gaW1hZ2luZywgaWkpCiAgICAgIEdGUiBhbmQgdXJpbmUgY29sbGVjdGlvbiBhbmQgaWlpKSBleCB2aXZvIGltYWdpbmcsIGFzIHN1bW1hcml6ZWQgaW4gVGFibGUKICAgICAgUzIuIEdyb3VwIGkpIHdhcyBmdXJ0aGVyIGRpdmlkZWQgaW50byBtaWNlIHVuZGVyZ29pbmcgcGFydGlhbCBJUkkgc3VyZ2VyeSwKICAgICAgc2hhbSBzdXJnZXJ5IG9yIGxhc2VyIGluanVyeSwgcmVzcGVjdGl2ZWx5LiBHcm91cHMgaWkpIGFuZCBpaWkpIHdlcmUKICAgICAgZGl2aWRlZCBpbnRvIG1pY2UgdW5kZXJnb2luZyBwYXJ0aWFsIElSSSBzdXJnZXJ5IGFuZCBzaGFtIHN1cmdlcnkuCiAgICAgIEFkZGl0aW9uYWxseSwgc29tZSBtaWNlIGZyb20gZ3JvdXAgaSkgd2VyZSBhbHNvIHVzZWQgZm9yIGV4IHZpdm8KICAgICAgY29ycmVsYXRpdmUgbWljcm9zY29weSB1cG9uIHNhY3JpZmljaW5nLiBPdXIgc3R1ZHkgZGVzaWduIHByZWNsdWRlZAogICAgICBibGluZGluZyBvZiB0aGUgZXhwZXJpbWVudGFsIHRyZWF0bWVudCwgYXMgdGhlIHZhbGlkYXRpb24gb2Ygc3VyZ2ljYWwKICAgICAgb3V0Y29tZXMgcmVxdWlyZWQgY2xvc2UgbWljcm9zY29waWMgZXhhbWluYXRpb24gZHVyaW5nIHRoZSBwcm9jZWR1cmUuCiAgICAgIFNlcmlhbCBpbnRyYXZpdGFsIG1pY3Jvc2NvcHkgb2YgcGFydGlhbCBJUkkgYW5pbWFscyB3YXMgY2hhbGxlbmdlZCBieQogICAgICBzdHJvbmcgdGlzc3VlIHJlbW9kZWxpbmcgdGhhdCBzb21ldGltZXMgY2F1c2VkIG1pc3NpbmcgZGF0YSBwb2ludHMgZnJvbQogICAgICBsYXRlIGFjcXVpc2l0aW9uIHRpbWUgcG9pbnRzLiBUbyBjb21wZW5zYXRlIGZvciBtaXNzaW5nIGRhdGEgcG9pbnRzLCB3ZQogICAgICBpbmNsdWRlZCBoaWdoZXIgbi1udW1iZXJzIGluIHRoZSBwYXJ0aWFsIElSSSBncm91cC4gRm9yIHN0YXRpc3RpY2FsCiAgICAgIGFuYWx5c2lzIGFsbCBhdmFpbGFibGUgc2VyaWFsIGltYWdpbmcgZGF0YSB3YXMgaW5jbHVkZWQuIE5vIGRhdGEgd2FzCiAgICAgIGV4Y2x1ZGVkLiZsdDsvcCZndDsKICAgICAgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtTdXJnZXJ5Jmx0Oy9zdHJvbmcmZ3Q7Jmx0Oy9wJmd0OyAmbHQ7cCZndDtQcmlvciB0bwogICAgICBzdXJnZXJ5IG1pY2Ugd2VyZSBhY2NvbW1vZGF0ZWQgaW4gZ3JvdXBzIG9mIDIgdG8gNSB3aXRoaW4gdmVudGlsYXRlZCBjYWdlcwogICAgICAoVGVjaG5vcGxhc3QgbW9kZWwgR001MDAgb3IgR005MDAwKSBhdCAyMSDCsSAywrBDIGFuZCA1NSDCsSAxMCUgcmVsYXRpdmUKICAgICAgaHVtaWRpdHkuIExpdHRlcm1hdGVzIHdlcmUgd2VhbmVkIGF0IDMgd2Vla3Mgb2YgYWdlLiBNaWNlIHdlcmUgbWFpbnRhaW5lZAogICAgICBvbiBhIHN0YW5kYXJkaXplZCAxMi1ob3VyIGxpZ2h0LWRhcmsgZGl1cm5hbCBjeWNsZSwgd2l0aCB1bnJlc3RyaWN0ZWQKICAgICAgYWNjZXNzIHRvIHN0YW5kYXJkIGRpZXQgYW5kIHdhdGVyLiBUaGUgYmVkZGluZyBtYXRlcmlhbCBjb25zaXN0ZWQgb2YgQXNwZW4KICAgICAgd29vZCBjaGlwcyBtZWFzdXJpbmcgMi0zIG1tIGluIHNpemUgKEFiZWRkLCBiZWRkaW5nIG1pZGkpLCBjb21wbGVtZW50ZWQgYnkKICAgICAgY29tcHJlc3NlZCBjb3R0b24gdHViZXMgZm9yIG5lc3RpbmcgcHVycG9zZXMuIENhZ2VzIHdlcmUgZW5yaWNoZWQgd2l0aAogICAgICBNb3VzZSBJZ2xvbyB3aXRoIHNwaW5uaW5nIHdoZWVscywgd29vZGVuIGNoZXcgc3RpY2tzLCBjYXJkYm9hcmQgdHViZXMsIGFuZAogICAgICBTaGVwaGVyZCBTaGFja3MuIFVwb24gc3VyZ2VyeSwgTW91c2UgSWdsb28gYW5kIGNhcmRib2FyZCB0dWJlcyB3ZXJlCiAgICAgIHJlcGxhY2VkIGJ5IGNhcmRib3ggaG91c2VzIHRvIHByZXZlbnQgdGhlIGFiZG9taW5hbCBpbWFnZSB3aW5kb3cgZnJvbQogICAgICBnZXR0aW5nIHN0dWNrLiBDYWdlcyB3ZXJlIHJvdXRpbmVseSBjbGVhbmVkIG9uY2UgYSB3ZWVrLiBUbyBpbnZlc3RpZ2F0ZQogICAgICB3aGV0aGVyIChteW8pZmlicm9ibGFzdHMgZW5nYWdlIGluIHByb2dyZXNzaXZlIGFuZCBzZWxmLXBlcnBldHVhdGluZwogICAgICB0dWJ1bG9pbnRlcnN0aXRpYWwgZmlicm9zaXMsIHR3byBpbmRpdmlkdWFsIHN1cmdlcnkgcHJvY2VkdXJlcyB3ZXJlCiAgICAgIHBlcmZvcm1lZC4gRmlyc3QsIGFuIHVuaWxhdGVyYWwgcGFydGlhbCBpc2NoZW1pYS1yZXBlcmZ1c2lvbiBpbmp1cnkgKElSSSkKICAgICAgd2FzIGRvbmUgYnkgb2NjbHVkaW5nIG9uZSBicmFuY2ggb2YgdGhlIGxlZnQgcmVuYWwgYXJ0ZXJ5IGZvciAyMSBtaW4sIGFzCiAgICAgIHByZXZpb3VzbHkgZGVzY3JpYmVkICZsdDtzdXAmZ3Q7NyZsdDsvc3VwJmd0Oy4gU2Vjb25kLCBhIHdpbmdlZCBhYmRvbWluYWwKICAgICAgaW1hZ2Ugd2luZG93ICh3QUlXKSB3YXMgcGxhY2VkIGFib3ZlIHRoZSBwb3N0aXNjaGVtaWMgYW5kIG5vbi1pc2NoZW1pYwogICAgICBwYXJ0cyBvZiB0aGUgcGFydGlhbCBJUkkga2lkbmV5IGFuZCBpbXBsYW50ZWQgaW50byB0aGUgbGVmdCBmbGFuayBvZiB0aGUKICAgICAgbW91c2UgYXMgZGVzY3JpYmVkIHByZXZpb3VzbHkgJmx0O3N1cCZndDsyOSwgNjMmbHQ7L3N1cCZndDsuIFRodXMsIGl0IHdhcwogICAgICBwb3NzaWJsZSB0byBpbWFnZSB0aGUgYm9yZGVyIGJldHdlZW4gdGhlIGlzY2hlbWljIGFuZCBub24taXNjaGVtaWMKICAgICAgcmVnaW9ucy4mbHQ7L3AmZ3Q7ICZsdDtwJmd0O0R1cmluZyBzdXJnZXJ5IG1pY2UgcmVjZWl2ZWQgYW5hbGdlc2lhIHRocm91Z2gKICAgICAgaW50cmFwZXJpdG9uZWFsIGFkbWluaXN0cmF0aW9uIG9mIGJ1cHJlbm9ycGhpbmUgKDAuMSBtZy8ga2cgQlcsIFRlbWdlc2ljKSwKICAgICAgYW5kIGFuZXN0aGV0aXplZCB3aXRoIGlzb2ZsdXJhbmUgKDMuNSUgZm9yIGluZHVjdGlvbiwgMS414oCTMS43NSUgZm9yCiAgICAgIG1haW50ZW5hbmNlLCAxLjItMS44IEwvbWluIGZsb3cgcmF0ZSwgNTAlIG94eWdlbiBpbiBtZWRpY2FsIGFpcikuIFN1cmdlcnkKICAgICAgd2FzIGNvbmR1Y3RlZCBvbiBhIGhlYXRpbmcgcGxhdGUgc2V0IHRvIDM3IMKxIDAuNcKwQywgd2hpbGUgZXllIG9pbnRtZW50CiAgICAgIHByZXZlbnRlZCBjb3JuZWEgZGVoeWRyYXRpb24uIFRoZSBtb3VzZeKAmXMgbGVmdCBmbGFuayB3YXMgc2hhdmVkLCBhbmQgdGhlCiAgICAgIHNraW4gd2FzIGRpc2luZmVjdGVkIHVzaW5nIGNobG9yaGV4aWRpbmUgKDAuNSAlIGluIDcwJSBldGhhbm9sKS4gSGVyZWFmdGVyCiAgICAgIGFuIGluY2lzaW9uIGludG8gdGhlIGxlZnQgZmxhbmsgZXhwb3NlZCB0aGUga2lkbmV5LiBUaGUga2lkbmV5IHdhcyBnZW50bHkKICAgICAgcmVwb3NpdGlvbmVkLCBhbmQgdGhlIHJpZ2h0IGFydGVyeSBicmFuY2ggd2FzIG9jY2x1ZGVkIHdpdGggYSBjbGFtcCBmb3IgMjEKICAgICAgbWludXRlcy4gRHVyaW5nIG9jY2x1c2lvbiwga2lkbmV5IHRlbXBlcmF0dXJlLCBhbmQgaHlkcmF0aW9uIHdlcmUKICAgICAgbWFpbnRhaW5lZCB3aXRoIGEgbm9ud292ZW4gc3dhYiBhbmQgb2NjYXNpb25hbCBmbHVzaGluZyB3aXRoIDM3wrBDIHNhbGluZQogICAgICAmbHQ7c3VwJmd0OzI5Jmx0Oy9zdXAmZ3Q7LiBVcG9uIHJlcGVyZnVzaW9uLCBhIHB1cnNlLXN0cmluZyBzdXR1cmUKICAgICAgY29ubmVjdGVkIHRoZSBtdXNjbGUgbGF5ZXIgYW5kIHRoZSBza2luIGFyb3VuZCB0aGUgaW5jaXNpb24sIGFuZCB0aGUKICAgICAga2lkbmV5IGdsdWVkIHRvIHRoZSB3QUlXIHVzaW5nIDUwIM68bCBjeWFub2FjcnlsYXRlIGdsdWUuIExhc3RseSwgdGhlIHNraW4KICAgICAgd2FzIHNlY3VyZWQgYXJvdW5kIHRoZSBncm9vdmUgb2YgdGhlIHdBSVcgYnkgdGlnaHRlbmluZyBvZiB0aGUKICAgICAgcHVyc2Utc3RyaW5nIHN1dHVyZSAmbHQ7c3VwJmd0OzY4Jmx0Oy9zdXAmZ3Q7LiAxMCDOvGwvZyBCVyBzdGVyaWxlIHNhbGluZQogICAgICB3YXMgaW5qZWN0ZWQgaS5wLiBmb3IgZmx1aWQgc3VwcGxlbWVudGF0aW9uLiBGb2xsb3dpbmcgdGhlIGltYWdlIHNlc3Npb24KICAgICAgYXQgZGF5IDAsIG1lbG94aWNhbSAoMSBtZy9rZyBCVyBtZWxveGljYW0sIE1ldGFjYW0pIHdhcyBhZG1pbmlzdHJhdGVkIHMuYy4KICAgICAgYXMgcG9zdG9wZXJhdGl2ZSBhbmFsZ2VzaWEgYXMgd2VsbCBhcyBhdCBkYXlzIDEgYW5kIDIgcG9zdCBzdXJnZXJ5LgogICAgICBBZGRpdGlvbmFsbHksIG1pY2UgaGFkIHJlc3RyaWN0ZWQgYWNjZXNzIHRvIG5vcm1hbCBkcmlua2luZyB3YXRlciBidXQgaGFkCiAgICAgIHRvIGRyaW5rIHdhdGVyIGNvbnRhaW5pbmcgYnVwcmVub3JwaGluZSAoMSBtbCBidXByZW5vcnBoaW5lIDAuMyBtZy9tbCB0bwogICAgICAzNSBtbCB3YXRlcikgdW50aWwgMyBkYXlzIHBvc3Qtc3VyZ2VyeS4mbHQ7L3AmZ3Q7CiAgICAgICZsdDtwJmd0OyZsdDtzdHJvbmcmZ3Q7SW1hZ2UgYWNxdWlzaXRpb24gcHJvdG9jb2wmbHQ7L3N0cm9uZyZndDsmbHQ7L3AmZ3Q7CiAgICAgICZsdDtwJmd0O0luIHZpdm8gaW1hZ2luZyB3YXMgY29uZHVjdGVkIHVzaW5nIGFuIHVwcmlnaHQgT2x5bXB1cyBGVk1QRS1SUwogICAgICAyLXBob3RvbiBtaWNyb3Njb3BlIChPbHltcHVzLCBKYXBhbikgb3BlcmF0ZWQgd2l0aCBGbHVvdmlldyBGVjMxUyBzb2Z0d2FyZQogICAgICAoT2x5bXB1cywgSmFwYW4pLCBhbmQgYW4gdXByaWdodCBVbHRpbWEgSW52ZXN0aWdhdG9yIFBsdXMgbXVsdGlwaG90b24KICAgICAgc2V0dXAgKEJydWtlciBDb3Jwb3JhdGlvbiwgQmlsbGVyaWNhLCBNQSwgVVNBKSB3aXRoIFByYWlyZVZpZXcgSVYgc29mdHdhcmUKICAgICAgYXMgZGVzY3JpYmVkIHByZXZpb3VzbHkgJmx0O3N1cCZndDs3Jmx0Oy9zdXAmZ3Q7LiZsdDsvcCZndDsgJmx0O3AmZ3Q7VGhlCiAgICAgIE9seW1wdXMgbWljcm9zY29wZSB3YXMgZXF1aXBwZWQgd2l0aCBhIE1haVRhaUhQIERTLU9MIGV4Y2l0YXRpb24gbGFzZXIKICAgICAgKFNwZWN0cmEgUGh5c2ljcywgVW5pdGVkIFN0YXRlcyksIGEgMjVYIFhMUExOMjV4V01QMiBvYmplY3RpdmUsIHdhdGVyCiAgICAgIGltbWVyc2lvbiwgKE9seW1wdXMsIEphcGFuLCBOQSAxLjA1OyBXRCAyLjAwbW0pLCB3aXRoIGFuIElSIGN1dCBmaWx0ZXIgb2YKICAgICAgNjkwIG5tLCBhbmQgdGhlIGZvbGxvd2luZyBkZXRlY3Rpb24gY3ViZXM6IENoMTogzrtldCA9IDcwNS80NSBubQogICAgICAobXVsdGlhbGthbGkgUE1UKSwgQ2gyOiDOu2V0ID0gNjEwLzM1IG5tIChtdWx0aWFsa2FsaSBQTVQpLCBDaDM6IM67ZXQgPQogICAgICA1NDAvNDAgKEdhQXNQKSwgQ2g0OiDOu2V0ID0gNDgwLzQwIChHYUFzUCkuJmx0Oy9wJmd0OyAmbHQ7cCZndDtUaGUgQnJ1a2VyCiAgICAgIG1pY3Jvc2NvcGUgd2FzIGVxdWlwcGVkIHdpdGggYSAyMFggT2x5bXB1cyBYTFVNUExGTE4gT2JqZWN0aXZlLCB3YXRlcgogICAgICBpbW1lcnNpb24gKE9seW1wdXMsIEphcGFuLCBOQSAxLjAwOyBXRCAyLjAwbW0pLCBhIDcyMCBzcCBmaWx0ZXIsIGFuZCB0aGUKICAgICAgZm9sbG93aW5nIGRldGVjdGlvbiBjdWJlczogQ2gxOiDOu2V0PTUyNS81MCBubSAoR2FBc1ApLCBDaDI6IM67ZXQ9IDUyNS81MCBubQogICAgICAoR2FBc1ApLCBDaDM6IM67ZXQ9IDQ2MC81MCBubSAoR2FBc1ApLiZsdDsvcCZndDsgJmx0O3AmZ3Q7UHJpb3IgdG8gaW1hZ2luZywKICAgICAgMSDOvGwvZyBib2R5IHdlaWdodCBvZiBhIDIuNSBtZy9tbCBjb25qdWdhdGVkIEFsYnVtaW4tQWxleGEgRmx1b3IgNTk0IGR5ZQogICAgICBzb2x1dGlvbiAoQWxleGE1OTQtYWxidW1pbiwgSW52aXRyb2dlbikgYW5kIDEwIM68bCBvZiBwcm9waWRpdW0gaW9kaWRlIChQSSwKICAgICAgMC4yNSBtZy9tbCwgVGhlcm1vIEZpc2hlcikgd2FzIGFkbWluaXN0ZXJlZCB2aWEgcmV0cm8tb3JiaXRhbCBpbmplY3Rpb24uCiAgICAgIEZvciBpbWFnaW5nLCB0aGUgd0FJVyBpbXBsYW50IHdhcyBzbG90dGVkIGludG8gYSBjdXN0b20gM0QtcHJpbnRlZCBmcmFtZQogICAgICBlbnN1cmluZyBpbWFnZSBzdGFiaWxpemF0aW9uIG9uIGFuIHVwcmlnaHQgbWljcm9zY29wZSBzZXR1cAogICAgICAmbHQ7c3VwJmd0OzY0Jmx0Oy9zdXAmZ3Q7LiBEdXJpbmcgaW1hZ2luZywgYW5lc3RoZXNpYSBhbmQgdGVtcGVyYXR1cmUgd2VyZQogICAgICBtYWludGFpbmVkIHdpdGggYSBsb3ctZmxvdyAoMzDigJM1MCBtbC9taW4sIDEuMOKAkzEuNSUpIGlzb2ZsdXJhbmUgdmFwb3JpemVyCiAgICAgIChTb21ub1N1aXRlLCBLZW50IFNjaWVudGlmaWMpLCB3aGljaCB3YXMgZXF1aXBwZWQgd2l0aCBhIGhlYXRpbmcgYmxhbmtldAogICAgICBwbGFjZWQgYmVuZWF0aCB0aGUgYW5pbWFsLiZsdDsvcCZndDsgJmx0O3AmZ3Q7V2UgaWRlbnRpZmllZCDiiYggNCBGT1YsIHdoaWNoCiAgICAgIHdlcmUgaW1hZ2VkIHVzaW5nIGR1YWwtdHJhY2sgZXhjaXRhdGlvbiB1c2luZyA3NTAgbm0gYW5kIDk0MCBubSwKICAgICAgcmVzcGVjdGl2ZWx5ICg1MTIgeCA1MTIsIGR3ZWxsIHRpbWU6IDQgzrxzLCBsaW5lIGF2ZXJhZ2luZyB4IDIsIEdhbHZhbm8KICAgICAgbGFzZXIpLiBaLXNlcmllcywgd2l0aCBhIHN0ZXAgc2l6ZSBvZiAxLTIgzrxtIGFuZCBkZXB0aCBvZiDiiYggNjAgzrxtLCB3ZXJlCiAgICAgIGFjcXVpcmVkIGZyb20gZWFjaCBGT1YsIHN0YXJ0aW5nIGZyb20gdGhlIGNhcHN1bGUuIFVwb24gdGhlIGVuZCBvZiB0aGUKICAgICAgaW1hZ2Ugc2Vzc2lvbiwgbWljZSByZWNvdmVyZWQgZnJvbSBhbmVzdGhlc2lhIGFuZCBwbGFjZWQgYmFjayBpbiB0aGVpcgogICAgICBjYWdlLiBUaGlzIHByb2Nlc3Mgd2FzIHJlcGVhdGVkIGZvciBlYWNoIGltYWdpbmcgZGF5IGFzIGRldGFpbGVkIGluIFRhYmxlCiAgICAgIFMyLiZsdDsvcCZndDsgJmx0O3AmZ3Q7VG8gaW5kdWNlIHNlbGVjdGl2ZSBsYXNlci1pbmp1cnkgaW4gYSBmZXcgbmVwaHJvbnMKICAgICAgd2l0aGluIHRoZSBvdGhlcndpc2UgaGVhbHRoeSBQREdGUs6yLUNyZUVSVDItdGRUb21hdG8ga2lkbmV5cyAobiA9IDQpLCB3ZQogICAgICB1c2VkIHRoZSAyLXBob3RvbiBsYXNlciBhcyBhIG1pY3JvbWFuaXB1bGF0b3IgYW5kIGZvY3VzZWQgaGlnaCBsYXNlciBwb3dlcgogICAgICBvbiBhIGtpZG5leSByZWdpb24gb2YgYXBwcm94aW1hdGVseSA2MCB1bSZsdDtzdXAmZ3Q7MiZsdDsvc3VwJmd0Oy4gVGlzc3VlCiAgICAgIHJlbW9kZWxpbmcgYXQgdGhlIGluanVyeSBzaXRlIHdhcyB0aGVuIG1vbml0b3JlZCB2aWEgc2VyaWFsIGluIHZpdm8KICAgICAgaW1hZ2luZyBmb3IgdXAgdG8gNCB3ZWVrcyBhcyBkZXRhaWxlZCBpbiBUYWJsZXMgUzEgYW5kIDIuIEF0IHNvbWUgaW1hZ2UKICAgICAgc2Vzc2lvbnMsIGEgdGlsZSBzY2FuIGFwcHJvYWNoIHdhcyB1dGlsaXplZCBpZiB0aGUgZGFtYWdlZCBhcmVhIGV4Y2VlZGVkCiAgICAgIHRoZSBub3JtYWwgRk9WLiBUaGVzZSB0aWxlcyB3ZXJlIGxhdGVyIHN0aXRjaGVkIHVzaW5nIHRoZSBjZWxsIHNlbnNlCiAgICAgIHNvZnR3YXJlIChPbHltcHVzLCBKYXBhbikuJmx0Oy9wJmd0OyAmbHQ7cCZndDtBZnRlciB0aGUgbGFzdCBpbWFnaW5nCiAgICAgIHNlc3Npb24sIG1pY2Ugd2VyZSBhbmVzdGhldGl6ZWQgd2l0aCBpc29mbHVyYW5lIGFuZCBwZXJmdXNpb24tZml4YXRlZCB3aXRoCiAgICAgIDQlIFBGQS4gRm9yIGNvcnJlbGF0aXZlIG1pY3Jvc2NvcHkgdGhlIGNvcnRpY2FsIHJlbmFsIGFyZWEgYXR0YWNoZWQgdG8gdGhlCiAgICAgIHdBSVcgd2FzIHNlcGFyYXRlZCBhcyBhIOKJiCAyIG1tIHRoaWNrIHRpc3N1ZSBzZWN0aW9uLCBwb3N0LWZpeGF0ZWQgd2l0aCA0JQogICAgICBQRkEgZm9yIDEgaG91ciwgYW5kIHRoZW4gd2FzaGVkIGluIFBCUyAoMyB4IDUgbWluKS4gV2hlcmVhZnRlciB0aGV5IHdlcmUKICAgICAgc3RhaW5lZCBleCB2aXZvLiZsdDsvcCZndDsgJmx0O3AmZ3Q7Jmx0O3N0cm9uZyZndDtJbWFnZQogICAgICBhbmFseXNpcyZsdDsvc3Ryb25nJmd0OyZsdDsvcCZndDsgJmx0O3AmZ3Q7RHVyaW5nIHRoZSBhbmFseXNpcywgYWxsCiAgICAgIHR1YnVsYXIgc2VnbWVudHMgZnJvbSBlYWNoIEZPViB3ZXJlIHNlcXVlbnRpYWxseSBudW1iZXJlZCwgcmUtaWRlbnRpZmllZAogICAgICBvbiBjb25zZWN1dGl2ZSBpbWFnaW5nIHRpbWUgcG9pbnRzLCBhbmQgcXVhbGl0YXRpdmVseSBhc3Nlc3NlZCBmb3IKICAgICAgY2F0ZWdvcml6YXRpb24gaW50byBvbmUgb2YgdGhlIGZvbGxvd2luZyBjbGFzc2lmaWNhdGlvbnM6CiAgICAgICd1bmRhbWFnZWQsJyAnZGFtYWdlZCwnICdyZWNvdmVyZWQsJyBvcgogICAgICAnYXRyb3BoaWMnLiBUdWJ1bGFyIHNlZ21lbnRzIHdlcmUgY2xhc3NpZmllZCBhcwogICAgICAnZGFtYWdlZCcgaWYgdGhleSBleGhpYml0ZWQgYW55IG9mIHRoZSBmb2xsb3dpbmcgY3JpdGVyaWE6CiAgICAgIHBvc2l0aXZlIHN0YWluaW5nIGZvciBwcm9waWRpdW0gaW9kaWRlLCBkaWxhdGVkIG9yIGNvbGxhcHNlZCB0dWJ1bGUgbHVtZW4sCiAgICAgIGx1bWluYWwgZ3JhbnVsYXIgY2FzdCBhY2N1bXVsYXRpb24sIGZsYXR0ZW5lZCB0dWJ1bGUgZXBpdGhlbGl1bSwgdmlzdWFsbHkKICAgICAgZGVjcmVhc2VkIE5BREggYXV0b2ZsdW9yZXNjZW5jZSBhbmQvb3IsIGluIHRoZSBjYXNlIG9mIFBULVMxLCB2aXN1YWxseQogICAgICByZWR1Y2VkIGFsYnVtaW4gZW5kb2N5dG9zaXMuICdVbmRhbWFnZWQnIHR1YnVsZSBzZWdtZW50cyB3ZXJlCiAgICAgIGRlZmluZWQgYnkgdGhlIGFic2VuY2Ugb2YgYWxsIGNoYXJhY3RlcmlzdGljcyBtZW50aW9uZWQgYWJvdmUuIFR1YnVsZQogICAgICBzZWdtZW50cyB3ZXJlIGNsYXNzaWZpZWQgYXMgJ2F0cm9waGljJyBpZiB0aGV5IGFkb3B0ZWQgYQogICAgICBzdHJvbmdseSBjb2xsYXBzZWQsIG5vbi1yZXZlcnNpYmxlIHN0YXRlIHdpdGggZGVjcmVhc2VkIE5BREgKICAgICAgYXV0b2ZsdW9yZXNjZW5jZS4g4oCYUmVjb3ZlcmVk4oCZIHR1YnVsZXMgd2VyZSBpZGVudGlmaWVkIHdpdGggYW55IG9mIHRoZQogICAgICBkYW1hZ2UgY2hhcmFjdGVyaXN0aWNzIG91dGxpbmVkIGFib3ZlIGFuZCBsYXRlciBhZG9wdGVkIGFuIOKAmHVuZGFtYWdlZOKAmQogICAgICBzdGF0ZS4gQWRkaXRpb25hbGx5LCBhdHJvcGhpY+KAmSB0dWJ1bGUgc2VnbWVudHMgd2VyZSBmdXJ0aGVyIHN1Yi1jbGFzc2lmaWVkCiAgICAgIGFzICdkZWdyYWRlZCcgaWYgdGhleSBjb21wbGV0ZWx5IGRpc2FwcGVhcmVkLiBUaGUgY2xhc3NpZmljYXRpb24KICAgICAgb2YgaW5kaXZpZHVhbCB0dWJ1bGUgc2VnbWVudHMgYWNyb3NzIGNvbnNlY3V0aXZlIGltYWdpbmcgdGltZSBwb2ludHMgd2FzCiAgICAgIHBlcmZvcm1lZCBhbmQgY29uZmlybWVkIGJ5IHR3byBleHBlcmltZW50ZXJzLiZsdDsvcCZndDsgJmx0O3AmZ3Q7RGVub2lzaW5nCiAgICAgIG9mIGltYWdlcyB3YXMgY29uZHVjdGVkIHVzaW5nIHRoZSBCTTNEIGFsZ29yaXRobXMgXjcwIF5hcyBwcmV2aW91c2x5CiAgICAgIGRlc2NyaWJlZCAmbHQ7c3VwJmd0OzY5Jmx0Oy9zdXAmZ3Q7LiBJbiBzaG9ydCwgYSBkZW5vaXNpbmcgcGlwZWxpbmUgd2FzCiAgICAgIGNyZWF0ZWQgdXRpbGl6aW5nIGJvdGggRklKSSAmbHQ7c3VwJmd0Ozc1Jmx0Oy9zdXAmZ3Q7IGFuZCBNQVRMQUIuIEZJSkkKICAgICAgZmFjaWxpdGF0ZWQgYmF0Y2ggZGF0YSBpbnB1dC9vdXRwdXQsIGhhbmRsZWQgbXVsdGljaGFubmVsIGltYWdlcywgYW5kCiAgICAgIG1lcmdlZCBkZW5vaXNlZCBvdXRwdXRzLiBNQVRMQUIgZXhlY3V0ZWQgQk0zRCBhbGdvcml0aG1zLCBwcm9jZXNzaW5nIG9uZQogICAgICBjaGFubmVsIGF0IGEgdGltZSBieSByZWFkaW5nIHRlbXBvcmFyeSBmaWxlcyB3cml0dGVuIG9uIGRpc2sgYnkgRklKSSBhbmQKICAgICAgcHJvZHVjaW5nIHRoZSBkZW5vaXNlZCBkYXRhIGluIHNlcGFyYXRlIHRlbXBvcmFyeSBmaWxlcy4mbHQ7L3AmZ3Q7CiAgICAgICZsdDtwJmd0O1JlZ2lzdHJhdGlvbiBvZiBzZXJpYWwgaW1hZ2luZyBkYXRhIHdhcyBwZXJmb3JtZWQgdXNpbmcgYQogICAgICBjb21iaW5hdGlvbiBvZiBhIG1hbnVhbCBsYW5kbWFyay1iYXNlZCB2b2x1bWV0cmljIHJlZ2lzdHJhdGlvbiB3aXRoaW4gdGhlCiAgICAgIEZJSkkgcGx1Z2luIEJpZ1dhcnAgdXNpbmcgcmlnaWQgcm90YXRpb24gdHJhbnNmb3JtcwogICAgICAmbHQ7c3VwJmd0Ozc2Jmx0Oy9zdXAmZ3Q7LCBhbmQgaW50ZW5zaXR5LWJhc2VkIG1lZGljYWwgaW1hZ2UgcmVnaXN0cmF0aW9uCiAgICAgIHVzaW5nIEVsYXN0aXggJmx0O3N1cCZndDszOCZsdDsvc3VwJmd0Oy4mbHQ7L3AmZ3Q7ICZsdDtwJmd0O1RvIHF1YW50aWZ5CiAgICAgIFBER0ZSzrItY2VsbCBhY2N1bXVsYXRpb24sIHR3byBkaWZmZXJlbnQgYXBwcm9hY2hlcyB3ZXJlIHV0aWxpemVkLiBJbiB0aGUKICAgICAgZmlyc3QgbWV0aG9kLCBQREdGUs6yLWNlbGxzIHdlcmUgc2VnbWVudGVkIHVzaW5nIElsYXN0aWsKICAgICAgJmx0O3N1cCZndDs3NyZsdDsvc3VwJmd0OyAodjUuMS4wKS4gSGVyZSwgdGRUb21hdG8tbGFiZWxlZCBQREdGUs6yLWNlbGxzCiAgICAgIHdlcmUgc2VnbWVudGVkIGZyb20gdGhlIHJlZ2lzdGVyZWQgOTQwIHRyYWNrcyB1c2luZyBwaXhlbCBjbGFzc2lmaWNhdGlvbi4KICAgICAgVG8gdHJhaW4gSWxhc3RpaywgbGFiZWxzIHdlcmUgYXNzaWduZWQgdG8gWi1zdGFjayBpbWFnZXMgdG8gaWRlbnRpZnkKICAgICAgc3RydWN0dXJlcy9jZWxscyBhcyBlaXRoZXIgdGRUb21hdG8tcG9zaXRpdmUgb3IgbmVnYXRpdmUgY2VsbHMuIEZvbGxvd2luZwogICAgICBleHBvcnRhdGlvbiBvZiB0aGUgMkQgSWxhc3RpayBwcmVkaWN0aW9ucywgYSB0aHJlc2hvbGQgd2FzIGFwcGxpZWQgdXNpbmcKICAgICAgdGhlIE90c3UgbWV0aG9kICZsdDtzdXAmZ3Q7NzgmbHQ7L3N1cCZndDssIHdoZXJlYWZ0ZXIgdGhlIHBlcmNlbnRhZ2Ugb2YKICAgICAgdGhlIG9mIHRkVG9tYXRvIGNlbGwgYXJlYSB3YXMgYXNzZXNzZWQgcmVsYXRpdmUgdG8gdGhlIHRvdGFsIEZPViBhcmVhCiAgICAgIChGaWd1cmVzIFMyQiwgQykuIFRoaXMgYXBwcm9hY2ggcHJvdmlkZWQgYW4gdW5iaWFzZWQgcXVhbnRpZmljYXRpb24gb2YKICAgICAgUERHRlLOsi1jZWxsIGFidW5kYW5jZSBvbiBhIHBlciBGT1YgYmFzaXMuJmx0Oy9wJmd0OyAmbHQ7cCZndDtJbiB0aGUgc2Vjb25kCiAgICAgIG1ldGhvZCwgdGhlIHBlcmltZXRlciBvZiBlYWNoIGluZGl2aWR1YWwgdHVidWxlIHdhcyBtZWFzdXJlZCBmb3IgZWFjaCBkYXkKICAgICAgZXF1aXZhbGF0aW5nIDY5MDNpbmRpdmlkdWFsIG1lYXN1cmVtZW50cy4gQWZ0ZXJ3YXJkLCBpdCB3YXMgbWVhc3VyZWQgaG93CiAgICAgIG11Y2ggb2YgdGhlIHR1YnVsZSBpbiBxdWVzdGlvbiB3YXMgaW4gdG91Y2ggd2l0aCBzdXJyb3VuZGluZyBQREdGUs6yLWNlbGxzCiAgICAgIGFuZCBQREdGUs6yLWNlbGwgZW5jbG9zdXJlIHdhcyBleHByZXNzZWQgaW4gcGVyY2VudCBvZiB0aGUgdG90YWwgcGVyaW1ldGVyCiAgICAgIG9mIHRoZSB0dWJ1bGUgKEZpZ3VyZSAyRSkuIFRoaXMgYXBwcm9hY2ggcHJvdmlkZWQgaW5zaWdodHMgaW50bwogICAgICBQREdGUs6yLWNlbGwgZHluYW1pY3Mgd2l0aCBpbmRpdmlkdWFsIHR1YnVsZXMuJmx0Oy9wJmd0OyAmbHQ7cCZndDtTZWNvbmQKICAgICAgaGFybW9uaWMgZ2VuZXJhdGlvbiAoU0hHKSB3YXMgcXVhbnRpZmllZCBmb2xsb3dpbmcgaW1hZ2Ugc2VnbWVudGF0aW9uCiAgICAgIHVzaW5nIElsYXN0aWsuIFRoZSBzb2Z0d2FyZSB3YXMgdHJhaW5lZCB0byByZWNvZ25pemUgU0hHIHNpZ25hbHMgZnJvbSA5NDAKICAgICAgdHJhY2tzLiBGb2xsb3dpbmcgdGhlIGV4cG9ydCBvZiB0aGUgMkQgSWxhc3RpayBwcmVkaWN0aW9ucywgYSB0aHJlc2hvbGQKICAgICAgd2FzIGFwcGxpZWQgdXNpbmcgdGhlIE90c3UgbWV0aG9kLCBhZnRlciB3aGljaCB0aGUgcGVyY2VudGFnZSBvZiB0aGUgU0hHCiAgICAgIGFyZWEgd2FzIGV2YWx1YXRlZCByZWxhdGl2ZSB0byB0aGUgdG90YWwgRk9WIGFyZWEuIEFsbCBTSEcgYW5hbHlzaXMgd2FzCiAgICAgIGRvbmUgb24gZGVjYXBzdWxhdGVkLCBleCB2aXZvIHNhbXBsZXMgdG8gYXZvaWQgYmlhcyB3aGVuIHNlcGFyYXRpbmcKICAgICAgaW50ZXJzdGl0aWFsIFNIRyBzaWduYWwgZnJvbSBTSEcgc2lnbmFsIGRlcml2aW5nIGZyb20gdGhlIGtpZG5leQogICAgICBjYXBzdWxlLsKgJmx0Oy9wJmd0OyAmbHQ7cCZndDtOQURIIHNpZ25hbCBxdWFudGlmaWNhdGlvbiB3YXMgb25seSBwZXJmb3JtZWQKICAgICAgb24gaW1hZ2VzIGFjcXVpcmVkIG9uIHRoZSBPbHltcHVzIHN5c3RlbSB0byBtYWludGFpbiBjb25zaXN0ZW50IGRldGVjdGlvbgogICAgICBvcHRpY3MgZm9yIHRoZSBxdWFudGlmaWNhdGlvbi4gSW4gNzUwIG5tIGV4Y2l0YXRpb24gdHJhY2sgZGF0YSwgYSBST0kgd2FzCiAgICAgIG1hbnVhbGx5IGRyYXduIGFyb3VuZCB0aGUgZXBpdGhlbGl1bSBvZiBlYWNoIHR1YnVsZSwgYW5kIHRoZSBhdmVyYWdlCiAgICAgIGludGVuc2l0eSBvZiBjaGFubmVsIDQgd2FzIG1lYXN1cmVkLiZsdDsvcCZndDsKICAgIDwvZGVzY3JpcHRpb24+CiAgICA8ZGVzY3JpcHRpb24gZGVzY3JpcHRpb25UeXBlPSJUZWNobmljYWxJbmZvIj4KICAgICAgIyBJbiB2aXZvIGV4cHJlc3Npb24gb2YgVkNBTTEgcHJlY2VkZXMgbmVwaHJvbiBsb3NzIGZvbGxvd2luZyBraWRuZXkKICAgICAgdHVidWxhciBuZWNyb3NpcyBEYXRhc2V0IERPSToKICAgICAgWzEwLjUwNjEvZHJ5YWQuOXp3M3IyMnRuXSgxMC41MDYxL2RyeWFkLjl6dzNyMjJ0bikgIyMgRGVzY3JpcHRpb24gb2YgdGhlCiAgICAgIGRhdGEgYW5kIGZpbGUgc3RydWN0dXJlIGBGaWxlOiBEYXRhc2V0XzAwMV9QYXJ0aWFsX0lSSS56aXBgICoqIyBEYXRhCiAgICAgIERlc2NyaXB0aW9uKiogVXNpbmcgc2VyaWFsIGludHJhdml0YWwgbWljcm9zY29weSBvZiB0cmFuc2dlbmljIG1pY2UsIHdlCiAgICAgIHRyYWNrZWQgdGhlIGludGVyYWN0aW9ucyBvZiByZW5hbCBmaWJyb2JsYXN0cyBhbmQgcGVyaWN5dGVzIHdpdGggaW5qdXJlZAogICAgICBhbmQgdW5pbmp1cmVkIHR1YnVsZXMgb3ZlciAzIHdlZWtzIGFuZCB0ZXN0ZWQgd2hldGhlciBmaWJyb3NpcyBwcmVjZWRlZAogICAgICBzZWNvbmRhcnkgdHVidWxhciBkYW1hZ2UgaW4gdW5pbmp1cmVkIHRpc3N1ZS4gVG8gYWNoaWV2ZSB0aGlzLCB3ZSB1c2VkIGEKICAgICAgbW9kZWwgb2YgcGFydGlhbCBpc2NoZW1pYS1yZXBlcmZ1c2lvbiBpbmp1cnkgKHBhcnRpYWwgSVJJKSwgd2hpY2ggcmVzdWx0ZWQKICAgICAgaW4gcmFwaWQgYW5kIGFidW5kYW50IHR1YnVsZSBhdHJvcGh5IGFuZCBmaWJyb3NpcyBpbiBhcHByb3hpbWF0ZWx5IGhhbGYgb2YKICAgICAgdGhlIGtpZG5leSB3aGlsZSBkZW1vbnN0cmF0aW5nIHVuaW5qdXJlZCByZW5hbCB0aXNzdWUgaW4gdGhlIG90aGVyIGhhbGYuCiAgICAgICoqIyBFeHBlcmltZW50YWwgU2V0dXAgYW5kIFByb3RvY29sIEluZm9ybWF0aW9uOioqIFRyYW5zZ2VuaWMKICAgICAgUERHRlLOskNyZS1FUlQy4oCTU2Fsc2E2RiByZXBvcnRlciBtaWNlIHdlcmUgZ2VuZXJhdGVkIGJ5IGNyb3NzaW5nCiAgICAgIEI2LkNnLVRnKFBER0ZyzrItY3JlL0VSVDIpNjA5NlJoYS9KIChUaGUgSmFja3NvbiBMYWJvcmF0b3J5LCBTdHJhaW4KICAgICAgIzowMzAyMDEpIGFuZCBCNigxMjlTNCktR3QoUk9TQSkyNlNvcnRtMS4xKENBRy10ZFRvbWF0by9HQ2FNUDZmKU1kY2FoL0opXQogICAgICAoVGhlIEphY2tzb24gTGFib3JhdG9yeSAsIFN0cmFpbiAjOiAwMzE5NjgpLiBBIHBhcnRpYWwgSVJJIHdhcyBwZXJmb3JtZWQKICAgICAgaW4gdGhlIG1pY2UsIHdoaWNoIHdhcyBmb2xsb3dlZCBieSBhbiBhYmRvbWluYWwgaW1hZ2luZyB3aW5kb3cgKEFJVykKICAgICAgaW1wbGVtZW50YXRpb24sIGFuZCBzZXJpYWwgaW50cmF2aXRhbCBpbWFnaW5nIHVuZGVyIGlzb2ZsdXJhbmUgYW5hZXN0aGVzaWEKICAgICAgZm9yIHVwIHRvIDIxIGRheXMgcG9zdC1JUkkuICoqIyBFeHBlcmltZW50YWwgRXF1aXBtZW50KiogSW4gdml2byAyLXBob3RvbgogICAgICBpbWFnaW5nIHdhcyBwZXJmb3JtZWQgdXNpbmcgdHdvIHNldHVwczogMVwpIFVwcmlnaHQgT2x5bXB1cyBGVk1QRS1SUwogICAgICAyLXBob3RvbiBtaWNyb3Njb3BlIChPbHltcHVzLCBKYXBhbikgZXF1aXBwZWQgd2l0aCBNYWlUYWkgSFAgRFMtT0wKICAgICAgZXhjaXRhdGlvbiBsYXNlciAoU3BlY3RyYSBQaHlzaWNzLCBVbml0ZWQgU3RhdGVzKSwgWExQTE4yNXhXTVAyIG9iamVjdGl2ZQogICAgICAoT2x5bXB1cywgSmFwYW4sIE5BIDEuMDU7IFdEIDIuMDAgbW0pLiBFeGNpdGF0aW9uIHdhdmVsZW5ndGhzIHVzZWQgd2VyZQogICAgICA3NTAgbm0gYW5kIDk0MCBubS4gMlwpIENoYW1lbGlvbiBVbHRyYSBJSSBDb2hlcmVudCBMYXNlciBhbmQgYW4gVWx0aW1hCiAgICAgIEludmVzdGlnYXRvciBQbHVzIG11bHRpcGhvdG9uIHNldHVwIChCcnVrZXIgQ29ycG9yYXRpb24sIEJpbGxlcmljYSwgTUEsCiAgICAgIFVTQSkgd2l0aCBQcmFpcmVWaWV3IElWIHNvZnR3YXJlIGluIHVwcmlnaHQgb2JqZWN0aXZlIGNvbmZpZ3VyYXRpb24gKDIwWAogICAgICBPbHltcHVzIFhMVU1QTEZMTiBPYmplY3RpdmUsIHdhdGVyIGltbWVyc2lvbiwgMS4wMCBOQSwgMi4wIG1tIFdEKS4KICAgICAgRXhjaXRhdGlvbiB3YXZlbGVuZ3RocyB1c2VkIHdlcmUgNzUwIG5tIGFuZCA5NDAgbm0uIEVtaXNzaW9uIHNpZ25hbCB3YXMKICAgICAgZGV0ZWN0ZWQgYWZ0ZXIgYSA3MjBzcCBmaWx0ZXIgb24gMyBHYUFzUCAoSGFtYW1hdHN1LCBINzQyMi00MCkKICAgICAgcGhvdG9tdWx0aXBsaWVycyAoQ2gxOiDOu2V0ID0gNTI1LzUwIG5tLCBDaDI6IM67ZXQgPSA1MjUvNTAgbm0sIENoMzogzrtlIHQ9CiAgICAgIDQ2MC81MCBubSkuIFN1YmplY3QgSURzOiAwMDgsIDAwOSwgMDEwLiBgRmlsZToKICAgICAgRGF0YXNldF8wMDJfTGFzZXJfSW5qdXJ5LnppcGAgKiojIERhdGEgRGVzY3JpcHRpb24qKiBUbyBleHBsb3JlIHRoZQogICAgICBkeW5hbWljcyBvZiBmaWJyb2JsYXN0cyBpbiBhIGxvY2FsbHkgcmVzdHJpY3RlZCBpbmp1cnkgbW9kZWwsIHdlIHVzZWQKICAgICAgc2VyaWFsICppbiB2aXZvKiBpbWFnaW5nIHZpYSB0d28tcGhvdG9uIG1pY3Jvc2NvcHkgYW5kIGdlbmV0aWMKICAgICAgaWRlbnRpZmljYXRpb24gb2YgUERHRlLOsiBjZWxscyBpbiBraWRuZXlzIHVuZGVyZ29pbmcgbGFzZXItaW5kdWNlZCB0dWJ1bGFyCiAgICAgIGluanVyeS4gKiojIEV4cGVyaW1lbnRhbCBTZXR1cCBhbmQgUHJvdG9jb2wgSW5mb3JtYXRpb246KiogVHJhbnNnZW5pYwogICAgICBQREdGUs6yQ3JlLUVSVDLigJNTYWxzYTZGIHJlcG9ydGVyIG1pY2Ugd2VyZSBnZW5lcmF0ZWQgYnkgY3Jvc3NpbmcKICAgICAgQjYuQ2ctVGcoUERHRnLOsi1jcmUvRVJUMik2MDk2UmhhL0ogKFRoZSBKYWNrc29uIExhYm9yYXRvcnksIFN0cmFpbgogICAgICAjOjAzMDIwMSkgYW5kIEI2KDEyOVM0KS1HdChST1NBKTI2U29ydG0xLjEoQ0FHLXRkVG9tYXRvL0dDYU1QNmYpTWRjYWgvSildCiAgICAgIChUaGUgSmFja3NvbiBMYWJvcmF0b3J5ICwgU3RyYWluICM6IDAzMTk2OCkuIEFuIGFiZG9taW5hbCBpbWFnaW5nIHdpbmRvdwogICAgICAoQUlXKSB3YXMgaW1wbGVtZW50ZWQgaW4gdGhlIG1pY2UsIHdoaWNoIHdhcyBmb2xsb3dlZCBieSBhIGxhc2VyLWluZHVjZWQKICAgICAgdHVidWxhciBpbmp1cnkgYW5kIHNlcmlhbCBpbnRyYXZpdGFsIGltYWdpbmcgcGVyZm9ybWVkIHVuZGVyIGlzb2ZsdXJhbmUKICAgICAgYW5lc3RoZXNpYSBmb3IgdXAgdG8gMjggZGF5cy4gKiojIEV4cGVyaW1lbnRhbCBFcXVpcG1lbnQqKiAqSW4gdml2byoKICAgICAgMi1waG90b24gaW1hZ2luZyB3YXMgcGVyZm9ybWVkIHVzaW5nIGFuIHVwcmlnaHQgT2x5bXB1cyBGVk1QRS1SUyAyLXBob3RvbgogICAgICBtaWNyb3Njb3BlIChPbHltcHVzLCBKYXBhbikgZXF1aXBwZWQgd2l0aCBNYWlUYWkgSFAgRFMtT0wgZXhjaXRhdGlvbiBsYXNlcgogICAgICAoU3BlY3RyYSBQaHlzaWNzLCBVbml0ZWQgU3RhdGVzKSwgWExQTE4yNXhXTVAyIG9iamVjdGl2ZSAoT2x5bXB1cywgSmFwYW4sCiAgICAgIE5BIDEuMDU7IFdEIDIuMDAgbW0pLCBhbmQgdGhlIGZvbGxvd2luZyBkZXRlY3Rpb24gY3ViZXM6IENoMTogzrtldCA9IEVtcHR5LAogICAgICBDaDI6IM67ZXQgPSA2MTAgwrEgMzUgbm0gKG11bHRpYWxrYWxpIFBNVCksIENoMzogzrtldCA9IDU0MCDCsSAyMCBubSAoR2FBc1ApLAogICAgICBDaDQ6IM67ZXQgPSA0ODAgwrEgMjAgbm0gKEdhQXNQKS4gYEZpbGU6IERhdGFzZXRfMDAzX0NvbnRyb2wuemlwYCBTZXJpYWwKICAgICAgaW50cmF2aXRhbCBpbWFnaW5nIHZpYSAyLXBob3RvbiBtaWNyb3Njb3B5IGFuZCBnZW5ldGljIGlkZW50aWZpY2F0aW9uIG9mCiAgICAgIFBER0ZSzrIgY2VsbHMgaW4ga2lkbmV5cyB1bmRlcmdvaW5nIHNoYW0gaXNjaGVtaWEtcmVwZXJmdXNpb24gaW5qdXJ5IChJUkkpCiAgICAgIHN1cmdlcnkuICoqIyBFeHBlcmltZW50YWwgU2V0dXAgYW5kIFByb3RvY29sIEluZm9ybWF0aW9uOioqIFRyYW5zZ2VuaWMKICAgICAgUERHRlLOskNyZS1FUlQy4oCTU2Fsc2E2RiByZXBvcnRlciBtaWNlIHdlcmUgZ2VuZXJhdGVkIGJ5IGNyb3NzaW5nCiAgICAgIEI2LkNnLVRnKFBER0ZyzrItY3JlL0VSVDIpNjA5NlJoYS9KIChUaGUgSmFja3NvbiBMYWJvcmF0b3J5LCBTdHJhaW4KICAgICAgIzowMzAyMDEpIGFuZCBCNigxMjlTNCktR3QoUk9TQSkyNlNvcnRtMS4xKENBRy10ZFRvbWF0by9HQ2FNUDZmKU1kY2FoL0opXQogICAgICAoVGhlIEphY2tzb24gTGFib3JhdG9yeSwgU3RyYWluICM6IDAzMTk2OCkuIEEgc2hhbSBJUkkgc3VyZ2VyeSB3YXMKICAgICAgcGVyZm9ybWVkIGluIHRoZSBtaWNlLCB3aGljaCB3YXMgZm9sbG93ZWQgYnkgYW4gYWJkb21pbmFsIGltYWdpbmcgd2luZG93CiAgICAgIChBSVcpIGltcGxlbWVudGF0aW9uLCBhbmQgc2VyaWFsIGludHJhdml0YWwgaW1hZ2luZyB1bmRlciBpc29mbHVyYW5lCiAgICAgIGFuYWVzdGhlc2lhIGZvciB1cCB0byAyMSBkYXlzIHBvc3Qgc3VyZ2VyeS4gKiojIEV4cGVyaW1lbnRhbCBFcXVpcG1lbnQqKgogICAgICBJbiB2aXZvIDItcGhvdG9uIGltYWdpbmcgd2FzIHBlcmZvcm1lZCB1c2luZyB0d28gc2V0dXBzOiAxXCkgVXByaWdodAogICAgICBPbHltcHVzIEZWTVBFLVJTIDItcGhvdG9uIG1pY3Jvc2NvcGUgKE9seW1wdXMsIEphcGFuKSBlcXVpcHBlZCB3aXRoIE1haVRhaQogICAgICBIUCBEUy1PTCBleGNpdGF0aW9uIGxhc2VyIChTcGVjdHJhIFBoeXNpY3MsIFVuaXRlZCBTdGF0ZXMpLCBYTFBMTjI1eFdNUDIKICAgICAgb2JqZWN0aXZlIChPbHltcHVzLCBKYXBhbiwgTkEgMS4wNTsgV0QgMi4wMCBtbSkuIEV4Y2l0YXRpb24gd2F2ZWxlbmd0aHMKICAgICAgdXNlZCB3ZXJlIDc1MCBubSBhbmQgOTQwIG5tLiAyXCkgQ2hhbWVsaW9uIFVsdHJhIElJIENvaGVyZW50IExhc2VyIGFuZCBhbgogICAgICBVbHRpbWEgSW52ZXN0aWdhdG9yIFBsdXMgbXVsdGlwaG90b24gc2V0dXAgKEJydWtlciBDb3Jwb3JhdGlvbiwgQmlsbGVyaWNhLAogICAgICBNQSwgVVNBKSB3aXRoIFByYWlyZVZpZXcgSVYgc29mdHdhcmUgaW4gdXByaWdodCBvYmplY3RpdmUgY29uZmlndXJhdGlvbgogICAgICAoMjBYIE9seW1wdXMgWExVTVBMRkxOIE9iamVjdGl2ZSwgd2F0ZXIgaW1tZXJzaW9uLCAxLjAwIE5BLCAyLjAgbW0gV0QpLgogICAgICBFeGNpdGF0aW9uIHdhdmVsZW5ndGhzIHVzZWQgd2VyZSA3NTAgbm0gYW5kIDk0MCBubS4gRW1pc3Npb24gc2lnbmFsIHdhcwogICAgICBkZXRlY3RlZCBhZnRlciBhIDcyMHNwIGZpbHRlciBvbiAzIEdhQXNQIChIYW1hbWF0c3UsIEg3NDIyLTQwKQogICAgICBwaG90b211bHRpcGxpZXJzIChDaDE6IM67ZXQgPSA1MjUvNTAgbm0sIENoMjogzrtldCA9IDUyNS81MCBubSwgQ2gzOiDOu2UgdD0KICAgICAgNDYwLzUwIG5tKS4gU3ViamVjdCBJRHM6IDAwOCwgMDA5LCAwMTAuIGBGaWxlOiBEYXRhc2V0XzAwNF9WY2FtMUtJTTEuemlwYAogICAgICBFeCB2aXZvIGltYWdpbmcgb2YgaHVtYW4gYmlvcHNpZXMgZnJvbSBraWRuZXkgdHJhbnNwbGFudGF0aW9ucyBzdGFpbmVkIGZvcgogICAgICBLaW0xIGFuZCBWY2FtMS4gKiojIEV4cGVyaW1lbnRhbCBTZXR1cCBhbmQgUHJvdG9jb2wgSW5mb3JtYXRpb246KioKICAgICAgQmlvcHNpZXMgd2VyZSBvYnRhaW5lZCBmcm9tIHBhdGllbnRzIHVuZGVyZ29pbmcga2lkbmV5IHRyYW5zcGxhbnRhdGlvbi4KICAgICAgVGhlIGJpb3BzeSB3YXMgdGFrZW4gZnJvbSB0aGUgdHJhbnNwbGFudGVkIGtpZG5leSA2IGRheXMKICAgICAgcG9zdC10cmFuc3BsYW50YXRpb24uIEh1bWFuIGJpb3BzaWVzIHdlcmUgc3RhaW5lZCBmb3IgS2ltMSBhbmQgVmNhbTEuIFRoZQogICAgICBwcmltYXJ5IGFudGlib2R5LCBSYWJiaXQgYW50aS1WQ0FNMSAoQWJjYW0gQUIwMTM0MDQ3LCAxOjUwMCBkaWx1dGlvbikgb3IKICAgICAgR29hdCBhbnRpIEtJTTEgKEJpb3RlY2huZSBBRjE4MSwgMTo1MDApLCB3YXMgaW5jdWJhdGVkIG92ZXJuaWdodCBhdCA0wrBDLgogICAgICBGb2xsb3dpbmcgcHJpbWFyeSBhbnRpYm9keSBpbmN1YmF0aW9uLCBzZWN0aW9ucyB3ZXJlIHdhc2hlZCB0aHJlZSB0aW1lcwogICAgICBmb3IgMTAgbWludXRlcyBlYWNoIGluIGEgYnVmZmVyIGNvbnRhaW5pbmcgMSUgQlNBLCAwLjIlIGdlbGF0aW4sIGFuZCAwLjA1JQogICAgICBzYXBvbmluIGluIFBCUyAocEggNy40KS4gVGhlIHNlY29uZGFyeSBhbnRpYm9keSwgR29hdCBhbnRpLVJhYmJpdCBDeTUKICAgICAgKEludml0cm9nZW4gQTEwNTIzLCAxOjUwMCBkaWx1dGlvbikgb3IgRG9ua2V5IGFudGkgR29hdCBBbGV4YSA2NDcKICAgICAgKEludml0cm9nZW4gQTIxNDQsIDE6MTAwMCksIHdhcyBhcHBsaWVkIGZvciAyIGhvdXJzIGF0IHJvb20gdGVtcGVyYXR1cmUKICAgICAgKDIwwrBDKS4gQm90aCBwcmltYXJ5IGFuZCBzZWNvbmRhcnkgYW50aWJvZGllcyB3ZXJlIGRpbHV0ZWQgaW4gYSBzb2x1dGlvbgogICAgICBvZiAwLjElIEJTQSwgMC4zJSBUcml0b24gWC0xMDAsIGluIFBCUyAocEggNy40KS4gRm9yIG51Y2xlYXIgc3RhaW5pbmcsCiAgICAgIEhvZWNoc3QgMzMzNDIgKDEgwrVnL21MLCBJbnZpdHJvZ2VuIEgzNTcwKSB3YXMgaW5jdWJhdGVkIGNvbmN1cnJlbnRseSB3aXRoCiAgICAgIHRoZSBzZWNvbmRhcnkgYW50aWJvZHkuIFNlY3Rpb25zIHdlcmUgbW91bnRlZCB3aXRoIEdseXNlcmdlbCBtb3VudGluZwogICAgICBtZWRpdW0gKERha28gQzA1NjMpIGNvbnRhaW5pbmcgMC4wMjUgZy9tTCAxLDQtZGlhemFiaWN5Y2xvWzIuMi4yXW9jdGFuZQogICAgICAoMi41JSB3L3YsIE1lcmNrIDgwMzQ1NikuICoqIyBFeHBlcmltZW50YWwgRXF1aXBtZW50KiogYmlvcHNpZXMgd2VyZQogICAgICBpbWFnZWQgb24gYW4gT2x5bXB1cyBWUzEyMCB1cHJpZ2h0IHdpZGVmaWVsZCBmbHVvcmVzY2VuY2UgbWljcm9zY29wZQogICAgICAoT2x5bXB1cywgSmFwYW4pIGVxdWlwcGVkIHdpdGggYSAyMFggVVBMU0FQTyBvYmplY3RpdmUgKGFpciBpbW1lcnNpb24pIGFuZAogICAgICBhIGhpZ2gtc2Vuc2l0aXZpdHkgbW9ub2Nocm9tZSBjYW1lcmEgd2l0aCA4MiUgcXVhbnR1bSBlZmZpY2llbmN5CiAgICAgIChIYW1hbWF0c3UgT1JDQS1GTEFTSDQuMFYyKS4gSW1hZ2VzIHdlcmUgY2FwdHVyZWQgdXNpbmcgZW1pc3Npb24KICAgICAgd2F2ZWxlbmd0aHMgb2YgNTE4IG5tIChleHBvc3VyZSB0aW1lID0gNTAwIG1zKSwgNDU1IG5tIChleHBvc3VyZSB0aW1lID0KICAgICAgMTAwIG1zKSwgYW5kIDU2NSBubSAoZXhwb3N1cmUgdGltZSA9IDgwMCBtcykuIGBGaWxlOgogICAgICBEYXRhc2V0XzAwNV9FeF92aXZvLnppcGAgRXggdml2byBpbWFnaW5nIG9mIHN0YWluZWQgc2VjdGlvbnMgZm9sbG93aW5nCiAgICAgIHBhcnRpYWwgSVJJLiAqKiMgRXhwZXJpbWVudGFsIFNldHVwIGFuZCBQcm90b2NvbCBJbmZvcm1hdGlvbjoqKiBPbiBkYXlzIDQsCiAgICAgIDcsIGFuZCAyMSBwb3N0IHBhcnRpYWwgSVJJIG9mIHRoZSBraWRuZXksIG1pY2Ugd2VyZSBwZXJmdXNpb24gZml4ZWQsIGFuZAogICAgICB0aGUga2lkbmV5IHdhcyBjdXQgb3V0LiBFeCB2aXZvIHNhbXBsZXMgdXNlZCBmb3IgcGFyYWZmaW4gZW1iZWRkaW5nIHdlcmUKICAgICAgcG9zdC1maXhhdGVkIGluIDQlIHBhcmFmb3JtYWxkZWh5ZGUgKFBGQSksIHdoZXJlYWZ0ZXIgdGhleSB3ZXJlCiAgICAgIHRyYW5zZmVycmVkIHRvIDcwJSBldGhhbm9sIGFuZCBpbmN1YmF0ZWQgb3Zlcm5pZ2h0LiBUaGUgZXRoYW5vbAogICAgICBjb25jZW50cmF0aW9uIHdhcyBzZXF1ZW50aWFsbHkgaW5jcmVhc2VkIHRvIDk2JSBmb3IgMiBob3VycywgdGhlbiB0byA5OSUKICAgICAgZm9yIGFuIGFkZGl0aW9uYWwgMiBob3VycywgZm9sbG93ZWQgYnkgb3Zlcm5pZ2h0IGluY3ViYXRpb24gaW4gOTklIGV0aGFub2wKICAgICAgd2l0aCB4eWxlbmUuIFNhbXBsZXMgd2VyZSBzdWJzZXF1ZW50bHkgZW1iZWRkZWQgaW4gcGFyYWZmaW4gYXQgNjDCsEMgYW5kCiAgICAgIHN0b3JlZCB1bnRpbCBzdGFpbmluZy4gS2lkbmV5IHRpc3N1ZSB3YXMgY3V0IGNvcm9uYWxseS4gVXBvbiBzdGFpbmluZywKICAgICAgc2VjdGlvbnMgd2VyZSBkZWh5ZHJhdGVkIHVudGlsIHdhdGVyLCB1c2luZyBYeWxlbmUgYW5kIGEgZGVjcmVhc2luZyBhbW91bnQKICAgICAgb2YgZXRoYW5vbC4gQW50aWdlbiByZXRyaWV2YWwgd2FzIHBlcmZvcm1lZCB3aXRoIEhJRVIgcEg5LiBTYW1wbGVzIHdlcmUKICAgICAgYmxvY2tlZCBpbiA1MG1NIE5INENsIGZvciAzMCBtaW51dGVzLCBmb2xsb3dlZCBieSAxJSBCU0EsIDAsMiUgZ2VsYXRpbmUsCiAgICAgIDAsMDUlIFNhcG9uaW4gaW4gUEJTIHBIIDcsNC4gM3gxMCBtaW51dGVzLiBQcmltYXJ5IGFudGlib2RpZXMsIFJhYmJpdCBhbnRpCiAgICAgIFZDQU0tMSAoQWJjYW0gQUIwMTM0MDQ3LCAxOjUwMCkgb3IgUmFiYml0IGFudGkgVkNBTS0xIGNvbmp1Z2F0ZWQgdG8gQWxleGEKICAgICAgNjQ3IChBYmNhbSBBQjE5NDMxOS0xMDAxLCAxOjIwMCksIFJhYmJpdCBhbnRpLVBER0ZSzrIgKEFiY2FtIGFiMzI1NzAsCiAgICAgIDE6MjAwKSwgUmFiYml0IGFudGktQ0Q2OCAoQWJjYW0gMTI1MjEyLCAxOjkwMCksIE1vdXNlIGFudGkgzrFTTUEgKERha28KICAgICAgTTA4NSwgMToxMDAwKSwgUmFiYml0IGFudGktUENLMShBYmNhbSA3MDM1LCAxOjIwMCkgd2VyZSBkaWx1dGVkIGluIDAsMSUKICAgICAgQlNBLCAwLDMlIFRyaXRpbiB4LTEwMCBpbiBQU0IgcEg3LDQgYW5kIGluY3ViYXRlZCBvdmVyIG5pZ2h0IGF0IDTCsEMuCiAgICAgIFNhbXBsZXMgYXJlIHdhc2hlZCAzIHggMTAgbWluIGluIDAsMSUgQlNBLCAwLDIlIGdlbGF0aW5lLCAwLDA1JSBTYXBvbmluIGluCiAgICAgIFBCUyBwSCA3LDQsIGJlZm9yZSBpbmN1YmF0aW9uIDEgaCB3aXRoIERvbmtleSBhbnRpIFJhYmJpdCBBbGV4YSA0ODgKICAgICAgKEludm90cm9nZW4gQTIxMjA2LCAxOjEwMDApLCBEb25rZXkgYW50aSBSYWJiaXQgQWxleGEgNjgwIChJbnZpdHJvZ2VuCiAgICAgIEExMDA0MywgMToxMDAwKSwgYW5kwqAgR29hdCBhbnRpIE1vdXNlIEFsZXhhIDQ4OCAoSW52aXRyb2dlbiBBMzI3MjMsCiAgICAgIDE6MTAwMCkgZGlsdXRlZCBpbiAwLDElIEJTQSwgMCwzJSBUcml0aW4geC0xMDAgaW4gUFNCIHBINyw0LiBBZnRlcgogICAgICBzdGFpbmluZywgc2FtcGxlcyBhcmUgd2FzaGVkIGZvciAxMDAgbWluLiBpbiBQQlMgYW5kIG1vdW50ZWQgd2l0aAogICAgICBHbHljZXJnZWwgKERha28gQzA1NjMpIGNvbnRhaW5pbmcgMiw1ICUgdy92IDEsNC1EaWF6YWJpY3ljbG9bMi4yLjJdb2N0YW5lCiAgICAgIChNZXJjayA4MDM0NTYpLiBTYW1wbGVzIHdlcmUgaW1hZ2VkIG9uIGEgWmVpc3MgTFNNOTAwIEludmVydGVkIGNvbmZvY2FsCiAgICAgIGxhc2VyIHNjYW5uaW5nIG1pY3Jvc2NvcGUgd2l0aCBBaXJ5c2NhbiAyIGRldGVjdGlvbiBhcnJheS4gRm9yIGEgZGV0YWlsZWQKICAgICAgb3ZlcnZpZXcsIHNlZSBUYWJsZSBTNC4gUGljcm9zaXJpdXMgUmVkIHN0YWluaW5nIHdhcyBwZXJmb3JtZWQgYXMKICAgICAgZGVzY3JpYmVkIGJlZm9yZTogVXBvbiBkZXBhcmFmZmluaXphdGlvbiwgc2VjdGlvbnMgd2VyZSBjb25zZWN1dGl2ZWx5CiAgICAgIGluY3ViYXRlZCBpbiBzb2x1dGlvbnMgb2YgQ2VsZXN0aW5ibHVlLCBIYXJyaXMgSMOmbWF0b3hpbGluLCBhbmQgU2lyaXVzCiAgICAgIFJlZC4gQ29sbGFnZW4gd2FzIHZpc3VhbGl6ZWQgdXNpbmcgY29uZm9jYWwgbWljcm9zY29weSAoTFNNOTAwIEludmVydGVkCiAgICAgIGNvbmZvY2FsIGxhc2VyIHNjYW5uaW5nIG1pY3Jvc2NvcGUgd2l0aCBBaXJ5c2NhbiAyIGRldGVjdGlvbiBhcnJheSkgdXNpbmcKICAgICAgYW4gZXhjaXRhdGlvbiBvZiA1NjEgbm0gYW5kIGRldGVjdGlvbiBvZiBTaXJpdXMgUmVkIHNpZ25hbCBhdCA2MzUtNjg1IG5tLgogICAgICAqKiMgRXhwZXJpbWVudGFsIEVxdWlwbWVudCoqIFNhbXBsZXMgd2VyZSBpbWFnZWQgb24gYSBaZWlzcyBMU00gOTAwIExhc2VyCiAgICAgIFNjYW5uaW5nIENvbmZvY2FsIG1pY3Jvc2NvcGUgYEZpbGU6CiAgICAgIERhdGFzZXRfMDA2X0NvcnJlbGF0aXZlX2ltYWdpbmdfb2ZfVmNhbTEuemlwYCBDb3JyZWxhdGl2ZSBpbWFnaW5nIG9mCiAgICAgIFBhcnRpYWwgSVJJIGtpZG5leSBpbiB2aXZvIGFuZCBleCB2aXZvIHN0YWluZWQgZm9yIFZjYW0xLiAqKiMgRXhwZXJpbWVudGFsCiAgICAgIFNldHVwIGFuZCBQcm90b2NvbCBJbmZvcm1hdGlvbjoqKiBBIHBhcnRpYWwgSVJJIHdhcyBwZXJmb3JtZWQgaW4gdGhlIG1pY2UsCiAgICAgIHdoaWNoIHdhcyBmb2xsb3dlZCBieSBhbiBhYmRvbWluYWwgaW1hZ2luZyB3aW5kb3cgKEFJVykgaW1wbGVtZW50YXRpb24sCiAgICAgIGFuZCBzZXJpYWwgaW50cmF2aXRhbCBpbWFnaW5nIHVuZGVyIGlzb2ZsdXJhbmUgYW5lc3RoZXNpYSBmb3IgNCBkYXlzCiAgICAgIHBvc3QtSVJJLiBXaGVyZWFmdGVyLCBtaWNlIHdlcmUgcGVyZnVzaW9uIGZpeGVkLiBLaWRuZXkgdGlzc3VlIHN0YWluZWQKICAgICAgYWdhaW5zdCBWQ0FNMSB3YXMgYmxvY2tlZCBpbiAxJSBCU0EvMiUgU0VBIEJMT0NLLzAsMSAlIFRyaXRvbiBYLTEwMC9QQlMKICAgICAgZm9yIDEgaCBhbmQgdGhlbiBpbmN1YmF0ZWQgaW4gUmFiYml0IGFudGktVkNBTS0xIChBYmNhbSBBQjAxMzQwNDcsIDE6MjAwKQogICAgICBmb3IgNzIgaG91cnMgYXQgNCDCsEMuIEFmdGVyIHdhc2hpbmcgaW4gUEJTICgzIHggNSBtaW4pLCBEb25rZXkgYW50aS1SYWJiaXQKICAgICAgQWxleGEgNDA1IChKYWNrc29uIEltbXVub1Jlc2VhcmNoIDcxMS0xNzUtMTUyLCAxOjUwMCkgc2Vjb25kYXJ5IGFudGlib2R5CiAgICAgIHdhcyBpbmN1YmF0ZWQgb3Zlcm5pZ2h0IGF0IDTCsEMuIEZvciBQREdGUs6yLCB0aGUga2lkbmV5IHRpc3N1ZSB3YXMgYmxvY2tlZAogICAgICB3aXRoIDElIEJTQSArIDIgJSBTRUEgaW4gUEJTIGZvciAxIGhvdXIgYW5kIGluY3ViYXRlZCBpbiBSYWJiaXQKICAgICAgYW50aS1QREdGcs6yIChBYmNhbSBhYjMyNTcwLCAxOjIwMCkgb3Zlcm5pZ2h0IGF0IDTCsEMuIEFmdGVyIHdhc2hpbmcgaW4gUEJTCiAgICAgICgzIHggNSBtaW4pLCB0aGUgc2FtcGxlIHdhcyBpbmN1YmF0ZWQgaW4gRG9ua2V5IGFudGktUmFiYml0IEFsZXhhIDU5NAogICAgICAoSW52aXRyb2dlbiBBMjEyMDcsIDE6NTAwKS4gQWZ0ZXIgaW5jdWJhdGlvbiBpbiBzZWNvbmRhcnkgYW50aWJvZHksCiAgICAgIHNhbXBsZXMgd2VyZSB3YXNoZWQgaW4gUEJTIGFuZCBlbWJlZGRlZCBpbiBQQlMgYmV0d2VlbiB0d28gY292ZXJzbGlwcwogICAgICBzZXBhcmF0ZWQgYnkgYSAyIG1tIHRoaWNrIHNwYWNlciAoU3VuSmltIExhYikuICoqIyBFeHBlcmltZW50YWwKICAgICAgRXF1aXBtZW50KiogVXByaWdodCBPbHltcHVzIEZWTVBFLVJTIDItcGhvdG9uIG1pY3Jvc2NvcGUgKE9seW1wdXMsIEphcGFuKQogICAgICBlcXVpcHBlZCB3aXRoIE1haVRhaSBIUCBEUy1PTCBleGNpdGF0aW9uIGxhc2VyIChTcGVjdHJhIFBoeXNpY3MsIFVuaXRlZAogICAgICBTdGF0ZXMpLCBYTFBMTjI1eFdNUDIgb2JqZWN0aXZlIChPbHltcHVzLCBKYXBhbiwgTkEgMS4wNTsgV0QgMi4wMCBtbSkuCiAgICAgIEV4Y2l0YXRpb24gd2F2ZWxlbmd0aHMgdXNlZCBmb3IgaW4gdml2byB3ZXJlIDc1MCBubSBhbmQgOTQwIG5tLCBhbmQgODAwIG5tCiAgICAgIGZvciBleCB2aXZvLiAjIyMgRmlsZXMgYW5kIHZhcmlhYmxlcyAjIyMjICoqRmlsZToKICAgICAgRGF0YXNldF8wMDFfUGFydGlhbF9JUkkuemlwKiogRGVzY3JpcHRpb246wqBMb25naXR1ZGluYWwgaW1hZ2luZyBvZiB0aGUKICAgICAgbW91c2Uga2lkbmV5IG92ZXIgMyB3ZWVrcyB2aWEgaW4gdml2byAyLXBob3RvbiBtaWNyb3Njb3B5IGFmdGVyIHBhcnRpYWwKICAgICAgaXNjaGVtaWEtcmVwZXJmdXNpb24gaW5qdXJ5IChwYXJ0aWFsIElSKS4gKiojIFdoYXQgZWFjaCBpbWFnaW5nIGZpbGUKICAgICAgcmVwcmVzZW50cyoqIFZvbHVtZXRyaWMgaW1hZ2Ugc2VyaWVzIG9mIHJlbmFsIGNvcnRleCAobWljZSksIGFwcHJveGltYXRlbHkKICAgICAgNjAgwrVtIGRlcHRoLCBzdGVwIHNpemUgMS0yIMK1bS4gVGhlIHN0YXJ0aW5nIGltYWdpbmcgbG9jYXRpb24gd2FzIHNlbGVjdGVkCiAgICAgIGF0IHRoZSBkZXB0aCBvZiB0aGUgcmVuYWwgY2Fwc3VsZSAoaWRlbnRpZmllZCB2aWEgc2Vjb25kIGhhcm1vbmljCiAgICAgIGdlbmVyYXRpb24sIGRpc3BsYXllZCBpbiBibHVlLCBpbiB0aGUgOTQwIGV4Y2l0YXRpb24gZmlsZXMpLiAqKiMgQ29sb3IKICAgICAgU2NoZW1lKiogSW1hZ2VzIHdlcmUgYWNxdWlyZWQgdXNpbmcgYm90aCA3NTAgbm0gYXMgZXhjaXRhdGlvbiB3YXZlbGVuZ3RoLAogICAgICBhbmQgOTQwIG5tIGFzIGV4Y2l0YXRpb24gd2F2ZWxlbmd0aC4gRm9yIGVhY2ggRmllbGQgb2YgdmlldywgdGhlcmUgaXMgYQogICAgICBmaWxlIGZvciB0aGUgNzUwIGV4Y2l0YXRpb24gYW5kIDk0MCBleGNpdGF0aW9uIHRyYWNrLiBGb3IgZWFjaCBleGNpdGF0aW9uCiAgICAgIHRyYWNrLCBsaWdodCBoYXMgYmVlbiBjb2xsZWN0ZWQgaW4gZWl0aGVyIDMgb3IgNCBkaWZmZXJlbnQgY2hhbm5lbHMuIDFcKQogICAgICBmb3Igc3ViamVjdCBJRDogMDAxLCAwMDIsIDAwMywgMDA0LCAwMDUsIDAwNiwgMDA3LCB0aGUgT2x5bXB1cyBzeXN0ZW0gd2l0aAogICAgICB0aGUgZm9sbG93aW5nIGRldGVjdGlvbiBjdWJlcyBoYXMgYmVlbiB1c2VkOiBDaDE6IM67ZXQgPSBFbXB0eSBDaDI6IM67ZXQgPQogICAgICA2MTAgwrEgMzUgbm0gKG11bHRpYWxrYWxpIFBNVCkswqAgQ2gzOiDOu2V0ID0gNTQwIMKxIDIwIG5tIChHYUFzUCksIENoNDogzrtldCA9CiAgICAgIDQ4MCDCsSAyMCBubSAoR2FBc1ApLiBXaGF0IGRvIHdlIHNlZSBpbiBlYWNoIGNoYW5uZWw6IOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCiAgICAgIENoYW5uZWwgMS4gTi9BIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENoYW5uZWwgMi4gNzUwOiBBbGV4YS01OTQgYWxidW1pbiwgUHJvcGlkaXVtCiAgICAgIElvZGlkZSAob25seSBwcmVzZW50IGluIERheSAwKS4gQm90aCB3ZXJlIGluamVjdGVkIHJldHJvb3JiaXRhbGx5IHVuZGVyCiAgICAgIGlzb2ZsdXJhbmUgYmVmb3JlIHRoZSBpbWFnaW5nIHNlc3Npb24uIFBER0ZSzrLigJNTYWxzYTZGIHNpZ25hbCAod2VhaykuIDk0MDoKICAgICAgUERHRlLOsuKAk1NhbHNhNkYgc2lnbmFsIChzdHJvbmcpLiDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsIDMuIDc1MDogUmVuYWwKICAgICAgZXBpdGhlbGlhbCBhdXRvZmx1b3Jlc2NlbmNlLSBlbmRvZ2Vub3VzIHNpZ25hbC4gUERHRlLOsuKAk1NhbHNhNkYgc2lnbmFsCiAgICAgICh3ZWFrKS4gOTQwOiBSZW5hbCBlcGl0aGVsaWFsIGF1dG9mbHVvcmVzY2VuY2UtIGVuZG9nZW5vdXMgc2lnbmFsLgogICAgICBQREdGUs6y4oCTU2Fsc2E2RiBzaWduYWwgKHN0cm9uZykuIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENoYW5uZWwgNC4gNzUwOiBSZW5hbAogICAgICBlcGl0aGVsaWFsIGF1dG9mbHVvcmVzY2VuY2UtIGVuZG9nZW5vdXMgc2lnbmFsLiA5NDA6IENvbGxhZ2VuIGZpYmVycwogICAgICBpbWFnZXMgdmlhIHNlY29uZCBoYXJtb25pYyBnZW5lcmF0aW9uIChTSEcpLSBlbmRvZ2Vub3VzIHNpZ25hbC4gQ2hhbm5lbCAxLAogICAgICB3aGljaCBkaWQgbm90IGNvbnZleSByZWxldmFudCBwaHlzaW9sb2dpY2FsIHNpZ25hbHMsIHdhcyBvY2Nhc2lvbmFsbHkKICAgICAgZGlzYWJsZWQgZHVyaW5nIGFjcXVpc2l0aW9uIHRvIG9wdGltaXplIGRhdGEgc3RvcmFnZSBhbmQgbWluaW1pemUgZmlsZQogICAgICBzaXplLiBJbiB0aG9zZSBjYXNlcywgb25seSAzIGNoYW5uZWxzIGFyZSBwcmVzZW50IGluIHRoZSBmaWxlLiAyXCkgZm9yCiAgICAgIHN1YmplY3QgSUQ6IDAwOCwgMDA5LCAwMTAsIHRoZSBCcnVrZXIgc3lzdGVtIHdpdGggdGhlIGZvbGxvd2luZyBkZXRlY3Rpb24KICAgICAgY3ViZXMgaGFzIGJlZW4gdXNlZDogQ2gxOiDOu2V0ID0gRW1wdHkgQ2gyOiDOu2V0ID0gNTk1IMKxIDUwIG5tIChHYUFzUCkswqAKICAgICAgQ2gzOiDOu2V0ID0gNTI1IMKxIDUwIG5tIChHYUFzUCksIENoNDogzrtldCA9IDQ2MCDCsSA1MCBubSAoR2FBc1ApLiBXaGF0IGRvIHdlCiAgICAgIHNlZSBpbiBlYWNoIGNoYW5uZWw6IOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENoYW5uZWwgMS4gTi9BIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENoYW5uZWwKICAgICAgMi4gNzUwOiBBbGV4YS01OTQgYWxidW1pbiwgUHJvcGlkaXVtIElvZGlkZSAob25seSBwcmVzZW50IGluIERheSAwKS4gQm90aAogICAgICB3ZXJlIGluamVjdGVkIHJldHJvb3JiaXRhbGx5IHVuZGVyIGlzb2ZsdXJhbmUgYmVmb3JlIHRoZSBpbWFnaW5nIHNlc3Npb24uCiAgICAgIFBER0ZSzrLigJNTYWxzYTZGIHNpZ25hbCAod2VhaykuIDk0MDogUERHRlLOsuKAk1NhbHNhNkYgc2lnbmFsIChzdHJvbmcpLgogICAgICDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsIDMuIDc1MDogUmVuYWwgZXBpdGhlbGlhbCBhdXRvZmx1b3Jlc2NlbmNlLQogICAgICBlbmRvZ2Vub3VzIHNpZ25hbC4gOTQwOiBSZW5hbCBlcGl0aGVsaWFsIGF1dG9mbHVvcmVzY2VuY2UtIGVuZG9nZW5vdXMKICAgICAgc2lnbmFsLiDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsIDQuIDc1MDogUmVuYWwgZXBpdGhlbGlhbCBhdXRvZmx1b3Jlc2NlbmNlLQogICAgICBlbmRvZ2Vub3VzIHNpZ25hbC4gOTQwOiBDb2xsYWdlbiBmaWJlcnMgaW1hZ2VzIHZpYSBzZWNvbmQgaGFybW9uaWMKICAgICAgZ2VuZXJhdGlvbiAoU0hHKS0gZW5kb2dlbm91cyBzaWduYWwuIENoYW5uZWwgMSwgd2hpY2ggZGlkIG5vdCBjb252ZXkKICAgICAgcmVsZXZhbnQgcGh5c2lvbG9naWNhbCBzaWduYWxzLCB3YXMgb2NjYXNpb25hbGx5IGRpc2FibGVkIGR1cmluZwogICAgICBhY3F1aXNpdGlvbiB0byBvcHRpbWl6ZSBkYXRhIHN0b3JhZ2UgYW5kIG1pbmltaXplIGZpbGUgc2l6ZS4gSW4gdGhvc2UKICAgICAgY2FzZXMgb25seSAzIGNoYW5uZWxzIGFyZSBwcmVzZW50IGluIHRoZSBmaWxlLiAqKiMgTm9tZW5jbGF0dXJlKiogRmlsZQogICAgICBub21lbmNsYXR1cmUgc3BlY2lmaWVzIHRoZSByZXF1aXJlZCBpbmZvcm1hdGlvbiB0byBhbGxvY2F0ZSBhbnkgaW1hZ2luZwogICAgICBmaWxlIHRvIHRoZSByZWxldmFudCBwcm90b2NvbCBkZXRhaWxzLCBzZXBhcmF0ZWQgYnkgYW4gdW5kZXJzY29yZSBzaWduCiAgICAgICjigJxf4oCcKS4g4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBaU2VyaWVzOiBzY2FuIHR5cGUsIHZvbHVtZXRyaWMKICAgICAgYWNxdWlzaXRpb24g4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBJRDB4eDogc3ViamVjdCBleHBlcmltZW50YWwgSUQKICAgICAg4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRk9WeDogdW5pcXVlIEZPViB3aXRoaW4gZWFjaCBleHBlcmltZW50YWwgc3ViamVjdC4gRWFjaCBGT1YKICAgICAgaGFzIGJlZW4gc2VyaWFsbHkgaW1hZ2VkIG92ZXIgZGlmZmVyZW50IGRheXMgZnJvbSBwYXJ0aWFsIElSSQogICAgICDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIER4eDogZGF5cyBmcm9tIHBhcnRpYWwgSVJJIGRpc2Vhc2UgbW9kZWwKICAgICAg4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBXTHh4OiB0aGUgd2F2ZWxlbmd0aCB1c2VkIHRvIGV4Y2l0ZS4gRWl0aGVyCiAgICAgIDc1MCBubSBvciA5NDAgbm0uIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRWFjaCBmaWxlIG5hbWUgZW5kcyB3aXRoIHRoZQogICAgICBmaWxlIGFjcXVpc2l0aW9uIGRhdGUgb24gdGhlIGZvcm1hdCBERE1NWVlZIMKgKiojIFN1YmplY3Qtc3BlY2lmaWMKICAgICAgZGV2aWF0aW9ucyoqIE9uIHRoZSAzLXdlZWsgZm9sbG93LXVwIHByb3RvY29scywgaW1hZ2luZyBkYXlzIDE0IHRvIDIxIGZyb20KICAgICAgcGFydGlhbCBJUkkgcmVxdWlyZWQgaW1hZ2luZyBkZWVwZXIgdG8gbG9jYXRlIHRoZSB0dWJ1bGFyIHN0cnVjdHVyZSwgd2hpY2gKICAgICAgd2FzIGltYWdlZCBzZXJpYWxseSBvdmVyIHRoZSBpbml0aWFsIHdlZWsgZnJvbSBwYXJ0aWFsIElSSS4gRk9WcyBmcm9tCiAgICAgIHRob3NlIGRheXMgbWF5IGluY2x1ZGUgdm9sdW1ldHJpYyBpbWFnZSBzZXF1ZW5jZXMgbGFyZ2VyIHRoYW4gNjAgaW1hZ2VzLgogICAgICBMaWtld2lzZSwgdGhlIGxhc2VyIHBvd2VyIHVzZWQgdG8gZXhjaXRlIGhhcyBhbHNvIGJlZW4gaW5jcmVhc2VkLiAjIyMjCiAgICAgICoqRmlsZTogRGF0YXNldF8wMDJfTGFzZXJfSW5qdXJ5LnppcCoqIERlc2NyaXB0aW9uOiBTZXJpYWwgKmluIHZpdm8qCiAgICAgIGltYWdpbmcgdmlhIHR3by1waG90b24gbWljcm9zY29weSBhbmQgZ2VuZXRpYyBpZGVudGlmaWNhdGlvbiBvZiBQREdGUs6yCiAgICAgIGNlbGxzIGluIGtpZG5leXMgdW5kZXJnb2luZyBsYXNlci1pbmR1Y2VkIHR1YnVsYXIgaW5qdXJ5LiAqKiMgV2hhdCBlYWNoCiAgICAgIGltYWdpbmcgZmlsZSByZXByZXNlbnRzKiogVm9sdW1ldHJpYyBpbWFnZSBzZXJpZXMgb2YgcmVuYWwgY29ydGV4IChtaWNlKSwKICAgICAgYXBwcm94aW1hdGVseSA2MCDCtW0gZGVwdGgsIHN0ZXAgc2l6ZSAxLTIgwrVtLiBUaGUgc3RhcnRpbmcgaW1hZ2luZyBsb2NhdGlvbgogICAgICB3YXMgc2VsZWN0ZWQgYXQgdGhlIGRlcHRoIG9mIHRoZSByZW5hbCBjYXBzdWxlIChpZGVudGlmaWVkIHZpYSBzZWNvbmQKICAgICAgaGFybW9uaWMgZ2VuZXJhdGlvbiwgZGlzcGxheWVkIGluIGJsdWUsIGluIHRoZSA5NDAgZXhjaXRhdGlvbiBmaWxlcykuICoqIwogICAgICBDb2xvciBTY2hlbWUqKiBJbWFnZXMgd2VyZSBhY3F1aXJlZCB1c2luZyBib3RoIDc1MCBubSBhcyBleGNpdGF0aW9uCiAgICAgIHdhdmVsZW5ndGgsIGFuZCA5NDAgbm0gYXMgZXhjaXRhdGlvbiB3YXZlbGVuZ3RoLiBGb3IgZWFjaCBGaWVsZCBvZiB2aWV3LAogICAgICB0aGVyZSBpcyBhIGZpbGUgZm9yIHRoZSA3NTAgZXhjaXRhdGlvbiBhbmQgOTQwIGV4Y2l0YXRpb24gdHJhY2suIEZvciBlYWNoCiAgICAgIGV4Y2l0YXRpb24gdHJhY2ssIGxpZ2h0IGhhcyBiZWVuIGNvbGxlY3RlZCBpbiBlaXRoZXIgMyBvciA0IGRpZmZlcmVudAogICAgICBjaGFubmVscy4gQ2gxOiDOu2V0ID0gRW1wdHkgQ2gyOiDOu2V0ID0gNjEwIMKxIDM1IG5tIChtdWx0aWFsa2FsaSBQTVQpLMKgIENoMzoKICAgICAgzrtldCA9IDU0MCDCsSAyMCBubSAoR2FBc1ApLCBDaDQ6IM67ZXQgPSA0ODAgwrEgMjAgbm0gKEdhQXNQKS4gV2hhdCBkbyB3ZSBzZWUKICAgICAgaW4gZWFjaCBjaGFubmVsOiDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsIDEuIE4vQSDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsIDIuCiAgICAgIDc1MDogQWxleGEtNTk0IGFsYnVtaW4sIFByb3BpZGl1bSBJb2RpZGUuIEJvdGggd2VyZSBpbmplY3RlZAogICAgICByZXRyb29yYml0YWxseSB1bmRlciBpc29mbHVyYW5lIGJlZm9yZSB0aGUgaW1hZ2luZyBzZXNzaW9uLiBQREdGUs6y4oCTU2Fsc2E2RgogICAgICBzaWduYWwgKHdlYWspLiA5NDA6IFBER0ZSzrLigJNTYWxzYTZGIHNpZ25hbCAoc3Ryb25nKS4g4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ2hhbm5lbAogICAgICAzLiA3NTA6IFJlbmFsIGVwaXRoZWxpYWwgYXV0b2ZsdW9yZXNjZW5jZS0gZW5kb2dlbm91cyBzaWduYWwuCiAgICAgIFBER0ZSzrLigJNTYWxzYTZGIHNpZ25hbCAod2VhaykuIDk0MDogUmVuYWwgZXBpdGhlbGlhbCBhdXRvZmx1b3Jlc2NlbmNlLQogICAgICBlbmRvZ2Vub3VzIHNpZ25hbC4gUERHRlLOsuKAk1NhbHNhNkYgc2lnbmFsIChzdHJvbmcpLiDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsCiAgICAgIDQuIDc1MDogUmVuYWwgZXBpdGhlbGlhbCBhdXRvZmx1b3Jlc2NlbmNlLSBlbmRvZ2Vub3VzIHNpZ25hbC4gOTQwOgogICAgICBDb2xsYWdlbiBmaWJlcnMgaW1hZ2VzIHZpYSBzZWNvbmQgaGFybW9uaWMgZ2VuZXJhdGlvbiAoU0hHKS0gZW5kb2dlbm91cwogICAgICBzaWduYWwuIENoYW5uZWwgMSwgd2hpY2ggZGlkIG5vdCBjb252ZXkgcmVsZXZhbnQgcGh5c2lvbG9naWNhbCBzaWduYWxzLAogICAgICB3YXMgb2NjYXNpb25hbGx5IGRpc2FibGVkIGR1cmluZyBhY3F1aXNpdGlvbiB0byBvcHRpbWl6ZSBkYXRhIHN0b3JhZ2UgYW5kCiAgICAgIG1pbmltaXplIGZpbGUgc2l6ZS4gSW4gdGhvc2UgY2FzZXMsIG9ubHkgMyBjaGFubmVscyBhcmUgcHJlc2VudCBpbiB0aGUKICAgICAgZmlsZS4gKiojIE5vbWVuY2xhdHVyZSoqIEZpbGUgbm9tZW5jbGF0dXJlIHNwZWNpZmllcyB0aGUgcmVxdWlyZWQKICAgICAgaW5mb3JtYXRpb24gdG8gYWxsb2NhdGUgYW55IGltYWdpbmcgZmlsZSB0byB0aGUgcmVsZXZhbnQgcHJvdG9jb2wgZGV0YWlscywKICAgICAgc2VwYXJhdGVkIGJ5IGFuIHVuZGVyc2NvcmUgc2lnbiAo4oCcX+KAnCkuIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKICAgICAgWlNlcmllczogc2NhbiB0eXBlLCB2b2x1bWV0cmljIGFjcXVpc2l0aW9uIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKICAgICAgSUQweHg6IHN1YmplY3QgZXhwZXJpbWVudGFsIElEIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEZPVng6IHVuaXF1ZSBGT1Ygd2l0aGluIGVhY2gKICAgICAgZXhwZXJpbWVudGFsIHN1YmplY3QuIEVhY2ggRk9WIGhhcyBiZWVuIHNlcmlhbGx5IGltYWdlZCBvdmVyIGRpZmZlcmVudAogICAgICBkYXlzIGZyb20gcGFydGlhbCBJUkkg4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEeHg6IGRheXMgZnJvbSBwYXJ0aWFsCiAgICAgIElSSSBkaXNlYXNlIG1vZGVsIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgV0x4eDogdGhlIHdhdmVsZW5ndGggdXNlZCB0bwogICAgICBleGNpdGUuIEVpdGhlciA3NTAgbm0gb3IgOTQwIG5tLiDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEVhY2ggZmlsZQogICAgICBuYW1lIGVuZHMgd2l0aCB0aGUgZmlsZSBhY3F1aXNpdGlvbiBkYXRlIGluIGZvcm1hdCBERE1NWVlZICoqRmlsZToKICAgICAgRGF0YXNldF8wMDNfQ29udHJvbC56aXAqKiBEZXNjcmlwdGlvbjogU2VyaWFsIGludHJhdml0YWwgaW1hZ2luZyB2aWEKICAgICAgMi1waG90b24gbWljcm9zY29weSBhbmQgZ2VuZXRpYyBpZGVudGlmaWNhdGlvbiBvZiBQREdGUs6yIGNlbGxzIGluIGtpZG5leXMKICAgICAgdW5kZXJnb2luZyBzaGFtIGlzY2hlbWlhLXJlcGVyZnVzaW9uIGluanVyeSAoSVJJKSBzdXJnZXJ5LiAqKiMgV2hhdCBlYWNoCiAgICAgIGltYWdpbmcgZmlsZSByZXByZXNlbnRzKiogVm9sdW1ldHJpYyBpbWFnZSBzZXJpZXMgb2YgcmVuYWwgY29ydGV4IChtaWNlKSwKICAgICAgYXBwcm94aW1hdGVseSA2MCDCtW0gZGVwdGgsIHN0ZXAgc2l6ZSAxLTIgwrVtLiBUaGUgc3RhcnRpbmcgaW1hZ2luZyBsb2NhdGlvbgogICAgICB3YXMgc2VsZWN0ZWQgYXQgdGhlIGRlcHRoIG9mIHRoZSByZW5hbCBjYXBzdWxlIChpZGVudGlmaWVkIHZpYSBzZWNvbmQKICAgICAgaGFybW9uaWMgZ2VuZXJhdGlvbiwgZGlzcGxheWVkIGluIGJsdWUsIGluIHRoZSA5NDAgZXhjaXRhdGlvbiBmaWxlcykuICoqIwogICAgICBDb2xvciBTY2hlbWUqKiBJbWFnZXMgd2VyZSBhY3F1aXJlZCB1c2luZyBib3RoIDc1MCBubSBhcyBleGNpdGF0aW9uCiAgICAgIHdhdmVsZW5ndGgsIGFuZCA5NDAgbm0gYXMgZXhjaXRhdGlvbiB3YXZlbGVuZ3RoLiBGb3IgZWFjaCBGaWVsZCBvZiB2aWV3LAogICAgICB0aGVyZSBpcyBhIGZpbGUgZm9yIHRoZSA3NTAgZXhjaXRhdGlvbiBhbmQgOTQwIGV4Y2l0YXRpb24gdHJhY2suIEZvciBlYWNoCiAgICAgIGV4Y2l0YXRpb24gdHJhY2ssIGxpZ2h0IGhhcyBiZWVuIGNvbGxlY3RlZCBpbiBlaXRoZXIgMyBvciA0IGRpZmZlcmVudAogICAgICBjaGFubmVscy4gRm9yIGFsbCBzdWJqZWN0IElEcywgdGhlIE9seW1wdXMgc3lzdGVtIHdpdGggdGhlIGZvbGxvd2luZwogICAgICBkZXRlY3Rpb24gY3ViZXMgaGFzIGJlZW4gdXNlZDogQ2gxOiDOu2V0ID0gRW1wdHkgQ2gyOiDOu2V0ID0gNjEwIMKxIDM1IG5tCiAgICAgIChtdWx0aWFsa2FsaSBQTVQpLMKgIENoMzogzrtldCA9IDU0MCDCsSAyMCBubSAoR2FBc1ApLCBDaDQ6IM67ZXQgPSA0ODAgwrEgMjAgbm0KICAgICAgKEdhQXNQKS4gV2hhdCBkbyB3ZSBzZWUgaW4gZWFjaCBjaGFubmVsOiDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsIDEuIE4vQQogICAgICDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsIDIuIDc1MDogQWxleGEtNTk0IGFsYnVtaW4sIFByb3BpZGl1bSBJb2RpZGUgKG9ubHkKICAgICAgcHJlc2VudCBpbiBEYXkgMCkuIEJvdGggd2VyZSBpbmplY3RlZCByZXRyb29yYml0YWxseSB1bmRlciBpc29mbHVyYW5lCiAgICAgIGJlZm9yZSB0aGUgaW1hZ2luZyBzZXNzaW9uLiBQREdGUs6y4oCTU2Fsc2E2RiBzaWduYWwgKHdlYWspLiA5NDA6CiAgICAgIFBER0ZSzrLigJNTYWxzYTZGIHNpZ25hbCAoc3Ryb25nKS4g4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ2hhbm5lbCAzLiA3NTA6IFJlbmFsCiAgICAgIGVwaXRoZWxpYWwgYXV0b2ZsdW9yZXNjZW5jZS0gZW5kb2dlbm91cyBzaWduYWwuIFBER0ZSzrLigJNTYWxzYTZGIHNpZ25hbAogICAgICAod2VhaykuIDk0MDogUmVuYWwgZXBpdGhlbGlhbCBhdXRvZmx1b3Jlc2NlbmNlLSBlbmRvZ2Vub3VzIHNpZ25hbC4KICAgICAgUERHRlLOsuKAk1NhbHNhNkYgc2lnbmFsIChzdHJvbmcpLiDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsIDQuIDc1MDogUmVuYWwKICAgICAgZXBpdGhlbGlhbCBhdXRvZmx1b3Jlc2NlbmNlLSBlbmRvZ2Vub3VzIHNpZ25hbC4gOTQwOiBDb2xsYWdlbiBmaWJlcnMKICAgICAgaW1hZ2VzIHZpYSBzZWNvbmQgaGFybW9uaWMgZ2VuZXJhdGlvbiAoU0hHKS0gZW5kb2dlbm91cyBzaWduYWwuIENoYW5uZWwgMSwKICAgICAgd2hpY2ggZGlkIG5vdCBjb252ZXkgcmVsZXZhbnQgcGh5c2lvbG9naWNhbCBzaWduYWxzLCB3YXMgb2NjYXNpb25hbGx5CiAgICAgIGRpc2FibGVkIGR1cmluZyBhY3F1aXNpdGlvbiB0byBvcHRpbWl6ZSBkYXRhIHN0b3JhZ2UgYW5kIG1pbmltaXplIGZpbGUKICAgICAgc2l6ZS4gSW4gdGhvc2UgY2FzZXMsIG9ubHkgMyBjaGFubmVscyBhcmUgcHJlc2VudCBpbiB0aGUgZmlsZS4gKiojCiAgICAgIE5vbWVuY2xhdHVyZSoqIEZpbGUgbm9tZW5jbGF0dXJlIHNwZWNpZmllcyB0aGUgcmVxdWlyZWQgaW5mb3JtYXRpb24gdG8KICAgICAgYWxsb2NhdGUgYW55IGltYWdpbmcgZmlsZSB0byB0aGUgcmVsZXZhbnQgcHJvdG9jb2wgZGV0YWlscywgc2VwYXJhdGVkIGJ5CiAgICAgIGFuIHVuZGVyc2NvcmUgc2lnbiAo4oCcX+KAnCkuIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgWlNlcmllczogc2NhbiB0eXBlLAogICAgICB2b2x1bWV0cmljIGFjcXVpc2l0aW9uIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSUQweHg6IHN1YmplY3QKICAgICAgZXhwZXJpbWVudGFsIElEIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEZPVng6IHVuaXF1ZSBGT1Ygd2l0aGluIGVhY2ggZXhwZXJpbWVudGFsCiAgICAgIHN1YmplY3QuIEVhY2ggRk9WIGhhcyBiZWVuIHNlcmlhbGx5IGltYWdlZCBvdmVyIGRpZmZlcmVudCBkYXlzIGZyb20KICAgICAgcGFydGlhbCBJUkkg4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEeHg6IGRheXMgZnJvbSBwYXJ0aWFsIElSSSBkaXNlYXNlCiAgICAgIG1vZGVsIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgV0x4eDogdGhlIHdhdmVsZW5ndGggdXNlZCB0byBleGNpdGUuCiAgICAgIEVpdGhlciA3NTAgbm0gb3IgOTQwIG5tLiDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEVhY2ggZmlsZSBuYW1lIGVuZHMKICAgICAgd2l0aCB0aGUgZmlsZSBhY3F1aXNpdGlvbiBkYXRlIGluIHRoZSBmb3JtYXQgRERNTVlZWSDCoCoqIyBTdWJqZWN0LXNwZWNpZmljCiAgICAgIGRldmlhdGlvbnMqKiBPbiB0aGUgMy13ZWVrIGZvbGxvdy11cCBwcm90b2NvbHMsIGltYWdpbmcgZGF5cyAxNCB0byAyMSBmcm9tCiAgICAgIHBhcnRpYWwgSVJJIHJlcXVpcmVkIGltYWdpbmcgZGVlcGVyIHRvIGxvY2F0ZSB0aGUgdHVidWxhciBzdHJ1Y3R1cmUsIHdoaWNoCiAgICAgIHdhcyBpbWFnZWQgc2VyaWFsbHkgb3ZlciB0aGUgaW5pdGlhbCB3ZWVrIGZyb20gcGFydGlhbCBJUkkuIEZPVnMgZnJvbQogICAgICB0aG9zZSBkYXlzIG1heSBpbmNsdWRlIHZvbHVtZXRyaWMgaW1hZ2Ugc2VxdWVuY2VzIGxhcmdlciB0aGFuIDYwIGltYWdlcy4KICAgICAgTGlrZXdpc2UsIHRoZSBsYXNlciBwb3dlciB1c2VkIHRvIGV4Y2l0ZSBoYXMgYWxzbyBiZWVuIGluY3JlYXNlZC4gKipGaWxlOgogICAgICBEYXRhc2V0XzAwNF9WY2FtMUtpbTEuemlwKiogRGVzY3JpcHRpb246wqBFeCB2aXZvIGltYWdpbmcgb2YgaHVtYW4gYmlvcHNpZXMKICAgICAgZnJvbSBraWRuZXkgdHJhbnNwbGFudGF0aW9ucyBzdGFpbmVkIGZvciBLaW0xIGFuZCBWY2FtMS4gKiojIFdoYXQgZWFjaAogICAgICBpbWFnaW5nIGZpbGUgcmVwcmVzZW50cyoqIFNpbmdsZSBpbWFnZSBvZiBhIGh1bWFuIGtpZG5leSBiaW9wc3kgc3RhaW5lZAogICAgICBmb3IgZWl0aGVyIFZjYW0xIG9yIEtpbTEuICoqIyBDb2xvciBTY2hlbWUqKiBCaW9wc2llcyB3ZXJlIGltYWdlZCB3aXRoIGFuCiAgICAgIGVtaXNzaW9uIHdhdmVsZW5ndGggb2YgNTE4IG5tLCA0NTUgbm0sIGFuZCA1NjUgbm0sIGNvcnJlc3BvbmRpbmcgdG8KICAgICAgY2hhbm5lbCAxLCAyLCBhbmQgMyBpbiB0aGUgaW1hZ2VzIG9mIFZjYW0xIGFuZCBjaGFubmVsIDIsIDEsIGFuZCAzIGZvcgogICAgICBLaW0xLiAqKlZjYW0xKiogQ2gxOiDOu2V0ID0gRW1pc3Npb24gd2F2ZWxlbmd0aDogNTE4IG5tIENoMjogzrtldCA9IEVtaXNzaW9uCiAgICAgIHdhdmVsZW5ndGg6IDQ1NSBubSBDaDM6IM67ZXQgPSBFbWlzc2lvbiB3YXZlbGVuZ3RoOiA1NjUgbm0gV2hhdCBkbyB3ZSBzZWUKICAgICAgaW4gZWFjaCBjaGFubmVsOiDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsIDEuIEF1dG9mbHVvcmVzY2VuY2UgZnJvbSBraWRuZXkKICAgICAgdHVidWxlcyAoZ3JlZW4pIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENoYW5uZWwgMi4gSG9lY2hzdCBzdGFpbmluZyAoYmx1ZSkKICAgICAg4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ2hhbm5lbCAzLiBWY2FtMSBzdGFpbmluZyAocmVkKSAqKktpbTEqKiBDaDE6IM67ZXQgPQogICAgICBFbWlzc2lvbiB3YXZlbGVuZ3RoOiA0NTUgbm0gQ2gyOiDOu2V0ID0gRW1pc3Npb24gd2F2ZWxlbmd0aDogNTE4IG5tIENoMzoKICAgICAgzrtldCA9IEVtaXNzaW9uIHdhdmVsZW5ndGg6IDU2NSBubSBXaGF0IGRvIHdlIHNlZSBpbiBlYWNoIGNoYW5uZWw6CiAgICAgIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENoYW5uZWwgMS4gSG9lY2hzdCBzdGFpbmluZyAoYmx1ZSkg4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ2hhbm5lbAogICAgICAyLiBhdXRvZmx1b3Jlc2NlbmNlIGZyb20ga2lkbmV5IHR1YnVsZXMgKGdyZWVuKSDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsIDMuCiAgICAgIEtpbTEgc3RhaW5pbmcgKHJlZCkgKiojIE5vbWVuY2xhdHVyZSoqIEZpbGUgbm9tZW5jbGF0dXJlIHNwZWNpZmllcyB0aGUKICAgICAgcmVxdWlyZWQgaW5mb3JtYXRpb24gdG8gYWxsb2NhdGUgYW55IGltYWdpbmcgZmlsZSB0byB0aGUgcmVsZXZhbnQgcHJvdG9jb2wKICAgICAgZGV0YWlscywgc2VwYXJhdGVkIGJ5IGFuIHVuZGVyc2NvcmUgc2lnbiAo4oCcX+KAnCkuIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFZjYW0xL0tpbTE6CiAgICAgIHN0YWluaW5nIG9mIGVpdGhlciBWY2FtMSBvciBLaW0xIOKAosKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIElEeHh4OiByYW5kb21pemVkIElECiAgICAgIG51bWJlciAqKkZpbGU6IERhdGFzZXRfMDA1X0V4IHZpdm8uemlwKiogRGVzY3JpcHRpb246IEV4IHZpdm8gaW1hZ2VzIG9mCiAgICAgIHN0YWluZWQga2lkbmV5IHNlY3Rpb25zIDQgZGF5cywgNyBkYXlzLCBhbmQgMjEgZGF5cyBhZnRlciBwYXJ0aWFsIElSSS4KICAgICAgU2VjdGlvbnMgd2VyZSBzdGFpbmVkIGZvciBWY2FtMSwgQ0Q2OCwgUENLMSwgzrFTTUEsIFBER0ZSzrIsIGFuZCBQaWNyb3Npcml1cwogICAgICBSZWQuIEltYWdlcyBoYXZlIGJlZW4gYWNxdWlyZWQgaW4gdGhlIElSSSBhcmVhIG9yIGluIHRoZSBub24tSVJJIGFyZWEuIERheQogICAgICA0IGRhdGEgYXJlIGZyb20gNCBkaWZmZXJlbnQgbWljZSAoMzA4NywgMzA4OCwgMzA4OSwgMzA5MCkgRGF5IDcgZGF0YSBhcmUKICAgICAgZnJvbSAzIGRpZmZlcmVudCBtaWNlICgyOTI5LCAyOTM1LCAyOTM3KSBEYXkgMjEgZGF0YSBhcmUgZnJvbSAzIGRpZmZlcmVudAogICAgICBtaWNlICgyODkzLCAyODk1LCAyODk2KSBTYW1wbGVzIHdlcmUgc3RhaW5lZCBmb3IgzrFTTUEgdG9nZXRoZXIgd2l0aAogICAgICBQREdGUs6yLiBTYW1wbGVzIHdlcmUgc3RhaW5lZCBmb3IgQ0Q2OCB0b2dldGhlciB3aXRoIFZjYW0xLiBTYW1wbGVzIHdlcmUKICAgICAgc3RhaW5lZCBmb3IgUEtDMSB0b2dldGhlciB3aXRoIFZjYW0xLiAqKiMgV2hhdCBlYWNoIGltYWdpbmcgZmlsZQogICAgICByZXByZXNlbnRzKiogU2luZ2xlIGltYWdlcyBvZiByZW5hbCBjb3J0ZXggKG1pY2UpIHN0YWluZWQgZm9yIFZjYW0xLCBDRDY4LAogICAgICBQS0MxLCDOsVNNQSwgUERHRlLOsiwgYW5kIFNpcml1c1JlZC4gRWFjaCBpbWFnZSBoYXMgdGhyZWUgZGlmZmVyZW50IGNoYW5uZWxzCiAgICAgIGFzIHNwZWNpZmllZDogKiojIENvbG9yIFNjaGVtZSoqIM6xU01BL1BER0ZSzrI6IENoMTogzrtldCA9IFBER3JiIHN0YWluaW5nCiAgICAgIChyZWQpIENoMjogzrtldCA9IGFTTUEgc3RhaW5pbmcgKGdyZWVuKSBDaDM6IM67ZXQgPSBUdWJ1bGFyIGF1dG9mbHVvcmVzY2VuY2UKICAgICAgKGJsdWUpIENENjgvVmNhbTE6IENoMTogzrtldCA9IFZjYW0xIHN0YWluaW5nIChyZWQpIENoMjogzrtldCA9IENENjgKICAgICAgc3RhaW5pbmcgKGdyZWVuKSBDaDM6IM67ZXQgPSBUdWJ1bGFyIGF1dG9mbHVvcmVzY2VuY2UgKGJsdWUpIFBDSzEvVmNhbTE6CiAgICAgIENoMTogzrtldCA9IFZjYW0xIHN0YWluaW5nIChyZWQpIENoMjogzrtldCA9IFBDSzEgc3RhaW5pbmcgKGdyZWVuKSBDaDM6IM67ZXQKICAgICAgPSBUdWJ1bGFyIGF1dG9mbHVvcmVzY2VuY2UgKGJsdWUpIFBpY3Jvc2lyaXVzIFJlZDogQ2gxOiDOu2V0ID0gUGljcm9zaXJpdXMKICAgICAgUmVkIHN0YWluaW5nIChyZWQpIENoMjogzrtldCA9IFR1YnVsYXIgYXV0b2ZsdW9yZXNjZW5jZSAoZ3JlZW4pIENoMzogzrtldCA9CiAgICAgIFR1YnVsYXIgYXV0b2ZsdW9yZXNjZW5jZSAoYmx1ZSkgKipGaWxlOiBGaWxlOiBEYXRhc2V0XzAwNlxfIENvcnJlbGF0aXZlCiAgICAgIGltYWdpbmcgb2YgVmNhbTEuemlwKiogRGVzY3JpcHRpb246IENvcnJlbGF0aXZlIGltYWdpbmcgb2YgUGFydGlhbCBJUkkKICAgICAga2lkbmV5IGluIHZpdm8gYW5kIGV4IHZpdm8gc3RhaW5lZCBmb3IgVmNhbTEuIE1pY2Ugd2VyZSBpbWFnZWQgaW4gdml2byBhdAogICAgICBkYXkgNCBhZnRlciBwYXJ0aWFsIElSSSwgd2hlcmVhZnRlciB0aGV5IHdlcmUgcGVyZnVzaW9uIGZpeGVkIGFuZCB0aGUKICAgICAga2lkbmV5IHRha2VuIG91dCwgc3RhaW5lZCBmb3IgVmNhbTEsIGFuZCB0aGVuIHRoZSBzYW1lIGFyZWFzIHdlcmUgaW1hZ2VkCiAgICAgIGV4IHZpdm8uICoqIyBXaGF0IGVhY2ggaW1hZ2luZyBmaWxlIHJlcHJlc2VudHMqKiBWb2x1bWV0cmljIGltYWdlcyBvZgogICAgICByZW5hbCBjb3J0ZXggKG1pY2UpLCBhcHByb3hpbWF0ZWx5IDYwIMK1bSBkZXB0aCwgc3RlcCBzaXplIDEtMiDCtW0uIFRoZQogICAgICBzdGFydGluZyBpbWFnaW5nIGxvY2F0aW9uIHdhcyBzZWxlY3RlZCBhdCB0aGUgZGVwdGggb2YgdGhlIHJlbmFsIGNhcHN1bGUKICAgICAgKGlkZW50aWZpZWQgdmlhIHNlY29uZCBoYXJtb25pYyBnZW5lcmF0aW9uLCBkaXNwbGF5ZWQgaW4gYmx1ZSwgaW4gdGhlIDk0MAogICAgICBleGNpdGF0aW9uIGZpbGVzKS4gKiojIENvbG9yIFNjaGVtZSoqIEltYWdlcyB3ZXJlIGFjcXVpcmVkIHVzaW5nIGJvdGggNzUwCiAgICAgIG5tIGFzIGV4Y2l0YXRpb24gd2F2ZWxlbmd0aCwgYW5kIDk0MCBubSBhcyBleGNpdGF0aW9uIHdhdmVsZW5ndGggZm9yIGluCiAgICAgIHZpdm8gYW5kIDgwMCBubSBmb3IgZXggdml2by4gRm9yIGVhY2ggRmllbGQgb2YgdmlldywgdGhlcmUgaXMgYSBmaWxlIGZvcgogICAgICB0aGUgNzUwLCA4MDAsIGFuZCA5NDAgZXhjaXRhdGlvbiB0cmFja3MuIEZvciBlYWNoIGV4Y2l0YXRpb24gdHJhY2ssIGxpZ2h0CiAgICAgIGhhcyBiZWVuIGNvbGxlY3RlZCBpbiBlaXRoZXIgMyBvciA0IGRpZmZlcmVudCBjaGFubmVscy4gMVwpIGluIHZpdm8gaW1hZ2VzCiAgICAgIENoMTogzrtldCA9IEVtcHR5IENoMjogzrtldCA9IDYxMCDCsSAzNSBubSAobXVsdGlhbGthbGkgUE1UKSzCoCBDaDM6IM67ZXQgPSA1NDAKICAgICAgwrEgMjAgbm0gKEdhQXNQKSwgQ2g0OiDOu2V0ID0gNDgwIMKxIDIwIG5tIChHYUFzUCkuIFdoYXQgZG8gd2Ugc2VlIGluIGVhY2gKICAgICAgY2hhbm5lbDog4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ2hhbm5lbCAxLiBOL0Eg4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ2hhbm5lbCAyLiA3NTA6CiAgICAgIEFsZXhhLTU5NCBhbGJ1bWluLiBQREdGUs6y4oCTU2Fsc2E2RiBzaWduYWwgKHdlYWspLiA5NDA6IFBER0ZSzrLigJNTYWxzYTZGCiAgICAgIHNpZ25hbCAoc3Ryb25nKS4g4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ2hhbm5lbCAzLiA3NTA6IFJlbmFsIGVwaXRoZWxpYWwKICAgICAgYXV0b2ZsdW9yZXNjZW5jZS0gZW5kb2dlbm91cyBzaWduYWwuIFBER0ZSzrLigJNTYWxzYTZGIHNpZ25hbCAod2VhaykuIDk0MDoKICAgICAgUmVuYWwgZXBpdGhlbGlhbCBhdXRvZmx1b3Jlc2NlbmNlLSBlbmRvZ2Vub3VzIHNpZ25hbC4gUERHRlLOsuKAk1NhbHNhNkYKICAgICAgc2lnbmFsIChzdHJvbmcpLiDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsIDQuIDc1MDogUmVuYWwgZXBpdGhlbGlhbAogICAgICBhdXRvZmx1b3Jlc2NlbmNlLSBlbmRvZ2Vub3VzIHNpZ25hbC4gOTQwOiBDb2xsYWdlbiBmaWJlcnMgaW1hZ2VzIHZpYQogICAgICBzZWNvbmQgaGFybW9uaWMgZ2VuZXJhdGlvbiAoU0hHKS0gZW5kb2dlbm91cyBzaWduYWwuIENoYW5uZWwgMSwgd2hpY2ggZGlkCiAgICAgIG5vdCBjb252ZXkgcmVsZXZhbnQgcGh5c2lvbG9naWNhbCBzaWduYWxzLCB3YXMgb2NjYXNpb25hbGx5IGRpc2FibGVkCiAgICAgIGR1cmluZyBhY3F1aXNpdGlvbiB0byBvcHRpbWl6ZSBkYXRhIHN0b3JhZ2UgYW5kIG1pbmltaXplIGZpbGUgc2l6ZS4gSW4KICAgICAgdGhvc2UgY2FzZXMsIG9ubHkgMyBjaGFubmVscyBhcmUgcHJlc2VudCBpbiB0aGUgZmlsZS4gMlwpIGV4IHZpdm8gaW1hZ2VzCiAgICAgIENoMTogzrtldCA9IEVtcHR5IENoMjogzrtldCA9IDU3MCDCsSAzMCBubSAobXVsdGlhbGthbGkgUE1UKSzCoCBDaDM6IM67ZXQgPQogICAgICA1MjEsNSDCsSAxNiw1IG5tIChHYUFzUCksIENoNDogzrtldCA9IDQ1Miw1IMKxIDIyLDUgbm0gKEdhQXNQKS4gV2hhdCBkbyB3ZQogICAgICBzZWUgaW4gZWFjaCBjaGFubmVsOiDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsIDEuIE4vQSDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsCiAgICAgIDI6IFBER0ZSzrLigJNTYWxzYTZGIHNpZ25hbCDigKLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDaGFubmVsIDM6IFJlbmFsIGVwaXRoZWxpYWwKICAgICAgYXV0b2ZsdW9yZXNjZW5jZS0gZW5kb2dlbm91cyBzaWduYWwg4oCiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ2hhbm5lbCA0OiBWY2FtMQogICAgICBzdGFpbmluZyBDaGFubmVsIDEsIHdoaWNoIGRpZCBub3QgY29udmV5IHJlbGV2YW50IHBoeXNpb2xvZ2ljYWwgc2lnbmFscywKICAgICAgd2FzIG9jY2FzaW9uYWxseSBkaXNhYmxlZCBkdXJpbmcgYWNxdWlzaXRpb24gdG8gb3B0aW1pemUgZGF0YSBzdG9yYWdlIGFuZAogICAgICBtaW5pbWl6ZSBmaWxlIHNpemUuIEluIHRob3NlIGNhc2VzLCBvbmx5IDMgY2hhbm5lbHMgYXJlIHByZXNlbnQgaW4gdGhlCiAgICAgIGZpbGUuICMjIENvZGUvc29mdHdhcmUgKipXZSByZWNvbW1lbmQgb3BlbmluZyB0aGUgaW1hZ2VzIGluIEZJSkkqKiAqKkltYWdlCiAgICAgIFByb2Nlc3NpbmcqKiBUaGUgaW1hZ2VzIGhhdmUgYmVlbiBvcGVuZWQgdXNpbmcgdGhlIGZyZWUgc29mdHdhcmUgRklKSSBKYXZhCiAgICAgIHZlcnNpb246IDIuMTQuMC8xLjU0ZiBJbiBjYXNlIG9mIGJlbmRpbmcgb2YgdGhlIGZpZWxkIG9mIHZpZXcgb3ZlciB0aW1lLAogICAgICB0aGUgc2VyaWFsIGltYWdpbmcgZGF0YSB3ZXJlIHJlZ2lzdGVyZWQgdG8gZGF5IDAsIGluIG9yZGVyIHRvIHZpc3VhbGl6ZQogICAgICB0aGUgaW1hZ2VzIGluIDJEIFJlZ2lzdHJhdGlvbiBvZiBzZXJpYWwgaW1hZ2luZyBkYXRhIHdhcyBwZXJmb3JtZWQgdXNpbmcgYQogICAgICBjb21iaW5hdGlvbiBvZiBhIG1hbnVhbCBsYW5kbWFyay1iYXNlZCB2b2x1bWV0cmljIHJlZ2lzdHJhdGlvbiB3aXRoaW4gdGhlCiAgICAgIEZJSkkgcGx1Z2luIEJpZ1dhcnAgdXNpbmcgcmlnaWQgcm90YXRpb24gdHJhbnNmb3JtcywgYW5kIGludGVuc2l0eS1iYXNlZAogICAgICBtZWRpY2FsIGltYWdlIHJlZ2lzdHJhdGlvbiB1c2luZyBFbGFzdGl4LiBGb3IKICAgICAgRGF0YXNldF8wMDJfTGFzZXJfSW5qdXJ5LnppcCwgYSB0aWxlIHNjYW4gYXBwcm9hY2ggd2FzIHV0aWxpemVkIGlmIHRoZQogICAgICBkYW1hZ2VkIGFyZWEgZXhjZWVkZWQgdGhlIG5vcm1hbCBmaWVsZCBvZiB2aWV3LiBUaGVzZSB0aWxlcyB3ZXJlIGxhdGVyCiAgICAgIHN0aXRjaGVkIHVzaW5nIHRoZSBDZWxsU2VucyBzb2Z0d2FyZSAoT2x5bXB1cywgSmFwYW4pLiBGb3IgRGF0YXNldF8wMDVfRXgKICAgICAgdml2by56aXAsIHRoZSB0aWxlc2NhbiBmdW5jdGlvbiBoYXMgbGlrZXdpc2Ugb2NjYXNpb25hbGx5IGJlZW4gdXNlZCB0bwogICAgICBzaG93IGJpZyBvdmVydmlld3MuIE5vIG90aGVyIHByb2Nlc3NpbmcgaGFzIGJlZW4gcGVyZm9ybWVkIG9uIHRoZSBpbWFnZXMKICAgICAgdXBsb2FkZWQgaW4gdGhpcyBkYXRhc2V0LiAjIyBBY2Nlc3MgaW5mb3JtYXRpb24gT3RoZXIgcHVibGljbHkgYWNjZXNzaWJsZQogICAgICBsb2NhdGlvbnMgb2YgdGhlIGRhdGE6ICogTm9uZS4gVGhlIGJpb2xvZ2ljYWwgaW50ZXJwcmV0YXRpb24gb2YgdGhlIGRhdGEKICAgICAgaXMgZGVzY3JpYmVkIGluIGRldGFpbCBpbiB0aGUgYXNzb2NpYXRlZCBtYW51c2NyaXB0LiBEYXRhIHdhcyBkZXJpdmVkIGZyb20KICAgICAgdGhlIGZvbGxvd2luZyBzb3VyY2VzOiAqIEFsbCBkYXRhIHByZXNlbnRlZCBpbiB0aGlzIGRhdGFzZXQgd2VyZSBhY3F1aXJlZAogICAgICBieSB0aGUgYXV0aG9ycyB1c2luZyB0aGUgZXhwZXJpbWVudGFsIDItcGhvdG9uIG1pY3Jvc2NvcHkgZmFjaWxpdGllcwogICAgICBwcm92aWRlZCBieSB0aGUgSGVhbHRoIEJpb2ltYWdpbmcgQ29yZSBmYWNpbGl0eSBhdCBBYXJodXMgVW5pdmVyc2l0eSBhbmQKICAgICAgdGhlIENlbnRlciBmb3IgRnVuY3Rpb25hbGx5IGFuZCBJbnRlZ3JhdGl2ZSBOZXVyb3NjaWVuY2UgKENGSU4pLCBBYXJodXMKICAgICAgVW5pdmVyc2l0eQogICAgPC9kZXNjcmlwdGlvbj4KICA8L2Rlc2NyaXB0aW9ucz4KPC9yZXNvdXJjZT4=","url":"https://datadryad.org/dataset/doi:10.5061/dryad.9zw3r22tn","contentUrl":null,"metadataVersion":2,"schemaVersion":"http://datacite.org/schema/kernel-4","source":"mds","isActive":true,"state":"findable","reason":null,"viewCount":56,"viewsOverTime":[{"yearMonth":"2025-09","total":5},{"yearMonth":"2025-10","total":3},{"yearMonth":"2025-11","total":1},{"yearMonth":"2025-12","total":4},{"yearMonth":"2026-01","total":5},{"yearMonth":"2026-03","total":12},{"yearMonth":"2026-04","total":5},{"yearMonth":"2026-05","total":2},{"yearMonth":"2026-07","total":4},{"yearMonth":"2026-08","total":7},{"yearMonth":"2026-09","total":8}],"downloadCount":12,"downloadsOverTime":[{"yearMonth":"2025-09","total":1},{"yearMonth":"2025-10","total":0},{"yearMonth":"2025-11","total":0},{"yearMonth":"2025-12","total":0},{"yearMonth":"2026-01","total":1},{"yearMonth":"2026-03","total":9},{"yearMonth":"2026-04","total":0},{"yearMonth":"2026-05","total":0},{"yearMonth":"2026-07","total":0},{"yearMonth":"2026-08","total":0},{"yearMonth":"2026-09","total":1}],"referenceCount":0,"citationCount":1,"citationsOverTime":[{"year":"2026","total":1}],"partCount":0,"partOfCount":0,"versionCount":0,"versionOfCount":0,"created":"2025-09-19T14:56:40.000Z","registered":"2025-09-19T14:56:41.000Z","published":"2025","updated":"2026-01-29T00:42:17.000Z"},"relationships":{"client":{"data":{"id":"dryad.dryad","type":"clients"}},"provider":{"data":{"id":"dryad","type":"providers"}},"media":{"data":{"id":"10.5061/dryad.9zw3r22tn","type":"media"}},"references":{"data":[]},"citations":{"data":[{"id":"10.1126/sciadv.adz5358","type":"dois"}]},"parts":{"data":[]},"partOf":{"data":[]},"versions":{"data":[]},"versionOf":{"data":[]}}}}