Darmowy szablon automatyzacji

Generator raportów SEO dla stron usługowych na wysokim poziomie

89
25 dni temu
33
bloków


High-Level Service Page SEO Blueprint Report

Wprowadzenie

Workflow "High-Level Service Page SEO Blueprint Report" to zaawansowane, oparte na AI rozwiązanie stworzone do generowania kompleksowych strategii treści SEO dla biznesów opartych na usługach. Analizując strony konkurencji oraz intencje użytkowników, tworzy szczegółowy blueprint zawierający optymalną strukturę, treści i elementy konwersji dla strony usługowej.

Dla kogo jest to rozwiązanie?

Workflow został zaprojektowany dla specjalistów marketingu cyfrowego, ekspertów SEO, strategów treści oraz web developerów, którzy zajmują się tworzeniem i optymalizacją stron usługowych. Szczególnie przydatny będzie dla agencji marketingowych i freelancerów pracujących z klientami z różnych branż.

  • Specjaliści SEO
  • Agencje marketingowe
  • Freelancerzy
  • Content marketerzy
  • Web developerzy

Rozwiązywane problemy

Workflow rozwiązuje kluczowe wyzwania związane z tworzeniem skutecznych stron usługowych:

  • Automatyzacja czasochłonnej analizy konkurencji
  • Identyfikacja luk w treściach
  • Równoważenie elementów SEO i konwersji
  • Strukturyzowane podejście do tworzenia treści
  • Przekształcanie analiz w konkretne rekomendacje

Funkcjonalności workflow

Przegląd

Workflow analizuje listę URLi konkurencji i słowo kluczowe, generując kompleksowy blueprint strony usługowej. Proces obejmuje ekstrakcję treści, analizę intencji użytkowników, identyfikację strategicznych okazji oraz tworzenie rekomendacji dotyczących struktury strony.

Proces

  1. Zbieranie danych poprzez formularz
  2. Ekstrakcja treści konkurencji
  3. Analiza struktury treści
  4. Raport analizy konkurencji
  5. Analiza intencji użytkowników
  6. Analiza luk w treściach
  7. Generowanie struktury strony
  8. Rekomendacje UX i konwersji
  9. Tworzenie finalnego blueprintu

Konfiguracja

  1. Zaimportuj plik JSON workflow do n8n
  2. Utwórz klucz API JINA Reader
  3. Skonfiguruj dane dostępowe Google Gemini
  4. Zaktualizuj node "Edit Fields"
  5. Aktywuj workflow i rozpocznij od triggera formularza
  6. Wypełnij formularz danymi
  7. Pobierz wygenerowany plik .txt

Dostosowanie workflow

  • Modyfikacja parametrów AI
  • Dostosowanie logiki ekstrakcji
  • Edycja promptów analitycznych
  • Dodanie wskazówek branżowych
  • Integracja z systemami CMS
  • Dodanie systemu oceny konkurencji
  • Rozszerzenie zakresu analiz

Przykłady zastosowań

