From df10ce80b1be1e393781623dfac5b25e273693ee Mon Sep 17 00:00:00 2001 From: Lorenzo Mangani Date: Tue, 1 Oct 2024 21:13:43 +0200 Subject: [PATCH 01/19] Build with 20.17 Signed-off-by: Lorenzo Mangani --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4e382c1c..74252f82 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # qryn -FROM node:20.10-slim +FROM node:20.17-slim COPY . /app WORKDIR /app From 1b83584fe2bb2750cc92130b29475afd302639cf Mon Sep 17 00:00:00 2001 From: Lorenzo Mangani Date: Tue, 1 Oct 2024 21:16:18 +0200 Subject: [PATCH 02/19] Test Node 18,20,22 Signed-off-by: Lorenzo Mangani --- .github/workflows/node-clickhouse.js.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node-clickhouse.js.yml b/.github/workflows/node-clickhouse.js.yml index 4a7d6f45..df94db04 100644 --- a/.github/workflows/node-clickhouse.js.yml +++ b/.github/workflows/node-clickhouse.js.yml @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [18, 16, 20] + node-version: [18, 20, 22] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ services: clickhouse: From 29225788f5e8047bb5d238b0586db7f0f63c9333 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 00:07:01 +0200 Subject: [PATCH 03/19] chore(deps): bump find-my-way (#582) Bumps the npm_and_yarn group with 1 update in the / directory: [find-my-way](https://github.com/delvedor/find-my-way). Updates `find-my-way` from 8.2.0 to 8.2.2 - [Release notes](https://github.com/delvedor/find-my-way/releases) - [Commits](https://github.com/delvedor/find-my-way/compare/v8.2.0...v8.2.2) --- updated-dependencies: - dependency-name: find-my-way dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 88a35fe6..5320c6e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5141,9 +5141,9 @@ } }, "node_modules/find-my-way": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.2.0.tgz", - "integrity": "sha512-HdWXgFYc6b1BJcOBDBwjqWuHJj1WYiqrxSh25qtU4DabpMFdj/gSunNBQb83t+8Zt67D7CXEzJWTkxaShMTMOA==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.2.2.tgz", + "integrity": "sha512-Dobi7gcTEq8yszimcfp/R7+owiT4WncAJ7VTTgFH1jYJ5GaG1FbhjwDG820hptN0QDFvzVY3RfCzdInvGPGzjA==", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-querystring": "^1.0.0", From 42fc72db15e35a4e6e480eaa72822a9d587aaa59 Mon Sep 17 00:00:00 2001 From: gl Date: Wed, 2 Oct 2024 14:46:29 +0200 Subject: [PATCH 04/19] first round of code refactoring --- pyroscope/pprof-bin/Cargo.toml | 1 + pyroscope/pprof-bin/src/lib.rs | 2734 +++++++++++++++++++++++++------- 2 files changed, 2164 insertions(+), 571 deletions(-) diff --git a/pyroscope/pprof-bin/Cargo.toml b/pyroscope/pprof-bin/Cargo.toml index 776d8439..13e905d7 100644 --- a/pyroscope/pprof-bin/Cargo.toml +++ b/pyroscope/pprof-bin/Cargo.toml @@ -27,6 +27,7 @@ flate2 = "1.0" # code size when deploying. console_error_panic_hook = { version = "0.1.7", optional = true } base64 = "0.22.1" +memchr = "2.7.4" [dev-dependencies] wasm-bindgen-test = "0.3.34" diff --git a/pyroscope/pprof-bin/src/lib.rs b/pyroscope/pprof-bin/src/lib.rs index a22a99ab..219cb4d7 100644 --- a/pyroscope/pprof-bin/src/lib.rs +++ b/pyroscope/pprof-bin/src/lib.rs @@ -2,7 +2,6 @@ mod ch64; mod merge; -use std::cmp::Ordering; use ch64::city_hash_64; use ch64::read_uint64_le; use lazy_static::lazy_static; @@ -11,20 +10,17 @@ use pprof_pb::google::v1::Location; use pprof_pb::google::v1::Profile; use pprof_pb::google::v1::Sample; use pprof_pb::querier::v1::FlameGraph; +use pprof_pb::querier::v1::FlameGraphDiff; use pprof_pb::querier::v1::Level; use pprof_pb::querier::v1::SelectMergeStacktracesResponse; -use pprof_pb::querier::v1::FlameGraphDiff; use prost::Message; use std::collections::{HashMap, HashSet}; use std::io::Read; use std::panic; +use std::sync::Arc; use std::sync::Mutex; use std::vec::Vec; use wasm_bindgen::prelude::*; -use std::sync::Arc; - -//TODO: REMOVE -use std::fs; pub mod pprof_pb { @@ -81,264 +77,256 @@ struct Tree { } impl Tree { - pub fn total(&self) -> i64 { - let mut total: i64 = 0; - if !self.nodes.contains_key(&0) { - return 0 as i64; - } - for c in 0..self.nodes.get(&0).unwrap().len() { - let _c = &self.nodes.get(&0).unwrap()[c]; - total += _c.total[0]; + pub fn total(&self) -> Vec { + if let Some(children) = self.nodes.get(&0) { + let mut total = vec![0; children[0].total.len()]; + for child in children.iter() { + for (t, &child_total) in total.iter_mut().zip(&child.total) { + *t += child_total; + } + } + total + } else { + Vec::new() } - total } + pub fn add_name(&mut self, name: String, name_hash: u64) { - if self.names_map.contains_key(&name_hash) { - return; + if let std::collections::hash_map::Entry::Vacant(entry) = self.names_map.entry(name_hash) { + self.names.push(name); + entry.insert(self.names.len() - 1); } - self.names.push(name); - self.names_map.insert(name_hash, self.names.len() - 1); } } -fn find_node(id: u64, nodes: &Vec>) -> i32 { - let mut n: i32 = -1; - for c in 0..nodes.len() { - let _c = &nodes[c]; - if _c.node_id == id { - n = c as i32; - break; - } - } - n +fn find_node(id: u64, nodes: &[Arc]) -> Option { + nodes.iter().position(|node| node.node_id == id) } fn get_node_id(parent_id: u64, name_hash: u64, level: u16) -> u64 { - let mut node_bytes: [u8; 16] = [0; 16]; - for i in 0..8 { - node_bytes[i] = ((parent_id >> (i * 8)) & 0xFF) as u8; - } - for i in 0..8 { - node_bytes[i + 8] = ((name_hash >> (i * 8)) & 0xFF) as u8; - } - let mut _level = level; - if _level > 511 { - _level = 511; - } - (city_hash_64(&node_bytes[0..]) >> 9) | ((_level as u64) << 55) + let mut node_bytes = [0u8; 16]; + node_bytes[..8].copy_from_slice(&parent_id.to_le_bytes()); + node_bytes[8..].copy_from_slice(&name_hash.to_le_bytes()); + + let adjusted_level = level.min(511); + (city_hash_64(&node_bytes) >> 9) | ((adjusted_level as u64) << 55) } struct MergeTotalsProcessor { - from_idx: Vec, + from_idx: Vec>, } impl MergeTotalsProcessor { fn new(tree: &Tree, p: &Profile) -> MergeTotalsProcessor { - let mut from_idx: Vec = vec![-1; tree.sample_types.len()]; - for i in 0..tree.sample_types.len() { - let sample_type_to = &tree.sample_types[i]; - for j in 0..p.sample_type.len() { - let sample_type_from = format!( - "{}:{}", - p.string_table[p.sample_type[j].r#type as usize], - p.string_table[p.sample_type[j].unit as usize] - ); - if sample_type_from == *sample_type_to { - from_idx[i] = j as i32; - break; - } - } - } + let from_idx: Vec> = tree + .sample_types + .iter() + .map(|sample_type_to| { + p.sample_type.iter().position(|sample_type| { + let sample_type_from = format!( + "{}:{}", + p.string_table[sample_type.r#type as usize], + p.string_table[sample_type.unit as usize] + ); + sample_type_from == *sample_type_to + }) + }) + .collect(); + MergeTotalsProcessor { from_idx } } fn merge_totals( &self, node: Arc, - _max_self: &Vec, + max_self: &mut Vec, sample: &Sample, merge_self: bool, - ) -> (TreeNodeV2, Vec) { - let mut max_self = _max_self.clone(); + ) -> TreeNodeV2 { let mut res: TreeNodeV2 = TreeNodeV2 { fn_id: node.fn_id, node_id: node.node_id, slf: vec![0; node.slf.len()], total: vec![0; node.slf.len()], }; - for i in 0..self.from_idx.len() { - if self.from_idx[i] == -1 { - continue; - } - res.total[i] += sample.value[self.from_idx[i] as usize]; - if merge_self { - res.slf[i] += sample.value[self.from_idx[i] as usize]; - for i in 0..max_self.len() { + + for (i, opt_idx) in self.from_idx.iter().enumerate() { + if let Some(from_idx) = opt_idx { + res.total[i] += sample.value[*from_idx]; + if merge_self { + res.slf[i] += sample.value[*from_idx]; if max_self[i] < node.slf[i] { max_self[i] = node.slf[i]; } } } } - (res, max_self) + + res } } fn merge(tree: &mut Tree, p: &Profile) { - let mut functions: HashMap = HashMap::new(); - for f in p.function.iter() { - functions.insert(f.id, &f); - } - let mut locations: HashMap = HashMap::new(); - for l in p.location.iter() { - locations.insert(l.id, &l); - } + let functions: HashMap = p.function.iter().map(|f| (f.id, f)).collect(); + let locations: HashMap = p.location.iter().map(|l| (l.id, l)).collect(); - let m = MergeTotalsProcessor::new(tree, p); - for l in p.location.iter() { - let line = &p.string_table[functions[&l.line[0].function_id].name as usize]; - let line_hash = city_hash_64(line.as_bytes()); - if tree.names_map.contains_key(&line_hash) { - continue; + let merge_processor = MergeTotalsProcessor::new(tree, p); + + for location in &p.location { + if let Some(function) = functions.get(&location.line[0].function_id) { + let line = &p.string_table[function.name as usize]; + let line_hash = city_hash_64(line.as_bytes()); + + if let std::collections::hash_map::Entry::Vacant(entry) = + tree.names_map.entry(line_hash) + { + tree.names.push(line.clone()); + entry.insert(tree.names.len() - 1); + } } - tree.names.push(line.clone()); - tree.names_map.insert(line_hash, tree.names.len() - 1); } - for s in p.sample.iter() { + for sample in &p.sample { let mut parent_id: u64 = 0; - for i in (0..s.location_id.len()).rev() { - let location = locations[&s.location_id[i]]; - let name = &p.string_table[functions[&location.line[0].function_id].name as usize]; - let name_hash = city_hash_64(name.as_bytes()); - let node_id = get_node_id(parent_id, name_hash, (s.location_id.len() - i) as u16); - if !tree.nodes.contains_key(&parent_id) && tree.nodes_num < 2000000 { - tree.nodes.insert(parent_id, Vec::new()); - } - let mut fake_children: Vec> = Vec::new(); - let children = tree.nodes.get_mut(&parent_id).unwrap_or(&mut fake_children); - let mut n = find_node(node_id, children); - if n == -1 { - children.push(Arc::new(TreeNodeV2 { - //parent_id, - fn_id: name_hash, - node_id, - slf: vec![0; tree.sample_types.len()], - total: vec![0; tree.sample_types.len()], - })); - let idx = children.len().clone() - 1; - let new_node_and_max_self = m.merge_totals( - children.get(idx).unwrap().clone(), - tree.max_self.as_ref(), - s, - i == 0, - ); - children[idx] = Arc::new(new_node_and_max_self.0); - tree.max_self = new_node_and_max_self.1; - n = idx as i32; - } else if tree.nodes_num < 2000000 { - m.merge_totals( - children.get_mut(n as usize).unwrap().clone(), - &tree.max_self, - s, - i == 0, - ); - tree.nodes_num += 1; + + for (i, &location_id) in sample.location_id.iter().enumerate().rev() { + if let Some(location) = locations.get(&location_id) { + if let Some(function) = functions.get(&location.line[0].function_id) { + let name = &p.string_table[function.name as usize]; + let name_hash = city_hash_64(name.as_bytes()); + let node_id = + get_node_id(parent_id, name_hash, (sample.location_id.len() - i) as u16); + + let children = tree.nodes.entry(parent_id).or_insert_with(Vec::new); + + match find_node(node_id, children) { + Some(index) => { + if tree.nodes_num < 2_000_000 { + let updated_node = merge_processor.merge_totals( + children[index].clone(), + &mut tree.max_self, + sample, + i == 0, + ); + children[index] = Arc::new(updated_node); + tree.nodes_num += 1; + } + } + None => { + if tree.nodes_num < 2_000_000 { + let new_node = TreeNodeV2 { + fn_id: name_hash, + node_id, + slf: vec![0; tree.sample_types.len()], + total: vec![0; tree.sample_types.len()], + }; + + let new_node_arc = Arc::new(new_node); + let updated_node = merge_processor.merge_totals( + new_node_arc.clone(), + &mut tree.max_self, + sample, + i == 0, + ); + + children.push(Arc::new(updated_node)); + tree.nodes_num += 1; + } + } + } + + parent_id = node_id; + } } - parent_id = node_id; } } } fn read_uleb128(bytes: &[u8]) -> (usize, usize) { - let mut result = 0; + let mut result = 0usize; let mut shift = 0; - loop { - let byte = bytes[shift]; - result |= ((byte & 0x7f) as usize) << (shift * 7); - shift += 1; + + for (index, &byte) in bytes.iter().enumerate() { + result |= ((byte & 0x7f) as usize) << shift; + shift += 7; + if byte & 0x80 == 0 { - break; + return (result, index + 1); } } - (result, shift) + + (result, bytes.len()) } fn bfs(t: &Tree, res: &mut Vec, sample_type: String) { - let mut total: i64 = 0; - let mut root_children: &Vec> = &Vec::new(); - if t.nodes.contains_key(&(0u64)) { - root_children = t.nodes.get(&(0u64)).unwrap(); - } + let sample_type_index = match t.sample_types.iter().position(|x| x == &sample_type) { + Some(index) => index, + None => return, + }; - let mut _sample_type_index: i32 = -1; - for i in 0..t.sample_types.len() { - if t.sample_types[i] == sample_type { - _sample_type_index = i as i32; - break; - } - } - if _sample_type_index == -1 { - return; - } - let sample_type_index = _sample_type_index as usize; + let empty_vec = Vec::new(); + let root_children = t.nodes.get(&0u64).unwrap_or(&empty_vec); - for i in root_children.iter() { - total += i.total[sample_type_index]; - } - let mut lvl = Level::default(); - lvl.values.extend([0, total, 0, 0]); - res.push(lvl); + let total: i64 = root_children + .iter() + .map(|child| child.total[sample_type_index]) + .sum(); + + res.push(Level { + values: vec![0, total, 0, 0], + }); let mut totals = vec![0; t.sample_types.len()]; totals[sample_type_index] = total; - let total_node: TreeNodeV2 = TreeNodeV2 { + + let total_node = TreeNodeV2 { slf: vec![0; t.sample_types.len()], total: totals, node_id: 0, fn_id: 0, - //parent_id: 0 }; - let mut prepend_map: HashMap = HashMap::new(); + let mut prepend_map: HashMap = HashMap::new(); let mut reviewed: HashSet = HashSet::new(); - let mut refs: Vec<&TreeNodeV2> = vec![&total_node]; - let mut ref_len: usize = 1; - while ref_len > 0 { + let mut current_level_nodes = vec![&total_node]; + + while !current_level_nodes.is_empty() { + let mut next_level_nodes = Vec::new(); let mut prepend: i64 = 0; - let _refs = refs.clone(); - refs.clear(); - lvl = Level::default(); - for parent in _refs.iter() { - prepend += prepend_map.get(&parent.node_id).unwrap_or(&0); - let opt = t.nodes.get(&parent.node_id); - - if opt.is_none() { - prepend += parent.total[sample_type_index]; - continue; - } - for n in opt.unwrap().iter() { - if reviewed.contains(&n.node_id) { - // PANIC!!! WE FOUND A LOOP - return; - } else { - reviewed.insert(n.node_id); + let mut lvl = Level::default(); + + for parent in current_level_nodes { + prepend += *prepend_map.get(&parent.node_id).unwrap_or(&0); + + if let Some(children) = t.nodes.get(&parent.node_id) { + for child in children { + if !reviewed.insert(child.node_id) { + // Loop detected, exit early + return; + } + + prepend_map.insert(child.node_id, prepend); + next_level_nodes.push(child.as_ref()); + + lvl.values.extend_from_slice(&[ + prepend, + child.total[sample_type_index], + child.slf[sample_type_index], + *t.names_map.get(&child.fn_id).unwrap_or(&1) as i64, + ]); + + prepend = 0; } - prepend_map.insert(n.node_id, prepend); - refs.push(n); - lvl.values.extend([ - prepend as i64, - n.total[sample_type_index], - n.slf[sample_type_index], - *t.names_map.get(&n.fn_id).unwrap_or(&1) as i64, - ]); - prepend = 0; + } else { + prepend += parent.total[sample_type_index]; } + prepend += parent.slf[sample_type_index]; } - res.push(lvl.clone()); - ref_len = refs.len(); + + res.push(lvl); + current_level_nodes = next_level_nodes; } } @@ -396,22 +384,6 @@ impl TrieReader { string } - /*fn read_blob(&mut self) -> &[u8] { - let size = self.read_size(); - let string = &self.bytes[self.offs..self.offs + size]; - self.offs += size; - string - } - - fn read_string_vec(&mut self) -> Vec { - let mut res = Vec::new(); - let size = self.read_size(); - for _ in 0..size { - res.push(self.read_string()); - } - res - }*/ - fn read_blob_vec(&mut self) -> Vec<&[u8]> { let mut res = Vec::new(); let size = self.read_size(); @@ -443,179 +415,74 @@ impl TrieReader { } res } - /*fn end(&self) -> bool { - self.offs >= self.bytes.len() - }*/ } -fn merge_trie(tree: &mut Tree, bytes: &[u8], samples_type: &String) { - let _sample_type_index = tree.sample_types.iter().position(|x| x == samples_type); - if _sample_type_index.is_none() { - return; - } - let sample_type_index = _sample_type_index.unwrap(); +fn merge_trie(tree: &mut Tree, bytes: &[u8], sample_type: &str) { + let sample_type_index = match tree.sample_types.iter().position(|x| x == sample_type) { + Some(index) => index, + None => return, + }; + let mut reader = TrieReader::new(bytes); - let mut size = reader.read_size(); - for _i in 0..size { + + for _ in 0..reader.read_size() { let id = reader.read_uint64_le(); let func = reader.read_string(); - if !tree.names_map.contains_key(&id) && tree.names.len() < 2000000 { - tree.names.push(func); - tree.names_map.insert(id, tree.names.len() - 1); + if tree.names_map.len() < 2_000_000 { + if !tree.names_map.contains_key(&id) { + tree.names.push(func); + tree.names_map.insert(id, tree.names.len() - 1); + } } } - size = reader.read_size(); - for _i in 0..size { + for _ in 0..reader.read_size() { let parent_id = reader.read_uint64_le(); let fn_id = reader.read_uint64_le(); let node_id = reader.read_uint64_le(); - let _slf = reader.read_uint64_le() as i64; - let _total = reader.read_uint64_le() as i64; - if tree.max_self[sample_type_index] < _slf { - tree.max_self[sample_type_index] = _slf; + let slf_value = reader.read_uint64_le() as i64; + let total_value = reader.read_uint64_le() as i64; + + if tree.max_self[sample_type_index] < slf_value { + tree.max_self[sample_type_index] = slf_value; } + let mut slf = vec![0; tree.sample_types.len()]; - slf[sample_type_index] = _slf; + slf[sample_type_index] = slf_value; + let mut total = vec![0; tree.sample_types.len()]; - total[sample_type_index] = _total; - let mut n: i32 = -1; - if tree.nodes.contains_key(&parent_id) { - n = find_node(node_id, tree.nodes.get(&parent_id).unwrap()); - } - if n != -1 { - let mut __node = tree.nodes.get_mut(&parent_id).unwrap().get_mut(n as usize).unwrap().clone(); - let mut _node = __node.as_ref().clone(); - _node.total[sample_type_index] += total[sample_type_index]; - _node.slf[sample_type_index] += slf[sample_type_index]; - tree.nodes.get_mut(&parent_id).unwrap()[n as usize] = Arc::new(_node); + total[sample_type_index] = total_value; + + if let Some(children) = tree.nodes.get_mut(&parent_id) { + if let Some(pos) = find_node(node_id, children) { + let node_arc = &children[pos]; + let mut node = node_arc.as_ref().clone(); + + node.slf[sample_type_index] += slf_value; + node.total[sample_type_index] += total_value; + + children[pos] = Arc::new(node); + continue; + } } - if tree.nodes_num >= 2000000 { + + if tree.nodes_num >= 2_000_000 { return; } - if !tree.nodes.contains_key(&parent_id) { - tree.nodes.insert(parent_id, Vec::new()); - } - tree.nodes.get_mut(&parent_id).unwrap().push(Arc::new(TreeNodeV2 { + + let children = tree.nodes.entry(parent_id).or_insert_with(Vec::new); + children.push(Arc::new(TreeNodeV2 { fn_id, - //parent_id, node_id, slf, total, })); + tree.nodes_num += 1; } } -/*fn upsert_string(prof: &mut Profile, s: String) -> i64 { - let mut idx = 0; - for i in 0..prof.string_table.len() { - if prof.string_table[i] == s { - idx = i as i64; - break; - } - } - if idx == 0 { - idx = prof.string_table.len() as i64; - prof.string_table.push(s); - } - idx -}*/ - -/*fn upsert_function(prof: &mut Profile, fn_id: u64, fn_name_id: i64) { - for f in prof.function.iter() { - if f.id == fn_id { - return; - } - } - let mut func = Function::default(); - func.name = fn_name_id; - func.id = fn_id; - func.filename = upsert_string(prof, "unknown".to_string()); - func.system_name = upsert_string(prof, "unknown".to_string()); - prof.function.push(func); -}*/ - -/*fn inject_locations(prof: &mut Profile, tree: &Tree) { - for n in tree.names_map.iter() { - let hash = *n.1 as u64; - let name = tree.names[hash as usize].clone(); - let fn_idx = upsert_string(prof, name); - upsert_function(prof, *n.0, fn_idx); - let mut loc = Location::default(); - let mut line = Line::default(); - line.function_id = *n.0; - loc.id = *n.0; - loc.line = vec![line]; - prof.location.push(loc) - } -}*/ - -/*fn upsert_sample(prof: &mut Profile, loc_id: Vec, val: i64, val_idx: i64) -> i64 { - let mut idx = -1; - for i in 0..prof.sample.len() { - if prof.sample[i].location_id.len() != loc_id.len() { - continue; - } - let mut found = true; - for j in 0..prof.sample[i].location_id.len() { - if prof.sample[i].location_id[j] != loc_id[j] { - found = false; - break; - } - } - if found { - idx = i as i64; - break; - } - } - if idx == -1 { - let mut sample = Sample::default(); - sample.location_id = loc_id.clone(); - sample.location_id.reverse(); - idx = prof.sample.len() as i64; - prof.sample.push(sample); - } - while prof.sample[idx as usize].value.len() <= val_idx as usize { - prof.sample[idx as usize].value.push(0) - } - prof.sample[idx as usize].value[val_idx as usize] += val; - idx -}*/ - -/*fn inject_functions( - prof: &mut Profile, - tree: &Tree, - parent_id: u64, - loc_ids: Vec, - val_idx: i64, -) { - if !tree.nodes.contains_key(&parent_id) { - return; - } - let children = tree.nodes.get(&parent_id).unwrap(); - for node in children.iter() { - let mut _loc_ids = loc_ids.clone(); - _loc_ids.push(node.fn_id); - //TODO: - upsert_sample(prof, _loc_ids.clone(), node.slf[0 /*TODO*/] as i64, val_idx); - if tree.nodes.contains_key(&node.node_id) { - inject_functions(prof, tree, node.node_id, _loc_ids, val_idx); - } - } -}*/ - -/*fn merge_profile(tree: &Tree, prof: &mut Profile, sample_type: String, sample_unit: String) { - let mut value_type = ValueType::default(); - value_type.r#type = upsert_string(prof, sample_type); - value_type.unit = upsert_string(prof, sample_unit); - prof.sample_type.push(value_type); - let type_idx = prof.sample_type.len() as i64 - 1; - inject_locations(prof, tree); - inject_functions(prof, tree, 0, vec![], type_idx); -}*/ - -fn assert_positive(t: &Tree) -> bool{ +fn assert_positive(t: &Tree) -> bool { for n in t.nodes.keys() { for _n in 0..t.nodes.get(&n).unwrap().len() { for __n in 0..t.nodes.get(&n).unwrap()[_n].slf.len() { @@ -661,253 +528,194 @@ pub fn merge_tree(id: u32, bytes: &[u8], sample_type: String) { #[wasm_bindgen] pub fn diff_tree(id1: u32, id2: u32, sample_type: String) -> Vec { let mut ctx = CTX.lock().unwrap(); - let _ctx = &mut ctx; - upsert_tree(_ctx, id1, vec![sample_type.clone()]); - upsert_tree(_ctx, id2, vec![sample_type.clone()]); - let mut t1 = _ctx.get(&id1).unwrap().lock().unwrap(); - let mut t2 = _ctx.get(&id2).unwrap().lock().unwrap(); - let mut is_positive = assert_positive(&t1); - if !is_positive { - panic!("Tree 1 is not positive"); - } - is_positive = assert_positive(&t2); - if!is_positive { - panic!("Tree 2 is not positive"); - } - - - for n in t1.names_map.keys() { - if !t2.names_map.contains_key(&n) { - t2.names.push(t1.names[*t1.names_map.get(&n).unwrap()].clone()); - let idx = t2.names.len() - 1; - t2.names_map.insert(*n, idx); - } + upsert_tree(&mut ctx, id1, vec![sample_type.clone()]); + upsert_tree(&mut ctx, id2, vec![sample_type.clone()]); + + let mut t1 = ctx.get(&id1).unwrap().lock().unwrap(); + let mut t2 = ctx.get(&id2).unwrap().lock().unwrap(); + + assert_tree_positive(&t1, "Tree 1"); + assert_tree_positive(&t2, "Tree 2"); + + synchronize_names(&mut t1, &mut t2); + merge_nodes(&mut t1, &mut t2); + + let flame_graph_diff = compute_flame_graph_diff(&t1, &t2); + + flame_graph_diff.encode_to_vec() +} + +fn assert_tree_positive(tree: &Tree, tree_name: &str) { + if !assert_positive(tree) { + panic!("{} is not positive", tree_name); } - for n in t2.names_map.keys() { - if !t1.names_map.contains_key(&n) { - let idx = t2.names_map.get(&n).unwrap().clone(); - t1.names.push(t2.names[idx].clone()); - let idx2 = t1.names.len() - 1; - t1.names_map.insert(*n, idx2); +} + +fn synchronize_names(t1: &mut Tree, t2: &mut Tree) { + let mut names_to_add_to_t2 = vec![]; + for (&id, &idx) in &t1.names_map { + if !t2.names_map.contains_key(&id) { + names_to_add_to_t2.push((id, t1.names[idx].clone())); } } - let keys = t1.nodes.keys().map(|x| (*x).clone()).collect::>(); - for n in keys { - if !t2.nodes.contains_key(&n) { - t2.nodes.insert(n, vec![]); - } - let lnodes = t1.nodes.get_mut(&n).unwrap(); - let rnodes = t2.nodes.get_mut(&n).unwrap(); - lnodes.sort_by(|x, y| - if x.node_id < y.node_id { Ordering::Less } else { Ordering::Greater }); - rnodes.sort_by(|x, y| - if x.node_id < y.node_id { Ordering::Less } else { Ordering::Greater }); - let mut i = 0; - let mut j = 0; - let mut new_t1_nodes: Vec> = vec![]; - let mut new_t2_nodes: Vec> = vec![]; - let t1_nodes = t1.nodes.get(&n).unwrap(); - let t2_nodes = t2.nodes.get(&n).unwrap(); - while i < t1_nodes.len() && j < t2_nodes.len() { - if n == 0 { - println!("{:?}:{:?} - {:?}:{:?}", - t1_nodes[i].node_id, - t1.names[*t1.names_map.get(&t1_nodes[i].fn_id).unwrap() as usize], - t2_nodes[j].node_id, - t2.names[*t2.names_map.get(&t2_nodes[j].fn_id).unwrap() as usize] - ) - } + for (id, name) in names_to_add_to_t2 { + let idx = t2.names.len(); + t2.names.push(name); + t2.names_map.insert(id, idx); + } - if t1_nodes[i].node_id == t2_nodes[j].node_id { - new_t1_nodes.push(t1_nodes[i].clone()); - new_t2_nodes.push(t2_nodes[j].clone()); - i += 1; - j += 1; - continue; - } - if t1_nodes[i].node_id < t2_nodes[j].node_id { - new_t1_nodes.push(t1_nodes[i].clone()); - new_t2_nodes.push(Arc::new(TreeNodeV2{ - node_id: t1_nodes[i].node_id, - fn_id: t1_nodes[i].fn_id, - slf: vec![0], - total: vec![0], - })); - i += 1; - } else { - new_t2_nodes.push(t2_nodes[j].clone()); - new_t1_nodes.push(Arc::new(TreeNodeV2{ - node_id: t2_nodes[j].node_id, - fn_id: t2_nodes[j].fn_id, - slf: vec![0], - total: vec![0], - })); - j += 1; - } + let mut names_to_add_to_t1 = vec![]; + for (&id, &idx) in &t2.names_map { + if !t1.names_map.contains_key(&id) { + names_to_add_to_t1.push((id, t2.names[idx].clone())); } - while i < t1_nodes.len() { + } + + for (id, name) in names_to_add_to_t1 { + let idx = t1.names.len(); + t1.names.push(name); + t1.names_map.insert(id, idx); + } +} + +fn merge_nodes(t1: &mut Tree, t2: &mut Tree) { + let keys: Vec = t1.nodes.keys().cloned().collect(); + + for key in keys { + let t1_children = t1.nodes.entry(key).or_insert_with(Vec::new); + let t2_children = t2.nodes.entry(key).or_insert_with(Vec::new); + + t1_children.sort_by_key(|n| n.node_id); + t2_children.sort_by_key(|n| n.node_id); + + let (new_t1_nodes, new_t2_nodes) = merge_children(t1_children, t2_children); + t1.nodes.insert(key, new_t1_nodes); + t2.nodes.insert(key, new_t2_nodes); + } +} + +fn merge_children( + t1_nodes: &[Arc], + t2_nodes: &[Arc], +) -> (Vec>, Vec>) { + let mut new_t1_nodes = Vec::new(); + let mut new_t2_nodes = Vec::new(); + let mut i = 0; + let mut j = 0; + + while i < t1_nodes.len() && j < t2_nodes.len() { + if t1_nodes[i].node_id == t2_nodes[j].node_id { + new_t1_nodes.push(t1_nodes[i].clone()); + new_t2_nodes.push(t2_nodes[j].clone()); + i += 1; + j += 1; + } else if t1_nodes[i].node_id < t2_nodes[j].node_id { new_t1_nodes.push(t1_nodes[i].clone()); - new_t2_nodes.push(Arc::new(TreeNodeV2{ - node_id: t1_nodes[i].node_id, - fn_id: t1_nodes[i].fn_id, - slf: vec![0], - total: vec![0], - })); + new_t2_nodes.push(create_empty_node(&t1_nodes[i])); i += 1; - } - while j < t2_nodes.len() { + } else { new_t2_nodes.push(t2_nodes[j].clone()); - new_t1_nodes.push(Arc::new(TreeNodeV2{ - node_id: t2_nodes[j].node_id, - fn_id: t2_nodes[j].fn_id, - slf: vec![0], - total: vec![0], - })); - j+=1; - } - t1.nodes.insert(n, new_t1_nodes); - t2.nodes.insert(n, new_t2_nodes); - } - - for n in t2.nodes.keys().clone() { - if!t1.nodes.contains_key(&n) { - let mut new_t1_nodes: Vec> = vec![]; - for _n in t2.nodes.get(&n).unwrap() { - new_t1_nodes.push(Arc::new(TreeNodeV2{ - node_id: _n.node_id, - fn_id: _n.fn_id, - slf: vec![0], - total: vec![0], - })) - } - t1.nodes.insert(*n, new_t1_nodes); + new_t1_nodes.push(create_empty_node(&t2_nodes[j])); + j += 1; } } - let total_left = t1.total(); - let total_right = t2.total(); - let mut min_val = 0 as i64; - let tn = Arc::new(TreeNodeV2{ + while i < t1_nodes.len() { + new_t1_nodes.push(t1_nodes[i].clone()); + new_t2_nodes.push(create_empty_node(&t1_nodes[i])); + i += 1; + } + + while j < t2_nodes.len() { + new_t2_nodes.push(t2_nodes[j].clone()); + new_t1_nodes.push(create_empty_node(&t2_nodes[j])); + j += 1; + } + + (new_t1_nodes, new_t2_nodes) +} + +fn create_empty_node(node: &Arc) -> Arc { + Arc::new(TreeNodeV2 { + node_id: node.node_id, + fn_id: node.fn_id, + slf: vec![0], + total: vec![0], + }) +} + +fn compute_flame_graph_diff(t1: &Tree, t2: &Tree) -> FlameGraphDiff { + let mut res = FlameGraphDiff::default(); + res.left_ticks = t1.total()[0]; + res.right_ticks = t2.total()[0]; + res.total = res.left_ticks + res.right_ticks; + + let mut left_nodes = vec![Arc::new(TreeNodeV2 { fn_id: 0, node_id: 0, slf: vec![0], - total: vec![total_left], - }); - let mut left_nodes = vec![tn]; - let tn2 = Arc::new(TreeNodeV2{ + total: vec![res.left_ticks], + })]; + + let mut right_nodes = vec![Arc::new(TreeNodeV2 { fn_id: 0, node_id: 0, slf: vec![0], - total: vec![total_right], - }); - let mut right_nodes = vec![tn2]; + total: vec![res.right_ticks], + })]; - let mut x_left_offsets = vec![0 as i64]; - let mut x_right_offsets = vec![0 as i64]; - let mut levels = vec![0 as i64]; + let mut levels = vec![0]; + let mut x_left_offsets = vec![0]; + let mut x_right_offsets = vec![0]; let mut name_location_cache: HashMap = HashMap::new(); - let mut res = FlameGraphDiff::default(); - res.left_ticks = total_left; - res.right_ticks = total_right; - res.total = total_left + total_right; - while left_nodes.len() > 0 { - let left = left_nodes.pop().unwrap(); - let right = right_nodes.pop().unwrap(); - let mut x_left_offset = x_left_offsets.pop().unwrap(); - let mut x_right_offset = x_right_offsets.pop().unwrap(); + + while let (Some(left), Some(right)) = (left_nodes.pop(), right_nodes.pop()) { + let x_left_offset = x_left_offsets.pop().unwrap(); + let x_right_offset = x_right_offsets.pop().unwrap(); let level = levels.pop().unwrap(); - let mut name: String = "total".to_string(); - if left.fn_id != 0 { - name = t1.names[t1.names_map.get(&left.fn_id).unwrap().clone() as usize].clone(); - } - if left.total[0] >= min_val || right.total[0] >= min_val || name == "other" { - let mut i = 0 as i64; - if !name_location_cache.contains_key(&name) { - res.names.push(name.clone().to_string()); - name_location_cache.insert(name, (res.names.len() - 1) as i64); - i = res.names.len() as i64 - 1; - } else { - i = *name_location_cache.get(name.as_str()).unwrap(); - } - if level == res.levels.len() as i64 { - res.levels.push(Level::default()) - } - if res.max_self < left.slf[0] { - res.max_self = left.slf[0]; - } - if res.max_self < right.slf[0] { - res.max_self = right.slf[0]; - } - let mut values = vec![x_left_offset, left.total[0], left.slf[0], - x_right_offset, right.total[0], right.slf[0], i]; - res.levels[level as usize].values.extend(values); - let mut other_left_total = 0 as i64; - let mut other_right_total = 0 as i64; - let mut nodes_len = 0; - if t1.nodes.contains_key(&left.node_id) { - nodes_len = t1.nodes.get(&left.node_id).unwrap().len().clone(); - } - for j in 0..nodes_len { - let _left = t1.nodes.get(&left.node_id).unwrap()[j].clone(); - let _right = t2.nodes.get(&left.node_id).unwrap()[j].clone(); - if _left.total[0] >= min_val || _right.total[0] >= min_val { - levels.insert(0, level + 1); - x_left_offsets.insert(0, x_left_offset); - x_right_offsets.insert(0, x_right_offset); - x_left_offset += _left.total[0].clone() as i64; - x_right_offset += _right.total[0].clone() as i64; - left_nodes.insert(0, _left.clone()); - right_nodes.insert(0, _right.clone()); - } else { - other_left_total += _left.total[0] as i64; - other_right_total += _right.total[0] as i64; - } - if other_left_total > 0 || other_right_total > 0 { - levels.insert(0, level + 1); - t1.add_name("other".to_string(), 1); - x_left_offsets.insert(0, x_left_offset); - left_nodes.insert(0, Arc::new(TreeNodeV2{ - fn_id: 1, - node_id: 1, - slf: vec![other_left_total as i64], - total: vec![other_left_total as i64], - })); - t2.add_name("other".to_string(), 1); - x_right_offsets.insert(0, x_right_offset); - right_nodes.insert(0, Arc::new(TreeNodeV2{ - fn_id: 1, - node_id: 1, - slf: vec![other_right_total as i64], - total: vec![other_right_total as i64], - })); - } - } - } - } - for i in 0..res.levels.len() { - let mut j = 0; - let mut prev = 0 as i64; - while j < res.levels[i].values.len() { - res.levels[i].values[j] -= prev; - prev += res.levels[i].values[j] + res.levels[i].values[j+1]; - j += 7; + let name = if left.fn_id == 0 { + "total".to_string() + } else { + t1.names[*t1.names_map.get(&left.fn_id).unwrap()].clone() + }; + + let name_idx = *name_location_cache.entry(name.clone()).or_insert_with(|| { + res.names.push(name); + (res.names.len() - 1) as i64 + }); + + if res.levels.len() <= level { + res.levels.push(Level::default()); } - prev = 0; - j = 3; - while j < res.levels[i].values.len() { - res.levels[i].values[j] -= prev; - prev += res.levels[i].values[j] + res.levels[i].values[j+1]; - j += 7; + + res.levels[level].values.extend_from_slice(&[ + x_left_offset, + left.total[0], + left.slf[0], + x_right_offset, + right.total[0], + right.slf[0], + name_idx, + ]); + + if let Some(children_left) = t1.nodes.get(&left.node_id) { + let empty_vec = Vec::new(); + let children_right = t2.nodes.get(&right.node_id).unwrap_or(&empty_vec); + for (child_left, child_right) in children_left.iter().zip(children_right.iter()) { + left_nodes.push(child_left.clone()); + right_nodes.push(child_right.clone()); + x_left_offsets.push(x_left_offset + child_left.total[0]); + x_right_offsets.push(x_right_offset + child_right.total[0]); + levels.push(level + 1); + } } } - res.encode_to_vec() + res } - - #[wasm_bindgen] pub fn export_tree(id: u32, sample_type: String) -> Vec { let p = panic::catch_unwind(|| { @@ -953,11 +761,10 @@ pub fn merge_trees_pprof(id: u32, payload: &[u8]) { decoder.read_to_end(&mut decompressed).unwrap(); let mut prof = Profile::decode(std::io::Cursor::new(decompressed)).unwrap(); merger.merge(&mut prof); - }else { + } else { let mut prof = Profile::decode(bin_prof).unwrap(); merger.merge(&mut prof); } - } let res = merger.profile(); tree.pprof = res; @@ -988,3 +795,1788 @@ pub fn drop_tree(id: u32) { pub fn init_panic_hook() { console_error_panic_hook::set_once(); } + +#[test] +fn test_select_merge_stacktraces() { + let pprofs_vec = TEST_PPROFS + .split(&"*******************") + .collect::>(); + for pprof in pprofs_vec { + // Parsing HTTP request to get pprof data + let head_body = pprof.split(&"BODY:").collect::>(); + if head_body.len() < 2 { + continue; + } + let mut boundary = ""; + for hdr in head_body[0].split(&"\n").collect::>() { + if !hdr.starts_with("Content-Type: multipart/form-data; boundary=") { + continue; + } + boundary = &hdr[44..]; + } + let body = base64::decode(head_body[1].replace("\n", "").trim()).unwrap(); + let boundary_bytes = format!("--{}", boundary); + let parts = memchr::memmem::find_iter(&body, boundary_bytes.as_bytes()) + .fold((Vec::new(), 0), |(mut acc, last), pos| { + if pos > last { + acc.push(&body[last..pos]); + } + (acc, pos + boundary_bytes.len()) + }) + .0; + let pprof = &parts[0][118..]; + let mut decoder = flate2::read::GzDecoder::new(pprof); + let mut decompressed = Vec::new(); + decoder.read_to_end(&mut decompressed).unwrap(); + + // Merging profiles into tree + merge_prof( + 0, + decompressed.as_slice(), + "process_cpu:samples:count:cpu:nanoseconds".to_string(), + ); + } + + //Asserting tree + let mut ctx = CTX.lock().unwrap(); + let tree = ctx.get_mut(&0).unwrap().lock().unwrap(); + let mut _names = tree.names.clone(); + _names.sort(); + assert_eq!(EXPECTED_NAMES, _names.join(", ")); + let mut map = "".to_string(); + let mut keys = tree.nodes.keys().cloned().collect::>(); + keys.sort(); + for i in keys { + let mut children_ids: Vec = vec![]; + for n in &tree.nodes[&i] { + let str_node_id = n.node_id.to_string().clone(); + children_ids.push(str_node_id.clone()); + } + children_ids.sort(); + map = format!("{}{}: [{}]\n", map, i, children_ids.join(", ")); + } + assert_eq!(EXPECTED_MAP, map); +} + +const TEST_PPROFS: &str = r#"HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 1866 +Content-Type: multipart/form-data; boundary=43ba238906960207d409d77db17b9ae9fbca49492081293d389a31f4c7f5 +Accept-Encoding: gzip +BODY: +LS00M2JhMjM4OTA2OTYwMjA3ZDQwOWQ3N2RiMTdiOWFlOWZiY2E0OTQ5MjA4MTI5 +M2QzODlhMzFmNGM3ZjUNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7ST +PWgc1xbH38zurK52Leta/tB4rYf3zePxhoW9d/dqtbvqHq95TyaF3ZkYM56592r2 +SjP3LDN3hORqCqtJkRgCiYuYuDYuYgIJwUQRxk4TQ4qEBBxC0qlwKjeJP2ADTsDg +Ip27wyn+55zfj/NmFVnYvlSWrXoVVXC1XkUOtutVVHtRz2Dbm0eW++CLt//lVZGF +T2GrXUcWRi5qzfonPIxs9/un79qeg2z8bR9b7Qaycd2ttxr+p31vEVXcb767ansO +quCP+56DqviJha12A1XwIfdQq+Hf7rcbqIrn3LlWw79qLTQX6la5f61mlfvXavWK +ZVeaM8h2y/1rNQ+jqvv+o/uznoMcfKeCrXYdOfiwe7g17896GDnulw/uz3oOquE7 +FWy166iGsYtb8/7sgruA0M1dD93c9erVqmNXmjVku2VZ9TCquQ8/u2J7DprBzy1s +tRtoBh9xj7QW/F8tD6MZ98pvV23PQQj/5GCr3UAIH3WPthr+J46HEXJ/eO+67Tlo +Fv9oY6vdQLP4mHusddz/0FpYXED2rae+feupX6/UZlCzhmy33Mf///rzr3avf/Dw +yWLzOLJw+XNpu2X5iLTKS/6J7uLIajaRjcvyrbt7B0tuWf5yd+9gqVWWdd/tnmye +RBVc7l+5t3ew5JY33rm3d7DUKlt+s3uqeQxVcbn/0ePn09NuWd5+/Hx62l9qNpGD +y7J8Np1Op1PLLW+Uz6bT6XRq+X9nf2NOPgm5ZE60Y2TO5sIkAR5AtCG5yZnDodCG +NcIkAR7kk5BLNqd0kcsAog3JTc4aShe5DPJJyCXrxsqMi4hwSGkMnO/QGDobOWiq +tJGZDhMqJAchM6K0MqTLAjqGVNJxBilclpshPXd+7SwFI5MOhySR3EBGt6QWkNFY +mXEREQ4pjYHzHRpDZyMHTZU2MtNhQoXkIGRGOaQTlUgSA5vPCm1UKomANa1MjwV0 +DKmk4wxSuCw3QxoDnWzGNAVBY0hCHRPIYmoAEj4Olf7PVpd0Sa8TQ4+wHlkmidLF +didMxaBP84zTrNBGpZJOMuAkBnY4K7RRqSQC1rQy7FBWaKNSSdJQafbvWJlxEREO +Kd0WcScGmptM6XiSyQlJwwlRWhnC2Dk6hlTScQYpXJabIT13fu0sBSOTDockkdxA +RrekFpDRWJlxEREOKd0WcScGmptM6XiSyQk1YZTInMTA/hErMy4iwiGl2yLuxEBz +kykdTzI5eWGEHckKbVQqiTJhlCutDLv0uoCp9ZBLEsPLoTkfS6G0Mi8hZqYbxMD4 +61oizNPghUuSs13r1VMJD/lY0jPS/DcLlc7pmjYySdSZNSFD1mV90qMmndD/wRuh +FjQIgl4MQVSoRAR//ELAIQ1SaTLFIQAjk4BDkkhuIAt4Kl5tTXYyYH53dTAcDPlw +eaXbE2I4XBFiNJAy6rGICdGVjPGQ9/iQ/ZMWeUYTFdHt0SAY9DuJ0sV2J9YFTVTE +SQ5kwPyBGPSj3nA9CvlwdVUORiIcykisro5WhFhfjVZ4tDxckQNG/iJO/Jm9PRp0 +Bn2SA2HMX15Zlr1owKOulBHvjvj68vr6qMdkKEfhSi/qy3UxGPUlq13YEjlcZPUL +W/lOzsMkufj7AJtndH+ABgAADQotLTQzYmEyMzg5MDY5NjAyMDdkNDA5ZDc3ZGIx +N2I5YWU5ZmJjYTQ5NDkyMDgxMjkzZDM4OWEzMWY0YzdmNQ0KQ29udGVudC1EaXNw +b3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJzYW1wbGVfdHlwZV9jb25maWciOyBm +aWxlbmFtZT0ic2FtcGxlX3R5cGVfY29uZmlnLmpzb24iDQpDb250ZW50LVR5cGU6 +IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQ0KDQp7ImFsbG9jX29iamVjdHMiOnsi +dW5pdHMiOiJvYmplY3RzIn0sImFsbG9jX3NwYWNlIjp7InVuaXRzIjoiYnl0ZXMi +fSwiaW51c2Vfb2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMiLCJhZ2dyZWdhdGlv +biI6ImF2ZXJhZ2UifSwiaW51c2Vfc3BhY2UiOnsidW5pdHMiOiJieXRlcyIsImFn +Z3JlZ2F0aW9uIjoiYXZlcmFnZSJ9fQ0KLS00M2JhMjM4OTA2OTYwMjA3ZDQwOWQ3 +N2RiMTdiOWFlOWZiY2E0OTQ5MjA4MTI5M2QzODlhMzFmNGM3ZjUtLQ0K +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 757 +Content-Type: multipart/form-data; boundary=f8b9e5464625dbb7eaca60174d56df842f385d760db9d6f978a8974c64ab +Accept-Encoding: gzip +BODY: +LS1mOGI5ZTU0NjQ2MjVkYmI3ZWFjYTYwMTc0ZDU2ZGY4NDJmMzg1ZDc2MGRiOWQ2 +Zjk3OGE4OTc0YzY0YWINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/1yM +v2sUQRxHveSSrBeLBQXPJWDAZpvb2Z3bnd1tbTTBwtoQJvPju3eLszvHzm64WE2h +jQg2djap7AT9B0IIqe1NJYqk0ELsRCGSAxs/zefBg3f/y9mHV19fn/26Oeg7PXdp +0HeW3f7DNy8+/kgfLXjPvv3c9647Pdd+sktDa78Fm3bPXwlXPc9Zcq19fnJ0vjG0 +9vvJ0fnGprUDfy10vFvOsmuPn54u3OHL04Xb9K+GA++G03ft8buffy5uD619f/n+ +uuc5K6619vfF5XpDe/gP/Wv4Cl4zrJopMHhF6K5u8bKYdXi9ZrU2IHQtDX7WQ1Nd +AZo2utJP4DFDgWBiCmgb2rsNK2uDtuoWlCq3tyQwHOI4iFBbzdA9/YDVElFKo4mm +vCuVpJOynXacCl3RCtqmFJrqFhQVWikQrW6oqCTVLSgqtFIgWt3Q2UGjsR/mJCWp +SMdJGEmZpomUGQHgEeZYyhAwFkxEIsV3UGcapEqO5hmhJB6psu7mo0ndIVVyERgd +EOwTSWIepQVnIs1zIJlkKXCZ51kiZZHzRPBxmgDBAepMg1TJ0Twj/+XkSJV1Nx/N +MzIicWB0gLE/TsYQcSJ4CMBFmIliXBRZhIFBxpKIx1BIksWAV3f2pdG7eLCzbw6M +YErt/g0AAP//01WZ7zgCAAANCi0tZjhiOWU1NDY0NjI1ZGJiN2VhY2E2MDE3NGQ1 +NmRmODQyZjM4NWQ3NjBkYjlkNmY5NzhhODk3NGM2NGFiLS0NCg== +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 10325 +Content-Type: multipart/form-data; boundary=b522389a4e947d96573c381377b6c37631c08faa82e05d7fdd8382b88938 +Accept-Encoding: gzip +BODY: +LS1iNTIyMzg5YTRlOTQ3ZDk2NTczYzM4MTM3N2I2YzM3NjMxYzA4ZmFhODJlMDVk +N2ZkZDgzODJiODg5MzgNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x7 +e3wU5dV/zrKzOWwkOVlFHm4yPIpOFjJDBgjgrUIABRERVBTUONl9MhnZnVlnZhNi +bV2QiyIiqAgq3vGGaG19a7VXbG3BXmhrbdVqq23t25+1tWrtxWr19/nMbJJNAjEB +fP9Jdvc5zznfc3nOOc/zzCyNIlDk0kJBjkdxEEXjUZQoEo9iLPhcThFOCOzZ578T +4RIC/VEiSFYgEDKUBys/lHgVRtjzL90m8ShGKEGQjGOE4iwuVyjVnHAQ+9K+WyUu +4SDaGCFIVuAgOoIdIQ9Rro5wwih7Y882iUsYpQdiBMkKjFIlq5SrlPtjiaGJ2Px1 +t8tlZfEoRAZFR0gYYYV6XoUS+9djd0g8ihKdS5CMo0TESK5WFvIqjLEtL9wt8SjG +aFIAJ0YJlpCPVBKcsJw9t/YOiUtYTv8MVSmno9hR8lDltxInRHbTvXdIXEKkD2ME +yQpEOpodLQ9V/hnjw3Awe+8H90lcwsH0WjmXME63RgiSFTiYhrFh8lDlt+XJCowT +Y0werlwT4YRxdvvfd0hcwgr6boQgWYEVNIKNkEcquyK8CivYE7+4T+JRPIKsAOwR +NIqNkkcrjFfhEezj3zwg8SgOoXMIknEcQsewY+QxylROOIT99v0HJS5hJX05ZFxJ +MpPlsco9EU5YyVa/+6DEJayiOyIEyQqsIs64PFb5CDhhFbvpDw9KXEKif0EAi+hY +dqw8Vvk7cEJiT770oMQlrKbbgCBZgdV0HDtOHqvcDJywmj322oMSlzBBTwFBsgIT +NI6Nk8cqT0JiTCIW+ebq8WVl8SFSrBwHxyuOGFJZRdUjYhhhhcJRnDDBtj67TeIS +Hkm3hmY+ko5nx8tVytUxXoVHsnee3i7xKB5FwwO9j6IT2AmyogznhEexm3YGeg+l +n4fQhlINq5GTyh7gVTiU3b79QYlH8WjygrlH03g2Xk4qizjh0eyXvwnmDqPvhLiH +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 +VMvRfNdIifCv5xt+uKnr/c5aX8qEV4MHZhnKCLmbjn5Mrwmu8Jy8myrKXjiQrrOn +7A5WnR9U09FLT0Fas22GKzTTac06WUtrtbL6FM1vz4kw3NX6usn1B/uc6oF5BzXa +GyiWSROnThoQeL1+8mS9Klxdqi3azsmLvNCVEvWdnLBTju0bli1cTzOd2rRlCs8P +AmRAe6ISWAdiqhkZ03EtvyWrmo5+ZsmMAzyI6IqUsFqF2/V2UecvlzW7wcmtO4Ag +6ZzcBzvNa88GjhndMykVjw3dGjVl5PTjSjJuWHbD9xO04jOkIayLBhK7fTPUMsI0 +Uu2NufC1BtV09AklU7ofHWpGm9fzmPCSg8PSF+OOLBQYrPTl1RWaL1b4YQdr2aZm +GbZh2WmxQs0auXBhDeycqGRHdEDemm80ZUSApaY/9KGLJnZzZCrVrplO7WWeY5ee +t4avR1q25asTB3btVRolfTHveMbAVU2n+4tF+5+WFt0wDeSgoN/MOzCppqOfUKLJ +irRZazrFVjbnilyXV3X9nIMLs148S7w5tgRxL7rQi9XF0zrV8o0mL6gbh/9cq3gw +aDUbYR3pFOqlWkTasi2/6wrM9Sc2ms5ndzppeNnG4BVw1dPXQM/sp6aMVIvQ5gl/ +pmtYtqfNtX2RyVjz5qaFoU/UJ6t1mp/Naac78w07rTU2NtaZTnjc2xgauzHlZBuL +j+k3Or7INHY+etmYyqZ7/pRrdx1dmTi9fmr91NTUSVMm1qXTU6dOSaen1QvRVKc3 +6en0RKHrKSNVl5qqH6vlPVfLWE3aimn1jfWTa8N32k07r2WsppTqOWq9rtSn6yc3 +1U1tbjJSU6dPF/XT0sZU0ZSePn3alHS6eXrTlFTTpKlTRL2u9sEuXZux7PyK2hXT +6mvrJ6ueo+q6MmnKJFHXVJ9qmihEU2ritFTzpObmaXW6MMQ0Y0pd02TRnK6fNlno +sWWtac+5WI8va/XavZSRyVz8/wcAHIyQ3X1cAAANCi0tYjUyMjM4OWE0ZTk0N2Q5 +NjU3M2MzODEzNzdiNmMzNzYzMWMwOGZhYTgyZTA1ZDdmZGQ4MzgyYjg4OTM4DQpD +b250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InNhbXBsZV90eXBl +X2NvbmZpZyI7IGZpbGVuYW1lPSJzYW1wbGVfdHlwZV9jb25maWcuanNvbiINCkNv +bnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQoNCnsiYWxsb2Nf +b2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMifSwiYWxsb2Nfc3BhY2UiOnsidW5p +dHMiOiJieXRlcyJ9LCJpbnVzZV9vYmplY3RzIjp7InVuaXRzIjoib2JqZWN0cyIs +ImFnZ3JlZ2F0aW9uIjoiYXZlcmFnZSJ9LCJpbnVzZV9zcGFjZSI6eyJ1bml0cyI6 +ImJ5dGVzIiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn19DQotLWI1MjIzODlhNGU5 +NDdkOTY1NzNjMzgxMzc3YjZjMzc2MzFjMDhmYWE4MmUwNWQ3ZmRkODM4MmI4ODkz +OC0tDQo= +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 1699 +Content-Type: multipart/form-data; boundary=b35b2678a24e0d9d56eab56e967e97043d914cbd87bbfa0b007f10fc2e7e +Accept-Encoding: gzip +BODY: +LS1iMzViMjY3OGEyNGUwZDlkNTZlYWI1NmU5NjdlOTcwNDNkOTE0Y2JkODdiYmZh +MGIwMDdmMTBmYzJlN2UNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/7yV +X4zjRh3HcRJvJskm+W32/szl9u58vrb4gtZOZned7BsqR+Gq8kcHUqVWxWePJ45Z +xxPZznX3nkzVk6BC4hlEpUrlAcQfUSQEgtJWCITKQ6FC8ADScUItB7QCUVqkdlsd +GsfZ7QGPu81Dxp7v7zef73ztZD768z+/de3xr/7+zePVEpKgUC2hIpQ++ezf/nGD +P5BdX06//aeS2kQSfuEHjxRUUXUHSJ0qkkDGsrKgnVSbqIC/NRMLcFcmFqCMywrS +7lSbqIhffudJ0VmES5lYhAquKFXtggqohH/09JMFVUYl+H4ZpE4NlaCGa8qi9p2y +ehrJ+Po/ny6oMpLhRUmV0QLckFUZleHtAohiGeq4rjS0X4ibBWjipgLadblTQ2VY +wksKaH8vqE20gF/65h+EBQSXMwsIWrilLGuWCqiMH939o7BQgWelzEIFjuAjylHt +x5IKCOGvf+VmUZVRFdJGJlfhGD6mHNdu1VVAFfz6i6+L7ho8ImdyDTDGygltt6QC +quKfvJF1L8K15UxehDZuK8e111qtZZBAxFutSoViSV4oo0pVBVTDL6SPiSXr8Nta +1lOHk/iksqJ9r6YCWsS//vcXhNyAH1YzuQGn8CllRftLRQVUx2/ezOQm/AplchNO +49PKivZFpAJq4K+99XnRDfC7WTfAGXxGUbTnBbuJ//rlx4W8BO8Us+4lOIvPKqp2 +vagCAvzUv7LuFjw/627BOXxOUbRXKq3mfDsLtcV6owkqoCX8y8/lW3mpBtK7Spbm +JS386huZ3wZ8owoi8WX8m90MAvByFaRWY76u3KovN6F9FEmQ3kgLOE1f0ZX0snZH +986B1G6jAqTpYz995uYKTtNXxaikaVW7q/v+9glUhPS5R3/2jNCe+JIYlVTRtO75 +9hFUgvS577729q0zOE2fEqPWabeRDGma7t4SHwmnT8wvtQ+Q95FybI8nAYuJTPk0 +TEiRTqakFtohjxnloRuTs9E0TPwxM/wwYVFoB0a8E1M7CPRP7cTUDgKTXDVGfMyM +UcTH/Crbsg2PG5Mtzxhz1/B4YIeeziPPSDgP6Mj2ww9e6epdvbfq8Z5OevqaHvjh +dHvVHrvmuhFH1IimYeL/H6Rhx2MrEMVWVqzHZHnu5pL98J6hHWP0HhnK6TNTusdJ +M5/RczNkdNBecsB83EfXc0V/OPITRvhhga/mnBk5fxIe3+ffn/G9w+LP8dPQzyI/ +5c/fzAkPAt33Qh75offhix//9KWLnzj4B3Abzhi6e0ZO3KboWueeC+fzMFohS3St +E7Jkf8466IBClgg7Ex7PglmaQSkPw7mPBw6DKTAeJ4rgj5Jkok9YFPtx8iEehtm7 +EOUpsMOgC6KRRHYYT3iUCCNHnenQ57rWmcHP6/cE03hEPnPQ9Awz+xbYs3v71zrv +SuD87Pd4H+cT0sr/2XQvYjvc+SyjCXEO2lbOMMYeHdvRlrC2x42pHebcZl6ne/RC +ZPshWdmfuNv7mB1t3c+jLRbpw2lIycGnl9OETWFxOb/X4504YeM4sekWoYeVjThI +5kfIsTnZu23f5Jr033Sd2nTEjHtZcrdILDYuhgkLAv/eiy6zSZes6z0jGU+Mj/D7 +7NA1LMvqedxypn7gWp6fjKaORfnYGrMk8im3eMICi/IgYDThkUXHrsUTFliUBwGj +CY+syU7EidbdNPtmn/bXNro91+33N1x3YDLm9IhDXLfLCKE27dE+OWdM48gIfMfY +HpiWub4a+OF0e9ULp2KS6jHXTaKZrrnu9PpDx6b9zU1mDly7zxx3c3Ow4brDTWeD +Omv9DWYS3ZjGkRH4jvG/y7mr2Tm8uj0wV811sTIh2trGGus5JnW6jDm0O6DDteFw +0CPMZgN7o+ess6FrDtYZWXjwihvzh0j1wSvxTkztIHjoPwEAAP//3t3OysELAAAN +Ci0tYjM1YjI2NzhhMjRlMGQ5ZDU2ZWFiNTZlOTY3ZTk3MDQzZDkxNGNiZDg3YmJm +YTBiMDA3ZjEwZmMyZTdlLS0NCg== +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 7007 +Content-Type: multipart/form-data; boundary=cd0010cac6db5c74e2d5ff5b92ad4b2d64fd9d7e41555d85cb80a5ab0cb7 +Accept-Encoding: gzip +BODY: +LS1jZDAwMTBjYWM2ZGI1Yzc0ZTJkNWZmNWI5MmFkNGIyZDY0ZmQ5ZDdlNDE1NTVk +ODVjYjgwYTVhYjBjYjcNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x6 +e3gcxZWvajQtHY8s63jAdlm2cbuwodWWuqWWLMk8jG35gY0tG9vYgA3jnp5Sq/FM +19Ddowf7yEBszMOAN4TYgAmPEEgIEHazG5Iv2cQkJLDf5jqbuzeEVza7CXvzERIW +uNkbSAjc7+seSWPJ2JIf9x+pp+s8fudXp06dru6r40AwtrNYlBNxqMR4Ig4SxhJx +qAqvqzHGpgOh/3vPDytZHAguZRLE8J/iSNQEEAQK8iTlErUGYpigCblG+UaczYAY +/fNvXqxkElTi/RKTII7fJUjUGqjEyXSyXKPcK6k1EMdaWitPUW4nDKGSHvi3eyUm +gYQ3V4ayEtbROhmV12MMIU53/9NBiUlQhc9WIVFroAqn0qlyUvliVZImIb73G/Pj +e78xPxEnscp4fRXEaPEwMASJHnj+oMQkqMZ7q5CoNVCNZ9Gz5KTy6SpWB1X0nW8e +klgcAGeGMQGeTc+WpykzGUI1vfuJxyUmwST8CUGi1sAknE6nyzOUFwirA6D3H3pc +YnFIoI9ETUACKaXyDGUTQ5hEf/rzULcGvxvp1uBMOlOuV/6RJGcmgRy8aS05eNPa +hCRVVcOk+iqI0WJxKZsBCfrGEHn3jZCXnJEE8vLfd5KX/74zUZkYjlFh06GG3nrL +7iYWh8m4mElQi/fHkKgJmIyz6Cx5tqKrNVCLc+gc+Rzlvhirg8n0xUf/rYnFYQpu +RqImYArOpXNlWTmfIdTSr/zg9SYmQR2+GkVdh/PoPJkprxCGMIXe9OLrTUwCxP8m +SNQaQDyXnisz5S3CEOroI8+/3sQkmIpvECRqDUzF+XS+zJSXCENA+sSPX29iEiTx +0RgStQaSuIAukJlyY4whTKV7nnu9iUlwFj4XaZ+F59HzZKYcJqwOkvT/vPCrJhaH +s7E1xH02nk/PlxVFZXVwFt333BtNLA7TSoPTsIE2yKqisDo4m770Ujg4Hc9BoiZg +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 +2shkmrlhWKbVYnUY5+oF39OzTlof6GxPtbc1RV+R2m5BzzppS/OF1m4o7Zn2tnRL +R0/atDoWL+btnRmzg6czixd3LspkehanF1np1o5FvN3QjmMu05R13MJA00Bne1N7 +m+YLzTCU1kWtvCXdbqWbOU9bzZ1WT2tPT2eLwU3eaS5qSbfxnkx7Zxs3qrb3ZXxx +jZHY3ucP+paZzV7z/wYAGI/sTX08AAANCi0tY2QwMDEwY2FjNmRiNWM3NGUyZDVm +ZjViOTJhZDRiMmQ2NGZkOWQ3ZTQxNTU1ZDg1Y2I4MGE1YWIwY2I3DQpDb250ZW50 +LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InNhbXBsZV90eXBlX2NvbmZp +ZyI7IGZpbGVuYW1lPSJzYW1wbGVfdHlwZV9jb25maWcuanNvbiINCkNvbnRlbnQt +VHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQoNCnsiYWxsb2Nfb2JqZWN0 +cyI6eyJ1bml0cyI6Im9iamVjdHMifSwiYWxsb2Nfc3BhY2UiOnsidW5pdHMiOiJi +eXRlcyJ9LCJpbnVzZV9vYmplY3RzIjp7InVuaXRzIjoib2JqZWN0cyIsImFnZ3Jl +Z2F0aW9uIjoiYXZlcmFnZSJ9LCJpbnVzZV9zcGFjZSI6eyJ1bml0cyI6ImJ5dGVz +IiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn19DQotLWNkMDAxMGNhYzZkYjVjNzRl +MmQ1ZmY1YjkyYWQ0YjJkNjRmZDlkN2U0MTU1NWQ4NWNiODBhNWFiMGNiNy0tDQo= +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 7688 +Content-Type: multipart/form-data; boundary=da789a8b069ffe50cb69dd81e83455e6b8760e653cb5024638996525d426 +Accept-Encoding: gzip +BODY: +LS1kYTc4OWE4YjA2OWZmZTUwY2I2OWRkODFlODM0NTVlNmI4NzYwZTY1M2NiNTAy +NDYzODk5NjUyNWQ0MjYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x6 +e3gcxZXv1GhaOh5Z1vGA7bJsTFPY0GpL3VJLlmzAxrb8wMYYYxuMeY1bPaVWo56u +obtHD252MxCbd4gvxOFpwEBwwiskbCDZvExCAvfbrLN78ySBsHl9+dgkLBA2QELg +fl/3SBrLDyTbe/+RZqZOnfM7v3OqzqnqviQFBJPbSiU5nYIqTKVTIGEynYLq6HMN +Jtl0IHTHbbsllgKC05gESfznaiRqGggCBXmSklFrIYlpmpZrlc9VsxmQpL/71kMS +k6AKd9UwCVL4K4JErYUqnEwny7XK7TVqLaSwjtbJU5THCEOoos+/+5DEJJBwTywr +YT2tl1G5jzCEFP3j1z4rMQmq8V9TSNRaqMapdKqMyrUphiDRh2/4rMQkqMGbq5Co +tVCDGZqRUdmfZPVQTf/+o4cklgLAbUjUNACeQE+QT1Qoq4ca+sErj0gsBZPwAiRq +GibhNDpNnq50MgSgv3x7r8QkSOMXk5HiNM6gM2Sq7EkyhEl0+5t7JSZBLe6Oh2tx +Jp0pU+V9whDS9Pbf7JWYBJPxHYJErYXJ2EAbZKr8mTCEWvrMz/ZKTII6vJsgUWuh +DmfRWTJVPk0YwmT65Kt7JSbBFPwKQaLWwhScTWfLVHmGZOZkqlPXf2VuIpGeTJJV +Kam6Bialayc3VEOSlvYBq4c6+s6TuyWWgnrcjERNQz2eRE+SJykbWD1Mobt+9IDE +UoDYhkRNA+IcOkc+WckwhHr6f67bLTEJpuJfpAjXVJSpLNcqv5QYAtLbH9wtMQky ++LdqJGotZPAUeopcq/ylms2AqfSt7z0kMQlOwFdrmAQn4l1JJGotnICMMrlW+WWN +Wgsn4qn0VHmKckOSIWToPX9+WGISTMNvxyxPw7l0rozK40lWDyfQp39YDp+DJHNy +pjr59e3zE4l0Xd2UepyaOaHS99KJDOFEesfzd0pMgul4VzUStRam4zw6Tz5N+UQ1 +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 +eNYWrUb0JHv5eDVUwlxWKHAvt6rouuvNPDfOHI+OkROEeeDkcQEYmayoK71ivlEr +ennTD3pNdxPnOWPleGio0HEeDwLT5mPVTBRKvDEcqOOqCeVO3OLqop/7rjBzY1ZN +PJodHs32t41+rujDhyZQMo4R3QjS8kpZdYz64sXSYszxuc0HC3ow5IXmYPnNifht +JscLwuPfeh9gL3qH0YmWkTHtQCRdIl9wXG5MiSdoZcmDz27H2iv63OaDhfI/zRYj +FocRZMpD5xWDcPi3UyroL/giz8NeXgyia7CeQIsOaeN6cjR8yzJaxw/SpudzQWhG +J/JKuf78gOlz3Rb9eZF39H4nbyzQw6ECj81rHa3tHcbWsdEbX4E7vO6o1ASaLYyT +YlYOlTiWWTBOKdN6iLwajuTcCg7jfSx+70IvP7CMUnRC/eFHKNRdbpvWULb89FWz +hdFUwbw5EOjmQNAc5PqabaGbA4HOvVxBOF4Yc3q079UeSbFefs0l4rTyfZtBPeSD +oR69det4tu6Ynul4OT6o5c1CHOKJ9awV5fCwuvXQ7HZ5hKVxPPJxiFoO4N2yhnRb +NF8ZCG/0lZ7IDe5rjueEWsvBi3h8eXlk5cObSfTschyYcvwATAfdjR8TprLyYUya +LYzTK2gazNnNtij3BgWfF0ajahgXHN2qPUhnRTQr96uD5OIoTh0+Ajuh2R04nhMe +fIt3zHtt/DBCd3pMi2u2GDUaWL0853hOOHpV5IctWVsc/NrD8QJhBvls9NaaFhg7 +yFgrmmVavVxfy8Plvul4gb7GC7nrOmvX5LhptBjtWqse5gv6arHO9HJ6NptttUV8 +9MzG6yFriXy2/E5IVoTczY4858ta+dzYnwpDvjCUlkUdnR2dVmfbgpbWXK6zc0Eu +t7CD8+5Wo9vI5Vq4YVim1Wp1GqfqxcDXXadbH1zYke1ob45fw7O9ou463ZYWCK3D +UDpyHe3drZ093abVuWgR71iYMzt5d27RooULcrmeRd0LrO62zgW8w9COoC7X7Dpe +cbB5cGFHc0e7FgjNMJS2BW28tbvD6m7hvNtqWWj1tPX0LGw1uMkXmgtau9t5T65j +YTs3qi/tzwXiciN9aX8wFFim617+/wYAV467yt1DAAANCi0tZGE3ODlhOGIwNjlm +ZmU1MGNiNjlkZDgxZTgzNDU1ZTZiODc2MGU2NTNjYjUwMjQ2Mzg5OTY1MjVkNDI2 +DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InNhbXBsZV90 +eXBlX2NvbmZpZyI7IGZpbGVuYW1lPSJzYW1wbGVfdHlwZV9jb25maWcuanNvbiIN +CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQoNCnsiYWxs +b2Nfb2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMifSwiYWxsb2Nfc3BhY2UiOnsi +dW5pdHMiOiJieXRlcyJ9LCJpbnVzZV9vYmplY3RzIjp7InVuaXRzIjoib2JqZWN0 +cyIsImFnZ3JlZ2F0aW9uIjoiYXZlcmFnZSJ9LCJpbnVzZV9zcGFjZSI6eyJ1bml0 +cyI6ImJ5dGVzIiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn19DQotLWRhNzg5YThi +MDY5ZmZlNTBjYjY5ZGQ4MWU4MzQ1NWU2Yjg3NjBlNjUzY2I1MDI0NjM4OTk2NTI1 +ZDQyNi0tDQo= +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 1979 +Content-Type: multipart/form-data; boundary=8bed23bab43c5ac24b097e61a30ce57a57a9980edcc90abf588af69cb186 +Accept-Encoding: gzip +BODY: +LS04YmVkMjNiYWI0M2M1YWMyNGIwOTdlNjFhMzBjZTU3YTU3YTk5ODBlZGNjOTBh +YmY1ODhhZjY5Y2IxODYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/7xW +X2wc1fX+7T/7etfxHq//XS8JGSbg3F1+ntm9tnfXVdU/adQmqIggC1EVwXJn5u54 +6pm525lZy+7TPFAFAhJIpZVKmyqIqAgqWvKC+hRFVV94KVKkFoRaoOUBEKhqIVWV +ljbVnfUmrlGpTGP2ZVbz3XO+7zv3zLn32JMvPfP2I6dfvTyTz6IUpPNZlIHsiQe/ +d/518fXk//3xc3/IqjMohS/85aG0mkMpuJJRcygNP8xDqlpAKcjhnDJE/pSpFlAa +hvGwgsjbIyqgNL78VhKSgZdQsjYDI3hEQeQRpALK4D9eflBmzMI7/VRZyOO8UiAv +5lVAWfzO909LOAf/yCTRORjFo8o+8lpGBZTD5z5IoofgxX70EIzhMaVA3h0pjUEK +pO58LpXOZHMqoCH8Xl9+Gp7JQ0oFNIzP/i1JkIXf5CG1LWYoPZzNqUWE8BuXTqfV +LBqGw5Cq5tEwFHFRAXJILaIR/P7DP86pWYRgJQERjONxpUSOqYDy+NLJszk1h0bg +XCrRPgITeEKZJD9LqUVUwG9efCqnZlEe7CQ2D1N4SpkmWC2iUfzP3yWJC3BnAhZg +Bs8omDRVQPvwa5eelolH4Vw6STwKs3hWKZMn0yqgMfzAnxN4H5zuw/vgBnyDUiYf +SstF/J03E3gM/tqXNQb78X6lTD6QMOAXXkngIjzRh4twAB9QyuRxCY/jn76ewAA/ +78MAN+IblTJ5IVWaGFQ8j0byhdF9Y0UYVwGV8MuP/0hu4jicySZ6x+EgPqgo5Ims +WkQT+LsXT8oKl+DzidcS3IRvUlRSUafRJH7u96ckOAGfU3NoEh4bStZMwCF8SLmZ +fLZaQJNwC75FmSO/lXs8hX/1yilJNgU/ySVkU3AYH1bmyLMSnsZnX07gaXi2D08D +wUSZI09JeAY//fwPZPQMPNzvtxmo4IoyRx6S/YbxoxeTaAyv9p1gqOKqMkcuZFVA +s/jkrxN4Fh7rJ5+FW/GtMjpXKg2KM1KamJzKTs/g2fIUSkH8RpzGcfyupsT3k/+v +zbdS5TJKQxyf+sX5t/bjOH5PPpU4zhOtppdnUQbiCw/88rzEzjwqn0qskFqtXp5E +WYgvPP/+h1cO4jg+J5+ElssoB3Ec//2K/KVwfGbwlyzQ/6PDIfO6Lg9pzhQ9P6IZ +s9ujBZ/5IuSm8K2QzgY9P3I8rq1y1j3iRKHm843oyyyMqKGvCo/rq4HwxLf4GtNt +oXfXbN0Tlm4Ll/m2JgJbj4RwzVXm+F9Yr2k1rT5vi7pG69qC5jp+b2OeeVZjUQ8D +Uw96vqTSPcOJPNbVbEFLwRZ9aDJfGN/gZrSHvLbpsWBN8hYHvLZ5NGCOT/dfe3HE +vp0Fa3eLYI0HWqfnm5Tep+9VKWxTypkYsIebYcS9MGLmGjX3ipSFXpt5VmNRC+n0 +gNn+N9/XCuRxzxPrnNp7pWaL4Kqi220nWu0Zmik83Q5Yh/lM724GIjRFl8/bQreF +xd2IdQPR0R0/4oHPXL3bDURHI9VuICJh9DoVzfGjxmJIv7lT951fO35CFxF3503h +utyMRKCvc98Sgf7JmfXuFq/czZVPnqfvoOO4/EjPcS0eVLSV5BOm/qfoQ5q4738y +cZS7ETvGWfdEkLgJKtrdgRPxrVeRoOGn4ydplfYq74+bL+3ClEaqW2rldgQVbcvK +R4fBdeqogcjP/BeRGqmu8DB0hF/RrJ7X3aaS3nUdqxr2SWQzLO1CUq/rCmYdZRGj +tV2EBTzkEW3tIiJia3zFZ91wVUQhbewiciViQZSM9vq2QcesdSfk1NlZwut17IWb +Ydt1/N7G1VG3fezf5fdCbt2xQq294ve41+eXOzo+mPvh5hb1R/v6ehn3uCcplQEl +qXaZzb/ousKsyIN/nfs2v8PntLNn1m0zNPs8Usmhj1Wy1RgHPnYRvfkaPEgdrEQs +4hXN8Z1+d9HtSXauCnr+teuPYQ9g+u3UzipoJjNXuX4bj47Iu0qoH/cj7rrObcct +zmiNLmp1PfK6+lfEV5lv6e12u26LttFzXKvd/yrapvDaHo8CxxRtefa1r559bdOz +dr6Sxy0lteVGs9E0mwtLtbplNZtLltVqcG7UqUEtq8YpNZlZN5v0kN4LA911DH2j +1Wg3Fudd2eXztt/TXccwtVBoDUoaVmPRqDc7BjOby8u80bJYkxvW8nJrybI6y8aS +aSw0l3iDavp/Tmdt5d5oNebl/UVolJKFpQVeNxqmUePcMGsts7PQ6bTqlDPeYkt1 +Y5F3rEZrkdOhe9atUNxL8/esh5uhyVz33n8FAAD//wwi4sIeDwAADQotLThiZWQy +M2JhYjQzYzVhYzI0YjA5N2U2MWEzMGNlNTdhNTdhOTk4MGVkY2M5MGFiZjU4OGFm +NjljYjE4Ni0tDQo= +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 7276 +Content-Type: multipart/form-data; boundary=281cf637734b8fe81951ee3509cef5706ca07ed3a6c85806c2413fc5e676 +Accept-Encoding: gzip +BODY: +LS0yODFjZjYzNzczNGI4ZmU4MTk1MWVlMzUwOWNlZjU3MDZjYTA3ZWQzYTZjODU4 +MDZjMjQxM2ZjNWU2NzYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x6 +eXgc1ZWvbqtLOm4h6bjxci1v5QuGUlmqkkqLJRaDLdvYxpZXMMY2Tan6qlS4um6n +qlqymCUNsdnigIclZnPA4MEJEELCC0y+ZBKTkIHvTZ4zywsJ2zAJzJePIWGAYR6Q +EHjf19WS2rKRJdsz/0jdfc8953d+59xzz71VV8aBYOzqfF5OxKEc44k4SBhLxKGi +8LkSY2w6EPqzHz0sMQkI3lnJJIjhrwkStQoIAgV5knJHpVoFMUzQhFylPEYYQow+ +91FhSjkeiGTL8Qx6hlytfI0whHL65k0HJSZBHJ8hSNQqiGMNrZGrlW8RVgtx+sY/ +PSyxOEhoI1ETIGEtrZVRoawWJPrpa49ILA4VuB6JmoAKnEwny0llIUOooP/ywSGJ +SVCJ344hUaugEs+kZ8pTlAMxhlBJd713SGISAO6PhgGn0qnyFOUTwhCA3vHGIYlJ +MAk/jGBNwml0mjxF+U/CECbRp391SGISJPDeaDiB0+l0eYpyJ2EICfrE64ckJkEV +/k00XIWUUnmK8jRJzkpWxB7/g1JWlkiQWHlcqqiESYm6CojR/GFkCFV033N3S0yC +M/CeCiRqFZyBM+gMuU75UgWrhTPou9+7X2JxqMYZBaercSadKc9SZjCEanrHo4ck +JkEN/mNkuAZn09nyHOV5wmqhht53/yGJxaEWg8LcWpxL58pzlA0MoZb+4rXCXMQf +ESRqFSDKVJanKH9LknXJSeTu61fFvr3rTpKQqs6orqmtq4AYzecvZtMA6c037Wpk +cZiMnUyCJN4XQ6ImYDLOo/NkpuhqFSTxLHqWfLZyb4zVwmT6wsF/aWRxOBM3IlET +cCbOp/Plc5RzGUKSPvbTVxuZBFPwZYJErYIpeC49V1aUlwhDOJNe/8KrjUyCqfhf +BIlaBVOxntbLivI2YQhT6EPPvdrIJJiGbxIkahVMQ5WqsqK8SBjCVProz19tZBJM +x4MxJGoVTMcFdIGsKNfFGMI0uvvZVxuZBBSfJUjUKqDYQBtkRTlMWC1Mp//5/BuN +LA4zsAWJmoAZ2EgbZU1RWS1QuufZNxtZHOqwBYmagDrUqS43KQqrhRn0xRffbGRx +mIlzCtTPxGbaLBvKLFYLdXTPrs8qWRxm4Z8XBmdhC22RW5WdDGEm/cE7n1YyCWbj +7lghLrOxjbbJrcrHhCHMot8/8HYDk2AOPhuFbQ6203Z5ofIdwhBm03/e/+8NTIK5 ++EA0ey520A65U7klxmphDv35z99qYHGQcSUSNQEynkfPkzuVDoYwl/725d83MAnm +4UeR6nl4Pj1fvkB5g7BakOmhZ3/fwOLA8IuFuQwvpBfKFyirGMI8+vyeDxqYBGfh +96O5Z+Eiuki+SHmAMARG3/vqBw1MgrPxY4JErYKz8WJ6sXyR8hFhtXAW/bvfftDA +4jAfz0KiJmA+LqaL5SXKDIZwNn1l77sNTIJz8JeVBULOwS7aJS9V/r2CIcynX3vo +3QYmwbn4CiBRq+BcXEaXyUuV+4EhnEPfv/vdBiaBgrdBYbaCy+lyealyK7BaOJe+ +etMNGotDPc4rOFWPl9BL5BXKXDYVFHrwxhs0FgcVK1gcFmBdQUTFlXSlvEqR1AQs +wEvppfIKpYYh1NN7f7E3xiRowC/HkKhV0ICr6Wp5jbKXJBuSFWVl8UN3nZ2ow8nJ +M6dMnTadzqibOWv2nLnyPHbW2fPPOVepj8pCHtg0UOlf7/44xuLQiPVMAg3vJ0jU +BDRiN+2W1yqKWgUarqPr5LXK3YQhLKB3PfNWA5NAx7sjinVcT9fLG5R9hNVCA939 +9FsNLA5N2FBQ1IQb6UZ5k7KA1UIj/ejJd8pZHJrxnMJgM15GL5M3KfMZgkbvve6d +ciaBgY9Hig28nF4ub1a+QRiCTr/23bcamAQt+ABBolZBC15Br5A3RLWxid76VAFW +K95KkKgJaMUtdIu8QelntdBM9+9/q4HFoQ0XFQbb8Ep6pbxBuZDVgkHffaaYcFci +SZ6drCgrIzde35RIqgsaGjW9qdkYzdwsVgst9E/PPhRncWjHWUjUBLTjVrpV3qbM +ZLXQSve9eiDO4rAQncLgQtxOt8tXKVsZQhv96MYfxpkEHXhLhLUDUzQlX60MMoR2 ++uGTB+qYBJ34ldZCeDvRpKbco3xVZwgL6ROPHqhjEpyHd+lI1Co4Dy1qyT3KXTpD +6KC//MMdMSbB+fh/o9nnY5qm5TXKM61sOnTSf35xb4xJcAE+1cokaBhaJxcgp1xe +o3y7NTkjWVlWdvukf71OTlS2tLa1L+zorJMgRg+XM4Tz6K4jB8qZBBfivmjmhdhL +e2Vb2UsYwvn0Zx8cKmcSLML/qECiVsEi7KN9sqM8WMEQLqCf7P16OZPgInypEola +BRfhNfQa2VF+VckQLqRvv/GYyiS4GD+uRKJWwcW4g+6QXeV3lQxhET3yzmMqk2Ax +PgqF2YsxQzOyq3wDItT/Z8Y/5OVE5XnnX3DhoiLqBwlDuIj+8VdF1N8kSJIzklBW +ls/HbsrLicqLitJxiFFkCBfT2x5/pJxJsAS/SZCoVbAEPerJIkrExfTLbxZB/qkS +SXJ6srKsLC8fzssJ6eLFi4pk5QlDWEL/8fYjCSZBFz4RaerCLM3KX1DuJwyhi951 +45EEk2Ap3hml9FL0qS9/QdlDWC0spU/88ffVLA7L0ECiJmAZBjSQQ6WZ1cIy+utb +f13F4rAcZxcGl2OO5uR+ZSZDWE73/9drNUyCS/C+SPElOEAH5J3KPSRZl6woK6t8 +/RGWgCVdS5ctW97RGdWDw3GGcAnd8zd/KmcSrMBvxZGoVbACB+mgfK1yIM4QVtDd +R+6qZhKsxMej4ZX4Z/TP5D9XHo0npyUrysoqHn2BJeKXrBjSmpfYVFhJX/7JQ3EW +h1XYwuLQXsS8Cv+C/oW8TWlmCKvoL1+/sZZJcCm+uwiJWgWX4l/Sv5S/qHzWzhAu +pUeO3FjLJFiNn7YjUathNeYJzRP5i8qn7ckZyYqyslnffUFOVK5sbVt1aUdnXQXE +aH4vYQir6Yf/9r06JsEafJ4gUWtgDV5H6HVEvp5EkVhDj/ymINEdEVYD3fglQr9E +5OuJch+Jkqu4JFa2tq1eU4zy4XI2Fbrpr26/P87isBaXsTisQw2JWg1rcRehu4i8 +mygXqtWwDm8g9IbC13o2HdbS+3Y9HGcSrMdb4kyCDXhPDIlaDevxRkJvJPI25ea4 +Wg0b8CZCbyLyNuWWGENYRz9+5OE4k2Aj3lCORK2GjXgzoTcTeZvywxhDWE9vfP+h +OJNgE75KkKhnwCa8hdBbiLxNSbFa2EBf/OlDcRaHdpyDhCFspPt+8cpMJsFluH8S +ErUGLsMvE/plIu8hyg3AEDbRd468MpNJcDnuBiRqDVyOXyH0K0TeQ5TdkJyVrCgr +W7DvSTlR1b123foNrW0bN3V01kkQo/mr2TS4jD7xxvMxJsFmPEhYHK7AS5GoNbAZ +byX0ViLfRpQDRK2GK3AvoXuJfBtRLmEIl9P/99aRGJNgCz5NkKg1sAX/itC/IvLt +RPkmYdNhM/37/M9jTIIr8WbCJNiKfxtDotbAlXgHoXcQ+Xai3ETUGtiKdxJ6J5Fv +J8oPYqwWrqAfvfRNicVhG85EolbDNryL0LuI/FWiLErSZGVZ2VMVh6+XExWXXb75 +io7OOgliNC+xybCFvv/ePyxgFbAd3/+KhESthe24j9B9RL6bKO99RUpOTVaUlZHX +/6ktUb5lKAsPn83mwJX0F5+O0CDBVfgUYRKkMB9l3FV4D6H3FOj4DlGrIYX3Enov +kW8jyhaGsJXetOeFGJMghXcQJKwWttHnfvN8jMXhClxV+GE7vfvj9xpZHK5GtcDw +1XgfofcR+X6i3FOerEtWlpX9hDx7i5yAK7duu3zz9qEoTWWT4Sp66w+enMQqwMT/ +eClKRRP3E7qfyF8jSpicmqwsK7u/Zu91cqL8qmKRezDGJkOKPv7lh6KJzz4eQxJJ +fm/WC3k5UZ4qSu4lbDJcTe/5+wciyR8fjCQrysrkRw/LifKrh1ZsnrDJYNKXDu6L +JN+7frROs5hcBZ09dNdv7opgP/8HMkqyZ0QSwaIHX/sEmAQmfrpglEqrVDBNn/zW +x8AkMPGdGaME06WCnO56oCh4ZLQgLxXspc/9+MNI8N/OGCXYWypo012P3D+ZSdCD +P6lAolZDDz5A6ANEfpAoXQyhj3794YKANSRg4QFCD0QCUQWedMub8xJxu2+I0cPl +rBYc+rtnbp7P4pBGhkSthjQ+ROhDRH6YKLOjPYzcd3hPeaLc6eisqyzM21POauEa ++rMf3TqfxYEX1wrHg4QeJPJfE2VacWL+8N0VifJrhifeXcEQdtB9b/90EpOgF79f +XvClFx8h9BEiHyLKJIbg0r/7WUHAHhKw8euEfj0SiHyBR3ezRHyHO+RLPs4QMvTl +7+2KMQn68BOCRK2BPvwGod8g8qNE+ZAwBI/u+mhvjEng4OsSErUaHHyM0MeIvEZ5 +WmIIgr7y1f0xJsE1+FqsoOIafJzQx4n8TaI8QJJTkxVlZbHH/6AkyjOeKPKIK772 +jZ/+70/2v/zx9LrpQDD/r/kYzeff1uT81coTpOlbpIPUzYIY5vO3/PiHv51F8/nf +/fiHv50l5/MJ5UnS9G1SNxPKMX9413OF0Qdve64wKivfIU1PkbqpEMf84Sff/+Sz +uTSf//b7n3w2V/lfpG4mSJjP5//42WefffYZofkHhz4q3yVGmSEFWdPihtQzGPLA +qDZdV1gp0XMNt8LAkCyR80KjynRdYaUiyWrHywV8WKQq+hpkTYsbjbYT9uV6NEtk +9B2umQuyIgh1S2SyPg8Cvdc1Q65184HNvhNy39ii94kM1/t8kRHX8h2mvv6Klet0 +EXK30RKuy61Q+Ho/99LC18ehWU/zyIItDGNsJPa1TlZT1AhHvbbZd0JuXHba4NjX +OlndvtbJarYwNpRAsX2z1/RMPTvoi8ASWd5oC90Wae6GZtYXvbrjhdz3TFfPZn3R +qylq1he9jsuX5Bw3zf16rdfNBX2Gd3LMTdC8nvVFKDRbGBtPqw8bzUzW5cZVp0TM +Uu6G5gpuZtf5otdxh8NY/CkURvA/Q1Kau6GZ6uNmVrOF0VWSeCeiW1PUItqiA0VX +jKtObmGcyJ4+BPK8EzCvKepGHgSO8Oq1dC6TLaH5ZFfJcbEFkRHNFkbbCZKhFFIu +6wozvdQMTaNpAp74POCh0VFSo44HqtRQaO7gGz0zG/SJMDDaJzBzY2j6odab86xm +Y7af80Inw4trujDUte6yoWD3jk5TW+jZHbaeEWndFq7p2ZrwbT0UwrX6TMe7uL9J +a9KaG23RrBnNWovmOl5uZ6OZSbe36oFv6UeZKxYSWxhrT+D46NqT5r1mzg27hOty +KxT+McB7RgMfX/k+HumjbI+AvuAEoDVFtbK54goahjoU682nEeHwjnQqsAqxP8lE +Mowze3K9jtC6+cAGbqa5v9G59ji14lTTp2Ak+qvZwlhQ4mqX61g7VohcwHWrr9EW +xQ1iGJBx+ckVruPr1X1uprk/FgjXsXb0iVzAG22h9xta2jHdk20rSkGM0qtbwvM0 +WxgXlaTjGPKaoo6oqC+gKtaC1OhojW/NjGGrBOzo0j7GLG0p7zVzbrjUMd2NoW+G +3B40Ok/au6MWxFhmjybGtL6Qc3x+kobXOZ5tOCX+ZnjoO5YY3UHynVnhh9zXR2JS +7KpGRvq0bj7QNRyzxZbFg6DbDJ1+3iXcXMYzfcMaT+xGVA7n5rHGdNOyeBCkvIKB +lFW0oNnCME+HP5pX6kyxOi4r0mBsOE1+DLmq2cLYXJI6Jx0GzfK5GfLVwg6Gwa4/ +TaT3mlYo/EHNFsYKW2giy72QuzzDQ39Qc0rK+4hbXcNoluc8q+TrMJPbxwNu6AAz +LqMj1gu7zLjmaIo6fDwYwWxsHHt2wP1+x+IjO6/tm9k+TVGH/O8WaV6v9eQcN90l +MlnhcS80+k6bx8e3r3sizQPNFsaasaN0/Omaol7im9m+0biD/37gEX2FCnwywJfk +HDdtrBo7NYtOF1pUv9+xeL3meE64bGfIvcARXrDYS69zstx1PG5sncgZcVyQh8zb +wqgfH9BuPmCsHVu5CLlrCVdT1JL2LeBhLtslvF7Hzvlm6AhvOAUDY/tpc6xo++je +rn1s14pzjsa7IeeNd143H+gSmYzppYstwemLUxGabhX1F+I0UpeDbG9zi26JHt/U +FLUIol7jO7mVC7mxejzbwlAxO67WUsNqyb78OYaXRYa7jPpxyxpnZkzH0/yct9IL +uW9aodPPjUXjKUpWJj26MciYTqGrg8IHP+cZy05BU0qEfdwPNFsYkwoKM6bjGWcU +D3/Rt2Pav1Nt1ofPer6wNFsYZ9lCy/VwXxO+rV9rZvVrzawlfF7oCETOC7kfGGvG +w9dQpI+vTw/MTNaN9v7Gz7PZzQeiqx5/sxP2rc2GjvACY/nY66RYZPSR3dkbUpNe +LWyb+8V1Y0/MizF2/GNMlhgvHJwnNvtYwJt9M9slfK715jzLGF+WfQ7/ImJRs4Uh +j4qNFo0VmhUzm3UHjfmjIqMpakRhvVYakaUTY/Ko/HKFbXNfs4Vx8anSZHSOXXmP +CZPm8YHVwra5b7SMXbSPndrNB4yFthC2y7WSW5bCjWdPrnekLep1XJ7mgaV5fGCD +ObDccbmRnhBh47ehp3lgpRzPCaOj3ETgFRoI7kf/jasntMQngLDQV00IXTiY5Vrx +/jr6/9+CLhzMcr0n57iFfW+b5YpcWiu6ZomMbgvdFbbteLZuZp1+Y+hbtkfrdVye +ishOFWVS/cbwR6vQh6QKqZFyPCc0dkxgwUwAyBDAokUt26PZwjAm4kohdwyjtrgv +aGmx0nPCZqOmeClY/MFosPzBbCj0nW1NnXp2h7NTU9RuM8PrteWO6y73RWbD0u6N +/As57ln82Ob5VLet0dYjCLYwZpWMaFnTD3gX90On17HMkBt8NO+nFYfpB1ElOwrE +utEgtNLOxhMDva65g6d7dFsMf9N8bqa7FndxPwxO9sJ8WNnRqnVhBYUHDUd1dp8D +o5ANLcbcUlIVtYv74Toh3HptcTrdxf3jnOpOJ68W98NUVghXs4WxaEdHoDlCN7NO +xrT6HI/7g3p2h60P5aeibrT6eIbXa4vT6Us9MeBtGszyzU7Y121muLFpdCaOcX92 +AlN6YPXxTOE0s/AEop+DKjAaRibqva4YsIQX+sLV+5t7eGg2a2aJD4Fx2ej0HRf4 +4ynWfW47Qcijy+gTODqMfvgh4uJ0epOIeDa2jV5T4wJ13OAVGU0V9ogIW32RWct1 +uBc22kLfkevhvsdDHgwFoJClTcaWiQMZQ+tRDJXeYdti6N66J9dbvMDeUGRz02CW +G5sngKOkFBxHr571RZb7oRPdaMwvcmFmHd3MhSKwTNfxbL3fiJLl5Hn4HI26zT3u +myFPF7eSRcX9cHwNj6Iud9ziFcNSbrmB0X2Uv8J2uW57IggdqzEj0twNdJHlnpl1 ++luiTXX4a2ptlnuL163sbyndR4+p52Pk3vhN68O2im43j39uwVmtyQhLpnCvXwxm +fbFzULdFY3GJN2Zd0+PRmF7oPTJmaPVxXx/yvTCUCgezPFUcSvW3pILQDHNByhJp +nnK8bC4s5eOLE1iLpwJQPwZFkamuU9EacbfQ6IhSY+wsC0I/KL24tH0xYOyYiP/j +SOUg9AM9CH3Hs4NUzgvMXp6yRbPRrNnCWDJeDaUwF2ez3Esvz7lut5nhxvnj0TF8 +gjCPnrxkQpMVdZmXy9RrOS9j+kGf6W7kPG0sG48TwwAUdQ0PAtPmo9VMFEpUGI6G +8oUJ5U7U4uqin/uuMNOjVk00mhoaTfW3jHwu6cMHJ7BlnCK6YaTFlbL8FPVFi6XJ +mONzm+/M6sGgF5o7NUW1RCbruNyv1xwvCE9/632UvcK7WU5hGRlTj0bSJTJZx+VG +TTRBK+I69ux2qr2iz22+M1v8p9li2OIQgmRxaE0uCId+m1dCf9YXGR728VxQuAbr +DbTCIW1cT46GbllG7jOP0aZn0kFoFk7kpXL9mQHT57ot+jMi4+j9TsZo08PBLI/M +a+3Nre3GlpNL0M/XXdhqAs0WxuyIleMljmVmjXlFWo+TV0ORPLuEw6gURe9d6MUH +loUUnVB/eAKFustt0xpMZaPXNTRbGA0lzJsDgW4OBI1BekejLXRzINC5l84Kxwsj +Tk/2vaixFOvF11wKnJa+b7NTD/nOUOeeJdKOZ+uO6ZmOl+Y7tYyZjUI8sZ61ZDv8 +XN16aPa4vIClfjzyUYiajuLdsgZ1WzReEwhv5JWeghvc1xzPCbWmYxfxeBuvsZQP +FZPCs8txYErzozAdczd+SpiKyocwabYwzi2haWfabrRFsTfI+jw7ElXDWH9yq/YY +nSXRLK1Xx8hFUZw8dAR2QrMncDwnPPYW75RrbfFxgdNrWlyzxYjRwOrjacdzwpGr +Ij9sStni2NceThcIM8ikCm+taYGxm4y2olmm1cf1VTxc4puOF+grvZC7rrNqZZqb +RpPRqjXrYSarXyJWm15aT6VSzbaIjp6paD2kLJFJFd8JSYmQu6nh53wpK5Me/VN2 +0BeG0tTZvrB9obWwpa2pOZ1euLAtne5o57yn2egx0ukmbhiWaTVbC42z9Fzg667T +o+/saE+1tzZGr+HZXk53nR5LC4TWbijt6fbWnuaFvT2mtbCzk7d3pM2FvCfd2dnR +lk73dva0WT0tC9t4u6GNoS7d6Dpebmfjzo72xvZWLRCaYSgtbS28uafd6mnivMdq +6rB6W3p7O5oNbvIOs625p5X3pts7WrlRsbU/HYjtRmJrfzAYWKbrbv//AwC+zNsT +Vz8AAA0KLS0yODFjZjYzNzczNGI4ZmU4MTk1MWVlMzUwOWNlZjU3MDZjYTA3ZWQz +YTZjODU4MDZjMjQxM2ZjNWU2NzYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0t +ZGF0YTsgbmFtZT0ic2FtcGxlX3R5cGVfY29uZmlnIjsgZmlsZW5hbWU9InNhbXBs +ZV90eXBlX2NvbmZpZy5qc29uIg0KQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9v +Y3RldC1zdHJlYW0NCg0KeyJhbGxvY19vYmplY3RzIjp7InVuaXRzIjoib2JqZWN0 +cyJ9LCJhbGxvY19zcGFjZSI6eyJ1bml0cyI6ImJ5dGVzIn0sImludXNlX29iamVj +dHMiOnsidW5pdHMiOiJvYmplY3RzIiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn0s +ImludXNlX3NwYWNlIjp7InVuaXRzIjoiYnl0ZXMiLCJhZ2dyZWdhdGlvbiI6ImF2 +ZXJhZ2UifX0NCi0tMjgxY2Y2Mzc3MzRiOGZlODE5NTFlZTM1MDljZWY1NzA2Y2Ew +N2VkM2E2Yzg1ODA2YzI0MTNmYzVlNjc2LS0NCg== +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 6708 +Content-Type: multipart/form-data; boundary=236cff23146496fd2cf8a63650d62e2265e008fbffd139bd0853693aa524 +Accept-Encoding: gzip +BODY: +LS0yMzZjZmYyMzE0NjQ5NmZkMmNmOGE2MzY1MGQ2MmUyMjY1ZTAwOGZiZmZkMTM5 +YmQwODUzNjkzYWE1MjQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7R6 +fZgU1ZnvnJ6umZceoF9agcMAUhxAa4qZqpmaYWZQQWAAAWH4BhGxra4+U1Ohu05b +VT0fbnZtDYgiKmuiYMT4ETfuGpN1N3eTmycfi4lZfZ7NJbt3b0z8yM1ukn3yuCau +erM3mhjZ56nqmWlmEGeA/DPT3ef9+L2/857zvudU3RAHgrGbSyU5EYdqjCfiIGEs +EYea8HMtxhgCocdeOC4xCQg+XINErQOCQEGepHyqhiUhRt/++gmJxSGGs5CoCYhh +gibkOmUWQ6imn37maYlJUI3/TJCodVCNk+lkeYryImFJiNNHTjwtsTjE0UeiJiCO +U+lUeYqyjSFI9Ic/eVpiEkj49yT0K2GSJmVUvkVSM1M1VVXk+B0bEhKJVcel+hqI +0VJpBZsBNfTuuw40sTjU4FImQS0+Egtx1eA0Ok1OKbpaB7V4Cb1EvlT5bIwloZa+ +9NT/bWJxANweSgJOp9PlGcoVDAHoF7/3ehOTYBK+GqGYhDPpTJkqrxCGMIne8dLr +TUyCBP4XQaLWQQJn0VkyVd4kDCFBn3zh9SYmQR3+IoqhDutpvUyVlwlDqKPP/OD1 +JibBZHwqhkStg8k4m86WqXJ7jCFMpgeff72JSTAFnydI1DqYgnPoHJkqJwlLwhT6 +/178eROLw1RsRaImYCrOpXPlyxSVJWEqPfL8L5pYHJLlwSTOo/NkWVFYEpL05ZfD +QcTLkKgJQJxP58tMmcOSgPTIgdO1LA7T8JNI1ARMwwV0gbxQGWAI0+g33/qwlkmQ +woMR4hQuoovkhcr7hCGk6DeeeLORSXAJPh/RcQleTi+Xr1D+ljCES+i/PPofjUyC +S/GxGBK1Di5FhSpyg3I4xpJwKf3BD95oZHGYjuuRqAmYjipV5QalkyFMp7989deN +TIIZ+F5kegYupovlRuXnhCVhBn36+V83sjjMxNvCkGZiE22SG5UNDGEmffHIbxqZ +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 ++6bNR5uZKJRoYzgTyi0Typ2oxdVFH/dywsyOWjXRaHpoNN3XOvI53LGiPnzwj7Ve +Iv+V6IY/l1fK2guNNlwszcZlHrf5QEH3B93AHNAU1RL5gpPjXoPmuH5w8VvvM/zp +ZW+aLYzpZyLpEvmCk+PG1EhBK0uOPbtdaK/ocZsPFMr/NFsMexxCkCoPbSr6wdBv +8yvoL3giz4NeXvTDa7AeXwsPaeN6cjR0BB65zxxjTc9n/cAMT+SVcn35ftPjui36 +8iLv6H1O3liiB4MFHrnX2lva2s/3UfRH2w5Lja/ZwpgbsXK2xLHMgjG/TOtZ8mpo +JhdWcBhtRdHrHHr5gWVYCyfUH36MQT3HbdMaTJefvmq2MBormDf7fd3s95v87P4m +W+hmv69zN1sQjhtEnI5912F8/cK5DOvlt2dCTvWKkjWgB3wg0Llriazj2rpjuqbj +ZvmAljcL0RRPrGcdj209MDM5HmJpGI98NEXNZ/BuWYO6LZo+4Qt35E2hMAzuaY7r +BFrz2EU8PiLPbXxoMwmfXY4DU5afgWnM3fgFYSobH8Kk2cK4ooKmgazdZItyb1Dw +eGFkVg1j6/mVlTE2K2azcr8aIxfN4rShI7ATmBnfcZ1g7C3eBe+15ccFTo9phSff +Yae+1cuzjusEI1dFXtCctsXY1x4uFgjTz6fDl+E03zhIRnvRLNPq5foGHqzyTMf1 +9fVuwHM5Z8P6LDeNZqNNa9GDfEG/Vmw03ayeTqdbbBEdPdPRekhbIp8uvxOSFgHP +pYef86WtfHb0T4VBTxhK89L2jvYOq6N1SXNLNtvRsSSb7WznPNNiZIxstpkbhmVa +LVaHsUAv+p6eczL6QGd7ur2tKee4xYEm2y3qOSdjab7Q2g2lPdvelmnp6MmYVsfS +pby9M2t28Ex26dLOJdlsz9LMEivT2rGEtxvaOcxly7YHOtub2ts0X2iGobQuaeUt +mXYr08x5xmrutHpae3o6Wwxu8k5zSUumjfdk2zvbuFGzty/ri31GYm+fP+hbZi63 +778HAO7Ti4wPOQAADQotLTIzNmNmZjIzMTQ2NDk2ZmQyY2Y4YTYzNjUwZDYyZTIy +NjVlMDA4ZmJmZmQxMzliZDA4NTM2OTNhYTUyNA0KQ29udGVudC1EaXNwb3NpdGlv +bjogZm9ybS1kYXRhOyBuYW1lPSJzYW1wbGVfdHlwZV9jb25maWciOyBmaWxlbmFt +ZT0ic2FtcGxlX3R5cGVfY29uZmlnLmpzb24iDQpDb250ZW50LVR5cGU6IGFwcGxp +Y2F0aW9uL29jdGV0LXN0cmVhbQ0KDQp7ImFsbG9jX29iamVjdHMiOnsidW5pdHMi +OiJvYmplY3RzIn0sImFsbG9jX3NwYWNlIjp7InVuaXRzIjoiYnl0ZXMifSwiaW51 +c2Vfb2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMiLCJhZ2dyZWdhdGlvbiI6ImF2 +ZXJhZ2UifSwiaW51c2Vfc3BhY2UiOnsidW5pdHMiOiJieXRlcyIsImFnZ3JlZ2F0 +aW9uIjoiYXZlcmFnZSJ9fQ0KLS0yMzZjZmYyMzE0NjQ5NmZkMmNmOGE2MzY1MGQ2 +MmUyMjY1ZTAwOGZiZmZkMTM5YmQwODUzNjkzYWE1MjQtLQ0K +******************* +HEADERS: +Content-Length: 2033 +Content-Type: multipart/form-data; boundary=2c8c14eab8a03029c7b116d1756f25d425aa0adf5965a50c439e0cc8e04b +Accept-Encoding: gzip +User-Agent: Go-http-client/1.1 +BODY: +LS0yYzhjMTRlYWI4YTAzMDI5YzdiMTE2ZDE3NTZmMjVkNDI1YWEwYWRmNTk2NWE1 +MGM0MzllMGNjOGUwNGINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/7RV +bWwcRxnmbN95fGf7Xt/5Y3x2ku2macdXvHs3tu/sf6hUCokoCqWoiKpcZnfn9g7v +7hy7c27cX4tIBKVISHy0UIhUqaoQIlEbkEBCVRRFEW1Q+ZCoIqhQGlUCUwUiGlRQ +aFHR7PnqEIkfVev7c3vvM+/7PM/MM3sf+8aPv3Xx7ZOv3JjJDqEUDGSH0CAMHfnS +N595VXw2eT4an35tSM+jFL566viArlb5kCpnUQrSOK1lCNPzaAD/4QcJOAD1BByA +YTysZYiuAxrET7x4fEBPo0H42SCkyjk0CAgjLUPODOqAhvAbj14e1NNoCN7IgIKH +YASPaFlyJaPPoDT+8pPfT+tplIYXMnoaZeCnqWRIGnI4p2XJLzLlHMrAKB7VxsiJ +lA4og//2bNIyDP/urR2GcTyujZHrCh7GW6cTGMFWD0aQx3ltjFxJFQBSoBxnh1MD +g0PpzLA+gxD++b+eUAZG4CWkp1EWzqFEwggABm2CvIjKOZSFAi5oE+RZpAMawc+9 +lrTk4J89Uzko4qI2QX6d0QFl8Y3rCTwKJ3qjRmEST2oT5IuqO4dvXHtcEY7BqZ7C +MZjCU9o0OakMjOJrVx5V8Di8MJwIGYcZPKNh8viwDmgMX7iUwHl4usedh1k8q2Fy +Oa0DGscv/ySBAf7eGw5QwiUNk0tqeB5vnUrgCbjUgydgDs9pmDytYMDPX03gApzu +KS/APJ7XMPmaUj6Bf/fWV5S0Ivwpm0grwh68R9tLLmZ1QAX8+ndPKngS/tOLwiTs +w/s0jVxWUSjiM/9IuqfgYq97Cm7Dt2l7ydWRwlT/ZEbRSDY3Ojaeh4lCUZ9Gk/jN +Vx9TyZyGu/Q0moFTanQWTYOOdW0/IeUcmoHb8e3aAfIjRTOFv/3yY0oFht/3LGK4 +A9+hHSAvKYvT+PTWtsXzCFKFfJ84Mzk1rSgBzeDf/nl7yfMIVBPG124k0ovwehZS +hbF+09AMLhT1PJrF3/tVckVmQU+uyCzcie/U9hOsAyrhX15OFJXgSSU+h0pAMNEO +kO8owXP4h33Bf0zBzSGdLc1Nq/mA5vH1NxNJc/BMb+/mYAEvaJj8ZUQHtAff6Jv6 +jTI1DgMQv3JhJJue3zNRKJamUAriK/EAjuOrhhYfJeXKXaupUgkNQBx/9fzZrXkc +x389f3ZrXovjLPlwZbE0iwYhPnf8wtmteRw/9fULCaYRo2KWJtEQxOeeu/72O/tw +HJ9R36RSKqE0xHH81jvqk8LxU/1HUqUfosMR8zsej2jaFt1A0kG706W5gAUi4rYI +nIjuCbuBbPvcIOW2ZNb9zPL4/ZsdvmA024FDj5ot4XOzFQpfPMLXmekKs7Pumr5w +TFd4LHANEbqmFMKzW6wdfGSjYlSM6qIrqgatGkuG1w66xxaZ79SWzSi0zbAbyLbP +zXaT2dxwBc2H3UC2fW64XLYls2gh7AaJIhZFPJSH6CFK9wZcmi0pO8Yn+MP38S90 +eSQfaMvWR0Ug+TFJbbMlPlCZfT4z7JEZrqDFfvEmEfSg25atrmXYwjfdkDVZwMzO +ZigiW3T4oivMbieSIWe+GXJfSG6Q8n3cF5IvGN2OJ5hzJBTNtsepY7aEz81WKHzx +CF9n5ic/c+iIKST3Fm3hedyWIjQ3eOCI0HyPnOY2tSvoPe+x9Sa5EWvyTyeS38+U +Fgscjx8WVkQL4Xb0Qs6cDRa2A0nZbuUt2vQls9QWjPZpI8k7NN//1bE3mNfltLhT +cJhkveK+fpGUI7neDJnPFwyXy09JZq/fyzr0Aw/gNqHZp1PKZ7aLRmSzIBHxsAjX +eUit3do137V9Fq4r8ombySPlm073S2pNKIQ0mt3ArlK4tb6zy659T8jaAZ3vL3Ht +u917Wbj+QOIkGUDp53bRj/Ly7hlHm5Hkfs/Nrh0hi/wG853ashHtbNn/+t6pk7LX +TPQsGB3R2b2T3WZRu/HuPZThpstls+t5u8fru7YKreLF/QyQsmur819QCg5yuRP0 +m3ejG7V2ktXpSu535OaOeHUnhPV5bkt6InVrfgyb2S1uHubybhW/yDwUSO557cOH +HM5ohS4bVVP6HfOg+DgLHLPRaFRd0bC6bc9p9N6YDVv4DZ/LsG2LhpDca9j9t3LD +9p1bS+ovgJLKWq1eq9v1pZVK1XHq9RXHWa1xblWpRR2nwim1mV2163S/2Y1C02tb +5rHVWqO2vOi1g+6xRTfoml7bso1IGDVKak5t2arWmxaz62trvLbqsDq3nLW11RXH +aa5ZK7a1VF/hNWqY3ej/jXO2Zx9brS2qSAqDUrK0ssSrVs22KpxbdmXVbi41m6tV +yhlfZStVa5k3ndrqMqeZBzecSDxEsw9uRJuRzTzvof8GAAD//4LTIC7vDAAADQot +LTJjOGMxNGVhYjhhMDMwMjljN2IxMTZkMTc1NmYyNWQ0MjVhYTBhZGY1OTY1YTUw +YzQzOWUwY2M4ZTA0Yi0tDQo= +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 7790 +Content-Type: multipart/form-data; boundary=d3406129592c3cc7c861ce3723a1814b640cff3f4da0c26d316b3b224a95 +Accept-Encoding: gzip +BODY: +LS1kMzQwNjEyOTU5MmMzY2M3Yzg2MWNlMzcyM2ExODE0YjY0MGNmZjNmNGRhMGMy +NmQzMTZiM2IyMjRhOTUNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x7 +eXgc1ZWvbqtLOm4h6biJ7Wt5oXzBUCpLVVLJlm0Wb7KNbWxhbIMBA+1S9e1S2dV1 +m6pqLcy8SUNsVgcYEmKzhSUEiIGEbBCyGkICeclzMm+GJCRkEpLMy0cWBpjMC2Tj +fV9Vt9SWFyQb3j9Wd99zz/md3zn33HNvlS9NAsHE9lJJTiWhFpOpJEiYSCWhLvpc +jwk2FQh9cfe3a1kSCC5jEiTwO0kkagoIAgV5krJUbYAEpmhKblC+lGTTIEH/9tsX +apkEtXiXxCRI4jcIErUBavEkepLcoNwhqQ2QxEbaKDcpNxGGUEv3/vsdEpNAwmtr +I1kJm2mzjMrLCYaQpLu+s09iEtThU3VI1Aaow8l0spxWPlmXnpqug/27WU1NKkkS +tcmWOkjQUinJECT62eu/nGAS1ON3JSRqA9TjyfRk+QPK1ySGUEe/+IOrNSYB4D8T +JGoDAE6hU+SpyocIa4Z6uud/Xq2xJEzCQSRqCibhNDpNnqoMMASgjzzySi2TIIU/ +RiRqA6SQUipPV36EDGESffChn81kEjTgvxEkagM0YAttkWconyEMIUV/cNujwCQ4 +Ce8jSNQGOAln0pnyLOVWwhAa6EOvPApMgkb8bi0StQEacTadLZ+ifKeWIZxEX/k/ +DwOToAlfIUjUBmhCmcryHOVawpqhkX7hyYeBJaEZN0eBakZGmTxH2cSaoYne8of9 +wJKA2IJETQHiqfRU+TSFMoRm+uFrflnLJJiMf54a8TUZ59K58nTljakMAel/vfOL +WiZBGl9qRqI2QBpPp6fL05Vnm9KnpOvWX3eXXFOTapLq6mFSqgFOaoSmZmyRIEFL +3QxhMt373D6JSXAy3lEXqT8Zz6BnyGnlQ3WsGdL09afvllgSPoDTI2gfQIUqcqsy +nSGcTD+y/2GJSTAF/4UgURtgCqpUlecpzxPWDB+gd939sMSSMBUDJGoKpmIbbZPn +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 +ffN5Ltu9aD436rYNZANxuZHaNhAMB5bpupf/vwEA7MYm8EZEAAANCi0tZDM0MDYx +Mjk1OTJjM2NjN2M4NjFjZTM3MjNhMTgxNGI2NDBjZmYzZjRkYTBjMjZkMzE2YjNi +MjI0YTk1DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InNh +bXBsZV90eXBlX2NvbmZpZyI7IGZpbGVuYW1lPSJzYW1wbGVfdHlwZV9jb25maWcu +anNvbiINCkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQoN +CnsiYWxsb2Nfb2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMifSwiYWxsb2Nfc3Bh +Y2UiOnsidW5pdHMiOiJieXRlcyJ9LCJpbnVzZV9vYmplY3RzIjp7InVuaXRzIjoi +b2JqZWN0cyIsImFnZ3JlZ2F0aW9uIjoiYXZlcmFnZSJ9LCJpbnVzZV9zcGFjZSI6 +eyJ1bml0cyI6ImJ5dGVzIiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn19DQotLWQz +NDA2MTI5NTkyYzNjYzdjODYxY2UzNzIzYTE4MTRiNjQwY2ZmM2Y0ZGEwYzI2ZDMx +NmIzYjIyNGE5NS0tDQo= +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 7294 +Content-Type: multipart/form-data; boundary=ca9269333d6808c1ca8fa1aba3c2c8f2eb7d6e0a61a67df07779cabd3c1b +Accept-Encoding: gzip +BODY: +LS1jYTkyNjkzMzNkNjgwOGMxY2E4ZmExYWJhM2MyYzhmMmViN2Q2ZTBhNjFhNjdk +ZjA3Nzc5Y2FiZDNjMWINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x6 +e3QcxZmvajQtfR4h6fOA7bJs43aBodWWuqWWLck2GNvyG78fGGPscaun1Go00zV0 +98hWdvdmYG0exiHe8DAEEzA4ODGPkHBDNifZrElI4JzNdbKPvMlmN2EPhyVhgWUv +kBC453SPpJFkhGSb+4803fU9ft+jvvqqqq+LA8HYnkJBTsShHOOJOEgYS8ShIvxd +iTFWC4S+/NQRicWB4HIkagIIAgV5gjKdIcToKz++X2ISxPCfYkjUKohhgibkKuXe +GEMop8+/eJ/EJCjHxyuQqFVQjhfQC+Rq5YsVyclJWHzwYXnxwYflRDmJlddJEKOF +xWwKxOk7z3xRYhLE8X7CJJDwB3EkahXEsYbWyLXK3UStAgmRolyr3BxnCBI9flvI +UoF3lCNRq6ACJ9KJcq1yOsZqoYL++V8elVgcKnFPaEQlJmlSvlChrBYq6Qe/fkxi +cQDcFA4CXkQvkicpbQwB6L++fUJiEkzAr8ZCwRNwMp0sT1GOxRjCBLr/zRMSkyCB +D0bDCaSUylOU9wlDSNC7fndCYhJU4TsEiVoFVTiVTpWnKP9NGEIVffbnJyQmwQX4 +eRIKvwDraJ08RbmbMIQL6FO/OSExCarxbyPuapxGp8lTlGdJclqy8ouxwq1yWVli +QlyqqIQJiaoL6iSI0UINQ6imR54PXV+D91cgUaugBqfT6XK18tcVrBZq6BvfPCqx +ONTiVCRqAmpxBp0hX6xMZQi19K6TJyQmAeI/EiRqFSDOpDNlWXmBsFpA+sDRExKL +w0T0kagJmIiz6CxZVjYzhIn0J78+ITEJkvj3BIlaBUlklMlTlL8jySnJirIyct/N +axJSdU0tTqyrgBgtFBazyZCkt9+2v5HF4UKczyS4CB+IIVETcCFeQi+RL1V0tQou +wtl0tnyZ8vkYq4UL6YvH/7WRxWESbgktmISX08tlRbmcIVxEH//+S41Mgsn4y8hz +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 +rum4ab5Py5q5KMTj61lLlsOPlK0HZmeGh1jqx0IfhWjIx0nCssI+5QZfuIOXe6EZ +3NMc1wm0ppGTeKyN12jC+4tJeHc5BkxpPgTTiLPxc8JUFN6PSbOFcXlJvu9L2422 +KPYGOY/nBqNqGJuG19yxIRkhsySapfVqBF0UxYn9W2AnMDt9x3WCkad451xri9cF +Tpdpcc0Wg0p9q5unHdcJBo+KvKApZYuRnz2cLxCmn02Z2XTrXM03DpDhWjTLtLq5 +voYHSz3TcX19tRvwTMZZszrNTaPJmKs160E2p68Ua003radSqWZbRFvPVFSHUpbI +porfhKREwDOpgXu+lJVND3+V6/OEoTTNb21rbbPaWuY1NafTbW3z0un2Vs47m41O +I51u4oZhmVaz1WZcoud9T884nfq+9tZU69zGjOPm9zXabl7POJ2W5gut1VBa061z +O5vbujpNq23+fN7anjbbeGd6/vz2eel01/zOeVZnS9s83mpoo4hLF2Xva29tbJ2r ++UIzDKVlXgtv7my1Ops477Sa2q2ulq6u9maDm7zdnNfcOZd3pVvb53KjYmdv2he7 +jMTOXr/Pt8xMZtf/GwCJfPpKNUAAAA0KLS1jYTkyNjkzMzNkNjgwOGMxY2E4ZmEx +YWJhM2MyYzhmMmViN2Q2ZTBhNjFhNjdkZjA3Nzc5Y2FiZDNjMWINCkNvbnRlbnQt +RGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ic2FtcGxlX3R5cGVfY29uZmln +IjsgZmlsZW5hbWU9InNhbXBsZV90eXBlX2NvbmZpZy5qc29uIg0KQ29udGVudC1U +eXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KeyJhbGxvY19vYmplY3Rz +Ijp7InVuaXRzIjoib2JqZWN0cyJ9LCJhbGxvY19zcGFjZSI6eyJ1bml0cyI6ImJ5 +dGVzIn0sImludXNlX29iamVjdHMiOnsidW5pdHMiOiJvYmplY3RzIiwiYWdncmVn +YXRpb24iOiJhdmVyYWdlIn0sImludXNlX3NwYWNlIjp7InVuaXRzIjoiYnl0ZXMi +LCJhZ2dyZWdhdGlvbiI6ImF2ZXJhZ2UifX0NCi0tY2E5MjY5MzMzZDY4MDhjMWNh +OGZhMWFiYTNjMmM4ZjJlYjdkNmUwYTYxYTY3ZGYwNzc3OWNhYmQzYzFiLS0NCg== +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 1295 +Content-Type: multipart/form-data; boundary=76090d85f36437fddfaea676fd97e09b516b242fff854dbe191df0aeaaa5 +Accept-Encoding: gzip +BODY: +LS03NjA5MGQ4NWYzNjQzN2ZkZGZhZWE2NzZmZDk3ZTA5YjUxNmIyNDJmZmY4NTRk +YmUxOTFkZjBhZWFhYTUNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/7RS +TYzbxBf/O46TidN2p9uPneZfgTEXd6XY8SRxkhuqUGErkLghURXveDxx3NieyB+r +LCcfQAKEBFckinrgwgHRcoFTtUIc6AUQBw4IoYpLWe0K8SGQtgUW2UsoH+edyxu9 +937v93u/mcc/vvra27tvfrm3IleBACtyFYiw+tTnP9y8zZ8p7+v5O99U1RUgoK/2 +X6qoEhDgPVGVQAV+0oTCahMIUEKSUtPuiqtNUIF1VFeA9l5ThaCCPvulhIjwA7ns +FWEDNRSgfdtQIRDR3p2yXIWfgrJchTKSFaC9AlQIqui7vRcLQgluH6Al2ERN5Yh2 +S1YhkND261eLcg3+JpboGjyKjirHtK9FFYIauvFTia7DWwfoOlxCS8oRbaexvAQF +WKwl14SKWJVq6gOgjrZ/L8UAeB2qEmjAXaHc8v2DLQGECCo17V242gQNeBwdV5a1 +HUGFAKC37pZMEvxChsLfhtcrIpBq6gpooK2fy+Ey3C+8E+EbcilZhifQCWVZ+15c +PrbQJDUKVOsUEGB+O6+gPN/RlXxdO9k5NRRaLVCBef7yhzfvnEV5vltEJc9l7XRn +pXUGiDDfev6jsnbt1SIquaKhzpnWSVCF+db1H3/dfxDl+Y0iaq1WC0gwz/N7+8UR +UH5tcdX+j/+H6wkJZwFLsER5FqVYpLMMNyMS8YRRHrkJPhVnUeqHTNdWw2RGonO6 +QxKG140JD5kxiXnIn2NTYnjcmE09I+Su4fGARJ7OY89IOQ/ohPjRIxsdvaObbY+b +Ojb1rh74UTZvk9C1ekYSUyPOotQPmRFOGJnpHsfLcRalfsh0L2ab3LnCaIodY3JI +rB4NSTzVPY7/4k0oibhzhdEUL8V/muDRR2PiR/js/cR570kST5/m8ZTF+jiLKMbP +Hpo5Hi0knliwJ5tJysIkJXSK6WGRkiS0SehaPT3BpxfM3j/2vp/XVj163k+Tc7rj +pzP80KJfW/yewuai4QKP1yKXzbFzWLpDx09DUv6lMwsZE0ZmBbsesXl6gSQpfkH4 +N79OCZ0w4yJLzxdvnRhrUcqCwL+45jKCO7inm0YazozH+BMkcg3btk2P207mB67t ++ekkc2zKQztkaexTbvOUBTblQcBoymObhq7NUxbYlAcBoymP7dlmzLHWGVkDa0AH +3X7HdN3BoO+6Q4sxx8QOdt0Ow5gSatIBftjIktgIfMeYDy3b6rUDP8rmbS/KiiTV +E65bWLNcq+eYg7FD6GA0YtbQJQPmuKPRsO+645HTp0530GcW1o0siY3Ad4z/jnPb +gR9l8/Z8aLWL9+c6xlq332WmY1Gnw5hDO0M67o7HQxMzwoakbzo9NnatYY/h2qUN +N+GXsXxpI9lMKAmCy38EAAD//6sEfUGMBgAADQotLTc2MDkwZDg1ZjM2NDM3ZmRk +ZmFlYTY3NmZkOTdlMDliNTE2YjI0MmZmZjg1NGRiZTE5MWRmMGFlYWFhNS0tDQo= +*******************"#; + +const EXPECTED_NAMES: &str = "bufio.(*Writer).Flush, bufio.NewReaderSize, cloud.google.com/go/logging/apiv2/loggingpb.file_google_logging_v2_logging_config_proto_init, cloud.google.com/go/logging/apiv2/loggingpb.init.2, compress/flate.NewWriter, compress/flate.newDeflateFast, crypto/x509.(*CertPool).AddCert, crypto/x509.ParseCertificate, crypto/x509.parseCertificate, crypto/x509/pkix.(*Name).FillFromRDNSequence, github.com/ClickHouse/clickhouse-go/v2.(*clickhouse).Ping, github.com/ClickHouse/clickhouse-go/v2.(*clickhouse).acquire, github.com/ClickHouse/clickhouse-go/v2.(*clickhouse).dial, github.com/ClickHouse/clickhouse-go/v2.(*clickhouse).dial.func1, github.com/ClickHouse/clickhouse-go/v2.DefaultDialStrategy, github.com/ClickHouse/clickhouse-go/v2.dial, github.com/DataDog/datadog-agent/pkg/util/scrubber.AddDefaultReplacers, github.com/DataDog/datadog-agent/pkg/util/scrubber.init.0, github.com/alecthomas/participle/v2.(*generatorContext).parseCapture, github.com/alecthomas/participle/v2.(*generatorContext).parseDisjunction, github.com/alecthomas/participle/v2.(*generatorContext).parseGroup, github.com/alecthomas/participle/v2.(*generatorContext).parseSequence, github.com/alecthomas/participle/v2.(*generatorContext).parseTerm, github.com/alecthomas/participle/v2.(*generatorContext).parseTermNoModifiers, github.com/alecthomas/participle/v2.(*generatorContext).parseType, github.com/alecthomas/participle/v2.(*generatorContext).subparseGroup, github.com/alecthomas/participle/v2.(*structLexer).Next, github.com/alecthomas/participle/v2.(*structLexer).Peek, github.com/alecthomas/participle/v2/lexer.Upgrade, github.com/aws/aws-sdk-go-v2/service/sso/internal/endpoints.init, github.com/aws/aws-sdk-go/aws/endpoints.init, github.com/envoyproxy/go-control-plane/envoy/config/overload/v3.file_envoy_config_overload_v3_overload_proto_init, github.com/envoyproxy/go-control-plane/envoy/config/overload/v3.init.0, github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3.file_envoy_type_matcher_v3_status_code_input_proto_init, github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3.init.7, github.com/goccy/go-json/internal/decoder.init.0, github.com/goccy/go-json/internal/encoder.init.0, github.com/gogo/protobuf/proto.RegisterType, github.com/google/gnostic-models/openapiv3.file_openapiv3_OpenAPIv3_proto_init, github.com/google/gnostic-models/openapiv3.init.0, github.com/google/pprof/profile.init, github.com/gorilla/mux.(*Router).ServeHTTP, github.com/grafana/pyroscope-go.(*Session).Start.func1, github.com/grafana/pyroscope-go.(*Session).Start.func2, github.com/grafana/pyroscope-go.(*Session).dumpHeapProfile, github.com/grafana/pyroscope-go.(*Session).reset, github.com/grafana/pyroscope-go.(*Session).takeSnapshots, github.com/grafana/pyroscope-go.(*Session).uploadData, github.com/grafana/pyroscope-go.(*cpuProfileCollector).Start, github.com/grafana/pyroscope-go.(*cpuProfileCollector).reset, github.com/grafana/pyroscope-go/godeltaprof.(*HeapProfiler).Profile, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*DeltaHeapProfiler).WriteHeapProto, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).Build, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).LocsForStack, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).Sample, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).emitLocation, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).flush, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).stringIndex, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*protobuf).int64s, github.com/grafana/pyroscope-go/internal/pprof.defaultCollector.StartCPUProfile, github.com/grafana/pyroscope-go/upstream/remote.(*Remote).handleJobs, github.com/grafana/pyroscope-go/upstream/remote.(*Remote).safeUpload, github.com/klauspost/compress/flate.(*Writer).Close, github.com/klauspost/compress/flate.(*compressor).close, github.com/klauspost/compress/flate.(*compressor).storeFast, github.com/klauspost/compress/flate.(*fastEncL1).Encode, github.com/klauspost/compress/flate.(*fastGen).addBlock, github.com/klauspost/compress/flate.NewWriter, github.com/klauspost/compress/flate.newFastEnc, github.com/lib/pq.init, github.com/metrico/otel-collector/exporter/clickhouseprofileexporter.createLogsExporter, github.com/metrico/otel-collector/exporter/clickhouseprofileexporter.newClickhouseProfileExporter, github.com/metrico/otel-collector/exporter/clickhouseprofileexporter/ch.NewClickhouseAccessNativeColumnar, github.com/metrico/otel-collector/receiver/pyroscopereceiver.(*pyroscopeReceiver).httpHandlerIngest, github.com/metrico/otel-collector/receiver/pyroscopereceiver.newPyroscopeReceiver.func1, github.com/metrico/otel-collector/receiver/pyroscopereceiver/jfrparser.init, github.com/opencontainers/go-digest.init, github.com/prometheus/procfs.init, github.com/snowflakedb/gosnowflake.init.3, github.com/snowflakedb/gosnowflake.readCACerts, github.com/spf13/cobra.(*Command).Execute, github.com/spf13/cobra.(*Command).ExecuteC, github.com/spf13/cobra.(*Command).execute, github.com/vmware/govmomi/vim25/types.init.2644, github.com/vmware/govmomi/vim25/types.init.3073, github.com/vmware/govmomi/vim25/types.init.6146, github.com/xdg-go/stringprep.init, github.com/xdg-go/stringprep.map.init.2, go.opencensus.io/resource.init, go.opencensus.io/trace/tracestate.init, go.opentelemetry.io/collector/config/confighttp.(*ServerConfig).ToServerContext.maxRequestBodySizeInterceptor.func2, go.opentelemetry.io/collector/config/confighttp.(*clientInfoHandler).ServeHTTP, go.opentelemetry.io/collector/config/confighttp.(*decompressor).ServeHTTP, go.opentelemetry.io/collector/exporter.(*Builder).CreateLogs, go.opentelemetry.io/collector/exporter.CreateLogsFunc.CreateLogsExporter, go.opentelemetry.io/collector/otelcol.(*Collector).Run, go.opentelemetry.io/collector/otelcol.(*Collector).setupConfigurationComponents, go.opentelemetry.io/collector/otelcol.NewCommand.func1, go.opentelemetry.io/collector/service.(*Service).initExtensionsAndPipeline, go.opentelemetry.io/collector/service.New, go.opentelemetry.io/collector/service/internal/graph.(*Graph).buildComponents, go.opentelemetry.io/collector/service/internal/graph.(*exporterNode).buildComponent, go.opentelemetry.io/collector/service/internal/graph.Build, go.opentelemetry.io/collector/service/telemetry.New, go.opentelemetry.io/collector/service/telemetry.newLogger, go.opentelemetry.io/collector/service/telemetry.newSampledLogger, go.opentelemetry.io/collector/service/telemetry.newSampledLogger.WrapCore.func2, go.opentelemetry.io/collector/service/telemetry.newSampledLogger.func1, go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.(*middleware).serveHTTP, go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.NewMiddleware.func1.1, go.uber.org/zap.(*Logger).WithOptions, go.uber.org/zap.optionFunc.apply, go.uber.org/zap/zapcore.newCounters, golang.org/x/text/encoding/ianaindex.init, golang.org/x/text/encoding/ianaindex.map.init.0, google.golang.org/protobuf/internal/filedesc.(*File).initDecls, google.golang.org/protobuf/internal/filedesc.(*File).unmarshalSeed, google.golang.org/protobuf/internal/filedesc.(*Message).unmarshalSeed, google.golang.org/protobuf/internal/filedesc.Builder.Build, google.golang.org/protobuf/internal/filedesc.appendFullName, google.golang.org/protobuf/internal/filedesc.newRawFile, google.golang.org/protobuf/internal/filetype.Builder.Build, google.golang.org/protobuf/internal/strs.(*Builder).grow, io.ReadAll, k8s.io/api/admissionregistration/v1beta1.addKnownTypes, k8s.io/api/authorization/v1beta1.init.0, k8s.io/api/autoscaling/v2beta1.init.0, k8s.io/api/core/v1.addKnownTypes, k8s.io/api/flowcontrol/v1beta1.addKnownTypes, k8s.io/apimachinery/pkg/apis/meta/v1.AddToGroupVersion, k8s.io/apimachinery/pkg/runtime.(*Scheme).AddKnownTypeWithName, k8s.io/apimachinery/pkg/runtime.(*Scheme).AddKnownTypes, k8s.io/apimachinery/pkg/runtime.(*SchemeBuilder).AddToScheme, k8s.io/client-go/kubernetes/scheme.init.0, main.run, main.runInteractive, n/a, net.(*conn).Write, net.(*netFD).Write, net/http.(*conn).serve, net/http.(*persistConn).writeLoop, net/http.HandlerFunc.ServeHTTP, net/http.NewRequest, net/http.NewRequestWithContext, net/http.persistConnWriter.Write, net/http.serverHandler.ServeHTTP, os.ReadFile, reflect.(*rtype).Method, reflect.(*rtype).MethodByName, reflect.FuncOf, reflect.Value.MethodByName, reflect.typelinks, reflect.typesByString, regexp.Compile, regexp.compile, regexp.compileOnePass, regexp.makeOnePass, regexp.newQueue, regexp/syntax.(*Regexp).Simplify, regexp/syntax.(*compiler).compile, regexp/syntax.(*compiler).inst, regexp/syntax.Compile, runtime.(*gcBits).bitp, runtime.(*gcWork).tryGet, runtime.(*itabTableType).find, runtime.(*lfstack).pop, runtime.(*lfstack).push, runtime.(*mspan).base, runtime.(*pageAlloc).scavenge, runtime.(*pageAlloc).scavenge.func1, runtime.(*scavengerState).init.func2, runtime.(*scavengerState).run, runtime.(*stkframe).getStackMap, runtime.assertI2I2, runtime.bgscavenge, runtime.doInit, runtime.doInit1, runtime.gcBgMarkWorker, runtime.gcBgMarkWorker.func2, runtime.gcDrain, runtime.getitab, runtime.greyobject, runtime.heapBits.nextFast, runtime.itabsinit, runtime.madvise, runtime.main, runtime.markroot, runtime.markroot.func1, runtime.memmove, runtime.pcdatavalue, runtime.pcvalue, runtime.putempty, runtime.readvarint, runtime.rt0_go, runtime.scanframeworker, runtime.scanobject, runtime.scanstack, runtime.schedinit, runtime.sysUnused, runtime.sysUnusedOS, runtime.systemstack, runtime/internal/syscall.Syscall6, runtime/pprof.(*profMap).lookup, runtime/pprof.(*profileBuilder).addCPUData, runtime/pprof.(*profileBuilder).build, runtime/pprof.(*profileBuilder).readMapping, runtime/pprof.StartCPUProfile, runtime/pprof.newProfileBuilder, runtime/pprof.profileWriter, syscall.RawSyscall6, syscall.Syscall, syscall.Write, syscall.write, total"; +const EXPECTED_MAP: &str = r#"0: [38742454760335319, 40087946534119400, 42596367897004777, 48771580209901686, 53990741595935099, 57088183000490135, 58557529421486831, 59457293053784180, 59593299692301340, 66048360549176157, 67085792033845063, 67191441878081537, 67662774102607196, 69612847511641035] +38742454760335319: [100628372814638195] +40087946534119400: [79270644668093111] +42596367897004777: [101487633555280136] +48771580209901686: [94918361600696052] +53990741595935099: [107434199424883752, 89550126155032432, 94200449688993973] +57088183000490135: [99612870642839279] +58557529421486831: [76842973892222616] +59457293053784180: [100063261950489098] +59593299692301340: [91363841374301870] +66048360549176157: [97043151921186953] +67085792033845063: [98457092565724063] +67191441878081537: [80234187892307127] +67662774102607196: [100070498862204333] +69612847511641035: [93989015620725212] +76842973892222616: [141511466637999628] +79270644668093111: [140046790225519686] +80234187892307127: [108446884271945857, 113267436422830507, 114248832421025570, 114885430980069358, 115331698473596966, 117892689794117372, 119726413661300012, 121372394715467071, 125414451763041269, 128617529603403115, 130674963834653131, 131369017856162869, 131377443943695927, 133162168510851715, 133224444749139462, 133456625119750025, 133670685672466743, 135704509429414406, 136256372519083004, 136369426990552861, 136900252284730992, 138350841599489442, 141632261736556477, 141644186349176910, 142921258866238155] +89550126155032432: [132968328674819128] +91363841374301870: [112927787583348828] +93989015620725212: [123859131567339026] +94200449688993973: [111305032523588391] +94918361600696052: [115517637213504835] +97043151921186953: [138755457801079417] +98457092565724063: [131444219727285889] +99612870642839279: [143056642792749795] +100063261950489098: [114239512416445153] +100070498862204333: [113036276560317227] +100628372814638195: [113202375439754492] +101487633555280136: [138302629414163253] +107434199424883752: [143716402966321512] +108446884271945857: [164598631465211387] +113036276560317227: [162585562039257624] +113202375439754492: [144907925925522891] +114239512416445153: [176508602522439059] +114248832421025570: [179755313256235787] +115331698473596966: [162678103806317869] +115517637213504835: [166486937955124181] +117892689794117372: [168707815736043364] +119726413661300012: [151672128231048010] +121372394715467071: [146560668754513061] +123859131567339026: [167803307762682777] +125414451763041269: [150771910060347665] +128617529603403115: [149591371078846279] +130674963834653131: [152957885916485528] +131377443943695927: [171871083424469921] +131444219727285889: [158560652969149676] +132968328674819128: [174607084807025992] +133162168510851715: [160368297165868928] +133224444749139462: [166300091472105835] +133456625119750025: [171820145069951969] +135704509429414406: [177677207921798470] +136256372519083004: [172843056586582600] +136369426990552861: [171635302867278403] +136900252284730992: [159371476378974887] +138302629414163253: [152091754849386483] +138350841599489442: [170753895802118158] +138755457801079417: [169936498903112440] +140046790225519686: [162052294746411150] +141511466637999628: [154563265271950256] +141644186349176910: [172439205468229740] +143056642792749795: [151373822819177589] +143716402966321512: [147895167036604141] +144907925925522891: [211823748967180240] +146560668754513061: [202372133294706040] +149591371078846279: [183845667997627588] +151373822819177589: [204504177385824931] +151672128231048010: [203035540117135618] +152091754849386483: [190431325594563993] +154563265271950256: [202382720767460487] +158560652969149676: [203771058446615966] +159371476378974887: [180529091226645867] +160368297165868928: [209291742825885717] +162052294746411150: [181754272285663650] +162585562039257624: [205012902263967563, 206106656114774191, 208139625951028649, 213747929336669041] +162678103806317869: [193609792679648060] +166300091472105835: [203175429227652691] +166486937955124181: [214733506333145550] +167803307762682777: [212288632265080590] +168707815736043364: [200420868017042899] +169936498903112440: [207016626847385621] +170753895802118158: [207696567357905885, 211229286556507985] +171635302867278403: [215891770457407678] +171820145069951969: [198185094474001340] +171871083424469921: [202139988629356393] +172439205468229740: [184990442633448882] +172843056586582600: [202028551340529695] +176508602522439059: [192684785179366918] +177677207921798470: [212698517895877695] +180529091226645867: [234212302893142491] +181754272285663650: [223163788020989333] +183845667997627588: [218657610839969430] +184990442633448882: [244915317080401139] +190431325594563993: [243728370117120237] +192684785179366918: [230844740840469675] +193609792679648060: [237537306502838130] +198185094474001340: [243079623770450903] +200420868017042899: [223583814222236675] +202028551340529695: [243525418435742126] +202139988629356393: [217731971905874853] +202372133294706040: [241945877256331538] +202382720767460487: [231336693026650961] +203035540117135618: [248986284621543964] +203175429227652691: [232498376900343756] +203771058446615966: [241946918561780749] +205012902263967563: [222240240991495290, 228138096816433381, 229786537842853059] +206106656114774191: [231182262209661194] +207016626847385621: [245709583625582887] +209291742825885717: [235127192721045853] +211229286556507985: [225119056699523582] +211823748967180240: [227812771612588225] +212288632265080590: [225741202102833501] +212698517895877695: [223622488125970319, 226074041614824704, 226326886345647069] +213747929336669041: [242278203730768664, 246612818468819164] +214733506333145550: [248406561647853472] +215891770457407678: [249196627458800899] +217731971905874853: [280131986563362610] +218657610839969430: [267039375489569399] +223163788020989333: [260677813958852540] +223583814222236675: [256498835618521422] +223622488125970319: [260571114322058968] +225119056699523582: [256039287245742699] +225741202102833501: [254727702034572013] +226074041614824704: [287930622953249787] +226326886345647069: [271805855373081495] +227812771612588225: [257319139697943423] +230844740840469675: [276073338854032635] +231182262209661194: [281236825529333440] +231336693026650961: [278691972420507434] +232498376900343756: [261144471606523809] +234212302893142491: [257783987186986042] +235127192721045853: [273578698003240119] +237537306502838130: [285763816937176870] +241945877256331538: [268438102404688691] +241946918561780749: [257241256473655176] +243525418435742126: [276134307233260561] +243728370117120237: [281969803670885355] +244915317080401139: [269936810596416513] +245709583625582887: [257463554105572768] +246612818468819164: [277288251556112728] +248406561647853472: [252569824539384422] +248986284621543964: [261400615560482546] +249196627458800899: [272798692730783874] +252569824539384422: [305292813914654951] +256498835618521422: [312763589063956012] +257241256473655176: [306111611259841957] +257319139697943423: [299082446479950134] +257463554105572768: [310279315742847272] +257783987186986042: [320401531452854762] +260571114322058968: [309455851780254571] +260677813958852540: [296247052900183451, 317744443962260464, 323186131871480845] +267039375489569399: [319439935469660530] +269936810596416513: [308011307883155678] +271805855373081495: [295467226836533886] +273578698003240119: [320300640419126287] +276073338854032635: [319187190984906169] +278691972420507434: [323560718645185674] +281236825529333440: [306077811224786879] +281969803670885355: [315953078079461946] +285763816937176870: [316913844144087631] +287930622953249787: [303827084499332991] +295467226836533886: [326409636778730601] +296247052900183451: [349618734685561198, 359288355374643511] +299082446479950134: [331359355115483339] +303827084499332991: [338780526052653927] +305292813914654951: [350889042354921962] +306077811224786879: [340916933448816229] +306111611259841957: [327550878786529068] +310279315742847272: [336163923347285241] +312763589063956012: [326613319977195793] +315953078079461946: [325145473923500605] +317744443962260464: [350168639796857360, 359131412474089459] +319187190984906169: [339354010836253434] +319439935469660530: [345933865856257569] +320300640419126287: [328924661850434419] +323186131871480845: [345577853602457116, 357491054556179667] +323560718645185674: [345639817392002662] +325145473923500605: [365276176966701378] +327550878786529068: [382409820864484947] +331359355115483339: [396161431009652089] +336163923347285241: [361022495174443294] +338780526052653927: [385220733308424239] +339354010836253434: [390788673691463970] +340916933448816229: [393832446376904874] +345577853602457116: [367001874425340950] +345639817392002662: [392863616087521191] +345933865856257569: [363770127908956666] +349618734685561198: [395656354623906696] +350168639796857360: [395541453753437426] +357491054556179667: [386153478011204969] +361022495174443294: [426468028027318203] +363770127908956666: [413105119106341518] +365276176966701378: [414131856178699368, 427478550692068623] +385220733308424239: [411557834771911607] +390788673691463970: [416118621215589990] +392863616087521191: [429645746188757495] +393832446376904874: [401174625198593520] +395541453753437426: [419391523947149865] +395656354623906696: [425632162216103475] +396161431009652089: [431936995650807243] +401174625198593520: [456447508180047158] +411557834771911607: [437861033291124710] +414131856178699368: [437033094921809140] +416118621215589990: [446096569348012462] +419391523947149865: [465704827954701504] +425632162216103475: [437489796624700501] +426468028027318203: [452497480807275245] +427478550692068623: [448483283656531511] +429645746188757495: [435023920018836649] +431936995650807243: [463212886879666703] +435023920018836649: [497604134777822163] +437033094921809140: [472676070278615598] +437861033291124710: [488097452589611931] +446096569348012462: [486403981884537998] +448483283656531511: [485108097661571896] +452497480807275245: [499306537905829224] +463212886879666703: [478497921702831780] +465704827954701504: [474155843758329780] +472676070278615598: [514941220186423434] +478497921702831780: [507613228799022537] +485108097661571896: [521502711493770737] +486403981884537998: [539125783741006397] +488097452589611931: [510679870848207228] +497604134777822163: [539770343320994095] +499306537905829224: [517534758553984568] +507613228799022537: [544973614009445412] +514941220186423434: [550526413983358244] +521502711493770737: [552048866168332286] +539125783741006397: [553053910897306124] +539770343320994095: [568796492124626177] +544973614009445412: [603048788829292163] +550526413983358244: [583586592627894792] +552048866168332286: [592383109338724224] +553053910897306124: [595826071670654526] +568796492124626177: [589612847844729594] +583586592627894792: [641396004492829198] +589612847844729594: [639492022376244668] +592383109338724224: [631152865748449390] +595826071670654526: [623605633815227692] +603048788829292163: [642148023643848224] +623605633815227692: [663812272016721927] +631152865748449390: [657922135552082607] +639492022376244668: [684347966288065243] +641396004492829198: [659329956224601251] +642148023643848224: [658011455666624803] +658011455666624803: [701377244087752852] +659329956224601251: [710883616105928487] +663812272016721927: [692611675432640454] +684347966288065243: [709834451815324138] +692611675432640454: [727858206006214905] +701377244087752852: [744127002732167100] +709834451815324138: [728259091397428983] +710883616105928487: [741318177634328511] +727858206006214905: [772615364345543035] +728259091397428983: [771868168823000744] +741318177634328511: [760902393548738380] +744127002732167100: [789103945439592791] +760902393548738380: [802556183189320716] +771868168823000744: [807210588330467000] +772615364345543035: [819758594897649876] +789103945439592791: [802714868440700285] +802556183189320716: [856519119881828781] +802714868440700285: [842366458003816992] +807210588330467000: [858208801750801133] +819758594897649876: [860849857165541675] +842366458003816992: [872896174453274103] +856519119881828781: [898702575464302642] +858208801750801133: [882798593320449911] +860849857165541675: [867629405263846024] +867629405263846024: [925077370316601880] +872896174453274103: [925302796778635955] +882798593320449911: [928341377466988897] +898702575464302642: [910131451510442396] +910131451510442396: [967539570511740301] +925077370316601880: [936830443724683529] +925302796778635955: [942446406691314293] +928341377466988897: [937034112021755462] +936830443724683529: [978337694696331794] +937034112021755462: [1008333201575256740] +942446406691314293: [973646071648783645] +973646071648783645: [1039417800972441990] +978337694696331794: [1019903727548730494] +1008333201575256740: [1025894988602438855] +1019903727548730494: [1047856586150546435] +1025894988602438855: [1069379696897221201] +1039417800972441990: [1062132269117042055] +1047856586150546435: [1094195406916561896] +1062132269117042055: [1094103587605650923] +1069379696897221201: [1093278396076019935] +1093278396076019935: [1124970154624221772] +1094103587605650923: [1128890574693008158] +1094195406916561896: [1120238951528850364, 1144429090257526679] +1120238951528850364: [1177891509056271968] +1124970154624221772: [1181139411236334438] +1144429090257526679: [1179266705547649400] +"#; From 303097afd858d976fd01462c3f2224ebcde9d0da Mon Sep 17 00:00:00 2001 From: akvlad Date: Tue, 8 Oct 2024 16:20:52 +0300 Subject: [PATCH 05/19] fix & e2e cover --- .../smart_optimizations/optimization_v3_2.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/parser/registry/smart_optimizations/optimization_v3_2.js b/parser/registry/smart_optimizations/optimization_v3_2.js index ff7a7b03..a74295fd 100644 --- a/parser/registry/smart_optimizations/optimization_v3_2.js +++ b/parser/registry/smart_optimizations/optimization_v3_2.js @@ -1,4 +1,4 @@ -const { getDuration, preJoinLabels, dist } = require('../common') +const { getDuration, preJoinLabels, dist, sharedParamNames } = require('../common') const reg = require('./log_range_agg_reg_v3_2') const Sql = require('@cloki/clickhouse-sql') const { DATABASE_NAME, checkVersion } = require('../../../lib/utils') @@ -44,6 +44,8 @@ function isLogPipeline (token) { */ module.exports.apply = (token, fromNS, toNS, stepNS) => { fromNS = Math.floor(fromNS / 15000000000) * 15000000000 + const fromParam = new Sql.Parameter(sharedParamNames.from) + const toParam = new Sql.Parameter(sharedParamNames.to) const tsClause = toNS ? Sql.between('samples.timestamp_ns', fromNS, toNS) : Sql.Gt('samples.timestamp_ns', fromNS) @@ -51,17 +53,21 @@ module.exports.apply = (token, fromNS, toNS, stepNS) => { .select(['samples.fingerprint', 'fingerprint']) .from([`${DATABASE_NAME()}.metrics_15s${_dist}`, 'samples']) .where(tsClause) + .addParam(fromParam) + .addParam(toParam) + fromParam.set(fromNS) + toParam.set(toNS) q.ctx = { step: stepNS / 1000000000, inline: !!clusterName } - preJoinLabels(token, q, dist) - for (const streamSelectorRule of token.Children('log_stream_selector_rule')) { q = streamSelectorReg[streamSelectorRule.Child('operator').value](streamSelectorRule, q) } + preJoinLabels(token, q, dist) + q = q.groupBy('labels') const lra = token.Child('log_range_aggregation') q = reg[lra.Child('log_range_aggregation_fn').value](lra, q) From 5101cfba3884493093be2006b51084a9b36236d3 Mon Sep 17 00:00:00 2001 From: akvlad Date: Tue, 8 Oct 2024 16:21:26 +0300 Subject: [PATCH 06/19] e2e upd --- test/e2e | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e b/test/e2e index 7d77675d..e016d11a 160000 --- a/test/e2e +++ b/test/e2e @@ -1 +1 @@ -Subproject commit 7d77675d19889b833fcd00c78003ee814fbc0e34 +Subproject commit e016d11ae4a9e66135b4940402d73d87ad1401ea From ea5c8544f4a407ad00ef8010a7916931e07b332d Mon Sep 17 00:00:00 2001 From: akvlad Date: Tue, 8 Oct 2024 21:38:44 +0300 Subject: [PATCH 07/19] longtest; docker compose test env --- .gitignore | 2 + promql/index.js | 4 +- test/qryn_test_env/docker-compose.yaml | 118 ++ .../dashboards/11159_rev1_custom.json | 1047 +++++++++++++++++ .../provisioning/dashboards/default.yaml | 8 + .../provisioning/datasources/datasource.yml | 80 ++ test/qryn_test_env/longtest/README.md | 26 + test/qryn_test_env/longtest/common.go | 7 + test/qryn_test_env/longtest/datadogSender.go | 132 +++ test/qryn_test_env/longtest/generate.go | 87 ++ test/qryn_test_env/longtest/genericSender.go | 191 +++ test/qryn_test_env/longtest/go.mod | 50 + test/qryn_test_env/longtest/go.sum | 512 ++++++++ test/qryn_test_env/longtest/influxSender.go | 51 + .../longtest/jsonConsistencyChecker.go | 45 + test/qryn_test_env/longtest/logReader.go | 103 ++ test/qryn_test_env/longtest/logSender.go | 54 + test/qryn_test_env/longtest/longtest.go | 188 +++ test/qryn_test_env/longtest/metricReader.go | 1 + test/qryn_test_env/longtest/metricSender.go | 94 ++ test/qryn_test_env/longtest/otlpSender.go | 132 +++ test/qryn_test_env/longtest/pqtSender.go | 59 + test/qryn_test_env/longtest/sendStats.go | 99 ++ .../longtest/serviceGraphSender.go | 95 ++ test/qryn_test_env/longtest/stats.go | 24 + test/qryn_test_env/longtest/timerSender.go | 48 + test/qryn_test_env/longtest/zipkinSender.go | 72 ++ .../otel/otel-collector-config.yaml | 116 ++ 28 files changed, 3444 insertions(+), 1 deletion(-) create mode 100644 test/qryn_test_env/docker-compose.yaml create mode 100644 test/qryn_test_env/grafana/provisioning/dashboards/11159_rev1_custom.json create mode 100644 test/qryn_test_env/grafana/provisioning/dashboards/default.yaml create mode 100644 test/qryn_test_env/grafana/provisioning/datasources/datasource.yml create mode 100644 test/qryn_test_env/longtest/README.md create mode 100644 test/qryn_test_env/longtest/common.go create mode 100644 test/qryn_test_env/longtest/datadogSender.go create mode 100644 test/qryn_test_env/longtest/generate.go create mode 100644 test/qryn_test_env/longtest/genericSender.go create mode 100644 test/qryn_test_env/longtest/go.mod create mode 100644 test/qryn_test_env/longtest/go.sum create mode 100644 test/qryn_test_env/longtest/influxSender.go create mode 100644 test/qryn_test_env/longtest/jsonConsistencyChecker.go create mode 100644 test/qryn_test_env/longtest/logReader.go create mode 100644 test/qryn_test_env/longtest/logSender.go create mode 100644 test/qryn_test_env/longtest/longtest.go create mode 100644 test/qryn_test_env/longtest/metricReader.go create mode 100644 test/qryn_test_env/longtest/metricSender.go create mode 100644 test/qryn_test_env/longtest/otlpSender.go create mode 100644 test/qryn_test_env/longtest/pqtSender.go create mode 100644 test/qryn_test_env/longtest/sendStats.go create mode 100644 test/qryn_test_env/longtest/serviceGraphSender.go create mode 100644 test/qryn_test_env/longtest/stats.go create mode 100644 test/qryn_test_env/longtest/timerSender.go create mode 100644 test/qryn_test_env/longtest/zipkinSender.go create mode 100644 test/qryn_test_env/otel/otel-collector-config.yaml diff --git a/.gitignore b/.gitignore index c2bb70cb..e23f35f9 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ node_modules /wasm_parts/vendor/ /wasm_parts/main.wasm /wasm_parts/wasm_parts.iml +/test/qryn_test_env/clickhouse/_data/ +/test/qryn_test_env/grafana/_data/ diff --git a/promql/index.js b/promql/index.js index 8bda90ab..4692c4ce 100644 --- a/promql/index.js +++ b/promql/index.js @@ -61,7 +61,9 @@ module.exports.series = async (query, fromMs, toMs) => { const data = await rawRequest(req.toString() + ' FORMAT JSON', null, DATABASE_NAME()) - return data.data.data.map(l => JSON.parse(l.labels)) + return data.data.data.map(l => + Object.fromEntries(Object.entries(JSON.parse(l.labels)).filter(e => e[1])) + ) } catch (e) { if (e instanceof prometheus.WasmError) { throw new PSQLError(e.message) diff --git a/test/qryn_test_env/docker-compose.yaml b/test/qryn_test_env/docker-compose.yaml new file mode 100644 index 00000000..f843eae3 --- /dev/null +++ b/test/qryn_test_env/docker-compose.yaml @@ -0,0 +1,118 @@ +version: '2.1' + +networks: + qryn-test: + driver: bridge + +services: + grafana: + image: grafana/grafana:11.1.0 + container_name: grafana + user: root + networks: + - qryn-test + volumes: + - ./grafana/_data:/var/lib/grafana:rw + - ./grafana/provisioning/:/etc/grafana/provisioning/ + environment: + - GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin} + - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin} + - GF_USERS_ALLOW_SIGN_UP=false + - GF_USERS_DEFAULT_THEME=light + - GF_EXPLORE_ENABLED=true + - GF_ALERTING_ENABLED=false + - GF_UNIFIED_ALERTING_ENABLED=true + - GF_FEATURE_TOGGLES_ENABLE=traceToMetrics,publicDashboards,tempoApmTable + - GF_INSTALL_PLUGINS=grafana-pyroscope-app,https://storage.googleapis.com/integration-artifacts/grafana-lokiexplore-app/grafana-lokiexplore-app-latest.zip;grafana-lokiexplore-app + restart: unless-stopped + ports: + - 3000:3000 + depends_on: + - qryn + + clickhouse-server: + image: clickhouse/clickhouse-server:24.1 + container_name: clickhouse-server + hostname: clickhouse + restart: unless-stopped + volumes: + - ./clickhouse/_data:/var/lib/clickhouse + networks: + - qryn-test + environment: + - CLICKHOUSE_USER=qryn + - CLICKHOUSE_PASSWORD=demo + ports: + - 8123:8123 + - 9000:9000 + healthcheck: + test: ['CMD', 'wget', '--spider', '-q', '127.0.0.1:8123/ping'] + interval: 1s + timeout: 1s + retries: 30 + + qryn: + image: node:22 + container_name: qryn + hostname: qryn + restart: unless-stopped + volumes: + - ../../:/app + networks: + - qryn-test + expose: + - 3100 + ports: + - "3100:3100" + environment: + - CLICKHOUSE_SERVER=clickhouse-server + - CLICKHOUSE_PORT=8123 + - CLICKHOUSE_AUTH=qryn:demo + - CLICKHOUSE_DB=qryn + - NODE_OPTIONS="--max-old-space-size=4096" + - FASTIFY_METRICS=true + working_dir: /app + command: ["qryn.mjs"] + depends_on: + clickhouse-server: + condition: service_healthy + + longtest: + image: golang:1.22-alpine + volumes: + - ./longtest:/longtest + working_dir: /longtest + environment: + MODE: LMZ + URL: http://qryn:3100 + command: ["go", "run", "."] + networks: + - qryn-test + depends_on: + - qryn + + otel-collector: + container_name: otel-collector + hostname: otel-collector + image: ghcr.io/metrico/qryn-otel-collector:0.0.5 + networks: + - qryn-test + volumes: + - ./otel/otel-collector-config.yaml:/etc/otel/config.yaml + ports: + - "3200:3100" # Loki/Logql HTTP receiver + - "3201:3200" # Loki/Logql gRPC receiver + - "8088:8088" # Splunk HEC receiver + - "5514:5514" # Syslog TCP Rereceiverceiver + - "24224:24224" # Fluent Forward receiver + - "4317:4317" # OTLP gRPC receiver + - "4318:4318" # OTLP HTTP receiver + - "14250:14250" # Jaeger gRPC receiver + - "14268:14268" # Jaeger thrift HTTP receiver + - "9411:9411" # Zipkin Trace receiver + - "11800:11800" # Skywalking gRPC receiver + - "12800:12800" # Skywalking HTTP receiver + - "8086:8086" # InfluxDB Line proto HTTP + - "8062:8062" # Pyroscope jprof + restart: on-failure + diff --git a/test/qryn_test_env/grafana/provisioning/dashboards/11159_rev1_custom.json b/test/qryn_test_env/grafana/provisioning/dashboards/11159_rev1_custom.json new file mode 100644 index 00000000..27cbd5bd --- /dev/null +++ b/test/qryn_test_env/grafana/provisioning/dashboards/11159_rev1_custom.json @@ -0,0 +1,1047 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "datasource", + "uid": "grafana" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "node.js prometheus client basic metrics", + "editable": true, + "fiscalYearStartMonth": 0, + "gnetId": 11159, + "graphTooltip": 0, + "id": 6, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "percent" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 10, + "x": 0, + "y": 0 + }, + "id": 6, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.2.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "irate(process_cpu_user_seconds_total{instance=~\"$instance\"}[2m]) * 100", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "User CPU - {{instance}}", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "irate(process_cpu_system_seconds_total{instance=~\"$instance\"}[2m]) * 100", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Sys CPU - {{instance}}", + "refId": "B" + } + ], + "title": "Process CPU Usage", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "s" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 9, + "x": 10, + "y": 0 + }, + "id": 8, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.2.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "nodejs_eventloop_lag_seconds{instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{instance}}", + "refId": "A" + } + ], + "title": "Event Loop Lag", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 19, + "y": 0 + }, + "id": 2, + "interval": "", + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "/^__name__$/", + "values": false + }, + "textMode": "name", + "wideLayout": true + }, + "pluginVersion": "10.2.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "sum(nodejs_version_info{instance=~\"$instance\"}) by (version)", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{version}}", + "refId": "A" + } + ], + "title": "Node.js Version", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "#F2495C", + "mode": "fixed" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 5, + "x": 19, + "y": 3 + }, + "id": 4, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto", + "wideLayout": true + }, + "pluginVersion": "10.2.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "sum(changes(process_start_time_seconds{instance=~\"$instance\"}[1m]))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{instance}}", + "refId": "A" + } + ], + "title": "Process Restart Times", + "type": "stat" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 16, + "x": 0, + "y": 7 + }, + "id": 7, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max", + "min" + ], + "displayMode": "table", + "placement": "right", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.2.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "process_resident_memory_bytes{instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Process Memory - {{instance}}", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "nodejs_heap_size_total_bytes{instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Heap Total - {{instance}}", + "refId": "B" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "nodejs_heap_size_used_bytes{instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Heap Used - {{instance}}", + "refId": "C" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "nodejs_external_memory_bytes{instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "External Memory - {{instance}}", + "refId": "D" + } + ], + "title": "Process Memory Usage", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "short" + }, + "overrides": [] + }, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 7 + }, + "id": 9, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.2.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "nodejs_active_handles_total{instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Active Handler - {{instance}}", + "refId": "A" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "nodejs_active_requests_total{instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Active Request - {{instance}}", + "refId": "B" + } + ], + "title": "Active Handlers/Requests Total", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 0, + "y": 14 + }, + "id": 10, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.2.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "nodejs_heap_space_size_total_bytes{instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Heap Total - {{instance}} - {{space}}", + "refId": "A" + } + ], + "title": "Heap Total Detail", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 8, + "y": 14 + }, + "id": 11, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.2.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "nodejs_heap_space_size_used_bytes{instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Heap Used - {{instance}} - {{space}}", + "refId": "A" + } + ], + "title": "Heap Used Detail", + "type": "timeseries" + }, + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisBorderShow": false, + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 10, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "insertNulls": false, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "never", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "bytes" + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 8, + "x": 16, + "y": 14 + }, + "id": 12, + "links": [], + "options": { + "legend": { + "calcs": [ + "mean", + "lastNotNull", + "max", + "min" + ], + "displayMode": "table", + "placement": "bottom", + "showLegend": true + }, + "tooltip": { + "mode": "multi", + "sort": "none" + } + }, + "pluginVersion": "10.2.2", + "targets": [ + { + "datasource": { + "type": "prometheus", + "uid": "${DS_PROMETHEUS}" + }, + "expr": "nodejs_heap_space_size_available_bytes{instance=~\"$instance\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Heap Used - {{instance}} - {{space}}", + "refId": "A" + } + ], + "title": "Heap Available Detail", + "type": "timeseries" + } + ], + "refresh": "", + "schemaVersion": 38, + "tags": [ + "nodejs" + ], + "templating": { + "list": [ + { + "current": { + "selected": false, + "text": "Prometheus", + "value": "prometheus" + }, + "hide": 0, + "includeAll": false, + "label": "Datasource", + "multi": false, + "name": "DS_PROMETHEUS", + "options": [], + "query": "prometheus", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "current": { + "selected": false, + "text": "All", + "value": "$__all" + }, + "datasource": { + "type": "prometheus", + "uid": "prometheus" + }, + "definition": "label_values(nodejs_version_info, instance)", + "hide": 0, + "includeAll": true, + "label": "instance", + "multi": true, + "name": "instance", + "options": [], + "query": "label_values(nodejs_version_info, instance)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "NodeJS Application Dashboard", + "uid": "PTSqcpJWk1", + "version": 3, + "weekStart": "" +} \ No newline at end of file diff --git a/test/qryn_test_env/grafana/provisioning/dashboards/default.yaml b/test/qryn_test_env/grafana/provisioning/dashboards/default.yaml new file mode 100644 index 00000000..7c4d0dd5 --- /dev/null +++ b/test/qryn_test_env/grafana/provisioning/dashboards/default.yaml @@ -0,0 +1,8 @@ +apiVersion: 1 + +providers: + - name: Qryn NodeJS Application Dashboard + folder: Services + type: file + options: + path: /etc/grafana/provisioning/dashboards/11159_rev1_custom.json \ No newline at end of file diff --git a/test/qryn_test_env/grafana/provisioning/datasources/datasource.yml b/test/qryn_test_env/grafana/provisioning/datasources/datasource.yml new file mode 100644 index 00000000..8902c532 --- /dev/null +++ b/test/qryn_test_env/grafana/provisioning/datasources/datasource.yml @@ -0,0 +1,80 @@ +# config file version +apiVersion: 1 + +deleteDatasources: + - name: Loki + orgId: 1 + - name: Tempo + orgId: 1 + - name: Prometheus + orgId: 1 + - name: Pyroscope + orgId: 1 + +datasources: + - name: Loki + type: loki + access: proxy + uid: loki + url: http://qryn:3100 + editable: true + jsonData: + derivedFields: + - datasourceUid: tempo + matcherRegex: "^.*?traceI[d|D]=(\\w+).*$" + name: traceId + url: '$${__value.raw}' + - datasourceUid: tempo + matcherRegex: "^.*?\"traceID\":\"(\\w+)\".*$" + name: traceID + url: '$${__value.raw}' + - name: Tempo + type: tempo + access: proxy + uid: tempo + url: http://qryn:3100 + editable: true + jsonData: + nodeGraph: + enabled: true + tracesToLogs: + datasourceUid: loki + filterByTraceID: false + spanEndTimeShift: "2000ms" + spanStartTimeShift: "-2000ms" + tags: ['job'] + tracesToMetrics: + datasourceUid: prometheus + tags: ['job'] + serviceMap: + datasourceUid: prometheus + lokiSearch: + datasourceUid: loki + - name: Prometheus + type: prometheus + access: proxy + uid: prometheus + url: http://qryn:3100 + editable: true + basicAuth: false + jsonData: + httpMethod: GET + graphiteVersion: "1.1" + tlsAuth: false + tlsAuthWithCACert: false + cacheLevel: 'High' + incrementalQuerying: 'Enable' + incrementalQueryOverlapWindow: 2m + - name: Pyroscope + uid: pyroscope + type: grafana-pyroscope-datasource + version: 2 + access: proxy + url: http://qryn:3100 + basicAuth: false + basicAuthUser: "" + withCredentials: false + isDefault: false + readOnly: false + # secureJsonData: + # apiKey: {YOUR_API_KEY} diff --git a/test/qryn_test_env/longtest/README.md b/test/qryn_test_env/longtest/README.md new file mode 100644 index 00000000..2e68e484 --- /dev/null +++ b/test/qryn_test_env/longtest/README.md @@ -0,0 +1,26 @@ +# gigaswap - long test + +long-term test of qryn endpoint +It sends +- 3000 logs/sec +- 3000 influx logs / sec +- 300 zipkin traces/sec +- 300 datadog traces/sec with variable amount of spans +- 5K of metrics / 15 sec + +depending on the MODE until you stop it. + +# Usage + +- go build -o longtest +- URL='' MODE= ZPATH=/path/for/zipkin DPATH=/path/for/datadog ./longtest + +## MODE LIST + +- L - for loki logs +- M - for metrics remote-write +- Z - for zipkin traces +- D - for datadog traces +- I - for influx logs +- C - for a lot of small simultaneous loki log request to check batching +- S - for servicegraph testing diff --git a/test/qryn_test_env/longtest/common.go b/test/qryn_test_env/longtest/common.go new file mode 100644 index 00000000..3a9ec37d --- /dev/null +++ b/test/qryn_test_env/longtest/common.go @@ -0,0 +1,7 @@ +package main + +import "math/rand" + +func pickRandom[T any](arr []T, rnd *rand.Rand) T { + return arr[rnd.Intn(len(arr))] +} diff --git a/test/qryn_test_env/longtest/datadogSender.go b/test/qryn_test_env/longtest/datadogSender.go new file mode 100644 index 00000000..5a048cb5 --- /dev/null +++ b/test/qryn_test_env/longtest/datadogSender.go @@ -0,0 +1,132 @@ +package main + +import ( + "encoding/json" + "fmt" + "math/rand" + "os" + "time" +) + +// https://docs.datadoghq.com/tracing/guide/send_traces_to_agent_by_api/#model +type DataDogModel struct { + Duration int64 `json:"duration"` + Error int32 `json:"error"` + Meta map[string]string `json:"meta"` + Metrics map[string]float64 `json:"metrics"` + Name string `json:"name"` + ParentID int64 `json:"parent_id"` + Resource string `json:"resource"` + Service string `json:"service"` + SpanID int64 `json:"span_id"` + Start int64 `json:"start"` + TraceID int64 `json:"trace_id"` + Type DataDogModelEnum `json:"type"` +} + +type DataDogModelEnum string + +func (d DataDogModelEnum) String() string { + return string(d) +} + +const ( + DataDogModelEnumWeb DataDogModelEnum = "web" + DataDogModelEnumDb DataDogModelEnum = "db" + DataDogModelEnumCache DataDogModelEnum = "cache" + DataDogModelEnumCustom DataDogModelEnum = "custom" +) + +type DatadogReq [][]DataDogModel + +func (d DatadogReq) Serialize() ([]byte, error) { + return json.Marshal(d) +} + +func NewDatadogSender(opts LogSenderOpts) ISender { + rnd := rand.New(rand.NewSource(time.Now().UnixNano())) + path := "/v0.3/traces" + if os.Getenv("DPATH") != "" { + path = os.Getenv("DPATH") + } + l := &GenericSender{ + LogSenderOpts: opts, + rnd: rnd, + timeout: time.Second, + path: path, + } + pickCont := func() string { + return l.pickRandom(opts.Containers) + } + l.generate = func() IRequest { + + var ( + spansPerTrace int = 3 + traces int = 0 + remainder int = 0 + ) + + // if the total is less than the spans per trace, we only do those. + if opts.LinesPS < spansPerTrace { + remainder = opts.LinesPS + } else { + traces = opts.LinesPS / spansPerTrace + remainder = opts.LinesPS % spansPerTrace + } + + // make sure we always have an array with the correct amount of slots. + arrayLength := traces + if remainder != 0 { + arrayLength++ + } + + // initiate the main container + req := make(DatadogReq, arrayLength) + // add the traces that fit + for i := 0; i < traces; i++ { + req[i] = trace(i, spansPerTrace, rnd, pickCont) + } + + // add a last trace with the remaining spans. + if remainder != 0 { + req[traces] = trace(traces, remainder, rnd, pickCont) + } + + return req + } + return l +} + +func trace(i int, spans int, rnd *rand.Rand, pickCont func() string) []DataDogModel { + var ( + traceID = rnd.Int63n(10000000) + tr = make([]DataDogModel, spans) + ) + + for j := 0; j < spans; j++ { + cont := pickCont() + now := time.Now() + + tr[j] = DataDogModel{ + Duration: time.Duration(1 * (i + 1)).Nanoseconds(), + Error: 0, + Meta: map[string]string{ + "sender": "longtest", + "randomContainer": cont, + }, + Metrics: map[string]float64{ + REQ_BYTES: rnd.Float64(), + }, + Name: fmt.Sprintf("longtest-%d-%d", i+1, j+1), + ParentID: 0, + Resource: "/", + Service: "longtest", + SpanID: int64((i + 1) * (j + 1)), + Start: now.UnixNano(), + TraceID: traceID, + Type: DataDogModelEnumWeb, + } + } + + return tr +} diff --git a/test/qryn_test_env/longtest/generate.go b/test/qryn_test_env/longtest/generate.go new file mode 100644 index 00000000..c4698e51 --- /dev/null +++ b/test/qryn_test_env/longtest/generate.go @@ -0,0 +1,87 @@ +package main + +import ( + "bytes" + "fmt" + "github.com/akvlad/flog/generator" + "github.com/scaleway/scaleway-sdk-go/namegenerator" + "strconv" + "sync" + "time" +) + +type bufCloser struct { + *bytes.Buffer +} + +func (*bufCloser) Close() error { + return nil +} + +func generateLogs() []string { + var res []string + writers := make([]bytes.Buffer, 8) + wg := sync.WaitGroup{} + for i, format := range []string{"apache_common", "apache_combined", "apache_error", "rfc3164", "rfc5424", + "common_log", "json"} { + wg.Add(1) + go func(format string, i int) { + defer wg.Done() + generator.Generate(&generator.Option{ + Format: format, + Output: "", + Type: "stdout", + Number: 0, + Bytes: 10 * 1024 * 1024, + Sleep: 0, + Delay: 0, + SplitBy: 0, + Overwrite: false, + Forever: false, + Writer: &bufCloser{&writers[i]}, + }) + }(format, i) + } + generateFaro(&writers[7]) + wg.Wait() + for _, w := range writers { + lines := bytes.Split(w.Bytes(), []byte("\n")) + for _, l := range lines { + res = append(res, string(l)) + } + } + return res +} + +func generateFaro(buf *bytes.Buffer) { + _buf := bytes.Buffer{} + + generator.Generate(&generator.Option{ + Format: "common_log", + Output: "", + Type: "stdout", + Number: 0, + Bytes: 10 * 1024 * 1024, + Sleep: 0, + Delay: 0, + SplitBy: 0, + Overwrite: false, + Forever: false, + Writer: &bufCloser{&_buf}, + }) + + lines := bytes.Split(_buf.Bytes(), []byte("\n")) + for _, l := range lines { + buf.WriteString(fmt.Sprintf( + "timestamp=\"%s\" kind=log message=%s level=log sdk_name=@grafana/faro-core sdk_version=1.0.0 sdk_integrations=@grafana/faro-web-sdk:instrumentation-errors:1.0.0,@grafana/faro-web-sdk:instrumentation-web-vitals:1.0.0,@grafana/faro-web-sdk:instrumentation-session:1.0.32,@grafana/faro-web-sdk:instrumentation-view:1.0.32,@grafana/faro-web-sdk:instrumentation-console:1.0.0,@grafana/faro-web-tracing:1.0.0,@grafana/faro-react:1.0.0 app_name=@grafana/faro-demo-client app_version=1.0.0 app_environment=production session_id=fDKz3Gccz6 page_url=http://localhost:5173/ browser_name=Firefox browser_version=122.0 browser_os=\"Ubuntu unknown\" browser_mobile=false view_name=default\n", + time.Now().UTC().Format(time.RFC3339Nano), strconv.Quote(string(l)))) + } +} + +func generateNames(n int) []string { + names := make([]string, n) + for i := range names { + names[i] = namegenerator.GetRandomName() + } + return names +} diff --git a/test/qryn_test_env/longtest/genericSender.go b/test/qryn_test_env/longtest/genericSender.go new file mode 100644 index 00000000..3f9d98f8 --- /dev/null +++ b/test/qryn_test_env/longtest/genericSender.go @@ -0,0 +1,191 @@ +package main + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "math/rand" + "net/http" + "sync" + "time" +) + +const ( + REQ_OK = "req_ok" + REQ_ERR = "req_err" + REQ_FAIL = "req_fail" + REQ_BYTES = "req_bytes" + REQ_TIME_MS = "req_time_ms" +) + +type IRequest interface { + Serialize() ([]byte, error) +} + +type LogStream struct { + Stream map[string]string `json:"stream"` + Values [][]interface{} `json:"values"` +} + +type LogRequest struct { + Streams []*LogStream `json:"streams"` +} + +func (l *LogRequest) Serialize() ([]byte, error) { + return json.Marshal(l) +} + +type ISender interface { + Run() + Stop() +} + +type LogSenderOpts struct { + Containers []string + Lines []string + LinesPS int + URL string + Headers map[string]string + ID string +} + +type GenericSender struct { + LogSenderOpts + mtx sync.Mutex + rnd *rand.Rand + ticker *time.Ticker + timeout time.Duration + path string + generate func() IRequest + numOfSends int +} + +func (l *GenericSender) Run() { + if l.ticker != nil { + return + } + l.ticker = time.NewTicker(l.timeout) + go func() { + for range l.ticker.C { + if l.generate == nil { + fmt.Println("ERROR! No generate function") + } + numOfSends := l.numOfSends + if numOfSends == 0 { + numOfSends = 1 + } + for i := 0; i < numOfSends; i++ { + err := l.send(l.generate()) + if err != nil { + fmt.Printf("%v\n", err) + continue + } + } + } + }() +} + +func (l *GenericSender) Stop() { + if l.ticker != nil { + l.ticker.Stop() + l.ticker = nil + } +} + +func (l *GenericSender) random(n int) int { + l.mtx.Lock() + defer l.mtx.Unlock() + return l.rnd.Intn(n) +} + +func (l *GenericSender) pickRandom(array []string) string { + if len(array) == 0 { + return "" + } + l.mtx.Lock() + defer l.mtx.Unlock() + return pickRandom[string](array, l.rnd) +} + +func (l *GenericSender) send(request IRequest) error { + retries := 0 + body, err := request.Serialize() + if err != nil { + return err + } + send := func(url string, count bool) { + if url == "" { + url = l.URL + l.path + } + var statsInc = func(name string) { + if count { + stats.Inc(name) + } + } + var statsObserve = func(name string, value int64) { + if count { + stats.Observe(name, value) + } + } + for { + start := time.Now() + req, err := http.NewRequest("POST", url, bytes.NewReader(body)) + if err != nil { + fmt.Printf("Request error: %v\n", err) + <-time.After(time.Second) + if retries < 10 { + statsInc(REQ_ERR) + retries++ + continue + } else { + statsInc(REQ_FAIL) + return + } + } + req.Header.Set("Content-Type", "application/json") + for k, v := range l.Headers { + req.Header.Set(k, v) + } + client := http.Client{ + Timeout: 30 * time.Second, + } + resp, err := client.Do(req) + if err != nil { + fmt.Printf("Request error: %v\n", err) + <-time.After(time.Second) + if retries < 10 { + statsInc(REQ_ERR) + retries++ + continue + } else { + statsInc(REQ_FAIL) + return + } + } + if resp.StatusCode/100 != 2 { + b := bytes.Buffer{} + io.Copy(&b, resp.Body) + fmt.Printf("Request error: [%d]: %s\n", resp.StatusCode, string(b.Bytes())) + <-time.After(time.Second) + if retries < 10 { + statsInc(REQ_ERR) + retries++ + continue + } else { + stats.Inc(REQ_FAIL) + return + } + } + statsInc(REQ_OK) + statsObserve(REQ_BYTES, int64(len(body))) + statsObserve(REQ_TIME_MS, time.Now().Sub(start).Milliseconds()) + return + } + } + go func() { + send("", true) + }() + + return nil +} diff --git a/test/qryn_test_env/longtest/go.mod b/test/qryn_test_env/longtest/go.mod new file mode 100644 index 00000000..d2412dfc --- /dev/null +++ b/test/qryn_test_env/longtest/go.mod @@ -0,0 +1,50 @@ +module longtest + +go 1.18 + +replace k8s.io/client-go v12.0.0+incompatible => k8s.io/client-go v0.22.1 + +require ( + github.com/akvlad/flog v0.4.4-0.20220607095327-09ef70e4099e + github.com/apache/arrow/go/v13 v13.0.0-20230607163259-9be7074f85d6 + github.com/golang/protobuf v1.5.2 + github.com/golang/snappy v0.0.4 + github.com/influxdata/influxdb-client-go/v2 v2.12.2 + github.com/influxdata/line-protocol v0.0.0-20210922203350-b1ad95c89adf + github.com/openzipkin/zipkin-go v0.4.1 + github.com/prometheus/prometheus v0.42.0 + github.com/scaleway/scaleway-sdk-go v1.0.0-beta.13 + go.opentelemetry.io/proto/otlp v0.19.0 + google.golang.org/protobuf v1.33.0 +) + +require ( + github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c // indirect + github.com/andybalholm/brotli v1.0.4 // indirect + github.com/apache/thrift v0.16.0 // indirect + github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect + github.com/brianvoe/gofakeit v3.18.0+incompatible // indirect + github.com/deepmap/oapi-codegen v1.12.4 // indirect + github.com/goccy/go-json v0.10.0 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/google/flatbuffers v23.1.21+incompatible // indirect + github.com/google/uuid v1.3.0 // indirect + github.com/klauspost/asmfmt v1.3.2 // indirect + github.com/klauspost/compress v1.15.15 // indirect + github.com/klauspost/cpuid/v2 v2.2.3 // indirect + github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 // indirect + github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 // indirect + github.com/pierrec/lz4/v4 v4.1.17 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/zeebo/xxh3 v1.0.2 // indirect + golang.org/x/exp v0.0.0-20230206171751-46f607a40771 // indirect + golang.org/x/mod v0.8.0 // indirect + golang.org/x/net v0.7.0 // indirect + golang.org/x/sync v0.1.0 // indirect + golang.org/x/sys v0.5.0 // indirect + golang.org/x/text v0.7.0 // indirect + golang.org/x/tools v0.6.0 // indirect + golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect + google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc // indirect + google.golang.org/grpc v1.53.0 // indirect +) diff --git a/test/qryn_test_env/longtest/go.sum b/test/qryn_test_env/longtest/go.sum new file mode 100644 index 00000000..c80b8df6 --- /dev/null +++ b/test/qryn_test_env/longtest/go.sum @@ -0,0 +1,512 @@ +bou.ke/monkey v1.0.1 h1:zEMLInw9xvNakzUUPjfS4Ds6jYPqCFx3m7bRmG5NH2U= +bou.ke/monkey v1.0.1/go.mod h1:FgHuK96Rv2Nlf+0u1OOVDpCMdsWyOFmeeketDHE7LIg= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c h1:RGWPOewvKIROun94nF7v2cua9qP+thov/7M50KEoeSU= +github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/RaveNoX/go-jsoncommentstrip v1.0.0/go.mod h1:78ihd09MekBnJnxpICcwzCMzGrKSKYe4AqU6PDYYpjk= +github.com/akvlad/flog v0.4.4-0.20220607095327-09ef70e4099e h1:3AbWEyBxLZuELxe9FVBLrj97iqiST4FqXCNx0Afw8qA= +github.com/akvlad/flog v0.4.4-0.20220607095327-09ef70e4099e/go.mod h1:0mcqdrwr9BJQeJ4pPjTh4ENgp0+lJfybTYMjJGV2wM4= +github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/arrow/go/v13 v13.0.0-20230607163259-9be7074f85d6 h1:vaX/XjM1MG7TMtkkESfs1B1/vIfvxSdFVwg/yM9rCho= +github.com/apache/arrow/go/v13 v13.0.0-20230607163259-9be7074f85d6/go.mod h1:W69eByFNO0ZR30q1/7Sr9d83zcVZmF2MiP3fFYAWJOc= +github.com/apache/thrift v0.16.0 h1:qEy6UW60iVOlUy+b9ZR0d5WzUWYGOo4HfopoyBaNmoY= +github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= +github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= +github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= +github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w= +github.com/brianvoe/gofakeit v3.11.5+incompatible/go.mod h1:kfwdRA90vvNhPutZWfH7WPaDzUjz+CZFqG+rPkOjGOc= +github.com/brianvoe/gofakeit v3.18.0+incompatible h1:wDOmHc9DLG4nRjUVVaxA+CEglKOW72Y5+4WNxUIkjM8= +github.com/brianvoe/gofakeit v3.18.0+incompatible/go.mod h1:kfwdRA90vvNhPutZWfH7WPaDzUjz+CZFqG+rPkOjGOc= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/deepmap/oapi-codegen v1.12.4 h1:pPmn6qI9MuOtCz82WY2Xaw46EQjgvxednXXrP7g5Q2s= +github.com/deepmap/oapi-codegen v1.12.4/go.mod h1:3lgHGMu6myQ2vqbbTXH2H1o4eXFTGnFiDaOaKKl5yas= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/goccy/go-json v0.10.0 h1:mXKd9Qw4NuzShiRlOXKews24ufknHO7gx30lsDyokKA= +github.com/goccy/go-json v0.10.0/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/flatbuffers v23.1.21+incompatible h1:bUqzx/MXCDxuS0hRJL2EfjyZL3uQrPbMocUa8zGqsTA= +github.com/google/flatbuffers v23.1.21+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/influxdata/influxdb-client-go/v2 v2.12.2 h1:uYABKdrEKlYm+++qfKdbgaHKBPmoWR5wpbmj6MBB/2g= +github.com/influxdata/influxdb-client-go/v2 v2.12.2/go.mod h1:YteV91FiQxRdccyJ2cHvj2f/5sq4y4Njqu1fQzsQCOU= +github.com/influxdata/line-protocol v0.0.0-20210922203350-b1ad95c89adf h1:7JTmneyiNEwVBOHSjoMxiWAqB992atOeepeFYegn5RU= +github.com/influxdata/line-protocol v0.0.0-20210922203350-b1ad95c89adf/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= +github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw= +github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4= +github.com/klauspost/cpuid/v2 v2.2.3 h1:sxCkb+qR91z4vsqw4vGGZlDgPz3G7gjaLyK3V8y70BU= +github.com/klauspost/cpuid/v2 v2.2.3/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mingrammer/cfmt v1.0.0/go.mod h1:D2ZhJie9PURSfLSb+DB3l+aE32t+K7B596FI6rdm/pI= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= +github.com/openzipkin/zipkin-go v0.4.1 h1:kNd/ST2yLLWhaWrkgchya40TJabe8Hioj9udfPcEO5A= +github.com/openzipkin/zipkin-go v0.4.1/go.mod h1:qY0VqDSN1pOBN94dBc6w2GJlWLiovAyg7Qt6/I9HecM= +github.com/pierrec/lz4/v4 v4.1.17 h1:kV4Ip+/hUBC+8T6+2EgburRtkE9ef4nbY3f4dFhGjMc= +github.com/pierrec/lz4/v4 v4.1.17/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/prometheus v0.42.0 h1:G769v8covTkOiNckXFIwLx01XE04OE6Fr0JPA0oR2nI= +github.com/prometheus/prometheus v0.42.0/go.mod h1:Pfqb/MLnnR2KK+0vchiaH39jXxvLMBk+3lnIGP4N7Vk= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.13 h1:n5J2K6g/kl/iT6mODjCoSoRBGQVmIG3aMtYbofi9kxc= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.13/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/pflag v1.0.0/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spkg/bom v0.0.0-20160624110644-59b7046e48ad/go.mod h1:qLr4V1qq6nMqFKkMo8ZTx3f+BZEkzsRUY10Xsm2mwU0= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= +github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= +github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= +go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20230206171751-46f607a40771 h1:xP7rWLUr1e1n2xkK5YB4LI0hPEy3LJC6Wk+D4pGlOJg= +golang.org/x/exp v0.0.0-20230206171751-46f607a40771/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gonum.org/v1/gonum v0.12.0 h1:xKuo6hzt+gMav00meVPUlXwSdoEJP46BR+wdxQEFK2o= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc h1:ijGwO+0vL2hJt5gaygqP2j6PfflOBrRot0IczKbmtio= +google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.53.0 h1:LAv2ds7cmFV/XTS3XG1NneeENYrXGmorPxsBbptIjNc= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/test/qryn_test_env/longtest/influxSender.go b/test/qryn_test_env/longtest/influxSender.go new file mode 100644 index 00000000..3693e9fd --- /dev/null +++ b/test/qryn_test_env/longtest/influxSender.go @@ -0,0 +1,51 @@ +package main + +import ( + "bytes" + influx "github.com/influxdata/influxdb-client-go/v2" + "github.com/influxdata/influxdb-client-go/v2/api/write" + lp "github.com/influxdata/line-protocol" + "math/rand" + "time" +) + +type InfluxReq []*write.Point + +func (i InfluxReq) Serialize() ([]byte, error) { + var buffer bytes.Buffer + e := lp.NewEncoder(&buffer) + e.SetFieldTypeSupport(lp.UintSupport) + e.FailOnFieldErr(true) + e.SetPrecision(time.Nanosecond) + for _, item := range i { + _, err := e.Encode(item) + if err != nil { + return nil, err + } + } + return buffer.Bytes(), nil +} + +func NewInfluxSender(opts LogSenderOpts) ISender { + l := &GenericSender{ + LogSenderOpts: opts, + rnd: rand.New(rand.NewSource(time.Now().UnixNano())), + timeout: time.Second, + path: "/influx/api/v2/write", + } + l.generate = func() IRequest { + points := make(InfluxReq, opts.LinesPS) + for i := range points { + points[i] = influx.NewPoint("syslog", map[string]string{ + "container": l.pickRandom(l.Containers), + "level": l.pickRandom([]string{"info", "debug", "error"}), + "sender": "logtest", + "endpoint": "influx", + }, map[string]interface{}{ + "message": l.pickRandom(opts.Lines), + }, time.Now()) + } + return points + } + return l +} diff --git a/test/qryn_test_env/longtest/jsonConsistencyChecker.go b/test/qryn_test_env/longtest/jsonConsistencyChecker.go new file mode 100644 index 00000000..437f17a3 --- /dev/null +++ b/test/qryn_test_env/longtest/jsonConsistencyChecker.go @@ -0,0 +1,45 @@ +package main + +import ( + "encoding/json" + "fmt" + "math/rand" + "sync" + "time" +) + +func NewJSONConsistencyChecker(opts LogSenderOpts) ISender { + res := &GenericSender{ + LogSenderOpts: opts, + mtx: sync.Mutex{}, + rnd: rand.New(rand.NewSource(time.Now().UnixNano())), + timeout: time.Second, + path: "/loki/api/v1/push", + numOfSends: 10, + } + res.generate = func() IRequest { + logLen := 0 + req := &LogRequest{} + for logLen < 10 { + streamLen := 2 + stream := &LogStream{ + Stream: map[string]string{ + "container": res.pickRandom(res.Containers), + "level": res.pickRandom([]string{"info", "debug", "error"}), + "sender": "consistency-checker", + }, + Values: make([][]interface{}, streamLen), + } + for i := 0; i < streamLen; i++ { + t := fmt.Sprintf("%d", time.Now().UnixNano()) + line, _ := json.Marshal(stream.Stream) + line = append(line, []byte(", t="+t)...) + stream.Values[i] = []interface{}{t, string(line)} + logLen++ + } + req.Streams = append(req.Streams, stream) + } + return req + } + return res +} diff --git a/test/qryn_test_env/longtest/logReader.go b/test/qryn_test_env/longtest/logReader.go new file mode 100644 index 00000000..81dda4c6 --- /dev/null +++ b/test/qryn_test_env/longtest/logReader.go @@ -0,0 +1,103 @@ +package main + +import ( + "fmt" + "math/rand" + "sync" + "time" +) + +const ( + LOG_READ_MODE_RAW = 1 + LOG_READ_MODE_LRA = 2 + LOG_READ_MODE_AGG_OP = 3 + LOG_READ_MODE_UNWRAP = 4 + LOG_READ_MODE_UNWRAP_AGG_OP = 5 +) + +type LogReader struct { + Url string + mtx sync.Mutex + rand *rand.Rand +} + +func NewLogReader(url string) *LogReader { + return &LogReader{ + Url: url, + rand: rand.New(rand.NewSource(time.Now().UnixNano())), + } +} + +func (l *LogReader) ReadLogs(mode int) { + containers := l.getValues("container") + switch mode { + case LOG_READ_MODE_RAW: + l.rawRequest(containers) + break + case LOG_READ_MODE_LRA: + l.logRangeAggregationRequest(containers) + break + case LOG_READ_MODE_AGG_OP: + l.aggregationOperatorRequest(containers) + break + case LOG_READ_MODE_UNWRAP: + l.unwrapRequest(containers) + break + case LOG_READ_MODE_UNWRAP_AGG_OP: + l.unwrapAggregationOperatorRequest(containers) + break + } +} + +func (l *LogReader) rawRequest(containers []string) { + l.mtx.Lock() + cnt := pickRandom(containers, l.rand) + to := time.Now().UnixNano() - l.rand.Int63n(600000000000) + from := to - l.rand.Int63n(3600000000000) + l.mtx.Unlock() + l.request(fmt.Sprintf("{sender=\"logtest\", container=\"%s\"}", cnt), from, to) +} + +func (l *LogReader) logRangeAggregationRequest(containers []string) { + l.mtx.Lock() + cnt := pickRandom(containers, l.rand) + to := time.Now().UnixNano() - l.rand.Int63n(600000000000) + from := to - l.rand.Int63n(3600000000000) + l.mtx.Unlock() + l.request(fmt.Sprintf("rate({sender=\"logtest\", container=\"%s\"}[1m])", cnt), from, to) +} + +func (l *LogReader) aggregationOperatorRequest(containers []string) { + l.mtx.Lock() + cnt := pickRandom(containers, l.rand) + to := time.Now().UnixNano() - l.rand.Int63n(600000000000) + from := to - l.rand.Int63n(3600000000000) + l.mtx.Unlock() + l.request(fmt.Sprintf("sum by (level) (rate({sender=\"logtest\", container=\"%s\"}[1m]))", cnt), from, to) +} + +func (l *LogReader) unwrapRequest(containers []string) { + l.mtx.Lock() + cnt := pickRandom(containers, l.rand) + to := time.Now().UnixNano() - l.rand.Int63n(600000000000) + from := to - l.rand.Int63n(3600000000000) + l.mtx.Unlock() + l.request(fmt.Sprintf("rate({sender=\"logtest\", container=\"%s\"} | unwrap_value [1m])", cnt), from, to) +} + +func (l *LogReader) unwrapAggregationOperatorRequest(containers []string) { + l.mtx.Lock() + cnt := pickRandom(containers, l.rand) + to := time.Now().UnixNano() - l.rand.Int63n(600000000000) + from := to - l.rand.Int63n(3600000000000) + l.mtx.Unlock() + l.request(fmt.Sprintf("sum by (sender) (rate({sender=\"logtest\", container=\"%s\"} | unwrap_value [1m]))", cnt), from, to) +} + +func (l *LogReader) request(req string, from int64, to int64) { + +} + +func (l *LogReader) getValues(name string) []string { + return nil +} diff --git a/test/qryn_test_env/longtest/logSender.go b/test/qryn_test_env/longtest/logSender.go new file mode 100644 index 00000000..97635fbe --- /dev/null +++ b/test/qryn_test_env/longtest/logSender.go @@ -0,0 +1,54 @@ +package main + +import ( + "fmt" + "math/rand" + "sync" + "time" +) + +type LogSender struct { + LogSenderOpts + mtx sync.Mutex + rnd *rand.Rand + ticker *time.Ticker + path string +} + +func NewLogSender(opts LogSenderOpts) ISender { + var l *GenericSender + l = &GenericSender{ + LogSenderOpts: opts, + mtx: sync.Mutex{}, + rnd: rand.New(rand.NewSource(time.Now().UnixNano())), + timeout: time.Second, + path: "/loki/api/v1/push", + generate: func() IRequest { + logLen := 0 + req := &LogRequest{} + for logLen < l.LinesPS { + streamLen := 20 + stream := &LogStream{ + Stream: map[string]string{ + "orgid": opts.Headers["X-Scope-OrgID"], + "container": l.pickRandom(l.Containers), + "level": l.pickRandom([]string{"info", "debug", "error"}), + "sender": "logtest", + "__name__": "logs", + "__ttl_days__": "25", + }, + Values: make([][]interface{}, streamLen), + } + for i := 0; i < streamLen; i++ { + //line := fmt.Sprintf("opaqueid=%d mos=%f", l.random(1000), float64(l.random(1000)/250)) + line := l.pickRandom(l.Lines) + stream.Values[i] = []interface{}{fmt.Sprintf("%d", time.Now().UnixNano()), line} + logLen++ + } + req.Streams = append(req.Streams, stream) + } + return req + }, + } + return l +} diff --git a/test/qryn_test_env/longtest/longtest.go b/test/qryn_test_env/longtest/longtest.go new file mode 100644 index 00000000..1868c5f4 --- /dev/null +++ b/test/qryn_test_env/longtest/longtest.go @@ -0,0 +1,188 @@ +package main + +import ( + "fmt" + "os" + "strconv" + "strings" + "time" +) + +func main() { + kind := os.Getenv("KIND") + if kind == "" { + kind = "WRITE" + } + switch kind { + case "WRITE": + writeTest() + break + case "READ": + readTest() + break + } +} + +func writeTest() { + fmt.Println("GENERATING") + logs := generateLogs() + //names := generateNames(1500) + fmt.Println("SENDING") + names := generateNames(3300) + power := 1 + if os.Getenv("POWER") != "" { + var err error + power, err = strconv.Atoi(os.Getenv("POWER")) + if err != nil { + panic(err) + } + } + headers := map[string]string{} + if strings.Contains(os.Getenv("MODE"), "L") { + fmt.Println("Run logs") + sender := NewLogSender(LogSenderOpts{ + ID: "logs", + Containers: names, + Lines: logs, + LinesPS: 120 * power, + URL: os.Getenv("URL"), + Headers: headers, + }) + sender.Run() + } + /*if strings.Contains(os.Getenv("MODE"), "P") { + fmt.Println("Run logs PB") + _headers := make(map[string]string, 20) + for k, v := range headers { + _headers[k] = v + } + _headers["Content-Type"] = "application/x-protobuf" + sender := NewPBSender(LogSenderOpts{ + ID: "logs", + Containers: names, + Lines: logs, + LinesPS: 50000, + URL: os.Getenv("URL"), + Headers: _headers, + }) + sender.Run() + }*/ + if strings.Contains(os.Getenv("MODE"), "M") { + fmt.Println("Run metrics") + metrics := NewMetricSender(LogSenderOpts{ + ID: "metrics", + Containers: names, + Lines: logs, + LinesPS: 30 * power, + URL: os.Getenv("URL"), + Headers: headers, + }) + metrics.Run() + } + if strings.Contains(os.Getenv("MODE"), "Z") { + fmt.Println("Run zipkin") + zipkins := NewZipkinSender(LogSenderOpts{ + ID: "traces", + Containers: names, + Lines: logs, + LinesPS: 40 * power, + URL: os.Getenv("URL"), + Headers: headers, + }) + zipkins.Run() + } + if strings.Contains(os.Getenv("MODE"), "O") { + fmt.Println("Run OTLP") + zipkins := NewOTLPSender(LogSenderOpts{ + ID: "traces", + Containers: names, + Lines: logs, + LinesPS: 40 * power, + URL: os.Getenv("URL"), + Headers: headers, + }) + zipkins.Run() + } + if strings.Contains(os.Getenv("MODE"), "G") { + fmt.Println("Run zipkin") + zipkins := NewSGSender(LogSenderOpts{ + ID: "traces", + Containers: names, + Lines: logs, + LinesPS: 10 * power, + URL: os.Getenv("URL"), + Headers: headers, + }) + zipkins.Run() + } + if strings.Contains(os.Getenv("MODE"), "D") { + fmt.Println("Run datadog") + datadogs := NewDatadogSender(LogSenderOpts{ + ID: "traces", + Containers: names, + Lines: logs, + LinesPS: 120 * power, + URL: os.Getenv("URL"), + Headers: headers, + }) + datadogs.Run() + } + if strings.Contains(os.Getenv("MODE"), "I") { + fmt.Println("Run influx") + influx := NewInfluxSender(LogSenderOpts{ + ID: "influx", + Containers: names, + Lines: logs, + LinesPS: 100 * power, + URL: os.Getenv("URL"), + Headers: headers, + }) + influx.Run() + } + if strings.Contains(os.Getenv("MODE"), "C") { + fmt.Println("Run consistency checker") + cons := NewJSONConsistencyChecker(LogSenderOpts{ + ID: "consistency-1", + Containers: names, + Lines: logs, + LinesPS: 300 * power, + URL: os.Getenv("URL"), + Headers: headers, + }) + cons.Run() + } + if strings.Contains(os.Getenv("MODE"), "T") { + fmt.Println("Run time sender") + pqt := NewTimeSender(LogSenderOpts{ + ID: "longtest-TIME", + Containers: names, + Lines: logs, + LinesPS: 10, + URL: os.Getenv("URL"), + Headers: headers, + }) + pqt.Run() + } + t := time.NewTicker(time.Second) + go func() { + for range t.C { + s := stats.Collect() + fmt.Printf("Ok requests: %d, Errors: %d, Failed: %d\n", s[REQ_OK], s[REQ_ERR], s[REQ_FAIL]) + fmt.Printf("Ok Requests time: min: %d, max: %d, avg: %f\n", + s[REQ_TIME_MS+"_min"], + s[REQ_TIME_MS+"_max"], + float64(s[REQ_TIME_MS+"_sum"])/float64(s[REQ_TIME_MS+"_count"])) + fmt.Printf("Ok Requests MB sent: %f, (%fMB/s)\n", + float64(s[REQ_BYTES+"_sum"])/1024/1024, + float64(s[REQ_BYTES+"_sum"])/1024/1024/5, + ) + } + }() + for { + time.Sleep(time.Second) + } +} + +func readTest() { + +} diff --git a/test/qryn_test_env/longtest/metricReader.go b/test/qryn_test_env/longtest/metricReader.go new file mode 100644 index 00000000..06ab7d0f --- /dev/null +++ b/test/qryn_test_env/longtest/metricReader.go @@ -0,0 +1 @@ +package main diff --git a/test/qryn_test_env/longtest/metricSender.go b/test/qryn_test_env/longtest/metricSender.go new file mode 100644 index 00000000..b52a3708 --- /dev/null +++ b/test/qryn_test_env/longtest/metricSender.go @@ -0,0 +1,94 @@ +package main + +import ( + "github.com/golang/protobuf/proto" + "github.com/golang/snappy" + "github.com/prometheus/prometheus/prompb" + "hash/crc32" + "math" + "math/rand" + "sync" + "time" +) + +type PromReq []prompb.TimeSeries + +func (p PromReq) Serialize() ([]byte, error) { + bytes, err := proto.Marshal(&prompb.WriteRequest{Timeseries: p}) + if err != nil { + return nil, err + } + enc := snappy.Encode(nil, bytes) + return enc, nil +} + +func NewMetricSender(opts LogSenderOpts) ISender { + var l *GenericSender + hdrs := opts.Headers + opts.Headers = map[string]string{} + for k, v := range hdrs { + opts.Headers[k] = v + } + opts.Headers["Content-Type"] = "application/x-protobuf" + opts.Headers["Content-Encoding"] = "snappy" + l = &GenericSender{ + LogSenderOpts: opts, + mtx: sync.Mutex{}, + rnd: rand.New(rand.NewSource(time.Now().UnixNano())), + timeout: time.Second * 15, + path: "/api/v1/prom/remote/write", + generate: func() IRequest { + if opts.LinesPS/3 < len(l.Containers) { + l.Containers = l.Containers[:opts.LinesPS/3] + } + req := make(PromReq, len(l.Containers)*3) + for i, container := range l.Containers { + base := int(crc32.ChecksumIEEE([]byte(container))) + req[i*3] = prompb.TimeSeries{ + Labels: []prompb.Label{ + {Name: "__name__", Value: "cpu_usage"}, + {Name: "container", Value: container}, + {Name: "orgid", Value: opts.Headers["X-Scope-OrgID"]}, + {Name: "sender", Value: "logmetrics"}, + }, + Samples: []prompb.Sample{ + { + Timestamp: time.Now().UnixMilli(), + Value: math.Max(float64(base%100+(l.random(20)-10)), 0), + }, + }, + } + req[i*3+1] = prompb.TimeSeries{ + Labels: []prompb.Label{ + {Name: "__name__", Value: "ram_usage"}, + {Name: "container", Value: container}, + {Name: "orgid", Value: opts.Headers["X-Scope-OrgID"]}, + {Name: "sender", Value: "logmetrics"}, + }, + Samples: []prompb.Sample{ + { + Timestamp: time.Now().UnixMilli(), + Value: math.Max(float64(base%1000+(l.random(200)-100)), 0), + }, + }, + } + req[i*3+2] = prompb.TimeSeries{ + Labels: []prompb.Label{ + {Name: "__name__", Value: "network_usage"}, + {Name: "container", Value: container}, + {Name: "orgid", Value: opts.Headers["X-Scope-OrgID"]}, + {Name: "sender", Value: "logmetrics"}, + }, + Samples: []prompb.Sample{ + { + Timestamp: time.Now().UnixMilli(), + Value: math.Max(float64(base%1000000+(l.random(2000)-1000)), 0), + }, + }, + } + } + return req + }, + } + return l +} diff --git a/test/qryn_test_env/longtest/otlpSender.go b/test/qryn_test_env/longtest/otlpSender.go new file mode 100644 index 00000000..aeb22383 --- /dev/null +++ b/test/qryn_test_env/longtest/otlpSender.go @@ -0,0 +1,132 @@ +package main + +import ( + "fmt" + cv1 "go.opentelemetry.io/proto/otlp/common/v1" + rv1 "go.opentelemetry.io/proto/otlp/resource/v1" + v1 "go.opentelemetry.io/proto/otlp/trace/v1" + "google.golang.org/protobuf/proto" + "math/rand" + "os" + "time" + "unsafe" +) + +type OTLPReq v1.TracesData + +func (z *OTLPReq) Serialize() ([]byte, error) { + return proto.Marshal((*v1.TracesData)(z)) +} + +func NewOTLPSender(opts LogSenderOpts) ISender { + rnd := rand.New(rand.NewSource(time.Now().UnixNano())) + path := "/v1/traces" + if os.Getenv("ZPATH") != "" { + path = os.Getenv("ZPATH") + } + l := &GenericSender{ + LogSenderOpts: opts, + rnd: rnd, + timeout: time.Second, + path: path, + } + pickCont := func() string { + return l.pickRandom(opts.Containers) + } + /*pickLine := func() string { + return l.pickRandom(opts.Lines) + }*/ + l.generate = func() IRequest { + req := &OTLPReq{ + ResourceSpans: make([]*v1.ResourceSpans, opts.LinesPS/10), + } + for i := range req.ResourceSpans { + uintTraceId := []uint64{uint64(l.random(0xFFFFFFFF)), uint64(i)} + bTraceId := make([]byte, 16) + copy(bTraceId, unsafe.Slice((*byte)(unsafe.Pointer(&uintTraceId[0])), 16)) + uintSpanId := uint64(l.random(0xFFFFFFFF)) + bSpanId := make([]byte, 8) + copy(bSpanId, unsafe.Slice((*byte)(unsafe.Pointer(&uintSpanId)), 8)) + req.ResourceSpans[i] = &v1.ResourceSpans{ + Resource: &rv1.Resource{ + Attributes: []*cv1.KeyValue{ + { + Key: "service.name", + Value: &cv1.AnyValue{ + Value: &cv1.AnyValue_StringValue{ + StringValue: "longtest-service", + }, + }, + }, + { + Key: "sender", + Value: &cv1.AnyValue{ + Value: &cv1.AnyValue_StringValue{ + StringValue: "longtest", + }, + }, + }, + { + Key: "type", + Value: &cv1.AnyValue{ + Value: &cv1.AnyValue_StringValue{ + StringValue: "otlp", + }, + }, + }, + }, + DroppedAttributesCount: 0, + }, + ScopeSpans: []*v1.ScopeSpans{ + { + Spans: make([]*v1.Span, 10), + }, + }, + } + for j := range req.ResourceSpans[i].ScopeSpans[0].Spans { + kind := v1.Span_SPAN_KIND_CLIENT + if j%2 == 0 { + kind = v1.Span_SPAN_KIND_SERVER + } + req.ResourceSpans[i].ScopeSpans[0].Spans[j] = &v1.Span{ + TraceId: bTraceId, + SpanId: bSpanId, + ParentSpanId: nil, + Name: "longtest", + Kind: kind, + StartTimeUnixNano: uint64(time.Now(). + Add(time.Millisecond * time.Duration(-1*(l.random(500)))). + UnixNano()), + EndTimeUnixNano: uint64(time.Now().UnixNano()), + Attributes: []*cv1.KeyValue{ + { + Key: "container", + Value: &cv1.AnyValue{ + Value: &cv1.AnyValue_StringValue{ + StringValue: pickCont(), + }, + }, + }, + { + Key: "randomFloat", + Value: &cv1.AnyValue{ + Value: &cv1.AnyValue_StringValue{ + StringValue: fmt.Sprintf("%f", 50+(rand.Float64()*100-50)), + }, + }, + }, + }, + DroppedAttributesCount: 0, + Events: nil, + DroppedEventsCount: 0, + Links: nil, + DroppedLinksCount: 0, + Status: nil, + } + } + + } + return req + } + return l +} diff --git a/test/qryn_test_env/longtest/pqtSender.go b/test/qryn_test_env/longtest/pqtSender.go new file mode 100644 index 00000000..49b52fc4 --- /dev/null +++ b/test/qryn_test_env/longtest/pqtSender.go @@ -0,0 +1,59 @@ +package main + +import ( + "bytes" + "github.com/apache/arrow/go/v13/arrow" + _ "github.com/apache/arrow/go/v13/arrow" + "github.com/apache/arrow/go/v13/arrow/array" + "github.com/apache/arrow/go/v13/arrow/memory" + "github.com/apache/arrow/go/v13/parquet" + "github.com/apache/arrow/go/v13/parquet/pqarrow" + _ "github.com/apache/arrow/go/v13/parquet/pqarrow" + "math/rand" + "time" +) + +type PqtReq struct { + arrow.Record +} + +func (p *PqtReq) Serialize() ([]byte, error) { + defer p.Release() + buf := bytes.NewBuffer(make([]byte, 0, 1024)) + w, err := pqarrow.NewFileWriter(p.Schema(), buf, parquet.NewWriterProperties(), pqarrow.NewArrowWriterProperties()) + if err != nil { + return nil, err + } + err = w.Write(p) + if err != nil { + return nil, err + } + err = w.Close() + return buf.Bytes(), err +} + +func NewPqtSender(opts LogSenderOpts) ISender { + bld := array.NewRecordBuilder(memory.DefaultAllocator, arrow.NewSchema([]arrow.Field{ + {Name: "timestamp_ns", Type: arrow.PrimitiveTypes.Int64}, + {Name: "opaque_id", Type: arrow.BinaryTypes.String}, + {Name: "mos", Type: arrow.PrimitiveTypes.Float64}, + }, nil)) + + l := &GenericSender{ + LogSenderOpts: opts, + rnd: rand.New(rand.NewSource(time.Now().UnixNano())), + timeout: time.Second, + path: "/api/dedicated", + } + l.generate = func() IRequest { + for i := 0; i < opts.LinesPS; i++ { + bld.Field(0).(*array.Int64Builder).Append(time.Now().UnixNano()) + bld.Field(1).(*array.StringBuilder).Append(l.pickRandom(l.Containers)) + bld.Field(2).(*array.Float64Builder).Append(l.rnd.Float64() * 100) + } + return &PqtReq{ + Record: bld.NewRecord(), + } + } + return l +} diff --git a/test/qryn_test_env/longtest/sendStats.go b/test/qryn_test_env/longtest/sendStats.go new file mode 100644 index 00000000..b1aa4a06 --- /dev/null +++ b/test/qryn_test_env/longtest/sendStats.go @@ -0,0 +1,99 @@ +package main + +import ( + "math" + "strings" + "sync" + "time" +) + +type Stats struct { + stats []map[string]int64 + mtx sync.Mutex +} + +var stats = func() *Stats { + res := &Stats{ + stats: make([]map[string]int64, 1), + } + res.stats[0] = make(map[string]int64, 10) + t := time.NewTicker(time.Second) + go func() { + for range t.C { + res.mtx.Lock() + res.stats = append(res.stats, make(map[string]int64, 10)) + if len(res.stats) > 5 { + res.stats = res.stats[1:] + } + res.mtx.Unlock() + } + }() + return res +}() + +func (s *Stats) getOrDefault2(m map[string]int64, name string, def int64) int64 { + if val, ok := m[name]; ok { + return val + } + return def +} + +func (s *Stats) getOrDefault(name string, def int64) int64 { + return s.getOrDefault2(s.stats[len(s.stats)-1], name, def) +} + +func (s *Stats) Inc(name string) { + s.mtx.Lock() + defer s.mtx.Unlock() + s.stats[len(s.stats)-1][name] = s.getOrDefault(name, 0) + 1 +} + +func (s *Stats) Observe(name string, val int64) { + s.mtx.Lock() + defer s.mtx.Unlock() + min := s.getOrDefault(name+"_min", math.MaxInt64) + if min > val { + min = val + } + max := s.getOrDefault(name+"_max", math.MinInt64) + if max < val { + max = val + } + count := s.getOrDefault(name+"_count", 0) + 1 + sum := s.getOrDefault(name+"_sum", 0) + val + idx := len(s.stats) - 1 + s.stats[idx][name+"_min"] = min + s.stats[idx][name+"_max"] = max + s.stats[idx][name+"_count"] = count + s.stats[idx][name+"_sum"] = sum +} + +func (s *Stats) Collect() map[string]int64 { + s.mtx.Lock() + defer s.mtx.Unlock() + res := make(map[string]int64, 10) + for _, stats := range s.stats { + for k, v := range stats { + if strings.HasSuffix(k, "_min") { + a := s.getOrDefault2(res, k, math.MaxInt64) + if a < v { + res[k] = a + } else { + res[k] = v + } + continue + } + if strings.HasSuffix(k, "_max") { + a := s.getOrDefault2(res, k, math.MinInt64) + if a > v { + res[k] = a + } else { + res[k] = v + } + continue + } + res[k] = s.getOrDefault2(res, k, 0) + v + } + } + return res +} diff --git a/test/qryn_test_env/longtest/serviceGraphSender.go b/test/qryn_test_env/longtest/serviceGraphSender.go new file mode 100644 index 00000000..0850fb99 --- /dev/null +++ b/test/qryn_test_env/longtest/serviceGraphSender.go @@ -0,0 +1,95 @@ +package main + +import ( + "github.com/openzipkin/zipkin-go/model" + "math/rand" + "net" + "os" + "time" +) + +func NewSGSender(opts LogSenderOpts) ISender { + rnd := rand.New(rand.NewSource(time.Now().UnixNano())) + path := "/tempo/spans" + if os.Getenv("ZPATH") != "" { + path = os.Getenv("ZPATH") + } + l := &GenericSender{ + LogSenderOpts: opts, + rnd: rnd, + timeout: time.Second, + path: path, + } + pickCont := func() string { + return l.pickRandom(opts.Containers[:5]) + } + l.generate = func() IRequest { + req := make(ZipkinReq, opts.LinesPS) + high := rnd.Uint64() + dur := uint64(rnd.Float64() * 1000) + + for i := 0; i < opts.LinesPS; i += 2 { + client := "test2-" + pickCont() + server := "test2-" + pickCont() + req[i] = model.SpanModel{ + SpanContext: model.SpanContext{ + TraceID: model.TraceID{ + High: high, + Low: uint64(i / 100), + }, + ID: model.ID(i + 1), + }, + Name: "longtest-SG", + Timestamp: time.Now(), + Duration: time.Duration(dur) * time.Microsecond, + Kind: model.Client, + LocalEndpoint: &model.Endpoint{ + ServiceName: client, + IPv4: net.IPv4(192, 168, 0, 1), + IPv6: nil, + Port: 8080, + }, + RemoteEndpoint: &model.Endpoint{ + ServiceName: server, + IPv4: net.IPv4(192, 168, 0, 2), + IPv6: nil, + Port: 8080, + }, + Tags: map[string]string{ + "sender": "longtest-SG", + }, + } + req[i+1] = model.SpanModel{ + SpanContext: model.SpanContext{ + TraceID: model.TraceID{ + High: high, + Low: uint64(i / 100), + }, + ID: model.ID(i + 2), + ParentID: &[]model.ID{model.ID(i + 1)}[0], + }, + Name: "longtest-SG", + Timestamp: time.Now(), + Duration: time.Duration(dur/2) * time.Microsecond, + Kind: model.Server, + LocalEndpoint: &model.Endpoint{ + ServiceName: server, + IPv4: net.IPv4(192, 168, 0, 2), + IPv6: nil, + Port: 8080, + }, + RemoteEndpoint: &model.Endpoint{ + ServiceName: client, + IPv4: net.IPv4(192, 168, 0, 1), + IPv6: nil, + Port: 8080, + }, + Tags: map[string]string{ + "sender": "longtest-SG", + }, + } + } + return req + } + return l +} diff --git a/test/qryn_test_env/longtest/stats.go b/test/qryn_test_env/longtest/stats.go new file mode 100644 index 00000000..30cd2bce --- /dev/null +++ b/test/qryn_test_env/longtest/stats.go @@ -0,0 +1,24 @@ +package main + +import ( + "sync" + "time" +) + +type Stat struct { + Timings map[string]int64 + mtx sync.Mutex +} + +func (s *Stat) AddTiming(timing time.Duration) { + s.mtx.Lock() + defer s.mtx.Unlock() + +} + +func (s *Stat) getOrDefault(k string, def int64) int64 { + if _, ok := s.Timings[k]; !ok { + return def + } + return s.Timings[k] +} diff --git a/test/qryn_test_env/longtest/timerSender.go b/test/qryn_test_env/longtest/timerSender.go new file mode 100644 index 00000000..2a4ef126 --- /dev/null +++ b/test/qryn_test_env/longtest/timerSender.go @@ -0,0 +1,48 @@ +package main + +import ( + "github.com/prometheus/prometheus/prompb" + "math/rand" + "sync" + "time" +) + +func NewTimeSender(opts LogSenderOpts) ISender { + var l *GenericSender + hdrs := opts.Headers + opts.Headers = map[string]string{} + for k, v := range hdrs { + opts.Headers[k] = v + } + opts.Headers["Content-Type"] = "application/x-protobuf" + opts.Headers["Content-Encoding"] = "snappy" + l = &GenericSender{ + LogSenderOpts: opts, + mtx: sync.Mutex{}, + rnd: rand.New(rand.NewSource(time.Now().UnixNano())), + timeout: time.Second * 15, + path: "/api/v1/prom/remote/write", + generate: func() IRequest { + req := make(PromReq, l.LinesPS) + for i := 0; i < l.LinesPS; i++ { + container := l.Containers[i%len(l.Containers)] + req[i] = prompb.TimeSeries{ + Labels: []prompb.Label{ + {Name: "orgid", Value: opts.Headers["X-Scope-OrgID"]}, + {Name: "__name__", Value: "current_time"}, + {Name: "container", Value: container}, + {Name: "sender", Value: "logmetrics"}, + }, + Samples: []prompb.Sample{ + { + Timestamp: time.Now().UnixMilli(), + Value: float64(time.Now().Unix()), + }, + }, + } + } + return req + }, + } + return l +} diff --git a/test/qryn_test_env/longtest/zipkinSender.go b/test/qryn_test_env/longtest/zipkinSender.go new file mode 100644 index 00000000..94e48e26 --- /dev/null +++ b/test/qryn_test_env/longtest/zipkinSender.go @@ -0,0 +1,72 @@ +package main + +import ( + "encoding/json" + "fmt" + "github.com/openzipkin/zipkin-go/model" + "math/rand" + "net" + "os" + "time" +) + +type ZipkinReq []model.SpanModel + +func (z ZipkinReq) Serialize() ([]byte, error) { + return json.Marshal(z) +} + +func NewZipkinSender(opts LogSenderOpts) ISender { + rnd := rand.New(rand.NewSource(time.Now().UnixNano())) + path := "/tempo/spans" + if os.Getenv("ZPATH") != "" { + path = os.Getenv("ZPATH") + } + l := &GenericSender{ + LogSenderOpts: opts, + rnd: rnd, + timeout: time.Second, + path: path, + } + pickCont := func() string { + return l.pickRandom(opts.Containers) + } + pickLine := func() string { + return l.pickRandom(opts.Lines) + } + l.generate = func() IRequest { + req := make(ZipkinReq, opts.LinesPS) + high := rnd.Uint64() + + for i := 0; i < opts.LinesPS; i++ { + req[i] = model.SpanModel{ + SpanContext: model.SpanContext{ + TraceID: model.TraceID{ + High: high, + Low: uint64(i / 100), + }, + ID: model.ID(i + 1), + }, + Name: "longtest", + Timestamp: time.Now(), + Duration: 1000, + LocalEndpoint: &model.Endpoint{ + ServiceName: "longtest-service", + IPv4: net.IPv4(192, 168, 0, 1), + IPv6: nil, + Port: 8080, + }, + Annotations: []model.Annotation{ + {time.Now(), pickLine()}, + }, + Tags: map[string]string{ + "sender": "longtest", + "randomContainer": pickCont(), + "randomFloat": fmt.Sprintf("%f", 50+(rand.Float64()*100-50)), + }, + } + } + return req + } + return l +} diff --git a/test/qryn_test_env/otel/otel-collector-config.yaml b/test/qryn_test_env/otel/otel-collector-config.yaml new file mode 100644 index 00000000..27bed126 --- /dev/null +++ b/test/qryn_test_env/otel/otel-collector-config.yaml @@ -0,0 +1,116 @@ +receivers: + loki: + use_incoming_timestamp: true + protocols: + http: + endpoint: 0.0.0.0:3100 + grpc: + endpoint: 0.0.0.0:3200 + syslog: + protocol: rfc5424 + tcp: + listen_address: "0.0.0.0:5514" + fluentforward: + endpoint: 0.0.0.0:24224 + splunk_hec: + endpoint: 0.0.0.0:8088 + otlp: + protocols: + grpc: + endpoint: 0.0.0.0:4317 + http: + endpoint: 0.0.0.0:4318 + jaeger: + protocols: + grpc: + endpoint: 0.0.0.0:14250 + thrift_http: + endpoint: 0.0.0.0:14268 + zipkin: + endpoint: 0.0.0.0:9411 + skywalking: + protocols: + grpc: + endpoint: 0.0.0.0:11800 + http: + endpoint: 0.0.0.0:12800 + prometheus: + config: + scrape_configs: + - job_name: 'otel-collector' + scrape_interval: 5s + static_configs: + - targets: ['exporter:8080'] + - job_name: 'qryn' + scrape_interval: 5s + static_configs: + - targets: ['qryn:3100'] + influxdb: + endpoint: 0.0.0.0:8086 + pyroscopereceiver: + +processors: + batch: + send_batch_size: 10000 + timeout: 5s + memory_limiter: + check_interval: 2s + limit_mib: 1800 + spike_limit_mib: 500 + resourcedetection/system: + detectors: ['system'] + system: + hostname_sources: ['os'] + resource: + attributes: + - key: service.name + value: "serviceName" + action: upsert + +exporters: + qryn: + dsn: tcp://clickhouse-server:9000/qryn?username=qryn&password=demo + timeout: 10s + sending_queue: + queue_size: 100 + retry_on_failure: + enabled: true + initial_interval: 5s + max_interval: 30s + max_elapsed_time: 300s + logs: + format: raw + otlp: + endpoint: localhost:4317 + tls: + insecure: true + clickhouseprofileexporter: + dsn: clickhouse://clickhouse-server:9000/qryn?username=qryn&password=demo + +extensions: + health_check: + pprof: + zpages: + pyroscope: + +service: + telemetry: + logs: + level: "info" + extensions: [pprof, zpages, health_check, pyroscope] + pipelines: + logs: + receivers: [fluentforward, otlp, loki] + processors: [memory_limiter, resourcedetection/system, resource, batch] + exporters: [qryn] + traces: + receivers: [otlp, jaeger, zipkin, skywalking] + processors: [memory_limiter, resourcedetection/system, resource, batch] + exporters: [qryn] + metrics: + receivers: [prometheus, influxdb] + processors: [memory_limiter, resourcedetection/system, resource, batch] + exporters: [qryn] + logs/profiles: + receivers: [pyroscopereceiver] + exporters: [clickhouseprofileexporter] From 90c69bc55620f997df05a7d058fb93bd7c5e50d2 Mon Sep 17 00:00:00 2001 From: akvlad Date: Wed, 9 Oct 2024 10:57:32 +0300 Subject: [PATCH 08/19] grafana upd --- test/qryn_test_env/docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/qryn_test_env/docker-compose.yaml b/test/qryn_test_env/docker-compose.yaml index f843eae3..f0be54bb 100644 --- a/test/qryn_test_env/docker-compose.yaml +++ b/test/qryn_test_env/docker-compose.yaml @@ -6,7 +6,7 @@ networks: services: grafana: - image: grafana/grafana:11.1.0 + image: grafana/grafana:11.2.2 container_name: grafana user: root networks: From fc0079af6690bf64df7ffd17f30c41bbd73c1996 Mon Sep 17 00:00:00 2001 From: akvlad Date: Wed, 9 Oct 2024 16:52:17 +0300 Subject: [PATCH 09/19] fix qryn start --- test/qryn_test_env/docker-compose.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/qryn_test_env/docker-compose.yaml b/test/qryn_test_env/docker-compose.yaml index f0be54bb..976db049 100644 --- a/test/qryn_test_env/docker-compose.yaml +++ b/test/qryn_test_env/docker-compose.yaml @@ -72,7 +72,10 @@ services: - NODE_OPTIONS="--max-old-space-size=4096" - FASTIFY_METRICS=true working_dir: /app - command: ["qryn.mjs"] + entrypoint: sh + command: + - -c + - "mkdir /_app && cp -rf patches package.json package-lock.json /_app && cd /_app && npm install && cd /app && NODE_PATH='.:../_app/node_modules' node qryn_node.js" depends_on: clickhouse-server: condition: service_healthy From 8a736eba15579b2731d9b28dde34b0e39d0d1551 Mon Sep 17 00:00:00 2001 From: akvlad Date: Thu, 17 Oct 2024 17:52:25 +0300 Subject: [PATCH 10/19] tests to a separate mod; benchmarks; rust update --- pyroscope/pprof-bin/Cargo.toml | 5 + pyroscope/pprof-bin/benches/my_benchmark.rs | 18 + pyroscope/pprof-bin/pkg/pprof_bin_bg.wasm | Bin 226747 -> 217160 bytes pyroscope/pprof-bin/src/lib.rs | 1786 +----------------- pyroscope/pprof-bin/src/utest.rs | 1804 +++++++++++++++++++ 5 files changed, 1828 insertions(+), 1785 deletions(-) create mode 100644 pyroscope/pprof-bin/benches/my_benchmark.rs create mode 100644 pyroscope/pprof-bin/src/utest.rs diff --git a/pyroscope/pprof-bin/Cargo.toml b/pyroscope/pprof-bin/Cargo.toml index 13e905d7..0dc29124 100644 --- a/pyroscope/pprof-bin/Cargo.toml +++ b/pyroscope/pprof-bin/Cargo.toml @@ -31,6 +31,11 @@ memchr = "2.7.4" [dev-dependencies] wasm-bindgen-test = "0.3.34" +criterion = { version = "0.5.1", features = ["html_reports"] } + +[[bench]] +name = "my_benchmark" +harness = false [profile.release] # Tell `rustc` to optimize for small code size. diff --git a/pyroscope/pprof-bin/benches/my_benchmark.rs b/pyroscope/pprof-bin/benches/my_benchmark.rs new file mode 100644 index 00000000..0b6f988f --- /dev/null +++ b/pyroscope/pprof-bin/benches/my_benchmark.rs @@ -0,0 +1,18 @@ +use pprof_bin::merge_prof; +use pprof_bin::utest::get_test_pprof_data; +use criterion::{black_box, criterion_group, criterion_main, Criterion}; + +fn merge_bench(pprofs: &Vec>) { + + for pprof in pprofs { + merge_prof(0, pprof.as_slice(), "process_cpu:samples:count:cpu:nanoseconds".to_string()); + } +} + +fn criterion_benchmark(c: &mut Criterion) { + let pprofs = get_test_pprof_data(); + c.bench_function("merge", |b| b.iter(|| merge_bench(&pprofs))); +} + +criterion_group!(benches, criterion_benchmark); +criterion_main!(benches); \ No newline at end of file diff --git a/pyroscope/pprof-bin/pkg/pprof_bin_bg.wasm b/pyroscope/pprof-bin/pkg/pprof_bin_bg.wasm index 930457c9151072047f91add8c07319105bd3352d..ffc31bdfb20b43755f13bb45e9504b78a5abd208 100644 GIT binary patch literal 217160 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%0D^ndZqFN&|j; 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 literal 226747 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 SV4zpJu#`Dj`EK$lMgIZKs-Bhr diff --git a/pyroscope/pprof-bin/src/lib.rs b/pyroscope/pprof-bin/src/lib.rs index 219cb4d7..140c73d2 100644 --- a/pyroscope/pprof-bin/src/lib.rs +++ b/pyroscope/pprof-bin/src/lib.rs @@ -1,6 +1,7 @@ #![allow(unused_assignments)] mod ch64; mod merge; +pub mod utest; use ch64::city_hash_64; use ch64::read_uint64_le; @@ -795,1788 +796,3 @@ pub fn drop_tree(id: u32) { pub fn init_panic_hook() { console_error_panic_hook::set_once(); } - -#[test] -fn test_select_merge_stacktraces() { - let pprofs_vec = TEST_PPROFS - .split(&"*******************") - .collect::>(); - for pprof in pprofs_vec { - // Parsing HTTP request to get pprof data - let head_body = pprof.split(&"BODY:").collect::>(); - if head_body.len() < 2 { - continue; - } - let mut boundary = ""; - for hdr in head_body[0].split(&"\n").collect::>() { - if !hdr.starts_with("Content-Type: multipart/form-data; boundary=") { - continue; - } - boundary = &hdr[44..]; - } - let body = base64::decode(head_body[1].replace("\n", "").trim()).unwrap(); - let boundary_bytes = format!("--{}", boundary); - let parts = memchr::memmem::find_iter(&body, boundary_bytes.as_bytes()) - .fold((Vec::new(), 0), |(mut acc, last), pos| { - if pos > last { - acc.push(&body[last..pos]); - } - (acc, pos + boundary_bytes.len()) - }) - .0; - let pprof = &parts[0][118..]; - let mut decoder = flate2::read::GzDecoder::new(pprof); - let mut decompressed = Vec::new(); - decoder.read_to_end(&mut decompressed).unwrap(); - - // Merging profiles into tree - merge_prof( - 0, - decompressed.as_slice(), - "process_cpu:samples:count:cpu:nanoseconds".to_string(), - ); - } - - //Asserting tree - let mut ctx = CTX.lock().unwrap(); - let tree = ctx.get_mut(&0).unwrap().lock().unwrap(); - let mut _names = tree.names.clone(); - _names.sort(); - assert_eq!(EXPECTED_NAMES, _names.join(", ")); - let mut map = "".to_string(); - let mut keys = tree.nodes.keys().cloned().collect::>(); - keys.sort(); - for i in keys { - let mut children_ids: Vec = vec![]; - for n in &tree.nodes[&i] { - let str_node_id = n.node_id.to_string().clone(); - children_ids.push(str_node_id.clone()); - } - children_ids.sort(); - map = format!("{}{}: [{}]\n", map, i, children_ids.join(", ")); - } - assert_eq!(EXPECTED_MAP, map); -} - -const TEST_PPROFS: &str = r#"HEADERS: -User-Agent: Go-http-client/1.1 -Content-Length: 1866 -Content-Type: multipart/form-data; boundary=43ba238906960207d409d77db17b9ae9fbca49492081293d389a31f4c7f5 -Accept-Encoding: gzip -BODY: -LS00M2JhMjM4OTA2OTYwMjA3ZDQwOWQ3N2RiMTdiOWFlOWZiY2E0OTQ5MjA4MTI5 -M2QzODlhMzFmNGM3ZjUNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg -bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu -dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7ST -PWgc1xbH38zurK52Leta/tB4rYf3zePxhoW9d/dqtbvqHq95TyaF3ZkYM56592r2 -SjP3LDN3hORqCqtJkRgCiYuYuDYuYgIJwUQRxk4TQ4qEBBxC0qlwKjeJP2ADTsDg -Ip27wyn+55zfj/NmFVnYvlSWrXoVVXC1XkUOtutVVHtRz2Dbm0eW++CLt//lVZGF -T2GrXUcWRi5qzfonPIxs9/un79qeg2z8bR9b7Qaycd2ttxr+p31vEVXcb767ansO -quCP+56DqviJha12A1XwIfdQq+Hf7rcbqIrn3LlWw79qLTQX6la5f61mlfvXavWK -ZVeaM8h2y/1rNQ+jqvv+o/uznoMcfKeCrXYdOfiwe7g17896GDnulw/uz3oOquE7 -FWy166iGsYtb8/7sgruA0M1dD93c9erVqmNXmjVku2VZ9TCquQ8/u2J7DprBzy1s -tRtoBh9xj7QW/F8tD6MZ98pvV23PQQj/5GCr3UAIH3WPthr+J46HEXJ/eO+67Tlo -Fv9oY6vdQLP4mHusddz/0FpYXED2rae+feupX6/UZlCzhmy33Mf///rzr3avf/Dw -yWLzOLJw+XNpu2X5iLTKS/6J7uLIajaRjcvyrbt7B0tuWf5yd+9gqVWWdd/tnmye -RBVc7l+5t3ew5JY33rm3d7DUKlt+s3uqeQxVcbn/0ePn09NuWd5+/Hx62l9qNpGD -y7J8Np1Op1PLLW+Uz6bT6XRq+X9nf2NOPgm5ZE60Y2TO5sIkAR5AtCG5yZnDodCG -NcIkAR7kk5BLNqd0kcsAog3JTc4aShe5DPJJyCXrxsqMi4hwSGkMnO/QGDobOWiq -tJGZDhMqJAchM6K0MqTLAjqGVNJxBilclpshPXd+7SwFI5MOhySR3EBGt6QWkNFY -mXEREQ4pjYHzHRpDZyMHTZU2MtNhQoXkIGRGOaQTlUgSA5vPCm1UKomANa1MjwV0 -DKmk4wxSuCw3QxoDnWzGNAVBY0hCHRPIYmoAEj4Olf7PVpd0Sa8TQ4+wHlkmidLF -didMxaBP84zTrNBGpZJOMuAkBnY4K7RRqSQC1rQy7FBWaKNSSdJQafbvWJlxEREO -Kd0WcScGmptM6XiSyQlJwwlRWhnC2Dk6hlTScQYpXJabIT13fu0sBSOTDockkdxA -RrekFpDRWJlxEREOKd0WcScGmptM6XiSyQk1YZTInMTA/hErMy4iwiGl2yLuxEBz -kykdTzI5eWGEHckKbVQqiTJhlCutDLv0uoCp9ZBLEsPLoTkfS6G0Mi8hZqYbxMD4 -61oizNPghUuSs13r1VMJD/lY0jPS/DcLlc7pmjYySdSZNSFD1mV90qMmndD/wRuh -FjQIgl4MQVSoRAR//ELAIQ1SaTLFIQAjk4BDkkhuIAt4Kl5tTXYyYH53dTAcDPlw -eaXbE2I4XBFiNJAy6rGICdGVjPGQ9/iQ/ZMWeUYTFdHt0SAY9DuJ0sV2J9YFTVTE -SQ5kwPyBGPSj3nA9CvlwdVUORiIcykisro5WhFhfjVZ4tDxckQNG/iJO/Jm9PRp0 -Bn2SA2HMX15Zlr1owKOulBHvjvj68vr6qMdkKEfhSi/qy3UxGPUlq13YEjlcZPUL -W/lOzsMkufj7AJtndH+ABgAADQotLTQzYmEyMzg5MDY5NjAyMDdkNDA5ZDc3ZGIx -N2I5YWU5ZmJjYTQ5NDkyMDgxMjkzZDM4OWEzMWY0YzdmNQ0KQ29udGVudC1EaXNw -b3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJzYW1wbGVfdHlwZV9jb25maWciOyBm -aWxlbmFtZT0ic2FtcGxlX3R5cGVfY29uZmlnLmpzb24iDQpDb250ZW50LVR5cGU6 -IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQ0KDQp7ImFsbG9jX29iamVjdHMiOnsi -dW5pdHMiOiJvYmplY3RzIn0sImFsbG9jX3NwYWNlIjp7InVuaXRzIjoiYnl0ZXMi -fSwiaW51c2Vfb2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMiLCJhZ2dyZWdhdGlv -biI6ImF2ZXJhZ2UifSwiaW51c2Vfc3BhY2UiOnsidW5pdHMiOiJieXRlcyIsImFn -Z3JlZ2F0aW9uIjoiYXZlcmFnZSJ9fQ0KLS00M2JhMjM4OTA2OTYwMjA3ZDQwOWQ3 -N2RiMTdiOWFlOWZiY2E0OTQ5MjA4MTI5M2QzODlhMzFmNGM3ZjUtLQ0K -******************* -HEADERS: -User-Agent: Go-http-client/1.1 -Content-Length: 757 -Content-Type: multipart/form-data; boundary=f8b9e5464625dbb7eaca60174d56df842f385d760db9d6f978a8974c64ab -Accept-Encoding: gzip -BODY: -LS1mOGI5ZTU0NjQ2MjVkYmI3ZWFjYTYwMTc0ZDU2ZGY4NDJmMzg1ZDc2MGRiOWQ2 -Zjk3OGE4OTc0YzY0YWINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg -bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu -dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/1yM -v2sUQRxHveSSrBeLBQXPJWDAZpvb2Z3bnd1tbTTBwtoQJvPju3eLszvHzm64WE2h -jQg2djap7AT9B0IIqe1NJYqk0ELsRCGSAxs/zefBg3f/y9mHV19fn/26Oeg7PXdp -0HeW3f7DNy8+/kgfLXjPvv3c9647Pdd+sktDa78Fm3bPXwlXPc9Zcq19fnJ0vjG0 -9vvJ0fnGprUDfy10vFvOsmuPn54u3OHL04Xb9K+GA++G03ft8buffy5uD619f/n+ -uuc5K6619vfF5XpDe/gP/Wv4Cl4zrJopMHhF6K5u8bKYdXi9ZrU2IHQtDX7WQ1Nd -AZo2utJP4DFDgWBiCmgb2rsNK2uDtuoWlCq3tyQwHOI4iFBbzdA9/YDVElFKo4mm -vCuVpJOynXacCl3RCtqmFJrqFhQVWikQrW6oqCTVLSgqtFIgWt3Q2UGjsR/mJCWp -SMdJGEmZpomUGQHgEeZYyhAwFkxEIsV3UGcapEqO5hmhJB6psu7mo0ndIVVyERgd -EOwTSWIepQVnIs1zIJlkKXCZ51kiZZHzRPBxmgDBAepMg1TJ0Twj/+XkSJV1Nx/N -MzIicWB0gLE/TsYQcSJ4CMBFmIliXBRZhIFBxpKIx1BIksWAV3f2pdG7eLCzbw6M -YErt/g0AAP//01WZ7zgCAAANCi0tZjhiOWU1NDY0NjI1ZGJiN2VhY2E2MDE3NGQ1 -NmRmODQyZjM4NWQ3NjBkYjlkNmY5NzhhODk3NGM2NGFiLS0NCg== -******************* -HEADERS: -User-Agent: Go-http-client/1.1 -Content-Length: 10325 -Content-Type: multipart/form-data; boundary=b522389a4e947d96573c381377b6c37631c08faa82e05d7fdd8382b88938 -Accept-Encoding: gzip -BODY: -LS1iNTIyMzg5YTRlOTQ3ZDk2NTczYzM4MTM3N2I2YzM3NjMxYzA4ZmFhODJlMDVk -N2ZkZDgzODJiODg5MzgNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg -bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu -dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x7 -e3wU5dV/zrKzOWwkOVlFHm4yPIpOFjJDBgjgrUIABRERVBTUONl9MhnZnVlnZhNi -bV2QiyIiqAgq3vGGaG19a7VXbG3BXmhrbdVqq23t25+1tWrtxWr19/nMbJJNAjEB -fP9Jdvc5zznfc3nOOc/zzCyNIlDk0kJBjkdxEEXjUZQoEo9iLPhcThFOCOzZ578T -4RIC/VEiSFYgEDKUBys/lHgVRtjzL90m8ShGKEGQjGOE4iwuVyjVnHAQ+9K+WyUu -4SDaGCFIVuAgOoIdIQ9Rro5wwih7Y882iUsYpQdiBMkKjFIlq5SrlPtjiaGJ2Px1 -t8tlZfEoRAZFR0gYYYV6XoUS+9djd0g8ihKdS5CMo0TESK5WFvIqjLEtL9wt8SjG -aFIAJ0YJlpCPVBKcsJw9t/YOiUtYTv8MVSmno9hR8lDltxInRHbTvXdIXEKkD2ME -yQpEOpodLQ9V/hnjw3Awe+8H90lcwsH0WjmXME63RgiSFTiYhrFh8lDlt+XJCowT -Y0werlwT4YRxdvvfd0hcwgr6boQgWYEVNIKNkEcquyK8CivYE7+4T+JRPIKsAOwR -NIqNkkcrjFfhEezj3zwg8SgOoXMIknEcQsewY+QxylROOIT99v0HJS5hJX05ZFxJ -MpPlsco9EU5YyVa/+6DEJayiOyIEyQqsIs64PFb5CDhhFbvpDw9KXEKif0EAi+hY -dqw8Vvk7cEJiT770oMQlrKbbgCBZgdV0HDtOHqvcDJywmj322oMSlzBBTwFBsgIT -NI6Nk8cqT0JiTCIW+ebq8WVl8SFSrBwHxyuOGFJZRdUjYhhhhcJRnDDBtj67TeIS -Hkm3hmY+ko5nx8tVytUxXoVHsnee3i7xKB5FwwO9j6IT2AmyogznhEexm3YGeg+l -n4fQhlINq5GTyh7gVTiU3b79QYlH8WjygrlH03g2Xk4qizjh0eyXvwnmDqPvhLiH -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 -VMvRfNdIifCv5xt+uKnr/c5aX8qEV4MHZhnKCLmbjn5Mrwmu8Jy8myrKXjiQrrOn -7A5WnR9U09FLT0Fas22GKzTTac06WUtrtbL6FM1vz4kw3NX6usn1B/uc6oF5BzXa -GyiWSROnThoQeL1+8mS9Klxdqi3azsmLvNCVEvWdnLBTju0bli1cTzOd2rRlCs8P -AmRAe6ISWAdiqhkZ03EtvyWrmo5+ZsmMAzyI6IqUsFqF2/V2UecvlzW7wcmtO4Ag -6ZzcBzvNa88GjhndMykVjw3dGjVl5PTjSjJuWHbD9xO04jOkIayLBhK7fTPUMsI0 -Uu2NufC1BtV09AklU7ofHWpGm9fzmPCSg8PSF+OOLBQYrPTl1RWaL1b4YQdr2aZm -GbZh2WmxQs0auXBhDeycqGRHdEDemm80ZUSApaY/9KGLJnZzZCrVrplO7WWeY5ee -t4avR1q25asTB3btVRolfTHveMbAVU2n+4tF+5+WFt0wDeSgoN/MOzCppqOfUKLJ -irRZazrFVjbnilyXV3X9nIMLs148S7w5tgRxL7rQi9XF0zrV8o0mL6gbh/9cq3gw -aDUbYR3pFOqlWkTasi2/6wrM9Sc2ms5ndzppeNnG4BVw1dPXQM/sp6aMVIvQ5gl/ -pmtYtqfNtX2RyVjz5qaFoU/UJ6t1mp/Naac78w07rTU2NtaZTnjc2xgauzHlZBuL -j+k3Or7INHY+etmYyqZ7/pRrdx1dmTi9fmr91NTUSVMm1qXTU6dOSaen1QvRVKc3 -6en0RKHrKSNVl5qqH6vlPVfLWE3aimn1jfWTa8N32k07r2WsppTqOWq9rtSn6yc3 -1U1tbjJSU6dPF/XT0sZU0ZSePn3alHS6eXrTlFTTpKlTRL2u9sEuXZux7PyK2hXT -6mvrJ6ueo+q6MmnKJFHXVJ9qmihEU2ritFTzpObmaXW6MMQ0Y0pd02TRnK6fNlno -sWWtac+5WI8va/XavZSRyVz8/wcAHIyQ3X1cAAANCi0tYjUyMjM4OWE0ZTk0N2Q5 -NjU3M2MzODEzNzdiNmMzNzYzMWMwOGZhYTgyZTA1ZDdmZGQ4MzgyYjg4OTM4DQpD -b250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InNhbXBsZV90eXBl -X2NvbmZpZyI7IGZpbGVuYW1lPSJzYW1wbGVfdHlwZV9jb25maWcuanNvbiINCkNv -bnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQoNCnsiYWxsb2Nf -b2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMifSwiYWxsb2Nfc3BhY2UiOnsidW5p -dHMiOiJieXRlcyJ9LCJpbnVzZV9vYmplY3RzIjp7InVuaXRzIjoib2JqZWN0cyIs -ImFnZ3JlZ2F0aW9uIjoiYXZlcmFnZSJ9LCJpbnVzZV9zcGFjZSI6eyJ1bml0cyI6 -ImJ5dGVzIiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn19DQotLWI1MjIzODlhNGU5 -NDdkOTY1NzNjMzgxMzc3YjZjMzc2MzFjMDhmYWE4MmUwNWQ3ZmRkODM4MmI4ODkz -OC0tDQo= -******************* -HEADERS: -User-Agent: Go-http-client/1.1 -Content-Length: 1699 -Content-Type: multipart/form-data; boundary=b35b2678a24e0d9d56eab56e967e97043d914cbd87bbfa0b007f10fc2e7e -Accept-Encoding: gzip -BODY: -LS1iMzViMjY3OGEyNGUwZDlkNTZlYWI1NmU5NjdlOTcwNDNkOTE0Y2JkODdiYmZh -MGIwMDdmMTBmYzJlN2UNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg -bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu -dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/7yV -X4zjRh3HcRJvJskm+W32/szl9u58vrb4gtZOZned7BsqR+Gq8kcHUqVWxWePJ45Z -xxPZznX3nkzVk6BC4hlEpUrlAcQfUSQEgtJWCITKQ6FC8ADScUItB7QCUVqkdlsd -GsfZ7QGPu81Dxp7v7zef73ztZD768z+/de3xr/7+zePVEpKgUC2hIpQ++ezf/nGD -P5BdX06//aeS2kQSfuEHjxRUUXUHSJ0qkkDGsrKgnVSbqIC/NRMLcFcmFqCMywrS -7lSbqIhffudJ0VmES5lYhAquKFXtggqohH/09JMFVUYl+H4ZpE4NlaCGa8qi9p2y -ehrJ+Po/ny6oMpLhRUmV0QLckFUZleHtAohiGeq4rjS0X4ibBWjipgLadblTQ2VY -wksKaH8vqE20gF/65h+EBQSXMwsIWrilLGuWCqiMH939o7BQgWelzEIFjuAjylHt -x5IKCOGvf+VmUZVRFdJGJlfhGD6mHNdu1VVAFfz6i6+L7ho8ImdyDTDGygltt6QC -quKfvJF1L8K15UxehDZuK8e111qtZZBAxFutSoViSV4oo0pVBVTDL6SPiSXr8Nta -1lOHk/iksqJ9r6YCWsS//vcXhNyAH1YzuQGn8CllRftLRQVUx2/ezOQm/AplchNO -49PKivZFpAJq4K+99XnRDfC7WTfAGXxGUbTnBbuJ//rlx4W8BO8Us+4lOIvPKqp2 -vagCAvzUv7LuFjw/627BOXxOUbRXKq3mfDsLtcV6owkqoCX8y8/lW3mpBtK7Spbm -JS386huZ3wZ8owoi8WX8m90MAvByFaRWY76u3KovN6F9FEmQ3kgLOE1f0ZX0snZH -986B1G6jAqTpYz995uYKTtNXxaikaVW7q/v+9glUhPS5R3/2jNCe+JIYlVTRtO75 -9hFUgvS577729q0zOE2fEqPWabeRDGma7t4SHwmnT8wvtQ+Q95FybI8nAYuJTPk0 -TEiRTqakFtohjxnloRuTs9E0TPwxM/wwYVFoB0a8E1M7CPRP7cTUDgKTXDVGfMyM -UcTH/Crbsg2PG5Mtzxhz1/B4YIeeziPPSDgP6Mj2ww9e6epdvbfq8Z5OevqaHvjh -dHvVHrvmuhFH1IimYeL/H6Rhx2MrEMVWVqzHZHnu5pL98J6hHWP0HhnK6TNTusdJ -M5/RczNkdNBecsB83EfXc0V/OPITRvhhga/mnBk5fxIe3+ffn/G9w+LP8dPQzyI/ -5c/fzAkPAt33Qh75offhix//9KWLnzj4B3Abzhi6e0ZO3KboWueeC+fzMFohS3St -E7Jkf8466IBClgg7Ex7PglmaQSkPw7mPBw6DKTAeJ4rgj5Jkok9YFPtx8iEehtm7 -EOUpsMOgC6KRRHYYT3iUCCNHnenQ57rWmcHP6/cE03hEPnPQ9Awz+xbYs3v71zrv -SuD87Pd4H+cT0sr/2XQvYjvc+SyjCXEO2lbOMMYeHdvRlrC2x42pHebcZl6ne/RC -ZPshWdmfuNv7mB1t3c+jLRbpw2lIycGnl9OETWFxOb/X4504YeM4sekWoYeVjThI -5kfIsTnZu23f5Jr033Sd2nTEjHtZcrdILDYuhgkLAv/eiy6zSZes6z0jGU+Mj/D7 -7NA1LMvqedxypn7gWp6fjKaORfnYGrMk8im3eMICi/IgYDThkUXHrsUTFliUBwGj -CY+syU7EidbdNPtmn/bXNro91+33N1x3YDLm9IhDXLfLCKE27dE+OWdM48gIfMfY -HpiWub4a+OF0e9ULp2KS6jHXTaKZrrnu9PpDx6b9zU1mDly7zxx3c3Ow4brDTWeD -Omv9DWYS3ZjGkRH4jvG/y7mr2Tm8uj0wV811sTIh2trGGus5JnW6jDm0O6DDteFw -0CPMZgN7o+ess6FrDtYZWXjwihvzh0j1wSvxTkztIHjoPwEAAP//3t3OysELAAAN -Ci0tYjM1YjI2NzhhMjRlMGQ5ZDU2ZWFiNTZlOTY3ZTk3MDQzZDkxNGNiZDg3YmJm -YTBiMDA3ZjEwZmMyZTdlLS0NCg== -******************* -HEADERS: -User-Agent: Go-http-client/1.1 -Content-Length: 7007 -Content-Type: multipart/form-data; boundary=cd0010cac6db5c74e2d5ff5b92ad4b2d64fd9d7e41555d85cb80a5ab0cb7 -Accept-Encoding: gzip -BODY: -LS1jZDAwMTBjYWM2ZGI1Yzc0ZTJkNWZmNWI5MmFkNGIyZDY0ZmQ5ZDdlNDE1NTVk -ODVjYjgwYTVhYjBjYjcNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg -bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu -dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x6 -e3gcxZWvajQtHY8s63jAdlm2cbuwodWWuqWWLMk8jG35gY0tG9vYgA3jnp5Sq/FM -19Ddowf7yEBszMOAN4TYgAmPEEgIEHazG5Iv2cQkJLDf5jqbuzeEVza7CXvzERIW -uNkbSAjc7+seSWPJ2JIf9x+pp+s8fudXp06dru6r40AwtrNYlBNxqMR4Ig4SxhJx -qAqvqzHGpgOh/3vPDytZHAguZRLE8J/iSNQEEAQK8iTlErUGYpigCblG+UaczYAY -/fNvXqxkElTi/RKTII7fJUjUGqjEyXSyXKPcK6k1EMdaWitPUW4nDKGSHvi3eyUm -gYQ3V4ayEtbROhmV12MMIU53/9NBiUlQhc9WIVFroAqn0qlyUvliVZImIb73G/Pj -e78xPxEnscp4fRXEaPEwMASJHnj+oMQkqMZ7q5CoNVCNZ9Gz5KTy6SpWB1X0nW8e -klgcAGeGMQGeTc+WpykzGUI1vfuJxyUmwST8CUGi1sAknE6nyzOUFwirA6D3H3pc -YnFIoI9ETUACKaXyDGUTQ5hEf/rzULcGvxvp1uBMOlOuV/6RJGcmgRy8aS05eNPa -hCRVVcOk+iqI0WJxKZsBCfrGEHn3jZCXnJEE8vLfd5KX/74zUZkYjlFh06GG3nrL -7iYWh8m4mElQi/fHkKgJmIyz6Cx5tqKrNVCLc+gc+Rzlvhirg8n0xUf/rYnFYQpu -RqImYArOpXNlWTmfIdTSr/zg9SYmQR2+GkVdh/PoPJkprxCGMIXe9OLrTUwCxP8m -SNQaQDyXnisz5S3CEOroI8+/3sQkmIpvECRqDUzF+XS+zJSXCENA+sSPX29iEiTx -0RgStQaSuIAukJlyY4whTKV7nnu9iUlwFj4XaZ+F59HzZKYcJqwOkvT/vPCrJhaH -s7E1xH02nk/PlxVFZXVwFt333BtNLA7TSoPTsIE2yKqisDo4m770Ujg4Hc9BoiZg -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 -2shkmrlhWKbVYnUY5+oF39OzTlof6GxPtbc1RV+R2m5BzzppS/OF1m4o7Zn2tnRL -R0/atDoWL+btnRmzg6czixd3LspkehanF1np1o5FvN3QjmMu05R13MJA00Bne1N7 -m+YLzTCU1kWtvCXdbqWbOU9bzZ1WT2tPT2eLwU3eaS5qSbfxnkx7Zxs3qrb3ZXxx -jZHY3ucP+paZzV7z/wYAGI/sTX08AAANCi0tY2QwMDEwY2FjNmRiNWM3NGUyZDVm -ZjViOTJhZDRiMmQ2NGZkOWQ3ZTQxNTU1ZDg1Y2I4MGE1YWIwY2I3DQpDb250ZW50 -LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InNhbXBsZV90eXBlX2NvbmZp -ZyI7IGZpbGVuYW1lPSJzYW1wbGVfdHlwZV9jb25maWcuanNvbiINCkNvbnRlbnQt -VHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQoNCnsiYWxsb2Nfb2JqZWN0 -cyI6eyJ1bml0cyI6Im9iamVjdHMifSwiYWxsb2Nfc3BhY2UiOnsidW5pdHMiOiJi -eXRlcyJ9LCJpbnVzZV9vYmplY3RzIjp7InVuaXRzIjoib2JqZWN0cyIsImFnZ3Jl -Z2F0aW9uIjoiYXZlcmFnZSJ9LCJpbnVzZV9zcGFjZSI6eyJ1bml0cyI6ImJ5dGVz -IiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn19DQotLWNkMDAxMGNhYzZkYjVjNzRl -MmQ1ZmY1YjkyYWQ0YjJkNjRmZDlkN2U0MTU1NWQ4NWNiODBhNWFiMGNiNy0tDQo= -******************* -HEADERS: -User-Agent: Go-http-client/1.1 -Content-Length: 7688 -Content-Type: multipart/form-data; boundary=da789a8b069ffe50cb69dd81e83455e6b8760e653cb5024638996525d426 -Accept-Encoding: gzip -BODY: -LS1kYTc4OWE4YjA2OWZmZTUwY2I2OWRkODFlODM0NTVlNmI4NzYwZTY1M2NiNTAy -NDYzODk5NjUyNWQ0MjYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg -bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu -dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x6 -e3gcxZXv1GhaOh5Z1vGA7bJsTFPY0GpL3VJLlmzAxrb8wMYYYxuMeY1bPaVWo56u -obtHD252MxCbd4gvxOFpwEBwwiskbCDZvExCAvfbrLN78ySBsHl9+dgkLBA2QELg -fl/3SBrLDyTbe/+RZqZOnfM7v3OqzqnqviQFBJPbSiU5nYIqTKVTIGEynYLq6HMN -Jtl0IHTHbbsllgKC05gESfznaiRqGggCBXmSklFrIYlpmpZrlc9VsxmQpL/71kMS -k6AKd9UwCVL4K4JErYUqnEwny7XK7TVqLaSwjtbJU5THCEOoos+/+5DEJJBwTywr -YT2tl1G5jzCEFP3j1z4rMQmq8V9TSNRaqMapdKqMyrUphiDRh2/4rMQkqMGbq5Co -tVCDGZqRUdmfZPVQTf/+o4cklgLAbUjUNACeQE+QT1Qoq4ca+sErj0gsBZPwAiRq -GibhNDpNnq50MgSgv3x7r8QkSOMXk5HiNM6gM2Sq7EkyhEl0+5t7JSZBLe6Oh2tx -Jp0pU+V9whDS9Pbf7JWYBJPxHYJErYXJ2EAbZKr8mTCEWvrMz/ZKTII6vJsgUWuh -DmfRWTJVPk0YwmT65Kt7JSbBFPwKQaLWwhScTWfLVHmGZOZkqlPXf2VuIpGeTJJV -Kam6Bialayc3VEOSlvYBq4c6+s6TuyWWgnrcjERNQz2eRE+SJykbWD1Mobt+9IDE -UoDYhkRNA+IcOkc+WckwhHr6f67bLTEJpuJfpAjXVJSpLNcqv5QYAtLbH9wtMQky -+LdqJGotZPAUeopcq/ylms2AqfSt7z0kMQlOwFdrmAQn4l1JJGotnICMMrlW+WWN -Wgsn4qn0VHmKckOSIWToPX9+WGISTMNvxyxPw7l0rozK40lWDyfQp39YDp+DJHNy -pjr59e3zE4l0Xd2UepyaOaHS99KJDOFEesfzd0pMgul4VzUStRam4zw6Tz5N+UQ1 -q4dp9I2v3iuxFMzAmUjUNMzA0+npsqLMZAjT6e2P7pWYBBT/nSBRa4FiI22UVeUF -wuphBr3n3r0SS8FMDKJVMBPn0/myqmxkCJT++JUoHxrwW3HAG7CJNslU+QbJzMhU -JxLkzmvXpqUTp02fQRuqIUlLpaVsOsykN96wvZmlYBYuYhLMxnuSke5Z2EybZU3R -1VqYjTrV5Rbl7iSrhwb64sO/bGYpOAk3IVHTcBK20lbZUE5nCLPoY999uZlJMAd/ -TpCotTAH22ib3K68RBjCbHrtiy83MwlOxv8mSNRaOBkX0AVyu/IHwhBOog8+H82W -8bck4k7GDtohtys/IQxhDn30By83MwlOwYeTSNRaOAU7aafcrlyTZAgn0x3PvdzM -JGD4HEGi1gLDhXSh3K7sI6weZPrnF37TzFJwKrYhUdNwKi6ii+QzFJXVwyn0lud+ -28xSMLc8OBfPpGfKZykKqwdGf/KTaHAezok8noeL6WJ5iTKb1cOp9JbtH9awFJyG -H0OipuE0PJueLS9VBhnCXPr11z+oYRKcjjtixKfjMrpMXqq8RxjCPPq1PX9oYhIo -+FzMloLL6XK5S/kSYQin0R/u/s8mJkEj3p9EotZCI66gK+SVyk1JVg+n0x/84LUm -lgIV1yBR06DiKrpKXqksZAgK/f3P/9TEJJiP78aq5+Nqulo+R/kNYfXQSPc+96cm -loIm/HiEugnX0DXyOcpahqDSF255u4lJ0Ixfi4lsxrV0rXyucj9hCPPpm595u4lJ -oOF78bCG6+g6+VzlXcLqoYl+7/dvN7EU6HhqpFrH8+h58nplJkNopr/Y+UYTk6AF -f1oTqW7B8+n58gblP6sZgkbve/CNJiZBK/4CkKi10IoX0AvkDcq9wBB0+tadbzQx -CQz8FESzDdxIN8oblFuB1UMLffmG6zSWgjY8JbLchpvoJnmzcjKbBq304euv01gK -2rGapWABNkQi7XghvVC+SJHUNCzALXSLvFmZwhAMevePdyaZBB14cxKJWgsdeDG9 -WN6q7CSZpkx1IpHau2tuumFmw6zZJ805WT6FnTp33mmnK43q/KZmTW9pNcprDNh0 -aKOf3fFekqWgExuZBAvxXoJETUMnXkIvkS9VFLUWFuJl9DL5UuVOwhDa6a5nX2ti -EizCO2OKF+Hl9HL5CuUOwuphAd3xzGtNLAVnYBMSNQ1nYJZm5W3KfFYPHfTdp16v -Yik4E0+LBs9Ek5ryNmUeQ+ikd1/zehWT4Cx8nERunYXdtFu2lM8ThrCQ3vfl15qY -BIvx/nh4MeZoTr5C+TRhCIvorU+/1sQkWIK3xh4sQU65fIXSz+rhDLp792tNLAVn -45LI8NnYQ3vkK5TFrB7OpG88W064S5Bk5maqEwly/bUt6Uxb+4KOzoWLzjhzLHOz -WT2cRf/+3IMploKlOBuJmoalaFNb7lVmsXpYTO94eU+KpWAZOtHgMnSoI1+pXMoQ -ltB3r/9mikmwHG+KsS7HPtonu8oQQzibvvPUngYmQRd+sj3ioQvzNC97ymd0hrCU -PvnongYmwQrcpSNRa2EFCipkT9mlM4Rl9Kd/vT3JJFiJP4pnr8QCLchblWfb2QxY -Tn/4k51JJsEqfLqdSdAxvE5W4VX0Knmr8sX2zMxMTSJx26T/uEZO15y1eMnZS5ct -b5AgSfdVMYQuun3/niomwWq8I565Gn3qy4GykzCEFfT7b++tYhKcg/8VV8FzMKSh -XFQeqGYIK+n7Oz9XxSRYgy/Fa2wN9tN+uaj8rIYhrKJ/+M1jKpNgLb4XD6/FATog -Dyp/rGEIq+n+1x9TmQTn4qPxEjwXh+iQPKh8HmLU/zrz30pyuqZrxcpVq8uoHyAM -4Rz6t5+VUT9BkGRmZiCRKJWSN5TkdM05ZekUJCkyhDX0U48/UsUkWIdPECRqLazD -q+nV8v+KE3Etvfm3ZZB/r0GSmZGpSSRK8r6SnJbWrF1dJqtEGMK59N9v259mEpyH -T8aazsOP0Y/J/6DcSxjCOrrr+v1pJsF6/HSc0uvxH+k/yv+g3EJYPZxHn/zbn+pY -Cs5HA4laC+fjx+nH5RJRWlk9rKe/uvVXtSwFG/AkJGodbMBrCL2GyNcSZRZDOJ/u -/u9XpjAJLsB7CBJ1ClyAnyD0E0TeTpS7SKYhU51I1Lz6CEvDuevOW7/+/GXLG6oh -SUv7UgxhA73lK3+vYhJsxC+kkKhTYCPuIHQHka8jyp4UQ7iA7ti/q45JsAkfTyFR -p8AmvJ7Q64l8A1EeTWWmZ6oTiepHX2Tp1IYLhnWXJDYNNtKff+fBFEvBZmxjKVga -4Z8Mm/FGQm8kcq/SyhA20Z++en09k+BCfGMJEnUKXIg3EXoTkW8myocdDGEz3b// -+nomwUX4QQcSdQpchLcQeguRbybKBx2ZmZnqRGL2l1+U0zUbFy/ZtHnZ8ri12EkY -woX0nd99tYFJsAVfIBH6LfhJQj9J5FtJHJyL6P5fRxIXD/N3MX6K0E9FEveQA1bJ -xsVLLryoHPh9VWwabKE/u+3eFEvBVlzJUnAJakjUOtiKOwndSeT/TZTFah1cgrcR -elv0tZHNgIvpPdsfSjEJLsWbUkyCy+IWsQ4uxdsJvZ3IvcqNKbUOLsNPE/ppIvcq -NyUZwlb63iMPpZgEl+N1VUjUOrgcdxG6i8i9yjeTDOESev1bD6aYBFfgywSJOhmu -wM8Q+hki9ypZVg+X0p98N4rHUpyDhCFcRu/48S9mMQmyuHsSEnUKZPEOQu8g8p1E -uQ4YwuX09f2RxDbcAZHENryL0LuIfCdRdkBmdqY6kZh/x1NyunbLxVsvuXTxkssu -X7a8QYIkLW1j0+EK+uRvXkgyCUx8mLAUdOO5kRYT7yb0biLfQ5Q9RK2DbryX0Huj -76sZQpb+5bX9SSaBhc/EMbFwN6G7iXwfUZ4gbAZso/9S+kGSSZDDGwmTgOM3kkjU -KZDD+wm9n8j3EeUGok4Bjg8Q+gCR7yPK15OsHkz67ktPSCwFPTgrIrEH9xC6h8gP -EmVJhmZqEomnq/ddK6err8huM4cXucSmQjd9681/m8+qwca3PikhUevBxocIfYjI -DxPlzU9KmWmZ6kSCvPp/F6Srupctb6iGJC3tm8vmgEV//MEoDRL04tOESeBgKfau -Fz9L6Gcj979E1Dpw8BFCHyHyPUTZyhBy9IZbXkwyCRy8nSBh9cDp879+IclS0I1r -ox966J3vvdnMUnAlqkjUKXAl7iV0L5E/R5S7qjINmZpE4jvkuZvkNFg5nt3WMxyl -aWwq2PTWrz81iVVDH/7XS0kkah304ecJ/TyRHyVKmJmWqUkk7p2y8xo5XWWXKXkg -yaZCL3385gfjic89nkSSmZapSSS+OvvFkpyu6i1L7iRsKjj0rn+5P5b89sOxZHUi -IT+6T05XOcNclQibClfSlx6+I5Z889qxOq+s1NlHt/96Vwz7hb+SMZJ9o5IILn34 -lfeBSdCHH8wfo9KtFMzTp77wHjAJ+vD1mWME85WCHt1+f1lw/1hBr1JQ0Oe//U4s -+LvJYwRFpWCBbn/k3qlMAhe/Ux3FwMXHCH2MyI8TpYshXEU/91AkkB8WyOMThD4R -C2SmZ6oTiUk3/faUdKpw1cgeX8Xqwad/fPbGeSwFHrJIsYdPEvokkb9AlJPiskbu -2XdLVbrKX7a8oSbK2luqWD0E9PvfunUeS4HAWUjUOhD4FKFPEfmLRJmemZGpSSRI -ad+d1emqYGTindUMIaR3/OG7k5gEBfxaVWSygF8i9EtEfpookxhCkX7v+5HAVcMC -V+E/EfpPsUDsCzy6g6VTYXEkO1IMoZ/+/Kvbk0wCH98nSNQp4OOXCf0ykZ8hyjuE -IQzQ7e9GXXOAr0pI1DoI8FlCnyXyVuUZiSEM0l98ZneSSRDiK8lorYT4FUK/QuSv -EuV+Eq/i5ON/VdJV/QODse19eM4r17380vO7f/7ejIYZQLD0H6UkLZX+oMmlbco/ -k5avkYWkYTYksVS66dvf/P1sWir98dvf/P1suVRKK18nLd8gDbOgCkv7tj8fjT7w -qeejUVn5Jmn5FmmYBiks7Xvqrfc/PJmWSl986/0PT1b2kYZZIGGpVPrbhx9++OGH -hJYeGP6oPEeMhCEFBdPihtQ9FPLAqDNdV1hZ0X0lt8LAkCxR9EKj1nRdYWVjyTrH -KwZ8RKQ2/hoUTIsbmu2EvcVuzRJ5vc81i0FBBKFuiXzB50Gg97hmyDWPD6wyg3Cl -ZxlX6L0iz/VeX+TF1bzP1C+4eM0GXYTcbbaE63IrFL7ez72c8PVxqNZ7zCDMcs8S -Oe5rtjA6xoNHUYcBCr9RczwnNLYeZ1w5HrtuC6N5PBSt5wNbfCfkvmEcmVH7aqeg -KWos3Kht8Z2QGxceN/T21U5Bt692CpotjI0VUGzf7DE9Uy8M+SKwRIE320K3RY67 -oVnwRY/ueCH3PdPVCwVf9GiKWvBFj+Py5UXHzXG/Uetxi0Gv4R1dAkzQvF7wRSg0 -WxhbK+icoJJD+MDzTrhOWGboCO84q14nrGCV8DeFptVnXHFMqFdwNzTP4WZhgy96 -HHckT8o/hcII/v9EIcfd0Mz2crOg2cLoqlgIHxUKTVHLaMsOlF052g3ko+zpwyDP -+Ih80RR1Ew8CR3iNWq6YL1TQfLTL8JDYgtiIZgtjwUekcCWkYsEVZm6FGZpGywQ8 -8XnAQ2PhBAyFZh/f5JmFoFeEwQHb7qHcqYS4KTT9UOspelar0Vkx77DlQ1F7zCBc -zb1GzczllrvC6pvIxJWeta61UVvpWSLHjYuPLvMPB053eT93WzVbGGdWhOlw4mNK -TxAKn68yg3C8/lROtlwRcKNtfFaH60VXNGliNSaec3yLQVQVjJP8ohc6eV6uGVFm -dG24cHit94ytFbbQC322nhc53Rau6dma8G09FMK1ek3HW9rforVorc22aNWMVq1N -cx2vONhs5nMd7XrgW/oB5sqFyhbG+RUcHip7x9a2HO8xi27YJVyXW6HwDwLePRb4 -+LqccdgeBX3WR4DWFNUqFMsb6AjU4aW+5TgiHGncjgVWFPuj3EcM44TuYo8jtPV8 -YCM3c9zf5Fx9iFJxrOkTGYn/arYw5le42uU6Vt85ohhw3epttkW5ARkBZFx0dIQf -Wq/uc7Pc8B4OhOtYfb2iGPBmW+j9hpZzTPdou9xKEGP06pbwPM0WxtkV6XgEeU1R -R1U0RqjKpSA7NlrjWzNHsFUBdmxlP8IsbQXvMYtuuMIx3U2hb4bcHjIWHbV3ByyI -I5k9kBjTuqro+PwoDW9wPNtwKvzN89B3LDH2oMUHC8IPua+PxqQQbxijI73aej7Q -NRKzZZbFg2C9GTr9vEu4xbxn+oY1ntiNqhzJzYON6aZl8SDIepGBrFW2oNnCMI+H -P5pX6Ux5d1xZpsHYOJ5FOg4/hkU0WxhbKlLnqMOgWT43Q75O2MEI2AuOE+k9phUK -f0izhXGOLTRR4F7IXZ7noT+kORXb+6hbXSNoVhU9q+LrCJOXjwfc8Dl/XEZHrUdV -ZlxzNEWNGg3uN1aANDYdeXbA/X7H4qNV3/bNQq+mqMP+rxc53qh1Fx031yXyBeFx -LzR6j5vHh7aveyLHA80WxnlHjtKhp2uKuto3C71jcQf/88Bj+qId+GiALy86bs5Y -e+TULDsdnTP8fsfi8b3OysGQe4EjvGCZl9vgFLjreNy49LiHati8LYzG8QFdzweM -84/Mhwi5awlXU9SK9i3gYbHQJbwexy760T3ESAoGxuXHzbGy7QN7u44ju1aecyDe -jUVvvPPW84Eukc+bXq7cEhy/OJWh6VZZfxSn0X05KPS0tumW6PZNTVHLIBo1Psit -YsiNdROh9ZBaKw2rFXX5MIZXxoa7jMZxyxon5E3H0/yit8YLuW9aodPPjSXjyXQr -nxvbGORNJ+rqIPrgFz1j5TFoyoqwl/uBZgtjUqQwbzqeMdkveqGT51redLyD279j -bdbL2vWCLyzNFsapttCK3dzXhG/rV5sF/WqzYAmfRx2BKHoh9wPjvIktoEPp0wMz -X3Dj2t98OJvr+cAmM19wub/FCXvPL4SO8AJj1ZHXSXmT0UerszesJrdO2Db3y+vG -Hk/Ux1V8DzJZYTw6OB9xQzho9sGAt/hmoUv4XOspepYxviwbRX4A/yJmUbOFIY8Z -0+KxqFkxCwV3yJg3JjKaosYUNmqVEVkxMSYPwOMK2+a+Zgtj6bHSZCw6CqLXRfaN -tolOXc8HjE5bCNvlWsUtS3Sj3l3sGW2LehyX53hgaR4f2GgOrHJcbuQmRNj4beg5 -HlhZx3PC+Cg3EXhRA8H9+L+xbexGc6Rz5gTM6FFfNSF04VCBa+XnI/H//xF04VCB -j6K7zHJFMaeVybdEXreF7grbdjxbNwtOvzH8rdCt9Tguz8YsZMsy2X5j5KMV9SHZ -KDWy0XO0vgksmAkAGQZYtqgVujVbGMZEXIlyxzDqy3VBy4k1nhO2GlPKd5DlH4wm -yx8qhEIfXNCySC/0OYOaoq4387xRW+W47ipf5DeuWL+JX1XknsUPbp6PtWyNtR5D -sIUxu2JEK5h+wLu4Hzo9jmWG3OBjeT+uOEw/iHeyA0BsGAui8mFw4ImBHtfs47lu -3RYj3zSfm7muZV3cD4OjfV5yGNW6sILoOdMBnd1hYETZ0GacXEmqonZxP9wghNuo -Lcvlurh/iFPd8eTV4n6YLQjharYwlvQtDDRH6GbByZtWr+Nxf0gv9Nn6cH4q6iar -l+d5o7YslzvXEwPe5qEC3+KEvevNPDc2j83EI+xrH2FKD6xeno9OM50fIXoYVIHR -NDpR73HFgCW80Beu3t/azUOzVTMrfAiMC8em77jAH0qx7nPbCUIeX0Z/hKMj6Edu -CZblcptFzLNx2dg1NS5QhwxemdFsVCNibI1lZi3X4V7YbAu9r9jNfY+HPBgOQJSl -LcbWiQM5gtYDGKq8PrbF8L11d7GnfIG9sczm5qECN7ZMAEfFOegQevWCLwrcD534 -RmNemQuz4OhmMRSBZbqOZ+v9RpwsR8/DYTTqNve4b4Y8Vy4lS8r1cHwNj6Kuclze -qDmeE67glhsY6w/wV9gu121PBKFjNedFjruBLgrcMwtOf1tcVEe+Zs8vcG/ZhjX9 -bZV19KD9/Ai5N37T+oitstut458bOau1GGHFFO71i6GCLwaHdFs0l5d4c8E1PR6P -6VHvkTdDq5f7+rDv0VA2HCrwbHko29+WDUIzLAZZS+R41vEKxbCSj49PYC0eC0D9 -IBRlprqORWvMXaexME6NI2dZEPpB5cWl7YsBo28i/o8jlYPQD/Qg9B3PDrJFLzB7 -eNYWrUb0JHv5eDVUwlxWKHAvt6rouuvNPDfOHI+OkROEeeDkcQEYmayoK71ivlEr -ennTD3pNdxPnOWPleGio0HEeDwLT5mPVTBRKvDEcqOOqCeVO3OLqop/7rjBzY1ZN -PJodHs32t41+rujDhyZQMo4R3QjS8kpZdYz64sXSYszxuc0HC3ow5IXmYPnNifht -JscLwuPfeh9gL3qH0YmWkTHtQCRdIl9wXG5MiSdoZcmDz27H2iv63OaDhfI/zRYj -FocRZMpD5xWDcPi3UyroL/giz8NeXgyia7CeQIsOaeN6cjR8yzJaxw/SpudzQWhG -J/JKuf78gOlz3Rb9eZF39H4nbyzQw6ECj81rHa3tHcbWsdEbX4E7vO6o1ASaLYyT -YlYOlTiWWTBOKdN6iLwajuTcCg7jfSx+70IvP7CMUnRC/eFHKNRdbpvWULb89FWz -hdFUwbw5EOjmQNAc5PqabaGbA4HOvVxBOF4Yc3q079UeSbFefs0l4rTyfZtBPeSD -oR69det4tu6Ynul4OT6o5c1CHOKJ9awV5fCwuvXQ7HZ5hKVxPPJxiFoO4N2yhnRb -NF8ZCG/0lZ7IDe5rjueEWsvBi3h8eXlk5cObSfTschyYcvwATAfdjR8TprLyYUya -LYzTK2gazNnNtij3BgWfF0ajahgXHN2qPUhnRTQr96uD5OIoTh0+Ajuh2R04nhMe -fIt3zHtt/DBCd3pMi2u2GDUaWL0853hOOHpV5IctWVsc/NrD8QJhBvls9NaaFhg7 -yFgrmmVavVxfy8Plvul4gb7GC7nrOmvX5LhptBjtWqse5gv6arHO9HJ6NptttUV8 -9MzG6yFriXy2/E5IVoTczY4858ta+dzYnwpDvjCUlkUdnR2dVmfbgpbWXK6zc0Eu -t7CD8+5Wo9vI5Vq4YVim1Wp1GqfqxcDXXadbH1zYke1ob45fw7O9ou463ZYWCK3D -UDpyHe3drZ093abVuWgR71iYMzt5d27RooULcrmeRd0LrO62zgW8w9COoC7X7Dpe -cbB5cGFHc0e7FgjNMJS2BW28tbvD6m7hvNtqWWj1tPX0LGw1uMkXmgtau9t5T65j -YTs3qi/tzwXiciN9aX8wFFim617+/wYAV467yt1DAAANCi0tZGE3ODlhOGIwNjlm -ZmU1MGNiNjlkZDgxZTgzNDU1ZTZiODc2MGU2NTNjYjUwMjQ2Mzg5OTY1MjVkNDI2 -DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InNhbXBsZV90 -eXBlX2NvbmZpZyI7IGZpbGVuYW1lPSJzYW1wbGVfdHlwZV9jb25maWcuanNvbiIN -CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQoNCnsiYWxs -b2Nfb2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMifSwiYWxsb2Nfc3BhY2UiOnsi -dW5pdHMiOiJieXRlcyJ9LCJpbnVzZV9vYmplY3RzIjp7InVuaXRzIjoib2JqZWN0 -cyIsImFnZ3JlZ2F0aW9uIjoiYXZlcmFnZSJ9LCJpbnVzZV9zcGFjZSI6eyJ1bml0 -cyI6ImJ5dGVzIiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn19DQotLWRhNzg5YThi -MDY5ZmZlNTBjYjY5ZGQ4MWU4MzQ1NWU2Yjg3NjBlNjUzY2I1MDI0NjM4OTk2NTI1 -ZDQyNi0tDQo= -******************* -HEADERS: -User-Agent: Go-http-client/1.1 -Content-Length: 1979 -Content-Type: multipart/form-data; boundary=8bed23bab43c5ac24b097e61a30ce57a57a9980edcc90abf588af69cb186 -Accept-Encoding: gzip -BODY: -LS04YmVkMjNiYWI0M2M1YWMyNGIwOTdlNjFhMzBjZTU3YTU3YTk5ODBlZGNjOTBh -YmY1ODhhZjY5Y2IxODYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg -bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu -dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/7xW -X2wc1fX+7T/7etfxHq//XS8JGSbg3F1+ntm9tnfXVdU/adQmqIggC1EVwXJn5u54 -6pm525lZy+7TPFAFAhJIpZVKmyqIqAgqWvKC+hRFVV94KVKkFoRaoOUBEKhqIVWV -ljbVnfUmrlGpTGP2ZVbz3XO+7zv3zLn32JMvPfP2I6dfvTyTz6IUpPNZlIHsiQe/ -d/518fXk//3xc3/IqjMohS/85aG0mkMpuJJRcygNP8xDqlpAKcjhnDJE/pSpFlAa -hvGwgsjbIyqgNL78VhKSgZdQsjYDI3hEQeQRpALK4D9eflBmzMI7/VRZyOO8UiAv -5lVAWfzO909LOAf/yCTRORjFo8o+8lpGBZTD5z5IoofgxX70EIzhMaVA3h0pjUEK -pO58LpXOZHMqoCH8Xl9+Gp7JQ0oFNIzP/i1JkIXf5CG1LWYoPZzNqUWE8BuXTqfV -LBqGw5Cq5tEwFHFRAXJILaIR/P7DP86pWYRgJQERjONxpUSOqYDy+NLJszk1h0bg -XCrRPgITeEKZJD9LqUVUwG9efCqnZlEe7CQ2D1N4SpkmWC2iUfzP3yWJC3BnAhZg -Bs8omDRVQPvwa5eelolH4Vw6STwKs3hWKZMn0yqgMfzAnxN4H5zuw/vgBnyDUiYf -SstF/J03E3gM/tqXNQb78X6lTD6QMOAXXkngIjzRh4twAB9QyuRxCY/jn76ewAA/ -78MAN+IblTJ5IVWaGFQ8j0byhdF9Y0UYVwGV8MuP/0hu4jicySZ6x+EgPqgo5Ims -WkQT+LsXT8oKl+DzidcS3IRvUlRSUafRJH7u96ckOAGfU3NoEh4bStZMwCF8SLmZ -fLZaQJNwC75FmSO/lXs8hX/1yilJNgU/ySVkU3AYH1bmyLMSnsZnX07gaXi2D08D -wUSZI09JeAY//fwPZPQMPNzvtxmo4IoyRx6S/YbxoxeTaAyv9p1gqOKqMkcuZFVA -s/jkrxN4Fh7rJ5+FW/GtMjpXKg2KM1KamJzKTs/g2fIUSkH8RpzGcfyupsT3k/+v -zbdS5TJKQxyf+sX5t/bjOH5PPpU4zhOtppdnUQbiCw/88rzEzjwqn0qskFqtXp5E -WYgvPP/+h1cO4jg+J5+ElssoB3Ec//2K/KVwfGbwlyzQ/6PDIfO6Lg9pzhQ9P6IZ -s9ujBZ/5IuSm8K2QzgY9P3I8rq1y1j3iRKHm843oyyyMqKGvCo/rq4HwxLf4GtNt -oXfXbN0Tlm4Ll/m2JgJbj4RwzVXm+F9Yr2k1rT5vi7pG69qC5jp+b2OeeVZjUQ8D -Uw96vqTSPcOJPNbVbEFLwRZ9aDJfGN/gZrSHvLbpsWBN8hYHvLZ5NGCOT/dfe3HE -vp0Fa3eLYI0HWqfnm5Tep+9VKWxTypkYsIebYcS9MGLmGjX3ipSFXpt5VmNRC+n0 -gNn+N9/XCuRxzxPrnNp7pWaL4Kqi220nWu0Zmik83Q5Yh/lM724GIjRFl8/bQreF -xd2IdQPR0R0/4oHPXL3bDURHI9VuICJh9DoVzfGjxmJIv7lT951fO35CFxF3503h -utyMRKCvc98Sgf7JmfXuFq/czZVPnqfvoOO4/EjPcS0eVLSV5BOm/qfoQ5q4738y -cZS7ETvGWfdEkLgJKtrdgRPxrVeRoOGn4ydplfYq74+bL+3ClEaqW2rldgQVbcvK -R4fBdeqogcjP/BeRGqmu8DB0hF/RrJ7X3aaS3nUdqxr2SWQzLO1CUq/rCmYdZRGj -tV2EBTzkEW3tIiJia3zFZ91wVUQhbewiciViQZSM9vq2QcesdSfk1NlZwut17IWb -Ydt1/N7G1VG3fezf5fdCbt2xQq294ve41+eXOzo+mPvh5hb1R/v6ehn3uCcplQEl -qXaZzb/ousKsyIN/nfs2v8PntLNn1m0zNPs8Usmhj1Wy1RgHPnYRvfkaPEgdrEQs -4hXN8Z1+d9HtSXauCnr+teuPYQ9g+u3UzipoJjNXuX4bj47Iu0qoH/cj7rrObcct -zmiNLmp1PfK6+lfEV5lv6e12u26LttFzXKvd/yrapvDaHo8CxxRtefa1r559bdOz -dr6Sxy0lteVGs9E0mwtLtbplNZtLltVqcG7UqUEtq8YpNZlZN5v0kN4LA911DH2j -1Wg3Fudd2eXztt/TXccwtVBoDUoaVmPRqDc7BjOby8u80bJYkxvW8nJrybI6y8aS -aSw0l3iDavp/Tmdt5d5oNebl/UVolJKFpQVeNxqmUePcMGsts7PQ6bTqlDPeYkt1 -Y5F3rEZrkdOhe9atUNxL8/esh5uhyVz33n8FAAD//wwi4sIeDwAADQotLThiZWQy -M2JhYjQzYzVhYzI0YjA5N2U2MWEzMGNlNTdhNTdhOTk4MGVkY2M5MGFiZjU4OGFm -NjljYjE4Ni0tDQo= -******************* -HEADERS: -User-Agent: Go-http-client/1.1 -Content-Length: 7276 -Content-Type: multipart/form-data; boundary=281cf637734b8fe81951ee3509cef5706ca07ed3a6c85806c2413fc5e676 -Accept-Encoding: gzip -BODY: -LS0yODFjZjYzNzczNGI4ZmU4MTk1MWVlMzUwOWNlZjU3MDZjYTA3ZWQzYTZjODU4 -MDZjMjQxM2ZjNWU2NzYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg -bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu -dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x6 -eXgc1ZWvbqtLOm4h6bjxci1v5QuGUlmqkkqLJRaDLdvYxpZXMMY2Tan6qlS4um6n -qlqymCUNsdnigIclZnPA4MEJEELCC0y+ZBKTkIHvTZ4zywsJ2zAJzJePIWGAYR6Q -EHjf19WS2rKRJdsz/0jdfc8953d+59xzz71VV8aBYOzqfF5OxKEc44k4SBhLxKGi -8LkSY2w6EPqzHz0sMQkI3lnJJIjhrwkStQoIAgV5knJHpVoFMUzQhFylPEYYQow+ -91FhSjkeiGTL8Qx6hlytfI0whHL65k0HJSZBHJ8hSNQqiGMNrZGrlW8RVgtx+sY/ -PSyxOEhoI1ETIGEtrZVRoawWJPrpa49ILA4VuB6JmoAKnEwny0llIUOooP/ywSGJ -SVCJ344hUaugEs+kZ8pTlAMxhlBJd713SGISAO6PhgGn0qnyFOUTwhCA3vHGIYlJ -MAk/jGBNwml0mjxF+U/CECbRp391SGISJPDeaDiB0+l0eYpyJ2EICfrE64ckJkEV -/k00XIWUUnmK8jRJzkpWxB7/g1JWlkiQWHlcqqiESYm6CojR/GFkCFV033N3S0yC -M/CeCiRqFZyBM+gMuU75UgWrhTPou9+7X2JxqMYZBaercSadKc9SZjCEanrHo4ck -JkEN/mNkuAZn09nyHOV5wmqhht53/yGJxaEWg8LcWpxL58pzlA0MoZb+4rXCXMQf -ESRqFSDKVJanKH9LknXJSeTu61fFvr3rTpKQqs6orqmtq4AYzecvZtMA6c037Wpk -cZiMnUyCJN4XQ6ImYDLOo/NkpuhqFSTxLHqWfLZyb4zVwmT6wsF/aWRxOBM3IlET -cCbOp/Plc5RzGUKSPvbTVxuZBFPwZYJErYIpeC49V1aUlwhDOJNe/8KrjUyCqfhf -BIlaBVOxntbLivI2YQhT6EPPvdrIJJiGbxIkahVMQ5WqsqK8SBjCVProz19tZBJM -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 -XN16aPa4vIClfjzyUYiajuLdsgZ1WzReEwhv5JWeghvc1xzPCbWmYxfxeBuvsZQP -FZPCs8txYErzozAdczd+SpiKyocwabYwzi2haWfabrRFsTfI+jw7ElXDWH9yq/YY -nSXRLK1Xx8hFUZw8dAR2QrMncDwnPPYW75RrbfFxgdNrWlyzxYjRwOrjacdzwpGr -Ij9sStni2NceThcIM8ikCm+taYGxm4y2olmm1cf1VTxc4puOF+grvZC7rrNqZZqb -RpPRqjXrYSarXyJWm15aT6VSzbaIjp6paD2kLJFJFd8JSYmQu6nh53wpK5Me/VN2 -0BeG0tTZvrB9obWwpa2pOZ1euLAtne5o57yn2egx0ukmbhiWaTVbC42z9Fzg667T -o+/saE+1tzZGr+HZXk53nR5LC4TWbijt6fbWnuaFvT2mtbCzk7d3pM2FvCfd2dnR -lk73dva0WT0tC9t4u6GNoS7d6Dpebmfjzo72xvZWLRCaYSgtbS28uafd6mnivMdq -6rB6W3p7O5oNbvIOs625p5X3pts7WrlRsbU/HYjtRmJrfzAYWKbrbv//AwC+zNsT -Vz8AAA0KLS0yODFjZjYzNzczNGI4ZmU4MTk1MWVlMzUwOWNlZjU3MDZjYTA3ZWQz -YTZjODU4MDZjMjQxM2ZjNWU2NzYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0t -ZGF0YTsgbmFtZT0ic2FtcGxlX3R5cGVfY29uZmlnIjsgZmlsZW5hbWU9InNhbXBs -ZV90eXBlX2NvbmZpZy5qc29uIg0KQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9v -Y3RldC1zdHJlYW0NCg0KeyJhbGxvY19vYmplY3RzIjp7InVuaXRzIjoib2JqZWN0 -cyJ9LCJhbGxvY19zcGFjZSI6eyJ1bml0cyI6ImJ5dGVzIn0sImludXNlX29iamVj -dHMiOnsidW5pdHMiOiJvYmplY3RzIiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn0s -ImludXNlX3NwYWNlIjp7InVuaXRzIjoiYnl0ZXMiLCJhZ2dyZWdhdGlvbiI6ImF2 -ZXJhZ2UifX0NCi0tMjgxY2Y2Mzc3MzRiOGZlODE5NTFlZTM1MDljZWY1NzA2Y2Ew -N2VkM2E2Yzg1ODA2YzI0MTNmYzVlNjc2LS0NCg== -******************* -HEADERS: -User-Agent: Go-http-client/1.1 -Content-Length: 6708 -Content-Type: multipart/form-data; boundary=236cff23146496fd2cf8a63650d62e2265e008fbffd139bd0853693aa524 -Accept-Encoding: gzip -BODY: -LS0yMzZjZmYyMzE0NjQ5NmZkMmNmOGE2MzY1MGQ2MmUyMjY1ZTAwOGZiZmZkMTM5 -YmQwODUzNjkzYWE1MjQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg -bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu -dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7R6 -fZgU1ZnvnJ6umZceoF9agcMAUhxAa4qZqpmaYWZQQWAAAWH4BhGxra4+U1Ohu05b -VT0fbnZtDYgiKmuiYMT4ETfuGpN1N3eTmycfi4lZfZ7NJbt3b0z8yM1ukn3yuCau -erM3mhjZ56nqmWlmEGeA/DPT3ef9+L2/857zvudU3RAHgrGbSyU5EYdqjCfiIGEs -EYea8HMtxhgCocdeOC4xCQg+XINErQOCQEGepHyqhiUhRt/++gmJxSGGs5CoCYhh -gibkOmUWQ6imn37maYlJUI3/TJCodVCNk+lkeYryImFJiNNHTjwtsTjE0UeiJiCO -U+lUeYqyjSFI9Ic/eVpiEkj49yT0K2GSJmVUvkVSM1M1VVXk+B0bEhKJVcel+hqI -0VJpBZsBNfTuuw40sTjU4FImQS0+Egtx1eA0Ok1OKbpaB7V4Cb1EvlT5bIwloZa+ -9NT/bWJxANweSgJOp9PlGcoVDAHoF7/3ehOTYBK+GqGYhDPpTJkqrxCGMIne8dLr -TUyCBP4XQaLWQQJn0VkyVd4kDCFBn3zh9SYmQR3+IoqhDutpvUyVlwlDqKPP/OD1 -JibBZHwqhkStg8k4m86WqXJ7jCFMpgeff72JSTAFnydI1DqYgnPoHJkqJwlLwhT6 -/178eROLw1RsRaImYCrOpXPlyxSVJWEqPfL8L5pYHJLlwSTOo/NkWVFYEpL05ZfD -QcTLkKgJQJxP58tMmcOSgPTIgdO1LA7T8JNI1ARMwwV0gbxQGWAI0+g33/qwlkmQ -woMR4hQuoovkhcr7hCGk6DeeeLORSXAJPh/RcQleTi+Xr1D+ljCES+i/PPofjUyC -S/GxGBK1Di5FhSpyg3I4xpJwKf3BD95oZHGYjuuRqAmYjipV5QalkyFMp7989deN -TIIZ+F5kegYupovlRuXnhCVhBn36+V83sjjMxNvCkGZiE22SG5UNDGEmffHIbxqZ -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 -+6bNR5uZKJRoYzgTyi0Typ2oxdVFH/dywsyOWjXRaHpoNN3XOvI53LGiPnzwj7Ve -Iv+V6IY/l1fK2guNNlwszcZlHrf5QEH3B93AHNAU1RL5gpPjXoPmuH5w8VvvM/zp -ZW+aLYzpZyLpEvmCk+PG1EhBK0uOPbtdaK/ocZsPFMr/NFsMexxCkCoPbSr6wdBv -8yvoL3giz4NeXvTDa7AeXwsPaeN6cjR0BB65zxxjTc9n/cAMT+SVcn35ftPjui36 -8iLv6H1O3liiB4MFHrnX2lva2s/3UfRH2w5Lja/ZwpgbsXK2xLHMgjG/TOtZ8mpo -JhdWcBhtRdHrHHr5gWVYCyfUH36MQT3HbdMaTJefvmq2MBormDf7fd3s95v87P4m -W+hmv69zN1sQjhtEnI5912F8/cK5DOvlt2dCTvWKkjWgB3wg0Llriazj2rpjuqbj -ZvmAljcL0RRPrGcdj209MDM5HmJpGI98NEXNZ/BuWYO6LZo+4Qt35E2hMAzuaY7r -BFrz2EU8PiLPbXxoMwmfXY4DU5afgWnM3fgFYSobH8Kk2cK4ooKmgazdZItyb1Dw -eGFkVg1j6/mVlTE2K2azcr8aIxfN4rShI7ATmBnfcZ1g7C3eBe+15ccFTo9phSff -Yae+1cuzjusEI1dFXtCctsXY1x4uFgjTz6fDl+E03zhIRnvRLNPq5foGHqzyTMf1 -9fVuwHM5Z8P6LDeNZqNNa9GDfEG/Vmw03ayeTqdbbBEdPdPRekhbIp8uvxOSFgHP -pYef86WtfHb0T4VBTxhK89L2jvYOq6N1SXNLNtvRsSSb7WznPNNiZIxstpkbhmVa -LVaHsUAv+p6eczL6QGd7ur2tKee4xYEm2y3qOSdjab7Q2g2lPdvelmnp6MmYVsfS -pby9M2t28Ex26dLOJdlsz9LMEivT2rGEtxvaOcxly7YHOtub2ts0X2iGobQuaeUt -mXYr08x5xmrutHpae3o6Wwxu8k5zSUumjfdk2zvbuFGzty/ri31GYm+fP+hbZi63 -778HAO7Ti4wPOQAADQotLTIzNmNmZjIzMTQ2NDk2ZmQyY2Y4YTYzNjUwZDYyZTIy -NjVlMDA4ZmJmZmQxMzliZDA4NTM2OTNhYTUyNA0KQ29udGVudC1EaXNwb3NpdGlv -bjogZm9ybS1kYXRhOyBuYW1lPSJzYW1wbGVfdHlwZV9jb25maWciOyBmaWxlbmFt -ZT0ic2FtcGxlX3R5cGVfY29uZmlnLmpzb24iDQpDb250ZW50LVR5cGU6IGFwcGxp -Y2F0aW9uL29jdGV0LXN0cmVhbQ0KDQp7ImFsbG9jX29iamVjdHMiOnsidW5pdHMi -OiJvYmplY3RzIn0sImFsbG9jX3NwYWNlIjp7InVuaXRzIjoiYnl0ZXMifSwiaW51 -c2Vfb2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMiLCJhZ2dyZWdhdGlvbiI6ImF2 -ZXJhZ2UifSwiaW51c2Vfc3BhY2UiOnsidW5pdHMiOiJieXRlcyIsImFnZ3JlZ2F0 -aW9uIjoiYXZlcmFnZSJ9fQ0KLS0yMzZjZmYyMzE0NjQ5NmZkMmNmOGE2MzY1MGQ2 -MmUyMjY1ZTAwOGZiZmZkMTM5YmQwODUzNjkzYWE1MjQtLQ0K -******************* -HEADERS: -Content-Length: 2033 -Content-Type: multipart/form-data; boundary=2c8c14eab8a03029c7b116d1756f25d425aa0adf5965a50c439e0cc8e04b -Accept-Encoding: gzip -User-Agent: Go-http-client/1.1 -BODY: -LS0yYzhjMTRlYWI4YTAzMDI5YzdiMTE2ZDE3NTZmMjVkNDI1YWEwYWRmNTk2NWE1 -MGM0MzllMGNjOGUwNGINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg -bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu -dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/7RV -bWwcRxnmbN95fGf7Xt/5Y3x2ku2macdXvHs3tu/sf6hUCokoCqWoiKpcZnfn9g7v -7hy7c27cX4tIBKVISHy0UIhUqaoQIlEbkEBCVRRFEW1Q+ZCoIqhQGlUCUwUiGlRQ -aFHR7PnqEIkfVev7c3vvM+/7PM/MM3sf+8aPv3Xx7ZOv3JjJDqEUDGSH0CAMHfnS -N595VXw2eT4an35tSM+jFL566viArlb5kCpnUQrSOK1lCNPzaAD/4QcJOAD1BByA -YTysZYiuAxrET7x4fEBPo0H42SCkyjk0CAgjLUPODOqAhvAbj14e1NNoCN7IgIKH -YASPaFlyJaPPoDT+8pPfT+tplIYXMnoaZeCnqWRIGnI4p2XJLzLlHMrAKB7VxsiJ -lA4og//2bNIyDP/urR2GcTyujZHrCh7GW6cTGMFWD0aQx3ltjFxJFQBSoBxnh1MD -g0PpzLA+gxD++b+eUAZG4CWkp1EWzqFEwggABm2CvIjKOZSFAi5oE+RZpAMawc+9 -lrTk4J89Uzko4qI2QX6d0QFl8Y3rCTwKJ3qjRmEST2oT5IuqO4dvXHtcEY7BqZ7C -MZjCU9o0OakMjOJrVx5V8Di8MJwIGYcZPKNh8viwDmgMX7iUwHl4usedh1k8q2Fy -Oa0DGscv/ySBAf7eGw5QwiUNk0tqeB5vnUrgCbjUgydgDs9pmDytYMDPX03gApzu -KS/APJ7XMPmaUj6Bf/fWV5S0Ivwpm0grwh68R9tLLmZ1QAX8+ndPKngS/tOLwiTs -w/s0jVxWUSjiM/9IuqfgYq97Cm7Dt2l7ydWRwlT/ZEbRSDY3Ojaeh4lCUZ9Gk/jN -Vx9TyZyGu/Q0moFTanQWTYOOdW0/IeUcmoHb8e3aAfIjRTOFv/3yY0oFht/3LGK4 -A9+hHSAvKYvT+PTWtsXzCFKFfJ84Mzk1rSgBzeDf/nl7yfMIVBPG124k0ovwehZS -hbF+09AMLhT1PJrF3/tVckVmQU+uyCzcie/U9hOsAyrhX15OFJXgSSU+h0pAMNEO -kO8owXP4h33Bf0zBzSGdLc1Nq/mA5vH1NxNJc/BMb+/mYAEvaJj8ZUQHtAff6Jv6 -jTI1DgMQv3JhJJue3zNRKJamUAriK/EAjuOrhhYfJeXKXaupUgkNQBx/9fzZrXkc -x389f3ZrXovjLPlwZbE0iwYhPnf8wtmteRw/9fULCaYRo2KWJtEQxOeeu/72O/tw -HJ9R36RSKqE0xHH81jvqk8LxU/1HUqUfosMR8zsej2jaFt1A0kG706W5gAUi4rYI -nIjuCbuBbPvcIOW2ZNb9zPL4/ZsdvmA024FDj5ot4XOzFQpfPMLXmekKs7Pumr5w -TFd4LHANEbqmFMKzW6wdfGSjYlSM6qIrqgatGkuG1w66xxaZ79SWzSi0zbAbyLbP -zXaT2dxwBc2H3UC2fW64XLYls2gh7AaJIhZFPJSH6CFK9wZcmi0pO8Yn+MP38S90 -eSQfaMvWR0Ug+TFJbbMlPlCZfT4z7JEZrqDFfvEmEfSg25atrmXYwjfdkDVZwMzO -ZigiW3T4oivMbieSIWe+GXJfSG6Q8n3cF5IvGN2OJ5hzJBTNtsepY7aEz81WKHzx -CF9n5ic/c+iIKST3Fm3hedyWIjQ3eOCI0HyPnOY2tSvoPe+x9Sa5EWvyTyeS38+U -Fgscjx8WVkQL4Xb0Qs6cDRa2A0nZbuUt2vQls9QWjPZpI8k7NN//1bE3mNfltLhT -cJhkveK+fpGUI7neDJnPFwyXy09JZq/fyzr0Aw/gNqHZp1PKZ7aLRmSzIBHxsAjX -eUit3do137V9Fq4r8ombySPlm073S2pNKIQ0mt3ArlK4tb6zy659T8jaAZ3vL3Ht -u917Wbj+QOIkGUDp53bRj/Ly7hlHm5Hkfs/Nrh0hi/wG853ashHtbNn/+t6pk7LX -TPQsGB3R2b2T3WZRu/HuPZThpstls+t5u8fru7YKreLF/QyQsmur819QCg5yuRP0 -m3ejG7V2ktXpSu535OaOeHUnhPV5bkt6InVrfgyb2S1uHubybhW/yDwUSO557cOH -HM5ohS4bVVP6HfOg+DgLHLPRaFRd0bC6bc9p9N6YDVv4DZ/LsG2LhpDca9j9t3LD -9p1bS+ovgJLKWq1eq9v1pZVK1XHq9RXHWa1xblWpRR2nwim1mV2163S/2Y1C02tb -5rHVWqO2vOi1g+6xRTfoml7bso1IGDVKak5t2arWmxaz62trvLbqsDq3nLW11RXH -aa5ZK7a1VF/hNWqY3ej/jXO2Zx9brS2qSAqDUrK0ssSrVs22KpxbdmXVbi41m6tV -yhlfZStVa5k3ndrqMqeZBzecSDxEsw9uRJuRzTzvof8GAAD//4LTIC7vDAAADQot -LTJjOGMxNGVhYjhhMDMwMjljN2IxMTZkMTc1NmYyNWQ0MjVhYTBhZGY1OTY1YTUw -YzQzOWUwY2M4ZTA0Yi0tDQo= -******************* -HEADERS: -User-Agent: Go-http-client/1.1 -Content-Length: 7790 -Content-Type: multipart/form-data; boundary=d3406129592c3cc7c861ce3723a1814b640cff3f4da0c26d316b3b224a95 -Accept-Encoding: gzip -BODY: -LS1kMzQwNjEyOTU5MmMzY2M3Yzg2MWNlMzcyM2ExODE0YjY0MGNmZjNmNGRhMGMy -NmQzMTZiM2IyMjRhOTUNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg -bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu -dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x7 -eXgc1ZWvbqtLOm4h6biJ7Wt5oXzBUCpLVVLJlm0Wb7KNbWxhbIMBA+1S9e1S2dV1 -m6pqLcy8SUNsVgcYEmKzhSUEiIGEbBCyGkICeclzMm+GJCRkEpLMy0cWBpjMC2Tj -fV9Vt9SWFyQb3j9Wd99zz/md3zn33HNvlS9NAsHE9lJJTiWhFpOpJEiYSCWhLvpc -jwk2FQh9cfe3a1kSCC5jEiTwO0kkagoIAgV5krJUbYAEpmhKblC+lGTTIEH/9tsX -apkEtXiXxCRI4jcIErUBavEkepLcoNwhqQ2QxEbaKDcpNxGGUEv3/vsdEpNAwmtr -I1kJm2mzjMrLCYaQpLu+s09iEtThU3VI1Aaow8l0spxWPlmXnpqug/27WU1NKkkS -tcmWOkjQUinJECT62eu/nGAS1ON3JSRqA9TjyfRk+QPK1ySGUEe/+IOrNSYB4D8T -JGoDAE6hU+SpyocIa4Z6uud/Xq2xJEzCQSRqCibhNDpNnqoMMASgjzzySi2TIIU/ -RiRqA6SQUipPV36EDGESffChn81kEjTgvxEkagM0YAttkWconyEMIUV/cNujwCQ4 -Ce8jSNQGOAln0pnyLOVWwhAa6EOvPApMgkb8bi0StQEacTadLZ+ifKeWIZxEX/k/ -DwOToAlfIUjUBmhCmcryHOVawpqhkX7hyYeBJaEZN0eBakZGmTxH2cSaoYne8of9 -wJKA2IJETQHiqfRU+TSFMoRm+uFrflnLJJiMf54a8TUZ59K58nTljakMAel/vfOL -WiZBGl9qRqI2QBpPp6fL05Vnm9KnpOvWX3eXXFOTapLq6mFSqgFOaoSmZmyRIEFL -3QxhMt373D6JSXAy3lEXqT8Zz6BnyGnlQ3WsGdL09afvllgSPoDTI2gfQIUqcqsy -nSGcTD+y/2GJSTAF/4UgURtgCqpUlecpzxPWDB+gd939sMSSMBUDJGoKpmIbbZPn -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 -ffN5Ltu9aD436rYNZANxuZHaNhAMB5bpupf/vwEA7MYm8EZEAAANCi0tZDM0MDYx -Mjk1OTJjM2NjN2M4NjFjZTM3MjNhMTgxNGI2NDBjZmYzZjRkYTBjMjZkMzE2YjNi -MjI0YTk1DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InNh -bXBsZV90eXBlX2NvbmZpZyI7IGZpbGVuYW1lPSJzYW1wbGVfdHlwZV9jb25maWcu -anNvbiINCkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQoN -CnsiYWxsb2Nfb2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMifSwiYWxsb2Nfc3Bh -Y2UiOnsidW5pdHMiOiJieXRlcyJ9LCJpbnVzZV9vYmplY3RzIjp7InVuaXRzIjoi -b2JqZWN0cyIsImFnZ3JlZ2F0aW9uIjoiYXZlcmFnZSJ9LCJpbnVzZV9zcGFjZSI6 -eyJ1bml0cyI6ImJ5dGVzIiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn19DQotLWQz -NDA2MTI5NTkyYzNjYzdjODYxY2UzNzIzYTE4MTRiNjQwY2ZmM2Y0ZGEwYzI2ZDMx -NmIzYjIyNGE5NS0tDQo= -******************* -HEADERS: -User-Agent: Go-http-client/1.1 -Content-Length: 7294 -Content-Type: multipart/form-data; boundary=ca9269333d6808c1ca8fa1aba3c2c8f2eb7d6e0a61a67df07779cabd3c1b -Accept-Encoding: gzip -BODY: -LS1jYTkyNjkzMzNkNjgwOGMxY2E4ZmExYWJhM2MyYzhmMmViN2Q2ZTBhNjFhNjdk -ZjA3Nzc5Y2FiZDNjMWINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg -bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu -dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x6 -e3QcxZmvajQtfR4h6fOA7bJs43aBodWWuqWWLck2GNvyG78fGGPscaun1Go00zV0 -98hWdvdmYG0exiHe8DAEEzA4ODGPkHBDNifZrElI4JzNdbKPvMlmN2EPhyVhgWUv -kBC453SPpJFkhGSb+4803fU9ft+jvvqqqq+LA8HYnkJBTsShHOOJOEgYS8ShIvxd -iTFWC4S+/NQRicWB4HIkagIIAgV5gjKdIcToKz++X2ISxPCfYkjUKohhgibkKuXe -GEMop8+/eJ/EJCjHxyuQqFVQjhfQC+Rq5YsVyclJWHzwYXnxwYflRDmJlddJEKOF -xWwKxOk7z3xRYhLE8X7CJJDwB3EkahXEsYbWyLXK3UStAgmRolyr3BxnCBI9flvI -UoF3lCNRq6ACJ9KJcq1yOsZqoYL++V8elVgcKnFPaEQlJmlSvlChrBYq6Qe/fkxi -cQDcFA4CXkQvkicpbQwB6L++fUJiEkzAr8ZCwRNwMp0sT1GOxRjCBLr/zRMSkyCB -D0bDCaSUylOU9wlDSNC7fndCYhJU4TsEiVoFVTiVTpWnKP9NGEIVffbnJyQmwQX4 -eRIKvwDraJ08RbmbMIQL6FO/OSExCarxbyPuapxGp8lTlGdJclqy8ouxwq1yWVli -QlyqqIQJiaoL6iSI0UINQ6imR54PXV+D91cgUaugBqfT6XK18tcVrBZq6BvfPCqx -ONTiVCRqAmpxBp0hX6xMZQi19K6TJyQmAeI/EiRqFSDOpDNlWXmBsFpA+sDRExKL -w0T0kagJmIiz6CxZVjYzhIn0J78+ITEJkvj3BIlaBUlklMlTlL8jySnJirIyct/N -axJSdU0tTqyrgBgtFBazyZCkt9+2v5HF4UKczyS4CB+IIVETcCFeQi+RL1V0tQou -wtl0tnyZ8vkYq4UL6YvH/7WRxWESbgktmISX08tlRbmcIVxEH//+S41Mgsn4y8hz -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 -rum4ab5Py5q5KMTj61lLlsOPlK0HZmeGh1jqx0IfhWjIx0nCssI+5QZfuIOXe6EZ -3NMc1wm0ppGTeKyN12jC+4tJeHc5BkxpPgTTiLPxc8JUFN6PSbOFcXlJvu9L2422 -KPYGOY/nBqNqGJuG19yxIRkhsySapfVqBF0UxYn9W2AnMDt9x3WCkad451xri9cF -Tpdpcc0Wg0p9q5unHdcJBo+KvKApZYuRnz2cLxCmn02Z2XTrXM03DpDhWjTLtLq5 -voYHSz3TcX19tRvwTMZZszrNTaPJmKs160E2p68Ua003radSqWZbRFvPVFSHUpbI -porfhKREwDOpgXu+lJVND3+V6/OEoTTNb21rbbPaWuY1NafTbW3z0un2Vs47m41O -I51u4oZhmVaz1WZcoud9T884nfq+9tZU69zGjOPm9zXabl7POJ2W5gut1VBa061z -O5vbujpNq23+fN7anjbbeGd6/vz2eel01/zOeVZnS9s83mpoo4hLF2Xva29tbJ2r -+UIzDKVlXgtv7my1Ops477Sa2q2ulq6u9maDm7zdnNfcOZd3pVvb53KjYmdv2he7 -jMTOXr/Pt8xMZtf/GwCJfPpKNUAAAA0KLS1jYTkyNjkzMzNkNjgwOGMxY2E4ZmEx -YWJhM2MyYzhmMmViN2Q2ZTBhNjFhNjdkZjA3Nzc5Y2FiZDNjMWINCkNvbnRlbnQt -RGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ic2FtcGxlX3R5cGVfY29uZmln -IjsgZmlsZW5hbWU9InNhbXBsZV90eXBlX2NvbmZpZy5qc29uIg0KQ29udGVudC1U -eXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KeyJhbGxvY19vYmplY3Rz -Ijp7InVuaXRzIjoib2JqZWN0cyJ9LCJhbGxvY19zcGFjZSI6eyJ1bml0cyI6ImJ5 -dGVzIn0sImludXNlX29iamVjdHMiOnsidW5pdHMiOiJvYmplY3RzIiwiYWdncmVn -YXRpb24iOiJhdmVyYWdlIn0sImludXNlX3NwYWNlIjp7InVuaXRzIjoiYnl0ZXMi -LCJhZ2dyZWdhdGlvbiI6ImF2ZXJhZ2UifX0NCi0tY2E5MjY5MzMzZDY4MDhjMWNh -OGZhMWFiYTNjMmM4ZjJlYjdkNmUwYTYxYTY3ZGYwNzc3OWNhYmQzYzFiLS0NCg== -******************* -HEADERS: -User-Agent: Go-http-client/1.1 -Content-Length: 1295 -Content-Type: multipart/form-data; boundary=76090d85f36437fddfaea676fd97e09b516b242fff854dbe191df0aeaaa5 -Accept-Encoding: gzip -BODY: -LS03NjA5MGQ4NWYzNjQzN2ZkZGZhZWE2NzZmZDk3ZTA5YjUxNmIyNDJmZmY4NTRk -YmUxOTFkZjBhZWFhYTUNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg -bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu -dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/7RS -TYzbxBf/O46TidN2p9uPneZfgTEXd6XY8SRxkhuqUGErkLghURXveDxx3NieyB+r -LCcfQAKEBFckinrgwgHRcoFTtUIc6AUQBw4IoYpLWe0K8SGQtgUW2UsoH+edyxu9 -937v93u/mcc/vvra27tvfrm3IleBACtyFYiw+tTnP9y8zZ8p7+v5O99U1RUgoK/2 -X6qoEhDgPVGVQAV+0oTCahMIUEKSUtPuiqtNUIF1VFeA9l5ThaCCPvulhIjwA7ns -FWEDNRSgfdtQIRDR3p2yXIWfgrJchTKSFaC9AlQIqui7vRcLQgluH6Al2ERN5Yh2 -S1YhkND261eLcg3+JpboGjyKjirHtK9FFYIauvFTia7DWwfoOlxCS8oRbaexvAQF -WKwl14SKWJVq6gOgjrZ/L8UAeB2qEmjAXaHc8v2DLQGECCo17V242gQNeBwdV5a1 -HUGFAKC37pZMEvxChsLfhtcrIpBq6gpooK2fy+Ey3C+8E+EbcilZhifQCWVZ+15c -PrbQJDUKVOsUEGB+O6+gPN/RlXxdO9k5NRRaLVCBef7yhzfvnEV5vltEJc9l7XRn -pXUGiDDfev6jsnbt1SIquaKhzpnWSVCF+db1H3/dfxDl+Y0iaq1WC0gwz/N7+8UR -UH5tcdX+j/+H6wkJZwFLsER5FqVYpLMMNyMS8YRRHrkJPhVnUeqHTNdWw2RGonO6 -QxKG140JD5kxiXnIn2NTYnjcmE09I+Su4fGARJ7OY89IOQ/ohPjRIxsdvaObbY+b -Ojb1rh74UTZvk9C1ekYSUyPOotQPmRFOGJnpHsfLcRalfsh0L2ab3LnCaIodY3JI -rB4NSTzVPY7/4k0oibhzhdEUL8V/muDRR2PiR/js/cR570kST5/m8ZTF+jiLKMbP -Hpo5Hi0knliwJ5tJysIkJXSK6WGRkiS0SehaPT3BpxfM3j/2vp/XVj163k+Tc7rj -pzP80KJfW/yewuai4QKP1yKXzbFzWLpDx09DUv6lMwsZE0ZmBbsesXl6gSQpfkH4 -N79OCZ0w4yJLzxdvnRhrUcqCwL+45jKCO7inm0YazozH+BMkcg3btk2P207mB67t -+ekkc2zKQztkaexTbvOUBTblQcBoymObhq7NUxbYlAcBoymP7dlmzLHWGVkDa0AH -3X7HdN3BoO+6Q4sxx8QOdt0Ow5gSatIBftjIktgIfMeYDy3b6rUDP8rmbS/KiiTV -E65bWLNcq+eYg7FD6GA0YtbQJQPmuKPRsO+645HTp0530GcW1o0siY3Ad4z/jnPb -gR9l8/Z8aLWL9+c6xlq332WmY1Gnw5hDO0M67o7HQxMzwoakbzo9NnatYY/h2qUN -N+GXsXxpI9lMKAmCy38EAAD//6sEfUGMBgAADQotLTc2MDkwZDg1ZjM2NDM3ZmRk -ZmFlYTY3NmZkOTdlMDliNTE2YjI0MmZmZjg1NGRiZTE5MWRmMGFlYWFhNS0tDQo= -*******************"#; - -const EXPECTED_NAMES: &str = "bufio.(*Writer).Flush, bufio.NewReaderSize, cloud.google.com/go/logging/apiv2/loggingpb.file_google_logging_v2_logging_config_proto_init, cloud.google.com/go/logging/apiv2/loggingpb.init.2, compress/flate.NewWriter, compress/flate.newDeflateFast, crypto/x509.(*CertPool).AddCert, crypto/x509.ParseCertificate, crypto/x509.parseCertificate, crypto/x509/pkix.(*Name).FillFromRDNSequence, github.com/ClickHouse/clickhouse-go/v2.(*clickhouse).Ping, github.com/ClickHouse/clickhouse-go/v2.(*clickhouse).acquire, github.com/ClickHouse/clickhouse-go/v2.(*clickhouse).dial, github.com/ClickHouse/clickhouse-go/v2.(*clickhouse).dial.func1, github.com/ClickHouse/clickhouse-go/v2.DefaultDialStrategy, github.com/ClickHouse/clickhouse-go/v2.dial, github.com/DataDog/datadog-agent/pkg/util/scrubber.AddDefaultReplacers, github.com/DataDog/datadog-agent/pkg/util/scrubber.init.0, github.com/alecthomas/participle/v2.(*generatorContext).parseCapture, github.com/alecthomas/participle/v2.(*generatorContext).parseDisjunction, github.com/alecthomas/participle/v2.(*generatorContext).parseGroup, github.com/alecthomas/participle/v2.(*generatorContext).parseSequence, github.com/alecthomas/participle/v2.(*generatorContext).parseTerm, github.com/alecthomas/participle/v2.(*generatorContext).parseTermNoModifiers, github.com/alecthomas/participle/v2.(*generatorContext).parseType, github.com/alecthomas/participle/v2.(*generatorContext).subparseGroup, github.com/alecthomas/participle/v2.(*structLexer).Next, github.com/alecthomas/participle/v2.(*structLexer).Peek, github.com/alecthomas/participle/v2/lexer.Upgrade, github.com/aws/aws-sdk-go-v2/service/sso/internal/endpoints.init, github.com/aws/aws-sdk-go/aws/endpoints.init, github.com/envoyproxy/go-control-plane/envoy/config/overload/v3.file_envoy_config_overload_v3_overload_proto_init, github.com/envoyproxy/go-control-plane/envoy/config/overload/v3.init.0, github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3.file_envoy_type_matcher_v3_status_code_input_proto_init, github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3.init.7, github.com/goccy/go-json/internal/decoder.init.0, github.com/goccy/go-json/internal/encoder.init.0, github.com/gogo/protobuf/proto.RegisterType, github.com/google/gnostic-models/openapiv3.file_openapiv3_OpenAPIv3_proto_init, github.com/google/gnostic-models/openapiv3.init.0, github.com/google/pprof/profile.init, github.com/gorilla/mux.(*Router).ServeHTTP, github.com/grafana/pyroscope-go.(*Session).Start.func1, github.com/grafana/pyroscope-go.(*Session).Start.func2, github.com/grafana/pyroscope-go.(*Session).dumpHeapProfile, github.com/grafana/pyroscope-go.(*Session).reset, github.com/grafana/pyroscope-go.(*Session).takeSnapshots, github.com/grafana/pyroscope-go.(*Session).uploadData, github.com/grafana/pyroscope-go.(*cpuProfileCollector).Start, github.com/grafana/pyroscope-go.(*cpuProfileCollector).reset, github.com/grafana/pyroscope-go/godeltaprof.(*HeapProfiler).Profile, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*DeltaHeapProfiler).WriteHeapProto, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).Build, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).LocsForStack, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).Sample, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).emitLocation, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).flush, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).stringIndex, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*protobuf).int64s, github.com/grafana/pyroscope-go/internal/pprof.defaultCollector.StartCPUProfile, github.com/grafana/pyroscope-go/upstream/remote.(*Remote).handleJobs, github.com/grafana/pyroscope-go/upstream/remote.(*Remote).safeUpload, github.com/klauspost/compress/flate.(*Writer).Close, github.com/klauspost/compress/flate.(*compressor).close, github.com/klauspost/compress/flate.(*compressor).storeFast, github.com/klauspost/compress/flate.(*fastEncL1).Encode, github.com/klauspost/compress/flate.(*fastGen).addBlock, github.com/klauspost/compress/flate.NewWriter, github.com/klauspost/compress/flate.newFastEnc, github.com/lib/pq.init, github.com/metrico/otel-collector/exporter/clickhouseprofileexporter.createLogsExporter, github.com/metrico/otel-collector/exporter/clickhouseprofileexporter.newClickhouseProfileExporter, github.com/metrico/otel-collector/exporter/clickhouseprofileexporter/ch.NewClickhouseAccessNativeColumnar, github.com/metrico/otel-collector/receiver/pyroscopereceiver.(*pyroscopeReceiver).httpHandlerIngest, github.com/metrico/otel-collector/receiver/pyroscopereceiver.newPyroscopeReceiver.func1, github.com/metrico/otel-collector/receiver/pyroscopereceiver/jfrparser.init, github.com/opencontainers/go-digest.init, github.com/prometheus/procfs.init, github.com/snowflakedb/gosnowflake.init.3, github.com/snowflakedb/gosnowflake.readCACerts, github.com/spf13/cobra.(*Command).Execute, github.com/spf13/cobra.(*Command).ExecuteC, github.com/spf13/cobra.(*Command).execute, github.com/vmware/govmomi/vim25/types.init.2644, github.com/vmware/govmomi/vim25/types.init.3073, github.com/vmware/govmomi/vim25/types.init.6146, github.com/xdg-go/stringprep.init, github.com/xdg-go/stringprep.map.init.2, go.opencensus.io/resource.init, go.opencensus.io/trace/tracestate.init, go.opentelemetry.io/collector/config/confighttp.(*ServerConfig).ToServerContext.maxRequestBodySizeInterceptor.func2, go.opentelemetry.io/collector/config/confighttp.(*clientInfoHandler).ServeHTTP, go.opentelemetry.io/collector/config/confighttp.(*decompressor).ServeHTTP, go.opentelemetry.io/collector/exporter.(*Builder).CreateLogs, go.opentelemetry.io/collector/exporter.CreateLogsFunc.CreateLogsExporter, go.opentelemetry.io/collector/otelcol.(*Collector).Run, go.opentelemetry.io/collector/otelcol.(*Collector).setupConfigurationComponents, go.opentelemetry.io/collector/otelcol.NewCommand.func1, go.opentelemetry.io/collector/service.(*Service).initExtensionsAndPipeline, go.opentelemetry.io/collector/service.New, go.opentelemetry.io/collector/service/internal/graph.(*Graph).buildComponents, go.opentelemetry.io/collector/service/internal/graph.(*exporterNode).buildComponent, go.opentelemetry.io/collector/service/internal/graph.Build, go.opentelemetry.io/collector/service/telemetry.New, go.opentelemetry.io/collector/service/telemetry.newLogger, go.opentelemetry.io/collector/service/telemetry.newSampledLogger, go.opentelemetry.io/collector/service/telemetry.newSampledLogger.WrapCore.func2, go.opentelemetry.io/collector/service/telemetry.newSampledLogger.func1, go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.(*middleware).serveHTTP, go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.NewMiddleware.func1.1, go.uber.org/zap.(*Logger).WithOptions, go.uber.org/zap.optionFunc.apply, go.uber.org/zap/zapcore.newCounters, golang.org/x/text/encoding/ianaindex.init, golang.org/x/text/encoding/ianaindex.map.init.0, google.golang.org/protobuf/internal/filedesc.(*File).initDecls, google.golang.org/protobuf/internal/filedesc.(*File).unmarshalSeed, google.golang.org/protobuf/internal/filedesc.(*Message).unmarshalSeed, google.golang.org/protobuf/internal/filedesc.Builder.Build, google.golang.org/protobuf/internal/filedesc.appendFullName, google.golang.org/protobuf/internal/filedesc.newRawFile, google.golang.org/protobuf/internal/filetype.Builder.Build, google.golang.org/protobuf/internal/strs.(*Builder).grow, io.ReadAll, k8s.io/api/admissionregistration/v1beta1.addKnownTypes, k8s.io/api/authorization/v1beta1.init.0, k8s.io/api/autoscaling/v2beta1.init.0, k8s.io/api/core/v1.addKnownTypes, k8s.io/api/flowcontrol/v1beta1.addKnownTypes, k8s.io/apimachinery/pkg/apis/meta/v1.AddToGroupVersion, k8s.io/apimachinery/pkg/runtime.(*Scheme).AddKnownTypeWithName, k8s.io/apimachinery/pkg/runtime.(*Scheme).AddKnownTypes, k8s.io/apimachinery/pkg/runtime.(*SchemeBuilder).AddToScheme, k8s.io/client-go/kubernetes/scheme.init.0, main.run, main.runInteractive, n/a, net.(*conn).Write, net.(*netFD).Write, net/http.(*conn).serve, net/http.(*persistConn).writeLoop, net/http.HandlerFunc.ServeHTTP, net/http.NewRequest, net/http.NewRequestWithContext, net/http.persistConnWriter.Write, net/http.serverHandler.ServeHTTP, os.ReadFile, reflect.(*rtype).Method, reflect.(*rtype).MethodByName, reflect.FuncOf, reflect.Value.MethodByName, reflect.typelinks, reflect.typesByString, regexp.Compile, regexp.compile, regexp.compileOnePass, regexp.makeOnePass, regexp.newQueue, regexp/syntax.(*Regexp).Simplify, regexp/syntax.(*compiler).compile, regexp/syntax.(*compiler).inst, regexp/syntax.Compile, runtime.(*gcBits).bitp, runtime.(*gcWork).tryGet, runtime.(*itabTableType).find, runtime.(*lfstack).pop, runtime.(*lfstack).push, runtime.(*mspan).base, runtime.(*pageAlloc).scavenge, runtime.(*pageAlloc).scavenge.func1, runtime.(*scavengerState).init.func2, runtime.(*scavengerState).run, runtime.(*stkframe).getStackMap, runtime.assertI2I2, runtime.bgscavenge, runtime.doInit, runtime.doInit1, runtime.gcBgMarkWorker, runtime.gcBgMarkWorker.func2, runtime.gcDrain, runtime.getitab, runtime.greyobject, runtime.heapBits.nextFast, runtime.itabsinit, runtime.madvise, runtime.main, runtime.markroot, runtime.markroot.func1, runtime.memmove, runtime.pcdatavalue, runtime.pcvalue, runtime.putempty, runtime.readvarint, runtime.rt0_go, runtime.scanframeworker, runtime.scanobject, runtime.scanstack, runtime.schedinit, runtime.sysUnused, runtime.sysUnusedOS, runtime.systemstack, runtime/internal/syscall.Syscall6, runtime/pprof.(*profMap).lookup, runtime/pprof.(*profileBuilder).addCPUData, runtime/pprof.(*profileBuilder).build, runtime/pprof.(*profileBuilder).readMapping, runtime/pprof.StartCPUProfile, runtime/pprof.newProfileBuilder, runtime/pprof.profileWriter, syscall.RawSyscall6, syscall.Syscall, syscall.Write, syscall.write, total"; -const EXPECTED_MAP: &str = r#"0: [38742454760335319, 40087946534119400, 42596367897004777, 48771580209901686, 53990741595935099, 57088183000490135, 58557529421486831, 59457293053784180, 59593299692301340, 66048360549176157, 67085792033845063, 67191441878081537, 67662774102607196, 69612847511641035] -38742454760335319: [100628372814638195] -40087946534119400: [79270644668093111] -42596367897004777: [101487633555280136] -48771580209901686: [94918361600696052] -53990741595935099: [107434199424883752, 89550126155032432, 94200449688993973] -57088183000490135: [99612870642839279] -58557529421486831: [76842973892222616] -59457293053784180: [100063261950489098] -59593299692301340: [91363841374301870] -66048360549176157: [97043151921186953] -67085792033845063: [98457092565724063] -67191441878081537: [80234187892307127] -67662774102607196: [100070498862204333] -69612847511641035: [93989015620725212] -76842973892222616: [141511466637999628] -79270644668093111: [140046790225519686] -80234187892307127: [108446884271945857, 113267436422830507, 114248832421025570, 114885430980069358, 115331698473596966, 117892689794117372, 119726413661300012, 121372394715467071, 125414451763041269, 128617529603403115, 130674963834653131, 131369017856162869, 131377443943695927, 133162168510851715, 133224444749139462, 133456625119750025, 133670685672466743, 135704509429414406, 136256372519083004, 136369426990552861, 136900252284730992, 138350841599489442, 141632261736556477, 141644186349176910, 142921258866238155] -89550126155032432: [132968328674819128] -91363841374301870: [112927787583348828] -93989015620725212: [123859131567339026] -94200449688993973: [111305032523588391] -94918361600696052: [115517637213504835] -97043151921186953: [138755457801079417] -98457092565724063: [131444219727285889] -99612870642839279: [143056642792749795] -100063261950489098: [114239512416445153] -100070498862204333: [113036276560317227] -100628372814638195: [113202375439754492] -101487633555280136: [138302629414163253] -107434199424883752: [143716402966321512] -108446884271945857: [164598631465211387] -113036276560317227: [162585562039257624] -113202375439754492: [144907925925522891] -114239512416445153: [176508602522439059] -114248832421025570: [179755313256235787] -115331698473596966: [162678103806317869] -115517637213504835: [166486937955124181] -117892689794117372: [168707815736043364] -119726413661300012: [151672128231048010] -121372394715467071: [146560668754513061] -123859131567339026: [167803307762682777] -125414451763041269: [150771910060347665] -128617529603403115: [149591371078846279] -130674963834653131: [152957885916485528] -131377443943695927: [171871083424469921] -131444219727285889: [158560652969149676] -132968328674819128: [174607084807025992] -133162168510851715: [160368297165868928] -133224444749139462: [166300091472105835] -133456625119750025: [171820145069951969] -135704509429414406: [177677207921798470] -136256372519083004: [172843056586582600] -136369426990552861: [171635302867278403] -136900252284730992: [159371476378974887] -138302629414163253: [152091754849386483] -138350841599489442: [170753895802118158] -138755457801079417: [169936498903112440] -140046790225519686: [162052294746411150] -141511466637999628: [154563265271950256] -141644186349176910: [172439205468229740] -143056642792749795: [151373822819177589] -143716402966321512: [147895167036604141] -144907925925522891: [211823748967180240] -146560668754513061: [202372133294706040] -149591371078846279: [183845667997627588] -151373822819177589: [204504177385824931] -151672128231048010: [203035540117135618] -152091754849386483: [190431325594563993] -154563265271950256: [202382720767460487] -158560652969149676: [203771058446615966] -159371476378974887: [180529091226645867] -160368297165868928: [209291742825885717] -162052294746411150: [181754272285663650] -162585562039257624: [205012902263967563, 206106656114774191, 208139625951028649, 213747929336669041] -162678103806317869: [193609792679648060] -166300091472105835: [203175429227652691] -166486937955124181: [214733506333145550] -167803307762682777: [212288632265080590] -168707815736043364: [200420868017042899] -169936498903112440: [207016626847385621] -170753895802118158: [207696567357905885, 211229286556507985] -171635302867278403: [215891770457407678] -171820145069951969: [198185094474001340] -171871083424469921: [202139988629356393] -172439205468229740: [184990442633448882] -172843056586582600: [202028551340529695] -176508602522439059: [192684785179366918] -177677207921798470: [212698517895877695] -180529091226645867: [234212302893142491] -181754272285663650: [223163788020989333] -183845667997627588: [218657610839969430] -184990442633448882: [244915317080401139] -190431325594563993: [243728370117120237] -192684785179366918: [230844740840469675] -193609792679648060: [237537306502838130] -198185094474001340: [243079623770450903] -200420868017042899: [223583814222236675] -202028551340529695: [243525418435742126] -202139988629356393: [217731971905874853] -202372133294706040: [241945877256331538] -202382720767460487: [231336693026650961] -203035540117135618: [248986284621543964] -203175429227652691: [232498376900343756] -203771058446615966: [241946918561780749] -205012902263967563: [222240240991495290, 228138096816433381, 229786537842853059] -206106656114774191: [231182262209661194] -207016626847385621: [245709583625582887] -209291742825885717: [235127192721045853] -211229286556507985: [225119056699523582] -211823748967180240: [227812771612588225] -212288632265080590: [225741202102833501] -212698517895877695: [223622488125970319, 226074041614824704, 226326886345647069] -213747929336669041: [242278203730768664, 246612818468819164] -214733506333145550: [248406561647853472] -215891770457407678: [249196627458800899] -217731971905874853: [280131986563362610] -218657610839969430: [267039375489569399] -223163788020989333: [260677813958852540] -223583814222236675: [256498835618521422] -223622488125970319: [260571114322058968] -225119056699523582: [256039287245742699] -225741202102833501: [254727702034572013] -226074041614824704: [287930622953249787] -226326886345647069: [271805855373081495] -227812771612588225: [257319139697943423] -230844740840469675: [276073338854032635] -231182262209661194: [281236825529333440] -231336693026650961: [278691972420507434] -232498376900343756: [261144471606523809] -234212302893142491: [257783987186986042] -235127192721045853: [273578698003240119] -237537306502838130: [285763816937176870] -241945877256331538: [268438102404688691] -241946918561780749: [257241256473655176] -243525418435742126: [276134307233260561] -243728370117120237: [281969803670885355] -244915317080401139: [269936810596416513] -245709583625582887: [257463554105572768] -246612818468819164: [277288251556112728] -248406561647853472: [252569824539384422] -248986284621543964: [261400615560482546] -249196627458800899: [272798692730783874] -252569824539384422: [305292813914654951] -256498835618521422: [312763589063956012] -257241256473655176: [306111611259841957] -257319139697943423: [299082446479950134] -257463554105572768: [310279315742847272] -257783987186986042: [320401531452854762] -260571114322058968: [309455851780254571] -260677813958852540: [296247052900183451, 317744443962260464, 323186131871480845] -267039375489569399: [319439935469660530] -269936810596416513: [308011307883155678] -271805855373081495: [295467226836533886] -273578698003240119: [320300640419126287] -276073338854032635: [319187190984906169] -278691972420507434: [323560718645185674] -281236825529333440: [306077811224786879] -281969803670885355: [315953078079461946] -285763816937176870: [316913844144087631] -287930622953249787: [303827084499332991] -295467226836533886: [326409636778730601] -296247052900183451: [349618734685561198, 359288355374643511] -299082446479950134: [331359355115483339] -303827084499332991: [338780526052653927] -305292813914654951: [350889042354921962] -306077811224786879: [340916933448816229] -306111611259841957: [327550878786529068] -310279315742847272: [336163923347285241] -312763589063956012: [326613319977195793] -315953078079461946: [325145473923500605] -317744443962260464: [350168639796857360, 359131412474089459] -319187190984906169: [339354010836253434] -319439935469660530: [345933865856257569] -320300640419126287: [328924661850434419] -323186131871480845: [345577853602457116, 357491054556179667] -323560718645185674: [345639817392002662] -325145473923500605: [365276176966701378] -327550878786529068: [382409820864484947] -331359355115483339: [396161431009652089] -336163923347285241: [361022495174443294] -338780526052653927: [385220733308424239] -339354010836253434: [390788673691463970] -340916933448816229: [393832446376904874] -345577853602457116: [367001874425340950] -345639817392002662: [392863616087521191] -345933865856257569: [363770127908956666] -349618734685561198: [395656354623906696] -350168639796857360: [395541453753437426] -357491054556179667: [386153478011204969] -361022495174443294: [426468028027318203] -363770127908956666: [413105119106341518] -365276176966701378: [414131856178699368, 427478550692068623] -385220733308424239: [411557834771911607] -390788673691463970: [416118621215589990] -392863616087521191: [429645746188757495] -393832446376904874: [401174625198593520] -395541453753437426: [419391523947149865] -395656354623906696: [425632162216103475] -396161431009652089: [431936995650807243] -401174625198593520: [456447508180047158] -411557834771911607: [437861033291124710] -414131856178699368: [437033094921809140] -416118621215589990: [446096569348012462] -419391523947149865: [465704827954701504] -425632162216103475: [437489796624700501] -426468028027318203: [452497480807275245] -427478550692068623: [448483283656531511] -429645746188757495: [435023920018836649] -431936995650807243: [463212886879666703] -435023920018836649: [497604134777822163] -437033094921809140: [472676070278615598] -437861033291124710: [488097452589611931] -446096569348012462: [486403981884537998] -448483283656531511: [485108097661571896] -452497480807275245: [499306537905829224] -463212886879666703: [478497921702831780] -465704827954701504: [474155843758329780] -472676070278615598: [514941220186423434] -478497921702831780: [507613228799022537] -485108097661571896: [521502711493770737] -486403981884537998: [539125783741006397] -488097452589611931: [510679870848207228] -497604134777822163: [539770343320994095] -499306537905829224: [517534758553984568] -507613228799022537: [544973614009445412] -514941220186423434: [550526413983358244] -521502711493770737: [552048866168332286] -539125783741006397: [553053910897306124] -539770343320994095: [568796492124626177] -544973614009445412: [603048788829292163] -550526413983358244: [583586592627894792] -552048866168332286: [592383109338724224] -553053910897306124: [595826071670654526] -568796492124626177: [589612847844729594] -583586592627894792: [641396004492829198] -589612847844729594: [639492022376244668] -592383109338724224: [631152865748449390] -595826071670654526: [623605633815227692] -603048788829292163: [642148023643848224] -623605633815227692: [663812272016721927] -631152865748449390: [657922135552082607] -639492022376244668: [684347966288065243] -641396004492829198: [659329956224601251] -642148023643848224: [658011455666624803] -658011455666624803: [701377244087752852] -659329956224601251: [710883616105928487] -663812272016721927: [692611675432640454] -684347966288065243: [709834451815324138] -692611675432640454: [727858206006214905] -701377244087752852: [744127002732167100] -709834451815324138: [728259091397428983] -710883616105928487: [741318177634328511] -727858206006214905: [772615364345543035] -728259091397428983: [771868168823000744] -741318177634328511: [760902393548738380] -744127002732167100: [789103945439592791] -760902393548738380: [802556183189320716] -771868168823000744: [807210588330467000] -772615364345543035: [819758594897649876] -789103945439592791: [802714868440700285] -802556183189320716: [856519119881828781] -802714868440700285: [842366458003816992] -807210588330467000: [858208801750801133] -819758594897649876: [860849857165541675] -842366458003816992: [872896174453274103] -856519119881828781: [898702575464302642] -858208801750801133: [882798593320449911] -860849857165541675: [867629405263846024] -867629405263846024: [925077370316601880] -872896174453274103: [925302796778635955] -882798593320449911: [928341377466988897] -898702575464302642: [910131451510442396] -910131451510442396: [967539570511740301] -925077370316601880: [936830443724683529] -925302796778635955: [942446406691314293] -928341377466988897: [937034112021755462] -936830443724683529: [978337694696331794] -937034112021755462: [1008333201575256740] -942446406691314293: [973646071648783645] -973646071648783645: [1039417800972441990] -978337694696331794: [1019903727548730494] -1008333201575256740: [1025894988602438855] -1019903727548730494: [1047856586150546435] -1025894988602438855: [1069379696897221201] -1039417800972441990: [1062132269117042055] -1047856586150546435: [1094195406916561896] -1062132269117042055: [1094103587605650923] -1069379696897221201: [1093278396076019935] -1093278396076019935: [1124970154624221772] -1094103587605650923: [1128890574693008158] -1094195406916561896: [1120238951528850364, 1144429090257526679] -1120238951528850364: [1177891509056271968] -1124970154624221772: [1181139411236334438] -1144429090257526679: [1179266705547649400] -"#; diff --git a/pyroscope/pprof-bin/src/utest.rs b/pyroscope/pprof-bin/src/utest.rs new file mode 100644 index 00000000..e15857ff --- /dev/null +++ b/pyroscope/pprof-bin/src/utest.rs @@ -0,0 +1,1804 @@ +#![allow(unused_assignments)] +use std::io::Read; +use crate::{merge_prof, CTX}; + +pub fn get_test_pprof_data() -> Vec> { + let pprofs_vec = TEST_PPROFS + .split(&"*******************") + .collect::>(); + let mut pprofs: Vec> = Vec::new(); + for pprof in pprofs_vec { + // Parsing HTTP request to get pprof data + let head_body = pprof.split(&"BODY:").collect::>(); + if head_body.len() < 2 { + continue; + } + let mut boundary = ""; + for hdr in head_body[0].split(&"\n").collect::>() { + if !hdr.starts_with("Content-Type: multipart/form-data; boundary=") { + continue; + } + boundary = &hdr[44..]; + } + let body = base64::decode(head_body[1].replace("\n", "").trim()).unwrap(); + let boundary_bytes = format!("--{}", boundary); + let parts = memchr::memmem::find_iter(&body, boundary_bytes.as_bytes()) + .fold((Vec::new(), 0), |(mut acc, last), pos| { + if pos > last { + acc.push(&body[last..pos]); + } + (acc, pos + boundary_bytes.len()) + }) + .0; + let pprof = &parts[0][118..]; + let mut decoder = flate2::read::GzDecoder::new(pprof); + let mut decompressed = Vec::new(); + decoder.read_to_end(&mut decompressed).unwrap(); + pprofs.push(decompressed); + } + pprofs +} + +#[cfg(test)] +mod tests { + use super::*; + + + #[test] + fn test_select_merge_stacktraces() { + let pprofs = get_test_pprof_data(); + for pprof in pprofs { + + // Merging profiles into tree + merge_prof( + 0, + pprof.as_slice(), + "process_cpu:samples:count:cpu:nanoseconds".to_string(), + ); + } + //Asserting tree + let mut ctx = CTX.lock().unwrap(); + let tree = ctx.get_mut(&0).unwrap().lock().unwrap(); + let mut _names = tree.names.clone(); + _names.sort(); + assert_eq!(EXPECTED_NAMES, _names.join(", ")); + let mut map = "".to_string(); + let mut keys = tree.nodes.keys().cloned().collect::>(); + keys.sort(); + for i in keys { + let mut children_ids: Vec = vec![]; + for n in &tree.nodes[&i] { + let str_node_id = n.node_id.to_string().clone(); + children_ids.push(str_node_id.clone()); + } + children_ids.sort(); + map = format!("{}{}: [{}]\n", map, i, children_ids.join(", ")); + } + assert_eq!(EXPECTED_MAP, map); + } + + +} + +const TEST_PPROFS: &str = r#"HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 1866 +Content-Type: multipart/form-data; boundary=43ba238906960207d409d77db17b9ae9fbca49492081293d389a31f4c7f5 +Accept-Encoding: gzip +BODY: +LS00M2JhMjM4OTA2OTYwMjA3ZDQwOWQ3N2RiMTdiOWFlOWZiY2E0OTQ5MjA4MTI5 +M2QzODlhMzFmNGM3ZjUNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7ST +PWgc1xbH38zurK52Leta/tB4rYf3zePxhoW9d/dqtbvqHq95TyaF3ZkYM56592r2 +SjP3LDN3hORqCqtJkRgCiYuYuDYuYgIJwUQRxk4TQ4qEBBxC0qlwKjeJP2ADTsDg +Ip27wyn+55zfj/NmFVnYvlSWrXoVVXC1XkUOtutVVHtRz2Dbm0eW++CLt//lVZGF +T2GrXUcWRi5qzfonPIxs9/un79qeg2z8bR9b7Qaycd2ttxr+p31vEVXcb767ansO +quCP+56DqviJha12A1XwIfdQq+Hf7rcbqIrn3LlWw79qLTQX6la5f61mlfvXavWK +ZVeaM8h2y/1rNQ+jqvv+o/uznoMcfKeCrXYdOfiwe7g17896GDnulw/uz3oOquE7 +FWy166iGsYtb8/7sgruA0M1dD93c9erVqmNXmjVku2VZ9TCquQ8/u2J7DprBzy1s +tRtoBh9xj7QW/F8tD6MZ98pvV23PQQj/5GCr3UAIH3WPthr+J46HEXJ/eO+67Tlo +Fv9oY6vdQLP4mHusddz/0FpYXED2rae+feupX6/UZlCzhmy33Mf///rzr3avf/Dw +yWLzOLJw+XNpu2X5iLTKS/6J7uLIajaRjcvyrbt7B0tuWf5yd+9gqVWWdd/tnmye +RBVc7l+5t3ew5JY33rm3d7DUKlt+s3uqeQxVcbn/0ePn09NuWd5+/Hx62l9qNpGD +y7J8Np1Op1PLLW+Uz6bT6XRq+X9nf2NOPgm5ZE60Y2TO5sIkAR5AtCG5yZnDodCG +NcIkAR7kk5BLNqd0kcsAog3JTc4aShe5DPJJyCXrxsqMi4hwSGkMnO/QGDobOWiq +tJGZDhMqJAchM6K0MqTLAjqGVNJxBilclpshPXd+7SwFI5MOhySR3EBGt6QWkNFY +mXEREQ4pjYHzHRpDZyMHTZU2MtNhQoXkIGRGOaQTlUgSA5vPCm1UKomANa1MjwV0 +DKmk4wxSuCw3QxoDnWzGNAVBY0hCHRPIYmoAEj4Olf7PVpd0Sa8TQ4+wHlkmidLF +didMxaBP84zTrNBGpZJOMuAkBnY4K7RRqSQC1rQy7FBWaKNSSdJQafbvWJlxEREO +Kd0WcScGmptM6XiSyQlJwwlRWhnC2Dk6hlTScQYpXJabIT13fu0sBSOTDockkdxA +RrekFpDRWJlxEREOKd0WcScGmptM6XiSyQk1YZTInMTA/hErMy4iwiGl2yLuxEBz +kykdTzI5eWGEHckKbVQqiTJhlCutDLv0uoCp9ZBLEsPLoTkfS6G0Mi8hZqYbxMD4 +61oizNPghUuSs13r1VMJD/lY0jPS/DcLlc7pmjYySdSZNSFD1mV90qMmndD/wRuh +FjQIgl4MQVSoRAR//ELAIQ1SaTLFIQAjk4BDkkhuIAt4Kl5tTXYyYH53dTAcDPlw +eaXbE2I4XBFiNJAy6rGICdGVjPGQ9/iQ/ZMWeUYTFdHt0SAY9DuJ0sV2J9YFTVTE +SQ5kwPyBGPSj3nA9CvlwdVUORiIcykisro5WhFhfjVZ4tDxckQNG/iJO/Jm9PRp0 +Bn2SA2HMX15Zlr1owKOulBHvjvj68vr6qMdkKEfhSi/qy3UxGPUlq13YEjlcZPUL +W/lOzsMkufj7AJtndH+ABgAADQotLTQzYmEyMzg5MDY5NjAyMDdkNDA5ZDc3ZGIx +N2I5YWU5ZmJjYTQ5NDkyMDgxMjkzZDM4OWEzMWY0YzdmNQ0KQ29udGVudC1EaXNw +b3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJzYW1wbGVfdHlwZV9jb25maWciOyBm +aWxlbmFtZT0ic2FtcGxlX3R5cGVfY29uZmlnLmpzb24iDQpDb250ZW50LVR5cGU6 +IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQ0KDQp7ImFsbG9jX29iamVjdHMiOnsi +dW5pdHMiOiJvYmplY3RzIn0sImFsbG9jX3NwYWNlIjp7InVuaXRzIjoiYnl0ZXMi +fSwiaW51c2Vfb2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMiLCJhZ2dyZWdhdGlv +biI6ImF2ZXJhZ2UifSwiaW51c2Vfc3BhY2UiOnsidW5pdHMiOiJieXRlcyIsImFn +Z3JlZ2F0aW9uIjoiYXZlcmFnZSJ9fQ0KLS00M2JhMjM4OTA2OTYwMjA3ZDQwOWQ3 +N2RiMTdiOWFlOWZiY2E0OTQ5MjA4MTI5M2QzODlhMzFmNGM3ZjUtLQ0K +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 757 +Content-Type: multipart/form-data; boundary=f8b9e5464625dbb7eaca60174d56df842f385d760db9d6f978a8974c64ab +Accept-Encoding: gzip +BODY: +LS1mOGI5ZTU0NjQ2MjVkYmI3ZWFjYTYwMTc0ZDU2ZGY4NDJmMzg1ZDc2MGRiOWQ2 +Zjk3OGE4OTc0YzY0YWINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/1yM +v2sUQRxHveSSrBeLBQXPJWDAZpvb2Z3bnd1tbTTBwtoQJvPju3eLszvHzm64WE2h +jQg2djap7AT9B0IIqe1NJYqk0ELsRCGSAxs/zefBg3f/y9mHV19fn/26Oeg7PXdp +0HeW3f7DNy8+/kgfLXjPvv3c9647Pdd+sktDa78Fm3bPXwlXPc9Zcq19fnJ0vjG0 +9vvJ0fnGprUDfy10vFvOsmuPn54u3OHL04Xb9K+GA++G03ft8buffy5uD619f/n+ +uuc5K6619vfF5XpDe/gP/Wv4Cl4zrJopMHhF6K5u8bKYdXi9ZrU2IHQtDX7WQ1Nd +AZo2utJP4DFDgWBiCmgb2rsNK2uDtuoWlCq3tyQwHOI4iFBbzdA9/YDVElFKo4mm +vCuVpJOynXacCl3RCtqmFJrqFhQVWikQrW6oqCTVLSgqtFIgWt3Q2UGjsR/mJCWp +SMdJGEmZpomUGQHgEeZYyhAwFkxEIsV3UGcapEqO5hmhJB6psu7mo0ndIVVyERgd +EOwTSWIepQVnIs1zIJlkKXCZ51kiZZHzRPBxmgDBAepMg1TJ0Twj/+XkSJV1Nx/N +MzIicWB0gLE/TsYQcSJ4CMBFmIliXBRZhIFBxpKIx1BIksWAV3f2pdG7eLCzbw6M +YErt/g0AAP//01WZ7zgCAAANCi0tZjhiOWU1NDY0NjI1ZGJiN2VhY2E2MDE3NGQ1 +NmRmODQyZjM4NWQ3NjBkYjlkNmY5NzhhODk3NGM2NGFiLS0NCg== +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 10325 +Content-Type: multipart/form-data; boundary=b522389a4e947d96573c381377b6c37631c08faa82e05d7fdd8382b88938 +Accept-Encoding: gzip +BODY: +LS1iNTIyMzg5YTRlOTQ3ZDk2NTczYzM4MTM3N2I2YzM3NjMxYzA4ZmFhODJlMDVk +N2ZkZDgzODJiODg5MzgNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x7 +e3wU5dV/zrKzOWwkOVlFHm4yPIpOFjJDBgjgrUIABRERVBTUONl9MhnZnVlnZhNi +bV2QiyIiqAgq3vGGaG19a7VXbG3BXmhrbdVqq23t25+1tWrtxWr19/nMbJJNAjEB +fP9Jdvc5zznfc3nOOc/zzCyNIlDk0kJBjkdxEEXjUZQoEo9iLPhcThFOCOzZ578T +4RIC/VEiSFYgEDKUBys/lHgVRtjzL90m8ShGKEGQjGOE4iwuVyjVnHAQ+9K+WyUu +4SDaGCFIVuAgOoIdIQ9Rro5wwih7Y882iUsYpQdiBMkKjFIlq5SrlPtjiaGJ2Px1 +t8tlZfEoRAZFR0gYYYV6XoUS+9djd0g8ihKdS5CMo0TESK5WFvIqjLEtL9wt8SjG +aFIAJ0YJlpCPVBKcsJw9t/YOiUtYTv8MVSmno9hR8lDltxInRHbTvXdIXEKkD2ME +yQpEOpodLQ9V/hnjw3Awe+8H90lcwsH0WjmXME63RgiSFTiYhrFh8lDlt+XJCowT +Y0werlwT4YRxdvvfd0hcwgr6boQgWYEVNIKNkEcquyK8CivYE7+4T+JRPIKsAOwR +NIqNkkcrjFfhEezj3zwg8SgOoXMIknEcQsewY+QxylROOIT99v0HJS5hJX05ZFxJ +MpPlsco9EU5YyVa/+6DEJayiOyIEyQqsIs64PFb5CDhhFbvpDw9KXEKif0EAi+hY +dqw8Vvk7cEJiT770oMQlrKbbgCBZgdV0HDtOHqvcDJywmj322oMSlzBBTwFBsgIT +NI6Nk8cqT0JiTCIW+ebq8WVl8SFSrBwHxyuOGFJZRdUjYhhhhcJRnDDBtj67TeIS +Hkm3hmY+ko5nx8tVytUxXoVHsnee3i7xKB5FwwO9j6IT2AmyogznhEexm3YGeg+l +n4fQhlINq5GTyh7gVTiU3b79QYlH8WjygrlH03g2Xk4qizjh0eyXvwnmDqPvhLiH +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 +VMvRfNdIifCv5xt+uKnr/c5aX8qEV4MHZhnKCLmbjn5Mrwmu8Jy8myrKXjiQrrOn +7A5WnR9U09FLT0Fas22GKzTTac06WUtrtbL6FM1vz4kw3NX6usn1B/uc6oF5BzXa +GyiWSROnThoQeL1+8mS9Klxdqi3azsmLvNCVEvWdnLBTju0bli1cTzOd2rRlCs8P +AmRAe6ISWAdiqhkZ03EtvyWrmo5+ZsmMAzyI6IqUsFqF2/V2UecvlzW7wcmtO4Ag +6ZzcBzvNa88GjhndMykVjw3dGjVl5PTjSjJuWHbD9xO04jOkIayLBhK7fTPUMsI0 +Uu2NufC1BtV09AklU7ofHWpGm9fzmPCSg8PSF+OOLBQYrPTl1RWaL1b4YQdr2aZm +GbZh2WmxQs0auXBhDeycqGRHdEDemm80ZUSApaY/9KGLJnZzZCrVrplO7WWeY5ee +t4avR1q25asTB3btVRolfTHveMbAVU2n+4tF+5+WFt0wDeSgoN/MOzCppqOfUKLJ +irRZazrFVjbnilyXV3X9nIMLs148S7w5tgRxL7rQi9XF0zrV8o0mL6gbh/9cq3gw +aDUbYR3pFOqlWkTasi2/6wrM9Sc2ms5ndzppeNnG4BVw1dPXQM/sp6aMVIvQ5gl/ +pmtYtqfNtX2RyVjz5qaFoU/UJ6t1mp/Naac78w07rTU2NtaZTnjc2xgauzHlZBuL +j+k3Or7INHY+etmYyqZ7/pRrdx1dmTi9fmr91NTUSVMm1qXTU6dOSaen1QvRVKc3 +6en0RKHrKSNVl5qqH6vlPVfLWE3aimn1jfWTa8N32k07r2WsppTqOWq9rtSn6yc3 +1U1tbjJSU6dPF/XT0sZU0ZSePn3alHS6eXrTlFTTpKlTRL2u9sEuXZux7PyK2hXT +6mvrJ6ueo+q6MmnKJFHXVJ9qmihEU2ritFTzpObmaXW6MMQ0Y0pd02TRnK6fNlno +sWWtac+5WI8va/XavZSRyVz8/wcAHIyQ3X1cAAANCi0tYjUyMjM4OWE0ZTk0N2Q5 +NjU3M2MzODEzNzdiNmMzNzYzMWMwOGZhYTgyZTA1ZDdmZGQ4MzgyYjg4OTM4DQpD +b250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InNhbXBsZV90eXBl +X2NvbmZpZyI7IGZpbGVuYW1lPSJzYW1wbGVfdHlwZV9jb25maWcuanNvbiINCkNv +bnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQoNCnsiYWxsb2Nf +b2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMifSwiYWxsb2Nfc3BhY2UiOnsidW5p +dHMiOiJieXRlcyJ9LCJpbnVzZV9vYmplY3RzIjp7InVuaXRzIjoib2JqZWN0cyIs +ImFnZ3JlZ2F0aW9uIjoiYXZlcmFnZSJ9LCJpbnVzZV9zcGFjZSI6eyJ1bml0cyI6 +ImJ5dGVzIiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn19DQotLWI1MjIzODlhNGU5 +NDdkOTY1NzNjMzgxMzc3YjZjMzc2MzFjMDhmYWE4MmUwNWQ3ZmRkODM4MmI4ODkz +OC0tDQo= +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 1699 +Content-Type: multipart/form-data; boundary=b35b2678a24e0d9d56eab56e967e97043d914cbd87bbfa0b007f10fc2e7e +Accept-Encoding: gzip +BODY: +LS1iMzViMjY3OGEyNGUwZDlkNTZlYWI1NmU5NjdlOTcwNDNkOTE0Y2JkODdiYmZh +MGIwMDdmMTBmYzJlN2UNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/7yV +X4zjRh3HcRJvJskm+W32/szl9u58vrb4gtZOZned7BsqR+Gq8kcHUqVWxWePJ45Z +xxPZznX3nkzVk6BC4hlEpUrlAcQfUSQEgtJWCITKQ6FC8ADScUItB7QCUVqkdlsd +GsfZ7QGPu81Dxp7v7zef73ztZD768z+/de3xr/7+zePVEpKgUC2hIpQ++ezf/nGD +P5BdX06//aeS2kQSfuEHjxRUUXUHSJ0qkkDGsrKgnVSbqIC/NRMLcFcmFqCMywrS +7lSbqIhffudJ0VmES5lYhAquKFXtggqohH/09JMFVUYl+H4ZpE4NlaCGa8qi9p2y +ehrJ+Po/ny6oMpLhRUmV0QLckFUZleHtAohiGeq4rjS0X4ibBWjipgLadblTQ2VY +wksKaH8vqE20gF/65h+EBQSXMwsIWrilLGuWCqiMH939o7BQgWelzEIFjuAjylHt +x5IKCOGvf+VmUZVRFdJGJlfhGD6mHNdu1VVAFfz6i6+L7ho8ImdyDTDGygltt6QC +quKfvJF1L8K15UxehDZuK8e111qtZZBAxFutSoViSV4oo0pVBVTDL6SPiSXr8Nta +1lOHk/iksqJ9r6YCWsS//vcXhNyAH1YzuQGn8CllRftLRQVUx2/ezOQm/AplchNO +49PKivZFpAJq4K+99XnRDfC7WTfAGXxGUbTnBbuJ//rlx4W8BO8Us+4lOIvPKqp2 +vagCAvzUv7LuFjw/627BOXxOUbRXKq3mfDsLtcV6owkqoCX8y8/lW3mpBtK7Spbm +JS386huZ3wZ8owoi8WX8m90MAvByFaRWY76u3KovN6F9FEmQ3kgLOE1f0ZX0snZH +986B1G6jAqTpYz995uYKTtNXxaikaVW7q/v+9glUhPS5R3/2jNCe+JIYlVTRtO75 +9hFUgvS577729q0zOE2fEqPWabeRDGma7t4SHwmnT8wvtQ+Q95FybI8nAYuJTPk0 +TEiRTqakFtohjxnloRuTs9E0TPwxM/wwYVFoB0a8E1M7CPRP7cTUDgKTXDVGfMyM +UcTH/Crbsg2PG5Mtzxhz1/B4YIeeziPPSDgP6Mj2ww9e6epdvbfq8Z5OevqaHvjh +dHvVHrvmuhFH1IimYeL/H6Rhx2MrEMVWVqzHZHnu5pL98J6hHWP0HhnK6TNTusdJ +M5/RczNkdNBecsB83EfXc0V/OPITRvhhga/mnBk5fxIe3+ffn/G9w+LP8dPQzyI/ +5c/fzAkPAt33Qh75offhix//9KWLnzj4B3Abzhi6e0ZO3KboWueeC+fzMFohS3St +E7Jkf8466IBClgg7Ex7PglmaQSkPw7mPBw6DKTAeJ4rgj5Jkok9YFPtx8iEehtm7 +EOUpsMOgC6KRRHYYT3iUCCNHnenQ57rWmcHP6/cE03hEPnPQ9Awz+xbYs3v71zrv +SuD87Pd4H+cT0sr/2XQvYjvc+SyjCXEO2lbOMMYeHdvRlrC2x42pHebcZl6ne/RC +ZPshWdmfuNv7mB1t3c+jLRbpw2lIycGnl9OETWFxOb/X4504YeM4sekWoYeVjThI +5kfIsTnZu23f5Jr033Sd2nTEjHtZcrdILDYuhgkLAv/eiy6zSZes6z0jGU+Mj/D7 +7NA1LMvqedxypn7gWp6fjKaORfnYGrMk8im3eMICi/IgYDThkUXHrsUTFliUBwGj +CY+syU7EidbdNPtmn/bXNro91+33N1x3YDLm9IhDXLfLCKE27dE+OWdM48gIfMfY +HpiWub4a+OF0e9ULp2KS6jHXTaKZrrnu9PpDx6b9zU1mDly7zxx3c3Ow4brDTWeD +Omv9DWYS3ZjGkRH4jvG/y7mr2Tm8uj0wV811sTIh2trGGus5JnW6jDm0O6DDteFw +0CPMZgN7o+ess6FrDtYZWXjwihvzh0j1wSvxTkztIHjoPwEAAP//3t3OysELAAAN +Ci0tYjM1YjI2NzhhMjRlMGQ5ZDU2ZWFiNTZlOTY3ZTk3MDQzZDkxNGNiZDg3YmJm +YTBiMDA3ZjEwZmMyZTdlLS0NCg== +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 7007 +Content-Type: multipart/form-data; boundary=cd0010cac6db5c74e2d5ff5b92ad4b2d64fd9d7e41555d85cb80a5ab0cb7 +Accept-Encoding: gzip +BODY: +LS1jZDAwMTBjYWM2ZGI1Yzc0ZTJkNWZmNWI5MmFkNGIyZDY0ZmQ5ZDdlNDE1NTVk +ODVjYjgwYTVhYjBjYjcNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x6 +e3gcxZWvajQtHY8s63jAdlm2cbuwodWWuqWWLMk8jG35gY0tG9vYgA3jnp5Sq/FM +19Ddowf7yEBszMOAN4TYgAmPEEgIEHazG5Iv2cQkJLDf5jqbuzeEVza7CXvzERIW +uNkbSAjc7+seSWPJ2JIf9x+pp+s8fudXp06dru6r40AwtrNYlBNxqMR4Ig4SxhJx +qAqvqzHGpgOh/3vPDytZHAguZRLE8J/iSNQEEAQK8iTlErUGYpigCblG+UaczYAY +/fNvXqxkElTi/RKTII7fJUjUGqjEyXSyXKPcK6k1EMdaWitPUW4nDKGSHvi3eyUm +gYQ3V4ayEtbROhmV12MMIU53/9NBiUlQhc9WIVFroAqn0qlyUvliVZImIb73G/Pj +e78xPxEnscp4fRXEaPEwMASJHnj+oMQkqMZ7q5CoNVCNZ9Gz5KTy6SpWB1X0nW8e +klgcAGeGMQGeTc+WpykzGUI1vfuJxyUmwST8CUGi1sAknE6nyzOUFwirA6D3H3pc +YnFIoI9ETUACKaXyDGUTQ5hEf/rzULcGvxvp1uBMOlOuV/6RJGcmgRy8aS05eNPa +hCRVVcOk+iqI0WJxKZsBCfrGEHn3jZCXnJEE8vLfd5KX/74zUZkYjlFh06GG3nrL +7iYWh8m4mElQi/fHkKgJmIyz6Cx5tqKrNVCLc+gc+Rzlvhirg8n0xUf/rYnFYQpu +RqImYArOpXNlWTmfIdTSr/zg9SYmQR2+GkVdh/PoPJkprxCGMIXe9OLrTUwCxP8m +SNQaQDyXnisz5S3CEOroI8+/3sQkmIpvECRqDUzF+XS+zJSXCENA+sSPX29iEiTx +0RgStQaSuIAukJlyY4whTKV7nnu9iUlwFj4XaZ+F59HzZKYcJqwOkvT/vPCrJhaH +s7E1xH02nk/PlxVFZXVwFt333BtNLA7TSoPTsIE2yKqisDo4m770Ujg4Hc9BoiZg +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 +2shkmrlhWKbVYnUY5+oF39OzTlof6GxPtbc1RV+R2m5BzzppS/OF1m4o7Zn2tnRL +R0/atDoWL+btnRmzg6czixd3LspkehanF1np1o5FvN3QjmMu05R13MJA00Bne1N7 +m+YLzTCU1kWtvCXdbqWbOU9bzZ1WT2tPT2eLwU3eaS5qSbfxnkx7Zxs3qrb3ZXxx +jZHY3ucP+paZzV7z/wYAGI/sTX08AAANCi0tY2QwMDEwY2FjNmRiNWM3NGUyZDVm +ZjViOTJhZDRiMmQ2NGZkOWQ3ZTQxNTU1ZDg1Y2I4MGE1YWIwY2I3DQpDb250ZW50 +LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InNhbXBsZV90eXBlX2NvbmZp +ZyI7IGZpbGVuYW1lPSJzYW1wbGVfdHlwZV9jb25maWcuanNvbiINCkNvbnRlbnQt +VHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQoNCnsiYWxsb2Nfb2JqZWN0 +cyI6eyJ1bml0cyI6Im9iamVjdHMifSwiYWxsb2Nfc3BhY2UiOnsidW5pdHMiOiJi +eXRlcyJ9LCJpbnVzZV9vYmplY3RzIjp7InVuaXRzIjoib2JqZWN0cyIsImFnZ3Jl +Z2F0aW9uIjoiYXZlcmFnZSJ9LCJpbnVzZV9zcGFjZSI6eyJ1bml0cyI6ImJ5dGVz +IiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn19DQotLWNkMDAxMGNhYzZkYjVjNzRl +MmQ1ZmY1YjkyYWQ0YjJkNjRmZDlkN2U0MTU1NWQ4NWNiODBhNWFiMGNiNy0tDQo= +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 7688 +Content-Type: multipart/form-data; boundary=da789a8b069ffe50cb69dd81e83455e6b8760e653cb5024638996525d426 +Accept-Encoding: gzip +BODY: +LS1kYTc4OWE4YjA2OWZmZTUwY2I2OWRkODFlODM0NTVlNmI4NzYwZTY1M2NiNTAy +NDYzODk5NjUyNWQ0MjYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x6 +e3gcxZXv1GhaOh5Z1vGA7bJsTFPY0GpL3VJLlmzAxrb8wMYYYxuMeY1bPaVWo56u +obtHD252MxCbd4gvxOFpwEBwwiskbCDZvExCAvfbrLN78ySBsHl9+dgkLBA2QELg +fl/3SBrLDyTbe/+RZqZOnfM7v3OqzqnqviQFBJPbSiU5nYIqTKVTIGEynYLq6HMN +Jtl0IHTHbbsllgKC05gESfznaiRqGggCBXmSklFrIYlpmpZrlc9VsxmQpL/71kMS +k6AKd9UwCVL4K4JErYUqnEwny7XK7TVqLaSwjtbJU5THCEOoos+/+5DEJJBwTywr +YT2tl1G5jzCEFP3j1z4rMQmq8V9TSNRaqMapdKqMyrUphiDRh2/4rMQkqMGbq5Co +tVCDGZqRUdmfZPVQTf/+o4cklgLAbUjUNACeQE+QT1Qoq4ca+sErj0gsBZPwAiRq +GibhNDpNnq50MgSgv3x7r8QkSOMXk5HiNM6gM2Sq7EkyhEl0+5t7JSZBLe6Oh2tx +Jp0pU+V9whDS9Pbf7JWYBJPxHYJErYXJ2EAbZKr8mTCEWvrMz/ZKTII6vJsgUWuh +DmfRWTJVPk0YwmT65Kt7JSbBFPwKQaLWwhScTWfLVHmGZOZkqlPXf2VuIpGeTJJV +Kam6Bialayc3VEOSlvYBq4c6+s6TuyWWgnrcjERNQz2eRE+SJykbWD1Mobt+9IDE +UoDYhkRNA+IcOkc+WckwhHr6f67bLTEJpuJfpAjXVJSpLNcqv5QYAtLbH9wtMQky ++LdqJGotZPAUeopcq/ylms2AqfSt7z0kMQlOwFdrmAQn4l1JJGotnICMMrlW+WWN +Wgsn4qn0VHmKckOSIWToPX9+WGISTMNvxyxPw7l0rozK40lWDyfQp39YDp+DJHNy +pjr59e3zE4l0Xd2UepyaOaHS99KJDOFEesfzd0pMgul4VzUStRam4zw6Tz5N+UQ1 +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 +eNYWrUb0JHv5eDVUwlxWKHAvt6rouuvNPDfOHI+OkROEeeDkcQEYmayoK71ivlEr +ennTD3pNdxPnOWPleGio0HEeDwLT5mPVTBRKvDEcqOOqCeVO3OLqop/7rjBzY1ZN +PJodHs32t41+rujDhyZQMo4R3QjS8kpZdYz64sXSYszxuc0HC3ow5IXmYPnNifht +JscLwuPfeh9gL3qH0YmWkTHtQCRdIl9wXG5MiSdoZcmDz27H2iv63OaDhfI/zRYj +FocRZMpD5xWDcPi3UyroL/giz8NeXgyia7CeQIsOaeN6cjR8yzJaxw/SpudzQWhG +J/JKuf78gOlz3Rb9eZF39H4nbyzQw6ECj81rHa3tHcbWsdEbX4E7vO6o1ASaLYyT +YlYOlTiWWTBOKdN6iLwajuTcCg7jfSx+70IvP7CMUnRC/eFHKNRdbpvWULb89FWz +hdFUwbw5EOjmQNAc5PqabaGbA4HOvVxBOF4Yc3q079UeSbFefs0l4rTyfZtBPeSD +oR69det4tu6Ynul4OT6o5c1CHOKJ9awV5fCwuvXQ7HZ5hKVxPPJxiFoO4N2yhnRb +NF8ZCG/0lZ7IDe5rjueEWsvBi3h8eXlk5cObSfTschyYcvwATAfdjR8TprLyYUya +LYzTK2gazNnNtij3BgWfF0ajahgXHN2qPUhnRTQr96uD5OIoTh0+Ajuh2R04nhMe +fIt3zHtt/DBCd3pMi2u2GDUaWL0853hOOHpV5IctWVsc/NrD8QJhBvls9NaaFhg7 +yFgrmmVavVxfy8Plvul4gb7GC7nrOmvX5LhptBjtWqse5gv6arHO9HJ6NptttUV8 +9MzG6yFriXy2/E5IVoTczY4858ta+dzYnwpDvjCUlkUdnR2dVmfbgpbWXK6zc0Eu +t7CD8+5Wo9vI5Vq4YVim1Wp1GqfqxcDXXadbH1zYke1ob45fw7O9ou463ZYWCK3D +UDpyHe3drZ093abVuWgR71iYMzt5d27RooULcrmeRd0LrO62zgW8w9COoC7X7Dpe +cbB5cGFHc0e7FgjNMJS2BW28tbvD6m7hvNtqWWj1tPX0LGw1uMkXmgtau9t5T65j +YTs3qi/tzwXiciN9aX8wFFim617+/wYAV467yt1DAAANCi0tZGE3ODlhOGIwNjlm +ZmU1MGNiNjlkZDgxZTgzNDU1ZTZiODc2MGU2NTNjYjUwMjQ2Mzg5OTY1MjVkNDI2 +DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InNhbXBsZV90 +eXBlX2NvbmZpZyI7IGZpbGVuYW1lPSJzYW1wbGVfdHlwZV9jb25maWcuanNvbiIN +CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQoNCnsiYWxs +b2Nfb2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMifSwiYWxsb2Nfc3BhY2UiOnsi +dW5pdHMiOiJieXRlcyJ9LCJpbnVzZV9vYmplY3RzIjp7InVuaXRzIjoib2JqZWN0 +cyIsImFnZ3JlZ2F0aW9uIjoiYXZlcmFnZSJ9LCJpbnVzZV9zcGFjZSI6eyJ1bml0 +cyI6ImJ5dGVzIiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn19DQotLWRhNzg5YThi +MDY5ZmZlNTBjYjY5ZGQ4MWU4MzQ1NWU2Yjg3NjBlNjUzY2I1MDI0NjM4OTk2NTI1 +ZDQyNi0tDQo= +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 1979 +Content-Type: multipart/form-data; boundary=8bed23bab43c5ac24b097e61a30ce57a57a9980edcc90abf588af69cb186 +Accept-Encoding: gzip +BODY: +LS04YmVkMjNiYWI0M2M1YWMyNGIwOTdlNjFhMzBjZTU3YTU3YTk5ODBlZGNjOTBh +YmY1ODhhZjY5Y2IxODYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/7xW +X2wc1fX+7T/7etfxHq//XS8JGSbg3F1+ntm9tnfXVdU/adQmqIggC1EVwXJn5u54 +6pm525lZy+7TPFAFAhJIpZVKmyqIqAgqWvKC+hRFVV94KVKkFoRaoOUBEKhqIVWV +ljbVnfUmrlGpTGP2ZVbz3XO+7zv3zLn32JMvPfP2I6dfvTyTz6IUpPNZlIHsiQe/ +d/518fXk//3xc3/IqjMohS/85aG0mkMpuJJRcygNP8xDqlpAKcjhnDJE/pSpFlAa +hvGwgsjbIyqgNL78VhKSgZdQsjYDI3hEQeQRpALK4D9eflBmzMI7/VRZyOO8UiAv +5lVAWfzO909LOAf/yCTRORjFo8o+8lpGBZTD5z5IoofgxX70EIzhMaVA3h0pjUEK +pO58LpXOZHMqoCH8Xl9+Gp7JQ0oFNIzP/i1JkIXf5CG1LWYoPZzNqUWE8BuXTqfV +LBqGw5Cq5tEwFHFRAXJILaIR/P7DP86pWYRgJQERjONxpUSOqYDy+NLJszk1h0bg +XCrRPgITeEKZJD9LqUVUwG9efCqnZlEe7CQ2D1N4SpkmWC2iUfzP3yWJC3BnAhZg +Bs8omDRVQPvwa5eelolH4Vw6STwKs3hWKZMn0yqgMfzAnxN4H5zuw/vgBnyDUiYf +SstF/J03E3gM/tqXNQb78X6lTD6QMOAXXkngIjzRh4twAB9QyuRxCY/jn76ewAA/ +78MAN+IblTJ5IVWaGFQ8j0byhdF9Y0UYVwGV8MuP/0hu4jicySZ6x+EgPqgo5Ims +WkQT+LsXT8oKl+DzidcS3IRvUlRSUafRJH7u96ckOAGfU3NoEh4bStZMwCF8SLmZ +fLZaQJNwC75FmSO/lXs8hX/1yilJNgU/ySVkU3AYH1bmyLMSnsZnX07gaXi2D08D +wUSZI09JeAY//fwPZPQMPNzvtxmo4IoyRx6S/YbxoxeTaAyv9p1gqOKqMkcuZFVA +s/jkrxN4Fh7rJ5+FW/GtMjpXKg2KM1KamJzKTs/g2fIUSkH8RpzGcfyupsT3k/+v +zbdS5TJKQxyf+sX5t/bjOH5PPpU4zhOtppdnUQbiCw/88rzEzjwqn0qskFqtXp5E +WYgvPP/+h1cO4jg+J5+ElssoB3Ec//2K/KVwfGbwlyzQ/6PDIfO6Lg9pzhQ9P6IZ +s9ujBZ/5IuSm8K2QzgY9P3I8rq1y1j3iRKHm843oyyyMqKGvCo/rq4HwxLf4GtNt +oXfXbN0Tlm4Ll/m2JgJbj4RwzVXm+F9Yr2k1rT5vi7pG69qC5jp+b2OeeVZjUQ8D +Uw96vqTSPcOJPNbVbEFLwRZ9aDJfGN/gZrSHvLbpsWBN8hYHvLZ5NGCOT/dfe3HE +vp0Fa3eLYI0HWqfnm5Tep+9VKWxTypkYsIebYcS9MGLmGjX3ipSFXpt5VmNRC+n0 +gNn+N9/XCuRxzxPrnNp7pWaL4Kqi220nWu0Zmik83Q5Yh/lM724GIjRFl8/bQreF +xd2IdQPR0R0/4oHPXL3bDURHI9VuICJh9DoVzfGjxmJIv7lT951fO35CFxF3503h +utyMRKCvc98Sgf7JmfXuFq/czZVPnqfvoOO4/EjPcS0eVLSV5BOm/qfoQ5q4738y +cZS7ETvGWfdEkLgJKtrdgRPxrVeRoOGn4ydplfYq74+bL+3ClEaqW2rldgQVbcvK +R4fBdeqogcjP/BeRGqmu8DB0hF/RrJ7X3aaS3nUdqxr2SWQzLO1CUq/rCmYdZRGj +tV2EBTzkEW3tIiJia3zFZ91wVUQhbewiciViQZSM9vq2QcesdSfk1NlZwut17IWb +Ydt1/N7G1VG3fezf5fdCbt2xQq294ve41+eXOzo+mPvh5hb1R/v6ehn3uCcplQEl +qXaZzb/ousKsyIN/nfs2v8PntLNn1m0zNPs8Usmhj1Wy1RgHPnYRvfkaPEgdrEQs +4hXN8Z1+d9HtSXauCnr+teuPYQ9g+u3UzipoJjNXuX4bj47Iu0qoH/cj7rrObcct +zmiNLmp1PfK6+lfEV5lv6e12u26LttFzXKvd/yrapvDaHo8CxxRtefa1r559bdOz +dr6Sxy0lteVGs9E0mwtLtbplNZtLltVqcG7UqUEtq8YpNZlZN5v0kN4LA911DH2j +1Wg3Fudd2eXztt/TXccwtVBoDUoaVmPRqDc7BjOby8u80bJYkxvW8nJrybI6y8aS +aSw0l3iDavp/Tmdt5d5oNebl/UVolJKFpQVeNxqmUePcMGsts7PQ6bTqlDPeYkt1 +Y5F3rEZrkdOhe9atUNxL8/esh5uhyVz33n8FAAD//wwi4sIeDwAADQotLThiZWQy +M2JhYjQzYzVhYzI0YjA5N2U2MWEzMGNlNTdhNTdhOTk4MGVkY2M5MGFiZjU4OGFm +NjljYjE4Ni0tDQo= +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 7276 +Content-Type: multipart/form-data; boundary=281cf637734b8fe81951ee3509cef5706ca07ed3a6c85806c2413fc5e676 +Accept-Encoding: gzip +BODY: +LS0yODFjZjYzNzczNGI4ZmU4MTk1MWVlMzUwOWNlZjU3MDZjYTA3ZWQzYTZjODU4 +MDZjMjQxM2ZjNWU2NzYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x6 +eXgc1ZWvbqtLOm4h6bjxci1v5QuGUlmqkkqLJRaDLdvYxpZXMMY2Tan6qlS4um6n +qlqymCUNsdnigIclZnPA4MEJEELCC0y+ZBKTkIHvTZ4zywsJ2zAJzJePIWGAYR6Q +EHjf19WS2rKRJdsz/0jdfc8953d+59xzz71VV8aBYOzqfF5OxKEc44k4SBhLxKGi +8LkSY2w6EPqzHz0sMQkI3lnJJIjhrwkStQoIAgV5knJHpVoFMUzQhFylPEYYQow+ +91FhSjkeiGTL8Qx6hlytfI0whHL65k0HJSZBHJ8hSNQqiGMNrZGrlW8RVgtx+sY/ +PSyxOEhoI1ETIGEtrZVRoawWJPrpa49ILA4VuB6JmoAKnEwny0llIUOooP/ywSGJ +SVCJ344hUaugEs+kZ8pTlAMxhlBJd713SGISAO6PhgGn0qnyFOUTwhCA3vHGIYlJ +MAk/jGBNwml0mjxF+U/CECbRp391SGISJPDeaDiB0+l0eYpyJ2EICfrE64ckJkEV +/k00XIWUUnmK8jRJzkpWxB7/g1JWlkiQWHlcqqiESYm6CojR/GFkCFV033N3S0yC +M/CeCiRqFZyBM+gMuU75UgWrhTPou9+7X2JxqMYZBaercSadKc9SZjCEanrHo4ck +JkEN/mNkuAZn09nyHOV5wmqhht53/yGJxaEWg8LcWpxL58pzlA0MoZb+4rXCXMQf +ESRqFSDKVJanKH9LknXJSeTu61fFvr3rTpKQqs6orqmtq4AYzecvZtMA6c037Wpk +cZiMnUyCJN4XQ6ImYDLOo/NkpuhqFSTxLHqWfLZyb4zVwmT6wsF/aWRxOBM3IlET +cCbOp/Plc5RzGUKSPvbTVxuZBFPwZYJErYIpeC49V1aUlwhDOJNe/8KrjUyCqfhf +BIlaBVOxntbLivI2YQhT6EPPvdrIJJiGbxIkahVMQ5WqsqK8SBjCVProz19tZBJM +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 +XN16aPa4vIClfjzyUYiajuLdsgZ1WzReEwhv5JWeghvc1xzPCbWmYxfxeBuvsZQP +FZPCs8txYErzozAdczd+SpiKyocwabYwzi2haWfabrRFsTfI+jw7ElXDWH9yq/YY +nSXRLK1Xx8hFUZw8dAR2QrMncDwnPPYW75RrbfFxgdNrWlyzxYjRwOrjacdzwpGr +Ij9sStni2NceThcIM8ikCm+taYGxm4y2olmm1cf1VTxc4puOF+grvZC7rrNqZZqb +RpPRqjXrYSarXyJWm15aT6VSzbaIjp6paD2kLJFJFd8JSYmQu6nh53wpK5Me/VN2 +0BeG0tTZvrB9obWwpa2pOZ1euLAtne5o57yn2egx0ukmbhiWaTVbC42z9Fzg667T +o+/saE+1tzZGr+HZXk53nR5LC4TWbijt6fbWnuaFvT2mtbCzk7d3pM2FvCfd2dnR +lk73dva0WT0tC9t4u6GNoS7d6Dpebmfjzo72xvZWLRCaYSgtbS28uafd6mnivMdq +6rB6W3p7O5oNbvIOs625p5X3pts7WrlRsbU/HYjtRmJrfzAYWKbrbv//AwC+zNsT +Vz8AAA0KLS0yODFjZjYzNzczNGI4ZmU4MTk1MWVlMzUwOWNlZjU3MDZjYTA3ZWQz +YTZjODU4MDZjMjQxM2ZjNWU2NzYNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0t +ZGF0YTsgbmFtZT0ic2FtcGxlX3R5cGVfY29uZmlnIjsgZmlsZW5hbWU9InNhbXBs +ZV90eXBlX2NvbmZpZy5qc29uIg0KQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9v +Y3RldC1zdHJlYW0NCg0KeyJhbGxvY19vYmplY3RzIjp7InVuaXRzIjoib2JqZWN0 +cyJ9LCJhbGxvY19zcGFjZSI6eyJ1bml0cyI6ImJ5dGVzIn0sImludXNlX29iamVj +dHMiOnsidW5pdHMiOiJvYmplY3RzIiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn0s +ImludXNlX3NwYWNlIjp7InVuaXRzIjoiYnl0ZXMiLCJhZ2dyZWdhdGlvbiI6ImF2 +ZXJhZ2UifX0NCi0tMjgxY2Y2Mzc3MzRiOGZlODE5NTFlZTM1MDljZWY1NzA2Y2Ew +N2VkM2E2Yzg1ODA2YzI0MTNmYzVlNjc2LS0NCg== +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 6708 +Content-Type: multipart/form-data; boundary=236cff23146496fd2cf8a63650d62e2265e008fbffd139bd0853693aa524 +Accept-Encoding: gzip +BODY: +LS0yMzZjZmYyMzE0NjQ5NmZkMmNmOGE2MzY1MGQ2MmUyMjY1ZTAwOGZiZmZkMTM5 +YmQwODUzNjkzYWE1MjQNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7R6 +fZgU1ZnvnJ6umZceoF9agcMAUhxAa4qZqpmaYWZQQWAAAWH4BhGxra4+U1Ohu05b +VT0fbnZtDYgiKmuiYMT4ETfuGpN1N3eTmycfi4lZfZ7NJbt3b0z8yM1ukn3yuCau +erM3mhjZ56nqmWlmEGeA/DPT3ef9+L2/857zvudU3RAHgrGbSyU5EYdqjCfiIGEs +EYea8HMtxhgCocdeOC4xCQg+XINErQOCQEGepHyqhiUhRt/++gmJxSGGs5CoCYhh +gibkOmUWQ6imn37maYlJUI3/TJCodVCNk+lkeYryImFJiNNHTjwtsTjE0UeiJiCO +U+lUeYqyjSFI9Ic/eVpiEkj49yT0K2GSJmVUvkVSM1M1VVXk+B0bEhKJVcel+hqI +0VJpBZsBNfTuuw40sTjU4FImQS0+Egtx1eA0Ok1OKbpaB7V4Cb1EvlT5bIwloZa+ +9NT/bWJxANweSgJOp9PlGcoVDAHoF7/3ehOTYBK+GqGYhDPpTJkqrxCGMIne8dLr +TUyCBP4XQaLWQQJn0VkyVd4kDCFBn3zh9SYmQR3+IoqhDutpvUyVlwlDqKPP/OD1 +JibBZHwqhkStg8k4m86WqXJ7jCFMpgeff72JSTAFnydI1DqYgnPoHJkqJwlLwhT6 +/178eROLw1RsRaImYCrOpXPlyxSVJWEqPfL8L5pYHJLlwSTOo/NkWVFYEpL05ZfD +QcTLkKgJQJxP58tMmcOSgPTIgdO1LA7T8JNI1ARMwwV0gbxQGWAI0+g33/qwlkmQ +woMR4hQuoovkhcr7hCGk6DeeeLORSXAJPh/RcQleTi+Xr1D+ljCES+i/PPofjUyC +S/GxGBK1Di5FhSpyg3I4xpJwKf3BD95oZHGYjuuRqAmYjipV5QalkyFMp7989deN +TIIZ+F5kegYupovlRuXnhCVhBn36+V83sjjMxNvCkGZiE22SG5UNDGEmffHIbxqZ +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 ++6bNR5uZKJRoYzgTyi0Typ2oxdVFH/dywsyOWjXRaHpoNN3XOvI53LGiPnzwj7Ve +Iv+V6IY/l1fK2guNNlwszcZlHrf5QEH3B93AHNAU1RL5gpPjXoPmuH5w8VvvM/zp +ZW+aLYzpZyLpEvmCk+PG1EhBK0uOPbtdaK/ocZsPFMr/NFsMexxCkCoPbSr6wdBv +8yvoL3giz4NeXvTDa7AeXwsPaeN6cjR0BB65zxxjTc9n/cAMT+SVcn35ftPjui36 +8iLv6H1O3liiB4MFHrnX2lva2s/3UfRH2w5Lja/ZwpgbsXK2xLHMgjG/TOtZ8mpo +JhdWcBhtRdHrHHr5gWVYCyfUH36MQT3HbdMaTJefvmq2MBormDf7fd3s95v87P4m +W+hmv69zN1sQjhtEnI5912F8/cK5DOvlt2dCTvWKkjWgB3wg0Llriazj2rpjuqbj +ZvmAljcL0RRPrGcdj209MDM5HmJpGI98NEXNZ/BuWYO6LZo+4Qt35E2hMAzuaY7r +BFrz2EU8PiLPbXxoMwmfXY4DU5afgWnM3fgFYSobH8Kk2cK4ooKmgazdZItyb1Dw +eGFkVg1j6/mVlTE2K2azcr8aIxfN4rShI7ATmBnfcZ1g7C3eBe+15ccFTo9phSff +Yae+1cuzjusEI1dFXtCctsXY1x4uFgjTz6fDl+E03zhIRnvRLNPq5foGHqzyTMf1 +9fVuwHM5Z8P6LDeNZqNNa9GDfEG/Vmw03ayeTqdbbBEdPdPRekhbIp8uvxOSFgHP +pYef86WtfHb0T4VBTxhK89L2jvYOq6N1SXNLNtvRsSSb7WznPNNiZIxstpkbhmVa +LVaHsUAv+p6eczL6QGd7ur2tKee4xYEm2y3qOSdjab7Q2g2lPdvelmnp6MmYVsfS +pby9M2t28Ex26dLOJdlsz9LMEivT2rGEtxvaOcxly7YHOtub2ts0X2iGobQuaeUt +mXYr08x5xmrutHpae3o6Wwxu8k5zSUumjfdk2zvbuFGzty/ri31GYm+fP+hbZi63 +778HAO7Ti4wPOQAADQotLTIzNmNmZjIzMTQ2NDk2ZmQyY2Y4YTYzNjUwZDYyZTIy +NjVlMDA4ZmJmZmQxMzliZDA4NTM2OTNhYTUyNA0KQ29udGVudC1EaXNwb3NpdGlv +bjogZm9ybS1kYXRhOyBuYW1lPSJzYW1wbGVfdHlwZV9jb25maWciOyBmaWxlbmFt +ZT0ic2FtcGxlX3R5cGVfY29uZmlnLmpzb24iDQpDb250ZW50LVR5cGU6IGFwcGxp +Y2F0aW9uL29jdGV0LXN0cmVhbQ0KDQp7ImFsbG9jX29iamVjdHMiOnsidW5pdHMi +OiJvYmplY3RzIn0sImFsbG9jX3NwYWNlIjp7InVuaXRzIjoiYnl0ZXMifSwiaW51 +c2Vfb2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMiLCJhZ2dyZWdhdGlvbiI6ImF2 +ZXJhZ2UifSwiaW51c2Vfc3BhY2UiOnsidW5pdHMiOiJieXRlcyIsImFnZ3JlZ2F0 +aW9uIjoiYXZlcmFnZSJ9fQ0KLS0yMzZjZmYyMzE0NjQ5NmZkMmNmOGE2MzY1MGQ2 +MmUyMjY1ZTAwOGZiZmZkMTM5YmQwODUzNjkzYWE1MjQtLQ0K +******************* +HEADERS: +Content-Length: 2033 +Content-Type: multipart/form-data; boundary=2c8c14eab8a03029c7b116d1756f25d425aa0adf5965a50c439e0cc8e04b +Accept-Encoding: gzip +User-Agent: Go-http-client/1.1 +BODY: +LS0yYzhjMTRlYWI4YTAzMDI5YzdiMTE2ZDE3NTZmMjVkNDI1YWEwYWRmNTk2NWE1 +MGM0MzllMGNjOGUwNGINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/7RV +bWwcRxnmbN95fGf7Xt/5Y3x2ku2macdXvHs3tu/sf6hUCokoCqWoiKpcZnfn9g7v +7hy7c27cX4tIBKVISHy0UIhUqaoQIlEbkEBCVRRFEW1Q+ZCoIqhQGlUCUwUiGlRQ +aFHR7PnqEIkfVev7c3vvM+/7PM/MM3sf+8aPv3Xx7ZOv3JjJDqEUDGSH0CAMHfnS +N595VXw2eT4an35tSM+jFL566viArlb5kCpnUQrSOK1lCNPzaAD/4QcJOAD1BByA +YTysZYiuAxrET7x4fEBPo0H42SCkyjk0CAgjLUPODOqAhvAbj14e1NNoCN7IgIKH +YASPaFlyJaPPoDT+8pPfT+tplIYXMnoaZeCnqWRIGnI4p2XJLzLlHMrAKB7VxsiJ +lA4og//2bNIyDP/urR2GcTyujZHrCh7GW6cTGMFWD0aQx3ltjFxJFQBSoBxnh1MD +g0PpzLA+gxD++b+eUAZG4CWkp1EWzqFEwggABm2CvIjKOZSFAi5oE+RZpAMawc+9 +lrTk4J89Uzko4qI2QX6d0QFl8Y3rCTwKJ3qjRmEST2oT5IuqO4dvXHtcEY7BqZ7C +MZjCU9o0OakMjOJrVx5V8Di8MJwIGYcZPKNh8viwDmgMX7iUwHl4usedh1k8q2Fy +Oa0DGscv/ySBAf7eGw5QwiUNk0tqeB5vnUrgCbjUgydgDs9pmDytYMDPX03gApzu +KS/APJ7XMPmaUj6Bf/fWV5S0Ivwpm0grwh68R9tLLmZ1QAX8+ndPKngS/tOLwiTs +w/s0jVxWUSjiM/9IuqfgYq97Cm7Dt2l7ydWRwlT/ZEbRSDY3Ojaeh4lCUZ9Gk/jN +Vx9TyZyGu/Q0moFTanQWTYOOdW0/IeUcmoHb8e3aAfIjRTOFv/3yY0oFht/3LGK4 +A9+hHSAvKYvT+PTWtsXzCFKFfJ84Mzk1rSgBzeDf/nl7yfMIVBPG124k0ovwehZS +hbF+09AMLhT1PJrF3/tVckVmQU+uyCzcie/U9hOsAyrhX15OFJXgSSU+h0pAMNEO +kO8owXP4h33Bf0zBzSGdLc1Nq/mA5vH1NxNJc/BMb+/mYAEvaJj8ZUQHtAff6Jv6 +jTI1DgMQv3JhJJue3zNRKJamUAriK/EAjuOrhhYfJeXKXaupUgkNQBx/9fzZrXkc +x389f3ZrXovjLPlwZbE0iwYhPnf8wtmteRw/9fULCaYRo2KWJtEQxOeeu/72O/tw +HJ9R36RSKqE0xHH81jvqk8LxU/1HUqUfosMR8zsej2jaFt1A0kG706W5gAUi4rYI +nIjuCbuBbPvcIOW2ZNb9zPL4/ZsdvmA024FDj5ot4XOzFQpfPMLXmekKs7Pumr5w +TFd4LHANEbqmFMKzW6wdfGSjYlSM6qIrqgatGkuG1w66xxaZ79SWzSi0zbAbyLbP +zXaT2dxwBc2H3UC2fW64XLYls2gh7AaJIhZFPJSH6CFK9wZcmi0pO8Yn+MP38S90 +eSQfaMvWR0Ug+TFJbbMlPlCZfT4z7JEZrqDFfvEmEfSg25atrmXYwjfdkDVZwMzO +ZigiW3T4oivMbieSIWe+GXJfSG6Q8n3cF5IvGN2OJ5hzJBTNtsepY7aEz81WKHzx +CF9n5ic/c+iIKST3Fm3hedyWIjQ3eOCI0HyPnOY2tSvoPe+x9Sa5EWvyTyeS38+U +Fgscjx8WVkQL4Xb0Qs6cDRa2A0nZbuUt2vQls9QWjPZpI8k7NN//1bE3mNfltLhT +cJhkveK+fpGUI7neDJnPFwyXy09JZq/fyzr0Aw/gNqHZp1PKZ7aLRmSzIBHxsAjX +eUit3do137V9Fq4r8ombySPlm073S2pNKIQ0mt3ArlK4tb6zy659T8jaAZ3vL3Ht +u917Wbj+QOIkGUDp53bRj/Ly7hlHm5Hkfs/Nrh0hi/wG853ashHtbNn/+t6pk7LX +TPQsGB3R2b2T3WZRu/HuPZThpstls+t5u8fru7YKreLF/QyQsmur819QCg5yuRP0 +m3ejG7V2ktXpSu535OaOeHUnhPV5bkt6InVrfgyb2S1uHubybhW/yDwUSO557cOH +HM5ohS4bVVP6HfOg+DgLHLPRaFRd0bC6bc9p9N6YDVv4DZ/LsG2LhpDca9j9t3LD +9p1bS+ovgJLKWq1eq9v1pZVK1XHq9RXHWa1xblWpRR2nwim1mV2163S/2Y1C02tb +5rHVWqO2vOi1g+6xRTfoml7bso1IGDVKak5t2arWmxaz62trvLbqsDq3nLW11RXH +aa5ZK7a1VF/hNWqY3ej/jXO2Zx9brS2qSAqDUrK0ssSrVs22KpxbdmXVbi41m6tV +yhlfZStVa5k3ndrqMqeZBzecSDxEsw9uRJuRzTzvof8GAAD//4LTIC7vDAAADQot +LTJjOGMxNGVhYjhhMDMwMjljN2IxMTZkMTc1NmYyNWQ0MjVhYTBhZGY1OTY1YTUw +YzQzOWUwY2M4ZTA0Yi0tDQo= +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 7790 +Content-Type: multipart/form-data; boundary=d3406129592c3cc7c861ce3723a1814b640cff3f4da0c26d316b3b224a95 +Accept-Encoding: gzip +BODY: +LS1kMzQwNjEyOTU5MmMzY2M3Yzg2MWNlMzcyM2ExODE0YjY0MGNmZjNmNGRhMGMy +NmQzMTZiM2IyMjRhOTUNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x7 +eXgc1ZWvbqtLOm4h6biJ7Wt5oXzBUCpLVVLJlm0Wb7KNbWxhbIMBA+1S9e1S2dV1 +m6pqLcy8SUNsVgcYEmKzhSUEiIGEbBCyGkICeclzMm+GJCRkEpLMy0cWBpjMC2Tj +fV9Vt9SWFyQb3j9Wd99zz/md3zn33HNvlS9NAsHE9lJJTiWhFpOpJEiYSCWhLvpc +jwk2FQh9cfe3a1kSCC5jEiTwO0kkagoIAgV5krJUbYAEpmhKblC+lGTTIEH/9tsX +apkEtXiXxCRI4jcIErUBavEkepLcoNwhqQ2QxEbaKDcpNxGGUEv3/vsdEpNAwmtr +I1kJm2mzjMrLCYaQpLu+s09iEtThU3VI1Aaow8l0spxWPlmXnpqug/27WU1NKkkS +tcmWOkjQUinJECT62eu/nGAS1ON3JSRqA9TjyfRk+QPK1ySGUEe/+IOrNSYB4D8T +JGoDAE6hU+SpyocIa4Z6uud/Xq2xJEzCQSRqCibhNDpNnqoMMASgjzzySi2TIIU/ +RiRqA6SQUipPV36EDGESffChn81kEjTgvxEkagM0YAttkWconyEMIUV/cNujwCQ4 +Ce8jSNQGOAln0pnyLOVWwhAa6EOvPApMgkb8bi0StQEacTadLZ+ifKeWIZxEX/k/ +DwOToAlfIUjUBmhCmcryHOVawpqhkX7hyYeBJaEZN0eBakZGmTxH2cSaoYne8of9 +wJKA2IJETQHiqfRU+TSFMoRm+uFrflnLJJiMf54a8TUZ59K58nTljakMAel/vfOL +WiZBGl9qRqI2QBpPp6fL05Vnm9KnpOvWX3eXXFOTapLq6mFSqgFOaoSmZmyRIEFL +3QxhMt373D6JSXAy3lEXqT8Zz6BnyGnlQ3WsGdL09afvllgSPoDTI2gfQIUqcqsy +nSGcTD+y/2GJSTAF/4UgURtgCqpUlecpzxPWDB+gd939sMSSMBUDJGoKpmIbbZPn +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 +ffN5Ltu9aD436rYNZANxuZHaNhAMB5bpupf/vwEA7MYm8EZEAAANCi0tZDM0MDYx +Mjk1OTJjM2NjN2M4NjFjZTM3MjNhMTgxNGI2NDBjZmYzZjRkYTBjMjZkMzE2YjNi +MjI0YTk1DQpDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InNh +bXBsZV90eXBlX2NvbmZpZyI7IGZpbGVuYW1lPSJzYW1wbGVfdHlwZV9jb25maWcu +anNvbiINCkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtDQoN +CnsiYWxsb2Nfb2JqZWN0cyI6eyJ1bml0cyI6Im9iamVjdHMifSwiYWxsb2Nfc3Bh +Y2UiOnsidW5pdHMiOiJieXRlcyJ9LCJpbnVzZV9vYmplY3RzIjp7InVuaXRzIjoi +b2JqZWN0cyIsImFnZ3JlZ2F0aW9uIjoiYXZlcmFnZSJ9LCJpbnVzZV9zcGFjZSI6 +eyJ1bml0cyI6ImJ5dGVzIiwiYWdncmVnYXRpb24iOiJhdmVyYWdlIn19DQotLWQz +NDA2MTI5NTkyYzNjYzdjODYxY2UzNzIzYTE4MTRiNjQwY2ZmM2Y0ZGEwYzI2ZDMx +NmIzYjIyNGE5NS0tDQo= +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 7294 +Content-Type: multipart/form-data; boundary=ca9269333d6808c1ca8fa1aba3c2c8f2eb7d6e0a61a67df07779cabd3c1b +Accept-Encoding: gzip +BODY: +LS1jYTkyNjkzMzNkNjgwOGMxY2E4ZmExYWJhM2MyYzhmMmViN2Q2ZTBhNjFhNjdk +ZjA3Nzc5Y2FiZDNjMWINCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAJbogE/7x6 +e3QcxZmvajQtfR4h6fOA7bJs43aBodWWuqWWLck2GNvyG78fGGPscaun1Go00zV0 +98hWdvdmYG0exiHe8DAEEzA4ODGPkHBDNifZrElI4JzNdbKPvMlmN2EPhyVhgWUv +kBC453SPpJFkhGSb+4803fU9ft+jvvqqqq+LA8HYnkJBTsShHOOJOEgYS8ShIvxd +iTFWC4S+/NQRicWB4HIkagIIAgV5gjKdIcToKz++X2ISxPCfYkjUKohhgibkKuXe +GEMop8+/eJ/EJCjHxyuQqFVQjhfQC+Rq5YsVyclJWHzwYXnxwYflRDmJlddJEKOF +xWwKxOk7z3xRYhLE8X7CJJDwB3EkahXEsYbWyLXK3UStAgmRolyr3BxnCBI9flvI +UoF3lCNRq6ACJ9KJcq1yOsZqoYL++V8elVgcKnFPaEQlJmlSvlChrBYq6Qe/fkxi +cQDcFA4CXkQvkicpbQwB6L++fUJiEkzAr8ZCwRNwMp0sT1GOxRjCBLr/zRMSkyCB +D0bDCaSUylOU9wlDSNC7fndCYhJU4TsEiVoFVTiVTpWnKP9NGEIVffbnJyQmwQX4 +eRIKvwDraJ08RbmbMIQL6FO/OSExCarxbyPuapxGp8lTlGdJclqy8ouxwq1yWVli +QlyqqIQJiaoL6iSI0UINQ6imR54PXV+D91cgUaugBqfT6XK18tcVrBZq6BvfPCqx +ONTiVCRqAmpxBp0hX6xMZQi19K6TJyQmAeI/EiRqFSDOpDNlWXmBsFpA+sDRExKL +w0T0kagJmIiz6CxZVjYzhIn0J78+ITEJkvj3BIlaBUlklMlTlL8jySnJirIyct/N +axJSdU0tTqyrgBgtFBazyZCkt9+2v5HF4UKczyS4CB+IIVETcCFeQi+RL1V0tQou +wtl0tnyZ8vkYq4UL6YvH/7WRxWESbgktmISX08tlRbmcIVxEH//+S41Mgsn4y8hz +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 +rum4ab5Py5q5KMTj61lLlsOPlK0HZmeGh1jqx0IfhWjIx0nCssI+5QZfuIOXe6EZ +3NMc1wm0ppGTeKyN12jC+4tJeHc5BkxpPgTTiLPxc8JUFN6PSbOFcXlJvu9L2422 +KPYGOY/nBqNqGJuG19yxIRkhsySapfVqBF0UxYn9W2AnMDt9x3WCkad451xri9cF +Tpdpcc0Wg0p9q5unHdcJBo+KvKApZYuRnz2cLxCmn02Z2XTrXM03DpDhWjTLtLq5 +voYHSz3TcX19tRvwTMZZszrNTaPJmKs160E2p68Ua003radSqWZbRFvPVFSHUpbI +porfhKREwDOpgXu+lJVND3+V6/OEoTTNb21rbbPaWuY1NafTbW3z0un2Vs47m41O +I51u4oZhmVaz1WZcoud9T884nfq+9tZU69zGjOPm9zXabl7POJ2W5gut1VBa061z +O5vbujpNq23+fN7anjbbeGd6/vz2eel01/zOeVZnS9s83mpoo4hLF2Xva29tbJ2r ++UIzDKVlXgtv7my1Ops477Sa2q2ulq6u9maDm7zdnNfcOZd3pVvb53KjYmdv2he7 +jMTOXr/Pt8xMZtf/GwCJfPpKNUAAAA0KLS1jYTkyNjkzMzNkNjgwOGMxY2E4ZmEx +YWJhM2MyYzhmMmViN2Q2ZTBhNjFhNjdkZjA3Nzc5Y2FiZDNjMWINCkNvbnRlbnQt +RGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0ic2FtcGxlX3R5cGVfY29uZmln +IjsgZmlsZW5hbWU9InNhbXBsZV90eXBlX2NvbmZpZy5qc29uIg0KQ29udGVudC1U +eXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KeyJhbGxvY19vYmplY3Rz +Ijp7InVuaXRzIjoib2JqZWN0cyJ9LCJhbGxvY19zcGFjZSI6eyJ1bml0cyI6ImJ5 +dGVzIn0sImludXNlX29iamVjdHMiOnsidW5pdHMiOiJvYmplY3RzIiwiYWdncmVn +YXRpb24iOiJhdmVyYWdlIn0sImludXNlX3NwYWNlIjp7InVuaXRzIjoiYnl0ZXMi +LCJhZ2dyZWdhdGlvbiI6ImF2ZXJhZ2UifX0NCi0tY2E5MjY5MzMzZDY4MDhjMWNh +OGZhMWFiYTNjMmM4ZjJlYjdkNmUwYTYxYTY3ZGYwNzc3OWNhYmQzYzFiLS0NCg== +******************* +HEADERS: +User-Agent: Go-http-client/1.1 +Content-Length: 1295 +Content-Type: multipart/form-data; boundary=76090d85f36437fddfaea676fd97e09b516b242fff854dbe191df0aeaaa5 +Accept-Encoding: gzip +BODY: +LS03NjA5MGQ4NWYzNjQzN2ZkZGZhZWE2NzZmZDk3ZTA5YjUxNmIyNDJmZmY4NTRk +YmUxOTFkZjBhZWFhYTUNCkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsg +bmFtZT0icHJvZmlsZSI7IGZpbGVuYW1lPSJwcm9maWxlLnBwcm9mIg0KQ29udGVu +dC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0NCg0KH4sIAAAAAAAE/7RS +TYzbxBf/O46TidN2p9uPneZfgTEXd6XY8SRxkhuqUGErkLghURXveDxx3NieyB+r +LCcfQAKEBFckinrgwgHRcoFTtUIc6AUQBw4IoYpLWe0K8SGQtgUW2UsoH+edyxu9 +937v93u/mcc/vvra27tvfrm3IleBACtyFYiw+tTnP9y8zZ8p7+v5O99U1RUgoK/2 +X6qoEhDgPVGVQAV+0oTCahMIUEKSUtPuiqtNUIF1VFeA9l5ThaCCPvulhIjwA7ns +FWEDNRSgfdtQIRDR3p2yXIWfgrJchTKSFaC9AlQIqui7vRcLQgluH6Al2ERN5Yh2 +S1YhkND261eLcg3+JpboGjyKjirHtK9FFYIauvFTia7DWwfoOlxCS8oRbaexvAQF +WKwl14SKWJVq6gOgjrZ/L8UAeB2qEmjAXaHc8v2DLQGECCo17V242gQNeBwdV5a1 +HUGFAKC37pZMEvxChsLfhtcrIpBq6gpooK2fy+Ey3C+8E+EbcilZhifQCWVZ+15c +PrbQJDUKVOsUEGB+O6+gPN/RlXxdO9k5NRRaLVCBef7yhzfvnEV5vltEJc9l7XRn +pXUGiDDfev6jsnbt1SIquaKhzpnWSVCF+db1H3/dfxDl+Y0iaq1WC0gwz/N7+8UR +UH5tcdX+j/+H6wkJZwFLsER5FqVYpLMMNyMS8YRRHrkJPhVnUeqHTNdWw2RGonO6 +QxKG140JD5kxiXnIn2NTYnjcmE09I+Su4fGARJ7OY89IOQ/ohPjRIxsdvaObbY+b +Ojb1rh74UTZvk9C1ekYSUyPOotQPmRFOGJnpHsfLcRalfsh0L2ab3LnCaIodY3JI +rB4NSTzVPY7/4k0oibhzhdEUL8V/muDRR2PiR/js/cR570kST5/m8ZTF+jiLKMbP +Hpo5Hi0knliwJ5tJysIkJXSK6WGRkiS0SehaPT3BpxfM3j/2vp/XVj163k+Tc7rj +pzP80KJfW/yewuai4QKP1yKXzbFzWLpDx09DUv6lMwsZE0ZmBbsesXl6gSQpfkH4 +N79OCZ0w4yJLzxdvnRhrUcqCwL+45jKCO7inm0YazozH+BMkcg3btk2P207mB67t ++ekkc2zKQztkaexTbvOUBTblQcBoymObhq7NUxbYlAcBoymP7dlmzLHWGVkDa0AH +3X7HdN3BoO+6Q4sxx8QOdt0Ow5gSatIBftjIktgIfMeYDy3b6rUDP8rmbS/KiiTV +E65bWLNcq+eYg7FD6GA0YtbQJQPmuKPRsO+645HTp0530GcW1o0siY3Ad4z/jnPb +gR9l8/Z8aLWL9+c6xlq332WmY1Gnw5hDO0M67o7HQxMzwoakbzo9NnatYY/h2qUN +N+GXsXxpI9lMKAmCy38EAAD//6sEfUGMBgAADQotLTc2MDkwZDg1ZjM2NDM3ZmRk +ZmFlYTY3NmZkOTdlMDliNTE2YjI0MmZmZjg1NGRiZTE5MWRmMGFlYWFhNS0tDQo= +*******************"#; + +const EXPECTED_NAMES: &str = "bufio.(*Writer).Flush, bufio.NewReaderSize, cloud.google.com/go/logging/apiv2/loggingpb.file_google_logging_v2_logging_config_proto_init, cloud.google.com/go/logging/apiv2/loggingpb.init.2, compress/flate.NewWriter, compress/flate.newDeflateFast, crypto/x509.(*CertPool).AddCert, crypto/x509.ParseCertificate, crypto/x509.parseCertificate, crypto/x509/pkix.(*Name).FillFromRDNSequence, github.com/ClickHouse/clickhouse-go/v2.(*clickhouse).Ping, github.com/ClickHouse/clickhouse-go/v2.(*clickhouse).acquire, github.com/ClickHouse/clickhouse-go/v2.(*clickhouse).dial, github.com/ClickHouse/clickhouse-go/v2.(*clickhouse).dial.func1, github.com/ClickHouse/clickhouse-go/v2.DefaultDialStrategy, github.com/ClickHouse/clickhouse-go/v2.dial, github.com/DataDog/datadog-agent/pkg/util/scrubber.AddDefaultReplacers, github.com/DataDog/datadog-agent/pkg/util/scrubber.init.0, github.com/alecthomas/participle/v2.(*generatorContext).parseCapture, github.com/alecthomas/participle/v2.(*generatorContext).parseDisjunction, github.com/alecthomas/participle/v2.(*generatorContext).parseGroup, github.com/alecthomas/participle/v2.(*generatorContext).parseSequence, github.com/alecthomas/participle/v2.(*generatorContext).parseTerm, github.com/alecthomas/participle/v2.(*generatorContext).parseTermNoModifiers, github.com/alecthomas/participle/v2.(*generatorContext).parseType, github.com/alecthomas/participle/v2.(*generatorContext).subparseGroup, github.com/alecthomas/participle/v2.(*structLexer).Next, github.com/alecthomas/participle/v2.(*structLexer).Peek, github.com/alecthomas/participle/v2/lexer.Upgrade, github.com/aws/aws-sdk-go-v2/service/sso/internal/endpoints.init, github.com/aws/aws-sdk-go/aws/endpoints.init, github.com/envoyproxy/go-control-plane/envoy/config/overload/v3.file_envoy_config_overload_v3_overload_proto_init, github.com/envoyproxy/go-control-plane/envoy/config/overload/v3.init.0, github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3.file_envoy_type_matcher_v3_status_code_input_proto_init, github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3.init.7, github.com/goccy/go-json/internal/decoder.init.0, github.com/goccy/go-json/internal/encoder.init.0, github.com/gogo/protobuf/proto.RegisterType, github.com/google/gnostic-models/openapiv3.file_openapiv3_OpenAPIv3_proto_init, github.com/google/gnostic-models/openapiv3.init.0, github.com/google/pprof/profile.init, github.com/gorilla/mux.(*Router).ServeHTTP, github.com/grafana/pyroscope-go.(*Session).Start.func1, github.com/grafana/pyroscope-go.(*Session).Start.func2, github.com/grafana/pyroscope-go.(*Session).dumpHeapProfile, github.com/grafana/pyroscope-go.(*Session).reset, github.com/grafana/pyroscope-go.(*Session).takeSnapshots, github.com/grafana/pyroscope-go.(*Session).uploadData, github.com/grafana/pyroscope-go.(*cpuProfileCollector).Start, github.com/grafana/pyroscope-go.(*cpuProfileCollector).reset, github.com/grafana/pyroscope-go/godeltaprof.(*HeapProfiler).Profile, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*DeltaHeapProfiler).WriteHeapProto, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).Build, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).LocsForStack, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).Sample, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).emitLocation, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).flush, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*profileBuilder).stringIndex, github.com/grafana/pyroscope-go/godeltaprof/internal/pprof.(*protobuf).int64s, github.com/grafana/pyroscope-go/internal/pprof.defaultCollector.StartCPUProfile, github.com/grafana/pyroscope-go/upstream/remote.(*Remote).handleJobs, github.com/grafana/pyroscope-go/upstream/remote.(*Remote).safeUpload, github.com/klauspost/compress/flate.(*Writer).Close, github.com/klauspost/compress/flate.(*compressor).close, github.com/klauspost/compress/flate.(*compressor).storeFast, github.com/klauspost/compress/flate.(*fastEncL1).Encode, github.com/klauspost/compress/flate.(*fastGen).addBlock, github.com/klauspost/compress/flate.NewWriter, github.com/klauspost/compress/flate.newFastEnc, github.com/lib/pq.init, github.com/metrico/otel-collector/exporter/clickhouseprofileexporter.createLogsExporter, github.com/metrico/otel-collector/exporter/clickhouseprofileexporter.newClickhouseProfileExporter, github.com/metrico/otel-collector/exporter/clickhouseprofileexporter/ch.NewClickhouseAccessNativeColumnar, github.com/metrico/otel-collector/receiver/pyroscopereceiver.(*pyroscopeReceiver).httpHandlerIngest, github.com/metrico/otel-collector/receiver/pyroscopereceiver.newPyroscopeReceiver.func1, github.com/metrico/otel-collector/receiver/pyroscopereceiver/jfrparser.init, github.com/opencontainers/go-digest.init, github.com/prometheus/procfs.init, github.com/snowflakedb/gosnowflake.init.3, github.com/snowflakedb/gosnowflake.readCACerts, github.com/spf13/cobra.(*Command).Execute, github.com/spf13/cobra.(*Command).ExecuteC, github.com/spf13/cobra.(*Command).execute, github.com/vmware/govmomi/vim25/types.init.2644, github.com/vmware/govmomi/vim25/types.init.3073, github.com/vmware/govmomi/vim25/types.init.6146, github.com/xdg-go/stringprep.init, github.com/xdg-go/stringprep.map.init.2, go.opencensus.io/resource.init, go.opencensus.io/trace/tracestate.init, go.opentelemetry.io/collector/config/confighttp.(*ServerConfig).ToServerContext.maxRequestBodySizeInterceptor.func2, go.opentelemetry.io/collector/config/confighttp.(*clientInfoHandler).ServeHTTP, go.opentelemetry.io/collector/config/confighttp.(*decompressor).ServeHTTP, go.opentelemetry.io/collector/exporter.(*Builder).CreateLogs, go.opentelemetry.io/collector/exporter.CreateLogsFunc.CreateLogsExporter, go.opentelemetry.io/collector/otelcol.(*Collector).Run, go.opentelemetry.io/collector/otelcol.(*Collector).setupConfigurationComponents, go.opentelemetry.io/collector/otelcol.NewCommand.func1, go.opentelemetry.io/collector/service.(*Service).initExtensionsAndPipeline, go.opentelemetry.io/collector/service.New, go.opentelemetry.io/collector/service/internal/graph.(*Graph).buildComponents, go.opentelemetry.io/collector/service/internal/graph.(*exporterNode).buildComponent, go.opentelemetry.io/collector/service/internal/graph.Build, go.opentelemetry.io/collector/service/telemetry.New, go.opentelemetry.io/collector/service/telemetry.newLogger, go.opentelemetry.io/collector/service/telemetry.newSampledLogger, go.opentelemetry.io/collector/service/telemetry.newSampledLogger.WrapCore.func2, go.opentelemetry.io/collector/service/telemetry.newSampledLogger.func1, go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.(*middleware).serveHTTP, go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp.NewMiddleware.func1.1, go.uber.org/zap.(*Logger).WithOptions, go.uber.org/zap.optionFunc.apply, go.uber.org/zap/zapcore.newCounters, golang.org/x/text/encoding/ianaindex.init, golang.org/x/text/encoding/ianaindex.map.init.0, google.golang.org/protobuf/internal/filedesc.(*File).initDecls, google.golang.org/protobuf/internal/filedesc.(*File).unmarshalSeed, google.golang.org/protobuf/internal/filedesc.(*Message).unmarshalSeed, google.golang.org/protobuf/internal/filedesc.Builder.Build, google.golang.org/protobuf/internal/filedesc.appendFullName, google.golang.org/protobuf/internal/filedesc.newRawFile, google.golang.org/protobuf/internal/filetype.Builder.Build, google.golang.org/protobuf/internal/strs.(*Builder).grow, io.ReadAll, k8s.io/api/admissionregistration/v1beta1.addKnownTypes, k8s.io/api/authorization/v1beta1.init.0, k8s.io/api/autoscaling/v2beta1.init.0, k8s.io/api/core/v1.addKnownTypes, k8s.io/api/flowcontrol/v1beta1.addKnownTypes, k8s.io/apimachinery/pkg/apis/meta/v1.AddToGroupVersion, k8s.io/apimachinery/pkg/runtime.(*Scheme).AddKnownTypeWithName, k8s.io/apimachinery/pkg/runtime.(*Scheme).AddKnownTypes, k8s.io/apimachinery/pkg/runtime.(*SchemeBuilder).AddToScheme, k8s.io/client-go/kubernetes/scheme.init.0, main.run, main.runInteractive, n/a, net.(*conn).Write, net.(*netFD).Write, net/http.(*conn).serve, net/http.(*persistConn).writeLoop, net/http.HandlerFunc.ServeHTTP, net/http.NewRequest, net/http.NewRequestWithContext, net/http.persistConnWriter.Write, net/http.serverHandler.ServeHTTP, os.ReadFile, reflect.(*rtype).Method, reflect.(*rtype).MethodByName, reflect.FuncOf, reflect.Value.MethodByName, reflect.typelinks, reflect.typesByString, regexp.Compile, regexp.compile, regexp.compileOnePass, regexp.makeOnePass, regexp.newQueue, regexp/syntax.(*Regexp).Simplify, regexp/syntax.(*compiler).compile, regexp/syntax.(*compiler).inst, regexp/syntax.Compile, runtime.(*gcBits).bitp, runtime.(*gcWork).tryGet, runtime.(*itabTableType).find, runtime.(*lfstack).pop, runtime.(*lfstack).push, runtime.(*mspan).base, runtime.(*pageAlloc).scavenge, runtime.(*pageAlloc).scavenge.func1, runtime.(*scavengerState).init.func2, runtime.(*scavengerState).run, runtime.(*stkframe).getStackMap, runtime.assertI2I2, runtime.bgscavenge, runtime.doInit, runtime.doInit1, runtime.gcBgMarkWorker, runtime.gcBgMarkWorker.func2, runtime.gcDrain, runtime.getitab, runtime.greyobject, runtime.heapBits.nextFast, runtime.itabsinit, runtime.madvise, runtime.main, runtime.markroot, runtime.markroot.func1, runtime.memmove, runtime.pcdatavalue, runtime.pcvalue, runtime.putempty, runtime.readvarint, runtime.rt0_go, runtime.scanframeworker, runtime.scanobject, runtime.scanstack, runtime.schedinit, runtime.sysUnused, runtime.sysUnusedOS, runtime.systemstack, runtime/internal/syscall.Syscall6, runtime/pprof.(*profMap).lookup, runtime/pprof.(*profileBuilder).addCPUData, runtime/pprof.(*profileBuilder).build, runtime/pprof.(*profileBuilder).readMapping, runtime/pprof.StartCPUProfile, runtime/pprof.newProfileBuilder, runtime/pprof.profileWriter, syscall.RawSyscall6, syscall.Syscall, syscall.Write, syscall.write, total"; +const EXPECTED_MAP: &str = r#"0: [38742454760335319, 40087946534119400, 42596367897004777, 48771580209901686, 53990741595935099, 57088183000490135, 58557529421486831, 59457293053784180, 59593299692301340, 66048360549176157, 67085792033845063, 67191441878081537, 67662774102607196, 69612847511641035] +38742454760335319: [100628372814638195] +40087946534119400: [79270644668093111] +42596367897004777: [101487633555280136] +48771580209901686: [94918361600696052] +53990741595935099: [107434199424883752, 89550126155032432, 94200449688993973] +57088183000490135: [99612870642839279] +58557529421486831: [76842973892222616] +59457293053784180: [100063261950489098] +59593299692301340: [91363841374301870] +66048360549176157: [97043151921186953] +67085792033845063: [98457092565724063] +67191441878081537: [80234187892307127] +67662774102607196: [100070498862204333] +69612847511641035: [93989015620725212] +76842973892222616: [141511466637999628] +79270644668093111: [140046790225519686] +80234187892307127: [108446884271945857, 113267436422830507, 114248832421025570, 114885430980069358, 115331698473596966, 117892689794117372, 119726413661300012, 121372394715467071, 125414451763041269, 128617529603403115, 130674963834653131, 131369017856162869, 131377443943695927, 133162168510851715, 133224444749139462, 133456625119750025, 133670685672466743, 135704509429414406, 136256372519083004, 136369426990552861, 136900252284730992, 138350841599489442, 141632261736556477, 141644186349176910, 142921258866238155] +89550126155032432: [132968328674819128] +91363841374301870: [112927787583348828] +93989015620725212: [123859131567339026] +94200449688993973: [111305032523588391] +94918361600696052: [115517637213504835] +97043151921186953: [138755457801079417] +98457092565724063: [131444219727285889] +99612870642839279: [143056642792749795] +100063261950489098: [114239512416445153] +100070498862204333: [113036276560317227] +100628372814638195: [113202375439754492] +101487633555280136: [138302629414163253] +107434199424883752: [143716402966321512] +108446884271945857: [164598631465211387] +113036276560317227: [162585562039257624] +113202375439754492: [144907925925522891] +114239512416445153: [176508602522439059] +114248832421025570: [179755313256235787] +115331698473596966: [162678103806317869] +115517637213504835: [166486937955124181] +117892689794117372: [168707815736043364] +119726413661300012: [151672128231048010] +121372394715467071: [146560668754513061] +123859131567339026: [167803307762682777] +125414451763041269: [150771910060347665] +128617529603403115: [149591371078846279] +130674963834653131: [152957885916485528] +131377443943695927: [171871083424469921] +131444219727285889: [158560652969149676] +132968328674819128: [174607084807025992] +133162168510851715: [160368297165868928] +133224444749139462: [166300091472105835] +133456625119750025: [171820145069951969] +135704509429414406: [177677207921798470] +136256372519083004: [172843056586582600] +136369426990552861: [171635302867278403] +136900252284730992: [159371476378974887] +138302629414163253: [152091754849386483] +138350841599489442: [170753895802118158] +138755457801079417: [169936498903112440] +140046790225519686: [162052294746411150] +141511466637999628: [154563265271950256] +141644186349176910: [172439205468229740] +143056642792749795: [151373822819177589] +143716402966321512: [147895167036604141] +144907925925522891: [211823748967180240] +146560668754513061: [202372133294706040] +149591371078846279: [183845667997627588] +151373822819177589: [204504177385824931] +151672128231048010: [203035540117135618] +152091754849386483: [190431325594563993] +154563265271950256: [202382720767460487] +158560652969149676: [203771058446615966] +159371476378974887: [180529091226645867] +160368297165868928: [209291742825885717] +162052294746411150: [181754272285663650] +162585562039257624: [205012902263967563, 206106656114774191, 208139625951028649, 213747929336669041] +162678103806317869: [193609792679648060] +166300091472105835: [203175429227652691] +166486937955124181: [214733506333145550] +167803307762682777: [212288632265080590] +168707815736043364: [200420868017042899] +169936498903112440: [207016626847385621] +170753895802118158: [207696567357905885, 211229286556507985] +171635302867278403: [215891770457407678] +171820145069951969: [198185094474001340] +171871083424469921: [202139988629356393] +172439205468229740: [184990442633448882] +172843056586582600: [202028551340529695] +176508602522439059: [192684785179366918] +177677207921798470: [212698517895877695] +180529091226645867: [234212302893142491] +181754272285663650: [223163788020989333] +183845667997627588: [218657610839969430] +184990442633448882: [244915317080401139] +190431325594563993: [243728370117120237] +192684785179366918: [230844740840469675] +193609792679648060: [237537306502838130] +198185094474001340: [243079623770450903] +200420868017042899: [223583814222236675] +202028551340529695: [243525418435742126] +202139988629356393: [217731971905874853] +202372133294706040: [241945877256331538] +202382720767460487: [231336693026650961] +203035540117135618: [248986284621543964] +203175429227652691: [232498376900343756] +203771058446615966: [241946918561780749] +205012902263967563: [222240240991495290, 228138096816433381, 229786537842853059] +206106656114774191: [231182262209661194] +207016626847385621: [245709583625582887] +209291742825885717: [235127192721045853] +211229286556507985: [225119056699523582] +211823748967180240: [227812771612588225] +212288632265080590: [225741202102833501] +212698517895877695: [223622488125970319, 226074041614824704, 226326886345647069] +213747929336669041: [242278203730768664, 246612818468819164] +214733506333145550: [248406561647853472] +215891770457407678: [249196627458800899] +217731971905874853: [280131986563362610] +218657610839969430: [267039375489569399] +223163788020989333: [260677813958852540] +223583814222236675: [256498835618521422] +223622488125970319: [260571114322058968] +225119056699523582: [256039287245742699] +225741202102833501: [254727702034572013] +226074041614824704: [287930622953249787] +226326886345647069: [271805855373081495] +227812771612588225: [257319139697943423] +230844740840469675: [276073338854032635] +231182262209661194: [281236825529333440] +231336693026650961: [278691972420507434] +232498376900343756: [261144471606523809] +234212302893142491: [257783987186986042] +235127192721045853: [273578698003240119] +237537306502838130: [285763816937176870] +241945877256331538: [268438102404688691] +241946918561780749: [257241256473655176] +243525418435742126: [276134307233260561] +243728370117120237: [281969803670885355] +244915317080401139: [269936810596416513] +245709583625582887: [257463554105572768] +246612818468819164: [277288251556112728] +248406561647853472: [252569824539384422] +248986284621543964: [261400615560482546] +249196627458800899: [272798692730783874] +252569824539384422: [305292813914654951] +256498835618521422: [312763589063956012] +257241256473655176: [306111611259841957] +257319139697943423: [299082446479950134] +257463554105572768: [310279315742847272] +257783987186986042: [320401531452854762] +260571114322058968: [309455851780254571] +260677813958852540: [296247052900183451, 317744443962260464, 323186131871480845] +267039375489569399: [319439935469660530] +269936810596416513: [308011307883155678] +271805855373081495: [295467226836533886] +273578698003240119: [320300640419126287] +276073338854032635: [319187190984906169] +278691972420507434: [323560718645185674] +281236825529333440: [306077811224786879] +281969803670885355: [315953078079461946] +285763816937176870: [316913844144087631] +287930622953249787: [303827084499332991] +295467226836533886: [326409636778730601] +296247052900183451: [349618734685561198, 359288355374643511] +299082446479950134: [331359355115483339] +303827084499332991: [338780526052653927] +305292813914654951: [350889042354921962] +306077811224786879: [340916933448816229] +306111611259841957: [327550878786529068] +310279315742847272: [336163923347285241] +312763589063956012: [326613319977195793] +315953078079461946: [325145473923500605] +317744443962260464: [350168639796857360, 359131412474089459] +319187190984906169: [339354010836253434] +319439935469660530: [345933865856257569] +320300640419126287: [328924661850434419] +323186131871480845: [345577853602457116, 357491054556179667] +323560718645185674: [345639817392002662] +325145473923500605: [365276176966701378] +327550878786529068: [382409820864484947] +331359355115483339: [396161431009652089] +336163923347285241: [361022495174443294] +338780526052653927: [385220733308424239] +339354010836253434: [390788673691463970] +340916933448816229: [393832446376904874] +345577853602457116: [367001874425340950] +345639817392002662: [392863616087521191] +345933865856257569: [363770127908956666] +349618734685561198: [395656354623906696] +350168639796857360: [395541453753437426] +357491054556179667: [386153478011204969] +361022495174443294: [426468028027318203] +363770127908956666: [413105119106341518] +365276176966701378: [414131856178699368, 427478550692068623] +385220733308424239: [411557834771911607] +390788673691463970: [416118621215589990] +392863616087521191: [429645746188757495] +393832446376904874: [401174625198593520] +395541453753437426: [419391523947149865] +395656354623906696: [425632162216103475] +396161431009652089: [431936995650807243] +401174625198593520: [456447508180047158] +411557834771911607: [437861033291124710] +414131856178699368: [437033094921809140] +416118621215589990: [446096569348012462] +419391523947149865: [465704827954701504] +425632162216103475: [437489796624700501] +426468028027318203: [452497480807275245] +427478550692068623: [448483283656531511] +429645746188757495: [435023920018836649] +431936995650807243: [463212886879666703] +435023920018836649: [497604134777822163] +437033094921809140: [472676070278615598] +437861033291124710: [488097452589611931] +446096569348012462: [486403981884537998] +448483283656531511: [485108097661571896] +452497480807275245: [499306537905829224] +463212886879666703: [478497921702831780] +465704827954701504: [474155843758329780] +472676070278615598: [514941220186423434] +478497921702831780: [507613228799022537] +485108097661571896: [521502711493770737] +486403981884537998: [539125783741006397] +488097452589611931: [510679870848207228] +497604134777822163: [539770343320994095] +499306537905829224: [517534758553984568] +507613228799022537: [544973614009445412] +514941220186423434: [550526413983358244] +521502711493770737: [552048866168332286] +539125783741006397: [553053910897306124] +539770343320994095: [568796492124626177] +544973614009445412: [603048788829292163] +550526413983358244: [583586592627894792] +552048866168332286: [592383109338724224] +553053910897306124: [595826071670654526] +568796492124626177: [589612847844729594] +583586592627894792: [641396004492829198] +589612847844729594: [639492022376244668] +592383109338724224: [631152865748449390] +595826071670654526: [623605633815227692] +603048788829292163: [642148023643848224] +623605633815227692: [663812272016721927] +631152865748449390: [657922135552082607] +639492022376244668: [684347966288065243] +641396004492829198: [659329956224601251] +642148023643848224: [658011455666624803] +658011455666624803: [701377244087752852] +659329956224601251: [710883616105928487] +663812272016721927: [692611675432640454] +684347966288065243: [709834451815324138] +692611675432640454: [727858206006214905] +701377244087752852: [744127002732167100] +709834451815324138: [728259091397428983] +710883616105928487: [741318177634328511] +727858206006214905: [772615364345543035] +728259091397428983: [771868168823000744] +741318177634328511: [760902393548738380] +744127002732167100: [789103945439592791] +760902393548738380: [802556183189320716] +771868168823000744: [807210588330467000] +772615364345543035: [819758594897649876] +789103945439592791: [802714868440700285] +802556183189320716: [856519119881828781] +802714868440700285: [842366458003816992] +807210588330467000: [858208801750801133] +819758594897649876: [860849857165541675] +842366458003816992: [872896174453274103] +856519119881828781: [898702575464302642] +858208801750801133: [882798593320449911] +860849857165541675: [867629405263846024] +867629405263846024: [925077370316601880] +872896174453274103: [925302796778635955] +882798593320449911: [928341377466988897] +898702575464302642: [910131451510442396] +910131451510442396: [967539570511740301] +925077370316601880: [936830443724683529] +925302796778635955: [942446406691314293] +928341377466988897: [937034112021755462] +936830443724683529: [978337694696331794] +937034112021755462: [1008333201575256740] +942446406691314293: [973646071648783645] +973646071648783645: [1039417800972441990] +978337694696331794: [1019903727548730494] +1008333201575256740: [1025894988602438855] +1019903727548730494: [1047856586150546435] +1025894988602438855: [1069379696897221201] +1039417800972441990: [1062132269117042055] +1047856586150546435: [1094195406916561896] +1062132269117042055: [1094103587605650923] +1069379696897221201: [1093278396076019935] +1093278396076019935: [1124970154624221772] +1094103587605650923: [1128890574693008158] +1094195406916561896: [1120238951528850364, 1144429090257526679] +1120238951528850364: [1177891509056271968] +1124970154624221772: [1181139411236334438] +1144429090257526679: [1179266705547649400] +"#; From d5a74e62a577758ecf22af2d41722d42443ea118 Mon Sep 17 00:00:00 2001 From: akvlad Date: Thu, 17 Oct 2024 19:39:38 +0300 Subject: [PATCH 11/19] debug --- pyroscope/pprof-bin/pkg/pprof_bin_bg.wasm | Bin 217160 -> 217145 bytes pyroscope/pprof-bin/src/lib.rs | 1 + pyroscope/pprof-bin/src/utest.rs | 42 +++++++++++++++++++++- 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/pyroscope/pprof-bin/pkg/pprof_bin_bg.wasm b/pyroscope/pprof-bin/pkg/pprof_bin_bg.wasm index ffc31bdfb20b43755f13bb45e9504b78a5abd208..51a32c0746b3bfdb4f9f49fa125fdb86c16c1bd0 100644 GIT binary patch delta 2516 zcmZ9NUrby@6vpSwUFhPnbb-b4r|ixy%d!-d6wsCkWVg~3)0i}|zWAVRl!tB+qS8c5 zldF=L_@Fi+b$rp{gA&_55VcvW(a@x=fDb~@#3XdkvUv>~=ep!f~!#j|&lyZ8Lg z`DV_Ux#!NE8uMQm^G{5BXklc=lbP{Q!SC{Jm!A8RR7IVtO2~lu3kKeiswx#rM`F70 zI@we={>F9kSRqxX-^|h;Zzv(X5le;ie3s&cD&X&aTO_Pu_g8q_W&18q@#=mu5m@mur+HR$DAlx%8v zAwtFE^U0(tRvqamA#+rkF|a(*S|w9*C>`mRNlOpkp}0PCo8lDC%-yCQDh!*-!n$UO z4#3yHM1D(plDhjIh4jcOJt@6Dec}%7r?AF=v!jC-3-v2^Y1B3F*?;J$MPvH=Wr}qM zRjpY7(lr)wR#BJMYmVwy1fHTB<@SkV+m+B?5b@VR_S0 zU*H-kA0GbD8l9o~Q(@U!P@l%5(UUJx@O)ZUS|uR}RT(loj3gm_(vqiYVye7R7Vm;1 zW}@Y(peex!>U7d0pP^W0%p+f(v>y>d)ZpqZ3W)n~@5B`rsaHoQg>Sye@g9Wt0j4rs z%Xk2G1>->%Yj7EhzXv;L*v_SWAHWkBt~P>P{50(CjK^Rr7eC1O670Q8oH&<8Sszc>#;B@=uBE@%8Dn786r;LQo3``R`B8!+2qaRtmf z>07XKR@&x>oq~g(O@e-(V!k6Yi1P(ZfK9=K%lw>{7Vz`Jw@UF;o}&r^#RgR8 z_~46ueQM|Wf2%WD)-_p?l|OlD#{N#)fzsD8pE(EH)yDT^L~mV?bySvVTaayA?0-?D zIYvKe*a$C!&1>aw5z_GZPhfM9IPsssVaC6JVP5x)q*pe|~e;Kod5 zAi1ImiP1!jVJ9XEOVAk5C}Ok_O<2N&iHS-eMk5$al)wxbixH>J&Htgj^Xc7kd(ZDY z&pmJV^z_tNU~(*Q{0obId;YwYId4(H&*DIry6`K>r7>BZ6hZwF3cf64bt;yQHmJg@ z)b4)@2r^$PrYRac#>$fFYA=-%T2(q?)-&-Mz`dDEZ0f zlYZHrwh6u3q9;%wQL^l?6e%&Bj&>nK)+a^GCK>7rkSkRdg z%p9Ge4OA%gc%|AtOPf)*;dcs{qQ_F(W+<+1+@d&1g~WH&=|AapPx1$|w9}+lRLva4 zI>UMz7|IG;=#EW2ESW7^x}3}oB3h(Tn?teev>cgGd*^7cl^C=GYHpg=mI#c=7HI@J z{-qWgSG#d5?ULb?mA1q81;}6EQ>*4Fq6Tl#1CJK@WJpqKVszXH9wI|aq{i}eoCzyZ zWz#0BTdz%st&KEw`=(sCF(7U)v~KlM_DQvJo~F@Zc!8R5>s!Fvim3htI!5t>LD5_g zPvf1a@jVp!c&n%~OCy+rT!KZpTNv0I`%Q7Mra@LT3jZ2ZH0WqWDwNJ8#MEj_JVXtd zS1mCz?%ZP-Mh&jslAv)1?j5)yM(Wwu#tq-a<5*Ak| zhqRqsw{HNv1MRzXLN0y?@y9sCHaU)t<=5u>X-W-DiY6x^^0&cyn13-k;bzvXwq$Pe6EFT#ApFTv6OM{FE{`HH*+x3c)#u+4l7Zu5BY zXhQ$SM@Xn*37^0f%qL;K6;Hv74IuAR&-0(bY>ABtnD3;|VfU-47 zcUk7CFNG5<-;V+4bFfure@~tpy)5dfJQKStT8f-m3`w7&M-$oTU$FjGxh_I4JpL`L z&k;BN9UNi)9*!BQv2XBe^#{3GS5Vu=vVMZ4c6+Yd8C39Y{)X4G2mXP#Fwcuj*)L+* Fz<&oAK4ky^ diff --git a/pyroscope/pprof-bin/src/lib.rs b/pyroscope/pprof-bin/src/lib.rs index 140c73d2..deb53196 100644 --- a/pyroscope/pprof-bin/src/lib.rs +++ b/pyroscope/pprof-bin/src/lib.rs @@ -321,6 +321,7 @@ fn bfs(t: &Tree, res: &mut Vec, sample_type: String) { } } else { prepend += parent.total[sample_type_index]; + continue; } prepend += parent.slf[sample_type_index]; diff --git a/pyroscope/pprof-bin/src/utest.rs b/pyroscope/pprof-bin/src/utest.rs index e15857ff..efd34d6f 100644 --- a/pyroscope/pprof-bin/src/utest.rs +++ b/pyroscope/pprof-bin/src/utest.rs @@ -41,6 +41,9 @@ pub fn get_test_pprof_data() -> Vec> { #[cfg(test)] mod tests { + use prost::Message; + use crate::{export_tree, merge_tree}; + use crate::pprof_pb::querier::v1::SelectMergeStacktracesResponse; use super::*; @@ -77,7 +80,44 @@ mod tests { assert_eq!(EXPECTED_MAP, map); } - + #[test] + fn test_merge_trees() { + let req = "lQM4EJ5XpRIwoR5rOHMuaW8vYXBpL2F1dG9zY2FsaW5nL3YxLmluaXRFYiBVOCYNuEtnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKmxvZ3NSZXF1ZXN0KS5FeHBvcnS7avKKFgtj2RlyZWZsZWN0Lm1hcGFzc2lnbl9mYXN0c3RyniLvClDdZNQ1Z2l0aHViLmNvbS9td2l0a293L2dvLWNvbm50cmFjay5kaWFsQ2xpZW50Q29ublRyYWNrZXKHvrqeyS/dNS1naXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmRlY29kZVVpbnQ2NHMQR4RwgXBT0DVnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvLigqU2Vzc2lvbikudXBsb2FkRGF0YWOP1HtkwmPtGnJlZ2V4cC4oKlJlZ2V4cCkuZG9FeGVjdXRl1hmtUAzcCFNGZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL3Byb3RvLigqQmxvY2spLkVuY29kZUNvbHVtbgTvGlCF6nLBGHJlZ2V4cC5tYWtlT25lUGFzcy5mdW5jMYa6KjODtUD6KWdpdGh1Yi5jb20vc25vd2ZsYWtlZGIvZ29zbm93Zmxha2UuaW5pdC4zhxFhaZkCBnkuZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS4oKkxpbmUpLmVuY29kZTO+7trPy/thOGdpdGh1Yi5jb20vbXdpdGtvdy9nby1jb25udHJhY2suTmV3RGlhbENvbnRleHRGdW5jLmZ1bmMxOKhH8IQR9QBLZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci5idWlsZExhYmVsU2V0LmZ1bmMxymwXQT+p92dPZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3Ivc2VydmljZS90ZWxlbWV0cnkubmV3U2FtcGxlZExvZ2dlci5XcmFwQ29yZS5mdW5jMg2TSS6sZFJDG3J1bnRpbWUvZGVidWcuUmVhZEJ1aWxkSW5mbyXtvEZDLdz5P2dpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL21vZGVsL2xhYmVscy4oKkJ1aWxkZXIpLkxhYmVsc7LfK9W0QakgTmdpdGh1Yi5jb20vYXBhY2hlL2Fycm93L2dvL3YxNS9hcnJvdy9jb21wdXRlL2ludGVybmFsL2tlcm5lbHMuR2V0Q29tcGFyZUtlcm5lbEDCYcfITsOmC2ZtdC5GcHJpbnRmFjkDL11RpWUqZ2l0aHViLmNvbS9taXRjaGVsbGgvcmVmbGVjdHdhbGsud2Fsa1NsaWNlj+ftEr5A+3RYZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5zdHJpbmdJbmRleGacV+uzc/yvQWdpdGh1Yi5jb20vYWxlY3Rob21hcy9wYXJ0aWNpcGxlL3YyLigqZ2VuZXJhdG9yQ29udGV4dCkucGFyc2VUZXJt7N8tqosTFuYicmVnZXhwL3N5bnRheC4oKnBhcnNlcikucGFyc2VDbGFzc93eY9mzZi7qLmdvLm9wZW50ZWxlbWV0cnkuaW8vcHJvdG8vb3RscC9tZXRyaWNzL3YxLmluaXSRY2O3J4YCaUBnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvcHJvdG8uKCpCbG9jaykuQXBwZW5kdB3UMdXNkcE2Z28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvY29uZm1hcC5OZXdGcm9tU3RyaW5nTWFwa41A1xmkGPBMZ2l0aHViLmNvbS9hbGVjdGhvbWFzL3BhcnRpY2lwbGUvdjIuKCpnZW5lcmF0b3JDb250ZXh0KS5wYXJzZVRlcm1Ob01vZGlmaWVyc6zmy1YLhh6CO2dpdGh1Yi5jb20vcHJvbWV0aGV1cy9jbGllbnRfZ29sYW5nL3Byb21ldGhldXMuTXVzdFJlZ2lzdGVyEQlPidk2qIAxZ2l0aHViLmNvbS9rbmFkaC9rb2FuZi9wcm92aWRlcnMvY29uZm1hcC5Qcm92aWRlcvSN/DlitF7QHnJlZ2V4cC9zeW50YXguKCpjb21waWxlcikuaW5zdBoJaBmHJBKqR2dpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vdXBzdHJlYW0vcmVtb3RlLigqUmVtb3RlKS51cGxvYWRQcm9maWxlExq2DGsKk+oRcnVudGltZS5zY2hlZGluaXTmWy3acgipcFFnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLmJhdGNoU2FtcGxlc0FuZFRpbWVTZXJpZXO1InxN+g8MBzJnby5vcGVudGVsZW1ldHJ5LmlvL290ZWwvYXR0cmlidXRlLmNvbXB1dGVEaXN0aW5jdB6lGk2m9bmZP2dpdGh1Yi5jb20vYXdzL2F3cy1zZGstZ28tdjIvc2VydmljZS9zMy9pbnRlcm5hbC9lbmRwb2ludHMuaW5pdIXQiFX0u+GCDWlvLkNvcHlCdWZmZXKfl+1+6jsc7lRnaXRodWIuY29tL3Byb21ldGhldXMvY2xpZW50X2dvbGFuZy9wcm9tZXRoZXVzLigqTWV0cmljVmVjKS5HZXRNZXRyaWNXaXRoTGFiZWxWYWx1ZXNVt8SFEJ/dQ1Fnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wcm9jZXNzb3IvcHJvY2Vzc29yaGVscGVyLk5ld01ldHJpY3NQcm9jZXNzb3IuZnVuYzHU+/N/qpUCGGFnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLigqbWV0cmljc0V4cG9ydGVyKS5leHBvcnRTdW1tYXJ5RGF0YVBvaW504+I/ChkicOUMcnVudGltZS5tYWluJ0mDKZ1S0iJMZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvcmVmbGVjdC9wcm90b3JlZ2lzdHJ5LigqRmlsZXMpLlJlZ2lzdGVyRmlsZS5mdW5jMmPoFr12xtVpN2dpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLigqY29tcHJlc3NvcikuY2xvc2VjdTi3XK1lzRhjb21wcmVzcy9mbGF0ZS5OZXdXcml0ZXJV52PsmAB49jlnaXRodWIuY29tL3Byb21ldGhldXMvY2xpZW50X2dvbGFuZy9wcm9tZXRoZXVzLk5ld1N1bW1hcnkXXBd0AnPTWhtydW50aW1lL3Bwcm9mLnByb2ZpbGVXcml0ZXI27TmsGdFln0pnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci5uZXdRdWV1ZVNlbmRlci5mdW5jMbbbw5u5qAo1PWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL2ludGVybmFsL2ZpbGVkZXNjLigqRmlsZSkubGF6eUluaXSpShfnknn0TRlyZWdleHAvc3ludGF4LmFwcGVuZFJhbmdluf2v+9l/AI8XY29tcHJlc3MvZ3ppcC5OZXdSZWFkZXI2MjsnJPFZb2NnaXRodWIuY29tL2FwYWNoZS9hcnJvdy9nby92MTUvYXJyb3cvY29tcHV0ZS9pbnRlcm5hbC9rZXJuZWxzLm51bWVyaWNDb21wYXJlS2VybmVsW2dvLnNoYXBlLnVpbnQxNl2IQ8a42Jma6UBnaXRodWIuY29tL3Byb21ldGhldXMvY2xpZW50X2dvbGFuZy9wcm9tZXRoZXVzLmlubGluZUxhYmVsVmFsdWVzOzevQGtZdk9EZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvZGlzY292ZXJ5L2ZpbGUubmV3RGlzY292ZXJlck1ldHJpY3MYdz9kf4AbFDdnaXRodWIuY29tL2FsZWN0aG9tYXMvcGFydGljaXBsZS92Mi4oKnN0cnVjdExleGVyKS5OZXh0r0rPjX20yxQuZ2l0aHViLmNvbS9zbm93Zmxha2VkYi9nb3Nub3dmbGFrZS5yZWFkQ0FDZXJ0c7U+on3o3hPceGdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCptZXRyaWNGYW1pbHkpLmFkZFNlcmllc3HrbMb7r59LMGdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28uKCpTZXNzaW9uKS5yZXNldIuKpmmPFI2HhQFnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcHJvY2Vzc29yL3Jlc291cmNlZGV0ZWN0aW9ucHJvY2Vzc29yL2ludGVybmFsLigqUmVzb3VyY2VQcm92aWRlcikuR2V0LmZ1bmMxUyTpN/63iZg3Z2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuKCpmYXN0R2VuKS5hZGRCbG9ja2sbH0+B3i/9Kmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3Byb3RvLlVubWFyc2hhbJhvjcbK/INxIXJlZ2V4cC9zeW50YXguKCpjb21waWxlcikuY29tcGlsZdpmYFT84JkSggFnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcHJvY2Vzc29yL3Jlc291cmNlZGV0ZWN0aW9ucHJvY2Vzc29yLigqcmVzb3VyY2VEZXRlY3Rpb25Qcm9jZXNzb3IpLlN0YXJ0yyTrCYCAOUc8Z2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby4oKmNwdVByb2ZpbGVDb2xsZWN0b3IpLnJlc2V0NrVRFAPRzEg1Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NoLWdvL3Byb3RvLkNvbFN0ci5FbmNvZGVDb2x1bW5uNZAWXBE3rEJnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqU3RyaW5nKS5FbmNvZGVpL4zajxSAZUtnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi9pbnRlcm5hbC9pbXBsLigqTWVzc2FnZUluZm8pLm1ha2VLbm93bkZpZWxkc0Z1bmMAr4RMnC0//g9yZWdleHAubmV3UXVldWVNFP+P84T1QiRuZXQvaHR0cC4oKnRyYW5zZmVyV3JpdGVyKS53cml0ZUJvZHl4RA+910vDWDpnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmJhdGNoKS5jbG9zZVF1ZXJ5/D1r9HTT/l4jZ2l0aHViLmNvbS9rbmFkaC9rb2FuZi9tYXBzLkZsYXR0ZW59dNVVSV4znRxydW50aW1lL2RlYnVnLlBhcnNlQnVpbGRJbmZvahl4MFX1rx0uZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NoLWdvL2NvbXByZXNzLk5ld1dyaXRlcoG+WqHhYEsVKWdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3NlcnZpY2UuTmV3Vl+JUTm3ggcVYnl0ZXMuKCpCdWZmZXIpLldyaXRl8fWcs8fyn5gpazhzLmlvL2FwaW1hY2hpbmVyeS9wa2cvdXRpbC92ZXJzaW9uLmluaXTfvWLUu3glZhNzeW5jLigqT25jZSkuZG9TbG93U0BS/vivkVQPc3luYy4oKk9uY2UpLkRvuZpJIeCbCaFUZ2l0aHViLmNvbS9hcGFjaGUvYXJyb3cvZ28vdjE1L2Fycm93L2NvbXB1dGUvaW50ZXJuYWwva2VybmVscy5jb21wYXJlVGltZXN0YW1wS2VybmVs2+Vqf4iVU24vZ2l0aHViLmNvbS9hbGVjdGhvbWFzL3BhcnRpY2lwbGUvdjIubmV3VGFnTGV4ZXJ+EV/AEe3NPjxnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLigqUHJvZmlsZSkuV3JpdGVVbmNvbXByZXNzZWRnyQNPwDwFFCZnaXRodWIuY29tL2tuYWRoL2tvYW5mL3YyLigqS29hbmYpLlJhd01s9+Ub8u/DQ2dpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnRpbWVMaW1pdEFwcGVuZGVyKS5BcHBlbmRTk464pBKMT0JnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqU3RyaW5nKS5BcHBlbmR2QKlGCfVv1xlyZWdleHAvc3ludGF4LmFwcGVuZFRhYmxlaQV7ueCLd+U3Z2l0aHViLmNvbS9zaGlyb3UvZ29wc3V0aWwvdjMvaW50ZXJuYWwvY29tbW9uLlJlYWRMaW5lc3N/6Ll627GEK2dpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUuaW5pdC5mdW5jMzQCmBH3Vwz+EDNnaXRodWIuY29tL2dvb2dsZS9nby1jbXAvY21wL2ludGVybmFsL2Z1bmN0aW9uLmluaXR6r1KnWG8MDkVnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi9pbnRlcm5hbC9maWxlZGVzYy4oKk1lc3NhZ2UpLnVubWFyc2hhbEZ1bGzcQV8CBaAKTyZnby5vcGVuY2Vuc3VzLmlvL3RyYWNlL3RyYWNlc3RhdGUuaW5pdNAxQmMhXlHaRGdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vdXBzdHJlYW0vcmVtb3RlLigqUmVtb3RlKS5zYWZlVXBsb2FkjaQWvWdujdIpZ2l0aHViLmNvbS9zcGYxMy9jb2JyYS4oKkNvbW1hbmQpLkV4ZWN1dGV2CZY3ryksKyJjb21wcmVzcy9nemlwLigqUmVhZGVyKS5yZWFkSGVhZGVypkNAh2MOyG4XbmV0LigqVENQQ29ubikuUmVhZEZyb20EHKJo0kKq5khnaXRodWIuY29tL2FsZWN0aG9tYXMvcGFydGljaXBsZS92Mi4oKmdlbmVyYXRvckNvbnRleHQpLnBhcnNlRGlzanVuY3Rpb26fHACX2u/Yszxnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi9pbnRlcm5hbC9pbXBsLigqTWVzc2FnZUluZm8pLmluaXRyxe+cZRaZrC1naXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS5OZXdXcml0ZXLz2g+CteNedzhnaXRodWIuY29tL0NsaWNrSG91c2UvY2gtZ28vcHJvdG8uQ29sVUludDY0LkVuY29kZUNvbHVtbnmIgKkgBxhSUGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL2Rpc2NvdmVyeS9maWxlLigqU0RDb25maWcpLk5ld0Rpc2NvdmVyZXJNZXRyaWNzMiqX5B7D9Oc0Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NoLWdvL3Byb3RvLigqQ29sSW50NjQpLkFwcGVuZNQ4biXbXBBZPGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnNjcmFwZUxvb3ApLmFwcGVuZAHwXe6jqoKeJ21pbWUvbXVsdGlwYXJ0LigqV3JpdGVyKS5DcmVhdGVGb3JtRmlsZapX7tym+dC5PmdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3BkYXRhL3Bjb21tb24uTWFwLkVuc3VyZUNhcGFjaXR5lLcZPJ4gSzwpcmVnZXhwL3N5bnRheC4oKnBhcnNlcikucGFyc2VVbmljb2RlQ2xhc3MB63+sE8rWF3VnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvY2xpY2tob3VzZXByb2ZpbGVleHBvcnRlci9jaC4oKmNsaWNraG91c2VBY2Nlc3NOYXRpdmVDb2x1bW5hcikuSW5zZXJ0QmF0Y2g0jAaLg6QcPylnaXRodWIuY29tL3NpZ25hbGZ4L3NhcG0tcHJvdG8vZ2VuLmluaXQuMmaVWIHGfSWeEnJlZ2V4cC5tYWtlT25lUGFzc2/4CB5Ag1RCPmNvZGUuY2xvdWRmb3VuZHJ5Lm9yZy9nby1sb2dncmVnYXRvci9ycGMvbG9nZ3JlZ2F0b3JfdjIuaW5pdC4xz1NCYmhhw3B7Z2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci9pbnRlcm5hbC4oKm1ldHJpY0ZhbWlseSkuYXBwZW5kTWV0cmljfmAFANfFpdJjZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci4oKm1ldHJpY3NFeHBvcnRlcikuZXhwb3J0SGlzdG9ncmFtRGF0YVBvaW50xU6LpkCFB7JIZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvY29uc3VtZXIuQ29uc3VtZU1ldHJpY3NGdW5jLkNvbnN1bWVNZXRyaWNzeVMzLnbfiC1CZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKlN0cmluZykuRGVjb2RlRYYGZEOumNYvZ2l0aHViLmNvbS92bXdhcmUvZ292bW9taS92aW0yNS90eXBlcy5pbml0LjY2NTiN2MfAyI0MImFnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLigqbWV0cmljc0V4cG9ydGVyKS5leHBvcnROdW1iZXJEYXRhUG9pbnRzWoDilPn0lqsjcmVnZXhwLigqUmVnZXhwKS5GaW5kQWxsU3RyaW5nSW5kZXhXCo4eZceNWDhnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUuTmV3TWFuYWdlci5mdW5jMe/73nFkCWTUIXJlZ2V4cC9zeW50YXguKCpwYXJzZXIpLm5ld1JlZ2V4cDgEhuweq+/YDnJlZ2V4cC5jb21waWxlZ6Pm42ry5KYPcnVudGltZS5kb0luaXQxiUxAWI6j/oIRcmVmbGVjdC5wYWNrRWZhY2V1VHScIpym/zVnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wZGF0YS9wY29tbW9uLk1hcC5SYW5nZW3YQrh988ymNWdvLm9wZW50ZWxlbWV0cnkuaW8vb3RlbC9hdHRyaWJ1dGUuTmV3U2V0V2l0aEZpbHRlcmVk+vtcB7NctRBSZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5CdWlsZOkKwwPkbClMP2dpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKk1hbmFnZXIpLnJlbG9hZC5mdW5jMQGTAk22VXGeQWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY2xpY2tob3VzZSkuUHJlcGFyZUJhdGNosp8jUAOOOnlEZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby91cHN0cmVhbS9yZW1vdGUuKCpSZW1vdGUpLmhhbmRsZUpvYnM3SvdiJIO6FSBnb2xhbmcub3JnL3gvbmV0L2h0bWwubWFwLmluaXQuMXvWVutQqS9uOGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9jb21tb24vbW9kZWwubGFiZWxTZXRUb0ZpbmdlcnByaW505XfBbggt3eUzZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3Ivc2VydmljZS90ZWxlbWV0cnkuTmV3wDIn15sW0pcoZ2l0aHViLmNvbS9rbmFkaC9rb2FuZi92Mi4oKktvYW5mKS5NZXJnZdS0VTyplvttK2dpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLmRpYWyj5kTOgQKOhxhidWZpby4oKldyaXRlcikuUmVhZEZyb20EjeHw9nxiuiFuZXQvaHR0cC4oKlRyYW5zcG9ydCkuZGlhbENvbm5Gb3Ja6sJ3kzMCPEFnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqQXJyYXkpLmFwcGVuZNYU8VCyRjp5U2dpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YvaW50ZXJuYWwvcHByb2YuKCpwcm9maWxlQnVpbGRlcikuU2FtcGxlRID9h3CSBFcecmVnZXhwL3N5bnRheC4oKmNvbXBpbGVyKS5wbHVzECrEbECzld8pZ28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL2F0dHJpYnV0ZS5OZXdTZXQQVv5mifCMhU9nby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9vdGVsY29sLigqQ29sbGVjdG9yKS5zZXR1cENvbmZpZ3VyYXRpb25Db21wb25lbnRz0iy5nzuYwE1AZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvaW50ZXJuYWwvaW1wbC4oKk1lc3NhZ2VJbmZvKS5pbml0T25jZWzG8IPhmf1qRWdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnNjcmFwZUxvb3ApLnNjcmFwZUFuZFJlcG9ydI8Fh2IVyZG5OGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL21vZGVsL2xhYmVscy5OZXdCdWlsZGVyP8LXQ7wWwSchZ2l0aHViLmNvbS9nb29nbGUvZ28tY21wL2NtcC5pbml0VNEGyfDZa+w8Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvZGlzY292ZXJ5LlJlZ2lzdGVyU0RNZXRyaWNz6IrtSrbQM15RZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvY29uZm1hcC9jb252ZXJ0ZXIvZXhwYW5kY29udmVydGVyLmNvbnZlcnRlci5Db252ZXJ0QLFP/uRlYTJJZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvcmVmbGVjdC9wcm90b3JlZ2lzdHJ5LnJhbmdlVG9wTGV2ZWxEZXNjcmlwdG9yc2B9R0FRbnq4GHJlZ2V4cC4oKmJpdFN0YXRlKS5yZXNldBHY422UFFblN2dpdGh1Yi5jb20vYWxlY3Rob21hcy9wYXJ0aWNpcGxlL3YyLigqc3RydWN0TGV4ZXIpLlBlZWsTiaIjlg0qkWZnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvY2xpY2tob3VzZXByb2ZpbGVleHBvcnRlci4oKmNsaWNraG91c2VQcm9maWxlRXhwb3J0ZXIpLnNlbmSMTTGh1A0ejxJydW50aW1lLnByb2NyZXNpemViMQJUAbl+3R5uZXQvaHR0cC4oKlRyYW5zcG9ydCkuZGlhbENvbm5bG6mN1BROtjFnaXRodWIuY29tL21pdGNoZWxsaC9jb3B5c3RydWN0dXJlLigqd2Fsa2VyKS5FeGl0HQ8qYC7zV6BFZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci5idWlsZExhYmVsU2V0x7/pTomEYoopY29tcHJlc3MvZmxhdGUuKCpodWZmbWFuRW5jb2RlcikuZ2VuZXJhdGXeo7j8U3RTbRVyZWdleHAuY29tcGlsZU9uZVBhc3OblItOcCrHmjJnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLigqTG9jYXRpb24pLmVuY29kZYG//wcmlW+VOWdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnNjcmFwZUxvb3ApLnJ1bhJPBxpRI454OWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY2xpY2tob3VzZSkuZGlhbCw5TOPg5tbHLmNvbXByZXNzL2ZsYXRlLigqaHVmZm1hbkJpdFdyaXRlcikuaW5kZXhUb2tlbnPU9pT1R4dAUCVnaXRodWIuY29tL21pdGNoZWxsaC9yZWZsZWN0d2Fsay5XYWxrtmOZvFfQUXcNaW8uY29weUJ1ZmZlcuslqltPGBehPGs4cy5pby9hcGltYWNoaW5lcnkvcGtnL3J1bnRpbWUuKCpTY2hlbWVCdWlsZGVyKS5BZGRUb1NjaGVtZeZtQquB7+RTEHN5bmMuKCpQb29sKS5QdXTZRZ40w4psXSNnby51YmVyLm9yZy96YXAvemFwY29yZS5uZXdDb3VudGVyc6osNZVHqmBLdGdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCp0cmFuc2FjdGlvbikuQXBwZW5kEXcFA9u5YtQxZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvY29uZm1hcC4oKkNvbmYpLkdldCJWzXtIJ3EbQmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL2ludGVybmFsL2ZpbGVkZXNjLigqRmlsZSkudW5tYXJzaGFsRnVsbGTValiyHiAxXGdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2V4cG9ydGVyaGVscGVyLigqbWV0cmljc1NlbmRlcldpdGhPYnNlcnZhYmlsaXR5KS5zZW5krTBQuxLAnYQpZ2l0aHViLmNvbS9zcGYxMy9jb2JyYS4oKkNvbW1hbmQpLmV4ZWN1dGV/1ujc51YLMSNnaXRodWIuY29tL2tuYWRoL2tvYW5mL21hcHMuZmxhdHRlbl2lQEZIiP3eKWVuY29kaW5nL2pzb24uKCplbmNvZGVTdGF0ZSkucmVmbGVjdFZhbHVlVq+T63lfgbUdZW5jb2RpbmcvYmluYXJ5LkFwcGVuZFV2YXJpbnTTReF7oONQHR1ydW50aW1lL3Bwcm9mLlN0YXJ0Q1BVUHJvZmlsZYzj/wC4cXnEDHJ1bnRpbWUubWFsZ8tbsYPCM9VdNmdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL290ZWxjb2wuKCpDb2xsZWN0b3IpLlJ1bk2rVs36YhM3FnJlZmxlY3QuKCpNYXBJdGVyKS5LZXm4wTFgPiVqXCdnaXRodWIuY29tL2tuYWRoL2tvYW5mL3YyLigqS29hbmYpLkxvYWTRLCUDoTBuiTpnaXRodWIuY29tL2FwYWNoZS9hcnJvdy9nby92MTUvYXJyb3cvaW50ZXJuYWwvZmxhdGJ1Zi5pbml00EIa/refsg8KaW8uUmVhZEFsbCVh4Gz5U7DUMmdpdGh1Yi5jb20vYWxlY3Rob21hcy9wYXJ0aWNpcGxlL3YyLnZhbGlkYXRlLmZ1bmMxHnazW7PsDQNPZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvZXhwb3J0ZXJoZWxwZXIuKCpiYXNlUmVxdWVzdFNlbmRlcikuc2VuZB6DBGTYyJBZG3JlZ2V4cC4oKlJlZ2V4cCkuYWxsTWF0Y2hlcwcLXgCLgw2sLmdpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLm5ld0Zhc3RFbmPASL61bTKQii1naXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmRlY29kZU1lc3NhZ2VlM4VigIrVz0ZnaXRodWIuY29tL2FwYWNoZS9hcnJvdy9nby92MTUvYXJyb3cvY29tcHV0ZS5SZWdpc3RlclNjYWxhckNvbXBhcmlzb25zRXbo4cPtvl8xZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS4oKlByb2ZpbGUpLmVuY29kZQQh3prQGK13OWdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3NlcnZpY2UvdGVsZW1ldHJ5Lm5ld0xvZ2dlcqN+FltfqZh5FGJ5dGVzLigqQnVmZmVyKS5ncm93Mh0go0kKtWMTcmVnZXhwL3N5bnRheC5QYXJzZcCvzk3kV6oRNGNvbXByZXNzL2ZsYXRlLigqaHVmZm1hbkJpdFdyaXRlcikud3JpdGVCbG9ja0R5bmFtaWNDbyG9rXsqojlnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wZGF0YS9wY29tbW9uLmNvcHlCeXRlU2xpY2WUzwMNXMAaHUBnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvcHJvdG8uKCpCbG9jaykuRGVjb2RlXlokAy7HTTc4Z2l0aHViLmNvbS9pbmZsdXhkYXRhL2luZmx1eGRiLW9ic2VydmFiaWxpdHkvY29tbW9uLmluaXRmpU1TuNtGxyZrOHMuaW8vYXBpL25ldHdvcmtpbmcvdjEuYWRkS25vd25UeXBlc9BbN4J9cKZLQWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpBcnJheSkuQXBwZW5klNZKXUWu6G0sZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1nby9hd3MvZW5kcG9pbnRzLmluaXSSkZjMM1e5E11naXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvcmVjZWl2ZXIvcHlyb3Njb3BlcmVjZWl2ZXIvcHByb2ZwYXJzZXIuKCpwUHJvZlBhcnNlcikuUGFyc2X+Ftr9mf7M4BVyZWdleHAvc3ludGF4LkNvbXBpbGWCZYcqK9m87oYBZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci9pbnRlcm5hbC4oKm1ldHJpY0ZhbWlseSkubG9hZE1ldHJpY0dyb3VwT3JDcmVhdGVi/88q373hER5jb21wcmVzcy9mbGF0ZS4oKldyaXRlcikuQ2xvc2UvrO2IBy979ipnaXRodWIuY29tL2tuYWRoL2tvYW5mL3YyLnBvcHVsYXRlS2V5UGFydHO7DbRiOa8JkjRnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmJhdGNoKS5TZW5kruNhD3nNJJEtZ2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHJvdG8uUmVnaXN0ZXJGaWxl4pqJRLZT3fBLZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvZXhwb3J0ZXJoZWxwZXIuKCp0aW1lb3V0U2VuZGVyKS5zZW5kJFWdXKyFNSVgZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyL2NvbXByZXNzLigqRGVjb21wcmVzc29yKS5EZWNvbXByZXNzn0cPG3qBY2peZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKkRlbHRhSGVhcFByb2ZpbGVyKS5Xcml0ZUhlYXBQcm90b4JGqG3paY9vHGNyeXB0by94NTA5LnBhcnNlQ2VydGlmaWNhdGVc2dePof8bjzxnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNvbm5lY3QpLmZpcnN0QmxvY2upZyebvKX6P0VnaXRodWIuY29tL2FsZWN0aG9tYXMvcGFydGljaXBsZS92Mi4oKmdlbmVyYXRvckNvbnRleHQpLnN1YnBhcnNlR3JvdXCm6tgdTYsP1ltnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKmxvZ3NFeHBvcnRlcldpdGhPYnNlcnZhYmlsaXR5KS5zZW5kJoC8rc4khuIgZ28udWJlci5vcmcvemFwLm9wdGlvbkZ1bmMuYXBwbHlu9DzXcMJ4n2JnaXRodWIuY29tL2FwYWNoZS9hcnJvdy9nby92MTUvYXJyb3cvY29tcHV0ZS9pbnRlcm5hbC9rZXJuZWxzLm51bWVyaWNDb21wYXJlS2VybmVsW2dvLnNoYXBlLmludDY0XeXifvX9/R+fRWdpdGh1Yi5jb20vYXBhY2hlL2Fycm93L2dvL3YxNS9hcnJvdy9jb21wdXRlLlJlZ2lzdGVyU2NhbGFyQXJpdGhtZXRpY3H+xbv30EVRV2dpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9jbGlja2hvdXNlcHJvZmlsZWV4cG9ydGVyL2NoLnJlYWRUcmVlRnJvbU1hcK1vawmntZNAF25ldC4oKlRDUENvbm4pLnJlYWRGcm9t/WB3GGhyxLAcY3J5cHRvL3g1MDkuUGFyc2VDZXJ0aWZpY2F0Zc19jzknADmSNGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9jb21tb24vdmVyc2lvbi5jb21wdXRlUmV2aXNpb264KUrGkRqfRyVydW50aW1lL3Bwcm9mLigqcHJvZmlsZUJ1aWxkZXIpLmJ1aWxkVWxFi/Rw8917Z2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci4oKnBSZWNlaXZlcikuaW5pdFByb21ldGhldXNDb21wb25lbnRzJ0yWTaQe3ZsfcnVudGltZS9wcHJvZi4oKnByb2ZNYXApLmxvb2t1cKR0B4JPvIQAQGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpUdXBsZSkucGFyc2UAOZHT70AWUjZnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9zZXJ2aWNlLigqU2VydmljZSkuU3RhcnRm8FvSdp60U0xnaXRodWIuY29tL2FwYWNoZS9hcnJvdy9nby92MTUvYXJyb3cvY29tcHV0ZS9pbnRlcm5hbC9rZXJuZWxzLkNvbXBhcmVLZXJuZWxzsZgWMRl01HBOZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvZXhwb3J0ZXJoZWxwZXIuKCptZXRyaWNzUmVxdWVzdCkuRXhwb3J0GV7NEcF71aM8Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpiYXRjaCkuQXBwZW5kU3RydWN0yynLGQuHYlg2Z2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby4oKlNlc3Npb24pLlN0YXJ0LmZ1bmMyfiFs5fcLt1Q3Z28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL2F0dHJpYnV0ZS5jb21wdXRlRGlzdGluY3RGaXhlZOcAlLIX44TUQGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpBcnJheSkucGFyc2WEGFZ37850AUVnaXRodWIuY29tL2FsZWN0aG9tYXMvcGFydGljaXBsZS92Mi4oKmdlbmVyYXRvckNvbnRleHQpLnBhcnNlTW9kaWZpZXL9YAu3/wRquThnaXRodWIuY29tL0NsaWNrSG91c2UvY2gtZ28vcHJvdG8uKCpDb2xTdHIpLkRlY29kZUNvbHVtbt7xqvk8uA0XKGdpdGh1Yi5jb20vbWl0Y2hlbGxoL3JlZmxlY3R3YWxrLndhbGtNYXAznk7U9cAkyTlnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNvbm5lY3QpLnByb2Nlc3N8pINkIY+a8BFydW50aW1lLml0YWJzaW5pdNFhc/eUk3akM2dpdGh1Yi5jb20vYXBhY2hlL2Fycm93L2dvL3YxNS9hcnJvdy9jb21wdXRlLmluaXQuMGuYA2D5FQhvmwFnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9pbnRlcm5hbC9xdWV1ZS4oKmJvdW5kZWRNZW1vcnlRdWV1ZVtnby5zaGFwZS5pbnRlcmZhY2UgeyBFeHBvcnQoY29udGV4dC5Db250ZXh0KSBlcnJvcjsgSXRlbXNDb3VudCgpIGludCB9XSkuQ29uc3VtZT6NBZungtOkQ2dpdGh1Yi5jb20vcHJvbWV0aGV1cy9jbGllbnRfZ29sYW5nL3Byb21ldGhldXMuKCpzdW1tYXJ5KS5uZXdTdHJlYW2g4TitABqdLSVnaXRodWIuY29tL21pdGNoZWxsaC9yZWZsZWN0d2Fsay53YWxryd5YlGGGeJ9FZ2l0aHViLmNvbS9hbGVjdGhvbWFzL3BhcnRpY2lwbGUvdjIuKCpnZW5lcmF0b3JDb250ZXh0KS5wYXJzZVNlcXVlbmNl0/0Q0pm4xx0IbWFpbi5ydW598FZEdMGV2DZnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9vdGVsY29sLk5ld0NvbW1hbmQuZnVuYzGiQOiTrb/5iIoBZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3Byb2Nlc3Nvci9yZXNvdXJjZWRldGVjdGlvbnByb2Nlc3Nvci9pbnRlcm5hbC4oKlJlc291cmNlUHJvdmlkZXIpLmRldGVjdFJlc291cmNltsamCKjpwF4YcmVmbGVjdC4oKk1hcEl0ZXIpLlZhbHVl3FbTRJbqdzMqcnVudGltZS9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5hZGRDUFVEYXRhucbmosGJS8AacmVnZXhwLigqUmVnZXhwKS5iYWNrdHJhY2ueVBx0sUuwbyFuZXQvaHR0cC4oKnBlcnNpc3RDb25uKS53cml0ZUxvb3DO8zJW6A8a0xpnb2xhbmcub3JnL3gvbmV0L2h0bWwuaW5pdGVjHTvvJLw/XmdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9yZWNlaXZlci9weXJvc2NvcGVyZWNlaXZlci4oKnB5cm9zY29wZVJlY2VpdmVyKS5yZWFkUHJvZmlsZXMobQmR6ppTR15naXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvcmVjZWl2ZXIvcHlyb3Njb3BlcmVjZWl2ZXIuKCpweXJvc2NvcGVSZWNlaXZlcikuaGFuZGxlLmZ1bmMx4GmaFNc0t81CZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvaW50ZXJuYWwvZmlsZWRlc2MuKCpFbnVtKS51bm1hcnNoYWxGdWxsyLhlNhCUjmo3azhzLmlvL2FwaW1hY2hpbmVyeS9wa2cvcnVudGltZS4oKlNjaGVtZSkuQWRkS25vd25UeXBlc4nlTjuTPGofJW5ldC9odHRwLigqdHJhbnNmZXJXcml0ZXIpLmRvQm9keUNvcHn0tn9Bk9hFYzBnaXRodWIuY29tL2hldHpuZXJjbG91ZC9oY2xvdWQtZ28vdjIvaGNsb3VkLmluaXTdSWWTl4uY2BpuZXQvaHR0cC4oKlRyYW5zcG9ydCkuZGlhbGzPhlbkJj3zE25ldC9odHRwLmdldENvcHlCdWYIouedHfF3iElnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKnJldHJ5U2VuZGVyKS5zZW5krrScKuyF8rorZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS5pbml0LmZ1bmMzNlam1reBYa7lO2dpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLigqY29tcHJlc3Nvcikuc3RvcmVGYXN0JjBFPnJ/nIVSZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5mbHVzaN0V+OGpeMe5LGdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUuZW5jb2RlU3RyaW5nErlSuFmHsI5kZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci4oKm1ldHJpY3NFeHBvcnRlcikuZXhwb3J0SGlzdG9ncmFtRGF0YVBvaW50c5cMX2ZSavfAFWVuY29kaW5nL2pzb24uTWFyc2hhbDgYBl6c+QcsM2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2NvbmZtYXAuKCpDb25mKS5NZXJnZYuXUygpFoUFQmdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL290ZWxjb2wuKCpjb25maWdQcm92aWRlcikuR2V0Q29uZm1hcPGUZOnCfnNKSWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpBcnJheSkuYXBwZW5kUm93UGxhaW4IwEsri+2Ih0NnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL2dvZGVsdGFwcm9mLigqSGVhcFByb2ZpbGVyKS5Qcm9maWxlQpvOrnEC5VIPcmVmbGVjdC5jb3B5VmFs2HLvg36RJEwvZ2l0aHViLmNvbS92bXdhcmUvZ292bW9taS92aW0yNS90eXBlcy5pbml0LjMzMjl+ZuUG2+nplUFnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqQXJyYXkpLkVuY29kZZkjNiPvBGXGWWdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YvaW50ZXJuYWwvcHByb2YuKCpwcm9maWxlQnVpbGRlcikuZW1pdExvY2F0aW9uFqZC3rsxuZk8Z2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby4oKmNwdVByb2ZpbGVDb2xsZWN0b3IpLlN0YXJ0Filh4TA595kpazhzLmlvL2NsaWVudC1nby9rdWJlcm5ldGVzL3NjaGVtZS5pbml0LjDHqVe+Mpvz7itydW50aW1lL3Bwcm9mLigqcHJvZmlsZUJ1aWxkZXIpLnN0cmluZ0luZGV4qaSJyrnT4i4vZ2l0aHViLmNvbS92bXdhcmUvZ292bW9taS92aW0yNS90eXBlcy5pbml0LjU1NDQVHkEdE3GPuitnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmluaXQuZnVuYzMzS3NPCIqNAxUPYnl0ZXMuZ3Jvd1NsaWNlAEOjrwIwah8ZbmV0L2h0dHAuKCpSZXF1ZXN0KS53cml0ZSb3WRNj/VQOYGdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmV4cG9ydE51bWJlckRhdGFQb2ludGmHQQapdt+WQWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL2ludGVybmFsL2ZpbGVkZXNjLigqRmlsZSkubGF6eUluaXRPbmNlFAk5soYt4vU3Z2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuKCpmYXN0RW5jTDEpLkVuY29kZYbJTJnHlNe3J2dpdGh1Yi5jb20vbWl0Y2hlbGxoL2NvcHlzdHJ1Y3R1cmUuQ29wedqB5/qc11OoL2dpdGh1Yi5jb20vYWxlY3Rob21hcy9wYXJ0aWNpcGxlL3YyLnZpc2l0LmZ1bmMxhp1q68NVgbZMZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyLnBvc3RQcm9jZXNzUHJvZueviEiDFzI4OmdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS5tdXRhdGVTYW1wbGVMYWJlbHPVEUE8eRoiKUZnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9zZXJ2aWNlL3RlbGVtZXRyeS5uZXdTYW1wbGVkTG9nZ2VyLmZ1bmMxeMQkdQfiFaIuZ2l0aHViLmNvbS9taXRjaGVsbGgvY29weXN0cnVjdHVyZS5Db25maWcuQ29wed9HAeidKjSGFnJlZ2V4cC4oKlJlZ2V4cCkuU3BsaXTFHoEuYjXMJj5naXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNvbm5lY3QpLnByZXBhcmVCYXRjaFhDnMz/bhOFFnJlZmxlY3QudmFsdWVJbnRlcmZhY2VLozmJfs8Ww2JnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLigqbWV0cmljc0V4cG9ydGVyKS5leHBvcnRTdW1tYXJ5RGF0YVBvaW50cxlAgBUdVdwjKmdpdGh1Yi5jb20vYmVvcm43L3BlcmtzL3F1YW50aWxlLm5ld1N0cmVhbQhPI5lUcIOeMWdpdGh1Yi5jb20vc2hpcm91L2dvcHN1dGlsL3YzL2NwdS5JbmZvV2l0aENvbnRleHTswx37vHT/lhNyZWdleHAvc3ludGF4LnBhcnNlRdw7yDNNF8l4Z2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci9pbnRlcm5hbC4oKnRyYW5zYWN0aW9uKS5nZXRNZXRyaWNzQe+sEWcA+ksnZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS5tYXJzaGFsdiem6trMhpxLZ2l0aHViLmNvbS9hcGFjaGUvYXJyb3cvZ28vdjE1L2Fycm93L2NvbXB1dGUuKCpTY2FsYXJGdW5jdGlvbikuQWRkTmV3S2VybmVsghcE0fWUy28pZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS51bm1hcnNoYWycO4f5mQBcJRNidWZpby5OZXdSZWFkZXJTaXplY+uvmoIpeQ1GZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvcmVmbGVjdC9wcm90b3JlZ2lzdHJ5LigqRmlsZXMpLlJlZ2lzdGVyRmlsZcKPWoQNhCwYRmdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL21vZGVsL2xhYmVscy4oKlNjcmF0Y2hCdWlsZGVyKS5MYWJlbHN8Kvsq9HmBXDZnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy91dGlsL3Bvb2wuKCpQb29sKS5HZXR8uSC3te6SNlxnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLigqbWV0cmljc0V4cG9ydGVyKS5jb2xsZWN0RnJvbU1ldHJpY6RcHK4AJlZTXmdpdGh1Yi5jb20vYXBhY2hlL2Fycm93L2dvL3YxNS9hcnJvdy9jb21wdXRlL2ludGVybmFsL2tlcm5lbHMuZ2VuQ29tcGFyZUtlcm5lbFtnby5zaGFwZS5pbnQ2NF3zFuU9AXpf2ClnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLlBhcnNlRGF0YaLxWJQ1BovgJGdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUuaW5pdILzzCq5bhGqEHN5bmMuKCpQb29sKS5HZXTHnFsi+mCNvERnaXRodWIuY29tL2FsZWN0aG9tYXMvcGFydGljaXBsZS92Mi4oKmdlbmVyYXRvckNvbnRleHQpLnBhcnNlQ2FwdHVyZVqYaGu9a66xFG5ldC9odHRwLmluaXQuZnVuYzE1CNzc5O5P9k9AZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvaW50ZXJuYWwvZmlsZWRlc2MuKCpGaWxlKS5sYXp5UmF3SW5pdEyvE1Gfodd5NmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jaC1nby9wcm90by4oKkNvbEZsb2F0NjQpLkFwcGVuZEkZAUeQHP6SMGdpdGh1Yi5jb20vZ29jY3kvZ28tanNvbi9pbnRlcm5hbC9kZWNvZGVyLmluaXQuMBfX57JdfULtTGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9jbGllbnRfZ29sYW5nL3Byb21ldGhldXMuKCpTdW1tYXJ5VmVjKS5XaXRoTGFiZWxWYWx1ZXMYB0RLGoaC91dnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9pbnRlcm5hbC9mYW5vdXRjb25zdW1lci4oKm1ldHJpY3NDb25zdW1lcikuQ29uc3VtZU1ldHJpY3Nuj95sKWFd2itnaXRodWIuY29tL3Byb21ldGhldXMvY29tbW9uL3ZlcnNpb24uaW5pdC4wUcLOkyK4IFw3Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpzdHJ1Y3RNYXApLk1hcLBMxcEsnKvIKWdpdGh1Yi5jb20vYWxlY3Rob21hcy9wYXJ0aWNpcGxlL3YyLnZpc2l0d/i9I0NSe+k8Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjbGlja2hvdXNlKS5hY3F1aXJlSxLGj2HFhF8ac3luYy4oKnBvb2xDaGFpbikucHVzaEhlYWTFT4t+yiwqmCpnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmluaXQuZnVuYzMgeNVumfTSQCZnaXRodWIuY29tL3NoaXJvdS9nb3BzdXRpbC92My9jcHUuSW5mb/gNyWb7NRhzOGdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28uKCpTZXNzaW9uKS50YWtlU25hcHNob3RzbCxxhR9+OhIjbWltZS9tdWx0aXBhcnQuKCpXcml0ZXIpLkNyZWF0ZVBhcnQZPIbLE+dNxERnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqQXJyYXkpLkFwcGVuZFJvdzRh4N8uzDyXIWNvbXByZXNzL2ZsYXRlLigqY29tcHJlc3NvcikuaW5pdDu2SyNbL4c2NmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqYmF0Y2gpLkFwcGVuZO4nijZDZWxiOWdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2NvbmZtYXAuKCpSZXNvbHZlcikuUmVzb2x2ZdPnXNpTJZF7DnN0cmluZ3MuU3BsaXROBtPtoIDTUXA3Z28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvY29tcG9uZW50LlN0YXJ0RnVuYy5TdGFydIXV91blegKkOmdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28uKCpTZXNzaW9uKS5kdW1wSGVhcFByb2ZpbGX5q8CtKXCuRBVydW50aW1lLm5ld3Byb2MuZnVuYzE9UvtV4pgpICJjb21wcmVzcy9mbGF0ZS4oKmNvbXByZXNzb3IpLmNsb3Nlaxdfzw2ZeT9aZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL2NsaWNraG91c2Vwcm9maWxlZXhwb3J0ZXIvY2guKCpMaW1pdGVkUG9vbCkucHV0r2F5b29ixi0ZcmVmbGVjdC5WYWx1ZS5TZXRNYXBJbmRleF0ka3od9QImH2VuY29kaW5nL2pzb24ubWFwRW5jb2Rlci5lbmNvZGV0SzZAZBi3yj1naXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUubmV3U2NyYXBlUG9vbC5mdW5jMS4xml99+XTH/1pVZ2l0aHViLmNvbS9wcm9tZXRoZXVzL2NsaWVudF9nb2xhbmcvcHJvbWV0aGV1cy4oKlN1bW1hcnlWZWMpLkdldE1ldHJpY1dpdGhMYWJlbFZhbHVlcyJRJZnkP+xZOmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLkRlZmF1bHREaWFsU3RyYXRlZ3nHw6zbn6AXnEVnaXRodWIuY29tL3Byb21ldGhldXMvY2xpZW50X2dvbGFuZy9wcm9tZXRoZXVzLnYyLk5ld1N1bW1hcnlWZWMuZnVuYzFrUeA/GEbNFBNydW50aW1lLnN5c3RlbXN0YWNrLE84EskYf7laZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci4oKm1ldHJpY3NFeHBvcnRlcikucHVzaE1ldHJpY3NEYXRhUL2517YSKW5dZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci4oKm1ldHJpY3NFeHBvcnRlcikuY29sbGVjdEZyb21NZXRyaWNzbsU7aCtzKlstZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvcHJvdG8ucHJvdG9NZXRob2Rzr9tPzzOw+UwdY29tcHJlc3MvZmxhdGUubmV3RGVmbGF0ZUZhc3QLu7AJhmJD7ydnaXRodWIuY29tL3Nub3dmbGFrZWRiL2dvc25vd2ZsYWtlLmluaXTJggpX989njUNnaXRodWIuY29tL3Byb21ldGhldXMvY2xpZW50X2dvbGFuZy9wcm9tZXRoZXVzLigqUmVnaXN0cnkpLlJlZ2lzdGVyaOnvrquUdZhnZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyLm5ld1B5cm9zY29wZVJlY2VpdmVyLk5ld0RlY29tcHJlc3Nvci5mdW5jMgN8NNbAUF0+WWdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YvaW50ZXJuYWwvcHByb2YuKCpwcm9maWxlQnVpbGRlcikuTG9jc0ZvclN0YWNr36LtJrSkj9wOcnVudGltZS5ydDBfZ28COXYlrgR5gjpnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi9pbnRlcm5hbC9maWxlZGVzYy5CdWlsZGVyLkJ1aWxk5gtCq4ZSTD8lZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS5QYXJzZfsUdDXHcwG9F2J5dGVzLigqQnVmZmVyKS5Xcml0ZVRvauJCgrio5IBGZ2l0aHViLmNvbS9hcGFjaGUvYXJyb3cvZ28vdjE1L2Fycm93L2NvbXB1dGUuR2V0RnVuY3Rpb25SZWdpc3RyeS5mdW5jMVVdBBt17qJnP2dpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY29ubmVjdCkucHJvZmlsZUV2ZW50cwNOxSAFwn4CPWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uVHlwZS5Db2x1bW531UwrI2eH6UJnaXRodWIuY29tL2FsZWN0aG9tYXMvcGFydGljaXBsZS92Mi4oKmdlbmVyYXRvckNvbnRleHQpLnBhcnNlR3JvdXAg+kxktYb0Vk9naXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL2ludGVybmFsL3Bwcm9mLmRlZmF1bHRDb2xsZWN0b3IuU3RhcnRDUFVQcm9maWxlII0QYCKbGgM2Z2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby4oKlNlc3Npb24pLlN0YXJ0LmZ1bmMxc9TFdLUrT2o4Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5oYW5kbGU9+AdvzlPoji1naXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmVuY29kZU1lc3NhZ2UEqS27C90LtiJnb2xhbmcub3JnL3gvbmV0L3RyYWNlLk5ld0V2ZW50TG9nzQIg18K+uHRoZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci4oKnBSZWNlaXZlcikuU3RhcnS5O7Yh5ShtnBdyZWZsZWN0LlZhbHVlLkludGVyZmFjZX1JIRcgJHV4RGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpUdXBsZSkuQXBwZW5kUm93d2WVqxnPFMh/Z2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci9pbnRlcm5hbC4oKm1ldHJpY0dyb3VwKS50b051bWJlckRhdGFQb2ludNU7+dU3ddmeHWNvbXByZXNzL2d6aXAuKCpSZWFkZXIpLlJlc2V0NP7THyFXhLBHZ2l0aHViLmNvbS9wcm9tZXRoZXVzL2NsaWVudF9nb2xhbmcvcHJvbWV0aGV1cy4oKlJlZ2lzdHJ5KS5NdXN0UmVnaXN0ZXJVt5j4PU22dBdydW50aW1lL3Bwcm9mLmFsbEZyYW1lc4CxNv8g2ZA+lgFnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9pbnRlcm5hbC9xdWV1ZS4oKkNvbnN1bWVyc1tnby5zaGFwZS5pbnRlcmZhY2UgeyBFeHBvcnQoY29udGV4dC5Db250ZXh0KSBlcnJvcjsgSXRlbXNDb3VudCgpIGludCB9XSkuU3RhcnQuZnVuYzHWgspixzv6NRNtYWluLnJ1bkludGVyYWN0aXZlqL0m8bupHKUlZ28udWJlci5vcmcvemFwLigqTG9nZ2VyKS5XaXRoT3B0aW9uc5ygUDMWbs2/QWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpUdXBsZSkuRW5jb2RlKNhS2xnTBeIiY29tcHJlc3MvZmxhdGUuKCpkaWN0RGVjb2RlcikuaW5pdC9hGPaDA2CpDnJ1bnRpbWUuZG9Jbml0Jjpv6rz8iChAZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3Ivc2VydmljZS90ZWxlbWV0cnkubmV3U2FtcGxlZExvZ2dlcvhKxIFSiyKcLGdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUuZW5jb2RlVmFyaW501qIVB2lwUVgqZ2l0aHViLmNvbS9zcGYxMy9jb2JyYS4oKkNvbW1hbmQpLkV4ZWN1dGVDBA1lTThBrFk8Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpiYXRjaENvbHVtbikuQXBwZW5kvZzntfonuktDZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcGRhdGEvcG1ldHJpYy5NZXRyaWNTbGljZS5BcHBlbmRFbXB0efG3srkYVJApJGVuY29kaW5nL2pzb24uKCplbmNvZGVTdGF0ZSkubWFyc2hhbPZrq0pabMBNEHN0cmluZ3MuZ2VuU3BsaXR0sX4likIoYSVjb21wcmVzcy9mbGF0ZS4oKmNvbXByZXNzb3IpLmVuY1NwZWVkgZRAPuBk9UtPZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcHJvY2Vzc29yL3Byb2Nlc3NvcmhlbHBlci4oKk9ic1JlcG9ydCkucmVjb3JkRGF0YW2M+lQEu8QpS2dpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnNjcmFwZUxvb3ApLnNjcmFwZUFuZFJlcG9ydC5mdW5jMVfTNiQ8eTh/O2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL290ZWxjb2wuKCpjb25maWdQcm92aWRlcikuR2V0Twewdx57jM9UZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcHJvY2Vzc29yL3Byb2Nlc3NvcmhlbHBlci4oKk9ic1JlcG9ydCkuTWV0cmljc0FjY2VwdGVkpx/rZ7C7wDJGZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3Ivc2VydmljZS9pbnRlcm5hbC9ncmFwaC4oKkdyYXBoKS5TdGFydEFsbNuFLKdl9uhdM2dpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLigqV3JpdGVyKS5DbG9zZRr+3UaIAWtDB2lvLkNvcHmmiklCJ6fx+hpyZWdleHAubWVyZ2VSdW5lU2V0cy5mdW5jMqVBh/YnlIsyGnJlZmxlY3QubWFwYXNzaWduX2Zhc3RzdHIwLYm/+CpofN9LZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKkFycmF5KS5hcHBlbmRSb3dEZWZhdWx0Fs7UcVhdSp9cZ2l0aHViLmNvbS9wcm9tZXRoZXVzL2NsaWVudF9nb2xhbmcvcHJvbWV0aGV1cy4oKm1ldHJpY01hcCkuZ2V0T3JDcmVhdGVNZXRyaWNXaXRoTGFiZWxWYWx1ZXMaw9OpEfSu6UFnaXRodWIuY29tL2FsZWN0aG9tYXMvcGFydGljaXBsZS92Mi4oKmdlbmVyYXRvckNvbnRleHQpLnBhcnNlVHlwZc6m/PsaRIKLMmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jaC1nby9wcm90by4oKkNvbFN0cikuQXBwZW5ker30bSnZkmkScmVnZXhwLm9uZVBhc3NDb3B5dr07JCLDrKo6Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5zZW5kRGF0YfmCoykU1KSTPms4cy5pby9hcGltYWNoaW5lcnkvcGtnL3J1bnRpbWUuKCpTY2hlbWUpLkFkZEtub3duVHlwZVdpdGhOYW1ld7lT6tNBNVwQcnVudGltZS5uZXdwcm9jMYzjCXS65VefN2dpdGh1Yi5jb20vcHJvbWV0aGV1cy9jb21tb24vbW9kZWwuTGFiZWxTZXQuRmluZ2VycHJpbnSgbR/BHd3SAXRnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLigqdHJhbnNhY3Rpb24pLkNvbW1pdPUsLVdwrqIEDnJlZ2V4cC5Db21waWxlQn8Fq9DEaoYwZ2l0aHViLmNvbS9nb2NjeS9nby1qc29uL2ludGVybmFsL2VuY29kZXIuaW5pdC4wXqwOKQFMmOdIZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvaW50ZXJuYWwvaW1wbC4oKk1lc3NhZ2VJbmZvKS5tYWtlUmVmbGVjdEZ1bmNztzKp1VvqSjA3Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NoLWdvL3Byb3RvLkNvbEludDY0LkVuY29kZUNvbHVtbmxk++5fxgzjEnN0cmluZ3MuRmllbGRzRnVuY4gviolB4i2zOmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY29ubmVjdCkucmVhZERhdGGMD/BmkONiSDJydW50aW1lL3Bwcm9mLigqcHJvZmlsZUJ1aWxkZXIpLmFwcGVu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"; + let resp = "Cv7SAQoFdG90YWwKA24vYQoeazhzLmlvL2FwaS9hdXRvc2NhbGluZy92MS5pbml0Cktnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKmxvZ3NSZXF1ZXN0KS5FeHBvcnQKGXJlZmxlY3QubWFwYXNzaWduX2Zhc3RzdHIKNWdpdGh1Yi5jb20vbXdpdGtvdy9nby1jb25udHJhY2suZGlhbENsaWVudENvbm5UcmFja2VyCi1naXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmRlY29kZVVpbnQ2NHMKNWdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28uKCpTZXNzaW9uKS51cGxvYWREYXRhChpyZWdleHAuKCpSZWdleHApLmRvRXhlY3V0ZQpGZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL3Byb3RvLigqQmxvY2spLkVuY29kZUNvbHVtbgoYcmVnZXhwLm1ha2VPbmVQYXNzLmZ1bmMxCilnaXRodWIuY29tL3Nub3dmbGFrZWRiL2dvc25vd2ZsYWtlLmluaXQuMwouZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS4oKkxpbmUpLmVuY29kZQo4Z2l0aHViLmNvbS9td2l0a293L2dvLWNvbm50cmFjay5OZXdEaWFsQ29udGV4dEZ1bmMuZnVuYzEKS2dpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuYnVpbGRMYWJlbFNldC5mdW5jMQpPZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3Ivc2VydmljZS90ZWxlbWV0cnkubmV3U2FtcGxlZExvZ2dlci5XcmFwQ29yZS5mdW5jMgobcnVudGltZS9kZWJ1Zy5SZWFkQnVpbGRJbmZvCj9naXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9tb2RlbC9sYWJlbHMuKCpCdWlsZGVyKS5MYWJlbHMKTmdpdGh1Yi5jb20vYXBhY2hlL2Fycm93L2dvL3YxNS9hcnJvdy9jb21wdXRlL2ludGVybmFsL2tlcm5lbHMuR2V0Q29tcGFyZUtlcm5lbAoLZm10LkZwcmludGYKKmdpdGh1Yi5jb20vbWl0Y2hlbGxoL3JlZmxlY3R3YWxrLndhbGtTbGljZQpYZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5zdHJpbmdJbmRleApBZ2l0aHViLmNvbS9hbGVjdGhvbWFzL3BhcnRpY2lwbGUvdjIuKCpnZW5lcmF0b3JDb250ZXh0KS5wYXJzZVRlcm0KInJlZ2V4cC9zeW50YXguKCpwYXJzZXIpLnBhcnNlQ2xhc3MKLmdvLm9wZW50ZWxlbWV0cnkuaW8vcHJvdG8vb3RscC9tZXRyaWNzL3YxLmluaXQKQGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9wcm90by4oKkJsb2NrKS5BcHBlbmQKNmdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2NvbmZtYXAuTmV3RnJvbVN0cmluZ01hcApMZ2l0aHViLmNvbS9hbGVjdGhvbWFzL3BhcnRpY2lwbGUvdjIuKCpnZW5lcmF0b3JDb250ZXh0KS5wYXJzZVRlcm1Ob01vZGlmaWVycwo7Z2l0aHViLmNvbS9wcm9tZXRoZXVzL2NsaWVudF9nb2xhbmcvcHJvbWV0aGV1cy5NdXN0UmVnaXN0ZXIKMWdpdGh1Yi5jb20va25hZGgva29hbmYvcHJvdmlkZXJzL2NvbmZtYXAuUHJvdmlkZXIKHnJlZ2V4cC9zeW50YXguKCpjb21waWxlcikuaW5zdApHZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby91cHN0cmVhbS9yZW1vdGUuKCpSZW1vdGUpLnVwbG9hZFByb2ZpbGUKEXJ1bnRpbWUuc2NoZWRpbml0ClFnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLmJhdGNoU2FtcGxlc0FuZFRpbWVTZXJpZXMKMmdvLm9wZW50ZWxlbWV0cnkuaW8vb3RlbC9hdHRyaWJ1dGUuY29tcHV0ZURpc3RpbmN0Cj9naXRodWIuY29tL2F3cy9hd3Mtc2RrLWdvLXYyL3NlcnZpY2UvczMvaW50ZXJuYWwvZW5kcG9pbnRzLmluaXQKDWlvLkNvcHlCdWZmZXIKVGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9jbGllbnRfZ29sYW5nL3Byb21ldGhldXMuKCpNZXRyaWNWZWMpLkdldE1ldHJpY1dpdGhMYWJlbFZhbHVlcwpRZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcHJvY2Vzc29yL3Byb2Nlc3NvcmhlbHBlci5OZXdNZXRyaWNzUHJvY2Vzc29yLmZ1bmMxCmFnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLigqbWV0cmljc0V4cG9ydGVyKS5leHBvcnRTdW1tYXJ5RGF0YVBvaW50CgxydW50aW1lLm1haW4KTGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3JlZmxlY3QvcHJvdG9yZWdpc3RyeS4oKkZpbGVzKS5SZWdpc3RlckZpbGUuZnVuYzIKN2dpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLigqY29tcHJlc3NvcikuY2xvc2UKGGNvbXByZXNzL2ZsYXRlLk5ld1dyaXRlcgo5Z2l0aHViLmNvbS9wcm9tZXRoZXVzL2NsaWVudF9nb2xhbmcvcHJvbWV0aGV1cy5OZXdTdW1tYXJ5ChtydW50aW1lL3Bwcm9mLnByb2ZpbGVXcml0ZXIKSmdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2V4cG9ydGVyaGVscGVyLm5ld1F1ZXVlU2VuZGVyLmZ1bmMxCj1nb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi9pbnRlcm5hbC9maWxlZGVzYy4oKkZpbGUpLmxhenlJbml0ChlyZWdleHAvc3ludGF4LmFwcGVuZFJhbmdlChdjb21wcmVzcy9nemlwLk5ld1JlYWRlcgpjZ2l0aHViLmNvbS9hcGFjaGUvYXJyb3cvZ28vdjE1L2Fycm93L2NvbXB1dGUvaW50ZXJuYWwva2VybmVscy5udW1lcmljQ29tcGFyZUtlcm5lbFtnby5zaGFwZS51aW50MTZdCkBnaXRodWIuY29tL3Byb21ldGhldXMvY2xpZW50X2dvbGFuZy9wcm9tZXRoZXVzLmlubGluZUxhYmVsVmFsdWVzCkRnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9kaXNjb3ZlcnkvZmlsZS5uZXdEaXNjb3ZlcmVyTWV0cmljcwo3Z2l0aHViLmNvbS9hbGVjdGhvbWFzL3BhcnRpY2lwbGUvdjIuKCpzdHJ1Y3RMZXhlcikuTmV4dAouZ2l0aHViLmNvbS9zbm93Zmxha2VkYi9nb3Nub3dmbGFrZS5yZWFkQ0FDZXJ0cwp4Z2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci9pbnRlcm5hbC4oKm1ldHJpY0ZhbWlseSkuYWRkU2VyaWVzCjBnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvLigqU2Vzc2lvbikucmVzZXQKhQFnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcHJvY2Vzc29yL3Jlc291cmNlZGV0ZWN0aW9ucHJvY2Vzc29yL2ludGVybmFsLigqUmVzb3VyY2VQcm92aWRlcikuR2V0LmZ1bmMxCjdnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKmZhc3RHZW4pLmFkZEJsb2NrCipnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi9wcm90by5Vbm1hcnNoYWwKIXJlZ2V4cC9zeW50YXguKCpjb21waWxlcikuY29tcGlsZQqCAWdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9wcm9jZXNzb3IvcmVzb3VyY2VkZXRlY3Rpb25wcm9jZXNzb3IuKCpyZXNvdXJjZURldGVjdGlvblByb2Nlc3NvcikuU3RhcnQKPGdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28uKCpjcHVQcm9maWxlQ29sbGVjdG9yKS5yZXNldAo1Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NoLWdvL3Byb3RvLkNvbFN0ci5FbmNvZGVDb2x1bW4KQmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpTdHJpbmcpLkVuY29kZQpLZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvaW50ZXJuYWwvaW1wbC4oKk1lc3NhZ2VJbmZvKS5tYWtlS25vd25GaWVsZHNGdW5jCg9yZWdleHAubmV3UXVldWUKJG5ldC9odHRwLigqdHJhbnNmZXJXcml0ZXIpLndyaXRlQm9keQo6Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpiYXRjaCkuY2xvc2VRdWVyeQojZ2l0aHViLmNvbS9rbmFkaC9rb2FuZi9tYXBzLkZsYXR0ZW4KHHJ1bnRpbWUvZGVidWcuUGFyc2VCdWlsZEluZm8KLmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jaC1nby9jb21wcmVzcy5OZXdXcml0ZXIKKWdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3NlcnZpY2UuTmV3ChVieXRlcy4oKkJ1ZmZlcikuV3JpdGUKKWs4cy5pby9hcGltYWNoaW5lcnkvcGtnL3V0aWwvdmVyc2lvbi5pbml0ChNzeW5jLigqT25jZSkuZG9TbG93Cg9zeW5jLigqT25jZSkuRG8KVGdpdGh1Yi5jb20vYXBhY2hlL2Fycm93L2dvL3YxNS9hcnJvdy9jb21wdXRlL2ludGVybmFsL2tlcm5lbHMuY29tcGFyZVRpbWVzdGFtcEtlcm5lbAovZ2l0aHViLmNvbS9hbGVjdGhvbWFzL3BhcnRpY2lwbGUvdjIubmV3VGFnTGV4ZXIKPGdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUuKCpQcm9maWxlKS5Xcml0ZVVuY29tcHJlc3NlZAomZ2l0aHViLmNvbS9rbmFkaC9rb2FuZi92Mi4oKktvYW5mKS5SYXcKQ2dpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnRpbWVMaW1pdEFwcGVuZGVyKS5BcHBlbmQKQmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpTdHJpbmcpLkFwcGVuZAoZcmVnZXhwL3N5bnRheC5hcHBlbmRUYWJsZQo3Z2l0aHViLmNvbS9zaGlyb3UvZ29wc3V0aWwvdjMvaW50ZXJuYWwvY29tbW9uLlJlYWRMaW5lcworZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS5pbml0LmZ1bmMzNAozZ2l0aHViLmNvbS9nb29nbGUvZ28tY21wL2NtcC9pbnRlcm5hbC9mdW5jdGlvbi5pbml0CkVnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi9pbnRlcm5hbC9maWxlZGVzYy4oKk1lc3NhZ2UpLnVubWFyc2hhbEZ1bGwKJmdvLm9wZW5jZW5zdXMuaW8vdHJhY2UvdHJhY2VzdGF0ZS5pbml0CkRnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL3Vwc3RyZWFtL3JlbW90ZS4oKlJlbW90ZSkuc2FmZVVwbG9hZAopZ2l0aHViLmNvbS9zcGYxMy9jb2JyYS4oKkNvbW1hbmQpLkV4ZWN1dGUKImNvbXByZXNzL2d6aXAuKCpSZWFkZXIpLnJlYWRIZWFkZXIKF25ldC4oKlRDUENvbm4pLlJlYWRGcm9tCkhnaXRodWIuY29tL2FsZWN0aG9tYXMvcGFydGljaXBsZS92Mi4oKmdlbmVyYXRvckNvbnRleHQpLnBhcnNlRGlzanVuY3Rpb24KPGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL2ludGVybmFsL2ltcGwuKCpNZXNzYWdlSW5mbykuaW5pdAotZ2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuTmV3V3JpdGVyCjhnaXRodWIuY29tL0NsaWNrSG91c2UvY2gtZ28vcHJvdG8uQ29sVUludDY0LkVuY29kZUNvbHVtbgpQZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvZGlzY292ZXJ5L2ZpbGUuKCpTRENvbmZpZykuTmV3RGlzY292ZXJlck1ldHJpY3MKNGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jaC1nby9wcm90by4oKkNvbEludDY0KS5BcHBlbmQKPGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnNjcmFwZUxvb3ApLmFwcGVuZAonbWltZS9tdWx0aXBhcnQuKCpXcml0ZXIpLkNyZWF0ZUZvcm1GaWxlCj5nby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wZGF0YS9wY29tbW9uLk1hcC5FbnN1cmVDYXBhY2l0eQopcmVnZXhwL3N5bnRheC4oKnBhcnNlcikucGFyc2VVbmljb2RlQ2xhc3MKdWdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9jbGlja2hvdXNlcHJvZmlsZWV4cG9ydGVyL2NoLigqY2xpY2tob3VzZUFjY2Vzc05hdGl2ZUNvbHVtbmFyKS5JbnNlcnRCYXRjaAopZ2l0aHViLmNvbS9zaWduYWxmeC9zYXBtLXByb3RvL2dlbi5pbml0LjIKEnJlZ2V4cC5tYWtlT25lUGFzcwo+Y29kZS5jbG91ZGZvdW5kcnkub3JnL2dvLWxvZ2dyZWdhdG9yL3JwYy9sb2dncmVnYXRvcl92Mi5pbml0LjEKe2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCptZXRyaWNGYW1pbHkpLmFwcGVuZE1ldHJpYwpjZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci4oKm1ldHJpY3NFeHBvcnRlcikuZXhwb3J0SGlzdG9ncmFtRGF0YVBvaW50Ckhnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9jb25zdW1lci5Db25zdW1lTWV0cmljc0Z1bmMuQ29uc3VtZU1ldHJpY3MKQmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpTdHJpbmcpLkRlY29kZQovZ2l0aHViLmNvbS92bXdhcmUvZ292bW9taS92aW0yNS90eXBlcy5pbml0LjY2NTgKYWdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmV4cG9ydE51bWJlckRhdGFQb2ludHMKI3JlZ2V4cC4oKlJlZ2V4cCkuRmluZEFsbFN0cmluZ0luZGV4CjhnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUuTmV3TWFuYWdlci5mdW5jMQohcmVnZXhwL3N5bnRheC4oKnBhcnNlcikubmV3UmVnZXhwCg5yZWdleHAuY29tcGlsZQoPcnVudGltZS5kb0luaXQxChFyZWZsZWN0LnBhY2tFZmFjZQo1Z28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcGRhdGEvcGNvbW1vbi5NYXAuUmFuZ2UKNWdvLm9wZW50ZWxlbWV0cnkuaW8vb3RlbC9hdHRyaWJ1dGUuTmV3U2V0V2l0aEZpbHRlcmVkClJnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL2dvZGVsdGFwcm9mL2ludGVybmFsL3Bwcm9mLigqcHJvZmlsZUJ1aWxkZXIpLkJ1aWxkCj9naXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUuKCpNYW5hZ2VyKS5yZWxvYWQuZnVuYzEKQWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY2xpY2tob3VzZSkuUHJlcGFyZUJhdGNoCkRnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL3Vwc3RyZWFtL3JlbW90ZS4oKlJlbW90ZSkuaGFuZGxlSm9icwogZ29sYW5nLm9yZy94L25ldC9odG1sLm1hcC5pbml0LjEKOGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9jb21tb24vbW9kZWwubGFiZWxTZXRUb0ZpbmdlcnByaW50CjNnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9zZXJ2aWNlL3RlbGVtZXRyeS5OZXcKKGdpdGh1Yi5jb20va25hZGgva29hbmYvdjIuKCpLb2FuZikuTWVyZ2UKK2dpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLmRpYWwKGGJ1ZmlvLigqV3JpdGVyKS5SZWFkRnJvbQohbmV0L2h0dHAuKCpUcmFuc3BvcnQpLmRpYWxDb25uRm9yCkFnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqQXJyYXkpLmFwcGVuZApTZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5TYW1wbGUKHnJlZ2V4cC9zeW50YXguKCpjb21waWxlcikucGx1cwopZ28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL2F0dHJpYnV0ZS5OZXdTZXQKT2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL290ZWxjb2wuKCpDb2xsZWN0b3IpLnNldHVwQ29uZmlndXJhdGlvbkNvbXBvbmVudHMKQGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL2ludGVybmFsL2ltcGwuKCpNZXNzYWdlSW5mbykuaW5pdE9uY2UKRWdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnNjcmFwZUxvb3ApLnNjcmFwZUFuZFJlcG9ydAo4Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvbW9kZWwvbGFiZWxzLk5ld0J1aWxkZXIKIWdpdGh1Yi5jb20vZ29vZ2xlL2dvLWNtcC9jbXAuaW5pdAo8Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvZGlzY292ZXJ5LlJlZ2lzdGVyU0RNZXRyaWNzClFnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9jb25mbWFwL2NvbnZlcnRlci9leHBhbmRjb252ZXJ0ZXIuY29udmVydGVyLkNvbnZlcnQKSWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3JlZmxlY3QvcHJvdG9yZWdpc3RyeS5yYW5nZVRvcExldmVsRGVzY3JpcHRvcnMKGHJlZ2V4cC4oKmJpdFN0YXRlKS5yZXNldAo3Z2l0aHViLmNvbS9hbGVjdGhvbWFzL3BhcnRpY2lwbGUvdjIuKCpzdHJ1Y3RMZXhlcikuUGVlawpmZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL2NsaWNraG91c2Vwcm9maWxlZXhwb3J0ZXIuKCpjbGlja2hvdXNlUHJvZmlsZUV4cG9ydGVyKS5zZW5kChJydW50aW1lLnByb2NyZXNpemUKHm5ldC9odHRwLigqVHJhbnNwb3J0KS5kaWFsQ29ubgoxZ2l0aHViLmNvbS9taXRjaGVsbGgvY29weXN0cnVjdHVyZS4oKndhbGtlcikuRXhpdApFZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci5idWlsZExhYmVsU2V0Ciljb21wcmVzcy9mbGF0ZS4oKmh1ZmZtYW5FbmNvZGVyKS5nZW5lcmF0ZQoVcmVnZXhwLmNvbXBpbGVPbmVQYXNzCjJnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLigqTG9jYXRpb24pLmVuY29kZQo5Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLigqc2NyYXBlTG9vcCkucnVuCjlnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNsaWNraG91c2UpLmRpYWwKLmNvbXByZXNzL2ZsYXRlLigqaHVmZm1hbkJpdFdyaXRlcikuaW5kZXhUb2tlbnMKJWdpdGh1Yi5jb20vbWl0Y2hlbGxoL3JlZmxlY3R3YWxrLldhbGsKDWlvLmNvcHlCdWZmZXIKPGs4cy5pby9hcGltYWNoaW5lcnkvcGtnL3J1bnRpbWUuKCpTY2hlbWVCdWlsZGVyKS5BZGRUb1NjaGVtZQoQc3luYy4oKlBvb2wpLlB1dAojZ28udWJlci5vcmcvemFwL3phcGNvcmUubmV3Q291bnRlcnMKdGdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCp0cmFuc2FjdGlvbikuQXBwZW5kCjFnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9jb25mbWFwLigqQ29uZikuR2V0CkJnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi9pbnRlcm5hbC9maWxlZGVzYy4oKkZpbGUpLnVubWFyc2hhbEZ1bGwKXGdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2V4cG9ydGVyaGVscGVyLigqbWV0cmljc1NlbmRlcldpdGhPYnNlcnZhYmlsaXR5KS5zZW5kCilnaXRodWIuY29tL3NwZjEzL2NvYnJhLigqQ29tbWFuZCkuZXhlY3V0ZQojZ2l0aHViLmNvbS9rbmFkaC9rb2FuZi9tYXBzLmZsYXR0ZW4KKWVuY29kaW5nL2pzb24uKCplbmNvZGVTdGF0ZSkucmVmbGVjdFZhbHVlCh1lbmNvZGluZy9iaW5hcnkuQXBwZW5kVXZhcmludAodcnVudGltZS9wcHJvZi5TdGFydENQVVByb2ZpbGUKDHJ1bnRpbWUubWFsZwo2Z28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3Ivb3RlbGNvbC4oKkNvbGxlY3RvcikuUnVuChZyZWZsZWN0LigqTWFwSXRlcikuS2V5CidnaXRodWIuY29tL2tuYWRoL2tvYW5mL3YyLigqS29hbmYpLkxvYWQKOmdpdGh1Yi5jb20vYXBhY2hlL2Fycm93L2dvL3YxNS9hcnJvdy9pbnRlcm5hbC9mbGF0YnVmLmluaXQKCmlvLlJlYWRBbGwKMmdpdGh1Yi5jb20vYWxlY3Rob21hcy9wYXJ0aWNpcGxlL3YyLnZhbGlkYXRlLmZ1bmMxCk9nby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKmJhc2VSZXF1ZXN0U2VuZGVyKS5zZW5kChtyZWdleHAuKCpSZWdleHApLmFsbE1hdGNoZXMKLmdpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLm5ld0Zhc3RFbmMKLWdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUuZGVjb2RlTWVzc2FnZQpGZ2l0aHViLmNvbS9hcGFjaGUvYXJyb3cvZ28vdjE1L2Fycm93L2NvbXB1dGUuUmVnaXN0ZXJTY2FsYXJDb21wYXJpc29ucwoxZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS4oKlByb2ZpbGUpLmVuY29kZQo5Z28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3Ivc2VydmljZS90ZWxlbWV0cnkubmV3TG9nZ2VyChRieXRlcy4oKkJ1ZmZlcikuZ3JvdwoTcmVnZXhwL3N5bnRheC5QYXJzZQo0Y29tcHJlc3MvZmxhdGUuKCpodWZmbWFuQml0V3JpdGVyKS53cml0ZUJsb2NrRHluYW1pYwo5Z28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcGRhdGEvcGNvbW1vbi5jb3B5Qnl0ZVNsaWNlCkBnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvcHJvdG8uKCpCbG9jaykuRGVjb2RlCjhnaXRodWIuY29tL2luZmx1eGRhdGEvaW5mbHV4ZGItb2JzZXJ2YWJpbGl0eS9jb21tb24uaW5pdAomazhzLmlvL2FwaS9uZXR3b3JraW5nL3YxLmFkZEtub3duVHlwZXMKQWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpBcnJheSkuQXBwZW5kCixnaXRodWIuY29tL2F3cy9hd3Mtc2RrLWdvL2F3cy9lbmRwb2ludHMuaW5pdApdZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyL3Bwcm9mcGFyc2VyLigqcFByb2ZQYXJzZXIpLlBhcnNlChVyZWdleHAvc3ludGF4LkNvbXBpbGUKhgFnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLigqbWV0cmljRmFtaWx5KS5sb2FkTWV0cmljR3JvdXBPckNyZWF0ZQoeY29tcHJlc3MvZmxhdGUuKCpXcml0ZXIpLkNsb3NlCipnaXRodWIuY29tL2tuYWRoL2tvYW5mL3YyLnBvcHVsYXRlS2V5UGFydHMKNGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqYmF0Y2gpLlNlbmQKLWdpdGh1Yi5jb20vZ29sYW5nL3Byb3RvYnVmL3Byb3RvLlJlZ2lzdGVyRmlsZQpLZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvZXhwb3J0ZXJoZWxwZXIuKCp0aW1lb3V0U2VuZGVyKS5zZW5kCmBnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvcmVjZWl2ZXIvcHlyb3Njb3BlcmVjZWl2ZXIvY29tcHJlc3MuKCpEZWNvbXByZXNzb3IpLkRlY29tcHJlc3MKXmdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YvaW50ZXJuYWwvcHByb2YuKCpEZWx0YUhlYXBQcm9maWxlcikuV3JpdGVIZWFwUHJvdG8KHGNyeXB0by94NTA5LnBhcnNlQ2VydGlmaWNhdGUKPGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY29ubmVjdCkuZmlyc3RCbG9jawpFZ2l0aHViLmNvbS9hbGVjdGhvbWFzL3BhcnRpY2lwbGUvdjIuKCpnZW5lcmF0b3JDb250ZXh0KS5zdWJwYXJzZUdyb3VwCltnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKmxvZ3NFeHBvcnRlcldpdGhPYnNlcnZhYmlsaXR5KS5zZW5kCiBnby51YmVyLm9yZy96YXAub3B0aW9uRnVuYy5hcHBseQpiZ2l0aHViLmNvbS9hcGFjaGUvYXJyb3cvZ28vdjE1L2Fycm93L2NvbXB1dGUvaW50ZXJuYWwva2VybmVscy5udW1lcmljQ29tcGFyZUtlcm5lbFtnby5zaGFwZS5pbnQ2NF0KRWdpdGh1Yi5jb20vYXBhY2hlL2Fycm93L2dvL3YxNS9hcnJvdy9jb21wdXRlLlJlZ2lzdGVyU2NhbGFyQXJpdGhtZXRpYwpXZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL2NsaWNraG91c2Vwcm9maWxlZXhwb3J0ZXIvY2gucmVhZFRyZWVGcm9tTWFwChduZXQuKCpUQ1BDb25uKS5yZWFkRnJvbQocY3J5cHRvL3g1MDkuUGFyc2VDZXJ0aWZpY2F0ZQo0Z2l0aHViLmNvbS9wcm9tZXRoZXVzL2NvbW1vbi92ZXJzaW9uLmNvbXB1dGVSZXZpc2lvbgolcnVudGltZS9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5idWlsZAp7Z2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci4oKnBSZWNlaXZlcikuaW5pdFByb21ldGhldXNDb21wb25lbnRzCh9ydW50aW1lL3Bwcm9mLigqcHJvZk1hcCkubG9va3VwCkBnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqVHVwbGUpLnBhcnNlCjZnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9zZXJ2aWNlLigqU2VydmljZSkuU3RhcnQKTGdpdGh1Yi5jb20vYXBhY2hlL2Fycm93L2dvL3YxNS9hcnJvdy9jb21wdXRlL2ludGVybmFsL2tlcm5lbHMuQ29tcGFyZUtlcm5lbHMKTmdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2V4cG9ydGVyaGVscGVyLigqbWV0cmljc1JlcXVlc3QpLkV4cG9ydAo8Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpiYXRjaCkuQXBwZW5kU3RydWN0CjZnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvLigqU2Vzc2lvbikuU3RhcnQuZnVuYzIKN2dvLm9wZW50ZWxlbWV0cnkuaW8vb3RlbC9hdHRyaWJ1dGUuY29tcHV0ZURpc3RpbmN0Rml4ZWQKQGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpBcnJheSkucGFyc2UKRWdpdGh1Yi5jb20vYWxlY3Rob21hcy9wYXJ0aWNpcGxlL3YyLigqZ2VuZXJhdG9yQ29udGV4dCkucGFyc2VNb2RpZmllcgo4Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NoLWdvL3Byb3RvLigqQ29sU3RyKS5EZWNvZGVDb2x1bW4KKGdpdGh1Yi5jb20vbWl0Y2hlbGxoL3JlZmxlY3R3YWxrLndhbGtNYXAKOWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY29ubmVjdCkucHJvY2VzcwoRcnVudGltZS5pdGFic2luaXQKM2dpdGh1Yi5jb20vYXBhY2hlL2Fycm93L2dvL3YxNS9hcnJvdy9jb21wdXRlLmluaXQuMAqbAWdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2ludGVybmFsL3F1ZXVlLigqYm91bmRlZE1lbW9yeVF1ZXVlW2dvLnNoYXBlLmludGVyZmFjZSB7IEV4cG9ydChjb250ZXh0LkNvbnRleHQpIGVycm9yOyBJdGVtc0NvdW50KCkgaW50IH1dKS5Db25zdW1lCkNnaXRodWIuY29tL3Byb21ldGhldXMvY2xpZW50X2dvbGFuZy9wcm9tZXRoZXVzLigqc3VtbWFyeSkubmV3U3RyZWFtCiVnaXRodWIuY29tL21pdGNoZWxsaC9yZWZsZWN0d2Fsay53YWxrCkVnaXRodWIuY29tL2FsZWN0aG9tYXMvcGFydGljaXBsZS92Mi4oKmdlbmVyYXRvckNvbnRleHQpLnBhcnNlU2VxdWVuY2UKCG1haW4ucnVuCjZnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9vdGVsY29sLk5ld0NvbW1hbmQuZnVuYzEKigFnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcHJvY2Vzc29yL3Jlc291cmNlZGV0ZWN0aW9ucHJvY2Vzc29yL2ludGVybmFsLigqUmVzb3VyY2VQcm92aWRlcikuZGV0ZWN0UmVzb3VyY2UKGHJlZmxlY3QuKCpNYXBJdGVyKS5WYWx1ZQoqcnVudGltZS9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5hZGRDUFVEYXRhChpyZWdleHAuKCpSZWdleHApLmJhY2t0cmFjawohbmV0L2h0dHAuKCpwZXJzaXN0Q29ubikud3JpdGVMb29wChpnb2xhbmcub3JnL3gvbmV0L2h0bWwuaW5pdApeZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyLigqcHlyb3Njb3BlUmVjZWl2ZXIpLnJlYWRQcm9maWxlcwpeZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyLigqcHlyb3Njb3BlUmVjZWl2ZXIpLmhhbmRsZS5mdW5jMQpCZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvaW50ZXJuYWwvZmlsZWRlc2MuKCpFbnVtKS51bm1hcnNoYWxGdWxsCjdrOHMuaW8vYXBpbWFjaGluZXJ5L3BrZy9ydW50aW1lLigqU2NoZW1lKS5BZGRLbm93blR5cGVzCiVuZXQvaHR0cC4oKnRyYW5zZmVyV3JpdGVyKS5kb0JvZHlDb3B5CjBnaXRodWIuY29tL2hldHpuZXJjbG91ZC9oY2xvdWQtZ28vdjIvaGNsb3VkLmluaXQKGm5ldC9odHRwLigqVHJhbnNwb3J0KS5kaWFsChNuZXQvaHR0cC5nZXRDb3B5QnVmCklnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKnJldHJ5U2VuZGVyKS5zZW5kCitnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmluaXQuZnVuYzM2CjtnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKmNvbXByZXNzb3IpLnN0b3JlRmFzdApSZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5mbHVzaAosZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS5lbmNvZGVTdHJpbmcKZGdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmV4cG9ydEhpc3RvZ3JhbURhdGFQb2ludHMKFWVuY29kaW5nL2pzb24uTWFyc2hhbAozZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvY29uZm1hcC4oKkNvbmYpLk1lcmdlCkJnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9vdGVsY29sLigqY29uZmlnUHJvdmlkZXIpLkdldENvbmZtYXAKSWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpBcnJheSkuYXBwZW5kUm93UGxhaW4KQ2dpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YuKCpIZWFwUHJvZmlsZXIpLlByb2ZpbGUKD3JlZmxlY3QuY29weVZhbAovZ2l0aHViLmNvbS92bXdhcmUvZ292bW9taS92aW0yNS90eXBlcy5pbml0LjMzMjkKQWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpBcnJheSkuRW5jb2RlCllnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL2dvZGVsdGFwcm9mL2ludGVybmFsL3Bwcm9mLigqcHJvZmlsZUJ1aWxkZXIpLmVtaXRMb2NhdGlvbgo8Z2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby4oKmNwdVByb2ZpbGVDb2xsZWN0b3IpLlN0YXJ0CilrOHMuaW8vY2xpZW50LWdvL2t1YmVybmV0ZXMvc2NoZW1lLmluaXQuMAorcnVudGltZS9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5zdHJpbmdJbmRleAovZ2l0aHViLmNvbS92bXdhcmUvZ292bW9taS92aW0yNS90eXBlcy5pbml0LjU1NDQKK2dpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUuaW5pdC5mdW5jMzMKD2J5dGVzLmdyb3dTbGljZQoZbmV0L2h0dHAuKCpSZXF1ZXN0KS53cml0ZQpgZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci4oKm1ldHJpY3NFeHBvcnRlcikuZXhwb3J0TnVtYmVyRGF0YVBvaW50CkFnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi9pbnRlcm5hbC9maWxlZGVzYy4oKkZpbGUpLmxhenlJbml0T25jZQo3Z2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuKCpmYXN0RW5jTDEpLkVuY29kZQonZ2l0aHViLmNvbS9taXRjaGVsbGgvY29weXN0cnVjdHVyZS5Db3B5Ci9naXRodWIuY29tL2FsZWN0aG9tYXMvcGFydGljaXBsZS92Mi52aXNpdC5mdW5jMQpMZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyLnBvc3RQcm9jZXNzUHJvZgo6Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLm11dGF0ZVNhbXBsZUxhYmVscwpGZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3Ivc2VydmljZS90ZWxlbWV0cnkubmV3U2FtcGxlZExvZ2dlci5mdW5jMQouZ2l0aHViLmNvbS9taXRjaGVsbGgvY29weXN0cnVjdHVyZS5Db25maWcuQ29weQoWcmVnZXhwLigqUmVnZXhwKS5TcGxpdAo+Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5wcmVwYXJlQmF0Y2gKFnJlZmxlY3QudmFsdWVJbnRlcmZhY2UKYmdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmV4cG9ydFN1bW1hcnlEYXRhUG9pbnRzCipnaXRodWIuY29tL2Jlb3JuNy9wZXJrcy9xdWFudGlsZS5uZXdTdHJlYW0KMWdpdGh1Yi5jb20vc2hpcm91L2dvcHN1dGlsL3YzL2NwdS5JbmZvV2l0aENvbnRleHQKE3JlZ2V4cC9zeW50YXgucGFyc2UKeGdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCp0cmFuc2FjdGlvbikuZ2V0TWV0cmljcwonZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS5tYXJzaGFsCktnaXRodWIuY29tL2FwYWNoZS9hcnJvdy9nby92MTUvYXJyb3cvY29tcHV0ZS4oKlNjYWxhckZ1bmN0aW9uKS5BZGROZXdLZXJuZWwKKWdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUudW5tYXJzaGFsChNidWZpby5OZXdSZWFkZXJTaXplCkZnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi9yZWZsZWN0L3Byb3RvcmVnaXN0cnkuKCpGaWxlcykuUmVnaXN0ZXJGaWxlCkZnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9tb2RlbC9sYWJlbHMuKCpTY3JhdGNoQnVpbGRlcikuTGFiZWxzCjZnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy91dGlsL3Bvb2wuKCpQb29sKS5HZXQKXGdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmNvbGxlY3RGcm9tTWV0cmljCl5naXRodWIuY29tL2FwYWNoZS9hcnJvdy9nby92MTUvYXJyb3cvY29tcHV0ZS9pbnRlcm5hbC9rZXJuZWxzLmdlbkNvbXBhcmVLZXJuZWxbZ28uc2hhcGUuaW50NjRdCilnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLlBhcnNlRGF0YQokZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS5pbml0ChBzeW5jLigqUG9vbCkuR2V0CkRnaXRodWIuY29tL2FsZWN0aG9tYXMvcGFydGljaXBsZS92Mi4oKmdlbmVyYXRvckNvbnRleHQpLnBhcnNlQ2FwdHVyZQoUbmV0L2h0dHAuaW5pdC5mdW5jMTUKQGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL2ludGVybmFsL2ZpbGVkZXNjLigqRmlsZSkubGF6eVJhd0luaXQKNmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jaC1nby9wcm90by4oKkNvbEZsb2F0NjQpLkFwcGVuZAowZ2l0aHViLmNvbS9nb2NjeS9nby1qc29uL2ludGVybmFsL2RlY29kZXIuaW5pdC4wCkxnaXRodWIuY29tL3Byb21ldGhldXMvY2xpZW50X2dvbGFuZy9wcm9tZXRoZXVzLigqU3VtbWFyeVZlYykuV2l0aExhYmVsVmFsdWVzCldnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9pbnRlcm5hbC9mYW5vdXRjb25zdW1lci4oKm1ldHJpY3NDb25zdW1lcikuQ29uc3VtZU1ldHJpY3MKK2dpdGh1Yi5jb20vcHJvbWV0aGV1cy9jb21tb24vdmVyc2lvbi5pbml0LjAKN2dpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqc3RydWN0TWFwKS5NYXAKKWdpdGh1Yi5jb20vYWxlY3Rob21hcy9wYXJ0aWNpcGxlL3YyLnZpc2l0CjxnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNsaWNraG91c2UpLmFjcXVpcmUKGnN5bmMuKCpwb29sQ2hhaW4pLnB1c2hIZWFkCipnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmluaXQuZnVuYzMKJmdpdGh1Yi5jb20vc2hpcm91L2dvcHN1dGlsL3YzL2NwdS5JbmZvCjhnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvLigqU2Vzc2lvbikudGFrZVNuYXBzaG90cwojbWltZS9tdWx0aXBhcnQuKCpXcml0ZXIpLkNyZWF0ZVBhcnQKRGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpBcnJheSkuQXBwZW5kUm93CiFjb21wcmVzcy9mbGF0ZS4oKmNvbXByZXNzb3IpLmluaXQKNmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqYmF0Y2gpLkFwcGVuZAo5Z28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvY29uZm1hcC4oKlJlc29sdmVyKS5SZXNvbHZlCg5zdHJpbmdzLlNwbGl0Tgo3Z28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvY29tcG9uZW50LlN0YXJ0RnVuYy5TdGFydAo6Z2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby4oKlNlc3Npb24pLmR1bXBIZWFwUHJvZmlsZQoVcnVudGltZS5uZXdwcm9jLmZ1bmMxCiJjb21wcmVzcy9mbGF0ZS4oKmNvbXByZXNzb3IpLmNsb3NlClpnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvY2xpY2tob3VzZXByb2ZpbGVleHBvcnRlci9jaC4oKkxpbWl0ZWRQb29sKS5wdXQKGXJlZmxlY3QuVmFsdWUuU2V0TWFwSW5kZXgKH2VuY29kaW5nL2pzb24ubWFwRW5jb2Rlci5lbmNvZGUKPWdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS5uZXdTY3JhcGVQb29sLmZ1bmMxLjEKVWdpdGh1Yi5jb20vcHJvbWV0aGV1cy9jbGllbnRfZ29sYW5nL3Byb21ldGhldXMuKCpTdW1tYXJ5VmVjKS5HZXRNZXRyaWNXaXRoTGFiZWxWYWx1ZXMKOmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLkRlZmF1bHREaWFsU3RyYXRlZ3kKRWdpdGh1Yi5jb20vcHJvbWV0aGV1cy9jbGllbnRfZ29sYW5nL3Byb21ldGhldXMudjIuTmV3U3VtbWFyeVZlYy5mdW5jMQoTcnVudGltZS5zeXN0ZW1zdGFjawpaZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci4oKm1ldHJpY3NFeHBvcnRlcikucHVzaE1ldHJpY3NEYXRhCl1naXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLigqbWV0cmljc0V4cG9ydGVyKS5jb2xsZWN0RnJvbU1ldHJpY3MKLWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3Byb3RvLnByb3RvTWV0aG9kcwodY29tcHJlc3MvZmxhdGUubmV3RGVmbGF0ZUZhc3QKJ2dpdGh1Yi5jb20vc25vd2ZsYWtlZGIvZ29zbm93Zmxha2UuaW5pdApDZ2l0aHViLmNvbS9wcm9tZXRoZXVzL2NsaWVudF9nb2xhbmcvcHJvbWV0aGV1cy4oKlJlZ2lzdHJ5KS5SZWdpc3RlcgpnZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyLm5ld1B5cm9zY29wZVJlY2VpdmVyLk5ld0RlY29tcHJlc3Nvci5mdW5jMgpZZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5Mb2NzRm9yU3RhY2sKDnJ1bnRpbWUucnQwX2dvCjpnb29nbGUuZ29sYW5nLm9yZy9wcm90b2J1Zi9pbnRlcm5hbC9maWxlZGVzYy5CdWlsZGVyLkJ1aWxkCiVnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLlBhcnNlChdieXRlcy4oKkJ1ZmZlcikuV3JpdGVUbwpGZ2l0aHViLmNvbS9hcGFjaGUvYXJyb3cvZ28vdjE1L2Fycm93L2NvbXB1dGUuR2V0RnVuY3Rpb25SZWdpc3RyeS5mdW5jMQo/Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5wcm9maWxlRXZlbnRzCj1naXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLlR5cGUuQ29sdW1uCkJnaXRodWIuY29tL2FsZWN0aG9tYXMvcGFydGljaXBsZS92Mi4oKmdlbmVyYXRvckNvbnRleHQpLnBhcnNlR3JvdXAKT2dpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vaW50ZXJuYWwvcHByb2YuZGVmYXVsdENvbGxlY3Rvci5TdGFydENQVVByb2ZpbGUKNmdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28uKCpTZXNzaW9uKS5TdGFydC5mdW5jMQo4Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5oYW5kbGUKLWdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUuZW5jb2RlTWVzc2FnZQoiZ29sYW5nLm9yZy94L25ldC90cmFjZS5OZXdFdmVudExvZwpoZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci4oKnBSZWNlaXZlcikuU3RhcnQKF3JlZmxlY3QuVmFsdWUuSW50ZXJmYWNlCkRnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqVHVwbGUpLkFwcGVuZFJvdwp/Z2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci9pbnRlcm5hbC4oKm1ldHJpY0dyb3VwKS50b051bWJlckRhdGFQb2ludAodY29tcHJlc3MvZ3ppcC4oKlJlYWRlcikuUmVzZXQKR2dpdGh1Yi5jb20vcHJvbWV0aGV1cy9jbGllbnRfZ29sYW5nL3Byb21ldGhldXMuKCpSZWdpc3RyeSkuTXVzdFJlZ2lzdGVyChdydW50aW1lL3Bwcm9mLmFsbEZyYW1lcwqWAWdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2ludGVybmFsL3F1ZXVlLigqQ29uc3VtZXJzW2dvLnNoYXBlLmludGVyZmFjZSB7IEV4cG9ydChjb250ZXh0LkNvbnRleHQpIGVycm9yOyBJdGVtc0NvdW50KCkgaW50IH1dKS5TdGFydC5mdW5jMQoTbWFpbi5ydW5JbnRlcmFjdGl2ZQolZ28udWJlci5vcmcvemFwLigqTG9nZ2VyKS5XaXRoT3B0aW9ucwpBZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKlR1cGxlKS5FbmNvZGUKImNvbXByZXNzL2ZsYXRlLigqZGljdERlY29kZXIpLmluaXQKDnJ1bnRpbWUuZG9Jbml0CkBnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9zZXJ2aWNlL3RlbGVtZXRyeS5uZXdTYW1wbGVkTG9nZ2VyCixnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmVuY29kZVZhcmludAoqZ2l0aHViLmNvbS9zcGYxMy9jb2JyYS4oKkNvbW1hbmQpLkV4ZWN1dGVDCjxnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmJhdGNoQ29sdW1uKS5BcHBlbmQKQ2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3BkYXRhL3BtZXRyaWMuTWV0cmljU2xpY2UuQXBwZW5kRW1wdHkKJGVuY29kaW5nL2pzb24uKCplbmNvZGVTdGF0ZSkubWFyc2hhbAoQc3RyaW5ncy5nZW5TcGxpdAolY29tcHJlc3MvZmxhdGUuKCpjb21wcmVzc29yKS5lbmNTcGVlZApPZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcHJvY2Vzc29yL3Byb2Nlc3NvcmhlbHBlci4oKk9ic1JlcG9ydCkucmVjb3JkRGF0YQpLZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLigqc2NyYXBlTG9vcCkuc2NyYXBlQW5kUmVwb3J0LmZ1bmMxCjtnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9vdGVsY29sLigqY29uZmlnUHJvdmlkZXIpLkdldApUZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcHJvY2Vzc29yL3Byb2Nlc3NvcmhlbHBlci4oKk9ic1JlcG9ydCkuTWV0cmljc0FjY2VwdGVkCkZnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9zZXJ2aWNlL2ludGVybmFsL2dyYXBoLigqR3JhcGgpLlN0YXJ0QWxsCjNnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKldyaXRlcikuQ2xvc2UKB2lvLkNvcHkKGnJlZ2V4cC5tZXJnZVJ1bmVTZXRzLmZ1bmMyChpyZWZsZWN0Lm1hcGFzc2lnbl9mYXN0c3RyMApLZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKkFycmF5KS5hcHBlbmRSb3dEZWZhdWx0ClxnaXRodWIuY29tL3Byb21ldGhldXMvY2xpZW50X2dvbGFuZy9wcm9tZXRoZXVzLigqbWV0cmljTWFwKS5nZXRPckNyZWF0ZU1ldHJpY1dpdGhMYWJlbFZhbHVlcwpBZ2l0aHViLmNvbS9hbGVjdGhvbWFzL3BhcnRpY2lwbGUvdjIuKCpnZW5lcmF0b3JDb250ZXh0KS5wYXJzZVR5cGUKMmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jaC1nby9wcm90by4oKkNvbFN0cikuQXBwZW5kChJyZWdleHAub25lUGFzc0NvcHkKOmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY29ubmVjdCkuc2VuZERhdGEKPms4cy5pby9hcGltYWNoaW5lcnkvcGtnL3J1bnRpbWUuKCpTY2hlbWUpLkFkZEtub3duVHlwZVdpdGhOYW1lChBydW50aW1lLm5ld3Byb2MxCjdnaXRodWIuY29tL3Byb21ldGhldXMvY29tbW9uL21vZGVsLkxhYmVsU2V0LkZpbmdlcnByaW50CnRnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLigqdHJhbnNhY3Rpb24pLkNvbW1pdAoOcmVnZXhwLkNvbXBpbGUKMGdpdGh1Yi5jb20vZ29jY3kvZ28tanNvbi9pbnRlcm5hbC9lbmNvZGVyLmluaXQuMApIZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvaW50ZXJuYWwvaW1wbC4oKk1lc3NhZ2VJbmZvKS5tYWtlUmVmbGVjdEZ1bmNzCjdnaXRodWIuY29tL0NsaWNrSG91c2UvY2gtZ28vcHJvdG8uQ29sSW50NjQuRW5jb2RlQ29sdW1uChJzdHJpbmdzLkZpZWxkc0Z1bmMKOmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY29ubmVjdCkucmVhZERhdGEKMnJ1bnRpbWUvcHByb2YuKCpwcm9maWxlQnVpbGRlcikuYXBwZW5kTG9jc0ZvclN0YWNrCjlnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9jb25mbWFwLigqUmV0cmlldmVkKS5Bc0NvbmYKP2dpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlj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"; + let b_req = base64::decode(req).unwrap(); + let b_resp = base64::decode(resp).unwrap(); + merge_tree(0, b_req.as_slice(), "alloc_objects:count".to_string()); + let res = export_tree(0, "alloc_objects:count".to_string()); + let o_expected = SelectMergeStacktracesResponse::decode(b_resp.as_slice()).unwrap(); + let o_res = SelectMergeStacktracesResponse::decode(res.as_slice()).unwrap(); + let fg = &o_expected.flamegraph.unwrap(); + let res_fg = &o_res.flamegraph.unwrap(); + for i in 0..fg.levels.len() { + let mut expected_level: Vec = Vec::new(); + let mut res_level: Vec = Vec::new(); + for j in 0..fg.levels[i].values.len() / 4 { + expected_level.push( + fg.names[fg.levels[i].values[j * 4 + 3] as usize].clone() + ":" + + fg.levels[i].values[j * 4 + 1].clone().to_string().as_str() + ":" + + fg.levels[i].values[j * 4 + 2].clone().to_string().as_str() + ":" + + fg.levels[i].values[j * 4 + 0].clone().to_string().as_str() + ); + } + for j in 0..res_fg.levels[i].values.len() / 4 { + res_level.push( + res_fg.names[fg.levels[i].values[j * 4 + 3] as usize].clone() + ":" + + res_fg.levels[i].values[j * 4 + 1].clone().to_string().as_str() + ":" + + res_fg.levels[i].values[j * 4 + 2].clone().to_string().as_str() + ":" + + res_fg.levels[i].values[j * 4 + 0].clone().to_string().as_str() + ); + } + expected_level.sort(); + res_level.sort(); + expected_level.insert(0, "level {}:".to_string() + i.to_string().as_str()); + res_level.insert(0, "level {}:".to_string() + i.to_string().as_str()); + assert_eq!(expected_level, res_level); + } + } } const TEST_PPROFS: &str = r#"HEADERS: From 75795aef030f99cd546346b49a3916f705a231f3 Mon Sep 17 00:00:00 2001 From: akvlad Date: Thu, 17 Oct 2024 20:41:22 +0300 Subject: [PATCH 12/19] diff_tree test failing --- pyroscope/pprof-bin/src/utest.rs | 41 ++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/pyroscope/pprof-bin/src/utest.rs b/pyroscope/pprof-bin/src/utest.rs index efd34d6f..57fee35c 100644 --- a/pyroscope/pprof-bin/src/utest.rs +++ b/pyroscope/pprof-bin/src/utest.rs @@ -42,8 +42,8 @@ pub fn get_test_pprof_data() -> Vec> { #[cfg(test)] mod tests { use prost::Message; - use crate::{export_tree, merge_tree}; - use crate::pprof_pb::querier::v1::SelectMergeStacktracesResponse; + use crate::{diff_tree, export_tree, merge_tree}; + use crate::pprof_pb::querier::v1::{FlameGraphDiff, SelectMergeStacktracesResponse}; use super::*; @@ -118,6 +118,43 @@ mod tests { assert_eq!(expected_level, res_level); } } + + #[test] + fn test_diff() { + let l_b64_req = "8gJFYiBVOCYNuEtnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKmxvZ3NSZXF1ZXN0KS5FeHBvcnTu5d7bL0QqHRtuZXQuKCpzeXNEaWFsZXIpLmRpYWxTaW5nbGXQtZgxgpXYNBFydW50aW1lLm5vdGVzbGVlcA/EJYLTmdXHNGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jaC1nby9wcm90by4oKlJlYWRlcikucmVhZEZ1bGz3ctP2qgjz6DxnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUuKCpzY3JhcGVMb29wKS5yZXBvcnTy394COxe+5RJydW50aW1lLmNvbnZUc2xpY2WeIu8KUN1k1DVnaXRodWIuY29tL213aXRrb3cvZ28tY29ubnRyYWNrLmRpYWxDbGllbnRDb25uVHJhY2tlcsOwYDTe+2s8a2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuZ2V0U2VyaWVzUmVm/X+kiP3agLEyZ28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL3Nkay90cmFjZS4oKnRyYWNlcikuU3RhcnQQR4RwgXBT0DVnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvLigqU2Vzc2lvbikudXBsb2FkRGF0YQYmn4SxwWKvH3J1bnRpbWUuKCpzdGtmcmFtZSkuZ2V0U3RhY2tNYXDis0kP+uiw3Q1jb250ZXh0LnZhbHVl4G5kL5JSOlaKAWdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCppbml0aWFsUG9pbnRBZGp1c3RlcikuYWRqdXN0TWV0cmljU3VtbWFyeSHZ+HhuiwONGnJ1bnRpbWUuKCptY2FjaGUpLm5leHRGcmVlM77u2s/L+2E4Z2l0aHViLmNvbS9td2l0a293L2dvLWNvbm50cmFjay5OZXdEaWFsQ29udGV4dEZ1bmMuZnVuYzEgc4I1iE+vYClydW50aW1lLigqaW5saW5lVW53aW5kZXIpLnJlc29sdmVJbnRlcm5hbMJAbvbcb1HqD3J1bnRpbWUubWVtbW92ZZuh/V+iOEhbVmdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIucmVtb3ZlUHJvbUZvcmJpZGRlblJ1bmVzLmZ1bmMxuvc1VEWHJhgsZ2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUubG9hZDMyMzLPVSBP+m3oYktnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUuKCpzY3JhcGVMb29wKS5zY3JhcGVBbmRSZXBvcnQuZnVuYzIzmGHnJbPurDBnaXRodWIuY29tL0NsaWNrSG91c2UvY2gtZ28vcHJvdG8uKCpSZWFkZXIpLlJlYWSlYkFtlSd0BA1ydW50aW1lLndha2VwlLf3+v5y09ENcnVudGltZS5tY2FsbPuNl6PuA6U5DnJ1bnRpbWUuc3Bhbk9mI9NTkMyWW7cPcnVudGltZS5lZmFjZWVxSzJunQ9Uhp0ZY29udGV4dC4oKmNhbmNlbEN0eCkuRG9uZfMsZULPVpCrGnJ1bnRpbWUuKCpyYW5kb21FbnVtKS5uZXh0kWNjtyeGAmlAZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL3Byb3RvLigqQmxvY2spLkFwcGVuZDnWw6fOTmtEEmZtdC4oKnBwKS5kb1ByaW50ZqbGC4nJ7PpEEXJ1bnRpbWUuZ3Jvd3NsaWNlGEQvj3jClhEsbmV0LigqUmVzb2x2ZXIpLmdvTG9va3VwSVBDTkFNRU9yZGVyLmZ1bmMzLjEV5+nLyvXLSBBydW50aW1lLmZpbmRudWxs5lst2nIIqXBRZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci5iYXRjaFNhbXBsZXNBbmRUaW1lU2VyaWVzZfFhRnq9GiwccnVudGltZS5tZW1jbHJOb0hlYXBQb2ludGVyc1W3xIUQn91DUWdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3Byb2Nlc3Nvci9wcm9jZXNzb3JoZWxwZXIuTmV3TWV0cmljc1Byb2Nlc3Nvci5mdW5jMWPoFr12xtVpN2dpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLigqY29tcHJlc3NvcikuY2xvc2U27TmsGdFln0pnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci5uZXdRdWV1ZVNlbmRlci5mdW5jMdUdZfSJPqEUF25ldC9odHRwLigqQ2xpZW50KS5zZW5kKiYD0avBXyMVbmV0L2h0dHAuKCpDbGllbnQpLkRvAZz1EQGpIwIYdW5pY29kZS91dGY4LlZhbGlkU3RyaW5nGF2inv8oC/gfbmV0L2h0dHAuKCp3YW50Q29ubikudHJ5RGVsaXZlcstXqaoQaVrtE3J1bnRpbWUuYWRqdXN0ZnJhbWVVjVMQssvOnhlydW50aW1lLm1Qcm9mX0ZsdXNoTG9ja2VkzeOe990RHUoSZm10LigqcHApLnByaW50QXJn80cdjE5muuoQcnVudGltZS5zZWxlY3Rnb0N4w9HQ5G8xEXJ1bnRpbWUuc3RrYnVja2V0cetsxvuvn0swZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby4oKlNlc3Npb24pLnJlc2V09/uG9ltwyP4pZ29sYW5nLm9yZy94L25ldC90cmFjZS4oKmV2ZW50TG9nKS5FcnJvcmazO1wJckN8mRRydW50aW1lLmVudGVyc3lzY2FsbMMD/mcNHsdfGHJ1bnRpbWUuKCpibWFwKS5vdmVyZmxvdz7FihbCxxnQFnJ1bnRpbWUuZnVuY0luZm8uZW50cnmMoFlkje2cCBFydW50aW1lLnN0ZWFsV29ya+hEKSTHoql0GXJ1bnRpbWUubWFwYXNzaWduX2Zhc3RzdHI5Ud4AVNJryBVydW50aW1lLmNhbGxlcnMuZnVuYzF4RA+910vDWDpnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmJhdGNoKS5jbG9zZVF1ZXJ50+XufhUB6MQ0Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NoLWdvL3Byb3RvLigqUmVhZGVyKS5SZWFkQnl0ZZUYf1XL2xlNGXJ1bnRpbWUuZ2NNYXJrVGVybWluYXRpb24aXNyQkNuGzR5ydW50aW1lLmZ1bmNOYW1lUGllY2VzRm9yUHJpbnQUeHFuv1RuaRFydW50aW1lLnBNYXNrLnNldCgpYBbs7bb8EnJ1bnRpbWUud2JCdWZGbHVzaGrPW2Nc3Uw9TmdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuYnVpbGRQcm9tQ29tcGxpYW50TmFtZSKliK2s2XlyGWNvbnRleHQuV2l0aERlYWRsaW5lQ2F1c2W4yv5Aftm3nw5zeXNjYWxsLnNvY2tldGtE6nlU7pgAInJ1bnRpbWUvaW50ZXJuYWwvc3lzY2FsbC5FcG9sbFdhaXTuxwEiIm09KiFydW50aW1lL2ludGVybmFsL3N5c2NhbGwuRXBvbGxDdGzHlVgnObRT3BJyZWZsZWN0LnVuc2FmZV9OZXeaLOHNe9MYbB9pbnRlcm5hbC9wb2xsLnJ1bnRpbWVfcG9sbENsb3NlJY3DtA8lHN0ScnVudGltZS5hcmVuYUluZGV4REQbHue2svIOcnVudGltZS50Z2tpbGx+EV/AEe3NPjxnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLigqUHJvZmlsZSkuV3JpdGVVbmNvbXByZXNzZWRNbPflG/Lvw0NnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUuKCp0aW1lTGltaXRBcHBlbmRlcikuQXBwZW5k3UYgkVNtBmUWcnVudGltZS5nY1RyaWdnZXIudGVzdI0cOtJTIknQDnJ1bnRpbWUucGFya19t1+WHhhMaBcYUcnVudGltZS5maW5kUnVubmFibGWIhIddPW13hCJuZXQuKCpSZXNvbHZlcikubG9va3VwSVBBZGRyLmZ1bmMxqT4MLWUHADcPcnVudGltZS5jYWxsZXJz1DhuJdtcEFk8Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLigqc2NyYXBlTG9vcCkuYXBwZW5kjxk8xF6hp9UQbmV0LigqY29ubikuUmVhZBD8kMwOtjQ7EnJ1bnRpbWUuZ3JleW9iamVjdAHrf6wTytYXdWdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9jbGlja2hvdXNlcHJvZmlsZWV4cG9ydGVyL2NoLigqY2xpY2tob3VzZUFjY2Vzc05hdGl2ZUNvbHVtbmFyKS5JbnNlcnRCYXRjaORurh8EWm6QE3J1bnRpbWUubVByb2ZfRmx1c2jElZrmeYJnOkJnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLmluaXQuZnVuYzJ+YAUA18Wl0mNnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLigqbWV0cmljc0V4cG9ydGVyKS5leHBvcnRIaXN0b2dyYW1EYXRhUG9pbnTFToumQIUHskhnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9jb25zdW1lci5Db25zdW1lTWV0cmljc0Z1bmMuQ29uc3VtZU1ldHJpY3NhAzhpySmARhBydW50aW1lLm5hbm90aW1l4CjGOG7ksrgYbmV0LigqUmVzb2x2ZXIpLmV4Y2hhbmdlQ8AfmTP86x8NaW5kZXhieXRlYm9keY3Yx8DIjQwiYWdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmV4cG9ydE51bWJlckRhdGFQb2ludHOr1H67/MAsiBlieXRlcy4oKkJ1ZmZlcikuV3JpdGVCeXRlpOuvxc915m0RcnVudGltZS5zY2Fuc3RhY2uhDvLntYM3bh1ydW50aW1lLmdjRHJhaW5NYXJrV29ya2VySWRsZXJQTFSyRpE/Em5ldC5pbnRlcm5ldFNvY2tldBTKYqNsZmluEnJ1bnRpbWUuc2Nhbm9iamVjdOU7MKX9higGRmdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL21vZGVsL2xhYmVscy5MYWJlbHMuSGFzaFdpdGhvdXRMYWJlbHMmOKRJNa3t8TZnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLkVudW36+1wHs1y1EFJnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL2dvZGVsdGFwcm9mL2ludGVybmFsL3Bwcm9mLigqcHJvZmlsZUJ1aWxkZXIpLkJ1aWxkAZMCTbZVcZ5BZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjbGlja2hvdXNlKS5QcmVwYXJlQmF0Y2hzbPhDzBobL25naXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLm5ld01ldHJpY0ZhbWlseXALxMr4X9nQDnJ1bnRpbWUuc3RhcnRt+aooldoDdxgNbmV0L2h0dHAuc2VuZASN4fD2fGK6IW5ldC9odHRwLigqVHJhbnNwb3J0KS5kaWFsQ29ubkZvcsrvkCcMcHfwH2dvLnViZXIub3JnL3phcC4oKkxvZ2dlcikuY2hlY2ta6sJ3kzMCPEFnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqQXJyYXkpLmFwcGVuZAwgkiQn4LowDmlvLlJlYWRBdExlYXN0gw5ZQNj+jTQTcnVudGltZS5wY2RhdGF2YWx1Zf1hQFweqGRURGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpJbnQ2NCkuQXBwZW5kUm93ar3ZNSS/hHwUcnVudGltZS5zcmNGdW5jLm5hbWWhWYKFcVt4yg9ydW50aW1lLnBjdmFsdWXK1qreFSyTUxRydW50aW1lLnByb2ZpbGVhbGxvY7ywal2vzkeKGGlvLigqTGltaXRlZFJlYWRlcikuUmVhZIVhlGNBEwfrNGdvLm9wZW50ZWxlbWV0cnkuaW8vb3RlbC9zZGsvdHJhY2UuKCp0cmFjZXIpLm5ld1NwYW7MhdTjfYCO2hhuZXQuKCpSZXNvbHZlcikubG9va3VwSVBjpqHpKMBUOhtuZXQuKCpzeXNEaWFsZXIpLmRpYWxTZXJpYWxX21iwY/69ahFydW50aW1lLm1ha2VzbGljZWzG8IPhmf1qRWdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnNjcmFwZUxvb3ApLnNjcmFwZUFuZFJlcG9ydI8Fh2IVyZG5OGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL21vZGVsL2xhYmVscy5OZXdCdWlsZGVydWeYuFSqNqMWcnVudGltZS4oKmxmc3RhY2spLnBvcHH++jLUDnq1JWludGVybmFsL3NpbmdsZWZsaWdodC4oKkdyb3VwKS5kb0NhbGz317MU8G4OJhlydW50aW1lLigqZ2NXb3JrKS5iYWxhbmNlE4miI5YNKpFmZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL2NsaWNraG91c2Vwcm9maWxlZXhwb3J0ZXIuKCpjbGlja2hvdXNlUHJvZmlsZUV4cG9ydGVyKS5zZW5kYjECVAG5ft0ebmV0L2h0dHAuKCpUcmFuc3BvcnQpLmRpYWxDb25uGM3/cHirFUlfZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyL2NvbXByZXNzLigqRGVjb21wcmVzc29yKS5yZWFkQnl0ZXMobxUzr1RcERhydW50aW1lLmdyb3dXb3JrX2Zhc3RzdHLJerpVZipgQxBydW50aW1lLm5ld3N0YWNrLmC4JNoWycEecnVudGltZS4oKm1vZHVsZWRhdGEpLnRleHRBZGRy1dcTWLt4WMoxcnVudGltZS4oKmdjQ29udHJvbGxlclN0YXRlKS5maW5kUnVubmFibGVHQ1dvcmtlcoG//wcmlW+VOWdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnNjcmFwZUxvb3ApLnJ1brfIxI02Ehn8LmdvLm9wZW50ZWxlbWV0cnkuaW8vb3RlbC90cmFjZS5TcGFuRnJvbUNvbnRleHR7RRlDltQKokRnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL2dvZGVsdGFwcm9mL2ludGVybmFsL3Bwcm9mLmFsbEZyYW1lc64HJogkHSYRPGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL2Rpc2NvdmVyeS4oKk1hbmFnZXIpLnNlbmRlcuvyaHNTRVcgFHJ1bnRpbWUudHJhY2ViYWNrUENzIewMtGorjmcWcnVudGltZS5yZWVudGVyc3lzY2FsbIpcj77pzHR6GXJ1bnRpbWUudHlwZVBvaW50ZXJzLm5leHRFKblWEEOtIBRuZXQuKCpPcEVycm9yKS5FcnJvchJ6ZtBJXy/RF3J1bnRpbWUuc2NhbmZyYW1ld29ya2Vyqiw1lUeqYEt0Z2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci9pbnRlcm5hbC4oKnRyYW5zYWN0aW9uKS5BcHBlbmTznPwnLpKPDhBydW50aW1lLmdldGVtcHR5kPt1VpaW11cTcnVudGltZS5yZWFkVWludHB0coKOAoicndswFm5ldC5kbnNQYWNrZXRSb3VuZFRyaXCgZ6KBJdJevw9ydW50aW1lLmhhbmRvZmZk1WpYsh4gMVxnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKm1ldHJpY3NTZW5kZXJXaXRoT2JzZXJ2YWJpbGl0eSkuc2VuZF2lQEZIiP3eKWVuY29kaW5nL2pzb24uKCplbmNvZGVTdGF0ZSkucmVmbGVjdFZhbHVlVq+T63lfgbUdZW5jb2RpbmcvYmluYXJ5LkFwcGVuZFV2YXJpbnTVIROTH7MTngltZW1lcWJvZHlNq1bN+mITNxZyZWZsZWN0LigqTWFwSXRlcikuS2V5VRtgDuujnTs1Z2l0aHViLmNvbS9wcm9tZXRoZXVzL2NvbW1vbi9tb2RlbC5MYWJlbFZhbHVlLklzVmFsaWRM/u9O9sACUh1ydW50aW1lLnN0YXJ0VGhlV29ybGRXaXRoU2VtYeQFfHBegZOLGnJ1bnRpbWUuZGVkdWN0QXNzaXN0Q3JlZGl0S1cekAHePHoOc3lzY2FsbC5Tb2NrZXRqIJ43AdmxyyhydW50aW1lLigqbXNwYW4pLnR5cGVQb2ludGVyc09mVW5jaGVja2VkRxLl4KV7CXIcY29tcHJlc3MvZ3ppcC4oKlJlYWRlcikuUmVhZAM3qLGFhYD7FnJ1bnRpbWUudW5sb2NrV2l0aFJhbmvYS1XuP9msnhJzeXNjYWxsLlJhd1N5c2NhbGwedrNbs+wNA09nby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKmJhc2VSZXF1ZXN0U2VuZGVyKS5zZW5kryQJIXXRJvUfbmV0L2h0dHAuKCpUcmFuc3BvcnQpLnJvdW5kVHJpcKui8EyD3+S2KXJ1bnRpbWUuKCpnY0NvbnRyb2xsZXJTdGF0ZSkuZW5saXN0V29ya2VyCCUhL5QgglYWcnVudGltZS5tYXJrcm9vdC5mdW5jMUV26OHD7b5fMWdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUuKCpQcm9maWxlKS5lbmNvZGUJylTUF5mfwiNjb21wcmVzcy9mbGF0ZS4oKmRlY29tcHJlc3NvcikuUmVhZGymHc/Ad5l5FnJ1bnRpbWUuKCpnY0JpdHMpLmJpdHBuG0UhoG7aUhJuZXQuKCpuZXRGRCkuQ2xvc2WUzwMNXMAaHUBnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvcHJvdG8uKCpCbG9jaykuRGVjb2RlHnmsbk8kIb9DZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLigqc2NyYXBlQ2FjaGUpLmZvckVhY2hTdGFsZcqbwrUCWJhUGHJ1bnRpbWUuZnVuY05hbWVGb3JQcmludEnfDj6hKUGYE3J1bnRpbWUuZ29zY2hlZEltcGzQWzeCfXCmS0FnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqQXJyYXkpLkFwcGVuZJKRmMwzV7kTXWdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9yZWNlaXZlci9weXJvc2NvcGVyZWNlaXZlci9wcHJvZnBhcnNlci4oKnBQcm9mUGFyc2VyKS5QYXJzZVejd+xdAm5oD3J1bnRpbWUudW5sb2NrMs/mZFtkW/RfGXN5bmMuKCpwb29sQ2hhaW4pLnBvcFRhaWzhStFebo1tbw9ydW50aW1lLnNpZ25hbE3luQTS3KLf2hBydW50aW1lLnB1dGVtcHR5uw20YjmvCZI0Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpiYXRjaCkuU2VuZOKaiUS2U93wS2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2V4cG9ydGVyaGVscGVyLigqdGltZW91dFNlbmRlcikuc2VuZNnu4qi07LZBC2lvLlJlYWRGdWxsJFWdXKyFNSVgZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyL2NvbXByZXNzLigqRGVjb21wcmVzc29yKS5EZWNvbXByZXNzHaFVOzVEwMgfaW50ZXJuYWwvcG9sbC4oKnBvbGxEZXNjKS5jbG9zZUiIoDDTj8x6GmNvbnRleHQuKCpjYW5jZWxDdHgpLlZhbHVln0cPG3qBY2peZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKkRlbHRhSGVhcFByb2ZpbGVyKS5Xcml0ZUhlYXBQcm90b8hEQut8+1ZbEXJ1bnRpbWUuY29weXN0YWNrj9bbEjO+SeweZ2l0aHViLmNvbS9nby1mYXN0ZXIvY2l0eS5DSDY0purYHU2LD9ZbZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvZXhwb3J0ZXJoZWxwZXIuKCpsb2dzRXhwb3J0ZXJXaXRoT2JzZXJ2YWJpbGl0eSkuc2VuZHH+xbv30EVRV2dpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9jbGlja2hvdXNlcHJvZmlsZWV4cG9ydGVyL2NoLnJlYWRUcmVlRnJvbU1hcI4mpXyGCYhiGm5ldC4oKlJlc29sdmVyKS50cnlPbmVOYW1lw81YPvZGX+0PcnVudGltZS5nY0RyYWluHx5GrInl0V8Uc3luYy4oKlBvb2wpLmdldFNsb3c32wBr0+tTUBpydW50aW1lLigqX2Z1bmMpLmlzSW5saW5lZOu86rgChxiPEnJ1bnRpbWUuY2FzZ3N0YXR1cwoVOlOd6TwIFnJ1bnRpbWUuZ2NCZ01hcmtXb3JrZXIwrJGHGunHJBdydW50aW1lLigqc3BhblNldCkucHVzaCMxIq/ODe/ZH25ldC9odHRwLigqVHJhbnNwb3J0KS5Sb3VuZFRyaXCxmBYxGXTUcE5nby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKm1ldHJpY3NSZXF1ZXN0KS5FeHBvcnQyr4Hs136ElhVydW50aW1lLmNvbmNhdHN0cmluZ3MZXs0RwXvVozxnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmJhdGNoKS5BcHBlbmRTdHJ1Y3SpLJgF8Kk2myFydW50aW1lL2ludGVybmFsL3N5c2NhbGwuU3lzY2FsbDZX8qr4XFyhxz1naXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9tb2RlbC9sYWJlbHMuTGFiZWxzLlZhbGlkYXRl7kpF6jnp+pAlZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby5udW1HQ40+z8DQ7EZTDHN5c2NhbGwucmVhZB0X50IzkvozD3N5c2NhbGwuU3lzY2FsbDOeTtT1wCTJOWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY29ubmVjdCkucHJvY2Vzc8GZoQgd+w4NJm5ldC9odHRwLigqVHJhbnNwb3J0KS5xdWV1ZUZvcklkbGVDb25uxpUHgKRer2MbbmV0LigqY29uZikuaG9zdExvb2t1cE9yZGVydwkgMDxfTA4gcnVudGltZS4oKnN0YWNrU2NhblN0YXRlKS5wdXRQdHJrmANg+RUIb5sBZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvaW50ZXJuYWwvcXVldWUuKCpib3VuZGVkTWVtb3J5UXVldWVbZ28uc2hhcGUuaW50ZXJmYWNlIHsgRXhwb3J0KGNvbnRleHQuQ29udGV4dCkgZXJyb3I7IEl0ZW1zQ291bnQoKSBpbnQgfV0pLkNvbnN1bWV0MrwbQigACXJnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLm5vcm1hbGl6ZU1ldHJpY05hbWW4zles2qhBsw9ydW50aW1lLm5ldHBvbGy7ef7F8HpIjBxydW50aW1lLigqcmFuZG9tT3JkZXIpLnN0YXJ02MmrOsxrigoScnVudGltZS5mdXRleHNsZWVwtsamCKjpwF4YcmVmbGVjdC4oKk1hcEl0ZXIpLlZhbHVlO0IOrUg+IDcYcnVudGltZS4oKnVud2luZGVyKS5uZXh0nlQcdLFLsG8hbmV0L2h0dHAuKCpwZXJzaXN0Q29ubikud3JpdGVMb29wZWMdO+8kvD9eZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyLigqcHlyb3Njb3BlUmVjZWl2ZXIpLnJlYWRQcm9maWxlc7pitwbIDeH8DXJ1bnRpbWUuZnV0ZXgobQmR6ppTR15naXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvcmVjZWl2ZXIvcHlyb3Njb3BlcmVjZWl2ZXIuKCpweXJvc2NvcGVSZWNlaXZlcikuaGFuZGxlLmZ1bmMx3t9XWPOguM4UbmV0LigqUmVzb2x2ZXIpLmRpYWwLHi0DfQ4Q2SVuZXQvaHR0cC4oKlRyYW5zcG9ydCkuZGVjQ29ubnNQZXJIb3N0vu+adBsx+N0ZaW50ZXJuYWwvcG9sbC4oKkZEKS5DbG9zZST8H5PkEhr3EnJ1bnRpbWUuZ2NNYXJrRG9uZSN3sRO7YfWmF3J1bnRpbWUuKCpsZnN0YWNrKS5wdXNo6f5Zn3fq/MMPcnVudGltZS5zZWxsb2Nr3Ullk5eLmNgabmV0L2h0dHAuKCpUcmFuc3BvcnQpLmRpYWzZ8UHwc2oWLxJuZXQuKCpuZXRGRCkuV3JpdGUIouedHfF3iElnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKnJldHJ5U2VuZGVyKS5zZW5kVqbWt4FhruU7Z2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuKCpjb21wcmVzc29yKS5zdG9yZUZhc3RcfPTJKceytRFuZXQuKCpuZXRGRCkuUmVhZBK5UrhZh7COZGdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmV4cG9ydEhpc3RvZ3JhbURhdGFQb2ludHOXDF9mUmr3wBVlbmNvZGluZy9qc29uLk1hcnNoYWwmuGwr0jjZ6xdmbXQuKCpwcCkuaGFuZGxlTWV0aG9kc/GUZOnCfnNKSWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpBcnJheSkuYXBwZW5kUm93UGxhaW6Bxhxw6i+TyiVnaXRodWIuY29tL2dvLWZhc3Rlci9jaXR5Lmhhc2gxMjh0bzY0QiQCXQ4hhvlFZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLigqc2NyYXBlTG9vcCkuYWRkUmVwb3J0U2FtcGxlQpvOrnEC5VIPcmVmbGVjdC5jb3B5VmFsCMBLK4vtiIdDZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi4oKkhlYXBQcm9maWxlcikuUHJvZmlsZUqUKUqov2wwC2ZtdC5TcHJpbnRmA4IjfMbKsjAsZ28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL21ldHJpYy5OZXdBZGRDb25maWeZIzYj7wRlxllnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL2dvZGVsdGFwcm9mL2ludGVybmFsL3Bwcm9mLigqcHJvZmlsZUJ1aWxkZXIpLmVtaXRMb2NhdGlvbim85OsI2hUEemdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCp0cmFuc2FjdGlvbikuZ2V0U2VyaWVzUmVm0si9Ks1nFuEUcnVudGltZS5hY3F1aXJlU3Vkb2fkKCgBqHtIfCtjb21wcmVzcy9mbGF0ZS4oKmRlY29tcHJlc3NvcikuaHVmZm1hbkJsb2NryWJlQEijMRNGZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyLmdldE5vZGVJZMhx+SDM9W3VGGJ5dGVzLigqQnVmZmVyKS5SZWFkRnJvbexJ/SlemEzmHHJ1bnRpbWUuKCpzd2VlcExvY2tlZCkuc3dlZXCuSdmPZWDEFw1zeXNjYWxsLndyaXRlnU+wX8Z8emQicnVudGltZS5nY0RyYWluTWFya1dvcmtlckRlZGljYXRlZCb3WRNj/VQOYGdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmV4cG9ydE51bWJlckRhdGFQb2ludADZ/f1srDfYEXJ1bnRpbWUubmFub3RpbWUx2SMJe5MdJQMWcnVudGltZS4oKkZyYW1lcykuTmV4dEmhqZnHx1txG3J1bnRpbWUuc3RhcnRUaGVXb3JsZC5mdW5jMeUN3pY1xs0ND3J1bnRpbWUuZ29leGl0MAS4FSgb5rv7F3J1bnRpbWUuZ2NGbHVzaEJnQ3JlZGl04e4jK3fHv/wQcnVudGltZS5tYWtlY2hhboadauvDVYG2TGdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9yZWNlaXZlci9weXJvc2NvcGVyZWNlaXZlci5wb3N0UHJvY2Vzc1Byb2b60DLvY59YcxRidWZpby4oKlJlYWRlcikuUmVhZBIyaT2sTm02HXJ1bnRpbWUudHlwZVBvaW50ZXJzLm5leHRGYXN0OHpnJxRQo9UTcnVudGltZS5mdXRleHdha2V1cB9fhMihwiuHFXJ1bnRpbWUucmVzZXRzcGlubmluZ9h6vT2sovqCKGNvbXByZXNzL2ZsYXRlLigqZGVjb21wcmVzc29yKS5uZXh0QmxvY2uklodLQiZOKR9ydW50aW1lLigqbWNlbnRyYWwpLnVuY2FjaGVTcGFuhf2sWhQGelsUcnVudGltZS5uZXh0RnJlZUZhc3TFHoEuYjXMJj5naXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNvbm5lY3QpLnByZXBhcmVCYXRjaJpOF0s2FVcjDXJ1bnRpbWUubVBhcmvIOpuAZcamARFuZXQuKCpjb25uKS5Xcml0ZXuE4dG3R8qoFW5ldC4oKkROU0Vycm9yKS5FcnJvckHvrBFnAPpLJ2dpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUubWFyc2hhbNsCUqI4lqTEdXR5cGU6LmVxLmdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwudGltZXNlcmllc0tleV4zxa+wnSydFHJ1bnRpbWUubVByb2ZfTWFsbG9jfLkgt7XukjZcZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci4oKm1ldHJpY3NFeHBvcnRlcikuY29sbGVjdEZyb21NZXRyaWPrnTnzCtjb6Q9ydW50aW1lLmJnc3dlZXC1yamdEB/rXBduZXQuKCpjb25mKS5sb29rdXBPcmRlcoLzzCq5bhGqEHN5bmMuKCpQb29sKS5HZXTEdEZMwm8PmBtydW50aW1lLmVudGVyc3lzY2FsbF9zeXNtb277YvJAWynYhQpuZXQuc29ja2V01LLYi9MFnghKZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvZXhwb3J0ZXJoZWxwZXIuKCpPYnNSZXBvcnQpLnN0YXJ0T3AYB0RLGoaC91dnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9pbnRlcm5hbC9mYW5vdXRjb25zdW1lci4oKm1ldHJpY3NDb25zdW1lcikuQ29uc3VtZU1ldHJpY3PxFldvdlpyIjRnby5vcGVudGVsZW1ldHJ5LmlvL290ZWwvc2RrL21ldHJpYy4oKmludDY0SW5zdCkuQWRkUcLOkyK4IFw3Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpzdHJ1Y3RNYXApLk1hcFo7N8lyIvz1EHJ1bnRpbWUuZnVuY25hbWVMEjAdzoTyyBZydW50aW1lLmdvc3RyaW5nbm9jb3B5Ye/KEDsyGXhaZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL2NsaWNraG91c2Vwcm9maWxlZXhwb3J0ZXIvY2guKCpMaW1pdGVkUG9vbCkuZ2V0iTs1oz8F4vQVcnVudGltZS5zdGFydFRoZVdvcmxk+A3JZvs1GHM4Z2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby4oKlNlc3Npb24pLnRha2VTbmFwc2hvdHOp9WvCrWav0hBydW50aW1lLm1hbGxvY2djGTyGyxPnTcREZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKkFycmF5KS5BcHBlbmRSb3c7tksjWy+HNjZnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmJhdGNoKS5BcHBlbmTK7WWDBPYU4BVydW50aW1lLm1hcmtyb290QmxvY2vmpiw1bB8MGyBuZXQvaHR0cC5wZXJzaXN0Q29ubldyaXRlci5Xcml0ZYXV91blegKkOmdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28uKCpTZXNzaW9uKS5kdW1wSGVhcFByb2ZpbGX3fgQ8CY1Z0hFydW50aW1lLmdvc2NoZWRfbZtEzD27nXWJhAFnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLigqaW5pdGlhbFBvaW50QWRqdXN0ZXIpLkFkanVzdE1ldHJpY3NYxSWtgwP59RFuZXQuKCpjb25uKS5DbG9zZWsXX88NmXk/WmdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9jbGlja2hvdXNlcHJvZmlsZWV4cG9ydGVyL2NoLigqTGltaXRlZFBvb2wpLnB1dFCuScdKML1KGnJ1bnRpbWUubWFwYWNjZXNzMl9mYXN0c3Ry9BVzNOPRxEwVcnVudGltZS5jb25jYXRzdHJpbmcyXSRreh31AiYfZW5jb2RpbmcvanNvbi5tYXBFbmNvZGVyLmVuY29kZXRLNkBkGLfKPWdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS5uZXdTY3JhcGVQb29sLmZ1bmMxLjFNlHYu16zQ4BhydW50aW1lLigqZ2NXb3JrKS50cnlHZXRrUeA/GEbNFBNydW50aW1lLnN5c3RlbXN0YWNrLE84EskYf7laZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci4oKm1ldHJpY3NFeHBvcnRlcikucHVzaE1ldHJpY3NEYXRhUL2517YSKW5dZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci4oKm1ldHJpY3NFeHBvcnRlcikuY29sbGVjdEZyb21NZXRyaWNz2+W+z3C82iUaaW50ZXJuYWwvcG9sbC4oKkZEKS5kZWNyZWZsgrCkBxfJlR9ydW50aW1lLigqZ2NCaXRzQXJlbmEpLnRyeUFsbG9jA3w01sBQXT5ZZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5Mb2NzRm9yU3RhY2s3wHHL99E4NhVuZXQvaHR0cC4oKkNsaWVudCkuZG9yCYA3fv08HhluZXQuKCpEaWFsZXIpLkRpYWxDb250ZXh0KKwanumCLDsQcnVudGltZS5zd2VlcG9uZXQ2oG4eJ2UIIXJ1bnRpbWUuKCpzd2VlcExvY2tlcikudHJ5QWNxdWlyZRmstVaSifi2O2dpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY29ubmVjdCkuc2VuZFF1ZXJ5VV0EG3Xuomc/Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5wcm9maWxlRXZlbnRzA07FIAXCfgI9Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi5UeXBlLkNvbHVtbueliUC04llAFXJ1bnRpbWUuKCptc3BhbikuYmFzZbUWby3gY8wzJXJ1bnRpbWUuKCptc3BhbikuaGVhcEJpdHNTbWFsbEZvckFkZHIgjRBgIpsaAzZnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvLigqU2Vzc2lvbikuU3RhcnQuZnVuYzFz1MV0tStPajhnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNvbm5lY3QpLmhhbmRsZQZHhw4jhC/nE3N5c2NhbGwuUmF3U3lzY2FsbDZF9l2ngBqtURhydW50aW1lLnNwYW5DbGFzcy5ub3NjYW74fblWbXAQew1uZXQuc3lzU29ja2V0r/ovaQhDtVIObmV0LmluaXQuZnVuYzE9+AdvzlPoji1naXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmVuY29kZU1lc3NhZ2VclEI3HV3KfxRydW50aW1lLlJlYWRNZW1TdGF0c9EN7qUbgg5zGHJ1bnRpbWUuKCptY2FjaGUpLnJlZmlsbHrAZw9cMSKoEHJ1bnRpbWUuc2NoZWR1bGX4jTWPAFYzLA9ydW50aW1lLkNhbGxlcnN9SSEXICR1eERnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqVHVwbGUpLkFwcGVuZFJvd4bhCcQ0wn5fEXJ1bnRpbWUubmV3b2JqZWN0uDFBPMlZScsYcnVudGltZS53YkJ1ZkZsdXNoLmZ1bmMxVotoGob81nodbmV0L2h0dHAuKCpUcmFuc3BvcnQpLmdldENvbm6AsTb/INmQPpYBZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvaW50ZXJuYWwvcXVldWUuKCpDb25zdW1lcnNbZ28uc2hhcGUuaW50ZXJmYWNlIHsgRXhwb3J0KGNvbnRleHQuQ29udGV4dCkgZXJyb3I7IEl0ZW1zQ291bnQoKSBpbnQgfV0pLlN0YXJ0LmZ1bmMxoLv7kQTRG34UcmVmbGVjdC50eXBlZG1lbW1vdmW7lIrB/cuOthRydW50aW1lLigqYnVja2V0KS5tcMKBhVLB30bGNWdvLm9wZW50ZWxlbWV0cnkuaW8vb3RlbC90cmFjZS5TcGFuQ29udGV4dEZyb21Db250ZXh0XGZemHua7WImY29tcHJlc3MvZmxhdGUuKCpkZWNvbXByZXNzb3IpLmh1ZmZTeW0VFqboGj/c+xRydW50aW1lLnR5cGVkbWVtbW92ZckmZwlu+971E3J1bnRpbWUuZnVuY3NwZGVsdGFG3wEYthNxTTdnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNvbm5lY3QpLmZsdXNoaj4O5cDsUyAMc3lzY2FsbC5SZWFkbeT/UCez9IERcnVudGltZS5jaGVhcHJhbmQEDWVNOEGsWTxnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmJhdGNoQ29sdW1uKS5BcHBlbmSMXcaD5qvkgg1zeXNjYWxsLldyaXRl8beyuRhUkCkkZW5jb2RpbmcvanNvbi4oKmVuY29kZVN0YXRlKS5tYXJzaGFsPACS2Cyzf5sQcnVudGltZS5tYXJrcm9vdOHey7tJYAjic2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCp0aW1lc2VyaWVzTWFwKS5nZXSBlEA+4GT1S09nby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wcm9jZXNzb3IvcHJvY2Vzc29yaGVscGVyLigqT2JzUmVwb3J0KS5yZWNvcmREYXRhbYz6VAS7xClLZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLigqc2NyYXBlTG9vcCkuc2NyYXBlQW5kUmVwb3J0LmZ1bmMx/8+Qrm2l9xwRcnVudGltZS5zY2FuYmxvY2tPB7B3HnuMz1Rnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wcm9jZXNzb3IvcHJvY2Vzc29yaGVscGVyLigqT2JzUmVwb3J0KS5NZXRyaWNzQWNjZXB0ZWRMDfiNqq00vwtydW50aW1lLmFkZLxRhWFKG8DLHW5ldC4oKnN5c0RpYWxlcikuZGlhbFBhcmFsbGVsBjEVq3pWQggScnVudGltZS5tYXBhY2Nlc3My24Usp2X26F0zZ2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuKCpXcml0ZXIpLkNsb3Nljw4KfGrLB/kZcnVudGltZS5tYXJrQml0cy5pc01hcmtlZLEnCRb3aswWEnJ1bnRpbWUubm90ZXdha2V1cC2Jv/gqaHzfS2dpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpBcnJheSkuYXBwZW5kUm93RGVmYXVsdM6m/PsaRIKLMmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jaC1nby9wcm90by4oKkNvbFN0cikuQXBwZW5kdr07JCLDrKo6Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5zZW5kRGF0YVWsb1IeyqqFUGdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIucmVtb3ZlUHJvbUZvcmJpZGRlblJ1bmVz1sPC0O0uUCoScnVudGltZS5maW5kT2JqZWN02lXP3hMDr7gQcnVudGltZS5wcmVlbXB0TX0klkEBee04FGNvbnRleHQuV2l0aERlYWRsaW5loG0fwR3d0gF0Z2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci9pbnRlcm5hbC4oKnRyYW5zYWN0aW9uKS5Db21taXQJmb8AxgyZAA9ydW50aW1lLmV4ZWN1dGVrZ1QQxrZBpxFydW50aW1lLmNtcHN0cmluZyjjYW55iNufhQFnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLigqdHJhbnNhY3Rpb24pLmdldE9yQ3JlYXRlTWV0cmljRmFtaWx5CTpQu2qi9awVYnVmaW8uKCpXcml0ZXIpLkZsdXNobGT77l/GDOMSc3RyaW5ncy5GaWVsZHNGdW5jiC+KiUHiLbM6Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5yZWFkRGF0YV1AROHqYOYLKWdvbGFuZy5vcmcveC9uZXQvdHJhY2UuKCpldmVudExvZykucHJpbnRm8LEtItfVamtGZ2l0aHViLmNvbS9wcm9tZXRoZXVzL2NvbW1vbi9jb25maWcuKCp1c2VyQWdlbnRSb3Vu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"; + let r_b64_req = "pwNzU/o7HXjC+xBydW50aW1lLnJlbGVhc2VtRWIgVTgmDbhLZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvZXhwb3J0ZXJoZWxwZXIuKCpsb2dzUmVxdWVzdCkuRXhwb3J07uXe2y9EKh0bbmV0Ligqc3lzRGlhbGVyKS5kaWFsU2luZ2xl0LWYMYKV2DQRcnVudGltZS5ub3Rlc2xlZXAPxCWC05nVxzRnaXRodWIuY29tL0NsaWNrSG91c2UvY2gtZ28vcHJvdG8uKCpSZWFkZXIpLnJlYWRGdWxs93LT9qoI8+g8Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLigqc2NyYXBlTG9vcCkucmVwb3J0UiU9oObHTsIQcnVudGltZS5tZW1oYXNoOBBHhHCBcFPQNWdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28uKCpTZXNzaW9uKS51cGxvYWREYXRhY4/Ue2TCY+0acmVnZXhwLigqUmVnZXhwKS5kb0V4ZWN1dGXYenh/0ylv1QpydW50aW1lLkdDTFBlHdhZm+4hbmV0L2h0dHAuKCpwZXJzaXN0Q29ubikucm91bmRUcmlwBiafhLHBYq8fcnVudGltZS4oKnN0a2ZyYW1lKS5nZXRTdGFja01hcNYZrVAM3AhTRmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9wcm90by4oKkJsb2NrKS5FbmNvZGVDb2x1bW41mAMnyc2GEhlydW50aW1lLigqbWhlYXApLmluaXRTcGFus56VfBe9kkAccnVudGltZS4oKm1jYWNoZSkucmVsZWFzZUFsbCHZ+HhuiwONGnJ1bnRpbWUuKCptY2FjaGUpLm5leHRGcmVlOKhH8IQR9QBLZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci5idWlsZExhYmVsU2V0LmZ1bmMxIHOCNYhPr2ApcnVudGltZS4oKmlubGluZVVud2luZGVyKS5yZXNvbHZlSW50ZXJuYWzCQG723G9R6g9ydW50aW1lLm1lbW1vdmWUY2HJlul4WElnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKmh1ZmZtYW5CaXRXcml0ZXIpLndyaXRlQmxvY2tEeW5hbWljz1UgT/pt6GJLZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLigqc2NyYXBlTG9vcCkuc2NyYXBlQW5kUmVwb3J0LmZ1bmMyM5hh5yWz7qwwZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NoLWdvL3Byb3RvLigqUmVhZGVyKS5SZWFkF4eUveR8YncLc3RyaW5ncy5DdXSlYkFtlSd0BA1ydW50aW1lLndha2Vw2Z+qnMnEx2ERcnVudGltZS5jaGFuc2VuZDGUt/f6/nLT0Q1ydW50aW1lLm1jYWxs+42Xo+4DpTkOcnVudGltZS5zcGFuT2aP5+0SvkD7dFhnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL2dvZGVsdGFwcm9mL2ludGVybmFsL3Bwcm9mLigqcHJvZmlsZUJ1aWxkZXIpLnN0cmluZ0luZGV4kfFSfkqT/c0NcnVudGltZS5yZWFkeSA5y2577Vh6FXJ1bnRpbWUuKCpnY1dvcmspLnB1dJFjY7cnhgJpQGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9wcm90by4oKkJsb2NrKS5BcHBlbmTuIqTY5B+6gz1naXRodWIuY29tL0NsaWNrSG91c2UvY2gtZ28vcHJvdG8uKCpDb2xEYXRlVGltZSkuRGVjb2RlQ29sdW1u5P6FnGby6KE9Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLm5ld1NjcmFwZVBvb2wuZnVuYzEuMia74WChzmAQEHJ1bnRpbWUuY2hhbnJlY3amxguJyez6RBFydW50aW1lLmdyb3dzbGljZRhEL494wpYRLG5ldC4oKlJlc29sdmVyKS5nb0xvb2t1cElQQ05BTUVPcmRlci5mdW5jMy4xGgloGYckEqpHZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby91cHN0cmVhbS9yZW1vdGUuKCpSZW1vdGUpLnVwbG9hZFByb2ZpbGXmWy3acgipcFFnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLmJhdGNoU2FtcGxlc0FuZFRpbWVTZXJpZXNl8WFGer0aLBxydW50aW1lLm1lbWNsck5vSGVhcFBvaW50ZXJzqxm23pcDK90RcnVudGltZS5ydW5HQ1Byb2dVt8SFEJ/dQ1Fnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wcm9jZXNzb3IvcHJvY2Vzc29yaGVscGVyLk5ld01ldHJpY3NQcm9jZXNzb3IuZnVuYzFj6Ba9dsbVaTdnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKmNvbXByZXNzb3IpLmNsb3Nl0nbloM8jK5IbcnVudGltZS5tYXBhc3NpZ25fZmFzdDY0cHRyTTaYGWYzxNsUcnVudGltZS5sb2NrV2l0aFJhbms27TmsGdFln0pnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci5uZXdRdWV1ZVNlbmRlci5mdW5jMdUdZfSJPqEUF25ldC9odHRwLigqQ2xpZW50KS5zZW5kKiYD0avBXyMVbmV0L2h0dHAuKCpDbGllbnQpLkRvXnhZ/+0+YxBQZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcGRhdGEvcG1ldHJpYy5SZXNvdXJjZU1ldHJpY3NTbGljZS5Nb3ZlQW5kQXBwZW5kVG+00ZWJro51LiZydW50aW1lL2ludGVybmFsL2F0b21pYy4oKlVpbnQzMikuTG9hZCLDQ+OedctOW2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2ludGVybmFsL21lbW9yeWxpbWl0ZXIuKCpNZW1vcnlMaW1pdGVyKS5zdGFydE1vbml0b3JpbmcuZnVuYzGwZDyIuTF3OhhpbnRlcm5hbC9wb2xsLigqRkQpLkluaXTLV6mqEGla7RNydW50aW1lLmFkanVzdGZyYW1l80cdjE5muuoQcnVudGltZS5zZWxlY3Rnb3HrbMb7r59LMGdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28uKCpTZXNzaW9uKS5yZXNldBstzi0YQeFUC2Flc2hhc2hib2R5t5CK91yEWDpIZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcmVjZWl2ZXIvcmVjZWl2ZXJoZWxwZXIuKCpPYnNSZXBvcnQpLmVuZE9wJqIagOdV/H0QcnVudGltZS5jaGFuc2VuZOdhlfbYvkfkGnJ1bnRpbWUuUmVhZE1lbVN0YXRzLmZ1bmMxsztcCXJDfJkUcnVudGltZS5lbnRlcnN5c2NhbGw2tVEUA9HMSDVnaXRodWIuY29tL0NsaWNrSG91c2UvY2gtZ28vcHJvdG8uQ29sU3RyLkVuY29kZUNvbHVtbm41kBZcETesQmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpTdHJpbmcpLkVuY29kZcMD/mcNHsdfGHJ1bnRpbWUuKCpibWFwKS5vdmVyZmxvd0JhXO0lYaPtHHJ1bnRpbWUuc3RvcFRoZVdvcmxkV2l0aFNlbWFVueOTabPz9BhydW50aW1lLmV2YWN1YXRlX2Zhc3RzdHKMoFlkje2cCBFydW50aW1lLnN0ZWFsV29yaz7FihbCxxnQFnJ1bnRpbWUuZnVuY0luZm8uZW50cnnoRCkkx6KpdBlydW50aW1lLm1hcGFzc2lnbl9mYXN0c3RyeEQPvddLw1g6Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpiYXRjaCkuY2xvc2VRdWVyeVrypnOGyBzxeGdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCptZXRyaWNHcm91cCkuc29ydFBvaW50c5p6Lp9WMIYTCnNvcnQuU2xpY2XcmK5ZXGed119naXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvcmVjZWl2ZXIvcHlyb3Njb3BlcmVjZWl2ZXIuKCpweXJvc2NvcGVSZWNlaXZlcikub3Blbk11bHRpcGFydBJGN95nK2BiIGludGVybmFsL2J5dGVhbGcuSW5kZXhCeXRlU3RyaW5nIqWIrazZeXIZY29udGV4dC5XaXRoRGVhZGxpbmVDYXVzZbjK/kB+2befDnN5c2NhbGwuc29ja2V0a0TqeVTumAAicnVudGltZS9pbnRlcm5hbC9zeXNjYWxsLkVwb2xsV2FpdOjP4eecILfxD3J1bnRpbWUuZ29yZWFkee7HASIibT0qIXJ1bnRpbWUvaW50ZXJuYWwvc3lzY2FsbC5FcG9sbEN0bD9H6u5DnUcLM2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3BkYXRhL3Bjb21tb24uTWFwLkdldFZfiVE5t4IHFWJ5dGVzLigqQnVmZmVyKS5Xcml0ZSWNw7QPJRzdEnJ1bnRpbWUuYXJlbmFJbmRleEREGx7ntrLyDnJ1bnRpbWUudGdraWxsjRw60lMiSdAOcnVudGltZS5wYXJrX23X5YeGExoFxhRydW50aW1lLmZpbmRSdW5uYWJsZdAxQmMhXlHaRGdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vdXBzdHJlYW0vcmVtb3RlLigqUmVtb3RlKS5zYWZlVXBsb2FkbPgvkiw14M9AZ2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuKCpodWZmbWFuQml0V3JpdGVyKS5nZW5lcmF0ZXLF75xlFpmsLWdpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLk5ld1dyaXRlctQ4biXbXBBZPGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnNjcmFwZUxvb3ApLmFwcGVuZKtszRUpwr84UmdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9yZWNlaXZlci9weXJvc2NvcGVyZWNlaXZlci5wb3N0UHJvY2Vzc1Byb2YuZnVuYzLVRVydtSUkgh5uZXQvaHR0cC5pc0tub3duSW5NZW1vcnlSZWFkZXKTp35NiG7pKUNnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUuKCpUYXJnZXQpLkxhYmVsc1JhbmdlLmZ1bmMxjxk8xF6hp9UQbmV0LigqY29ubikuUmVhZBD8kMwOtjQ7EnJ1bnRpbWUuZ3JleW9iamVjdAHrf6wTytYXdWdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9jbGlja2hvdXNlcHJvZmlsZWV4cG9ydGVyL2NoLigqY2xpY2tob3VzZUFjY2Vzc05hdGl2ZUNvbHVtbmFyKS5JbnNlcnRCYXRjaJxi084F3TO8EnNvcnQuaW5zZXJ0aW9uU29ydDJfqdHAKUdtEXJ1bnRpbWUucHJvY3lpZWxkcnj7Q0HFbboTcnVudGltZS5oZWFwU2V0VHlwZc9TQmJoYcNwe2dpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCptZXRyaWNGYW1pbHkpLmFwcGVuZE1ldHJpY35gBQDXxaXSY2dpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmV4cG9ydEhpc3RvZ3JhbURhdGFQb2ludMVOi6ZAhQeySGdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2NvbnN1bWVyLkNvbnN1bWVNZXRyaWNzRnVuYy5Db25zdW1lTWV0cmljc+Aoxjhu5LK4GG5ldC4oKlJlc29sdmVyKS5leGNoYW5nZY3Yx8DIjQwiYWdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmV4cG9ydE51bWJlckRhdGFQb2ludHNagOKU+fSWqyNyZWdleHAuKCpSZWdleHApLkZpbmRBbGxTdHJpbmdJbmRleD5zwuycVct2Fm5ldC9odHRwLnBhcnNlUG9zdEZvcm0HRAFnPrK9niZuZXQvaHR0cC4oKlJlcXVlc3QpLlBhcnNlTXVsdGlwYXJ0Rm9ybaXte8Z1guYAFG5ldC4oKm5ldEZEKS5jb25uZWN07cPND2dAeCWGAXNsaWNlcy5Tb3J0RnVuY1tnby5zaGFwZS5bXWVuY29kaW5nL2pzb24ucmVmbGVjdFdpdGhTdHJpbmcsZ28uc2hhcGUuc3RydWN0IHsgZW5jb2RpbmcvanNvbi52IHJlZmxlY3QuVmFsdWU7IGVuY29kaW5nL2pzb24ua3Mgc3RyaW5nIH1doQ7y57WDN24dcnVudGltZS5nY0RyYWluTWFya1dvcmtlcklkbGVyUExUskaRPxJuZXQuaW50ZXJuZXRTb2NrZXQUymKjbGZpbhJydW50aW1lLnNjYW5vYmplY3R1VHScIpym/zVnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wZGF0YS9wY29tbW9uLk1hcC5SYW5nZfr7XAezXLUQUmdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YvaW50ZXJuYWwvcHByb2YuKCpwcm9maWxlQnVpbGRlcikuQnVpbGQBkwJNtlVxnkFnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNsaWNraG91c2UpLlByZXBhcmVCYXRjaLKfI1ADjjp5RGdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vdXBzdHJlYW0vcmVtb3RlLigqUmVtb3RlKS5oYW5kbGVKb2Jze9ZW61CpL244Z2l0aHViLmNvbS9wcm9tZXRoZXVzL2NvbW1vbi9tb2RlbC5sYWJlbFNldFRvRmluZ2VycHJpbnRwC8TK+F/Z0A5ydW50aW1lLnN0YXJ0bfmqKJXaA3cYDW5ldC9odHRwLnNlbmSrd7DdFGvomxplbmNvZGluZy9iaW5hcnkuUmVhZFZhcmludKx/yn3cmVuZT2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2V4cG9ydGVyaGVscGVyLigqT2JzUmVwb3J0KS5FbmRNZXRyaWNzT3Ba6sJ3kzMCPEFnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqQXJyYXkpLmFwcGVuZMiMVIvPNXcSDXJ1bnRpbWUubG9jazIMIJIkJ+C6MA5pby5SZWFkQXRMZWFzdKFZgoVxW3jKD3J1bnRpbWUucGN2YWx1Zbywal2vzkeKGGlvLigqTGltaXRlZFJlYWRlcikuUmVhZNoMFcEX239ZEXNvcnQucGRxc29ydF9mdW5jY6ah6SjAVDobbmV0Ligqc3lzRGlhbGVyKS5kaWFsU2VyaWFs43DMjxLDab9hc2xpY2VzLnBkcXNvcnRDbXBGdW5jW2dvLnNoYXBlLnN0cnVjdCB7IGVuY29kaW5nL2pzb24udiByZWZsZWN0LlZhbHVlOyBlbmNvZGluZy9qc29uLmtzIHN0cmluZyB9XVfbWLBj/r1qEXJ1bnRpbWUubWFrZXNsaWNlbMbwg+GZ/WpFZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLigqc2NyYXBlTG9vcCkuc2NyYXBlQW5kUmVwb3J0jwWHYhXJkbk4Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvbW9kZWwvbGFiZWxzLk5ld0J1aWxkZXJ1Z5i4VKo2oxZydW50aW1lLigqbGZzdGFjaykucG9wykbbjAfwBmMacnVudGltZS5zZW5kLmdvcmVhZHkuZnVuYzECbbOVbwmfTxdyZWZsZWN0LigqTWFwSXRlcikuTmV4dNKz1zttyvR8EXN0cmluZ3MuSW5kZXhCeXRl5Z3qGcQ1UrxEZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKkRhdGVUaW1lKS5EZWNvZGX317MU8G4OJhlydW50aW1lLigqZ2NXb3JrKS5iYWxhbmNlYH1HQVFuergYcmVnZXhwLigqYml0U3RhdGUpLnJlc2V0E4miI5YNKpFmZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL2NsaWNraG91c2Vwcm9maWxlZXhwb3J0ZXIuKCpjbGlja2hvdXNlUHJvZmlsZUV4cG9ydGVyKS5zZW5kjE0xodQNHo8ScnVudGltZS5wcm9jcmVzaXplHQ8qYC7zV6BFZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci5idWlsZExhYmVsU2V0GM3/cHirFUlfZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyL2NvbXByZXNzLigqRGVjb21wcmVzc29yKS5yZWFkQnl0ZXOdqPrBpq+OzRFydW50aW1lLm1lbWhhc2g2NFaoK13d5M2kG3J1bnRpbWUubm90ZXRzbGVlcF9pbnRlcm5hbGFAN6KZAneWF3NvcnQuaW5zZXJ0aW9uU29ydF9mdW5jKG8VM69UXBEYcnVudGltZS5ncm93V29ya19mYXN0c3RyyXq6VWYqYEMQcnVudGltZS5uZXdzdGFja3iANjdmEa8SEW5ldC4oKm5ldEZEKS5kaWFspVaUZXD8Ws4QcnVudGltZS5ydW5xZ3JhYoybRzEJuDnVDHJ1bnRpbWUuYWRkYoG//wcmlW+VOWdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnNjcmFwZUxvb3ApLnJ1bntFGUOW1AqiRGdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YvaW50ZXJuYWwvcHByb2YuYWxsRnJhbWVzA+E2AtW5hX46Z2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuKCpkZWNvbXByZXNzb3IpLmRvU3RlcIWSzw9CZV6IE3J1bnRpbWUucGFnZUluZGV4T2ZNiuFOrvCgsRZydW50aW1lLnJlYWRtZW1zdGF0c19ttmOZvFfQUXcNaW8uY29weUJ1ZmZlcvHJ7wB3Sa9QRmdpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLigqZGVjb21wcmVzc29yKS5odWZmbWFuQnVmaW9SZWFkZXK2lxdms+v10RdydW50aW1lLmZsdXNoYWxsbWNhY2hlcyHsDLRqK45nFnJ1bnRpbWUucmVlbnRlcnN5c2NhbGxKNFeV64vQUxxlbmNvZGluZy9iaW5hcnkuQXBwZW5kVmFyaW50ilyPvunMdHoZcnVudGltZS50eXBlUG9pbnRlcnMubmV4dKZed7sCe/ClKmdpdGh1Yi5jb20vcHJvbWV0aGV1cy9jb21tb24vbW9kZWwuaGFzaEFkZHi9Z2L8BnXMEnJ1bnRpbWUubWFwYWNjZXNzMSet0EnOSi3PUGdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3JlY2VpdmVyL3JlY2VpdmVyaGVscGVyLigqT2JzUmVwb3J0KS5yZWNvcmRNZXRyaWNzkPt1VpaW11cTcnVudGltZS5yZWFkVWludHB0cqBnooEl0l6/D3J1bnRpbWUuaGFuZG9mZv+mS68VFCQYR2dpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLigqZGVjb21wcmVzc29yKS5odWZmbWFuQmxvY2tEZWNvZGVyZNVqWLIeIDFcZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvZXhwb3J0ZXJoZWxwZXIuKCptZXRyaWNzU2VuZGVyV2l0aE9ic2VydmFiaWxpdHkpLnNlbmRdpUBGSIj93illbmNvZGluZy9qc29uLigqZW5jb2RlU3RhdGUpLnJlZmxlY3RWYWx1ZSACf0RcWXGqEXJ1bnRpbWUubWFwYXNzaWdueXDSATRAEhVPZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcmVjZWl2ZXIvcmVjZWl2ZXJoZWxwZXIuKCpPYnNSZXBvcnQpLkVuZE1ldHJpY3NPcPlEKmefj+MiFm5ldC9odHRwLigqY29ubikuc2VydmWlacs9LptuDTVnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLigqUHJvZmlsZSkuQ2hlY2tWYWxpZE2rVs36YhM3FnJlZmxlY3QuKCpNYXBJdGVyKS5LZXlM/u9O9sACUh1ydW50aW1lLnN0YXJ0VGhlV29ybGRXaXRoU2VtYeQFfHBegZOLGnJ1bnRpbWUuZGVkdWN0QXNzaXN0Q3JlZGl0S1cekAHePHoOc3lzY2FsbC5Tb2NrZXRqIJ43AdmxyyhydW50aW1lLigqbXNwYW4pLnR5cGVQb2ludGVyc09mVW5jaGVja2Vk0EIa/refsg8KaW8uUmVhZEFsbEcS5eClewlyHGNvbXByZXNzL2d6aXAuKCpSZWFkZXIpLlJlYWTYS1XuP9msnhJzeXNjYWxsLlJhd1N5c2NhbGzWMBrRB2IFQmdzbGljZXMuaW5zZXJ0aW9uU29ydENtcEZ1bmNbZ28uc2hhcGUuc3RydWN0IHsgZW5jb2RpbmcvanNvbi52IHJlZmxlY3QuVmFsdWU7IGVuY29kaW5nL2pzb24ua3Mgc3RyaW5nIH1dHnazW7PsDQNPZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvZXhwb3J0ZXJoZWxwZXIuKCpiYXNlUmVxdWVzdFNlbmRlcikuc2VuZK8kCSF10Sb1H25ldC9odHRwLigqVHJhbnNwb3J0KS5yb3VuZFRyaXAOXWN+AA9KcTlnby5vcGVudGVsZW1ldHJ5LmlvL2NvbnRyaWIvenBhZ2VzLigqU3BhblByb2Nlc3NvcikuT25FbmQegwRk2MiQWRtyZWdleHAuKCpSZWdleHApLmFsbE1hdGNoZXO2IoDxNjMcFhpydW50aW1lLigqbWhlYXApLmFsbG9jU3BhbsBIvrVtMpCKLWdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUuZGVjb2RlTWVzc2FnZaui8EyD3+S2KXJ1bnRpbWUuKCpnY0NvbnRyb2xsZXJTdGF0ZSkuZW5saXN0V29ya2Vyfluu2FB9MM0McnVudGltZS5tcHV0vXdCB2Fyj2kjcnVudGltZS4oKnVud2luZGVyKS5yZXNvbHZlSW50ZXJuYWwJylTUF5mfwiNjb21wcmVzcy9mbGF0ZS4oKmRlY29tcHJlc3NvcikuUmVhZGymHc/Ad5l5FnJ1bnRpbWUuKCpnY0JpdHMpLmJpdHCQMVduJtsLY0VnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqU3RyaW5nKS5BcHBlbmRSb3fhxfW0jPt/mQ1ydW50aW1lLnN0b3Btlp4KlPgboIYYcnVudGltZS4oKnVud2luZGVyKS5pbml0lM8DDVzAGh1AZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL3Byb3RvLigqQmxvY2spLkRlY29kZcIiqcYvRxaMPWdpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLigqZGVjb21wcmVzc29yKS5uZXh0QmxvY2v4hyrG2t9TYwxzb3J0LnBkcXNvcnRxG1NqYFrw8hNyZWZsZWN0Lm1hcGl0ZXJuZXh0lKxkAiT6KVRMZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcGRhdGEvcG1ldHJpYy5OdW1iZXJEYXRhUG9pbnRTbGljZS5BcHBlbmRFbXB0eUnfDj6hKUGYE3J1bnRpbWUuZ29zY2hlZEltcGzeeaUJ6I+ADUBnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wZGF0YS9wbWV0cmljLk1ldHJpYy5TZXRFbXB0eUdhdWdlTe76i9L+SCtFZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvbW9kZWwvdGV4dHBhcnNlLigqUHJvbVBhcnNlcikuTWV0cmlj0Fs3gn1wpktBZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKkFycmF5KS5BcHBlbmSSkZjMM1e5E11naXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvcmVjZWl2ZXIvcHlyb3Njb3BlcmVjZWl2ZXIvcHByb2ZwYXJzZXIuKCpwUHJvZlBhcnNlcikuUGFyc2XhStFebo1tbw9ydW50aW1lLnNpZ25hbE3luQTS3KLf2hBydW50aW1lLnB1dGVtcHR5uw20YjmvCZI0Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpiYXRjaCkuU2VuZOKaiUS2U93wS2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2V4cG9ydGVyaGVscGVyLigqdGltZW91dFNlbmRlcikuc2VuZNnu4qi07LZBC2lvLlJlYWRGdWxsF3qlBrgCg34bZW5jb2RpbmcvanNvbi5zdHJpbmdFbmNvZGVyJFWdXKyFNSVgZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyL2NvbXByZXNzLigqRGVjb21wcmVzc29yKS5EZWNvbXByZXNzn0cPG3qBY2peZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKkRlbHRhSGVhcFByb2ZpbGVyKS5Xcml0ZUhlYXBQcm90b1zZ14+h/xuPPGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY29ubmVjdCkuZmlyc3RCbG9ja8hEQut8+1ZbEXJ1bnRpbWUuY29weXN0YWNrtzR8hUOxOkFfZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcGRhdGEvaW50ZXJuYWwvZGF0YS9wcm90b2dlbi9jb21tb24vdjEuKCpBbnlWYWx1ZSkuR2V0U3RyaW5nVmFsdWWm6tgdTYsP1ltnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKmxvZ3NFeHBvcnRlcldpdGhPYnNlcnZhYmlsaXR5KS5zZW5kcf7Fu/fQRVFXZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL2NsaWNraG91c2Vwcm9maWxlZXhwb3J0ZXIvY2gucmVhZFRyZWVGcm9tTWFwpBEJjMmnUVxAZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLm11dGF0ZVJlcG9ydFNhbXBsZUxhYmVscz2cWNhqEPJTP2dpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLigqaHVmZm1hbkVuY29kZXIpLmJpdENvdW50c44mpXyGCYhiGm5ldC4oKlJlc29sdmVyKS50cnlPbmVOYW1lw81YPvZGX+0PcnVudGltZS5nY0RyYWluuZEeoKOMMzoScnVudGltZS50eXBlQXNzZXJ0f1499lZIPiMrZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS5pbml0LmZ1bmMzNzfbAGvT61NQGnJ1bnRpbWUuKCpfZnVuYykuaXNJbmxpbmVkz7tq3jZIVoA9Z28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvZXhwb3J0ZXJoZWxwZXIuZW5kU3BhbgoVOlOd6TwIFnJ1bnRpbWUuZ2NCZ01hcmtXb3JrZXLpsCOxr9VmyRRydW50aW1lLnN0b3BUaGVXb3JsZDCskYca6cckF3J1bnRpbWUuKCpzcGFuU2V0KS5wdXNoG3akRvjvQv5CZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKkVudW04KS5TY2FuUm93IzEir84N79kfbmV0L2h0dHAuKCpUcmFuc3BvcnQpLlJvdW5kVHJpcLGYFjEZdNRwTmdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2V4cG9ydGVyaGVscGVyLigqbWV0cmljc1JlcXVlc3QpLkV4cG9ydBlezRHBe9WjPGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqYmF0Y2gpLkFwcGVuZFN0cnVjdDKvgezXfoSWFXJ1bnRpbWUuY29uY2F0c3RyaW5nc6ksmAXwqTabIXJ1bnRpbWUvaW50ZXJuYWwvc3lzY2FsbC5TeXNjYWxsNvkfAsiVQ7scEnJ1bnRpbWUucmVhZHZhcmludDgSHaZ7pavMIm5ldC9odHRwLigqcmVzcG9uc2UpLmZpbmlzaFJlcXVlc3SNPs/A0OxGUwxzeXNjYWxsLnJlYWQdF+dCM5L6Mw9zeXNjYWxsLlN5c2NhbGwznk7U9cAkyTlnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNvbm5lY3QpLnByb2Nlc3NsimGjOL2eIDFnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9nemlwLigqUmVhZGVyKS5SZWFka5gDYPkVCG+bAWdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2ludGVybmFsL3F1ZXVlLigqYm91bmRlZE1lbW9yeVF1ZXVlW2dvLnNoYXBlLmludGVyZmFjZSB7IEV4cG9ydChjb250ZXh0LkNvbnRleHQpIGVycm9yOyBJdGVtc0NvdW50KCkgaW50IH1dKS5Db25zdW1lzTduQC7IvGsRcnVudGltZS5GdW5jRm9yUEO4zles2qhBsw9ydW50aW1lLm5ldHBvbGy2xqYIqOnAXhhyZWZsZWN0LigqTWFwSXRlcikuVmFsdWXYyas6zGuKChJydW50aW1lLmZ1dGV4c2xlZXA7Qg6tSD4gNxhydW50aW1lLigqdW53aW5kZXIpLm5leHS5xuaiwYlLwBpyZWdleHAuKCpSZWdleHApLmJhY2t0cmFja55UHHSxS7BvIW5ldC9odHRwLigqcGVyc2lzdENvbm4pLndyaXRlTG9vcGVjHTvvJLw/XmdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9yZWNlaXZlci9weXJvc2NvcGVyZWNlaXZlci4oKnB5cm9zY29wZVJlY2VpdmVyKS5yZWFkUHJvZmlsZXO6YrcGyA3h/A1ydW50aW1lLmZ1dGV4KG0JkeqaU0deZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyLigqcHlyb3Njb3BlUmVjZWl2ZXIpLmhhbmRsZS5mdW5jMd7fV1jzoLjOFG5ldC4oKlJlc29sdmVyKS5kaWFs9QGm631XjqwMcnVudGltZS5tZ2V0gRaReXlmJeERcnVudGltZS5yYXdzdHJpbmfolE9SCL2i3B5pbnRlcm5hbC9wb2xsLnJ1bnRpbWVfcG9sbE9wZW4jd7ETu2H1phdydW50aW1lLigqbGZzdGFjaykucHVzaFpSzKpKDPMvoQFnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLigqbWV0cmljR3JvdXApLnRvRGlzdHJpYnV0aW9uUG9pbnQuKCptZXRyaWNHcm91cCkuc29ydFBvaW50cy5mdW5jMSpRe8A3X4PwGHJ1bnRpbWUuc3RhY2tjYWNoZV9jbGVhctlb9l0SSbepFnJ1bnRpbWUuKCptaGVhcCkuYWxsb2MwXtmq5s6NuiNlbmNvZGluZy9iaW5hcnkubGl0dGxlRW5kaWFuLlVpbnQ2NLWdYAhe/TbjRmdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS5tdXRhdGVSZXBvcnRTYW1wbGVMYWJlbHMuZnVuYzHZ8UHwc2oWLxJuZXQuKCpuZXRGRCkuV3JpdGUIouedHfF3iElnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKnJldHJ5U2VuZGVyKS5zZW5kpq3W81AgmtkUYnl0ZXMuKCpCdWZmZXIpLlJlYWSutJwq7IXyuitnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmluaXQuZnVuYzM2VqbWt4FhruU7Z2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuKCpjb21wcmVzc29yKS5zdG9yZUZhc3QmMEU+cn+chVJnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL2dvZGVsdGFwcm9mL2ludGVybmFsL3Bwcm9mLigqcHJvZmlsZUJ1aWxkZXIpLmZsdXNoXHz0ySnHsrURbmV0LigqbmV0RkQpLlJlYWQSuVK4WYewjmRnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLigqbWV0cmljc0V4cG9ydGVyKS5leHBvcnRIaXN0b2dyYW1EYXRhUG9pbnRzlwxfZlJq98AVZW5jb2RpbmcvanNvbi5NYXJzaGFs8ZRk6cJ+c0pJZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKkFycmF5KS5hcHBlbmRSb3dQbGFpboHGHHDqL5PKJWdpdGh1Yi5jb20vZ28tZmFzdGVyL2NpdHkuaGFzaDEyOHRvNjQIwEsri+2Ih0NnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL2dvZGVsdGFwcm9mLigqSGVhcFByb2ZpbGVyKS5Qcm9maWxlQiQCXQ4hhvlFZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLigqc2NyYXBlTG9vcCkuYWRkUmVwb3J0U2FtcGxlQpvOrnEC5VIPcmVmbGVjdC5jb3B5VmFsmSM2I+8EZcZZZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5lbWl0TG9jYXRpb27kKCgBqHtIfCtjb21wcmVzcy9mbGF0ZS4oKmRlY29tcHJlc3NvcikuaHVmZm1hbkJsb2NryHH5IMz1bdUYYnl0ZXMuKCpCdWZmZXIpLlJlYWRGcm9t7En9KV6YTOYccnVudGltZS4oKnN3ZWVwTG9ja2VkKS5zd2VlcK5J2Y9lYMQXDXN5c2NhbGwud3JpdGWdT7Bfxnx6ZCJydW50aW1lLmdjRHJhaW5NYXJrV29ya2VyRGVkaWNhdGVkAEOjrwIwah8ZbmV0L2h0dHAuKCpSZXF1ZXN0KS53cml0ZSb3WRNj/VQOYGdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmV4cG9ydE51bWJlckRhdGFQb2ludNkjCXuTHSUDFnJ1bnRpbWUuKCpGcmFtZXMpLk5leHRJoamZx8dbcRtydW50aW1lLnN0YXJ0VGhlV29ybGQuZnVuYzHlDd6WNcbNDQ9ydW50aW1lLmdvZXhpdDDseL9Vb6p3Jw9zdHJpbmdzLkNvbXBhcmUEuBUoG+a7+xdydW50aW1lLmdjRmx1c2hCZ0NyZWRpdIadauvDVYG2TGdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9yZWNlaXZlci9weXJvc2NvcGVyZWNlaXZlci5wb3N0UHJvY2Vzc1Byb2b60DLvY59YcxRidWZpby4oKlJlYWRlcikuUmVhZBIyaT2sTm02HXJ1bnRpbWUudHlwZVBvaW50ZXJzLm5leHRGYXN0OHpnJxRQo9UTcnVudGltZS5mdXRleHdha2V1cNgb7bsU17TYFHJ1bnRpbWUuc2VsZWN0bmJyZWN2HI96gr7orp8TcnVudGltZS5yb3VuZHVwc2l6ZXiWBt8Vuu2XGHJ1bnRpbWUubWFwYXNzaWduX2Zhc3Q2NN9HAeidKjSGFnJlZ2V4cC4oKlJlZ2V4cCkuU3BsaXTYer09rKL6gihjb21wcmVzcy9mbGF0ZS4oKmRlY29tcHJlc3NvcikubmV4dEJsb2NrbBnsSa6uT14acnVudGltZS5tYXJrQml0cy5zZXRNYXJrZWSUN1G5Bpdmzx1uZXQvaHR0cC4oKlJlcXVlc3QpLlBhcnNlRm9ybaSWh0tCJk4pH3J1bnRpbWUuKCptY2VudHJhbCkudW5jYWNoZVNwYW6F/axaFAZ6WxRydW50aW1lLm5leHRGcmVlRmFzdMUegS5iNcwmPmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY29ubmVjdCkucHJlcGFyZUJhdGNos1Dtsb87TWM8Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvbW9kZWwvbGFiZWxzLigqQnVpbGRlcikuRGVsmk4XSzYVVyMNcnVudGltZS5tUGFya8g6m4BlxqYBEW5ldC4oKmNvbm4pLldyaXRliYAoNgNtkdk3Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvbW9kZWwvdmFsdWUuSXNTdGFsZU5hTkXcO8gzTRfJeGdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCp0cmFuc2FjdGlvbikuZ2V0TWV0cmljc4IXBNH1lMtvKWdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUudW5tYXJzaGFsPczaJBi8chVnZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3BrZy90cmFuc2xhdG9yL3Byb21ldGhldXMud29yZFRvVUNVTU9yRGVmYXVsdMKPWoQNhCwYRmdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL21vZGVsL2xhYmVscy4oKlNjcmF0Y2hCdWlsZGVyKS5MYWJlbHN8uSC3te6SNlxnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLigqbWV0cmljc0V4cG9ydGVyKS5jb2xsZWN0RnJvbU1ldHJpY0sKv/002FRnHXJ1bnRpbWUuKCptY2VudHJhbCkuY2FjaGVTcGFu65058wrY2+kPcnVudGltZS5iZ3N3ZWVw8xblPQF6X9gpZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS5QYXJzZURhdGFGPKTnSvZBJxpydW50aW1lLnN0b3BUaGVXb3JsZC5mdW5jMcR0RkzCbw+YG3J1bnRpbWUuZW50ZXJzeXNjYWxsX3N5c21vbvti8kBbKdiFCm5ldC5zb2NrZXRSAtDJWqJpyjdnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmJhdGNoKS5yZWxlYXNlGZEA7ML+AukjcnVudGltZS4oKm1zcGFuKS53cml0ZUhlYXBCaXRzU21hbGwYB0RLGoaC91dnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9pbnRlcm5hbC9mYW5vdXRjb25zdW1lci4oKm1ldHJpY3NDb25zdW1lcikuQ29uc3VtZU1ldHJpY3NRws6TIrggXDdnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKnN0cnVjdE1hcCkuTWFwLVC+2K79KVcYcnVudGltZS4oKm1jZW50cmFsKS5ncm93iTs1oz8F4vQVcnVudGltZS5zdGFydFRoZVdvcmxkqZwxP1Av1UsRcnVudGltZS5zZWx1bmxvY2v4Dclm+zUYczhnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvLigqU2Vzc2lvbikudGFrZVNuYXBzaG90c6n1a8KtZq/SEHJ1bnRpbWUubWFsbG9jZ2MZPIbLE+dNxERnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqQXJyYXkpLkFwcGVuZFJvdzu2SyNbL4c2NmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqYmF0Y2gpLkFwcGVuZMrtZYME9hTgFXJ1bnRpbWUubWFya3Jvb3RCbG9ja+amLDVsHwwbIG5ldC9odHRwLnBlcnNpc3RDb25uV3JpdGVyLldyaXRlhdX3VuV6AqQ6Z2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby4oKlNlc3Npb24pLmR1bXBIZWFwUHJvZmlsZfd+BDwJjVnSEXJ1bnRpbWUuZ29zY2hlZF9tUK5Jx0owvUoacnVudGltZS5tYXBhY2Nlc3MyX2Zhc3RzdHL0FXM049HETBVydW50aW1lLmNvbmNhdHN0cmluZzJdJGt6HfUCJh9lbmNvZGluZy9qc29uLm1hcEVuY29kZXIuZW5jb2RlWYSf9MuzSxk4Z2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuKCpkZWNvbXByZXNzb3IpLlJlYWR0SzZAZBi3yj1naXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUubmV3U2NyYXBlUG9vbC5mdW5jMS4xTZR2Ltes0OAYcnVudGltZS4oKmdjV29yaykudHJ5R2V0o8C216hKIR0TbWltZS5QYXJzZU1lZGlhVHlwZVpQU4TQ5kGuHmludGVybmFsL3BvbGwuKCpwb2xsRGVzYykuaW5pdGtR4D8YRs0UE3J1bnRpbWUuc3lzdGVtc3RhY2ssTzgSyRh/uVpnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLigqbWV0cmljc0V4cG9ydGVyKS5wdXNoTWV0cmljc0RhdGFQvbnXthIpbl1naXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLigqbWV0cmljc0V4cG9ydGVyKS5jb2xsZWN0RnJvbU1ldHJpY3P3Sqs2BSzGjjdnby5vcGVudGVsZW1ldHJ5LmlvL290ZWwvc2RrL3RyYWNlLigqcmVjb3JkaW5nU3BhbikuRW5kFQvkHKWJbk46Z28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL3Nkay9tZXRyaWMuKCppbnQ2NEluc3QpLmFnZ3JlZ2F0ZT2JCHg4rjujGGJ1ZmlvLigqUmVhZGVyKS5SZWFkQnl0ZQN8NNbAUF0+WWdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YvaW50ZXJuYWwvcHByb2YuKCpwcm9maWxlQnVpbGRlcikuTG9jc0ZvclN0YWNrTykauVEuTyoRcnVudGltZS5mdW5jbGluZTE3wHHL99E4NhVuZXQvaHR0cC4oKkNsaWVudCkuZG+f6hB1pviGgiRjb250ZXh0LigqY2FuY2VsQ3R4KS5wcm9wYWdhdGVDYW5jZWzmC0KrhlJMPyVnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLlBhcnNlZbW/ItM+13AScnVudGltZS5ub3RldHNsZWVwLO//re+hpH4PcnVudGltZS5nZXRpdGFicgmAN379PB4ZbmV0LigqRGlhbGVyKS5EaWFsQ29udGV4dCisGp7pgiw7EHJ1bnRpbWUuc3dlZXBvbmXLRfYfu5jNbglzb3J0LlNvcnR0NqBuHidlCCFydW50aW1lLigqc3dlZXBMb2NrZXIpLnRyeUFjcXVpcmX8bqvLPAErfCNuZXQvaHR0cC5jaGVja0Nvbm5FcnJvcldyaXRlci5Xcml0ZdF0DqAgh9XOEXJ1bnRpbWUucnVucXN0ZWFsFxW+8tl3mREkbmV0L2h0dHAuKCpUcmFuc3BvcnQpLnNldFJlcUNhbmNlbGVyGay1VpKJ+LY7Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5zZW5kUXVlcnnxDnHgdoaczUhnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9tb2RlbC90ZXh0cGFyc2UuKCpQcm9tUGFyc2VyKS5uZXh0VG9rZW5VXQQbde6iZz9naXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNvbm5lY3QpLnByb2ZpbGVFdmVudHPnpYlAtOJZQBVydW50aW1lLigqbXNwYW4pLmJhc2UgjRBgIpsaAzZnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvLigqU2Vzc2lvbikuU3RhcnQuZnVuYzEeFibdAh1ugTpnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9tb2RlbC9sYWJlbHMuTGFiZWxzLlJhbmdlc9TFdLUrT2o4Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5oYW5kbGUJLJzor1HC/klnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wcm9jZXNzb3IvYmF0Y2hwcm9jZXNzb3IuKCpzaGFyZCkuc3RhcnRMb29wBkeHDiOEL+cTc3lzY2FsbC5SYXdTeXNjYWxsNvh9uVZtcBB7DW5ldC5zeXNTb2NrZXTsn9FAvt6axUtnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wcm9jZXNzb3IvYmF0Y2hwcm9jZXNzb3IuKCpzaGFyZCkucHJvY2Vzc0l0ZW2E8UYvXvNH5xRydW50aW1lLnBjZGF0YXZhbHVlMVyUQjcdXcp/FHJ1bnRpbWUuUmVhZE1lbVN0YXRz0Q3upRuCDnMYcnVudGltZS4oKm1jYWNoZSkucmVmaWxsesBnD1wxIqgQcnVudGltZS5zY2hlZHVsZX1JIRcgJHV4RGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpUdXBsZSkuQXBwZW5kUm93huEJxDTCfl8RcnVudGltZS5uZXdvYmplY3R7BmF7YzJrrhNydW50aW1lLmZsdXNobWNhY2hlVotoGob81nodbmV0L2h0dHAuKCpUcmFuc3BvcnQpLmdldENvbm6AsTb/INmQPpYBZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvaW50ZXJuYWwvcXVldWUuKCpDb25zdW1lcnNbZ28uc2hhcGUuaW50ZXJmYWNlIHsgRXhwb3J0KGNvbnRleHQuQ29udGV4dCkgZXJyb3I7IEl0ZW1zQ291bnQoKSBpbnQgfV0pLlN0YXJ0LmZ1bmMxYHd1wACuCRAHY21wYm9keaC7+5EE0Rt+FHJlZmxlY3QudHlwZWRtZW1tb3ZlFRam6Bo/3PsUcnVudGltZS50eXBlZG1lbW1vdmVcZl6Ye5rtYiZjb21wcmVzcy9mbGF0ZS4oKmRlY29tcHJlc3NvcikuaHVmZlN5bckmZwlu+971E3J1bnRpbWUuZnVuY3NwZGVsdGFG3wEYthNxTTdnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNvbm5lY3QpLmZsdXNoaj4O5cDsUyAMc3lzY2FsbC5SZWFkh1MLB/cnsD1SZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvaW50ZXJuYWwvbWVtb3J5bGltaXRlci4oKk1lbW9yeUxpbWl0ZXIpLnJlYWRNZW1TdGF0cwQNZU04QaxZPGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqYmF0Y2hDb2x1bW4pLkFwcGVuZL2c57X6J7pLQ2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3BkYXRhL3BtZXRyaWMuTWV0cmljU2xpY2UuQXBwZW5kRW1wdHnxt7K5GFSQKSRlbmNvZGluZy9qc29uLigqZW5jb2RlU3RhdGUpLm1hcnNoYWyMXcaD5qvkgg1zeXNjYWxsLldyaXRlB3YjQuZFJMY+Z2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuKCpodWZmbWFuRW5jb2RlcikuZ2VuZXJhdGU8AJLYLLN/mxBydW50aW1lLm1hcmtyb290vroLKR+OzAYPcnVudGltZS5wdXRmdWxsbYz6VAS7xClLZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLigqc2NyYXBlTG9vcCkuc2NyYXBlQW5kUmVwb3J0LmZ1bmMx/8+Qrm2l9xwRcnVudGltZS5zY2FuYmxvY2tMDfiNqq00vwtydW50aW1lLmFkZLxRhWFKG8DLHW5ldC4oKnN5c0RpYWxlcikuZGlhbFBhcmFsbGVs24Usp2X26F0zZ2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuKCpXcml0ZXIpLkNsb3NlsScJFvdqzBYScnVudGltZS5ub3Rld2FrZXVwGv7dRogBa0MHaW8uQ29weS3jUMOau5IIF3J1bnRpbWUuc3Bhbk9mVW5jaGVja2VkLYm/+CpofN9LZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKkFycmF5KS5hcHBlbmRSb3dEZWZhdWx0w3v6nYmn07EyZ2l0aHViLmNvbS9wcm9tZXRoZXVzL2NvbW1vbi9tb2RlbC5MYWJlbE5hbWVzLkxlc3POpvz7GkSCizJnaXRodWIuY29tL0NsaWNrSG91c2UvY2gtZ28vcHJvdG8uKCpDb2xTdHIpLkFwcGVuZHa9OyQiw6yqOmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY29ubmVjdCkuc2VuZERhdGHWw8LQ7S5QKhJydW50aW1lLmZpbmRPYmplY3RzQ/iAz4K3jzxnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNsaWNraG91c2UpLnJlbGVhc2XaVc/eEwOvuBBydW50aW1lLnByZWVtcHRNfSSWQQF57TgUY29udGV4dC5XaXRoRGVhZGxpbmWaF/a9mZZq6xpydW50aW1lLigqdW53aW5kZXIpLmluaXRBdIzjCXS65VefN2dpdGh1Yi5jb20vcHJvbWV0aGV1cy9jb21tb24vbW9kZWwuTGFiZWxTZXQuRmluZ2VycHJpbnSgbR/BHd3SAXRnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLigqdHJhbnNhY3Rpb24pLkNv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"; + let b64_resp = "CgV0b3RhbAo2Z2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby4oKlNlc3Npb24pLlN0YXJ0LmZ1bmMxCjlnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUuKCpzY3JhcGVMb29wKS5ydW4KD3J1bnRpbWUuYmdzd2VlcApeZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyLigqcHlyb3Njb3BlUmVjZWl2ZXIpLmhhbmRsZS5mdW5jMQoNcnVudGltZS5tY2FsbAohbmV0L2h0dHAuKCpUcmFuc3BvcnQpLmRpYWxDb25uRm9yCltnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9pbnRlcm5hbC9tZW1vcnlsaW1pdGVyLigqTWVtb3J5TGltaXRlcikuc3RhcnRNb25pdG9yaW5nLmZ1bmMxCjxnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9kaXNjb3ZlcnkuKCpNYW5hZ2VyKS5zZW5kZXIKFm5ldC9odHRwLigqY29ubikuc2VydmUKIW5ldC9odHRwLigqcGVyc2lzdENvbm4pLndyaXRlTG9vcAosbmV0LigqUmVzb2x2ZXIpLmdvTG9va3VwSVBDTkFNRU9yZGVyLmZ1bmMzLjEKFnJ1bnRpbWUuZ2NCZ01hcmtXb3JrZXIKSWdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3Byb2Nlc3Nvci9iYXRjaHByb2Nlc3Nvci4oKnNoYXJkKS5zdGFydExvb3AKEXJ1bnRpbWUubmFub3RpbWUxCkRnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL3Vwc3RyZWFtL3JlbW90ZS4oKlJlbW90ZSkuaGFuZGxlSm9icwqWAWdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2ludGVybmFsL3F1ZXVlLigqQ29uc3VtZXJzW2dvLnNoYXBlLmludGVyZmFjZSB7IEV4cG9ydChjb250ZXh0LkNvbnRleHQpIGVycm9yOyBJdGVtc0NvdW50KCkgaW50IH1dKS5TdGFydC5mdW5jMQolaW50ZXJuYWwvc2luZ2xlZmxpZ2h0LigqR3JvdXApLmRvQ2FsbAo4Z2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby4oKlNlc3Npb24pLnRha2VTbmFwc2hvdHMKRWdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnNjcmFwZUxvb3ApLnNjcmFwZUFuZFJlcG9ydAoQcnVudGltZS5zd2VlcG9uZQpeZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyLigqcHlyb3Njb3BlUmVjZWl2ZXIpLnJlYWRQcm9maWxlcwoOcnVudGltZS5wYXJrX20KEXJ1bnRpbWUuZ29zY2hlZF9tCg9ydW50aW1lLmdvZXhpdDAKJW5ldC9odHRwLigqVHJhbnNwb3J0KS5kZWNDb25uc1Blckhvc3QKHm5ldC9odHRwLigqVHJhbnNwb3J0KS5kaWFsQ29ubgpUZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvaW50ZXJuYWwvbWVtb3J5bGltaXRlci4oKk1lbW9yeUxpbWl0ZXIpLkNoZWNrTWVtTGltaXRzChBydW50aW1lLnNlbGVjdGdvCiJuZXQvaHR0cC4oKnJlc3BvbnNlKS5maW5pc2hSZXF1ZXN0ChVidWZpby4oKldyaXRlcikuRmx1c2gKGW5ldC9odHRwLigqUmVxdWVzdCkud3JpdGUKGm5ldC4oKlJlc29sdmVyKS50cnlPbmVOYW1lChJydW50aW1lLmdjTWFya0RvbmUKE3J1bnRpbWUuc3lzdGVtc3RhY2sKS2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3Byb2Nlc3Nvci9iYXRjaHByb2Nlc3Nvci4oKnNoYXJkKS5wcm9jZXNzSXRlbQpEZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby91cHN0cmVhbS9yZW1vdGUuKCpSZW1vdGUpLnNhZmVVcGxvYWQKmwFnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9pbnRlcm5hbC9xdWV1ZS4oKmJvdW5kZWRNZW1vcnlRdWV1ZVtnby5zaGFwZS5pbnRlcmZhY2UgeyBFeHBvcnQoY29udGV4dC5Db250ZXh0KSBlcnJvcjsgSXRlbXNDb3VudCgpIGludCB9XSkuQ29uc3VtZQoibmV0LigqUmVzb2x2ZXIpLmxvb2t1cElQQWRkci5mdW5jMQowZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby4oKlNlc3Npb24pLnJlc2V0CktnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUuKCpzY3JhcGVMb29wKS5zY3JhcGVBbmRSZXBvcnQuZnVuYzEKB2lvLkNvcHkKFGNvbnRleHQuV2l0aERlYWRsaW5lChVuZXQvaHR0cC4oKkNsaWVudCkuRG8KS2dpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnNjcmFwZUxvb3ApLnNjcmFwZUFuZFJlcG9ydC5mdW5jMgo8Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLigqc2NyYXBlTG9vcCkuYXBwZW5kChxydW50aW1lLigqc3dlZXBMb2NrZWQpLnN3ZWVwCiFydW50aW1lLigqc3dlZXBMb2NrZXIpLnRyeUFjcXVpcmUKHGVuY29kaW5nL2JpbmFyeS5BcHBlbmRWYXJpbnQKX2dpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9yZWNlaXZlci9weXJvc2NvcGVyZWNlaXZlci4oKnB5cm9zY29wZVJlY2VpdmVyKS5vcGVuTXVsdGlwYXJ0Ch1lbmNvZGluZy9iaW5hcnkuQXBwZW5kVXZhcmludApdZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyL3Bwcm9mcGFyc2VyLigqcFByb2ZQYXJzZXIpLlBhcnNlCmBnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvcmVjZWl2ZXIvcHlyb3Njb3BlcmVjZWl2ZXIvY29tcHJlc3MuKCpEZWNvbXByZXNzb3IpLkRlY29tcHJlc3MKTGdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9yZWNlaXZlci9weXJvc2NvcGVyZWNlaXZlci5wb3N0UHJvY2Vzc1Byb2YKEHJ1bnRpbWUuc2NoZWR1bGUKE3J1bnRpbWUuZ29zY2hlZEltcGwKEHJ1bnRpbWUuZ2Rlc3Ryb3kKGm5ldC9odHRwLigqVHJhbnNwb3J0KS5kaWFsClJnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9pbnRlcm5hbC9tZW1vcnlsaW1pdGVyLigqTWVtb3J5TGltaXRlcikucmVhZE1lbVN0YXRzCg9ydW50aW1lLnNlbGxvY2sKEXJ1bnRpbWUuc2VsdW5sb2NrCiBuZXQvaHR0cC5wZXJzaXN0Q29ubldyaXRlci5Xcml0ZQoabmV0L2h0dHAubmV3VHJhbnNmZXJXcml0ZXIKGG5ldC4oKlJlc29sdmVyKS5leGNoYW5nZQoZcnVudGltZS5nY01hcmtUZXJtaW5hdGlvbgoicnVudGltZS5nY0RyYWluTWFya1dvcmtlckRlZGljYXRlZAodcnVudGltZS5nY0RyYWluTWFya1dvcmtlcklkbGUKUGdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3BkYXRhL3BtZXRyaWMuUmVzb3VyY2VNZXRyaWNzU2xpY2UuTW92ZUFuZEFwcGVuZFRvCkdnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL3Vwc3RyZWFtL3JlbW90ZS4oKlJlbW90ZSkudXBsb2FkUHJvZmlsZQpKZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvZXhwb3J0ZXJoZWxwZXIubmV3UXVldWVTZW5kZXIuZnVuYzEKDm5ldC5pbml0LmZ1bmMxChRydW50aW1lLmFjcXVpcmVTdWRvZwo1Z2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby4oKlNlc3Npb24pLnVwbG9hZERhdGEKT2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3JlY2VpdmVyL3JlY2VpdmVyaGVscGVyLigqT2JzUmVwb3J0KS5FbmRNZXRyaWNzT3AKdGdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCp0cmFuc2FjdGlvbikuQ29tbWl0Cg1pby5jb3B5QnVmZmVyChljb250ZXh0LldpdGhEZWFkbGluZUNhdXNlChVuZXQvaHR0cC4oKkNsaWVudCkuZG8KPGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS4oKnNjcmFwZUxvb3ApLnJlcG9ydApGZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvbW9kZWwvbGFiZWxzLigqU2NyYXRjaEJ1aWxkZXIpLkxhYmVscwpIZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvbW9kZWwvdGV4dHBhcnNlLigqUHJvbVBhcnNlcikubmV4dFRva2VuCkNnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUuKCpzY3JhcGVDYWNoZSkuZm9yRWFjaFN0YWxlCj1naXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9tb2RlbC9sYWJlbHMuTGFiZWxzLlZhbGlkYXRlCj1naXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUubmV3U2NyYXBlUG9vbC5mdW5jMS4xCkNnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUuKCp0aW1lTGltaXRBcHBlbmRlcikuQXBwZW5kCkVnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9tb2RlbC90ZXh0cGFyc2UuKCpQcm9tUGFyc2VyKS5NZXRyaWMKH3J1bnRpbWUuKCpnY0JpdHNBcmVuYSkudHJ5QWxsb2MKFHJ1bnRpbWUubG9ja1dpdGhSYW5rCiZuZXQvaHR0cC4oKlJlcXVlc3QpLlBhcnNlTXVsdGlwYXJ0Rm9ybQoRcnVudGltZS5ncm93c2xpY2UKJWdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUuUGFyc2UKPGdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUuKCpQcm9maWxlKS5Xcml0ZVVuY29tcHJlc3NlZApfZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL3JlY2VpdmVyL3B5cm9zY29wZXJlY2VpdmVyL2NvbXByZXNzLigqRGVjb21wcmVzc29yKS5yZWFkQnl0ZXMKRmdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9yZWNlaXZlci9weXJvc2NvcGVyZWNlaXZlci5nZXROb2RlSWQKJWdpdGh1Yi5jb20vZ28tZmFzdGVyL2NpdHkuaGFzaDEyOHRvNjQKCnNvcnQuU2xpY2UKGHJ1bnRpbWUubWFwYXNzaWduX2Zhc3Q2NAoWcnVudGltZS51bmxvY2tXaXRoUmFuawoVcnVudGltZS5yZXNldHNwaW5uaW5nChRydW50aW1lLmZpbmRSdW5uYWJsZQoNcnVudGltZS53YWtlcAoQcnVudGltZS5mdW5jbmFtZQo4Z2l0aHViLmNvbS9td2l0a293L2dvLWNvbm50cmFjay5OZXdEaWFsQ29udGV4dEZ1bmMuZnVuYzEKEXJ1bnRpbWUubmV3b2JqZWN0ChRydW50aW1lLlJlYWRNZW1TdGF0cwojbmV0L2h0dHAuY2hlY2tDb25uRXJyb3JXcml0ZXIuV3JpdGUKEW5ldC4oKmNvbm4pLldyaXRlCh5uZXQvaHR0cC5pc0tub3duSW5NZW1vcnlSZWFkZXIKFG5ldC4oKlJlc29sdmVyKS5kaWFsChZuZXQuZG5zUGFja2V0Um91bmRUcmlwChFuZXQuKCpjb25uKS5DbG9zZQoTcnVudGltZS5tUHJvZl9GbHVzaAoPcnVudGltZS5nY0RyYWluCk9nby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKmJhc2VSZXF1ZXN0U2VuZGVyKS5zZW5kChhuZXQuKCpSZXNvbHZlcikubG9va3VwSVAKOmdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28uKCpTZXNzaW9uKS5kdW1wSGVhcFByb2ZpbGUKJWdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28ubnVtR0MKSGdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3JlY2VpdmVyL3JlY2VpdmVyaGVscGVyLigqT2JzUmVwb3J0KS5lbmRPcApXZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvaW50ZXJuYWwvZmFub3V0Y29uc3VtZXIuKCptZXRyaWNzQ29uc3VtZXIpLkNvbnN1bWVNZXRyaWNzCnhnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLigqdHJhbnNhY3Rpb24pLmdldE1ldHJpY3MKhAFnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLigqaW5pdGlhbFBvaW50QWRqdXN0ZXIpLkFkanVzdE1ldHJpY3MKGGJ5dGVzLigqQnVmZmVyKS5SZWFkRnJvbQokY29udGV4dC4oKmNhbmNlbEN0eCkucHJvcGFnYXRlQ2FuY2VsChduZXQvaHR0cC4oKkNsaWVudCkuc2VuZApFZ2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvc2NyYXBlLigqc2NyYXBlTG9vcCkuYWRkUmVwb3J0U2FtcGxlCgtydW50aW1lLmFkZAo1Z2l0aHViLmNvbS9wcm9tZXRoZXVzL2NvbW1vbi9tb2RlbC5MYWJlbFZhbHVlLklzVmFsaWQKOGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL21vZGVsL2xhYmVscy5OZXdCdWlsZGVyCnpnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLigqdHJhbnNhY3Rpb24pLmdldFNlcmllc1JlZgoRc3RyaW5ncy5JbmRleEJ5dGUKDXJ1bnRpbWUubG9jazIKHW5ldC9odHRwLigqUmVxdWVzdCkuUGFyc2VGb3JtChBydW50aW1lLm1hbGxvY2djCilnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLlBhcnNlRGF0YQoKaW8uUmVhZEFsbAonZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS5tYXJzaGFsCh5naXRodWIuY29tL2dvLWZhc3Rlci9jaXR5LkNINjQKEXNvcnQucGRxc29ydF9mdW5jChFydW50aW1lLm1lbWhhc2g2NAoPcnVudGltZS51bmxvY2syChpydW50aW1lLigqcmFuZG9tRW51bSkubmV4dAoxcnVudGltZS4oKmdjQ29udHJvbGxlclN0YXRlKS5maW5kUnVubmFibGVHQ1dvcmtlcgoNcnVudGltZS5zdG9wbQoNcnVudGltZS5tUGFyawoRcnVudGltZS5zdGVhbFdvcmsKEHJ1bnRpbWUubmFub3RpbWUKD3J1bnRpbWUubmV0cG9sbAoOcnVudGltZS5zdGFydG0KD3J1bnRpbWUuZXhlY3V0ZQoWcnVudGltZS5nb3N0cmluZ25vY29weQoRcnVudGltZS5wTWFzay5zZXQKNWdpdGh1Yi5jb20vbXdpdGtvdy9nby1jb25udHJhY2suZGlhbENsaWVudENvbm5UcmFja2VyChVydW50aW1lLnN0YXJ0VGhlV29ybGQKFHJ1bnRpbWUuc3RvcFRoZVdvcmxkChJuZXQuKCpuZXRGRCkuV3JpdGUKEnJ1bnRpbWUudHlwZUFzc2VydAoZbmV0LigqRGlhbGVyKS5EaWFsQ29udGV4dAoSbmV0LigqbmV0RkQpLkNsb3NlChlydW50aW1lLm1Qcm9mX0ZsdXNoTG9ja2VkChlydW50aW1lLigqZ2NXb3JrKS5iYWxhbmNlChBydW50aW1lLm1hcmtyb290ChdydW50aW1lLmdjRmx1c2hCZ0NyZWRpdAodcnVudGltZS50eXBlUG9pbnRlcnMubmV4dEZhc3QKEnJ1bnRpbWUuYXJlbmFJbmRleAoScnVudGltZS5zY2Fub2JqZWN0ChJydW50aW1lLndiQnVmRmx1c2gKGHJ1bnRpbWUuc3BhbkNsYXNzLm5vc2NhbgoYcnVudGltZS4oKmdjV29yaykudHJ5R2V0Clxnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKm1ldHJpY3NTZW5kZXJXaXRoT2JzZXJ2YWJpbGl0eSkuc2VuZApbZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvZXhwb3J0ZXJoZWxwZXIuKCpsb2dzRXhwb3J0ZXJXaXRoT2JzZXJ2YWJpbGl0eSkuc2VuZAobbmV0LigqY29uZikuaG9zdExvb2t1cE9yZGVyCgpydW50aW1lLkdDCkNnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL2dvZGVsdGFwcm9mLigqSGVhcFByb2ZpbGVyKS5Qcm9maWxlClBnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9yZWNlaXZlci9yZWNlaXZlcmhlbHBlci4oKk9ic1JlcG9ydCkucmVjb3JkTWV0cmljcwpIZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvY29uc3VtZXIuQ29uc3VtZU1ldHJpY3NGdW5jLkNvbnN1bWVNZXRyaWNzCkNnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wZGF0YS9wbWV0cmljLk1ldHJpY1NsaWNlLkFwcGVuZEVtcHR5CkBnby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wZGF0YS9wbWV0cmljLk1ldHJpYy5TZXRFbXB0eUdhdWdlCntnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLigqbWV0cmljRmFtaWx5KS5hcHBlbmRNZXRyaWMKigFnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLigqaW5pdGlhbFBvaW50QWRqdXN0ZXIpLmFkanVzdE1ldHJpY1N1bW1hcnkKGGlvLigqTGltaXRlZFJlYWRlcikuUmVhZAoRcnVudGltZS5tYXBhc3NpZ24KDW5ldC9odHRwLnNlbmQKPWdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL3NjcmFwZS5uZXdTY3JhcGVQb29sLmZ1bmMxLjIKdGdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCp0cmFuc2FjdGlvbikuQXBwZW5kChh1bmljb2RlL3V0ZjguVmFsaWRTdHJpbmcKEXJ1bnRpbWUubWFrZXNsaWNlCmtnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLmdldFNlcmllc1JlZgogaW50ZXJuYWwvYnl0ZWFsZy5JbmRleEJ5dGVTdHJpbmcKEXJ1bnRpbWUucHJvY3lpZWxkChZuZXQvaHR0cC5wYXJzZVBvc3RGb3JtChRydW50aW1lLnByb2ZpbGVhbGxvYwo1Z2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS4oKlByb2ZpbGUpLkNoZWNrVmFsaWQKKWdpdGh1Yi5jb20vZ29vZ2xlL3Bwcm9mL3Byb2ZpbGUudW5tYXJzaGFsChRieXRlcy4oKkJ1ZmZlcikuUmVhZAoxZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS4oKlByb2ZpbGUpLmVuY29kZQoXcnVudGltZS4oKmxmc3RhY2spLnB1c2gKDHJ1bnRpbWUubXB1dAoRcnVudGltZS5ub3Rlc2xlZXAKEXJ1bnRpbWUucnVucXN0ZWFsCiJydW50aW1lL2ludGVybmFsL3N5c2NhbGwuRXBvbGxXYWl0ChJydW50aW1lLm5vdGV3YWtldXAKEnJ1bnRpbWUuY2FzZ3N0YXR1cwoccnVudGltZS4oKnJhbmRvbU9yZGVyKS5zdGFydAoQcnVudGltZS5maW5kbnVsbAopZ29sYW5nLm9yZy94L25ldC90cmFjZS4oKmV2ZW50TG9nKS5FcnJvcmYKGnJ1bnRpbWUuKCptY2FjaGUpLm5leHRGcmVlChpydW50aW1lLlJlYWRNZW1TdGF0cy5mdW5jMQoNc3lzY2FsbC5Xcml0ZQoPcnVudGltZS5nZXRpdGFiCh1uZXQuKCpzeXNEaWFsZXIpLmRpYWxQYXJhbGxlbAoZaW50ZXJuYWwvcG9sbC4oKkZEKS5DbG9zZQoUcnVudGltZS4oKmJ1Y2tldCkubXAKKXJ1bnRpbWUuKCpnY0NvbnRyb2xsZXJTdGF0ZSkuZW5saXN0V29ya2VyCg9ydW50aW1lLmhhbmRvZmYKFXJ1bnRpbWUubWFya3Jvb3RCbG9jawoWcnVudGltZS5tYXJrcm9vdC5mdW5jMQoacnVudGltZS5tYXJrQml0cy5zZXRNYXJrZWQKEnJ1bnRpbWUuZ3JleW9iamVjdAoScnVudGltZS5maW5kT2JqZWN0ChNydW50aW1lLnJlYWRVaW50cHRyChNydW50aW1lLnBhZ2VJbmRleE9mChVydW50aW1lLigqbXNwYW4pLmJhc2UKGXJ1bnRpbWUubWFya0JpdHMuaXNNYXJrZWQKKHJ1bnRpbWUuKCptc3BhbikudHlwZVBvaW50ZXJzT2ZVbmNoZWNrZWQKDnJ1bnRpbWUuc3Bhbk9mChZydW50aW1lLigqZ2NCaXRzKS5iaXRwChlydW50aW1lLnR5cGVQb2ludGVycy5uZXh0ChhydW50aW1lLndiQnVmRmx1c2guZnVuYzEKFnJ1bnRpbWUuKCpsZnN0YWNrKS5wb3AKEHJ1bnRpbWUucHV0ZW1wdHkKSWdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2V4cG9ydGVyaGVscGVyLigqcmV0cnlTZW5kZXIpLnNlbmQKT2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2V4cG9ydGVyaGVscGVyLigqT2JzUmVwb3J0KS5FbmRNZXRyaWNzT3AKSmdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2V4cG9ydGVyaGVscGVyLigqT2JzUmVwb3J0KS5zdGFydE9wChduZXQuKCpjb25mKS5sb29rdXBPcmRlcgpeZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKkRlbHRhSGVhcFByb2ZpbGVyKS5Xcml0ZUhlYXBQcm90bwo6Z28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL3Nkay9tZXRyaWMuKCppbnQ2NEluc3QpLmFnZ3JlZ2F0ZQo3Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvbW9kZWwvdmFsdWUuSXNTdGFsZU5hTgpMZ28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcGRhdGEvcG1ldHJpYy5OdW1iZXJEYXRhUG9pbnRTbGljZS5BcHBlbmRFbXB0eQp4Z2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci9pbnRlcm5hbC4oKm1ldHJpY0dyb3VwKS5zb3J0UG9pbnRzCmdnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcGtnL3RyYW5zbGF0b3IvcHJvbWV0aGV1cy53b3JkVG9VQ1VNT3JEZWZhdWx0CnNnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLigqdGltZXNlcmllc01hcCkuZ2V0CjFnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9nemlwLigqUmVhZGVyKS5SZWFkChxydW50aW1lLm1lbWNsck5vSGVhcFBvaW50ZXJzCkZnaXRodWIuY29tL3Byb21ldGhldXMvY29tbW9uL2NvbmZpZy4oKnVzZXJBZ2VudFJvdW5kVHJpcHBlcikuUm91bmRUcmlwCkBnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUubXV0YXRlUmVwb3J0U2FtcGxlTGFiZWxzCnJnaXRodWIuY29tL29wZW4tdGVsZW1ldHJ5L29wZW50ZWxlbWV0cnktY29sbGVjdG9yLWNvbnRyaWIvcmVjZWl2ZXIvcHJvbWV0aGV1c3JlY2VpdmVyL2ludGVybmFsLm5vcm1hbGl6ZU1ldHJpY05hbWUKHmdvLnViZXIub3JnL3phcC4oKkxvZ2dlcikuV2FybgqFAWdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCp0cmFuc2FjdGlvbikuZ2V0T3JDcmVhdGVNZXRyaWNGYW1pbHkKRmdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL21vZGVsL2xhYmVscy5MYWJlbHMuSGFzaFdpdGhvdXRMYWJlbHMKE21pbWUuUGFyc2VNZWRpYVR5cGUKFHJ1bnRpbWUubVByb2ZfTWFsbG9jChlydW50aW1lLm1hcGFjY2VzczFfZmFzdDY0Ci1naXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmRlY29kZU1lc3NhZ2UKD3J1bnRpbWUubWVtbW92ZQotZ2l0aHViLmNvbS9nb29nbGUvcHByb2YvcHJvZmlsZS5lbmNvZGVNZXNzYWdlChxjb21wcmVzcy9nemlwLigqUmVhZGVyKS5SZWFkCiZydW50aW1lL2ludGVybmFsL2F0b21pYy4oKlVpbnQzMikuTG9hZAoScnVudGltZS5mdXRleHNsZWVwChBydW50aW1lLnJ1bnFncmFiCiFydW50aW1lL2ludGVybmFsL3N5c2NhbGwuU3lzY2FsbDYKE3J1bnRpbWUuZnV0ZXh3YWtldXAKDWluZGV4Ynl0ZWJvZHkKKWdvbGFuZy5vcmcveC9uZXQvdHJhY2UuKCpldmVudExvZykucHJpbnRmChhydW50aW1lLigqbWNhY2hlKS5yZWZpbGwKFnJ1bnRpbWUucmVhZG1lbXN0YXRzX20KG3J1bnRpbWUuc3RhcnRUaGVXb3JsZC5mdW5jMQoacnVudGltZS5zdG9wVGhlV29ybGQuZnVuYzEKDXN5c2NhbGwud3JpdGUKG25ldC4oKnN5c0RpYWxlcikuZGlhbFNlcmlhbAoaaW50ZXJuYWwvcG9sbC4oKkZEKS5kZWNyZWYKEHJ1bnRpbWUucHJlZW1wdE0KEHJ1bnRpbWUuZ2V0ZW1wdHkKD3J1bnRpbWUucHV0ZnVsbAoRcnVudGltZS5zY2FuYmxvY2sKEXJ1bnRpbWUuc2NhbnN0YWNrCiVydW50aW1lLigqbXNwYW4pLmhlYXBCaXRzU21hbGxGb3JBZGRyCgxydW50aW1lLmFkZGIKS2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2V4cG9ydGVyaGVscGVyLigqdGltZW91dFNlbmRlcikuc2VuZAo9Z28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvZXhwb3J0ZXIvZXhwb3J0ZXJoZWxwZXIuZW5kU3BhbgoyZ28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL3Nkay90cmFjZS4oKnRyYWNlcikuU3RhcnQKEHJ1bnRpbWUubmV3c3RhY2sKWWdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YvaW50ZXJuYWwvcHByb2YuKCpwcm9maWxlQnVpbGRlcikuTG9jc0ZvclN0YWNrChFydW50aW1lLkZ1bmNGb3JQQwpSZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi4oKnByb2ZpbGVCdWlsZGVyKS5CdWlsZArgAmdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YvaW50ZXJuYWwvcHByb2YuKCpwcm9mTWFwW2dvLnNoYXBlLnN0cnVjdCB7IGdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YvaW50ZXJuYWwvcHByb2YuYWxsb2NPYmplY3RzIGludDY0IH0sZ28uc2hhcGUuc3RydWN0IHsgZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi5hbGxvY09iamVjdHMgaW50NjQ7IGdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YvaW50ZXJuYWwvcHByb2YuaW51c2VPYmplY3RzIGludDY0IH1dKS5Mb29rdXAKUWdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3Byb2Nlc3Nvci9wcm9jZXNzb3JoZWxwZXIuTmV3TWV0cmljc1Byb2Nlc3Nvci5mdW5jMQoScnVudGltZS5tYXBhY2Nlc3MyCjhnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKmRlY29tcHJlc3NvcikuUmVhZAofbmV0L2h0dHAuKCpUcmFuc3BvcnQpLlJvdW5kVHJpcAo6Z2l0aHViLmNvbS9wcm9tZXRoZXVzL3Byb21ldGhldXMvbW9kZWwvbGFiZWxzLkxhYmVscy5SYW5nZQofZ28udWJlci5vcmcvemFwLigqTG9nZ2VyKS5jaGVjawpuZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci9pbnRlcm5hbC5uZXdNZXRyaWNGYW1pbHkKGnJ1bnRpbWUuZGVkdWN0QXNzaXN0Q3JlZGl0ChFydW50aW1lLmNtcHN0cmluZwoLc3RyaW5ncy5DdXQKEXJ1bnRpbWUuc3RrYnVja2V0CitnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmluaXQuZnVuYzM2CitnaXRodWIuY29tL2dvb2dsZS9wcHJvZi9wcm9maWxlLmluaXQuZnVuYzM3CiNjb21wcmVzcy9mbGF0ZS4oKmRlY29tcHJlc3NvcikuUmVhZAoNcnVudGltZS5mdXRleAoLZm10LlNwcmludGYKHXJ1bnRpbWUuKCptY2VudHJhbCkuY2FjaGVTcGFuChdydW50aW1lLmZsdXNoYWxsbWNhY2hlcwodcnVudGltZS5zdGFydFRoZVdvcmxkV2l0aFNlbWEKHHJ1bnRpbWUuc3RvcFRoZVdvcmxkV2l0aFNlbWEKD3N5c2NhbGwuU3lzY2FsbAobbmV0Ligqc3lzRGlhbGVyKS5kaWFsU2luZ2xlCh9pbnRlcm5hbC9wb2xsLigqcG9sbERlc2MpLmNsb3NlCg9ydW50aW1lLnNpZ25hbE0KF3J1bnRpbWUuc2NhbmZyYW1ld29ya2VyCk5nby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9leHBvcnRlci9leHBvcnRlcmhlbHBlci4oKm1ldHJpY3NSZXF1ZXN0KS5FeHBvcnQKN2dvLm9wZW50ZWxlbWV0cnkuaW8vb3RlbC9zZGsvdHJhY2UuKCpyZWNvcmRpbmdTcGFuKS5FbmQKS2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL2V4cG9ydGVyL2V4cG9ydGVyaGVscGVyLigqbG9nc1JlcXVlc3QpLkV4cG9ydAo0Z28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL3Nkay90cmFjZS4oKnRyYWNlcikubmV3U3BhbgoRcnVudGltZS5jb3B5c3RhY2sKF3J1bnRpbWUuKCpzcGFuU2V0KS5wdXNoCllnaXRodWIuY29tL2dyYWZhbmEvcHlyb3Njb3BlLWdvL2dvZGVsdGFwcm9mL2ludGVybmFsL3Bwcm9mLigqcHJvZmlsZUJ1aWxkZXIpLmVtaXRMb2NhdGlvbgpEZ2l0aHViLmNvbS9ncmFmYW5hL3B5cm9zY29wZS1nby9nb2RlbHRhcHJvZi9pbnRlcm5hbC9wcHJvZi5hbGxGcmFtZXMKWGdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YvaW50ZXJuYWwvcHByb2YuKCpwcm9maWxlQnVpbGRlcikuc3RyaW5nSW5kZXgKKXJ1bnRpbWUuKCppbmxpbmVVbndpbmRlcikucmVzb2x2ZUludGVybmFsCjNnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKldyaXRlcikuQ2xvc2UKVGdvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3Byb2Nlc3Nvci9wcm9jZXNzb3JoZWxwZXIuKCpPYnNSZXBvcnQpLk1ldHJpY3NBY2NlcHRlZAoTcnVudGltZS5oZWFwU2V0VHlwZQp1dHlwZTouZXEuZ2l0aHViLmNvbS9vcGVuLXRlbGVtZXRyeS9vcGVudGVsZW1ldHJ5LWNvbGxlY3Rvci1jb250cmliL3JlY2VpdmVyL3Byb21ldGhldXNyZWNlaXZlci9pbnRlcm5hbC50aW1lc2VyaWVzS2V5CjpnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKmRlY29tcHJlc3NvcikuZG9TdGVwCh9uZXQvaHR0cC4oKlRyYW5zcG9ydCkucm91bmRUcmlwCkNnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUuKCpUYXJnZXQpLkxhYmVsc1JhbmdlLmZ1bmMxCg9ydW50aW1lLkNhbGxlcnMKE3J1bnRpbWUucm91bmR1cHNpemUKKGNvbXByZXNzL2ZsYXRlLigqZGVjb21wcmVzc29yKS5uZXh0QmxvY2sKF3NvcnQuaW5zZXJ0aW9uU29ydF9mdW5jChJmbXQuKCpwcCkuZG9QcmludGYKGHJ1bnRpbWUuKCptY2VudHJhbCkuZ3JvdwoTcnVudGltZS5mbHVzaG1jYWNoZQoScnVudGltZS5wcm9jcmVzaXplChJydW50aW1lLm5vdGV0c2xlZXAKE3N5c2NhbGwuUmF3U3lzY2FsbDYKGG5ldC4oKnN5c0RpYWxlcikuZGlhbFVEUAofaW50ZXJuYWwvcG9sbC5ydW50aW1lX3BvbGxDbG9zZQoOcnVudGltZS50Z2tpbGwKFXJ1bnRpbWUuKCpnY1dvcmspLnB1dApaZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci4oKm1ldHJpY3NFeHBvcnRlcikucHVzaE1ldHJpY3NEYXRhCjlnby5vcGVudGVsZW1ldHJ5LmlvL2NvbnRyaWIvenBhZ2VzLigqU3BhblByb2Nlc3NvcikuT25FbmQKZmdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9jbGlja2hvdXNlcHJvZmlsZWV4cG9ydGVyLigqY2xpY2tob3VzZVByb2ZpbGVFeHBvcnRlcikuc2VuZAo1Z28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL3RyYWNlLlNwYW5Db250ZXh0RnJvbUNvbnRleHQKE3J1bnRpbWUuYWRqdXN0ZnJhbWUKGXJ1bnRpbWUubWFwYXNzaWduX2Zhc3RzdHIKUmdpdGh1Yi5jb20vZ3JhZmFuYS9weXJvc2NvcGUtZ28vZ29kZWx0YXByb2YvaW50ZXJuYWwvcHByb2YuKCpwcm9maWxlQnVpbGRlcikuZmx1c2gKFnJ1bnRpbWUuKCpGcmFtZXMpLk5leHQKGHJ1bnRpbWUuZnVuY05hbWVGb3JQcmludAoUcnVudGltZS5zcmNGdW5jLm5hbWUKFHJ1bnRpbWUucGNkYXRhdmFsdWUxCjdnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKmNvbXByZXNzb3IpLmNsb3NlCk9nby5vcGVudGVsZW1ldHJ5LmlvL2NvbGxlY3Rvci9wcm9jZXNzb3IvcHJvY2Vzc29yaGVscGVyLigqT2JzUmVwb3J0KS5yZWNvcmREYXRhCiNydW50aW1lLigqbXNwYW4pLndyaXRlSGVhcEJpdHNTbWFsbAoJbWVtZXFib2R5Cj1naXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKmRlY29tcHJlc3NvcikubmV4dEJsb2NrChljb250ZXh0LigqY2FuY2VsQ3R4KS5Eb25lCh1uZXQvaHR0cC4oKlRyYW5zcG9ydCkuZ2V0Q29ubgohbmV0L2h0dHAuKCpwZXJzaXN0Q29ubikucm91bmRUcmlwCkZnaXRodWIuY29tL3Byb21ldGhldXMvcHJvbWV0aGV1cy9zY3JhcGUubXV0YXRlUmVwb3J0U2FtcGxlTGFiZWxzLmZ1bmMxCg9ydW50aW1lLmNhbGxlcnMKK2NvbXByZXNzL2ZsYXRlLigqZGVjb21wcmVzc29yKS5odWZmbWFuQmxvY2sKUmdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9yZWNlaXZlci9weXJvc2NvcGVyZWNlaXZlci5wb3N0UHJvY2Vzc1Byb2YuZnVuYzIKEmZtdC4oKnBwKS5wcmludEFyZwoWcnVudGltZS4oKm1oZWFwKS5hbGxvYwoYcnVudGltZS5zdGFja2NhY2hlX2NsZWFyChxydW50aW1lLigqbWNhY2hlKS5yZWxlYXNlQWxsChtydW50aW1lLm5vdGV0c2xlZXBfaW50ZXJuYWwKEm5ldC5pbnRlcm5ldFNvY2tldAohcnVudGltZS9pbnRlcm5hbC9zeXNjYWxsLkVwb2xsQ3RsCiBydW50aW1lLigqc3RhY2tTY2FuU3RhdGUpLnB1dFB0cgpdZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci4oKm1ldHJpY3NFeHBvcnRlcikuY29sbGVjdEZyb21NZXRyaWNzClFnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLmJhdGNoU2FtcGxlc0FuZFRpbWVTZXJpZXMKdWdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9jbGlja2hvdXNlcHJvZmlsZWV4cG9ydGVyL2NoLigqY2xpY2tob3VzZUFjY2Vzc05hdGl2ZUNvbHVtbmFyKS5JbnNlcnRCYXRjaAouZ28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL3RyYWNlLlNwYW5Gcm9tQ29udGV4dAofcnVudGltZS4oKnN0a2ZyYW1lKS5nZXRTdGFja01hcAoUcnVudGltZS5uZXh0RnJlZUZhc3QKGHJ1bnRpbWUuZ3Jvd1dvcmtfZmFzdHN0cgotZ2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuTmV3V3JpdGVyChpydW50aW1lLigqX2Z1bmMpLmlzSW5saW5lZAoRcnVudGltZS5mdW5jbGluZTEKHnJ1bnRpbWUuZnVuY05hbWVQaWVjZXNGb3JQcmludAoPcnVudGltZS5wY3ZhbHVlCjtnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKmNvbXByZXNzb3IpLnN0b3JlRmFzdAo0Z28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL3Nkay9tZXRyaWMuKCppbnQ2NEluc3QpLkFkZAqhAWdpdGh1Yi5jb20vb3Blbi10ZWxlbWV0cnkvb3BlbnRlbGVtZXRyeS1jb2xsZWN0b3ItY29udHJpYi9yZWNlaXZlci9wcm9tZXRoZXVzcmVjZWl2ZXIvaW50ZXJuYWwuKCptZXRyaWNHcm91cCkudG9EaXN0cmlidXRpb25Qb2ludC4oKm1ldHJpY0dyb3VwKS5zb3J0UG9pbnRzLmZ1bmMxCkdnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKmRlY29tcHJlc3NvcikuaHVmZm1hbkJsb2NrRGVjb2RlcgoQcnVudGltZS5tYWtlY2hhbgombmV0L2h0dHAuKCpUcmFuc3BvcnQpLnF1ZXVlRm9ySWRsZUNvbm4KEXJ1bnRpbWUuY2hhbnNlbmQxChhydW50aW1lLigqdW53aW5kZXIpLmluaXQKPGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9tZXRoZXVzL21vZGVsL2xhYmVscy4oKkJ1aWxkZXIpLkRlbAoVcnVudGltZS5jb25jYXRzdHJpbmcyChhydW50aW1lLigqdW53aW5kZXIpLm5leHQKJmNvbXByZXNzL2ZsYXRlLigqZGVjb21wcmVzc29yKS5odWZmU3ltChdmbXQuKCpwcCkuaGFuZGxlTWV0aG9kcwoXcnVudGltZS5zcGFuT2ZVbmNoZWNrZWQKH3J1bnRpbWUuKCptY2VudHJhbCkudW5jYWNoZVNwYW4KCm5ldC5zb2NrZXQKJG5ldC9odHRwLigqVHJhbnNwb3J0KS5zZXRSZXFDYW5jZWxlcgpcZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci4oKm1ldHJpY3NFeHBvcnRlcikuY29sbGVjdEZyb21NZXRyaWMKNGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqYmF0Y2gpLlNlbmQKPGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqYmF0Y2gpLkFwcGVuZFN0cnVjdApCZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci5pbml0LmZ1bmMyCkFnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNsaWNraG91c2UpLlByZXBhcmVCYXRjaAo8Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpiYXRjaENvbHVtbikuQXBwZW5kClpnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvY2xpY2tob3VzZXByb2ZpbGVleHBvcnRlci9jaC4oKkxpbWl0ZWRQb29sKS5wdXQKV2dpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9jbGlja2hvdXNlcHJvZmlsZWV4cG9ydGVyL2NoLnJlYWRUcmVlRnJvbU1hcAoaY29udGV4dC4oKmNhbmNlbEN0eCkuVmFsdWUKE3J1bnRpbWUucGNkYXRhdmFsdWUKGHJ1bnRpbWUuKCpibWFwKS5vdmVyZmxvdwoYcnVudGltZS5ldmFjdWF0ZV9mYXN0c3RyCgxydW50aW1lLnN0ZXAKLGdpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLmxvYWQzMjMyCklnaXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKmh1ZmZtYW5CaXRXcml0ZXIpLndyaXRlQmxvY2tEeW5hbWljCiNlbmNvZGluZy9iaW5hcnkubGl0dGxlRW5kaWFuLlVpbnQ2NAosZ28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL21ldHJpYy5OZXdBZGRDb25maWcKRmdpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzL2ZsYXRlLigqZGVjb21wcmVzc29yKS5odWZmbWFuQnVmaW9SZWFkZXIKH25ldC9odHRwLigqd2FudENvbm4pLnRyeURlbGl2ZXIKEHJ1bnRpbWUuY2hhbnNlbmQKGnJ1bnRpbWUuKCp1bndpbmRlcikuaW5pdEF0ChVydW50aW1lLmNvbmNhdHN0cmluZ3MKFXJ1bnRpbWUuY2FsbGVycy5mdW5jMQojcnVudGltZS4oKnVud2luZGVyKS5yZXNvbHZlSW50ZXJuYWwKGGJ1ZmlvLigqUmVhZGVyKS5SZWFkQnl0ZQoUbmV0LigqT3BFcnJvcikuRXJyb3IKDW5ldC5zeXNTb2NrZXQKEW5ldC4oKm5ldEZEKS5kaWFsChtydW50aW1lLm1hcGFzc2lnbl9mYXN0NjRwdHIKYWdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmV4cG9ydE51bWJlckRhdGFQb2ludHMKZGdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmV4cG9ydEhpc3RvZ3JhbURhdGFQb2ludHMKOmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY29ubmVjdCkuc2VuZERhdGEKN2dpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqYmF0Y2gpLnJlbGVhc2UKOmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqYmF0Y2gpLmNsb3NlUXVlcnkKN2dpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqc3RydWN0TWFwKS5NYXAKNmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqYmF0Y2gpLkFwcGVuZAo+Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5wcmVwYXJlQmF0Y2gKQWdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpBcnJheSkuQXBwZW5kChJydW50aW1lLmNvbnZUc2xpY2UKWmdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9jbGlja2hvdXNlcHJvZmlsZWV4cG9ydGVyL2NoLigqTGltaXRlZFBvb2wpLmdldAoaZW5jb2RpbmcvYmluYXJ5LlJlYWRWYXJpbnQKDWNvbnRleHQudmFsdWUKEnJ1bnRpbWUucmVhZHZhcmludApAZ2l0aHViLmNvbS9rbGF1c3Bvc3QvY29tcHJlc3MvZmxhdGUuKCpodWZmbWFuQml0V3JpdGVyKS5nZW5lcmF0ZQoPcnVudGltZS5nb3JlYWR5ChNydW50aW1lLmZ1bmNzcGRlbHRhChFydW50aW1lLnJhd3N0cmluZwoUcnVudGltZS50cmFjZWJhY2tQQ3MKFW5ldC4oKkROU0Vycm9yKS5FcnJvcgoOc3lzY2FsbC5Tb2NrZXQKFG5ldC4oKm5ldEZEKS5jb25uZWN0CmBnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLigqbWV0cmljc0V4cG9ydGVyKS5leHBvcnROdW1iZXJEYXRhUG9pbnQKN2dpdGh1Yi5jb20vcHJvbWV0aGV1cy9jb21tb24vbW9kZWwuTGFiZWxTZXQuRmluZ2VycHJpbnQKY2dpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuKCptZXRyaWNzRXhwb3J0ZXIpLmV4cG9ydEhpc3RvZ3JhbURhdGFQb2ludApGZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL3Byb3RvLigqQmxvY2spLkVuY29kZUNvbHVtbgo8Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjbGlja2hvdXNlKS5yZWxlYXNlCjlnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNvbm5lY3QpLnByb2Nlc3MKGnJ1bnRpbWUubWFwYWNjZXNzMl9mYXN0c3RyCkBnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvcHJvdG8uKCpCbG9jaykuQXBwZW5kChZyZWdleHAuKCpSZWdleHApLlNwbGl0CjtnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi4oKmNvbm5lY3QpLnNlbmRRdWVyeQo8Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5maXJzdEJsb2NrCkRnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqQXJyYXkpLkFwcGVuZFJvdwo3Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5mbHVzaAoQc3luYy4oKlBvb2wpLkdldAoPcnVudGltZS5lZmFjZWVxCj5naXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKmh1ZmZtYW5FbmNvZGVyKS5nZW5lcmF0ZQoWcnVudGltZS5mdW5jSW5mby5lbnRyeQoOc3lzY2FsbC5zb2NrZXQKGGludGVybmFsL3BvbGwuKCpGRCkuSW5pdApFZ2l0aHViLmNvbS9tZXRyaWNvL290ZWwtY29sbGVjdG9yL2V4cG9ydGVyL3FyeW5leHBvcnRlci5idWlsZExhYmVsU2V0Ck5naXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLmJ1aWxkUHJvbUNvbXBsaWFudE5hbWUKFWVuY29kaW5nL2pzb24uTWFyc2hhbAo4Z2l0aHViLmNvbS9wcm9tZXRoZXVzL2NvbW1vbi9tb2RlbC5sYWJlbFNldFRvRmluZ2VycHJpbnQKKmdpdGh1Yi5jb20vcHJvbWV0aGV1cy9jb21tb24vbW9kZWwuaGFzaEFkZApCZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKlN0cmluZykuRW5jb2RlChRydW50aW1lLnNlbGVjdG5icmVjdgo0Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NoLWdvL3Byb3RvLigqUmVhZGVyKS5SZWFkQnl0ZQo4Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5oYW5kbGUKNGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jaC1nby9wcm90by4oKlJlYWRlcikucmVhZEZ1bGwKMmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jaC1nby9wcm90by4oKkNvbFN0cikuQXBwZW5kCiNyZWdleHAuKCpSZWdleHApLkZpbmRBbGxTdHJpbmdJbmRleApJZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKkFycmF5KS5hcHBlbmRSb3dQbGFpbgoUc3luYy4oKlBvb2wpLmdldFNsb3cKEXJ1bnRpbWUucnVuR0NQcm9nCj9naXRodWIuY29tL2tsYXVzcG9zdC9jb21wcmVzcy9mbGF0ZS4oKmh1ZmZtYW5FbmNvZGVyKS5iaXRDb3VudHMKGnJ1bnRpbWUuc2VuZC5nb3JlYWR5LmZ1bmMxChJzeXNjYWxsLlJhd1N5c2NhbGwKHmludGVybmFsL3BvbGwuKCpwb2xsRGVzYykuaW5pdAo1Z28ub3BlbnRlbGVtZXRyeS5pby9jb2xsZWN0b3IvcGRhdGEvcGNvbW1vbi5NYXAuUmFuZ2UKUGdpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIucmVtb3ZlUHJvbUZvcmJpZGRlblJ1bmVzCiRlbmNvZGluZy9qc29uLigqZW5jb2RlU3RhdGUpLm1hcnNoYWwKM2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3BkYXRhL3Bjb21tb24uTWFwLkdldAoQcnVudGltZS5yZWxlYXNlbQoJc29ydC5Tb3J0CjVnaXRodWIuY29tL0NsaWNrSG91c2UvY2gtZ28vcHJvdG8uQ29sU3RyLkVuY29kZUNvbHVtbgoQcnVudGltZS5jaGFucmVjdgo/Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIuKCpjb25uZWN0KS5wcm9maWxlRXZlbnRzCgtpby5SZWFkRnVsbAobcmVnZXhwLigqUmVnZXhwKS5hbGxNYXRjaGVzCktnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqQXJyYXkpLmFwcGVuZFJvd0RlZmF1bHQKGXN5bmMuKCpwb29sQ2hhaW4pLnBvcFRhaWwKDXJ1bnRpbWUucmVhZHkKEXJ1bnRpbWUuY2hlYXByYW5kCh5pbnRlcm5hbC9wb2xsLnJ1bnRpbWVfcG9sbE9wZW4KS2dpdGh1Yi5jb20vbWV0cmljby9vdGVsLWNvbGxlY3Rvci9leHBvcnRlci9xcnluZXhwb3J0ZXIuYnVpbGRMYWJlbFNldC5mdW5jMQoSc3RyaW5ncy5GaWVsZHNGdW5jCillbmNvZGluZy9qc29uLigqZW5jb2RlU3RhdGUpLnJlZmxlY3RWYWx1ZQoMc29ydC5wZHFzb3J0CkJnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqRW51bTgpLlNjYW5Sb3cKOmdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyLigqY29ubmVjdCkucmVhZERhdGEKDmlvLlJlYWRBdExlYXN0ChpyZWdleHAuKCpSZWdleHApLmRvRXhlY3V0ZQpBZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKkFycmF5KS5hcHBlbmQKX2dvLm9wZW50ZWxlbWV0cnkuaW8vY29sbGVjdG9yL3BkYXRhL2ludGVybmFsL2RhdGEvcHJvdG9nZW4vY29tbW9uL3YxLigqQW55VmFsdWUpLkdldFN0cmluZ1ZhbHVlClZnaXRodWIuY29tL21ldHJpY28vb3RlbC1jb2xsZWN0b3IvZXhwb3J0ZXIvcXJ5bmV4cG9ydGVyLnJlbW92ZVByb21Gb3JiaWRkZW5SdW5lcy5mdW5jMQofZW5jb2RpbmcvanNvbi5tYXBFbmNvZGVyLmVuY29kZQqGAXNsaWNlcy5Tb3J0RnVuY1tnby5zaGFwZS5bXWVuY29kaW5nL2pzb24ucmVmbGVjdFdpdGhTdHJpbmcsZ28uc2hhcGUuc3RydWN0IHsgZW5jb2RpbmcvanNvbi52IHJlZmxlY3QuVmFsdWU7IGVuY29kaW5nL2pzb24ua3Mgc3RyaW5nIH1dChJzb3J0Lmluc2VydGlvblNvcnQKEnJ1bnRpbWUubWFwYWNjZXNzMQpAZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL3Byb3RvLigqQmxvY2spLkRlY29kZQowZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NoLWdvL3Byb3RvLigqUmVhZGVyKS5SZWFkChZydW50aW1lLmdjVHJpZ2dlci50ZXN0ChpyZWdleHAuKCpSZWdleHApLmJhY2t0cmFjawoMcnVudGltZS5tZ2V0ChlieXRlcy4oKkJ1ZmZlcikuV3JpdGVCeXRlChdyZWZsZWN0LigqTWFwSXRlcikuTmV4dAoWcmVmbGVjdC4oKk1hcEl0ZXIpLktleQoYcmVmbGVjdC4oKk1hcEl0ZXIpLlZhbHVlCmFzbGljZXMucGRxc29ydENtcEZ1bmNbZ28uc2hhcGUuc3RydWN0IHsgZW5jb2RpbmcvanNvbi52IHJlZmxlY3QuVmFsdWU7IGVuY29kaW5nL2pzb24ua3Mgc3RyaW5nIH1dChtlbmNvZGluZy9qc29uLnN0cmluZ0VuY29kZXIKMmdpdGh1Yi5jb20vcHJvbWV0aGV1cy9jb21tb24vbW9kZWwuTGFiZWxOYW1lcy5MZXNzChBydW50aW1lLm1lbWhhc2g4Cj1naXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLlR5cGUuQ29sdW1uCkRnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqRGF0ZVRpbWUpLkRlY29kZQoUYnVmaW8uKCpSZWFkZXIpLlJlYWQKGHJlZ2V4cC4oKmJpdFN0YXRlKS5yZXNldApEZ2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi4oKlR1cGxlKS5BcHBlbmRSb3cKE3JlZmxlY3QubWFwaXRlcm5leHQKD3JlZmxlY3QuY29weVZhbApnc2xpY2VzLmluc2VydGlvblNvcnRDbXBGdW5jW2dvLnNoYXBlLnN0cnVjdCB7IGVuY29kaW5nL2pzb24udiByZWZsZWN0LlZhbHVlOyBlbmNvZGluZy9qc29uLmtzIHN0cmluZyB9XQoVYnl0ZXMuKCpCdWZmZXIpLldyaXRlCgdjbXBib2R5CgthZXNoYXNoYm9keQo2Z2l0aHViLmNvbS9DbGlja0hvdXNlL2NsaWNraG91c2UtZ28vdjIvbGliL2NvbHVtbi5FbnVtCj1naXRodWIuY29tL0NsaWNrSG91c2UvY2gtZ28vcHJvdG8uKCpDb2xEYXRlVGltZSkuRGVjb2RlQ29sdW1uChBuZXQuKCpjb25uKS5SZWFkCkVnaXRodWIuY29tL0NsaWNrSG91c2UvY2xpY2tob3VzZS1nby92Mi9saWIvY29sdW1uLigqU3RyaW5nKS5BcHBlbmRSb3cKFHJlZmxlY3QudHlwZWRtZW1tb3ZlChJyZWZsZWN0LnVuc2FmZV9OZXcKD3N0cmluZ3MuQ29tcGFyZQoRbmV0LigqbmV0RkQpLlJlYWQKFHJ1bnRpbWUudHlwZWRtZW1tb3ZlCgxzeXNjYWxsLlJlYWQKDHN5c2NhbGwucmVhZAoUcnVudGltZS5lbnRlcnN5c2NhbGwKFnJ1bnRpbWUucmVlbnRlcnN5c2NhbGwKRGdpdGh1Yi5jb20vQ2xpY2tIb3VzZS9jbGlja2hvdXNlLWdvL3YyL2xpYi9jb2x1bW4uKCpJbnQ2NCkuQXBwZW5kUm93ChtydW50aW1lLmVudGVyc3lzY2FsbF9zeXNtb24KHHJ1bnRpbWUuKCptaGVhcCkuYWxsb2MuZnVuYzEKGnJ1bnRpbWUuKCptaGVhcCkuYWxsb2NTcGFuChlydW50aW1lLigqbWhlYXApLmluaXRTcGFuCh5ydW50aW1lLigqbW9kdWxlZGF0YSkudGV4dEFkZHISEQoPAICy9fYGAACApd6KCAAAEtEBCs4BAIDokiYAAIDQpUwAAQCA0KVMAACA18xaAAIAgNrECQAAgLSJEwADAIDh6xcAAICcnDkABACA5Zp3AACA0KVMgK3iBAUAgNrECQAAAAAGAAAAAICOzhwABwCAreIEAAAAAAgAAAAAgK3iBAAJAIDaxAkAAICHpw4ACgCAtIkTAACA2sQJAAsAgOeI2AMAAID11vQDAAwAAAAAgK3iBAANAICt4gSAreIEAAAADgAAAACAreIEAA8AgISvXwAAgPPokwEAEACAreIEAAAAABESjAIKiQIAgOiSJgAAgNClTAASAIDQpUwAAIDXzFoAEwCA2sQJAACAtIkTABQAgOHrFwAAgJycOQAVAID9h1EAAIDvuTQAFgCA4esXAACAh6cOABcAgIenDgAAgK3iBAAYAICt4gSAreIEgK3iBAAAGQCAreIEAAAAABoAAAAAgI7OHAAbAICt4gQAAAAAHAAAAACAreIEAB0AAAAAgK3iBAAcAIDaxAkAAICt4gQAHgAAAACAreIEAB8AgLSJEwAAgNrECQAgAICt4gQAAAAAIQCAuqbTAwAAgPXW9AMAIgAAAACAreIEACOAreIEAAAAgK3iBAAkAICEr18AAIDz6JMBACUAgK3iBAAAAAAmEr0DCroDAICt4gQAAAAAHACAu7AhAACA0KVMACcAgLSJEwAAgOiSJgAoAAAAAICt4gQAKQCAreIEAACAreIEACoAgIenDgAAgIenDgArAICHpw4AAIDaxAkALACA4esXAACAtIkTAC0AgK3iBAAAgNrECYCt4gQuAICt4gSAreIEAIDaxAmA2sQJLwAAAACAreIEgK3iBDAAAAAAgK3iBAAxAICt4gQAAAAAMgCAreIEAACAtIkTADMAgNrECQAAgIenDgA0AICt4gQAAICHpw4ANQCA/YdRAACA77k0ADYAgOHrFwAAgIenDgA3AICt4gQAAAAAOACA2sQJAACAreIEgK3iBDaAreIEgK3iBACAreIEAAA5AAAAAICOzhwAOgCAreIEgK3iBAAAADsAAAAAgK3iBAAeAAAAAICt4gSAreIEPACA2sQJAACAreIEAD0AAAAAgK3iBAA+AIC0iRMAAIDaxAkAPwCAreIEAAAAAEAAgPDw5AEAAICMjZ4CAEEAgMq17gEAAIDpydYBAEIAAAAAgK3iBABDgK3iBAAAAICt4gQA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AQAAAACA2sQJAJACAICHpw6A2sQJAIDh6xeA2sQJkQIAgK3iBAAAAACSAoCOzhyAreIEgK3iBIDJ/j0AAJMCAAAAAICt4gSAreIElAKAtcDDAQAAgOnJ1gGAreIEgK3iBJQCgLi4coC7sCGAu7AhgJL9e4Ct4gSAreIE5AEAgK3iBICt4gQAAACPAgAAAACAreIEAJACAICt4gQAAIDaxAkAjgKA2sQJgK3iBICt4gSAreIEgK3iBICt4gTDAYDokiYAAIC7sCGAreIEALUBAICjw0cAAICS/XsAlQIAAAAAgK3iBACWAgCAtIkTAACAtIkTAJUCAICt4gQAAAAAlwIAgK3iBAAAAACYAhLABgq9BoCt4gQAAACA2sQJgK3iBC4AgLSJEwCAreIEgJX1KgCZAgAAAACAreIEAJoCAICt4gQAAICHpw6AreIEmwIAgK3iBICt4gQAAACcAgCAreIEAAAAACIAgNrECQCAreIEgK3iBACdAoCt4gQAAACAreIEAIQBAAAAAICt4gSAreIEhAEAAACAreIEgK3iBABZAAAAAICt4gQAXwCAreIEAICt4gQAAJ4CAAAAAICt4gQAnwKAreIEgIenDgCAreIEgIenDgCgAgAAAACA2sQJAKECgK3iBICt4gQAAAAAogIAgK3iBAAAAACjAoCHpw6AreIEAIDaxAkAAL4BAAAAAICt4gSAreIEpAIAgK3iBICt4gQAAAClAoDaxAkAAICOzhyAreIEAKYCAICt4gSAreIEAAAApwIAAAAAgK3iBICt4gSKAQAAAACAreIEAKgCAAAAAICt4gQAqQKAreIEgK3iBACAreIEgIenDgCqAoDaxAkAAICt4gSAreIEAIkBgNrECYCt4gQAgK3iBAAAhAKA2sQJgLSJE4C0iROAreIEgNrECYDaxAmrAoDokiaAreIEgK3iBIDokiaAreIEgK3iBKsCgK3iBAAAAICt4gSAreIEvAEAgNrECQAAAACBAoDh6xeAreIEAICHpw4AAKwCAAAAAICt4gQArQIAAAAAgIenDgCuAgAAAACAreIEAK8CAAAAAICt4gQAsAKAreIEAAAAgK3iBACLAgCA2sQJAICt4gSAreIEALECAICt4gQAgK3iBIDaxAkAsgIAgNrECQAAAACLAgCAreIEAAAAALMCgK3iBICt4gQAAAAAtAKA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BAD3A4COzhyAreIEgK3iBICOzhwAAPgDgPqPogGAreIEgK3iBID6j6IBAAD9AYCHpw6AreIEAIDC1y+AreIEANACAAAAAICt4gQA+QOAm5LrAwAAgM+b/gOAreIEAIQBAAAAAICt4gQA+gMAgNrECYCt4gQAAAD7AwAAAACAreIEgK3iBPIBAICHpw4AAICHpw4A/AMAAAAAgK3iBICt4gR9AICt4gQAgNrECYDaxAkA/AMAAACAreIEgK3iBAD9AwAAAICt4gSAreIEgK3iBP0BgK3iBAAAgNrECYCt4gQA/gMAgNrECQAAgK3iBAD/AwCAreIEAAAAAIAEgK3iBICt4gQAgNrECYCt4gSAreIEhAGAreIEAAAAgK3iBACBBACA2sQJAACAreIEAGoAAAAAgNrECQCABACAreIEAICt4gSA2sQJAIIEAAAAAICt4gQAzwGAh6cOgK3iBACAreIEAADZAhK8Agq5AoDQpUwAAICS/XuAreIEAGSA6cnWAYCt4gSAreIEgMq17gGAreIEgK3iBIMCAAAAAICt4gQA8gKAm5LrAwAAgM+b/gOAreIEAMICAAAAAICt4gSAreIEgwQAgK3iBICt4gQAAACEBICt4gSAh6cOAICt4gSAh6cOAIUEAAAAgIenDoCt4gQAhgQAgK3iBAAAgK3iBACFBAAAAICt4gSAreIEAIcEgK3iBAAAgLSJE4Ct4gQAiAQAgNrECQAAgK3iBACJBACAreIEAAAAAIoEgK3iBICt4gSAreIEgNrECQAAiwSAreIEAACAreIEgK3iBACMBACA2sQJAACAreIEAJoBAAAAAIDaxAkAigQAgK3iBACAreIEgNrECQCCBAAAAACAreIEAIsCgIenDoCt4gQAgK3iBAAA+AISvAIKuQKA0KVMAACAkv17gK3iBICt4gSNBICWrNsBAACA95fzAYCt4gSAreIEgwKAm5LrAwAAgM+b/gOAreIEgK3iBOICgNrECYCt4gSAreIEgNrECQAAjgQAAAAAgK3iBACPBACA2sQJAACAreIEAJAEAAAAAICt4gSAreIEkQQAAACAh6cOgK3iBACSBAAAAACAreIEAJMEAICt4gQAAAAAkQQAAACAreIEgK3iBACUBICt4gQAAIC0iROAreIEAJUEAIDaxAkAAAAAlgQAAAAAgK3iBACXBACAreIE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"; + let l_b_req = base64::decode(l_b64_req).unwrap(); + let r_b_req = base64::decode(r_b64_req).unwrap(); + let b_resp = base64::decode(b64_resp).unwrap(); + merge_tree(0, l_b_req.as_slice(), "cpu:nanoseconds".to_string()); + merge_tree(1, r_b_req.as_slice(), "cpu:nanoseconds".to_string()); + let res = diff_tree(0, 1, "cpu:nanoseconds".to_string()); + let o_res = FlameGraphDiff::decode(res.as_slice()).unwrap(); + let exp_res = FlameGraphDiff::decode(b_resp.as_slice()).unwrap(); + let mut res_names = o_res.names.clone(); + res_names.sort(); + let mut exp_names = exp_res.names.clone(); + exp_names.sort(); + assert_eq!(res_names, exp_names); + assert_eq!(o_res.levels.len(), exp_res.levels.len()); + for i in 0..o_res.levels.len() { + let mut exp_level: Vec = Vec::new(); + let mut res_level: Vec = Vec::new(); + for j in 0..exp_res.levels[i].values.len() / 7 { + exp_level.push(exp_res.names[exp_res.levels[i].values[j * 7 + 6] as usize].clone()) + } + for j in 0..o_res.levels[i].values.len() / 6 { + res_level.push(o_res.names[o_res.levels[i].values[j * 7 + 6] as usize].clone()) + } + exp_level.sort(); + res_level.sort(); + exp_level.insert(0, "level: ".to_string() + i.to_string().as_str()); + res_level.insert(0, "level: ".to_string() + i.to_string().as_str()); + assert_eq!(exp_level, res_level); + } + assert_eq!(o_res.levels.len(), exp_res.levels.len()); + } } const TEST_PPROFS: &str = r#"HEADERS: From 421a9b258ec0ec305196cbd62eb2f5253c3ddc3f Mon Sep 17 00:00:00 2001 From: akvlad Date: Fri, 18 Oct 2024 16:17:41 +0300 Subject: [PATCH 13/19] diff_tree debug --- pyroscope/pprof-bin/src/lib.rs | 4 +++- pyroscope/pprof-bin/src/utest.rs | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pyroscope/pprof-bin/src/lib.rs b/pyroscope/pprof-bin/src/lib.rs index deb53196..7f397658 100644 --- a/pyroscope/pprof-bin/src/lib.rs +++ b/pyroscope/pprof-bin/src/lib.rs @@ -582,7 +582,9 @@ fn synchronize_names(t1: &mut Tree, t2: &mut Tree) { } fn merge_nodes(t1: &mut Tree, t2: &mut Tree) { - let keys: Vec = t1.nodes.keys().cloned().collect(); + let mut keys: HashSet = HashSet::new(); + keys.extend(t1.nodes.keys()); + keys.extend(t2.nodes.keys()); for key in keys { let t1_children = t1.nodes.entry(key).or_insert_with(Vec::new); diff --git a/pyroscope/pprof-bin/src/utest.rs b/pyroscope/pprof-bin/src/utest.rs index 57fee35c..0efef076 100644 --- a/pyroscope/pprof-bin/src/utest.rs +++ b/pyroscope/pprof-bin/src/utest.rs @@ -144,7 +144,7 @@ mod tests { for j in 0..exp_res.levels[i].values.len() / 7 { exp_level.push(exp_res.names[exp_res.levels[i].values[j * 7 + 6] as usize].clone()) } - for j in 0..o_res.levels[i].values.len() / 6 { + for j in 0..o_res.levels[i].values.len() / 7 { res_level.push(o_res.names[o_res.levels[i].values[j * 7 + 6] as usize].clone()) } exp_level.sort(); From e76ef876837a616293750f62daf0b7c97e1a7356 Mon Sep 17 00:00:00 2001 From: akvlad Date: Fri, 18 Oct 2024 16:22:00 +0300 Subject: [PATCH 14/19] wasm upd --- pyroscope/pprof-bin/pkg/pprof_bin_bg.wasm | Bin 217145 -> 217700 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/pyroscope/pprof-bin/pkg/pprof_bin_bg.wasm b/pyroscope/pprof-bin/pkg/pprof_bin_bg.wasm index 51a32c0746b3bfdb4f9f49fa125fdb86c16c1bd0..74d12654fb7cdab32a76c7c4466648b9e468531b 100644 GIT binary patch delta 50955 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 Date: Mon, 21 Oct 2024 16:24:23 +0300 Subject: [PATCH 15/19] fix IN -> global in --- traceql/clickhouse_transpiler/traces_data.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/traceql/clickhouse_transpiler/traces_data.js b/traceql/clickhouse_transpiler/traces_data.js index 2a263ea2..6023e41d 100644 --- a/traceql/clickhouse_transpiler/traces_data.js +++ b/traceql/clickhouse_transpiler/traces_data.js @@ -4,6 +4,7 @@ const { standardBuilder } = require('./shared') * @type {ProcessFn} */ const processFn = (sel, ctx) => { + const _in = ctx.isCluster ? 'global in' : 'in' const table = !ctx.isCluster ? ctx.tracesTable : ctx.tracesDistTable const withMain = new Sql.With('index_grouped', sel) const withTraceIds = new Sql.With('trace_ids', (new Sql.Select()) @@ -17,18 +18,18 @@ const processFn = (sel, ctx) => { .with(withMain, withTraceIds, withTraceIdsSpanIds) .select( [new Sql.Raw('lower(hex(traces.trace_id))'), 'trace_id'], - [new Sql.Raw(`arrayMap(x -> lower(hex(x)), groupArrayIf(traces.span_id, (traces.trace_id, traces.span_id) IN ${new Sql.WithReference(withTraceIdsSpanIds)}))`), 'span_id'], - [new Sql.Raw(`groupArrayIf(traces.duration_ns, (traces.trace_id, traces.span_id) IN ${new Sql.WithReference(withTraceIdsSpanIds)})`), 'duration'], - [new Sql.Raw(`groupArrayIf(traces.timestamp_ns, (traces.trace_id, traces.span_id) IN ${new Sql.WithReference(withTraceIdsSpanIds)})`), 'timestamp_ns'], + [new Sql.Raw(`arrayMap(x -> lower(hex(x)), groupArrayIf(traces.span_id, (traces.trace_id, traces.span_id) ${_in} ${new Sql.WithReference(withTraceIdsSpanIds)}))`), 'span_id'], + [new Sql.Raw(`groupArrayIf(traces.duration_ns, (traces.trace_id, traces.span_id) ${_in} ${new Sql.WithReference(withTraceIdsSpanIds)})`), 'duration'], + [new Sql.Raw(`groupArrayIf(traces.timestamp_ns, (traces.trace_id, traces.span_id) ${_in} ${new Sql.WithReference(withTraceIdsSpanIds)})`), 'timestamp_ns'], [new Sql.Raw('min(traces.timestamp_ns)'), 'start_time_unix_nano'], [new Sql.Raw( 'toFloat64(max(traces.timestamp_ns + traces.duration_ns) - min(traces.timestamp_ns)) / 1000000' ), 'duration_ms'], [new Sql.Raw('argMin(traces.name, traces.timestamp_ns)', 'root_service_name'), 'root_service_name'], - [new Sql.Raw(`groupArrayIf(base64Encode(traces.payload), (traces.trace_id, traces.span_id) IN ${new Sql.WithReference(withTraceIdsSpanIds)})`), 'payload'], - [new Sql.Raw(`groupArrayIf(traces.payload_type, (traces.trace_id, traces.span_id) IN ${new Sql.WithReference(withTraceIdsSpanIds)})`), 'payload_type'] + [new Sql.Raw(`groupArrayIf(base64Encode(traces.payload), (traces.trace_id, traces.span_id) ${_in} ${new Sql.WithReference(withTraceIdsSpanIds)})`), 'payload'], + [new Sql.Raw(`groupArrayIf(traces.payload_type, (traces.trace_id, traces.span_id) ${_in} ${new Sql.WithReference(withTraceIdsSpanIds)})`), 'payload_type'] ).from([table, 'traces']).where(Sql.And( - new Sql.In(new Sql.Raw('traces.trace_id'), 'in', new Sql.WithReference(withTraceIds)) + new Sql.In(new Sql.Raw('traces.trace_id'), _in, new Sql.WithReference(withTraceIds)) )).groupBy('traces.trace_id') .orderBy(['start_time_unix_nano', 'desc']) } From 5d642c1cacb1b78fa215c679617d609ebc4bb2bf Mon Sep 17 00:00:00 2001 From: akvlad Date: Thu, 24 Oct 2024 14:24:37 +0300 Subject: [PATCH 16/19] fix local fingerprints check; pprof bin debug --- .gitignore | 1 + parser/registry/common.js | 2 +- pyroscope/pprof-bin/pkg/pprof_bin_bg.wasm | Bin 217700 -> 219754 bytes pyroscope/pprof-bin/src/lib.rs | 57 ++++++++++++++++------ 4 files changed, 44 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index e23f35f9..5732e78e 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ node_modules /wasm_parts/wasm_parts.iml /test/qryn_test_env/clickhouse/_data/ /test/qryn_test_env/grafana/_data/ +/test/qryn_test_cluster_env/grafana/_data/ diff --git a/parser/registry/common.js b/parser/registry/common.js index 0f0273ca..80fd2384 100644 --- a/parser/registry/common.js +++ b/parser/registry/common.js @@ -445,7 +445,7 @@ module.exports.preJoinLabels = (token, query, dist) => { dist = dist || '' const timeSeriesReq = new Sql.Select() .select('fingerprint', 'labels') - .from([`${DATABASE_NAME()}.time_series${dist}`, 'time_series']) + .from([`${DATABASE_NAME()}.time_series`, 'time_series']) .where(new Sql.And( new Sql.In('time_series.fingerprint', 'in', inRightSide), Sql.Gte(new Sql.Raw('date'), sqlFrom), diff --git a/pyroscope/pprof-bin/pkg/pprof_bin_bg.wasm b/pyroscope/pprof-bin/pkg/pprof_bin_bg.wasm index 74d12654fb7cdab32a76c7c4466648b9e468531b..0ee3ff457f1d14a520d12723eae6ae6240694754 100644 GIT binary patch delta 39366 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 E0Q9OsCjbBd delta 36775 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 FlameGraphDiff { res.right_ticks = t2.total()[0]; res.total = res.left_ticks + res.right_ticks; - let mut left_nodes = vec![Arc::new(TreeNodeV2 { + let mut left_nodes: VecDeque> = VecDeque::new(); + left_nodes.push_back(Arc::new(TreeNodeV2 { fn_id: 0, node_id: 0, slf: vec![0], total: vec![res.left_ticks], - })]; + })); - let mut right_nodes = vec![Arc::new(TreeNodeV2 { + let mut right_nodes: VecDeque> = VecDeque::new(); + right_nodes.push_back(Arc::new(TreeNodeV2 { fn_id: 0, node_id: 0, slf: vec![0], total: vec![res.right_ticks], - })]; + })); let mut levels = vec![0]; - let mut x_left_offsets = vec![0]; - let mut x_right_offsets = vec![0]; + let mut x_left_offsets: VecDeque = VecDeque::new(); + x_left_offsets.push_back(0); + let mut x_right_offsets = VecDeque::new(); + x_right_offsets.push_back(0); let mut name_location_cache: HashMap = HashMap::new(); - while let (Some(left), Some(right)) = (left_nodes.pop(), right_nodes.pop()) { - let x_left_offset = x_left_offsets.pop().unwrap(); - let x_right_offset = x_right_offsets.pop().unwrap(); + while let (Some(left), Some(right)) = + (left_nodes.pop_back(), right_nodes.pop_back()) { + let mut x_left_offset = x_left_offsets.pop_back().unwrap().clone(); + let mut x_right_offset = x_right_offsets.pop_back().unwrap().clone(); let level = levels.pop().unwrap(); let name = if left.fn_id == 0 { @@ -694,6 +699,13 @@ fn compute_flame_graph_diff(t1: &Tree, t2: &Tree) -> FlameGraphDiff { res.levels.push(Level::default()); } + if res.max_self < left.slf[0] { + res.max_self = left.slf[0]; + } + if res.max_self < right.slf[0] { + res.max_self = right.slf[0]; + } + res.levels[level].values.extend_from_slice(&[ x_left_offset, left.total[0], @@ -708,15 +720,30 @@ fn compute_flame_graph_diff(t1: &Tree, t2: &Tree) -> FlameGraphDiff { let empty_vec = Vec::new(); let children_right = t2.nodes.get(&right.node_id).unwrap_or(&empty_vec); for (child_left, child_right) in children_left.iter().zip(children_right.iter()) { - left_nodes.push(child_left.clone()); - right_nodes.push(child_right.clone()); - x_left_offsets.push(x_left_offset + child_left.total[0]); - x_right_offsets.push(x_right_offset + child_right.total[0]); - levels.push(level + 1); + left_nodes.push_front(child_left.clone()); + right_nodes.push_front(child_right.clone()); + x_left_offsets.push_front(x_left_offset.clone()); + x_right_offsets.push_front(x_right_offset.clone()); + x_left_offset += child_left.total[0].clone(); + x_right_offset += child_right.total[0].clone(); + levels.insert(0,level + 1); } } } + for i in 0..res.levels.len() { + let mut j = 0; + let mut prev0 = 0i64; + let mut prev3 = 0i64; + while j < res.levels[i].values.len() { + res.levels[i].values[j] -= prev0; + prev0 += res.levels[i].values[j] + res.levels[i].values[j+1]; + res.levels[i].values[j+3] -= prev3; + prev3 += res.levels[i].values[j+3] + res.levels[i].values[j+4]; + j += 7; + } + } + res } From ab7860e3e2982607e54d6767add46afc8145dc57 Mon Sep 17 00:00:00 2001 From: Cluas Date: Fri, 25 Oct 2024 17:15:32 +0800 Subject: [PATCH 17/19] fix: need if not exists for metrics_15s_dist (#593) --- lib/db/maintain/scripts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/db/maintain/scripts.js b/lib/db/maintain/scripts.js index aac4b8ad..1311c878 100644 --- a/lib/db/maintain/scripts.js +++ b/lib/db/maintain/scripts.js @@ -198,7 +198,7 @@ module.exports.traces = [ ] module.exports.overall_dist = [ - `CREATE TABLE {{DB}}.metrics_15s_dist {{{OnCluster}}} ( + `CREATE TABLE IF NOT EXISTS {{DB}}.metrics_15s_dist {{{OnCluster}}} ( \`fingerprint\` UInt64, \`timestamp_ns\` Int64 CODEC(DoubleDelta), \`last\` AggregateFunction(argMax, Float64, Int64), From 56356503df5a56f96c0c2b72f9bb2d7f757314ce Mon Sep 17 00:00:00 2001 From: akvlad Date: Tue, 29 Oct 2024 18:54:05 +0200 Subject: [PATCH 18/19] fix value:0 --- lib/handlers/push.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/handlers/push.js b/lib/handlers/push.js index 8437c9f9..bc5ea0b7 100644 --- a/lib/handlers/push.js +++ b/lib/handlers/push.js @@ -71,7 +71,7 @@ function processStream (stream, labels, bulkLabels, bulk, toJSON, fingerPrint) { values.push([ finger, ts, - (typeof entry.value === 'undefined') ? null : entry.value, + (typeof entry.value !== 'number') ? 0 : entry.value, entry.line || '', type === 3 ? bothType : type ]) @@ -98,7 +98,7 @@ function processStream (stream, labels, bulkLabels, bulk, toJSON, fingerPrint) { values.push([ finger, BigInt(value[0]), - (typeof value[2] === 'undefined') ? null : value[2], + (typeof value[2] !== 'number') ? 0 : value[2], value[1] || '', type === 3 ? bothType : type ]) From 97e136ef21a7b4cc78a253aec10f5949a5efd9b0 Mon Sep 17 00:00:00 2001 From: akvlad Date: Tue, 29 Oct 2024 19:36:28 +0200 Subject: [PATCH 19/19] sleep --- test/e2e | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e b/test/e2e index e016d11a..55c595d3 160000 --- a/test/e2e +++ b/test/e2e @@ -1 +1 @@ -Subproject commit e016d11ae4a9e66135b4940402d73d87ad1401ea +Subproject commit 55c595d3f847e979c8f29bea9b3c9625a0602121