Workflow "High-Level Service Page SEO Blueprint Report" znajduje zastosowanie w wielu scenariuszach związanych z tworzeniem i optymalizacją stron usługowych:

  • Tworzenie nowych stron usługowych opartych na danych
  • Optymalizacja istniejących stron pod kątem SEO
  • Benchmarking konkurencji w różnych branżach
  • Przygotowywanie strategii content marketingowych
  • Audyty treści pod kątem skuteczności konwersji
  • Tworzenie dokumentacji dla klientów
  • Standaryzacja procesów w agencjach marketingowych


   Skopiuj kod szablonu   
{"id":"WETMyIJCbD3et6Rh","meta":{"instanceId":"ddfdf733df99a65c801a91865dba5b7c087c95cc22a459ff3647e6deddf2aee6"},"name":"High-Level Service Page SEO Blueprint Report","tags":[],"nodes":[{"id":"49aa0dd2-1d64-4047-9988-8e4f386d557a","name":"Convert URLs to Items","type":"n8n-nodes-base.code","position":[600,500],"parameters":{"jsCode":"// Get the raw input string from the "Start" nodenconst input = $('Start').item.json.Competitors;nn// Split the string by line breaks and filter out any empty linesnconst urls = inputn .split('\n')n .map(url => url.trim())n .filter(url => url.length > 0);nn// Return the array as output with "competitor_url" fieldnreturn urls.map(url => ({ json: { competitor_url: url } }));"},"typeVersion":2},{"id":"ec7b74db-43fc-4041-b63e-02ff21b9442e","name":"Start","type":"n8n-nodes-base.formTrigger","position":[240,500],"webhookId":"dafbc2ba-7397-4f83-b84d-630294e636b0","parameters":{"options":{},"formTitle":"Competitors Analysis for Service-Based Queries","formFields":{"values":[{"fieldType":"textarea","fieldLabel":"Competitors","placeholder":"competitor1.comncompetitor2.com","requiredField":true},{"fieldLabel":"Target Keyword","requiredField":true},{"fieldType":"textarea","fieldLabel":"Services Offered","requiredField":true},{"fieldLabel":"Brand Name","requiredField":true},{"fieldType":"dropdown","fieldLabel":"Is Homepage?","fieldOptions":{"values":[{"option":"Yes"},{"option":"No"}]}}]},"formDescription":"Generate a high-level service page content blueprint report to follow to beat the competition. nnNote: Do not add more than 5 competitors otherwise this could dilute the context and quality of the final report."},"typeVersion":2.2},{"id":"c517d397-4962-4281-962e-a57e3a12bea0","name":"Loop Over Items","type":"n8n-nodes-base.splitInBatches","position":[880,500],"parameters":{"options":{}},"typeVersion":3},{"id":"ac532215-626d-4690-9c99-d11f09fa86dc","name":"Get URL HTML","type":"n8n-nodes-base.httpRequest","onError":"continueErrorOutput","maxTries":5,"position":[1100,340],"parameters":{"url":"=https://r.jina.ai/{{ $json.competitor_url }}","options":{},"sendHeaders":true,"headerParameters":{"parameters":[{"name":"Authorization","value":"=Bearer {{ $('Edit Fields').first().json['JINA Reader API Key'] }}"},{"name":"X-Return-Format","value":"html"}]}},"executeOnce":false,"retryOnFail":true,"typeVersion":4.2,"waitBetweenTries":5000},{"id":"ed03887c-9996-4dfb-b46a-a745bc64864a","name":"Extract HTML Elements","type":"n8n-nodes-base.code","position":[1300,340],"parameters":{"jsCode":"// Function to remove inner HTML tags and decode common HTML entitiesnfunction cleanText(text) {n // Remove any HTML tags inside the textn let cleaned = text.replace(/<\/?[^>]+(>|$)/g, '');nn // Decode common HTML entitiesn cleaned = cleanedn .replace(/ /g, ' ') // Non-breaking spacen .replace(/&/g, '&') // Ampersandn .replace(/"/g, '"') // Double quoten .replace(/</g, '<') // Less-thann .replace(/>/g, '>') // Greater-thann .replace(/’/g, "'") // Right single quotation markn .replace(/“/g, '"') // Left double quotation markn .replace(/”/g, '"') // Right double quotation markn .replace(/’/g, "'") // Right single quotation markn .replace(/‘/g, "'") // Left single quotation markn .replace(/”/g, '"') // Right double quotation markn .replace(/“/g, '"') // Left double quotation markn .replace(/—/g, '—') // Em dashn .replace(/–/g, '–') // En dashn .replace(/…/g, '…') // Ellipsisn .replace(/&#(\d+);/g, (match, dec) => String.fromCharCode(dec)); // Handle numeric entitiesnn return cleaned.trim(); // Remove extra whitespacen}nn// Function to generate n-grams from textnfunction generateNgrams(text, n) {n // Convert text to lowercase and split into wordsn const words = text.toLowerCase()n .replace(/[^\w\s]|_/g, ' ') // Replace punctuation and underscores with spacesn .replace(/\s+/g, ' ') // Replace multiple spaces with a single spacen .trim() // Remove leading/trailing spacesn .split(' '); // Split into wordsn n // Filter out stop words and very short words (optional)n const filteredWords = words.filter(word => word.length > 1);n n // Generate n-gramsn const ngrams = [];n for (let i = 0; i <= filteredWords.length - n; i++) {n ngrams.push(filteredWords.slice(i, i + n).join(' '));n }n n return ngrams;n}nn// Function to count n-gramsnfunction countNgrams(textArray, n) {n const ngramCounts = {};n n textArray.forEach(text => {n const ngrams = generateNgrams(text, n);n n ngrams.forEach(ngram => {n ngramCounts[ngram] = (ngramCounts[ngram] || 0) + 1;n });n });n n // Convert to array of objects and sort by count (descending)n return Object.entries(ngramCounts)n .map(([phrase, count]) => ({ phrase, count }))n .sort((a, b) => b.count - a.count);n}nn// Initialize an array to store the results for each itemnlet results = [];nn// Iterate through all items (each item corresponds to one URL in the loop)nitems.forEach(item => {n // Get the raw HTML content for the current itemn const html = item.json.data || ''; // Ensure you're getting the correct field where HTML is storednn // Initialize arrays to store the extracted outlinen let outline = [];n let meta = {};n let schemas = [];n let headingTexts = []; // Store all heading texts for n-gram analysisnn // Store all headings with their positions to maintain original ordern let headingsWithPositions = [];n n // Extract heading content with a more robust approachn for (let i = 1; i <= 6; i++) {n // This regex pattern matches h1-h6 tags, capturing everything between opening and closing tagsn // even if there are nested elementsn const pattern = new RegExp(`]*>((?:.|\n)*?)<\/h${i}>`, 'gi');n let match;n n while ((match = pattern.exec(html)) !== null) {n const fullContent = match[1];n const cleanedText = cleanText(fullContent);n n // Only add non-empty headingsn if (cleanedText && cleanedText.trim().length > 0) {n headingsWithPositions.push({n position: match.index,n level: i,n tag: `h${i}`,n text: cleanedTextn });n n // Add to headingTexts for n-gram analysisn headingTexts.push(cleanedText);n }n }n }n n // Sort headings by their position in the HTML to maintain the original ordern headingsWithPositions.sort((a, b) => a.position - b.position);n n // Process the sorted headingsn headingsWithPositions.forEach(heading => {n // Build the outline based on the heading level with dot-based indentationn const indentation = '.'.repeat(heading.level - 1); // No dots for H1, one for H2, etc.n outline.push(`${indentation}${heading.tag.toUpperCase()}: ${heading.text}`);n });nn // Generate n-grams (2-gram, 3-gram, and 4-gram) from all headingsn const ngrams = {n '2gram': countNgrams(headingTexts, 2),n '3gram': countNgrams(headingTexts, 3),n '4gram': countNgrams(headingTexts, 4)n };n n // Filter out n-grams with only one occurrence (optional)n // This can be adjusted based on preferencen const filteredNgrams = {n '2gram': ngrams['2gram'].filter(item => item.count > 1),n '3gram': ngrams['3gram'].filter(item => item.count > 1),n '4gram': ngrams['4gram'].filter(item => item.count > 1)n };nn // Extract title tagn const titleMatch = html.match(/(.*?)<\/title>/i);n if (titleMatch && titleMatch[1]) {n meta.title = cleanText(titleMatch[1]);n }nn // Extract meta tagsn const metaTags = [n { name: 'description', regex: /<meta\s+name="description"\s+content="([^"]*)"[^>]*>/i },n { name: 'canonical', regex: /<link\s+rel="canonical"\s+href="([^"]*)"[^>]*>/i },n { name: 'og:locale', regex: /<meta\s+property="og:locale"\s+content="([^"]*)"[^>]*>/i },n { name: 'og:type', regex: /<meta\s+property="og:type"\s+content="([^"]*)"[^>]*>/i },n { name: 'og:title', regex: /<meta\s+property="og:title"\s+content="([^"]*)"[^>]*>/i },n { name: 'og:description', regex: /<meta\s+property="og:description"\s+content="([^"]*)"[^>]*>/i },n { name: 'og:url', regex: /<meta\s+property="og:url"\s+content="([^"]*)"[^>]*>/i },n { name: 'og:site_name', regex: /<meta\s+property="og:site_name"\s+content="([^"]*)"[^>]*>/i },n { name: 'article:publisher', regex: /<meta\s+property="article:publisher"\s+content="([^"]*)"[^>]*>/i },n { name: 'article:modified_time', regex: /<meta\s+property="article:modified_time"\s+content="([^"]*)"[^>]*>/i },n { name: 'og:image', regex: /<meta\s+property="og:image"\s+content="([^"]*)"[^>]*>/i },n { name: 'og:image:width', regex: /<meta\s+property="og:image:width"\s+content="([^"]*)"[^>]*>/i },n { name: 'og:image:height', regex: /<meta\s+property="og:image:height"\s+content="([^"]*)"[^>]*>/i },n { name: 'og:image:type', regex: /<meta\s+property="og:image:type"\s+content="([^"]*)"[^>]*>/i },n { name: 'twitter:card', regex: /<meta\s+name="twitter:card"\s+content="([^"]*)"[^>]*>/i },n { name: 'twitter:title', regex: /<meta\s+name="twitter:title"\s+content="([^"]*)"[^>]*>/i },n { name: 'twitter:site', regex: /<meta\s+name="twitter:site"\s+content="([^"]*)"[^>]*>/i }n ];nn // Extract each meta tagn metaTags.forEach(tag => {n const match = html.match(tag.regex);n if (match && match[1]) {n meta[tag.name] = cleanText(match[1]);n }n });nn // Extract all meta tags with name or property attributes (more general approach)n const generalMetaRegex = /<meta\s+(?:name|property)="([^"]*)"\s+content="([^"]*)"[^>]*>/gi;n let metaMatch;n while ((metaMatch = generalMetaRegex.exec(html)) !== null) {n const name = metaMatch[1];n const content = cleanText(metaMatch[2]);n n // Only add if not already captured and has contentn if (content && !meta[name]) {n meta[name] = content;n }n }nn // Extract JSON-LD schema datan const schemaRegex = /<script defer src="data:text/javascript;base64,XSo+KFtcc1xTXSo/KTxcL3NjcmlwdD4vZ2k7biAgbGV0IHNjaGVtYU1hdGNoO24gIG4gIHdoaWxlICgoc2NoZW1hTWF0Y2ggPSBzY2hlbWFSZWdleC5leGVjKGh0bWwpKSAhPT0gbnVsbCkge24gICAgdHJ5IHtuICAgICAgY29uc3Qgc2NoZW1hVGV4dCA9IHNjaGVtYU1hdGNoWzFdLnRyaW0oKTtuICAgICAgaWYgKHNjaGVtYVRleHQpIHtuICAgICAgICBjb25zdCBzY2hlbWFEYXRhID0gSlNPTi5wYXJzZShzY2hlbWFUZXh0KTtuICAgICAgICBzY2hlbWFzLnB1c2goc2NoZW1hRGF0YSk7biAgICAgIH1uICAgIH0gY2F0Y2ggKGUpIHtuICAgICAgLy8gSWYgSlNPTiBwYXJzaW5nIGZhaWxzLCBhZGQgdGhlIHJhdyB0ZXh0biAgICAgIHNjaGVtYXMucHVzaCh7IHJhdzogc2NoZW1hTWF0Y2hbMV0udHJpbSgpIH0pO24gICAgfW4gIH1ubiAgLy8gQWRkIHRoZSBvdXRsaW5lLCBtZXRhLCBzY2hlbWEsIGFuZCBuZ3JhbXMgZm9yIHRoZSBjdXJyZW50IGl0ZW0gdG8gdGhlIHJlc3VsdHMgYXJyYXluICByZXN1bHRzLnB1c2goe24gICAganNvbjoge24gICAgICBvdXRsaW5lOiBvdXRsaW5lLCAgLy8gQXJyYXkgY29udGFpbmluZyB0aGUgaGllcmFyY2h5IG9mIGhlYWRpbmdzIHdpdGggZG90LWJhc2VkIGluZGVudGF0aW9ubiAgICAgIG1ldGE6IE9iamVjdC5rZXlzKG1ldGEpLmxlbmd0aCA+IDAgPyBtZXRhIDogdW5kZWZpbmVkLCAgLy8gT25seSBpbmNsdWRlIGlmIG1ldGEgdGFncyB3ZXJlIGZvdW5kbiAgICAgIHNjaGVtYTogc2NoZW1hcy5sZW5ndGggPiAwID8gc2NoZW1hcyA6IHVuZGVmaW5lZCwgIC8vIE9ubHkgaW5jbHVkZSBpZiBzY2hlbWEgZGF0YSB3YXMgZm91bmRuICAgICAgbmdyYW1zOiBoZWFkaW5nVGV4dHMubGVuZ3RoID4gMCA/IGZpbHRlcmVkTmdyYW1zIDogdW5kZWZpbmVkICAvLyBPbmx5IGluY2x1ZGUgaWYgaGVhZGluZ3Mgd2VyZSBmb3VuZG4gICAgfW4gIH0pO259KTtubi8vIFJldHVybiB0aGUgcmVzdWx0cyBmb3IgYWxsIGl0ZW1zIChhbGwgVVJMcyBpbiB0aGUgbG9vcClucmV0dXJuIHJlc3VsdHM7In0sInR5cGVWZXJzaW9uIjoyfSx7ImlkIjoiOWM4NzNiYTUtODRiMi00MzY2LWFjOTYtYTEzODBjZTY2NzAxIiwibmFtZSI6IlNldCBVUkwgRGF0YSIsInR5cGUiOiJuOG4tbm9kZXMtYmFzZS5zZXQiLCJwb3NpdGlvbiI6WzE0ODAsMzQwXSwicGFyYW1ldGVycyI6eyJvcHRpb25zIjp7fSwiYXNzaWdubWVudHMiOnsiYXNzaWdubWVudHMiOlt7ImlkIjoiMTg2ZGFmNTItOTBiMi00NjA4LTljOTQtMjQzMTg3MDY5YmY0IiwibmFtZSI6IkNvbXBldGl0b3IgVVJMIiwidHlwZSI6InN0cmluZyIsInZhbHVlIjoiPXt7ICQoJ0xvb3AgT3ZlciBJdGVtcycpLml0ZW0uanNvbi5jb21wZXRpdG9yX3VybCB9fSJ9LHsiaWQiOiIzYmIzMDU3Yy1kODRmLTRlYWMtOGRhMi0yMjc0MGEyYzI5M2MiLCJuYW1lIjoiT3V0bGluZSIsInR5cGUiOiJzdHJpbmciLCJ2YWx1ZSI6Ij17eyBKU09OLnN0cmluZ2lmeSgkanNvbi5vdXRsaW5lKSB9fSJ9LHsiaWQiOiI1M2MxYjQyYy0xNGNlLTQ4YTAtODgwMi01YjE3NWQ3YWIxMjciLCJuYW1lIjoiTWV0YSIsInR5cGUiOiJzdHJpbmciLCJ2YWx1ZSI6Ij17eyBKU09OLnN0cmluZ2lmeSgkanNvbi5tZXRhKSB9fSJ9LHsiaWQiOiJjYTg0YTk2Yi1mMzcwLTQyYjYtOWY0ZC1hMWU0ZDFhYjA2NmEiLCJuYW1lIjoiTmdyYW1zIiwidHlwZSI6InN0cmluZyIsInZhbHVlIjoiPXt7IEpTT04uc3RyaW5naWZ5KCRqc29uLm5ncmFtcykgfX0ifV19fSwidHlwZVZlcnNpb24iOjMuNH0seyJpZCI6IjVmYWU2MDRhLWQ0NGQtNDAyMi05MDVhLTUxNzQyYWIyMzE0NCIsIm5hbWUiOiJDb2RlIiwidHlwZSI6Im44bi1ub2Rlcy1iYXNlLmNvZGUiLCJwb3NpdGlvbiI6WzExMDAsNTIwXSwicGFyYW1ldGVycyI6eyJqc0NvZGUiOiJsZXQgb3V0cHV0ID0gJyc7bm5mb3IgKGNvbnN0IFtpbmRleCwgaXRlbV0gb2YgaXRlbXMuZW50cmllcygpKSB7biAgY29uc3QgZGF0YSA9IGl0ZW0uanNvbjtubiAgY29uc3QgZm9ybWF0RmllbGQgPSAodmFsdWUpID0+IHtuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7biAgICAgIHRyeSB7biAgICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZSh2YWx1ZSk7biAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHBhcnNlZCwgbnVsbCwgMik7IC8vIFByZXR0eSBwcmludCB3aXRoIDItc3BhY2UgaW5kZW50biAgICAgIH0gY2F0Y2gge24gICAgICAgIHJldHVybiB2YWx1ZTsgLy8gTm90IEpTT04sIHJldHVybiBhcy1pc24gICAgICB9biAgICB9biAgICByZXR1cm4gdmFsdWU7biAgfTtubiAgb3V0cHV0ICs9IGA8Y29tcGV0aXRvciR7aW5kZXggKyAxfT5cbmA7biAgb3V0cHV0ICs9IGAgIDxjb21wZXRpdG9yIHVybD5cbiAgICAke2RhdGFbIkNvbXBldGl0b3IgVVJMIl19XG4gIDwvY29tcGV0aXRvciB1cmw+XG5cbmA7biAgb3V0cHV0ICs9IGAgIDxvdXRsaW5lPlxuICAgICR7Zm9ybWF0RmllbGQoZGF0YVsiT3V0bGluZSJdKX1cbiAgPC9vdXRsaW5lPlxuXG5gO24gIG91dHB1dCArPSBgICA8bWV0YT5cbiR7Zm9ybWF0RmllbGQoZGF0YVsiTWV0YSJdKX1cbiAgPC9tZXRhPlxuXG5gO24gIG91dHB1dCArPSBgICA8bmdyYW1zPlxuJHtmb3JtYXRGaWVsZChkYXRhWyJOZ3JhbXMiXSl9XG4gIDwvbmdyYW1zPlxuYDtuICBvdXRwdXQgKz0gYDwvY29tcGV0aXRvciR7aW5kZXggKyAxfT5cblxuYDtufW5ucmV0dXJuIFtuICB7biAgICBqc29uOiB7biAgICAgIGNvbXBldGl0b3JzX2RhdGE6IG91dHB1dC50cmltKCluICAgIH1uICB9bl07biJ9LCJ0eXBlVmVyc2lvbiI6Mn0seyJpZCI6ImEyZDliZTkyLTVhMWUtNDQ4Yy1hNGM4LWU3Y2E4ZDZjZThjYSIsIm5hbWUiOiJFZGl0IEZpZWxkczEiLCJ0eXBlIjoibjhuLW5vZGVzLWJhc2Uuc2V0IiwicG9zaXRpb24iOlsxMzAwLDUyMF0sInBhcmFtZXRlcnMiOnsib3B0aW9ucyI6e30sImFzc2lnbm1lbnRzIjp7ImFzc2lnbm1lbnRzIjpbeyJpZCI6IjI3ZWE0YzhjLTNjZDEtNDdlNC05ZjIyLWE0YmQ1YjRiNmIzYSIsIm5hbWUiOiJjb21wZXRpdG9yc19kYXRhIiwidHlwZSI6InN0cmluZyIsInZhbHVlIjoiPXt7ICRqc29uLmNvbXBldGl0b3JzX2RhdGEgfX0ifV19fSwidHlwZVZlcnNpb24iOjMuNH0seyJpZCI6IjcxNTMxN2FlLWU4OTYtNDhjZi1iNzMyLTMxYTBhMWVlNzk5OSIsIm5hbWUiOiJHb29nbGUgR2VtaW5pIENoYXQgTW9kZWwiLCJ0eXBlIjoiQG44bi9uOG4tbm9kZXMtbGFuZ2NoYWluLmxtQ2hhdEdvb2dsZUdlbWluaSIsInBvc2l0aW9uIjpbMzIwLDg4MF0sInBhcmFtZXRlcnMiOnsib3B0aW9ucyI6eyJ0ZW1wZXJhdHVyZSI6MC40fSwibW9kZWxOYW1lIjoiPW1vZGVscy97eyAkKCdFZGl0IEZpZWxkcycpLmZpcnN0KCkuanNvblsnR29vZ2xlIEdlbWluaSBNb2RlbCddIH19In0sImNyZWRlbnRpYWxzIjp7Imdvb2dsZVBhbG1BcGkiOnsiaWQiOiJFOUFRcjB4YzBGTE54YlNRIiwibmFtZSI6Ikdvb2dsZSBHZW1pbmkoUGFMTSkgQXBpIGFjY291bnQifX0sInR5cGVWZXJzaW9uIjoxfSx7ImlkIjoiZTk2ZWVlY2ItOWI4Mi00Y2JhLWJmMmMtM2M1MDQxYjcyNGIxIiwibmFtZSI6IldhaXQiLCJ0eXBlIjoibjhuLW5vZGVzLWJhc2Uud2FpdCIsInBvc2l0aW9uIjpbOTQwLDcyMF0sIndlYmhvb2tJZCI6IjIyMzFjNmQ1LTU3NWUtNDZiZS1iMWUzLTZmYWMzYWYxYTgzMCIsInBhcmFtZXRlcnMiOnsiYW1vdW50IjoiPXt7ICQoJ0VkaXQgRmllbGRzJykuZmlyc3QoKS5qc29uWydXYWl0aW5nIFRpbWUgKFNlY29uZHMpJ10gfX0ifSwidHlwZVZlcnNpb24iOjEuMX0seyJpZCI6Ijk5OGFjMGIwLWQzZTYtNGU0YS1iOGE2LWFlODk5NGRiZmE1OCIsIm5hbWUiOiJHb29nbGUgR2VtaW5pIENoYXQgTW9kZWwxIiwidHlwZSI6IkBuOG4vbjhuLW5vZGVzLWxhbmdjaGFpbi5sbUNoYXRHb29nbGVHZW1pbmkiLCJwb3NpdGlvbiI6WzEwNDAsOTIwXSwicGFyYW1ldGVycyI6eyJvcHRpb25zIjp7InRlbXBlcmF0dXJlIjowLjR9LCJtb2RlbE5hbWUiOiI9bW9kZWxzL3t7ICQoJ0VkaXQgRmllbGRzJykuZmlyc3QoKS5qc29uWydHb29nbGUgR2VtaW5pIE1vZGVsJ10gfX0ifSwiY3JlZGVudGlhbHMiOnsiZ29vZ2xlUGFsbUFwaSI6eyJpZCI6IkU5QVFyMHhjMEZMTnhiU1EiLCJuYW1lIjoiR29vZ2xlIEdlbWluaShQYUxNKSBBcGkgYWNjb3VudCJ9fSwidHlwZVZlcnNpb24iOjF9LHsiaWQiOiI2ZWUxMTY3MS1lYjYxLTRkOWYtYTRmMy05Mzg5ODgwOWQ0ZTEiLCJuYW1lIjoiU2V0IENvbXBldGl0b3IgQW5hbHlzaXMiLCJ0eXBlIjoibjhuLW5vZGVzLWJhc2Uuc2V0IiwicG9zaXRpb24iOls3NDAsNzIwXSwicGFyYW1ldGVycyI6eyJvcHRpb25zIjp7fSwiYXNzaWdubWVudHMiOnsiYXNzaWdubWVudHMiOlt7ImlkIjoiNWY5ZjBmZjItN2UwMC00NDlhLWE1YzQtMTQyMzMzMTUxMjVhIiwibmFtZSI6IkNvbXBldGl0b3IgQW5hbHlzaXMgUmVwb3J0IiwidHlwZSI6InN0cmluZyIsInZhbHVlIjoiPXt7ICRqc29uLnRleHQucmVwbGFjZSgvW1xzXFNdKjxjb21wZXRpdG9yX2FuYWx5c2lzX3JlcG9ydD4vLCAnJykucmVwbGFjZSgvPFwvY29tcGV0aXRvcl9hbmFseXNpc19yZXBvcnQ+W1xzXFNdKi8sICcnKSB9fSJ9XX19LCJ0eXBlVmVyc2lvbiI6My40fSx7ImlkIjoiNzI4Y2Y5YzItNzk4OC00YjIzLThlMDAtNzUxMWEwZjEwODU4IiwibmFtZSI6IlNldCBVc2VyIEludGVudCBBbmFseXNpcyIsInR5cGUiOiJuOG4tbm9kZXMtYmFzZS5zZXQiLCJwb3NpdGlvbiI6WzE0ODAsNzIwXSwicGFyYW1ldGVycyI6eyJvcHRpb25zIjp7fSwiYXNzaWdubWVudHMiOnsiYXNzaWdubWVudHMiOlt7ImlkIjoiYzViNzJiZjUtYTA4NC00ZGZlLWFhZDgtZDc3YzY0MTM4YzU0IiwibmFtZSI6IlVzZXIgSW50ZW50IEFuYWx5c2lzIFJlcG9ydCIsInR5cGUiOiJzdHJpbmciLCJ2YWx1ZSI6Ij17eyAkanNvbi50ZXh0LnJlcGxhY2UoL1tcc1xTXSo8dXNlcl9pbnRlbnRfcmVwb3J0Pi8sICcnKS5yZXBsYWNlKC88XC91c2VyX2ludGVudF9yZXBvcnQ+W1xzXFNdKi8sICcnKSB9fSJ9XX19LCJ0eXBlVmVyc2lvbiI6My40fSx7ImlkIjoiZWNmMDFiZTEtZmU2YS00OWYyLTgzNmYtOGZiMmMzN2E1ZGE1IiwibmFtZSI6IldhaXQxIiwidHlwZSI6Im44bi1ub2Rlcy1iYXNlLndhaXQiLCJwb3NpdGlvbiI6WzE2NjAsNzIwXSwid2ViaG9va0lkIjoiMjIzMWM2ZDUtNTc1ZS00NmJlLWIxZTMtNmZhYzNhZjFhODMwIiwicGFyYW1ldGVycyI6eyJhbW91bnQiOiI9e3sgJCgnRWRpdCBGaWVsZHMnKS5maXJzdCgpLmpzb25bJ1dhaXRpbmcgVGltZSAoU2Vjb25kcyknXSB9fSJ9LCJ0eXBlVmVyc2lvbiI6MS4xfSx7ImlkIjoiOGFjNmRjN2EtZDMyZi00MzY2LTliMjEtZmIyMGFhZjEwNDNmIiwibmFtZSI6Ikdvb2dsZSBHZW1pbmkgQ2hhdCBNb2RlbDIiLCJ0eXBlIjoiQG44bi9uOG4tbm9kZXMtbGFuZ2NoYWluLmxtQ2hhdEdvb2dsZUdlbWluaSIsInBvc2l0aW9uIjpbNDIwLDEyMjBdLCJwYXJhbWV0ZXJzIjp7Im9wdGlvbnMiOnsidGVtcGVyYXR1cmUiOjAuNH0sIm1vZGVsTmFtZSI6Ij1tb2RlbHMve3sgJCgnRWRpdCBGaWVsZHMnKS5maXJzdCgpLmpzb25bJ0dvb2dsZSBHZW1pbmkgTW9kZWwnXSB9fSJ9LCJ0eXBlVmVyc2lvbiI6MX0seyJpZCI6ImFjNjVmZDVkLTZlNGItNDdjYy1hOGUyLTc3ODI5NTY1MTcyMyIsIm5hbWUiOiJDb21wZXRpdG9ycyBBbmFseXNpcyIsInR5cGUiOiJAbjhuL244bi1ub2Rlcy1sYW5nY2hhaW4uY2hhaW5MbG0iLCJwb3NpdGlvbiI6WzQwMCw3MjBdLCJwYXJhbWV0ZXJzIjp7InRleHQiOiI9PHRhcmdldF9xdWVyeT57eyAkKCdTdGFydCcpLmZpcnN0KCkuanNvblsnVGFyZ2V0IEtleXdvcmQnXSB9fTwvdGFyZ2V0X3F1ZXJ5Pm48Y29tcGV0aXRvcnNfZGF0YT5ue3sgJGpzb24uY29tcGV0aXRvcnNfZGF0YSB9fW48L2NvbXBldGl0b3JzX2RhdGE+IiwibWVzc2FnZXMiOnsibWVzc2FnZVZhbHVlcyI6W3sibWVzc2FnZSI6Ij1Zb3UgYXJlIGEgRGF0YSBBbmFseXN0IHNwZWNpYWxpemluZyBpbiBTRU8gYW5kIENvbnRlbnQgU3RydWN0dXJlIEFuYWx5c2lzLiBZb3VyIHRhc2sgaXMgdG8gbWV0aWN1bG91c2x5IGFuYWx5emUgdGhlIHByb3ZpZGVkIGRhdGEgZnJvbSB0b3AtcmFua2luZyBjb21wZXRpdG9yIHBhZ2VzIGZvciBhIHNwZWNpZmljIHRhcmdldCBxdWVyeS4gRm9jdXMgb24gaWRlbnRpZnlpbmcgcmVjdXJyaW5nIHBhdHRlcm5zLCB0aGVtZXMsIGFuZCBzdHJ1Y3R1cmFsIGVsZW1lbnRzLm5uQW5hbHl6ZSB0aGUgZm9sbG93aW5nIGlucHV0czpuPHRhcmdldF9xdWVyeT57dGFyZ2V0X3F1ZXJ5fTwvdGFyZ2V0X3F1ZXJ5Pm48Y29tcGV0aXRvcnNfZGF0YT5ue2NvbXBldGl0b3JzX2RhdGF9bjwvY29tcGV0aXRvcnNfZGF0YT5ubkJhc2VkIG9uIHlvdXIgYW5hbHlzaXMsIGdlbmVyYXRlIGEgcmVwb3J0IHN1bW1hcml6aW5nOm4xLiAqKkxpc3Qgb2YgQ29tcGV0aXRvcnMqKjogQ3JlYXRlIGEgbnVtYmVyZWQgY29kaW5nIHN5c3RlbSBmb3IgY29tcGV0aXRvcnMgYnkgYXNzaWduaW5nIGVhY2ggY29tcGV0aXRvciBhIHVuaXF1ZSBjb2RlIChlLmcuLCBDMSwgQzIsIEMzKSBmb2xsb3dlZCBieSB0aGVpciBmdWxsIGJyYW5kIG5hbWUuIEZvciBleGFtcGxlOiAnQzEgPSBOaWtlLCBDMiA9IEFkaWRhcywgQzMgPSBVbmRlciBBcm1vdXInLiBUaGlzIGNvZGluZyBzeXN0ZW0gd2lsbCBiZSB1c2VkIGZvciBlZmZpY2llbnQgcmVmZXJlbmNlIHRocm91Z2hvdXQgdGhlIHJlbWFpbmRlciBvZiB0aGUgcmVwb3J0Lm4yLiAgKipNZXRhIFRpdGxlICYgRGVzY3JpcHRpb24gVHJlbmRzOioqIENvbW1vbiBrZXl3b3JkcywgYW5nbGVzIChlLmcuLCBiZW5lZml0LWRyaXZlbiwgbG9jYXRpb24tZm9jdXNlZCwgc3BlZWQtZm9jdXNlZCksIGFuZCBjYWxscy10by1hY3Rpb24gb2JzZXJ2ZWQubjMuICAqKkNvbW1vbiBPdXRsaW5lIFNlY3Rpb25zL1RvcGljczoqKiBJZGVudGlmeSBmcmVxdWVudGx5IHJlY3VycmluZyBzZWN0aW9ucyAoYmFzZWQgb24gSDJzL0gzcykgYWNyb3NzIGNvbXBldGl0b3JzIChlLmcuLCAiV2hhdCBpcyBYPyIsICJPdXIgUHJvY2VzcyIsICJQcmljaW5nIiwgIldoeSBDaG9vc2UgVXMiLCAiRkFRcyIsIHNwZWNpZmljIHNlcnZpY2UgZmVhdHVyZXMvdHlwZXMpLm40LiAgKipLZXkgSGVhZGluZyBDb25jZXB0cyAoZnJvbSBOLWdyYW1zKToqKiBMaXN0IHRoZSBtb3N0IHByb21pbmVudCBhbmQgcmVjdXJyaW5nIDIsIDMsIGFuZCA0LXdvcmQgcGhyYXNlcyBmb3VuZCBpbiBjb21wZXRpdG9yIGhlYWRpbmdzLiBIaWdobGlnaHQgY29uY2VwdHMgdGhhdCBhcHBlYXIgY3JpdGljYWwgZm9yIGRlbW9uc3RyYXRpbmcgdG9waWMgcmVsZXZhbmNlLm41LiAgKipTdHJ1Y3R1cmFsICYgQ29udGVudCBFbGVtZW50IE9ic2VydmF0aW9uczoqKiBOb3RlIGFueSBjb21tb24gcGF0dGVybnMgaW4gcGFnZSBzdHJ1Y3R1cmUgKGUuZy4sIHR5cGljYWwgZmxvdyBvZiBzZWN0aW9ucyksIHVzZSBvZiBzcGVjaWZpYyBlbGVtZW50cyAoZS5nLiwgbGlzdHMsIHRhYmxlcywgdmlkZW9zLCBmb3JtcywgY2FsY3VsYXRvcnMpLCBhbmQgcGVyY2VpdmVkIGNvbnRlbnQgZGVwdGgvbGVuZ3RoLm5uU3RydWN0dXJlIHlvdXIgZW50aXJlIG91dHB1dCB3aXRoaW4gYSBzaW5nbGUgWE1MIHRhZzogPGNvbXBldGl0b3JfYW5hbHlzaXNfcmVwb3J0PiJ9XX0sInByb21wdFR5cGUiOiJkZWZpbmUifSwidHlwZVZlcnNpb24iOjEuNX0seyJpZCI6Ijk3ZDQ1ZGQyLTQyNzgtNDI5NC04NzU5LTdiMDc2ZTQxZDY4NCIsIm5hbWUiOiJVc2VyIEludGVudCBBbmFseXNpcyIsInR5cGUiOiJAbjhuL244bi1ub2Rlcy1sYW5nY2hhaW4uY2hhaW5MbG0iLCJwb3NpdGlvbiI6WzExNDAsNzIwXSwicGFyYW1ldGVycyI6eyJ0ZXh0IjoiPTx0YXJnZXRfcXVlcnk+e3sgJCgnU3RhcnQnKS5maXJzdCgpLmpzb25bJ1RhcmdldCBLZXl3b3JkJ10gfX08L3RhcmdldF9xdWVyeT4iLCJtZXNzYWdlcyI6eyJtZXNzYWdlVmFsdWVzIjpbeyJtZXNzYWdlIjoiPVlvdSBhcmUgYSBVc2VyIEV4cGVyaWVuY2UgKFVYKSBSZXNlYXJjaGVyIGFuZCBJbnRlbnQgQW5hbHlzdC4gWW91ciB0YXNrIGlzIHRvIGFuYWx5emUgdGhlIHByb3ZpZGVkIHRhcmdldCBxdWVyeSB0byB1bmRlcnN0YW5kIHRoZSB1bmRlcmx5aW5nIHVzZXIgbmVlZHMgYW5kIGV4cGVjdGF0aW9ucywgY29tcGxldGVseSBpbmRlcGVuZGVudCBvZiBhbnkgY29tcGV0aXRvciBpbXBsZW1lbnRhdGlvbnMubm5BbmFseXplIHRoZSBmb2xsb3dpbmcgaW5wdXQ6bjx0YXJnZXRfcXVlcnk+e3RhcmdldF9xdWVyeX08L3RhcmdldF9xdWVyeT5ubkdlbmVyYXRlIGEgcmVwb3J0IGJhc2VkICpvbmx5KiBvbiB0aGUgcXVlcnksIGNvdmVyaW5nOm4xLiAgKipQcmltYXJ5IFVzZXIgSW50ZW50OioqIFdoYXQgaXMgdGhlIG1haW4gZ29hbD8gKEluZm9ybWF0aW9uYWwsIE5hdmlnYXRpb25hbCwgVHJhbnNhY3Rpb25hbCwgQ29tbWVyY2lhbCBJbnZlc3RpZ2F0aW9uKS5uMi4gICoqU2Vjb25kYXJ5IEludGVudHM6KiogV2hhdCByZWxhdGVkIHF1ZXN0aW9ucyBvciBuZWVkcyBtaWdodCB0aGUgdXNlciBoYXZlP24zLiAgKipJbXBsaWNpdCBVc2VyIFBlcnNvbmE6KiogRGVzY3JpYmUgdGhlIGxpa2VseSBzZWFyY2hlciAoZS5nLiwgcm9sZSwgcGFpbiBwb2ludHMsIGNvbnRleHQpLm40LiAgKipTdGFnZSBpbiBCdXllcidzIEpvdXJuZXk6KiogKEF3YXJlbmVzcywgQ29uc2lkZXJhdGlvbiwgRGVjaXNpb24pLm41LiAgKipFeHBlY3RlZCBTZXJ2aWNlcy9Db250ZW50OioqIFdoYXQgc3BlY2lmaWMgc2VydmljZXMgb3IgaW5mb3JtYXRpb24gdHlwZXMgd291bGQgdGhpcyB1c2VyIGxvZ2ljYWxseSBleHBlY3QgdG8gZmluZCBvbiBhIHBhZ2Ugc2F0aXNmeWluZyB0aGVpciBpbnRlbnQ/bjYuICAqKlByb2JsZW0vU29sdXRpb24gRnJhbWluZzoqKiBIb3cgc2hvdWxkIHRoZSB1c2VyJ3MgY29yZSBwcm9ibGVtIGJlIGFydGljdWxhdGVkLCBhbmQgaG93IHNob3VsZCBhIHNlcnZpY2UgYmUgcG9zaXRpb25lZCBhcyB0aGUgc29sdXRpb24gZm9yIHRoaXMgc3BlY2lmaWMgcXVlcnk/bm5TdHJ1Y3R1cmUgeW91ciBlbnRpcmUgb3V0cHV0IHdpdGhpbiBhIHNpbmdsZSBYTUwgdGFnOiA8dXNlcl9pbnRlbnRfcmVwb3J0PiJ9XX0sInByb21wdFR5cGUiOiJkZWZpbmUifSwidHlwZVZlcnNpb24iOjEuNX0seyJpZCI6IjczMWQ3YjU2LWZhMTYtNGY3ZC1hMWFmLWY3OTA4NjY0ZTQ3NyIsIm5hbWUiOiJTeW50aGVzaXMgJiBHYXAgQW5hbHlzaXMiLCJ0eXBlIjoiQG44bi9uOG4tbm9kZXMtbGFuZ2NoYWluLmNoYWluTGxtIiwicG9zaXRpb24iOls1MDAsMTA2MF0sInBhcmFtZXRlcnMiOnsidGV4dCI6Ij08dGFyZ2V0X3F1ZXJ5Pnt7ICQoJ1N0YXJ0JykuZmlyc3QoKS5qc29uWydUYXJnZXQgS2V5d29yZCddIH19PC90YXJnZXRfcXVlcnk+bjxjb21wZXRpdG9yX2FuYWx5c2lzX3JlcG9ydD5ue3sgJCgnU2V0IENvbXBldGl0b3IgQW5hbHlzaXMnKS5maXJzdCgpLmpzb25bJ0NvbXBldGl0b3IgQW5hbHlzaXMgUmVwb3J0J10gfX1uPC9jb21wZXRpdG9yX2FuYWx5c2lzX3JlcG9ydD5uPHVzZXJfaW50ZW50X3JlcG9ydD5ue3sgJCgnU2V0IFVzZXIgSW50ZW50IEFuYWx5c2lzJykuZmlyc3QoKS5qc29uWydVc2VyIEludGVudCBBbmFseXNpcyBSZXBvcnQnXSB9fW48L3VzZXJfaW50ZW50X3JlcG9ydD4iLCJtZXNzYWdlcyI6eyJtZXNzYWdlVmFsdWVzIjpbeyJtZXNzYWdlIjoiPVlvdSBhcmUgYW4gU0VPIENvbnRlbnQgU3RyYXRlZ2lzdCBhbmQgVVggQXJjaGl0ZWN0LiBZb3VyIHRhc2sgaXMgdG8gc3ludGhlc2l6ZSB0aGUgZmluZGluZ3MgZnJvbSB0aGUgY29tcGV0aXRvciBhbmFseXNpcyBhbmQgdGhlIHVzZXIgaW50ZW50IGFuYWx5c2lzIHRvIGlkZW50aWZ5IHN0cmF0ZWdpYyBvcHBvcnR1bml0aWVzLm5uQW5hbHl6ZSB0aGUgZm9sbG93aW5nIGlucHV0czpuPHRhcmdldF9xdWVyeT57dGFyZ2V0X3F1ZXJ5fTwvdGFyZ2V0X3F1ZXJ5Pm48Y29tcGV0aXRvcl9hbmFseXNpc19yZXBvcnQ+bntjb21wZXRpdG9yX2FuYWx5c2lzX3JlcG9ydH1uPC9jb21wZXRpdG9yX2FuYWx5c2lzX3JlcG9ydD5uPHVzZXJfaW50ZW50X3JlcG9ydD5ue3VzZXJfaW50ZW50X3JlcG9ydH1uPC91c2VyX2ludGVudF9yZXBvcnQ+bm5HZW5lcmF0ZSBhIHN5bnRoZXNpcyByZXBvcnQgaWRlbnRpZnlpbmc6bjEuICAqKkNvbnRlbnQgT3ZlcmxhcHMgKCJUYWJsZSBTdGFrZXMiKToqKiBMaXN0IHRoZSB0b3BpY3MsIHNlY3Rpb25zLCBhbmQgaW5mb3JtYXRpb24gcG9pbnRzIHRoYXQgYXJlIEJPVEggZXhwZWN0ZWQgYnkgdXNlcnMgKGZyb20gdXNlciBpbnRlbnQgcmVwb3J0KSBBTkQgY29tbW9ubHkgY292ZXJlZCBieSBjb21wZXRpdG9ycyAoZnJvbSBjb21wZXRpdG9yIGFuYWx5c2lzKS4gVGhlc2UgYXJlIGVzc2VudGlhbCBiYXNlbGluZSByZXF1aXJlbWVudHMubjIuICAqKkNvbnRlbnQgJiBVWCBHYXBzIChPcHBvcnR1bml0aWVzKToqKiBJZGVudGlmeSB1c2VyIG5lZWRzL2V4cGVjdGF0aW9ucyAoZnJvbSB1c2VyIGludGVudCByZXBvcnQpIHRoYXQgY29tcGV0aXRvcnMgYXJlIE5PVCBhZGRyZXNzaW5nIHdlbGwgb3IgYXJlIG1pc3NpbmcgZW50aXJlbHkgKGJhc2VkIG9uIGNvbXBldGl0b3IgYW5hbHlzaXMpLiBIaWdobGlnaHQgYXJlYXMgd2hlcmUgeW91IGNhbiBwcm92aWRlIHN1cGVyaW9yIHZhbHVlIG9yIGEgYmV0dGVyIHVzZXIgZXhwZXJpZW5jZS5uMy4gICoqU0VPIEtleXdvcmQvVG9waWMgUHJpb3JpdGllczoqKiBCYXNlZCBvbiBib3RoIGNvbXBldGl0b3IgaGVhZGluZyBOLWdyYW1zL3RoZW1lcyBhbmQgdXNlciBpbnRlbnQsIGxpc3QgdGhlIG1vc3QgY3JpdGljYWwga2V5d29yZHMsIGNvbmNlcHRzLCBhbmQgc2VtYW50aWMgdG9waWNzIHRoYXQgdGhlIHBhZ2Ugc3RydWN0dXJlIGFuZCBjb250ZW50IG11c3QgYWRkcmVzcyBmb3IgcmVsZXZhbmNlIGFuZCByYW5raW5nIHBvdGVudGlhbC5uNC4gICoqUG90ZW50aWFsIFVYL0NvbnZlcnNpb24gQWR2YW50YWdlczoqKiBTdWdnZXN0IGhpZ2gtbGV2ZWwgd2F5cyB0byBpbXByb3ZlIHVwb24gY29tbW9uIGNvbXBldGl0b3Igd2Vha25lc3NlcyBpbiBwcmVzZW50YXRpb24sIGNsYXJpdHksIG5hdmlnYXRpb24sIG9yIGNhbGxzLXRvLWFjdGlvbiwgYmFzZWQgb24gdGhlIGNvbWJpbmVkIGFuYWx5c2lzLm5uU3RydWN0dXJlIHlvdXIgZW50aXJlIG91dHB1dCB3aXRoaW4gYSBzaW5nbGUgWE1MIHRhZzogPHN5bnRoZXNpc19hbmRfZ2FwX2FuYWx5c2lzPiJ9XX0sInByb21wdFR5cGUiOiJkZWZpbmUifSwidHlwZVZlcnNpb24iOjEuNX0seyJpZCI6IjE0NGY4MDUwLWMzOTUtNGYwMi1hNzg2LTVkY2E4MGJmMWYzYiIsIm5hbWUiOiJTZXQgU3ludGhlc2lzICYgR2FwIEFuYWx5c2lzIiwidHlwZSI6Im44bi1ub2Rlcy1iYXNlLnNldCIsInBvc2l0aW9uIjpbODQwLDEwNjBdLCJwYXJhbWV0ZXJzIjp7Im9wdGlvbnMiOnt9LCJhc3NpZ25tZW50cyI6eyJhc3NpZ25tZW50cyI6W3siaWQiOiI0ZDU4MGI1OC00ODQzLTQzYzEtOWFhMi1hNDZkODI4NDI0NjUiLCJuYW1lIjoiU3ludGhlc2lzICYgR2FwIEFuYWx5c2lzIiwidHlwZSI6InN0cmluZyIsInZhbHVlIjoiPXt7ICRqc29uLnRleHQucmVwbGFjZSgvW1xzXFNdKjxzeW50aGVzaXNfYW5kX2dhcF9hbmFseXNpcz4vLCAnJykucmVwbGFjZSgvPFwvc3ludGhlc2lzX2FuZF9nYXBfYW5hbHlzaXM+W1xzXFNdKi8sICcnKSB9fSJ9XX19LCJ0eXBlVmVyc2lvbiI6My40fSx7ImlkIjoiOWI1NzM5YTgtYWM0YS00N2M1LTg4MmQtNWY4ZWNmZTA4ODMxIiwibmFtZSI6IldhaXQyIiwidHlwZSI6Im44bi1ub2Rlcy1iYXNlLndhaXQiLCJwb3NpdGlvbiI6WzEwMjAsMTA2MF0sIndlYmhvb2tJZCI6IjIyMzFjNmQ1LTU3NWUtNDZiZS1iMWUzLTZmYWMzYWYxYTgzMCIsInBhcmFtZXRlcnMiOnsiYW1vdW50IjoiPXt7ICQoJ0VkaXQgRmllbGRzJykuZmlyc3QoKS5qc29uWydXYWl0aW5nIFRpbWUgKFNlY29uZHMpJ10gfX0ifSwidHlwZVZlcnNpb24iOjEuMX0seyJpZCI6IjAyODJkNjBjLWMwMzAtNGNjZC04NzE2LWRkNTZiYmM2MzZlMiIsIm5hbWUiOiJHb29nbGUgR2VtaW5pIENoYXQgTW9kZWwzIiwidHlwZSI6IkBuOG4vbjhuLW5vZGVzLWxhbmdjaGFpbi5sbUNoYXRHb29nbGVHZW1pbmkiLCJwb3NpdGlvbiI6WzExNjAsMTI2MF0sInBhcmFtZXRlcnMiOnsib3B0aW9ucyI6eyJ0ZW1wZXJhdHVyZSI6MC40fSwibW9kZWxOYW1lIjoiPW1vZGVscy97eyAkKCdFZGl0IEZpZWxkcycpLmZpcnN0KCkuanNvblsnR29vZ2xlIEdlbWluaSBNb2RlbCddIH19In0sImNyZWRlbnRpYWxzIjp7Imdvb2dsZVBhbG1BcGkiOnsiaWQiOiJFOUFRcjB4YzBGTE54YlNRIiwibmFtZSI6Ikdvb2dsZSBHZW1pbmkoUGFMTSkgQXBpIGFjY291bnQifX0sInR5cGVWZXJzaW9uIjoxfSx7ImlkIjoiMWYxNTZlMjgtN2I0Yy00NDFkLTk2MjYtNzc2MmQ0N2FjZDkzIiwibmFtZSI6IklkZWFsIFBhZ2UgT3V0bGluZSBHZW5lcmF0aW9uIiwidHlwZSI6IkBuOG4vbjhuLW5vZGVzLWxhbmdjaGFpbi5jaGFpbkxsbSIsInBvc2l0aW9uIjpbMTIwMCwxMDYwXSwicGFyYW1ldGVycyI6eyJ0ZXh0IjoiPTx0YXJnZXRfcXVlcnk+e3sgJCgnU3RhcnQnKS5maXJzdCgpLmpzb25bJ1RhcmdldCBLZXl3b3JkJ10gfX08L3RhcmdldF9xdWVyeT5uPHN5bnRoZXNpc19hbmRfZ2FwX2FuYWx5c2lzPm57eyAkKCdTZXQgU3ludGhlc2lzICYgR2FwIEFuYWx5c2lzJykuZmlyc3QoKS5qc29uWydTeW50aGVzaXMgJiBHYXAgQW5hbHlzaXMnXSB9fW48L3N5bnRoZXNpc19hbmRfZ2FwX2FuYWx5c2lzPm48aXNfaG9tZXBhZ2U+e3sgJCgnU3RhcnQnKS5maXJzdCgpLmpzb25bJ0lzIEhvbWVwYWdlPyddIH19PC9pc19ob21lcGFnZT5uPGJyYW5kX25hbWU+e3sgJCgnU3RhcnQnKS5maXJzdCgpLmpzb25bJ0JyYW5kIE5hbWUnXSB9fTwvYnJhbmRfbmFtZT5uPHNlcnZpY2VzX29mZmVyZWQ+bnt7ICQoJ1N0YXJ0JykuZmlyc3QoKS5qc29uWydTZXJ2aWNlcyBPZmZlcmVkJ10gfX1uPC9zZXJ2aWNlc19vZmZlcmVkPiIsIm1lc3NhZ2VzIjp7Im1lc3NhZ2VWYWx1ZXMiOlt7Im1lc3NhZ2UiOiI9WW91IGFyZSBhbiBTRU8gQ29udGVudCBBcmNoaXRlY3QsIEluZm9ybWF0aW9uIERlc2lnbmVyLCAqKmFuZCBDb252ZXJzaW9uLUZvY3VzZWQgU3RydWN0dXJpbmcgRXhwZXJ0LioqIFlvdXIgdGFzayBpcyB0byBjcmVhdGUgdGhlIG9wdGltYWwgcGFnZSBvdXRsaW5lIChIMSwgSDJzLCBIM3MsIHBvdGVudGlhbGx5IEg0cykgZm9yIHRoZSB0YXJnZXQgcXVlcnksIGJhc2VkIG9uIHRoZSBzdHJhdGVnaWMgaW5zaWdodHMgZnJvbSB0aGUgc3ludGhlc2lzIGFuZCBnYXAgYW5hbHlzaXMuIFRoZSBvdXRsaW5lIG11c3Qgc2F0aXNmeSB1c2VyIGludGVudCwgaW5jb3Jwb3JhdGUgU0VPIGJlc3QgcHJhY3RpY2VzIGRlcml2ZWQgZnJvbSBjb21wZXRpdG9ycywgcHJvdmlkZSBhIGxvZ2ljYWwgdXNlciBleHBlcmllbmNlLCAqKmFuZCBiZSBzdHJ1Y3R1cmVkIHRvIGVmZmVjdGl2ZWx5IHBlcnN1YWRlIGFuZCBjb252ZXJ0IHZpc2l0b3JzLioqbm5BbmFseXplIHRoZSBmb2xsb3dpbmcgaW5wdXRzOm48dGFyZ2V0X3F1ZXJ5Pnt0YXJnZXRfcXVlcnl9PC90YXJnZXRfcXVlcnk+bjxzeW50aGVzaXNfYW5kX2dhcF9hbmFseXNpcz5ue3N5bnRoZXNpc19hbmRfZ2FwX2FuYWx5c2lzfW48L3N5bnRoZXNpc19hbmRfZ2FwX2FuYWx5c2lzPm48aXNfaG9tZXBhZ2U+e2lzX2hvbWVwYWdlfTwvaXNfaG9tZXBhZ2U+bjxicmFuZF9uYW1lPnticmFuZF9uYW1lfTwvYnJhbmRfbmFtZT5uPHNlcnZpY2VzX29mZmVyZWQ+e3NlcnZpY2VzX29mZmVyZWR9PC9zZXJ2aWNlc19vZmZlcmVkPm5uQmFzZWQgb24gdGhlIGlucHV0cywgZ2VuZXJhdGUgYSByZWNvbW1lbmRlZCBwYWdlIG91dGxpbmU6bjEuICAqKkgxOioqIFByb3Bvc2UgYSBjb21wZWxsaW5nLCBrZXl3b3JkLXJpY2gsICoqYW5kIGJlbmVmaXQtb3JpZW50ZWQqKiBIMSB0YWcubjIuICAqKkxvZ2ljYWwgJiBQZXJzdWFzaXZlIFNlY3Rpb24gRmxvdyAoSDJzKToqKiBTdHJ1Y3R1cmUgdGhlIG1haW4gc2VjdGlvbnMgKEgycykgaW4gYSBzZXF1ZW5jZSB0aGF0IGd1aWRlcyB0aGUgdXNlciBuYXR1cmFsbHkgKGUuZy4sIGFkZHJlc3NpbmcgdGhlIHByb2JsZW0sIGludHJvZHVjaW5nIHRoZSBzb2x1dGlvbi92YWx1ZSBwcm9wb3NpdGlvbiwgZGV0YWlsaW5nIHRoZSBzZXJ2aWNlICYgYmVuZWZpdHMsIGJ1aWxkaW5nIHRydXN0L2NyZWRpYmlsaXR5LCBhZGRyZXNzaW5nIHBvdGVudGlhbCBvYmplY3Rpb25zLCBjbGVhciBjYWxsIHRvIGFjdGlvbiBwYXRoKS5uICAgICogICBJbmNvcnBvcmF0ZSB0aGUgIlRhYmxlIFN0YWtlcyIgc2VjdGlvbnMgaWRlbnRpZmllZCBpbiB0aGUgc3ludGhlc2lzLm4gICAgKiAgIFN0cmF0ZWdpY2FsbHkgcGxhY2Ugc2VjdGlvbnMgdGhhdCBhZGRyZXNzIHRoZSBpZGVudGlmaWVkICJHYXBzIiB0byBvZmZlciB1bmlxdWUgdmFsdWUubiAgICAqICAgKipFbnN1cmUga2V5IHBlcnN1YXNpdmUgZWxlbWVudHMgYXJlIGluY2x1ZGVkIGFzIGRpc3RpbmN0IHNlY3Rpb25zIG9yIGludGVncmF0ZWQgc3RyYXRlZ2ljYWxseToqKiBTdHJvbmcgVmFsdWUgUHJvcG9zaXRpb24sIEtleSBCZW5lZml0cy9PdXRjb21lcywgU29jaWFsIFByb29mIChlLmcuLCBUZXN0aW1vbmlhbHMvQ2FzZSBTdHVkaWVzIHBsYWNlaG9sZGVyKSwgSG93IGl0IFdvcmtzL1Byb2Nlc3MsIFByaWNpbmcvSW52ZXN0bWVudCAob3IgaG93IHByaWNpbmcgaXMgZGV0ZXJtaW5lZCksIFdoeSBDaG9vc2UgVXMvVW5pcXVlIERpZmZlcmVudGlhdG9ycy5uMy4gICoqRGV0YWlsZWQgU3ViLXNlY3Rpb25zIChIM3MvSDRzKToqKiBGbGVzaCBvdXQgZWFjaCBIMiBzZWN0aW9uIHdpdGggcmVsZXZhbnQgSDNzIChhbmQgSDRzIGlmIG5lZWRlZCkgdGhhdCBjb3ZlciBzcGVjaWZpYyBkZXRhaWxzLCBmZWF0dXJlcywgYmVuZWZpdHMsIHByb2Nlc3Mgc3RlcHMsIGV0Yy4gTmF0dXJhbGx5IHdlYXZlIGluIHRoZSAiU0VPIEtleXdvcmQvVG9waWMgUHJpb3JpdGllcyIgaWRlbnRpZmllZCBpbiB0aGUgc3ludGhlc2lzIHdpdGhpbiB0aGVzZSBoZWFkaW5ncy4gKipFbnN1cmUgSDNzIHVuZGVyIGJlbmVmaXQvdmFsdWUgc2VjdGlvbnMgY2xlYXJseSBhcnRpY3VsYXRlIHBvc2l0aXZlIG91dGNvbWVzIGZvciB0aGUgdXNlci4qKm40LiAgKipIb21lcGFnZSBDb25zaWRlcmF0aW9uOioqIElmIDxpc19ob21lcGFnZT4gaXMgIlllcyIsIGFkanVzdCB0aGUgc3RydWN0dXJlIHRvIGJlIGJyb2FkZXIsIHBvdGVudGlhbGx5IHN1bW1hcml6aW5nIG11bHRpcGxlIHNlcnZpY2VzIGFuZCBkaXJlY3RpbmcgdXNlcnMgZGVlcGVyLCB3aGlsZSBzdGlsbCBzdHJvbmdseSBhZGRyZXNzaW5nIHRoZSBjb3JlIDx0YXJnZXRfcXVlcnk+IGludGVudCAqKmFuZCBwcmVzZW50aW5nIGEgY29tcGVsbGluZyBvdmVyYWxsIGJyYW5kIHZhbHVlIHByb3Bvc2l0aW9uLioqIElmICJObyIsIGtlZXAgaXQgZm9jdXNlZCBzcGVjaWZpY2FsbHkgb24gdGhlIHNlcnZpY2UgcmVsYXRlZCB0byB0aGUgcXVlcnkubjUuICAqKkp1c3RpZmljYXRpb246KiogQnJpZWZseSBleHBsYWluIHRoZSByYXRpb25hbGUgYmVoaW5kIHRoZSBwbGFjZW1lbnQgYW5kIGNvbnRlbnQgZm9jdXMgb2YgbWFqb3IgSDIgc2VjdGlvbnMsIGxpbmtpbmcgYmFjayB0byB1c2VyIGludGVudCwgY29tcGV0aXRvciBpbnNpZ2h0cywgZ2FwLWZpbGxpbmcsICoqYW5kIHBlcnN1YXNpdmUgZmxvdy4qKm5uU3RydWN0dXJlIHlvdXIgZW50aXJlIG91dHB1dCB3aXRoaW4gYSBzaW5nbGUgWE1MIHRhZzogPHJlY29tbWVuZGVkX3BhZ2Vfb3V0bGluZT4ifV19LCJwcm9tcHRUeXBlIjoiZGVmaW5lIn0sInR5cGVWZXJzaW9uIjoxLjV9LHsiaWQiOiI5NTAwMzA4OS02NmJjLTRjNWMtYjI4MS03MTAwOWJlMDk5ZWEiLCJuYW1lIjoiU2V0IFBhZ2UgT3V0bGluZSIsInR5cGUiOiJuOG4tbm9kZXMtYmFzZS5zZXQiLCJwb3NpdGlvbiI6WzE1NjAsMTA2MF0sInBhcmFtZXRlcnMiOnsib3B0aW9ucyI6e30sImFzc2lnbm1lbnRzIjp7ImFzc2lnbm1lbnRzIjpbeyJpZCI6IjdjMjA1Zjc5LWJkYWYtNGZkNS04ZmFlLTE0NzEzYTBkMmVmZiIsIm5hbWUiOiJQYWdlIE91dGxpbmUiLCJ0eXBlIjoic3RyaW5nIiwidmFsdWUiOiI9e3sgJGpzb24udGV4dC5yZXBsYWNlKC9bXHNcU10qPHJlY29tbWVuZGVkX3BhZ2Vfb3V0bGluZT4vLCAnJykucmVwbGFjZSgvPFwvcmVjb21tZW5kZWRfcGFnZV9vdXRsaW5lPltcc1xTXSovLCAnJykgfX0ifV19fSwidHlwZVZlcnNpb24iOjMuNH0seyJpZCI6ImUxMDFjZjgxLTk3M2EtNDRhZi04YzdjLTNjMzE2Mzk4Y2NkYSIsIm5hbWUiOiJXYWl0MyIsInR5cGUiOiJuOG4tbm9kZXMtYmFzZS53YWl0IiwicG9zaXRpb24iOlsxNzQwLDEwNjBdLCJ3ZWJob29rSWQiOiIyMjMxYzZkNS01NzVlLTQ2YmUtYjFlMy02ZmFjM2FmMWE4MzAiLCJwYXJhbWV0ZXJzIjp7ImFtb3VudCI6Ij17eyAkKCdFZGl0IEZpZWxkcycpLmZpcnN0KCkuanNvblsnV2FpdGluZyBUaW1lIChTZWNvbmRzKSddIH19In0sInR5cGVWZXJzaW9uIjoxLjF9LHsiaWQiOiJiZDA5ODUzNi0xOGRkLTRmMjMtOThkYS1kODZjM2YwYmFmMmEiLCJuYW1lIjoiR29vZ2xlIEdlbWluaSBDaGF0IE1vZGVsNCIsInR5cGUiOiJAbjhuL244bi1ub2Rlcy1sYW5nY2hhaW4ubG1DaGF0R29vZ2xlR2VtaW5pIiwicG9zaXRpb24iOls1MDAsMTU0MF0sInBhcmFtZXRlcnMiOnsib3B0aW9ucyI6eyJ0ZW1wZXJhdHVyZSI6MC40fSwibW9kZWxOYW1lIjoiPW1vZGVscy97eyAkKCdFZGl0IEZpZWxkcycpLmZpcnN0KCkuanNvblsnR29vZ2xlIEdlbWluaSBNb2RlbCddIH19In0sInR5cGVWZXJzaW9uIjoxfSx7ImlkIjoiNTQyOWY4NmUtMjg4My00NTQ3LWE2OWYtZGQ4YzM1NmIwMjQ3IiwibmFtZSI6IlVYLCBDb252ZXJzaW9uICYgQ29weXdyaXRpbmcgRW5oYW5jZW1lbnQiLCJ0eXBlIjoiQG44bi9uOG4tbm9kZXMtbGFuZ2NoYWluLmNoYWluTGxtIiwicG9zaXRpb24iOls2MDAsMTQwMF0sInBhcmFtZXRlcnMiOnsidGV4dCI6Ij08dGFyZ2V0X3F1ZXJ5Pnt7ICQoJ1N0YXJ0JykuZmlyc3QoKS5qc29uWydUYXJnZXQgS2V5d29yZCddIH19PC90YXJnZXRfcXVlcnk+bjxyZWNvbW1lbmRlZF9wYWdlX291dGxpbmU+bnt7ICQoJ1NldCBQYWdlIE91dGxpbmUnKS5maXJzdCgpLmpzb25bJ1BhZ2UgT3V0bGluZSddIH19bjwvcmVjb21tZW5kZWRfcGFnZV9vdXRsaW5lPm48dXNlcl9pbnRlbnRfcmVwb3J0Pm57eyAkKCdTZXQgVXNlciBJbnRlbnQgQW5hbHlzaXMnKS5maXJzdCgpLmpzb25bJ1VzZXIgSW50ZW50IEFuYWx5c2lzIFJlcG9ydCddIH19bjwvdXNlcl9pbnRlbnRfcmVwb3J0Pm48YnJhbmRfbmFtZT57eyAkKCdTdGFydCcpLmZpcnN0KCkuanNvblsnQnJhbmQgTmFtZSddIH19PC9icmFuZF9uYW1lPm48c2VydmljZXNfb2ZmZXJlZD5ue3sgJCgnU3RhcnQnKS5maXJzdCgpLmpzb25bJ1NlcnZpY2VzIE9mZmVyZWQnXSB9fW48L3NlcnZpY2VzX29mZmVyZWQ+IiwibWVzc2FnZXMiOnsibWVzc2FnZVZhbHVlcyI6W3sibWVzc2FnZSI6Ij1Zb3UgYXJlIGEgQ29udmVyc2lvbiBSYXRlIE9wdGltaXphdGlvbiAoQ1JPKSBTcGVjaWFsaXN0IGFuZCBVWCBDb3B5d3JpdGVyLiBZb3VyIHRhc2sgaXMgdG8gdGFrZSB0aGUgcmVjb21tZW5kZWQgcGFnZSBvdXRsaW5lIGFuZCBsYXllciBvbiBzcGVjaWZpYywgYWN0aW9uYWJsZSByZWNvbW1lbmRhdGlvbnMgdG8gbWF4aW1pemUgdXNlciBleHBlcmllbmNlLCBjb252ZXJzaW9ucywgYW5kIHBlcnN1YXNpdmUgY29tbXVuaWNhdGlvbi5ubkFuYWx5emUgdGhlIGZvbGxvd2luZyBpbnB1dHM6bjx0YXJnZXRfcXVlcnk+e3RhcmdldF9xdWVyeX08L3RhcmdldF9xdWVyeT5uPHJlY29tbWVuZGVkX3BhZ2Vfb3V0bGluZT5ue3JlY29tbWVuZGVkX3BhZ2Vfb3V0bGluZX1uPC9yZWNvbW1lbmRlZF9wYWdlX291dGxpbmU+bjx1c2VyX2ludGVudF9yZXBvcnQ+bnt1c2VyX2ludGVudF9yZXBvcnR9IDwhLS0gUmVmZXJlbmNlIGZvciB1c2VyIG5lZWRzL3BhaW4gcG9pbnRzIC0tPm48L3VzZXJfaW50ZW50X3JlcG9ydD5uPGJyYW5kX25hbWU+e2JyYW5kX25hbWV9PC9icmFuZF9uYW1lPm48c2VydmljZXNfb2ZmZXJlZD57c2VydmljZXNfb2ZmZXJlZH08L3NlcnZpY2VzX29mZmVyZWQ+IDwhLS0gUmVmZXJlbmNlIGZvciBzZXJ2aWNlIHNwZWNpZmljcyAtLT5ubkJhc2VkIG9uIHRoZSBpbnB1dHMsIHByb3ZpZGUgZGV0YWlsZWQgcmVjb21tZW5kYXRpb25zIGNvdmVyaW5nOm4xLiAgKipDYWxscy10by1BY3Rpb24gKENUQXMpOioqbiAgICAqICAgU3VnZ2VzdCBzcGVjaWZpYyB3b3JkaW5nIGZvciBQcmltYXJ5IGFuZCBTZWNvbmRhcnkgQ1RBcyByZWxldmFudCB0byB0aGUgc2VydmljZSBhbmQgdXNlciBqb3VybmV5IHN0YWdlLm4gICAgKiAgIFJlY29tbWVuZCBvcHRpbWFsIHBsYWNlbWVudCB3aXRoaW4gdGhlIHByb3Bvc2VkIG91dGxpbmUgKGUuZy4sIGFib3ZlIHRoZSBmb2xkLCBhZnRlciBrZXkgc2VjdGlvbnMsIGVuZCBvZiBwYWdlKS5uICAgICogICBBZHZpc2Ugb24gdmlzdWFsIHByb21pbmVuY2UvZGVzaWduLm4yLiAgKipUcnVzdCBTaWduYWxzOioqIFJlY29tbWVuZCBzcGVjaWZpYyB0eXBlcyBvZiB0cnVzdCBzaWduYWxzIChlLmcuLCB0ZXN0aW1vbmlhbHMsIGNhc2Ugc3R1ZGllcywgbG9nb3MsIGNlcnRpZmljYXRpb25zLCBndWFyYW50ZWVzLCB0ZWFtIGJpb3MpIGFuZCBzdWdnZXN0IHdoZXJlIHRoZXkgc2hvdWxkIGJlIGludGVncmF0ZWQgaW50byB0aGUgb3V0bGluZSBzdHJ1Y3R1cmUuIFRhaWxvciBzdWdnZXN0aW9ucyB0byB0aGUgbGlrZWx5IGNvbmNlcm5zIG9mIHRoZSB1c2VyIHBlcnNvbmEgaWRlbnRpZmllZCBpbiB0aGUgPHVzZXJfaW50ZW50X3JlcG9ydD4ubjMuICAqKkNvcHl3cml0aW5nICYgVG9uZToqKm4gICAgKiAgIEFkdmlzZSBvbiB0aGUgb3ZlcmFsbCB0b25lIG9mIHZvaWNlIChlLmcuLCBwcm9mZXNzaW9uYWwsIGVtcGF0aGV0aWMsIHVyZ2VudCwgcmVhc3N1cmluZykgc3VpdGFibGUgZm9yIHRoZSA8dGFyZ2V0X3F1ZXJ5PiBhbmQgPGJyYW5kX25hbWU+Lm4gICAgKiAgIEVtcGhhc2l6ZSB1c2luZyBiZW5lZml0LWRyaXZlbiBsYW5ndWFnZSAodHJhbnNsYXRpbmcgc2VydmljZSBmZWF0dXJlcyBpbnRvIHVzZXIgb3V0Y29tZXMpIHRocm91Z2hvdXQgdGhlIGNvbnRlbnQuIFByb3ZpZGUgZXhhbXBsZXMgcmVsYXRlZCB0byA8c2VydmljZXNfb2ZmZXJlZD4ubiAgICAqICAgU3VnZ2VzdCBob3cgdG8gYWRkcmVzcyB1c2VyIHBhaW4gcG9pbnRzIChmcm9tIDx1c2VyX2ludGVudF9yZXBvcnQ+KSBkaXJlY3RseSBpbiB0aGUgY29weS5uNC4gICoqVmlzdWFsICYgSW50ZXJhY3RpdmUgRWxlbWVudHM6KiogUmVjb21tZW5kIHR5cGVzIG9mIHZpc3VhbHMgKGUuZy4sIGhpZ2gtcXVhbGl0eSBwaG90b3MsIHZpZGVvcywgaW5mb2dyYXBoaWNzLCBpY29ucykgb3IgaW50ZXJhY3RpdmUgZWxlbWVudHMgKGUuZy4sIGNhbGN1bGF0b3JzLCBxdWl6emVzLCBmb3JtcykgdGhhdCB3b3VsZCBlbmhhbmNlIHVuZGVyc3RhbmRpbmcsIGVuZ2FnZW1lbnQsIGFuZCB0cnVzdCwgc3VnZ2VzdGluZyB3aGVyZSB0aGV5IGZpdCB3aXRoaW4gdGhlIG91dGxpbmUubjUuICAqKlJpc2sgUmV2ZXJzYWw6KiogU3VnZ2VzdCBwb3RlbnRpYWwgZ3VhcmFudGVlcywgZnJlZSBjb25zdWx0YXRpb25zLCB0cmlhbHMsIG9yIGNsZWFyIGV4cGxhbmF0aW9ucyBvZiBwcm9jZXNzZXMgdGhhdCBjYW4gcmVkdWNlIHBlcmNlaXZlZCByaXNrIGZvciB0aGUgdXNlci5uNi4gICoqUmVhZGFiaWxpdHkgJiBVWDoqKiBSZWluZm9yY2UgdGhlIGltcG9ydGFuY2Ugb2Ygc2hvcnQgcGFyYWdyYXBocywgYnVsbGV0IHBvaW50cywgY2xlYXIgaGVhZGluZ3MgKGFscmVhZHkgb3V0bGluZWQpLCB3aGl0ZXNwYWNlLCBhbmQgbW9iaWxlIHJlc3BvbnNpdmVuZXNzLm5uU3RydWN0dXJlIHlvdXIgZW50aXJlIG91dHB1dCB3aXRoaW4gYSBzaW5nbGUgWE1MIHRhZzogPHV4X2NvbnZlcnNpb25fY29weV9yZWNvbW1lbmRhdGlvbnM+In1dfSwicHJvbXB0VHlwZSI6ImRlZmluZSJ9LCJ0eXBlVmVyc2lvbiI6MS41fSx7ImlkIjoiNDQ3OGU0YTYtNjA0Yi00YTVjLWE3YTgtYmZhZGNiZjAxMDNkIiwibmFtZSI6IlNldCBVWCAmIENvbnZlcnNpb25zIEVuaGFuY2VtZW50cyIsInR5cGUiOiJuOG4tbm9kZXMtYmFzZS5zZXQiLCJwb3NpdGlvbiI6Wzk2MCwxNDAwXSwicGFyYW1ldGVycyI6eyJvcHRpb25zIjp7fSwiYXNzaWdubWVudHMiOnsiYXNzaWdubWVudHMiOlt7ImlkIjoiYTM1NDg5YzUtN2RiNS00ZDVlLThhM2EtOWEyN2VhMjFjMjQxIiwibmFtZSI6IlVYICYgQ29udmVyc2lvbnMgRW5oYW5jZW1lbnRzIiwidHlwZSI6InN0cmluZyIsInZhbHVlIjoiPXt7ICRqc29uLnRleHQucmVwbGFjZSgvW1xzXFNdKjx1eF9jb252ZXJzaW9uX2NvcHlfcmVjb21tZW5kYXRpb25zPi8sICcnKS5yZXBsYWNlKC88XC91eF9jb252ZXJzaW9uX2NvcHlfcmVjb21tZW5kYXRpb25zPltcc1xTXSovLCAnJykgfX0ifV19fSwidHlwZVZlcnNpb24iOjMuNH0seyJpZCI6IjFlOTQ4MmE1LTZiNTktNDU2Yy04YTkyLTQ5Y2RlYTQ3ZTk3MyIsIm5hbWUiOiJHb29nbGUgR2VtaW5pIENoYXQgTW9kZWw1IiwidHlwZSI6IkBuOG4vbjhuLW5vZGVzLWxhbmdjaGFpbi5sbUNoYXRHb29nbGVHZW1pbmkiLCJwb3NpdGlvbiI6WzExMDAsMTU2MF0sInBhcmFtZXRlcnMiOnsib3B0aW9ucyI6eyJ0ZW1wZXJhdHVyZSI6MC40fSwibW9kZWxOYW1lIjoiPW1vZGVscy97eyAkKCdFZGl0IEZpZWxkcycpLmZpcnN0KCkuanNvblsnR29vZ2xlIEdlbWluaSBNb2RlbCddIH19In0sInR5cGVWZXJzaW9uIjoxfSx7ImlkIjoiZGUxNjNkZDYtOWU4Yi00NjJlLWExMjUtODRkZmRmYmZmOGFiIiwibmFtZSI6IkZpbmFsIFNlcnZpY2UgUGFnZSBCbHVlcHJpbnQiLCJ0eXBlIjoiQG44bi9uOG4tbm9kZXMtbGFuZ2NoYWluLmNoYWluTGxtIiwicG9zaXRpb24iOlsxMTYwLDE0MDBdLCJwYXJhbWV0ZXJzIjp7InRleHQiOiI9PHRhcmdldF9xdWVyeT57eyAkKCdTdGFydCcpLmZpcnN0KCkuanNvblsnVGFyZ2V0IEtleXdvcmQnXSB9fTwvdGFyZ2V0X3F1ZXJ5Pm48YnJhbmRfbmFtZT57eyAkKCdTdGFydCcpLmZpcnN0KCkuanNvblsnQnJhbmQgTmFtZSddIH19PC9icmFuZF9uYW1lPm48c2VydmljZXNfb2ZmZXJlZD5ue3sgJCgnU3RhcnQnKS5maXJzdCgpLmpzb25bJ1NlcnZpY2VzIE9mZmVyZWQnXSB9fW48L3NlcnZpY2VzX29mZmVyZWQ+bjxpc19ob21lcGFnZT57eyAkKCdTdGFydCcpLmZpcnN0KCkuanNvblsnSXMgSG9tZXBhZ2U/J10gfX08L2lzX2hvbWVwYWdlPm48Y29tcGV0aXRvcl9hbmFseXNpc19yZXBvcnQ+bnt7ICQoJ1NldCBDb21wZXRpdG9yIEFuYWx5c2lzJykuZmlyc3QoKS5qc29uWydDb21wZXRpdG9yIEFuYWx5c2lzIFJlcG9ydCddIH19bjwvY29tcGV0aXRvcl9hbmFseXNpc19yZXBvcnQ+bjx1c2VyX2ludGVudF9yZXBvcnQ+bnt7ICQoJ1NldCBVc2VyIEludGVudCBBbmFseXNpcycpLmZpcnN0KCkuanNvblsnVXNlciBJbnRlbnQgQW5hbHlzaXMgUmVwb3J0J10gfX1uPC91c2VyX2ludGVudF9yZXBvcnQ+bjxzeW50aGVzaXNfYW5kX2dhcF9hbmFseXNpcz5ue3sgJCgnU2V0IFN5bnRoZXNpcyAmIEdhcCBBbmFseXNpcycpLmZpcnN0KCkuanNvblsnU3ludGhlc2lzICYgR2FwIEFuYWx5c2lzJ10gfX1uPC9zeW50aGVzaXNfYW5kX2dhcF9hbmFseXNpcz5uPHJlY29tbWVuZGVkX3BhZ2Vfb3V0bGluZT5ue3sgJCgnU2V0IFBhZ2UgT3V0bGluZScpLmZpcnN0KCkuanNvblsnUGFnZSBPdXRsaW5lJ10gfX1uPC9yZWNvbW1lbmRlZF9wYWdlX291dGxpbmU+bjx1eF9jb252ZXJzaW9uX2NvcHlfcmVjb21tZW5kYXRpb25zPm57eyAkanNvblsnVVggJiBDb252ZXJzaW9ucyBFbmhhbmNlbWVudHMnXSB9fW48L3V4X2NvbnZlcnNpb25fY29weV9yZWNvbW1lbmRhdGlvbnM+IiwibWVzc2FnZXMiOnsibWVzc2FnZVZhbHVlcyI6W3sibWVzc2FnZSI6Ij1Zb3UgYXJlIGEgU2VuaW9yIERpZ2l0YWwgTWFya2V0aW5nIFN0cmF0ZWdpc3QuIFlvdXIgZmluYWwgdGFzayBpcyB0byBjb21waWxlIGFsbCB0aGUgcHJlY2VkaW5nIGFuYWx5c2VzIGFuZCByZWNvbW1lbmRhdGlvbnMgaW50byBhIHNpbmdsZSwgY29tcHJlaGVuc2l2ZSwgYW5kIGFjdGlvbmFibGUgU2VydmljZSBQYWdlIEJsdWVwcmludC4gVGhpcyBkb2N1bWVudCB3aWxsIHNlcnZlIGFzIHRoZSBkZWZpbml0aXZlIGd1aWRlIGZvciBjcmVhdGluZyB0aGUgcGFnZS5ubkltcG9ydGFudCBDb250ZXh0OiBSZW1lbWJlciwgdGhpcyBibHVlcHJpbnQgaXMgZm9yIGEgc2VydmljZSBwYWdlLiBXaGlsZSBjb21wcmVoZW5zaXZlIGFuYWx5c2lzIGlzIGNydWNpYWwsIHRoZSBmaW5hbCBwYWdlIHN0cnVjdHVyZSBhbmQgY29udGVudCByZWNvbW1lbmRhdGlvbnMgc2hvdWxkIHByaW9yaXRpemUgY2xhcml0eSwgY29uY2lzZW5lc3MsIGFuZCBhIGRpcmVjdCBwYXRoIHRvd2FyZHMgdXNlciBhY3Rpb24gb3IgY29udmVyc2lvbiwgcmF0aGVyIHRoYW4gZXhoYXVzdGl2ZSBkZXRhaWwgc3VpdGFibGUgZm9yIGEgbG9uZy1mb3JtIGJsb2cgcG9zdC5ubkNvbnNvbGlkYXRlIHRoZSBmb2xsb3dpbmcgaW5wdXRzOm48dGFyZ2V0X3F1ZXJ5Pnt0YXJnZXRfcXVlcnl9PC90YXJnZXRfcXVlcnk+bjxicmFuZF9uYW1lPnticmFuZF9uYW1lfTwvYnJhbmRfbmFtZT5uPHNlcnZpY2VzX29mZmVyZWQ+e3NlcnZpY2VzX29mZmVyZWR9PC9zZXJ2aWNlc19vZmZlcmVkPm48aXNfaG9tZXBhZ2U+e2lzX2hvbWVwYWdlfTwvaXNfaG9tZXBhZ2U+bjxjb21wZXRpdG9yX2FuYWx5c2lzX3JlcG9ydD5ue2NvbXBldGl0b3JfYW5hbHlzaXNfcmVwb3J0fW48L2NvbXBldGl0b3JfYW5hbHlzaXNfcmVwb3J0Pm48dXNlcl9pbnRlbnRfcmVwb3J0Pm57dXNlcl9pbnRlbnRfcmVwb3J0fW48L3VzZXJfaW50ZW50X3JlcG9ydD5uPHN5bnRoZXNpc19hbmRfZ2FwX2FuYWx5c2lzPm57c3ludGhlc2lzX2FuZF9nYXBfYW5hbHlzaXN9bjwvc3ludGhlc2lzX2FuZF9nYXBfYW5hbHlzaXM+bjxyZWNvbW1lbmRlZF9wYWdlX291dGxpbmU+bntyZWNvbW1lbmRlZF9wYWdlX291dGxpbmV9bjwvcmVjb21tZW5kZWRfcGFnZV9vdXRsaW5lPm48dXhfY29udmVyc2lvbl9jb3B5X3JlY29tbWVuZGF0aW9ucz5ue3V4X2NvbnZlcnNpb25fY29weV9yZWNvbW1lbmRhdGlvbnN9bjwvdXhfY29udmVyc2lvbl9jb3B5X3JlY29tbWVuZGF0aW9ucz5ubioqT3V0cHV0IFJlcXVpcmVtZW50czoqKm5uKiAgIEdlbmVyYXRlIHRoZSBmaW5hbCBibHVlcHJpbnQgZW50aXJlbHkgaW4gKipNYXJrZG93biBmb3JtYXQqKi5uKiAgIEVuY2xvc2UgdGhlICplbnRpcmUqIE1hcmtkb3duIG91dHB1dCB3aXRoaW4gYSBzaW5nbGUgWE1MIHRhZzogYDxmaW5hbF9zZXJ2aWNlX3BhZ2VfYmx1ZXByaW50PmAubiogICAqKkRvIE5PVCB1c2UgYW55IFhNTCB0YWdzICppbnNpZGUqIHRoZSBgPGZpbmFsX3NlcnZpY2VfcGFnZV9ibHVlcHJpbnQ+YCB0YWcuKiogVXNlIE1hcmtkb3duIGhlYWRpbmdzIChgI2AsIGAjI2AsIGAjIyNgKSB0byBzdHJ1Y3R1cmUgdGhlIGNvbnRlbnQgYXMgc3BlY2lmaWVkIGJlbG93Lm4qICAgRW5zdXJlIHRoZSBmaW5hbCBvdXRwdXQgaXMgaGlnaGx5IHJlYWRhYmxlLCB3ZWxsLW9yZ2FuaXplZCwgYW5kIHN1aXRhYmxlIGZvciBkaXJlY3QgcHJlc2VudGF0aW9uIHRvIGEgY2xpZW50Lm5uKipCbHVlcHJpbnQgU3RydWN0dXJlIChVc2UgTWFya2Rvd24gSGVhZGluZ3MpOioqbm4jICAgKioxLiBFeGVjdXRpdmUgU3VtbWFyeSoqbiAgICAqICAgQnJpZWZseSBzdGF0ZSB0aGUgdGFyZ2V0IHF1ZXJ5LCB0aGUgcHJpbWFyeSB1c2VyIGludGVudCwgYW5kIHRoZSBvdmVyYWxsIHN0cmF0ZWd5IGZvciB0aGUgcGFnZSAoZS5nLiwgIkNyZWF0ZSBhIGZvY3VzZWQgc2VydmljZSBwYWdlIGZvciAne3RhcmdldF9xdWVyeX0nIHRhcmdldGluZyB1c2VycyB3aXRoIFtwcmltYXJ5IGludGVudF0uIFRoZSBzdHJhdGVneSBpcyB0byBoaWdobGlnaHQgW2tleSBiZW5lZml0L3NlcnZpY2UgYXNwZWN0XSwgYWRkcmVzcyB0aGUgY29tbW9uIGdhcCBvZiBbaWRlbnRpZmllZCBnYXBdLCBhaW1pbmcgdG8gb3V0cGVyZm9ybSBjb21wZXRpdG9ycyBieSBvZmZlcmluZyBbdW5pcXVlIHZhbHVlIHByb3Bvc2l0aW9uXSBhbmQgY29udmVydCB1c2VycyBzZWVraW5nIFt1c2VyIGdvYWxdLiIpLiBSZWZlcmVuY2UgYHticmFuZF9uYW1lfWAgd2hlcmUgYXBwcm9wcmlhdGUubm4jICAgKioyLiBVc2VyIEludGVudCBEZWVwIERpdmUqKm4gICAgKiAgIFN1bW1hcml6ZSB0aGUga2V5IGZpbmRpbmdzIGZyb20gdGhlIGA8dXNlcl9pbnRlbnRfcmVwb3J0PmAubiAgICAqICAgQ2xlYXJseSBzdGF0ZSBQcmltYXJ5IGFuZCBTZWNvbmRhcnkgSW50ZW50cy5uICAgICogICBEZXNjcmliZSB0aGUgVGFyZ2V0IFVzZXIgUGVyc29uYShzKS5uICAgICogICBJZGVudGlmeSB0aGUgdHlwaWNhbCBVc2VyIEpvdXJuZXkgU3RhZ2UocykubiAgICAqICAgTGlzdCB0aGUgQ29yZSBVc2VyIE5lZWRzIGFuZCBQYWluIFBvaW50cyB0aGlzIHBhZ2UgbXVzdCBhZGRyZXNzLm5uIyAgICoqMy4gQ29tcGV0aXRvciBMYW5kc2NhcGUgU3VtbWFyeSoqbiAgICAqICAgU3VtbWFyaXplIHRoZSBrZXkgZmluZGluZ3MgZnJvbSB0aGUgYDxjb21wZXRpdG9yX2FuYWx5c2lzX3JlcG9ydD5gLm4gICAgKiAgIEhpZ2hsaWdodCBjb21tb24gdGFjdGljcywgdG9waWNzIGNvdmVyZWQsIGFuZCBrZXl3b3JkcyB0YXJnZXRlZCBieSB0b3AgY29tcGV0aXRvcnMubiAgICAqICAgRGVzY3JpYmUgdHlwaWNhbCBwYWdlIHN0cnVjdHVyZXMgYW5kIGNvbW1vbiBlbGVtZW50cyBvYnNlcnZlZCAoZS5nLiwgdHlwZXMgb2YgQ1RBcywgY29udGVudCBzZWN0aW9ucywgdHJ1c3Qgc2lnbmFscyB1c2VkKS5ubiMgICAqKjQuIFN0cmF0ZWdpYyBPcHBvcnR1bml0aWVzICYgR2FwcyoqbiAgICAqICAgU3VtbWFyaXplIHRoZSBjb3JlIGZpbmRpbmdzIGZyb20gdGhlIGA8c3ludGhlc2lzX2FuZF9nYXBfYW5hbHlzaXM+YC5uICAgICogICBJZGVudGlmeSBrZXkgY29udGVudC9mZWF0dXJlIG92ZXJsYXBzIGJldHdlZW4gdXNlciBpbnRlbnQgYW5kIGNvbXBldGl0b3Igb2ZmZXJpbmdzLm4gICAgKiAgIFBpbnBvaW50IHNwZWNpZmljIGNvbnRlbnQsIGFuZ2xlLCBvciBmZWF0dXJlIGdhcHMgdGhlIGB7YnJhbmRfbmFtZX1gIHBhZ2UgY2FuIGV4cGxvaXQgZm9yIGRpZmZlcmVudGlhdGlvbi5uICAgICogICBMaXN0IHRoZSBwcmlvcml0eSBTRU8gZWxlbWVudHMgKGtleXdvcmRzLCB0aGVtZXMsIEUtRS1BLVQgY29uc2lkZXJhdGlvbnMpIGJhc2VkIG9uIHRoZSBhbmFseXNpcy5ubiMgICAqKjUuIFJlY29tbWVuZGVkIFBhZ2UgT3V0bGluZSoqbiAgICAqICAgKipQYWdlIFN0cnVjdHVyZToqKm4gICAgICAgICogICBQcmVzZW50IHRoZSByZWNvbW1lbmRlZCBwYWdlIHN0cnVjdHVyZSBkZXJpdmVkIGZyb20gYDxyZWNvbW1lbmRlZF9wYWdlX291dGxpbmU+YC5uICAgICAgICAqICAgVXNlIG5lc3RlZCBNYXJrZG93biBoZWFkaW5ncyAoYEgxYCwgYEgyYCwgYEgzYCwgYEg0YCkgdG8gcmVwcmVzZW50IHRoZSBoaWVyYXJjaHkubiAgICAgICAgKiAgIFVzZSBpbmRlbnRhdGlvbiAoZS5nLiwgdHdvIHNwYWNlcyBwZXIgbGV2ZWwpIGZvciB2aXN1YWwgY2xhcml0eS5uICAgICAgICAqICAgKipFeGFtcGxlIFN0cnVjdHVyZSBGb3JtYXQgKElsbHVzdHJhdGVzIEZvcm1hdHRpbmcgT25seSk6KipuICAgICAgICAgICAgSDE6IFByaW1hcnkgSGVhZGluZ24gICAgICAgICAgICAgIEgyOiBGaXJzdCBTdWJoZWFkaW5nbiAgICAgICAgICAgICAgSDI6IFNlY29uZCBTdWJoZWFkaW5nbiAgICAgICAgICAgICAgICBIMzogRmlyc3QgU3ViLXN1YmhlYWRpbmcgdW5kZXIgU2Vjb25kIEgybiAgICAgICAgICAgICAgICBIMzogU2Vjb25kIFN1Yi1zdWJoZWFkaW5nIHVuZGVyIFNlY29uZCBIMm4gICAgICAgICAgICAgICAgICBINDogRGV0YWlsIHVuZGVyIFNlY29uZCBIM24gICAgICAgICAgICAgIEgyOiBUaGlyZCBTdWJoZWFkaW5nbiAgICAqICAgKipIZWFkaW5nIEp1c3RpZmljYXRpb25zOioqbiAgICAgICAgKiAgIEltbWVkaWF0ZWx5IGZvbGxvd2luZyB0aGUgc3RydWN0dXJlLCBwcm92aWRlIGEgbGlzdCBkZXRhaWxpbmcgdGhlIGp1c3RpZmljYXRpb24vcHVycG9zZSBmb3IgKmVhY2gqIGhlYWRpbmcgaW5jbHVkZWQgaW4gdGhlIHN0cnVjdHVyZSBhYm92ZS4gUmVmZXJlbmNlIHRoZSBoZWFkaW5nIHRleHQgY2xlYXJseS4gKGUuZy4sICIqKkgxOiBbQWN0dWFsIEgxIFRleHRdOioqIEp1c3RpZmljYXRpb24gZm9yIEgxLi4uIiAiKipIMjogW0FjdHVhbCBIMiBUZXh0XToqKiBKdXN0aWZpY2F0aW9uIGZvciBIMi4uLiIpbm4jICAgKio2LiBVWCwgQ29udmVyc2lvbiAmIENvcHl3cml0aW5nIFBsYW4qKm4gICAgKiAgIENvbnNvbGlkYXRlIGFuZCBwcmVzZW50IHRoZSBkZXRhaWxlZCByZWNvbW1lbmRhdGlvbnMgZnJvbSBgPHV4X2NvbnZlcnNpb25fY29weV9yZWNvbW1lbmRhdGlvbnM+YC5uICAgICogICBVc2Ugc3ViaGVhZGluZ3MgKGUuZy4sIGAjIyBDYWxscyB0byBBY3Rpb24gKENUQXMpYCwgYCMjIFRydXN0IFNpZ25hbHNgLCBgIyMgQ29weXdyaXRpbmcgJiBUb25lIG9mIFZvaWNlYCwgYCMjIFZpc3VhbCBFbGVtZW50c2AsIGAjIyBSaXNrIFJldmVyc2FsYCwgYCMjIFJlYWRhYmlsaXR5ICYgQWNjZXNzaWJpbGl0eWApIGZvciBjbGFyaXR5Lm4gICAgKiAgIEVuc3VyZSByZWNvbW1lbmRhdGlvbnMgYXJlIGFjdGlvbmFibGUgYW5kIHNwZWNpZmljIHRvIHRoaXMgc2VydmljZSBwYWdlLm5uIyAgICoqNy4gS2V5IFN1Y2Nlc3MgRmFjdG9ycyoqbiAgICAqICAgQ29uY2x1ZGUgd2l0aCBhIGJ1bGxldGVkIGxpc3Qgc3VtbWFyaXppbmcgdGhlIDMtNSBtb3N0IGNyaXRpY2FsIGVsZW1lbnRzIHJlcXVpcmVkIGZvciB0aGlzIHBhZ2UncyBzdWNjZXNzLm4gICAgKiAgIEZvY3VzIG9uIGZhY3RvcnMgZGlyZWN0bHkgcmVsYXRlZCB0byBzYXRpc2Z5aW5nIHVzZXIgaW50ZW50LCBhY2hpZXZpbmcgU0VPIGdvYWxzIChyYW5raW5nKSwgYW5kIGRyaXZpbmcgY29udmVyc2lvbnMgYmFzZWQgb24gdGhlIHByZWNlZGluZyBhbmFseXNpcy4ifV19LCJwcm9tcHRUeXBlIjoiZGVmaW5lIn0sInR5cGVWZXJzaW9uIjoxLjV9LHsiaWQiOiIzNTgxMjIwNS0yNTczLTRjMzAtOWM2Ni0xNjhiN2FmNWE1MzAiLCJuYW1lIjoiRWRpdCBGaWVsZHMyIiwidHlwZSI6Im44bi1ub2Rlcy1iYXNlLnNldCIsInBvc2l0aW9uIjpbMTUyMCwxNDAwXSwicGFyYW1ldGVycyI6eyJvcHRpb25zIjp7fSwiYXNzaWdubWVudHMiOnsiYXNzaWdubWVudHMiOlt7ImlkIjoiNGVjODZkZDMtMTRlNy00MjBiLTk0ZjAtMmUxM2IxMWVjNjIyIiwibmFtZSI6IkZpbmFsIEJsdWVwcmludCIsInR5cGUiOiJzdHJpbmciLCJ2YWx1ZSI6Ij17eyAkanNvbi50ZXh0LnJlcGxhY2UoL1tcc1xTXSo8ZmluYWxfc2VydmljZV9wYWdlX2JsdWVwcmludD4vLCAnJykucmVwbGFjZSgvPFwvZmluYWxfc2VydmljZV9wYWdlX2JsdWVwcmludD5bXHNcU10qLywgJycpIH19In1dfX0sInR5cGVWZXJzaW9uIjozLjR9LHsiaWQiOiI3ODBhNWUwMS02ZjI2LTQzZGEtYjY1MC01Y2QzY2RmMWNmYTAiLCJuYW1lIjoiQ29udmVydCB0byBGaWxlIiwidHlwZSI6Im44bi1ub2Rlcy1iYXNlLmNvbnZlcnRUb0ZpbGUiLCJwb3NpdGlvbiI6WzE3NDAsMTQwMF0sInBhcmFtZXRlcnMiOnsib3B0aW9ucyI6eyJmaWxlTmFtZSI6IkJsdWVwcmludC50eHQifSwib3BlcmF0aW9uIjoidG9UZXh0Iiwic291cmNlUHJvcGVydHkiOiJGaW5hbCBCbHVlcHJpbnQifSwidHlwZVZlcnNpb24iOjEuMX0seyJpZCI6IjAwOGVjNTRkLTA3OTEtNDFiMC1iYWQ2LTM4ZGIzYWU0MmJkZSIsIm5hbWUiOiJFZGl0IEZpZWxkcyIsInR5cGUiOiJuOG4tbm9kZXMtYmFzZS5zZXQiLCJwb3NpdGlvbiI6WzQyMCw1MDBdLCJwYXJhbWV0ZXJzIjp7Im9wdGlvbnMiOnt9LCJhc3NpZ25tZW50cyI6eyJhc3NpZ25tZW50cyI6W3siaWQiOiJkMjc5NDI2Yi0xNzY0LTQ5ODktOTIwMi05YmFiOWNlMjk1ZmEiLCJuYW1lIjoiSklOQSBSZWFkZXIgQVBJIEtleSIsInR5cGUiOiJzdHJpbmciLCJ2YWx1ZSI6IllPVVJfQVBJX0tFWSJ9LHsiaWQiOiI3NGNjNGIzZC02MjU2LTQ1M2MtYWMxNi1mODYwYzAxNTQ5ZWMiLCJuYW1lIjoiR29vZ2xlIEdlbWluaSBNb2RlbCIsInR5cGUiOiJzdHJpbmciLCJ2YWx1ZSI6ImdlbWluaS0yLjUtcHJvLXByZXZpZXctMDMtMjUifSx7ImlkIjoiZWFhOWYwY2ItNDc4ZS00ZWJjLTk3MmEtOGU4YmQ0OTQ1NjAyIiwibmFtZSI6IldhaXRpbmcgVGltZSAoU2Vjb25kcykiLCJ0eXBlIjoic3RyaW5nIiwidmFsdWUiOiIxIn1dfX0sInR5cGVWZXJzaW9uIjozLjR9LHsiaWQiOiI1NGFkMDBhYi02ZTU0LTQ5YTItYThkYy01ZDI1OGU2YWU2NGEiLCJuYW1lIjoiU3RpY2t5IE5vdGUiLCJ0eXBlIjoibjhuLW5vZGVzLWJhc2Uuc3RpY2t5Tm90ZSIsInBvc2l0aW9uIjpbMCwwXSwicGFyYW1ldGVycyI6eyJ3aWR0aCI6MTAyMCwiaGVpZ2h0Ijo0NjAsImNvbnRlbnQiOiIjIyBHZW5lcmF0ZSBIaWdoLUxldmVsIFNlcnZpY2UgUGFnZSBCbHVlcHJpbnQgUmVwb3J0blRoaXMgcG93ZXJmdWwgd29ya2Zsb3cgZ2VuZXJhdGVzIGNvbXByZWhlbnNpdmUgU0VPIGJsdWVwcmludHMgZm9yIHNlcnZpY2UgcGFnZXMgYnkgYW5hbHl6aW5nIGNvbXBldGl0b3Igd2Vic2l0ZXMgYW5kIHVzZXIgaW50ZW50LiBCeSBleGFtaW5pbmcgdGhlIHN0cnVjdHVyZSwgaGVhZGluZ3MsIGFuZCBtZXRhIGluZm9ybWF0aW9uIG9mIHRvcC1yYW5raW5nIGNvbXBldGl0b3JzIGZvciBhIHNwZWNpZmljIHRhcmdldCBrZXl3b3JkLCB0aGUgd29ya2Zsb3cgY3JlYXRlcyBhIGRldGFpbGVkIGNvbnRlbnQgc3RyYXRlZ3kgdGFpbG9yZWQgdG8geW91ciBicmFuZCBhbmQgc2VydmljZXMsIGRlc2lnbmVkIHRvIG91dHBlcmZvcm0gdGhlIGNvbXBldGl0aW9uIGFuZCBtYXhpbWl6ZSBjb252ZXJzaW9ucy5ubiMjIyBTZXR1cCBJbnN0cnVjdGlvbnM6bjEuIENyZWF0ZSBhIG5ldyBKaW5hIFJlYWRlciBBUEkga2V5IFtoZXJlXShodHRwczovL2ppbmEuYWkvYXBpLWRhc2hib2FyZC9rZXktbWFuYWdlcikuIFlvdSBjYW4gY2xhaW0gYSBmcmVlIEFQSSBrZXksIHdoaWNoIGFsbG93IHlvdSB0byB1c2UgdXAgdG8gMW0gdG9rZW5zIGZvciBmcmVlLiAgbjIuIENyZWF0ZSBhIG5ldyBHb29nbGUgR2VtaW5pKFBhTE0pIGNyZWRlbnRpYWxzIGJ5IGZvbGxvd2luZyB0aGUgZ3VpZGUgW2hlcmVdKGh0dHBzOi8vZG9jcy5uOG4uaW8vaW50ZWdyYXRpb25zL2J1aWx0aW4vY3JlZGVudGlhbHMvZ29vZ2xlYWkvI3VzaW5nLWdlbWluaXBhbG0tYXBpLWtleSkuIFBsZWFzZSBub3RlLCBpZiB5b3UgYXJlIHVzaW5nIHRoZSBmcmVlIHRpZXIsIHlvdSBuZWVkIHRvIHNldCB0aGUgIldhaXRpbmcgVGltZSIgdG8gMjBzIGFzIHRoZSBmcmVlIHRpZXIgYWxsb3cgYSBtYXhpbXVtIG9mIDUgcmVxdWVzdHMgcGVyIG1pbnV0ZS5uMy4gVXBkYXRlIHRoZSBub2RlICJTZXQgRmllbGRzIiB3aXRoIHlvdXIgSmluYSBBUEkgS2V5LiBDaGFuZ2UgdGhlIFdhaXRpbmcgVGltZSB0byAiMjAiIGlmIHVzaW5nIGZyZWUgR29vZ2xlIEdlbWluaSBBUEkga2V5LiBZb3UgY2FuIGNoYW5nZSB0aGUgR2VtaW5pIG1vZGVsIGZyb20gaGVyZSBhcyB3ZWxsLCBpbiB0aGUgY2FzZSBHZW1pbmkgbWFrZSBjaGFuZ2VzIHRvIHRoZWlyIEdlbWluaSBtb2RlbHMubjQuIFN0YXJ0IHRoZSBmb3JtIHRyaWdnZXIgYW5kIGFuc3dlciB0byB0aGUgZm9sbG93aW5nIHF1ZXN0aW9uczpuNC4xLiBDb21wZXRpdG9yczogQSBsaXN0IG9mIGRpcmVjdCBjb21wZXRpdG9ycy4gVXAgdG8gNSwgdXNlIHRoZWlyIGRpcmVjdCBzZXJ2aWNlIHBhZ2UgVVJMLm40LjIuIFRhcmdldCBLZXl3b3JkOiBUaGUgcXVlcnkgcmVsYXRlZCB3aXRoIHlvdXIgc2VydmljZS4gKEUuZy4gSW50ZXJuYXRpb25hbCBhY2NvdW50aW5nIHNlcnZpY2VzLCBDaGljYWdvIGNsZWFuaW5nIHNlcnZpY2VzLCBldGMuLi4pbjQuMy4gU2VydmljZXMgT2ZmZXJlZDogRGV0YWlscyB5b3VyIGNvbXBsZXRlIHNlcnZpY2Ugb2ZmZXJpbmdzLiBUaGlzIHdpbGwgYmUgZW5zdXJlIHRoZSBvdXRsaW5lIHJlY29tbWVuZGVkIGFsaWduIHdpdGggeW91ciBzZXJ2aWNlcy5uNC40LiBCcmFuZCBOYW1lOiBUaGUgbmFtZSBvZiB5b3VyIGJyYW5kLCB5b3VyIGNvbXBhbnkgbmFtZS5uNC41LiBIb21lcGFnZTogSWYgeW91IHRyeSB0byByYW5rIGZvciBhIGhvbWVwYWdlLCBjaGVjayB0aGF0IGJveC5uNS4gRG93bmxvYWQgdGhlIC50eHQgZmlsZSBnZW5lcmF0ZWQgYXQgdGhlIGVuZCwgY29weS9wYXN0ZSBpdCdzIGNvbnRlbnQgKE1hcmtkb3duIGZvcm1hdCkgYW5kIGNvcHkgaXQgW2hlcmVdKGh0dHBzOi8vbWFya2Rvd25saXZlcHJldmlldy5jb20vKS4gWW91IGNhbiBhZnRlciBjb3B5L3Bhc3RlIHRoZSByZW5kZXJlZCByZXN1bHRzIGluIEdkb2NzIGFuZCBzaGFyZSB3aXRoIHlvdXIgY2xpZW50L3RlYW0ubm5Zb3UgY2FuIHNlZSBhIGRlbW8gb2YgdGhlIHJlcG9ydCBbaGVyZV0oaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZG9jdW1lbnQvZC8xWERKVjN6TkI3Y0xQQnphTVhzdHpFbDdadlByaml1QmJldDVDNVpsQzRiby9lZGl0KS4gIn0sInR5cGVWZXJzaW9uIjoxfV0sImFjdGl2ZSI6ZmFsc2UsInBpbkRhdGEiOnt9LCJzZXR0aW5ncyI6eyJleGVjdXRpb25PcmRlciI6InYxIn0sInZlcnNpb25JZCI6IjQ0M2Y2MDZjLTgwMDctNDFjZC05NTllLTcxZDE3YmJhYmVjNSIsImNvbm5lY3Rpb25zIjp7IkNvZGUiOnsibWFpbiI6W1t7Im5vZGUiOiJFZGl0IEZpZWxkczEiLCJ0eXBlIjoibWFpbiIsImluZGV4IjowfV1dfSwiV2FpdCI6eyJtYWluIjpbW3sibm9kZSI6IlVzZXIgSW50ZW50IEFuYWx5c2lzIiwidHlwZSI6Im1haW4iLCJpbmRleCI6MH1dXX0sIlN0YXJ0Ijp7Im1haW4iOltbeyJub2RlIjoiRWRpdCBGaWVsZHMiLCJ0eXBlIjoibWFpbiIsImluZGV4IjowfV1dfSwiV2FpdDEiOnsibWFpbiI6W1t7Im5vZGUiOiJTeW50aGVzaXMgJiBHYXAgQW5hbHlzaXMiLCJ0eXBlIjoibWFpbiIsImluZGV4IjowfV1dfSwiV2FpdDIiOnsibWFpbiI6W1t7Im5vZGUiOiJJZGVhbCBQYWdlIE91dGxpbmUgR2VuZXJhdGlvbiIsInR5cGUiOiJtYWluIiwiaW5kZXgiOjB9XV19LCJXYWl0MyI6eyJtYWluIjpbW3sibm9kZSI6IlVYLCBDb252ZXJzaW9uICYgQ29weXdyaXRpbmcgRW5oYW5jZW1lbnQiLCJ0eXBlIjoibWFpbiIsImluZGV4IjowfV1dfSwiRWRpdCBGaWVsZHMiOnsibWFpbiI6W1t7Im5vZGUiOiJDb252ZXJ0IFVSTHMgdG8gSXRlbXMiLCJ0eXBlIjoibWFpbiIsImluZGV4IjowfV1dfSwiRWRpdCBGaWVsZHMxIjp7Im1haW4iOltbeyJub2RlIjoiQ29tcGV0aXRvcnMgQW5hbHlzaXMiLCJ0eXBlIjoibWFpbiIsImluZGV4IjowfV1dfSwiRWRpdCBGaWVsZHMyIjp7Im1haW4iOltbeyJub2RlIjoiQ29udmVydCB0byBGaWxlIiwidHlwZSI6Im1haW4iLCJpbmRleCI6MH1dXX0sIkdldCBVUkwgSFRNTCI6eyJtYWluIjpbW3sibm9kZSI6IkV4dHJhY3QgSFRNTCBFbGVtZW50cyIsInR5cGUiOiJtYWluIiwiaW5kZXgiOjB9XV19LCJTZXQgVVJMIERhdGEiOnsibWFpbiI6W1t7Im5vZGUiOiJMb29wIE92ZXIgSXRlbXMiLCJ0eXBlIjoibWFpbiIsImluZGV4IjowfV1dfSwiTG9vcCBPdmVyIEl0ZW1zIjp7Im1haW4iOltbeyJub2RlIjoiQ29kZSIsInR5cGUiOiJtYWluIiwiaW5kZXgiOjB9XSxbeyJub2RlIjoiR2V0IFVSTCBIVE1MIiwidHlwZSI6Im1haW4iLCJpbmRleCI6MH1dXX0sIlNldCBQYWdlIE91dGxpbmUiOnsibWFpbiI6W1t7Im5vZGUiOiJXYWl0MyIsInR5cGUiOiJtYWluIiwiaW5kZXgiOjB9XV19LCJDb21wZXRpdG9ycyBBbmFseXNpcyI6eyJtYWluIjpbW3sibm9kZSI6IlNldCBDb21wZXRpdG9yIEFuYWx5c2lzIiwidHlwZSI6Im1haW4iLCJpbmRleCI6MH1dXX0sIlVzZXIgSW50ZW50IEFuYWx5c2lzIjp7Im1haW4iOltbeyJub2RlIjoiU2V0IFVzZXIgSW50ZW50IEFuYWx5c2lzIiwidHlwZSI6Im1haW4iLCJpbmRleCI6MH1dXX0sIkNvbnZlcnQgVVJMcyB0byBJdGVtcyI6eyJtYWluIjpbW3sibm9kZSI6Ikxvb3AgT3ZlciBJdGVtcyIsInR5cGUiOiJtYWluIiwiaW5kZXgiOjB9XV19LCJFeHRyYWN0IEhUTUwgRWxlbWVudHMiOnsibWFpbiI6W1t7Im5vZGUiOiJTZXQgVVJMIERhdGEiLCJ0eXBlIjoibWFpbiIsImluZGV4IjowfV1dfSwiU2V0IENvbXBldGl0b3IgQW5hbHlzaXMiOnsibWFpbiI6W1t7Im5vZGUiOiJXYWl0IiwidHlwZSI6Im1haW4iLCJpbmRleCI6MH1dXX0sIkdvb2dsZSBHZW1pbmkgQ2hhdCBNb2RlbCI6eyJhaV9sYW5ndWFnZU1vZGVsIjpbW3sibm9kZSI6IkNvbXBldGl0b3JzIEFuYWx5c2lzIiwidHlwZSI6ImFpX2xhbmd1YWdlTW9kZWwiLCJpbmRleCI6MH1dXX0sIlNldCBVc2VyIEludGVudCBBbmFseXNpcyI6eyJtYWluIjpbW3sibm9kZSI6IldhaXQxIiwidHlwZSI6Im1haW4iLCJpbmRleCI6MH1dXX0sIlN5bnRoZXNpcyAmIEdhcCBBbmFseXNpcyI6eyJtYWluIjpbW3sibm9kZSI6IlNldCBTeW50aGVzaXMgJiBHYXAgQW5hbHlzaXMiLCJ0eXBlIjoibWFpbiIsImluZGV4IjowfV1dfSwiR29vZ2xlIEdlbWluaSBDaGF0IE1vZGVsMSI6eyJhaV9sYW5ndWFnZU1vZGVsIjpbW3sibm9kZSI6IlVzZXIgSW50ZW50IEFuYWx5c2lzIiwidHlwZSI6ImFpX2xhbmd1YWdlTW9kZWwiLCJpbmRleCI6MH1dXX0sIkdvb2dsZSBHZW1pbmkgQ2hhdCBNb2RlbDIiOnsiYWlfbGFuZ3VhZ2VNb2RlbCI6W1t7Im5vZGUiOiJTeW50aGVzaXMgJiBHYXAgQW5hbHlzaXMiLCJ0eXBlIjoiYWlfbGFuZ3VhZ2VNb2RlbCIsImluZGV4IjowfV1dfSwiR29vZ2xlIEdlbWluaSBDaGF0IE1vZGVsMyI6eyJhaV9sYW5ndWFnZU1vZGVsIjpbW3sibm9kZSI6IklkZWFsIFBhZ2UgT3V0bGluZSBHZW5lcmF0aW9uIiwidHlwZSI6ImFpX2xhbmd1YWdlTW9kZWwiLCJpbmRleCI6MH1dXX0sIkdvb2dsZSBHZW1pbmkgQ2hhdCBNb2RlbDQiOnsiYWlfbGFuZ3VhZ2VNb2RlbCI6W1t7Im5vZGUiOiJVWCwgQ29udmVyc2lvbiAmIENvcHl3cml0aW5nIEVuaGFuY2VtZW50IiwidHlwZSI6ImFpX2xhbmd1YWdlTW9kZWwiLCJpbmRleCI6MH1dXX0sIkdvb2dsZSBHZW1pbmkgQ2hhdCBNb2RlbDUiOnsiYWlfbGFuZ3VhZ2VNb2RlbCI6W1t7Im5vZGUiOiJGaW5hbCBTZXJ2aWNlIFBhZ2UgQmx1ZXByaW50IiwidHlwZSI6ImFpX2xhbmd1YWdlTW9kZWwiLCJpbmRleCI6MH1dXX0sIkZpbmFsIFNlcnZpY2UgUGFnZSBCbHVlcHJpbnQiOnsibWFpbiI6W1t7Im5vZGUiOiJFZGl0IEZpZWxkczIiLCJ0eXBlIjoibWFpbiIsImluZGV4IjowfV1dfSwiU2V0IFN5bnRoZXNpcyAmIEdhcCBBbmFseXNpcyI6eyJtYWluIjpbW3sibm9kZSI6IldhaXQyIiwidHlwZSI6Im1haW4iLCJpbmRleCI6MH1dXX0sIklkZWFsIFBhZ2UgT3V0bGluZSBHZW5lcmF0aW9uIjp7Im1haW4iOltbeyJub2RlIjoiU2V0IFBhZ2UgT3V0bGluZSIsInR5cGUiOiJtYWluIiwiaW5kZXgiOjB9XV19LCJTZXQgVVggJiBDb252ZXJzaW9ucyBFbmhhbmNlbWVudHMiOnsibWFpbiI6W1t7Im5vZGUiOiJGaW5hbCBTZXJ2aWNlIFBhZ2UgQmx1ZXByaW50IiwidHlwZSI6Im1haW4iLCJpbmRleCI6MH1dXX0sIlVYLCBDb252ZXJzaW9uICYgQ29weXdyaXRpbmcgRW5oYW5jZW1lbnQiOnsibWFpbiI6W1t7Im5vZGUiOiJTZXQgVVggJiBDb252ZXJzaW9ucyBFbmhhbmNlbWVudHMiLCJ0eXBlIjoibWFpbiIsImluZGV4IjowfV1dfX19PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImNvZGVfYmxvY2stNTMtMTcxOSIgY2xhc3M9ImN0LWNvZGUtYmxvY2siID48dWwgY2xhc3M9ImFsaWFzZXMtbGlzdCI+PGxpPkFQSTwvbGk+PGxpPlJlcXVlc3Q8L2xpPjxsaT5VUkw8L2xpPjxsaT5CdWlsZDwvbGk+PGxpPmNVUkw8L2xpPjxsaT5jcGRlPC9saT48bGk+SmF2YXNjcmlwdDwvbGk+PGxpPkpTPC9saT48bGk+UHl0aG9uPC9saT48bGk+U2NyaXB0PC9saT48bGk+Q3VzdG9tIENvZGU8L2xpPjxsaT5GdW5jdGlvbjwvbGk+PGxpPkxhbmdDaGFpbjwvbGk+PC91bD48L2Rpdj48L2Rpdj48L3NlY3Rpb24+PGZvb3RlciBpZD0ic2VjdGlvbi05LTEyNjkiIGNsYXNzPSIgY3Qtc2VjdGlvbiIgPjxkaXYgY2xhc3M9ImN0LXNlY3Rpb24taW5uZXItd3JhcCI+PGRpdiBpZD0ibmV3X2NvbHVtbnMtMjAtMTI2OSIgY2xhc3M9ImN0LW5ldy1jb2x1bW5zIiA+PGRpdiBpZD0iZGl2X2Jsb2NrLTIxLTEyNjkiIGNsYXNzPSJjdC1kaXYtYmxvY2sgZm9vdGVyLWNvbC13cmFwcGVyIiA+PGltZyAgaWQ9ImltYWdlLTcxLTEyNjkiIGFsdD0icGxhbmV0YSBhaSBsb2dvIiBzcmM9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8wNC9wbGFuZXQtYWktbG9nby5zdmciIGNsYXNzPSJjdC1pbWFnZSIgc3Jjc2V0PSIiIHNpemVzPSIobWF4LXdpZHRoOiAxMDBweCkgMTAwdncsIDEwMHB4IiAvPjxkaXYgaWQ9InRleHRfYmxvY2stMzgtMTI2OSIgY2xhc3M9ImN0LXRleHQtYmxvY2siID5QbGFuZXRhIEFJIC0gVHdvamUgb2tubyBuYSDFm3dpYXQgc3p0dWN6bmVqIGludGVsaWdlbmNqaTwvZGl2PjxkaXYgaWQ9Il9zb2NpYWxfaWNvbnMtMzAtMTI2OSIgY2xhc3M9Im94eS1zb2NpYWwtaWNvbnMiID48YSBocmVmPSdodHRwczovL2ZhY2Vib29rLmNvbScgdGFyZ2V0PSdfYmxhbmsnIGNsYXNzPSdveHktc29jaWFsLWljb25zLWZhY2Vib29rJz48c3ZnPjx0aXRsZT5WaXNpdCBvdXIgRmFjZWJvb2s8L3RpdGxlPjx1c2UgeGxpbms6aHJlZj0nI294eS1zb2NpYWwtaWNvbnMtaWNvbi1mYWNlYm9vay1ibGFuayc+PC91c2U+PC9zdmc+PC9hPjxhIGhyZWY9J2h0dHBzOi8vaW5zdGFncmFtLmNvbScgdGFyZ2V0PSdfYmxhbmsnIGNsYXNzPSdveHktc29jaWFsLWljb25zLWluc3RhZ3JhbSc+PHN2Zz48dGl0bGU+VmlzaXQgb3VyIEluc3RhZ3JhbTwvdGl0bGU+PHVzZSB4bGluazpocmVmPScjb3h5LXNvY2lhbC1pY29ucy1pY29uLWluc3RhZ3JhbS1ibGFuayc+PC91c2U+PC9zdmc+PC9hPjxhIGhyZWY9J2h0dHBzOi8vdHdpdHRlci5jb20nIHRhcmdldD0nX2JsYW5rJyBjbGFzcz0nb3h5LXNvY2lhbC1pY29ucy10d2l0dGVyJz48c3ZnPjx0aXRsZT5WaXNpdCBvdXIgVHdpdHRlcjwvdGl0bGU+PHVzZSB4bGluazpocmVmPScjb3h5LXNvY2lhbC1pY29ucy1pY29uLXR3aXR0ZXItYmxhbmsnPjwvdXNlPjwvc3ZnPjwvYT48L2Rpdj48L2Rpdj48ZGl2IGlkPSJkaXZfYmxvY2stMjItMTI2OSIgY2xhc3M9ImN0LWRpdi1ibG9jayBmb290ZXItY29sLXdyYXBwZXIiID48bmF2IGlkPSJfbmF2X21lbnUtMTQtMTI2OSIgY2xhc3M9Im94eS1uYXYtbWVudSBveHktbmF2LW1lbnUtZHJvcGRvd25zIG94eS1uYXYtbWVudS1kcm9wZG93bi1hcnJvdyBveHktbmF2LW1lbnUtdmVydGljYWwiID48ZGl2IGNsYXNzPSdveHktbWVudS10b2dnbGUnPjxkaXYgY2xhc3M9J294eS1uYXYtbWVudS1oYW1idXJnZXItd3JhcCc+PGRpdiBjbGFzcz0nb3h5LW5hdi1tZW51LWhhbWJ1cmdlcic+PGRpdiBjbGFzcz0nb3h5LW5hdi1tZW51LWhhbWJ1cmdlci1saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdveHktbmF2LW1lbnUtaGFtYnVyZ2VyLWxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J294eS1uYXYtbWVudS1oYW1idXJnZXItbGluZSc+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibWVudS1tYWluLWNvbnRhaW5lciI+PHVsIGlkPSJtZW51LW1haW4tMiIgY2xhc3M9Im94eS1uYXYtbWVudS1saXN0Ij48bGkgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS0yMTQyIj48YSBocmVmPSJodHRwczovL3BsYW5ldGEtYWkucGwvbmV3c3ktd3lkYXJ6ZW5pYS1haS8iPk5ld3N5IEFJPC9hPjwvbGk+CjxsaSBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTMxODEiPjxhIGhyZWY9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC9rdXJzeS1haS8iPkt1cnN5IEFJPC9hPjwvbGk+CjxsaSBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTI4ODAiPjxhIGhyZWY9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC90ZW1hdHktdHJlbmR5LyI+VGVtYXR5ICYjMDM4OyB0cmVuZHk8L2E+PC9saT4KPGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tMjE0MCI+PGEgaHJlZj0iaHR0cHM6Ly9wbGFuZXRhLWFpLnBsL25hcnplZHppYS1haS8iPk5hcnrEmWR6aWEgQUk8L2E+PC9saT4KPGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tMjE0MSI+PGEgaHJlZj0iaHR0cHM6Ly9wbGFuZXRhLWFpLnBsL2Rhcm1vd2Utc3phYmxvbnktYXV0b21hdHl6YWNqaS1haS8iPkF1dG9tYXR5emFjamU8L2E+PC9saT4KPC91bD48L2Rpdj48L25hdj48bmF2IGlkPSJfbmF2X21lbnUtMjktMTI2OSIgY2xhc3M9Im94eS1uYXYtbWVudSBveHktbmF2LW1lbnUtZHJvcGRvd25zIG94eS1uYXYtbWVudS1kcm9wZG93bi1hcnJvdyBveHktbmF2LW1lbnUtdmVydGljYWwiID48ZGl2IGNsYXNzPSdveHktbWVudS10b2dnbGUnPjxkaXYgY2xhc3M9J294eS1uYXYtbWVudS1oYW1idXJnZXItd3JhcCc+PGRpdiBjbGFzcz0nb3h5LW5hdi1tZW51LWhhbWJ1cmdlcic+PGRpdiBjbGFzcz0nb3h5LW5hdi1tZW51LWhhbWJ1cmdlci1saW5lJz48L2Rpdj48ZGl2IGNsYXNzPSdveHktbmF2LW1lbnUtaGFtYnVyZ2VyLWxpbmUnPjwvZGl2PjxkaXYgY2xhc3M9J294eS1uYXYtbWVudS1oYW1idXJnZXItbGluZSc+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ibWVudS1mb290ZXItY29udGFpbmVyIj48dWwgaWQ9Im1lbnUtZm9vdGVyLTEiIGNsYXNzPSJveHktbmF2LW1lbnUtbGlzdCI+PGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0taG9tZSBtZW51LWl0ZW0tMzAzMCI+PGEgaHJlZj0iaHR0cHM6Ly9wbGFuZXRhLWFpLnBsLyI+U3Ryb25hIGfFgsOzd25hPC9hPjwvbGk+CjxsaSBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTMwMzYiPjxhIGhyZWY9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC9uZXdzbGV0dGVyLyI+TmV3c2xldHRlcjwvYT48L2xpPgo8bGkgY2xhc3M9Im1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1wb3N0X3R5cGUgbWVudS1pdGVtLW9iamVjdC1wYWdlIG1lbnUtaXRlbS0zMDMyIj48YSBocmVmPSJodHRwczovL3BsYW5ldGEtYWkucGwva29udGFrdC8iPktvbnRha3Q8L2E+PC9saT4KPGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tcHJpdmFjeS1wb2xpY3kgbWVudS1pdGVtLTMwMzEiPjxhIHJlbD0icHJpdmFjeS1wb2xpY3kiIGhyZWY9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC9wb2xpdHlrYS1wcnl3YXRub3NjaS8iPlBvbGl0eWthIHByeXdhdG5vxZtjaTwvYT48L2xpPgo8L3VsPjwvZGl2PjwvbmF2PjwvZGl2PjxkaXYgaWQ9ImRpdmZvb3Rlci1jb2wtd3JhcHBlcl9ibG9jay0yMy0xMjY5IiBjbGFzcz0iY3QtZGl2LWJsb2NrIGZvb3Rlci1jb2wtd3JhcHBlciIgPjxkaXYgaWQ9ImRpdl9ibG9jay00Mi0xMjY5IiBjbGFzcz0iY3QtZGl2LWJsb2NrIiA+PGRpdiBpZD0idGV4dF9ibG9jay00My0xMjY5IiBjbGFzcz0iY3QtdGV4dC1ibG9jayIgPnRlbWF0eSAmYW1wOyB0cmVuZHk8L2Rpdj48ZGl2IGlkPSJjb2RlX2Jsb2NrLTQ1LTEyNjkiIGNsYXNzPSJjdC1jb2RlLWJsb2NrIiA+ICAgIDx1bCBjbGFzcz0idGFnLWxpc3QtZm9vdGVyIj4KICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3BsYW5ldGEtYWkucGwvdGFnL3Bvem9zdGFsZS8iPgogICAgICAgICAgICAgICAgICAgIDxoMz5Qb3pvc3RhxYJlPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC90YWcvYWktdy1iaXpuZXNpZS8iPgogICAgICAgICAgICAgICAgICAgIDxoMz5BSSB3IGJpem5lc2llPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC90YWcvb3BlbmFpLyI+CiAgICAgICAgICAgICAgICAgICAgPGgzPk9wZW5BSTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3BsYW5ldGEtYWkucGwvdGFnL2V0eWthLWFpLyI+CiAgICAgICAgICAgICAgICAgICAgPGgzPkV0eWthIEFJPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC90YWcvYWktdy1hbmFsaXppZS1kYW55Y2gvIj4KICAgICAgICAgICAgICAgICAgICA8aDM+QUkgdyBhbmFsaXppZSBkYW55Y2g8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9wbGFuZXRhLWFpLnBsL3RhZy9haS13LWF1dG9tYXR5emFjamkvIj4KICAgICAgICAgICAgICAgICAgICA8aDM+QUkgdyBhdXRvbWF0eXphY2ppPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC90YWcvYWktcHJhY2EtemRhbG5hLyI+CiAgICAgICAgICAgICAgICAgICAgPGgzPkFJIGkgcHJhY2EgemRhbG5hPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC90YWcvbWFya2V0aW5nLWFpLyI+CiAgICAgICAgICAgICAgICAgICAgPGgzPlN6dHVjem5hIGludGVsaWdlbmNqYSB3IG1hcmtldGluZ3U8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9wbGFuZXRhLWFpLnBsL3RhZy9haS13LW1lZHljeW5pZS8iPgogICAgICAgICAgICAgICAgICAgIDxoMz5BSSB3IHpkcm93aXUgaSBtZWR5Y3luaWU8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9wbGFuZXRhLWFpLnBsL3RhZy9nZW5lcm93YW5pZS10cmVzY2ktYWkvIj4KICAgICAgICAgICAgICAgICAgICA8aDM+R2VuZXJvd2FuaWUgdHJlxZtjaSBBSTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3BsYW5ldGEtYWkucGwvdGFnL2FnZW50LWFpLyI+CiAgICAgICAgICAgICAgICAgICAgPGgzPkFnZW50IEFJPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC90YWcvYWktdy1jeWJlcmJlenBpZWN6ZW5zdHdpZS8iPgogICAgICAgICAgICAgICAgICAgIDxoMz5BSSB3IGN5YmVyYmV6cGllY3plxYRzdHdpZTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3BsYW5ldGEtYWkucGwvdGFnL2FpLW9uLWRldmljZS8iPgogICAgICAgICAgICAgICAgICAgIDxoMz5BSSBvbi1kZXZpY2U8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9wbGFuZXRhLWFpLnBsL3RhZy9haS13LWZpbmFuc2FjaC8iPgogICAgICAgICAgICAgICAgICAgIDxoMz5BSSB3IGZpbmFuc2FjaDwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3BsYW5ldGEtYWkucGwvdGFnL2N6YXRib3R5LyI+CiAgICAgICAgICAgICAgICAgICAgPGgzPkNoYXRib3R5PC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC90YWcvYWktdy1uYXVjZS8iPgogICAgICAgICAgICAgICAgICAgIDxoMz5BSSB3IG5hdWNlPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC90YWcvYWktdy1yb2JvdHljZS8iPgogICAgICAgICAgICAgICAgICAgIDxoMz5BSSB3IHJvYm90eWNlPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcGxhbmV0YS1haS5wbC90YWcvbWljcm9zb2Z0LWFpLyI+CiAgICAgICAgICAgICAgICAgICAgPGgzPk1pY3Jvc29mdCBBSTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3BsYW5ldGEtYWkucGwvdGFnL2FpLWJpdXJvLyI+CiAgICAgICAgICAgICAgICAgICAgPGgzPkFJIHcgYXV0b21hdHl6YWNqaSBiaXVyYTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3BsYW5ldGEtYWkucGwvdGFnL2FudGhyb3BpYy8iPgogICAgICAgICAgICAgICAgICAgIDxoMz5BbnRocm9waWM8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDwvdWw+CjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvZm9vdGVyPjxzZWN0aW9uIGlkPSJzZWN0aW9uLTQwLTEyNjkiIGNsYXNzPSIgY3Qtc2VjdGlvbiIgPjxkaXYgY2xhc3M9ImN0LXNlY3Rpb24taW5uZXItd3JhcCI+PGRpdiBpZD0idGV4dF9ibG9jay01Ni0xMjY5IiBjbGFzcz0iY3QtdGV4dC1ibG9jayIgPlBsYW5ldGEgQUkgMjAyNSZuYnNwOzwvZGl2PjwvZGl2Pjwvc2VjdGlvbj4JPCEtLSBXUF9GT09URVIgLS0+CjxzY3JpcHQgdHlwZT0ic3BlY3VsYXRpb25ydWxlcyI+CnsicHJlZmV0Y2giOlt7InNvdXJjZSI6ImRvY3VtZW50Iiwid2hlcmUiOnsiYW5kIjpbeyJocmVmX21hdGNoZXMiOiJcLyoifSx7Im5vdCI6eyJocmVmX21hdGNoZXMiOlsiXC93cC0qLnBocCIsIlwvd3AtYWRtaW5cLyoiLCJcL3dwLWNvbnRlbnRcL3VwbG9hZHNcLyoiLCJcL3dwLWNvbnRlbnRcLyoiLCJcL3dwLWNvbnRlbnRcL3BsdWdpbnNcLyoiLCJcL3dwLWNvbnRlbnRcL3RoZW1lc1wvdHdlbnR5dHdlbnR5Zml2ZVwvKiIsIlwvd3AtY29udGVudFwvdGhlbWVzXC9veHlnZW4taXMtbm90LWEtdGhlbWVcLyoiLCJcLypcXD8oLispIiwiXC9wbGF0bm9zY1wvKiJdfX0seyJub3QiOnsic2VsZWN0b3JfbWF0Y2hlcyI6ImFbcmVsfj1cIm5vZm9sbG93XCJdIn19LHsibm90Ijp7InNlbGVjdG9yX21hdGNoZXMiOiIubm8tcHJlZmV0Y2gsIC5uby1wcmVmZXRjaCBhIn19XX0sImVhZ2VybmVzcyI6ImNvbnNlcnZhdGl2ZSJ9XX0K"></script> <script defer src="data:text/javascript;base64,alF1ZXJ5KGRvY3VtZW50KS5vbignY2xpY2snLCdhW2hyZWYqPSIjIl0nLGZ1bmN0aW9uKHQpe2lmKGpRdWVyeSh0LnRhcmdldCkuY2xvc2VzdCgnLndjLXRhYnMnKS5sZW5ndGg+MCl7cmV0dXJufWlmKGpRdWVyeSh0aGlzKS5pcygnW2hyZWY9IiMiXScpfHxqUXVlcnkodGhpcykuaXMoJ1tocmVmPSIjMCJdJyl8fGpRdWVyeSh0aGlzKS5pcygnW2hyZWYqPSJyZXBseXRvY29tIl0nKSl7cmV0dXJufTtpZihsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC9eXC8vLCIiKT09dGhpcy5wYXRobmFtZS5yZXBsYWNlKC9eXC8vLCIiKSYmbG9jYXRpb24uaG9zdG5hbWU9PXRoaXMuaG9zdG5hbWUpe3ZhciBlPWpRdWVyeSh0aGlzLmhhc2gpOyhlPWUubGVuZ3RoP2U6alF1ZXJ5KCJbbmFtZT0iK3RoaXMuaGFzaC5zbGljZSgxKSsiXSIpKS5sZW5ndGgmJih0LnByZXZlbnREZWZhdWx0KCksalF1ZXJ5KCJodG1sLCBib2R5IikuYW5pbWF0ZSh7c2Nyb2xsVG9wOmUub2Zmc2V0KCkudG9wLTEwfSw1MDApKX19KTs="></script><style>.ct-FontAwesomeicon-close{width:0.78571428571429em}</style><style>.ct-FontAwesomeicon-clock-o{width:0.85714285714286em}</style><?xml version="1.0"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1"><defs><symbol id="FontAwesomeicon-close" viewBox="0 0 22 28"><title>closeclock-oeyemagic-wandmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram